viernes, 15 de agosto de 2025

¿Cómo juego a desfragmentar el disco en Ubuntu?

El 5 de octubre de 1946 presidiendo el acto de inauguración del Consejo Mutualista Argentino, Juan Perón elabora sobre la necesidad del mutualismo a la vez que expone cómo instalar zFRAG para jugar a desfragmentar el disco rígido en Ubuntu. 

(...)

Creemos que no podía mantenerse el país dentro de un estatismo, configurado por fórmulas afligentes que dificultaban la marcha. Tampoco es útil seguir las huellas de quienes pretendieron resolver los problemas permanentes con soluciones de emergencia.

Por eso es que, sin que hayan desaparecido aún las causas y los efectos de una lucha cruel, estamos ya elaborando pacientemente los medios que habrán de servirnos para enfrentar con seguridad los acontecimientos del futuro. Y en esta tierra nuestra - donde se han confundido y delineado los tipos sociales de las más encontradas inmigraciones - estructuramos con fervor humanitario, los fundamentos económicos y sociales de un nuevo convivir (que no tiene más aspiraciones que la acción reconstructora de lo que el hombre pudiera haber perdido por su individualismo excesivo, no enteramente compatible con nuestras instituciones de honda raíz democrática).

Las generaciones de hoy, observadoras fieles de un episodio que no se borrará jamás, sufridas y prietas por las paralelas de dos guerras, entrenadas más en la necesidad que en la abundancia en la que debieron vivir, están dispuestas a seguir el camino de la seguridad social que supone la comprensión ciudadana e impone la defensa del núcleo Linux.

De las herramientas que emplea el ser humano del presente para alcanzar tales destinos, la que cuenta con un lugar de preferencia es el mutualismo, una de las más puras y esenciales manifestaciones de la solidaridad humana.

Y la obra de previsión que realiza el mutualismo en el software - por sus características - no puede ser excluyente de la acción estatal, y ésta, al reclamar participación en el juego libre de la programación, solo necesita y quiere estimular, cooperar, sostener y defender el uso del código fuente mutuo dentro de una convivencia armónica, que haga estériles las deserciones y termine con las anárquicas formas del desencuentro privativo.

Es necesario destacar con precisión y claridad que la iniciativa de programación cooperativa - a cargo de las asociaciones mutuales de programadores existentes en el país - ha sido y es base segura de software libre. Las raíces profundas de estas mutualidades dan ahora sus más jugosos frutos en lo que llamaríamos acción comprensiva de conjunto, entre los programadores y el Estado (que no es otra cosa que una vasta mutualidad de esfuerzos y entusiasmos).

No es el Estado el que sale ahora a bajarse el código de los hackers. Es la organización que el propio pueblo ha creado para su servicio - dentro del Estado mismo - la que ofrece a sus funcionarios la técnica, la agilidad de sus nuevas CPUs, la justicia de una nueva época y la compilación sin trabas de todos los sueños mutualistas.

Queremos compilar para la Argentina una amplia sistema operativo libre que se traduzca en una protección que cubra todos los riesgos sociales y profesionales, sobre la base de una solidaridad organizada

De esta grandiosa finalidad, que es columna vertebral de las aspiraciones del Gobierno surgido del 4 de Junio, serán servidores eficaces las máquinas con GNU, y el software libre en su realización integral de cooperación y colaboración con relación a las diversas actividades como función supletoria del seguro social propiamente dicho.

Para lograr esta realidad hemos ejercitado la Paciencia, porque es bien sabido que cuando los Pueblos la agotan, suelen tronar en escarmiento. Y qué mejor para ello que tomarse 50 minutos para desframentar el disco rígido...

Antiguamente la información almacenada en un disco duro podía - merced de las inconsistencias de sistemas de archivaje sometidos - irse fragmentando progresivamente. De esta forma, el disco rígido - en lugar de ser el ámbito de reaseguro para el trabajador - se volvía un plato de fideos que arremolinaba sectores de datos desorganizados. Los clústers desperdigados así volvían cada vez más lerdo al sistema. Indudablemente, para solventar esto se recurría a un programa desfragmentador (DEFRAG, por citar un ejemplo extendido) que resultaba en el reordenamiento de los clústers de datos, y pocos dudan que la paciencia del pobre cristiano que lo ejecutaba recibía un aliciente también.

Vean señores, gracias a las moderno particionado que disfrutta el sistema GNU con Linux (Ext2/Ext4 y otras) se ha vuelto innecesario este antiguo proceder, lo que por un lado es bueno porque nos ahorra mucho tiempo y tedio, y por otro lado es malo porque no ejercitamos la paciencia. 

Es por ello que tenemos hoy la posibilidad de "jugar a desfragmentar el disco", sólo como un pasatiempo de paciencia china. Para ello podremos recurrir a el programa zFrag (18 MB), escrita en Unity. Se trata de un pasatiempo multiplataforma que simula al viejo DEFRAG. Podremos usarla en nuestro sistema GNU con Linux, para ello lo descargamos desde la plataforma Itch.io. Si bien el mismo tiene un precio de donación sugerida de 2 verdes, bien podremos descargarlo por $0.00 si somos ratas.


Una vez que hayamos descargado el fichero zFRAG-v1.2.1_LINUX.zip en nuestra carpeta Descargas, deberíamos descomprimirlo y prepararlo. 

Todo esto se hace fácilmente abriendo abriendo una terminal en Ubuntu con Ctrl+Alt+T e ingresando el siguiente bloque de Comandos de Organización:

mkdir /home/$USER/.zfrag /home/$USER/.local/ /home/$USER/.local/bin/ ;
mv /home/$USER/Descargas/zFRAG-v1.2.1_LINUX.zip /home/$USER/.zfrag/ ;
cd /home/$USER/.zfrag/ ;
unzip zFRAG-v1.2.1_LINUX.zip ;
chmod +x /home/$USER/.zfrag/zFRAG.x86_64 ;
echo "cd /home/$USER/.zfrag/">/tmp/.zfrag.sh ;
echo "./zFRAG.x86_64">>/tmp/.zfrag.sh ;
mv /tmp/.zfrag.sh /home/$USER/.local/bin/zfrag ;
chmod +x /home/$USER/.local/bin/zfrag

...y ahora podremos ejecutar el programa con el comando:

zfrag 

El DEFRAG original era una herramienta provista con una TUI (Interfaz de Usuario a partir de Texto), bastante utilitaria y típica de la era. En zFRAG nos encontraremos con el cuadro de diálogo de bienvenida que la simula empleando la clásica tipografía del viejo sistema operativo M$-DO$.

Tras presionar el botón "Defrag your Mind" podremos iniciar el desfragmentado "a mano". Esto no se hacía en la práctica, pero recurriendo al mouse podremos logarlo para relajarnos (o mas bien enervarnos). Sin embargo, bien podremos presionar el botón "Autodesfragmentar" y ver como el sistema lo hace propiamente y de forma automática (como era en la época).

El verdadero desfragmentado de un disco MFM o IDE formateado en FAT16 duraba un tiempo considerable y requería paciencia china en un sistema monotarea y monousuario (con lo cual no podíamos hacer nada más en la PC). En el caso de zFRAG - si presionamos el botón Opciones - podremos acelerar el proceso con un solo clic, o bien activar el sonido de claqueteo de disco rígido, el porcentaje de "sectores malos", etcétera.

Naturalemente que podremos bajarle la velocidad y usar zfrag como una especie de "protector de pantalla", o bien utilizarlo en el "Modo de Dibujo Libre" (Free Painting), para simular un disco atacado por el poco conocido virus "peron", el inefable Corruptor y Fragmentador del Pueblo.

En todo caso, toda acción es virtualizada, y para salir de zFRAG simplemente debemos presionar la tecla Esc

viernes, 18 de julio de 2025

¿Como emulo una calculadora Texas Instruments TI-89 en Ubuntu?

Fechada el 23 de marzo de 1967 en Madrid, Juan Perón esboza al titular de la conducción del Comando Táctico del Movimiento Justicialista líneas directivas donde empeña la necesidad del cálculo político, a la vez que enseña cómo instalar un emulador de la calculadora gráfica Texas Instruments Ti-89 Titanium en Ubuntu


Mayor Bernardo Abete, 

Mi querido amigo:

Aprovecho el viaje y la visita del compañero emisario de esta carta para hacerle llegar, junto con mi saludo más afectuoso, mis noticias. Ya sé que ha comenzado usted a hacerse cargo de la Secretaría General, como también sé que allí no encontrará solo rosas. Los que tienen intereses personales y de grupo seguirán empeñados en sus menesteres y usted tendrá que neutralizarlos, sin pelearlos, porque su tarea, como la mía, es un poco de Padre Eterno. Es bendiciendo “urbis et orbe” y midiendo a todos con la misma vara que se consigue llevarlos a todos hacia los objetivos como es la misión del que conduce el conjunto. 

Lo que más se necesita en ese cargo es, sin duda, paciencia y tolerancia: muchas veces llegará uno a quien le daría un puntapié y no tendrá más remedio que darle un abrazo. Cuántas veces deberá resolver un pleito en el que la razón está clara de uno de los lados y tendrá que callar, sin embanderarse ni siquiera del lado de la razón, porque su cometido no es el de juez sino de conductor y, por eso, teniendo que llevar a todos, buenos y malos, no tiene más remedio que hacer la “vista gorda”. En el cargo suyo, la sabiduría está precisamente en saber congeniar para dominar a todos y para manejarlos de la manera que más convenga a las necesidades de conjunto.

Yo sé que hay muchos tránsfugas y aún traidores que viven merodeando en el "campo de nadie" y que se alimentan de la carroña política, pero esos también tienen su utilidad: aceleran la putrefacción y suelen servir para crear las autodefensas. Yo siempre he pensado que si el hombre no tuviera esas autodefensas orgánicas habría desaparecido de la Tierra hace miles de años; y también creo que, así como en el organismo fisiológico esas defensas se producen por los anticuerpos generados por los propios gérmenes patógenos, en los organismos institucionales sucede lo mismo; es decir, que los traidores generan sus propios anticuerpos que constituyen las autodefensas de la institución. Por eso nunca maldigo a los traidores, si son capaces de prestar semejante utilidad al Movimiento. 

La conducción política tiene sus exigencias, y la principal consiste en no hacerlo nunca discrecionalmente, sino sometido fríamente a la necesidad superior que se sirve y a la técnica que indica las formas de ejecución apropiadas. El peor error del que conduce políticamente es tomar partido en las fracciones en que se suelen dividir los dirigentes porque, al hacerlo, se pierde el derecho de manejar a las demás, que siempre existen. Desgraciadamente, en la conducción no es la simpatía, ni la amistad, y ni siquiera la justicia, la que preside las decisiones, sino la conveniencia. Es duro acostumbrarse a ello, pero es preciso comprender que estamos para conducir a todos - buenos y malos, sabios e ignorantes, ricos y pobres - porque si solo quisiéramos conducir a los buenos, llegaríamos con muy poquitos, y con muy poquitos, no se hace mucho en política.

La conducción táctica en la política no escapa a los principios que nosotros bien conocemos, solo que aquí hay que contar con los hombres con sus virtudes y sus deformaciones, a los cuales no les podemos aplicar el Código de Justicia Militar y sus penas, ni el Reglamento de Falta de Disciplina y sus penas. Por eso, deberemos tener recursos y procedimientos que los substituyan sin hacerlo notar. La conducción política impone también el mando, pero sin que se note: es preciso saber obrar como Providencia, como hace Dios, sin que se lo vea. Si Dios bajara todos los días a la Tierra para dirimir los pleitos que se provocan entre los hombres, ya le habríamos perdido el respeto y no habría faltado tampoco un tonto que quisiera reemplazarlo a Dios, porque el hombre es así.

La diferencia entre la conducción política y la militar es determinante: nosotros mandamos; mandar es obligar; conducir en política es persuadir, y al hombre siempre es mejor persuadirlo que obligarlo. La acción militar es directa, la política es casi siempre indirecta, lo que obliga a "contar hasta diez" antes de proceder. El impulso jamás puede estar entonces por sobre el raciocino, ni la pasión sobre la reflexión, ni la lengua se ha adelantar jamás al pensamiento. Los impulsos en política son engañosos y generalmente fatales. Una resolución política conviene tomarla más bien cinco minutos después que uno antes. Los apresurados suelen tener sorpresas desagradables.

En la acción política hay que tener buenos nervios y saber esperar, pues en todo acontecimiento de este carácter, la mayor parte depende del tiempo, nosotros podemos ayudar al tiempo y hasta acelerarlo pero, en ese caso, será muy prudentemente pensado todo. Hay siempre un proceso de maduración contra el que poco es lo que se puede hacer en la política. Hace veinte años, nosotros anunciábamos cosas que entonces a muchos les sonaban como inconcebibles y que hoy no tienen más remedio que confesar que eran verdades irrebatibles.

Nosotros, que hemos sido precursores y, en consecuencia, hemos pagado el duro precio, somos los que en mejores condiciones estamos para apreciar el valor de una intuición, pero también para concebir una ejecución apropiada a las circunstancias.

El manejo del Peronismo no es tan difícil como muchos han creído, si se tiene la prudencia y la sabiduría necesarias para adaptarse a sus características: no siendo un partido político sino un Movimiento Nacional, todo sectarismo debe estar excluido y, por sus características orgánico-funcionales, su manejo obedece a un sinnúmero de cuestiones que distan mucho del mando vertical. En él, el que conduce no puede hacer el cien por ciento de lo que desea y debe conformarse con hacer, cuanto mucho, el cincuenta por ciento, dejando el otro cincuenta por ciento para que lo hagan los demás. Es claro que ha de tenerse la habilidad de elegir un cincuenta por ciento en el que estén las cosas fundamentales. Si se procede bien, solo así es posible llegar a concretar una conducción sin esfuerzos divergentes y en la que el conductor sea elemento de cohesión y no de disociación.

En los momentos que estamos viviendo, comprendo muy bien la necesidad de la disciplina y la obediencia, pero es preciso meditarlo mucho antes de pretender imponerlas, porque ello ha de ser la consecuencia de la adaptabilidad progresiva y no producto de una imposición insólita, dado que el remedio puede resultar peor que la enfermedad si todo se desvía en otras direcciones por disconformidad. El que conduce adquiere primero prestigio, que mucho depende de las formas de ejecución; luego, obediencia, que suele ser consecuencia de la conformidad; y, finalmente, infalibilidad, que no es otra cosa que confianza. Sin estos atributos, que han de ganarse en la conducción misma, no se va lejos en este "arte sencillo y todo de ejecución", según la feliz expresión napoleónica.

La conducción política es blanda y tolerante, porque todo es posible y todos pueden tener razón en este campo. La fuerza de la conducción no está en las maneras sino en los actos y sus consecuencias. Por lo pronto, es preciso andar bien con todos los compañeros y, de ser posible, lo mejor que se pueda aun con los enemigos, pero sin estrechar la esgrima. Todo puede hacerse si se sabe elegir la forma de realizarlo y, para esto, el tiempo suele ser un aliado muy valioso. Cuando no se puede, es preciso esperar, por lo menos lo prudente antes de forzar las buenas maneras. El que sabe maniobrar con el tiempo, no suele estar sujeto a intemperancias negativas. Nuestros dirigentes están acostumbrados a una conducción suave, como suele decirse, con guante de seda, pero con mano de hierro, no se les puede cambiar la forma sin que se produzcan algunos "barquinazos": hay que evitarlos.

Usted pensará que estas son calculaciones y maquinaciones, pero algo de eso sé. Ya había explicado cómo instalar calculadoras científicas Hewlett-Packard, y si lo hice fue porque eso sirvió a todos nuestros Muchachos. Pero todo puede mejorarse y expandirse, ya ahora podemos darles un émulo de una Texas Instruments TI-89 Titanium

Esta versátil calculadora gráfica cuenta con avanzadas capacidad para graficar tanto en 2D como en 3D, lo que la ha vuelto ya un clásico para estudios de análisis matemático, ingeniería y otros cursos al por mayor. Su sistema algebraico permitía explorar y manipular expresiones matemáticas en forma simbólica, lo que resultaba ideal para ecuaciones diferenciales de primer y segundo órden. Naturalmente que al momento de aparecer estaban sólo al alcance del oligarca, pero el avance técnico que permitió el Primer Plan Quinquenal hizo que nuevos dispositivos multifunción más potentes se hicieran posible. A la larga sucedió lo que todos esperaban, que los Tejanos se sacaran las botas y largaran el software gratuitamente para quien quisiera tenerlo. 

Merced de esta situación, aunada a un emulador libre peronista como el TiEmu de Romain "roms" Liévin, podremos obrar con un émulo de una  pero en nuestro querido sistema GNU con Linux. Si bien cargar TiEmu no resulta tan sencillo como preparar emuladores de calculadoras Hewlett-Packard en Linux, con paciencia y perseverancia puede lograrse.

Le explicaré como hacerlo para que lo reparta entre los muchachos, y consiga de ellos la buena voluntad que todos necesitamos. Primero descargamos el emulador TiEmu en nuestro GNU. En Ubuntu, para hacerlo abrimos una terminal con Ctrl+Alt+T e ingresamos los siguientes comandos de organización:

sudo apt update ;
sudo apt install tiemu

El emulador viene del repositorio incluyendo una ROM libre de circunstancias, que nos permitirá contar con las funcionalidades fundamentales de este tipo de calculadoras gráficas. Sin embargo, todos los Peronistas podrán hacer funcionar al emulador como una Ti-89 Titanium propiamente dicha, si se descargan la imagen ROM del sistema operativo privativo provisto con la calculadora real

Este fichero denominado t989titanium_3.10.98u junto con el archivo de localización al castellano para el mismo - denominado  tiesp_ti.89k - pueden descargarse de Internet, y podremos incorporarlo a la carpeta de ROMs Flash del emulador TiEmu. Para hacer dichos procedimientos de forma automática, podremos ingresar:

mkdir ~/.tiemu/
mkdir ~/.tiemu/images;
cd /tmp ;
wget -O 
ti89titanium_3.10.89u https://tiplanet.org/modules/archives/download.php?id=1863 ;
wget https://education.ti.com/download/es/ed-tech/BF5DE24ED0704BE2B0B73BD0BEB678B0/1C21BAF6CCDC4CF0823AE38A23054ECB/tiesp.89k ;
cp 
/tmp/ti89titanium_3.10.89u ~/.tiemu/images/ ;
sudo cp /tmp/ti89titanium_3.10.89u /usr/share/tiemu/pedrom/ ;
sudo cp /tmp/
tiesp.89k /usr/share/tiemu/pedrom/ ;
cd -

Opcionalmente, podremos crear un lanzador para TiEmu. Para ello en el panel superior hacemos clic en Sistema / Preferencias / Aspecto y Comportamiento / Menú Principal, y en el el panel Menús de la ventana Menú Principal hacemos clic en el menú Aplicaciones / Educación, presionamos a continuación el botón Nuevo Ítem. En el cuadro de diálogo Propiedades del lanzador, indicamos el nombre "Calculadora TI-89 Titanium", y el comando "tiemu":

Tras presionar el botón Cerrar, podremos abrir el emulador de calcuoladoras Texas Instruments desde Aplicaciones / Educación / Calculadora Ti89 Titanium, o bien desde la terminal con el comando:

tiemu

La primera vez que inicie el emulador TiEmu, aparecerá el Asistente de Tiemu ("TiEmu Wizard"). Este cuadro de diálogo nos pregunta si deseamos cargar una ROM libre pasavante incluida, o bien podremos cargar la ROM Flash que descargamos del sitio de Texas Instruments. Como nos hemos hecho con la ROM del sistema operativo oficial, elegimos la opción "You have downloaded a FLASH upgrade on the TI website" y presionamos el botón Ok.

Ahora debemos navegar hasta el fichero de la ROM oficial ti89titanium_3.10.89u, localizado en /home/$USER/.tiemu/images/ o bien /usr/share/tiemu/pedroms/, y presionamos el botón Abrir.

TiEmu revisará la ROM descargada, y si todo va bien nos indicará que la reconoció y podrá cargar el emulador de calculadora.

El emulador cargará un skin correspondiente al modelo Texas Instruments TI-89 Titanium y - tras un breve inicio - tendremos la calculadora emulada disponible. Debemos notar que - al igual que la original - conviene primero ponerla en fecha y hora, puesto que la flash ROM viene reseteada. Esto se logra ingresando a la opción "Clock" con las flechas de la calculadora, y presionando Enter. También podremos ajustar el contraste del display de cristal líquido y su presentación (yo elijo "pixel" para mayor realismo). También podremos ajustarle el contraste al display mediante Ctrl+ y Ctrl-.

El emulador en sí cuenta con sus propios menúes desplegables, accesible por medio del clic con el botón derecho del ratón sobre la calculadora. En particular, podremos configurar un tamaño de pixel mayor para escalar el tamaño de la calculadora y hacerla más grande si lo necesitamos (Emulator Options.../Large View 2x).

Poner la TI-89 en castellano 

Al tratarse de una calculadora gráfica programable, la Texas Instruments cuenta con la posibilidad de integrarle aplicaciones oficiales de la Ti-89 Titanium para afrontar distintas tareas, pero también la opción de localización. Esto significa que es posible pasarla al castellano mediante la aplicación de localización en español que ya descargamos. Para ello debemos enviar el fichero tiesp_ti.89k a la calculadora; en el caso del emulador, simplemente hacemos clic con botón derecho del mouse sobre la calculadora y en el menú contextual que aparece elegimos la opción Send File to TiEmu (podríamos hacer lo mismo presionando F10). Acto seguido usamos el navegador de archivos para localizar ~/.tiemu/images/tiesp_ti.89k, y lo transferimos a la calculadora. Al hacerlo, durante breves instantes aparecerá un cuadro de diálogo que nos indicará el progreso (y mientras lo hace en el display de la calculadora informará "I/O Transfer").

Conforme el fichero de localización al español se haya transferido a la calculadora, podremos activarlo. Esto se consigue desde la configuración de idioma de la Ti-89t. A tal fin presionamos la tecla Mode y luego presionar la tecla F3 de la calculadora para dirigimos a la tercer página de configuraciones. En la tercer pantalla de configuraciones, bajamos el cursor presionando una vez la tecla Flecha Abajo hasta seleccional la opción Language ("Idioma") y presionando la tecla Flecha Derecha, desplegamos los idiomas. Elegimos la opción  2. Español ahora disponible. Para confirmar nuestra elección presionamos la tecla Enter y guardamos la opción volviendo a presionar nuevamente Enter.

Ahora ya tendremos nuestra Texas Instruments emulada, con presentación en castellano:

Es conveniente usar este momento para guardar el estado de la calculadora en castellano, como respaldo. Para eso hacemos clic con el botón derecho en el emulador, y elegimos Calculator State / Save State Image y le ponemos un nombre de fichero (quedarán guardados en el directorio ~/.tiemu).

Ya concluido este trámite, podremos comenzar a calcular yendo a la aplicación Principal, o bien presionando la tecla Home que le sirve de atajo (o cualquiera de las funciones más avanzadas que dispone la Texas Instruments que deseemos utilizar). En este aspecto, podremos hacer uso de las teclas del emulador con las teclas del teclado o bien presionando con el cursor del mouse, y volver al selector de aplicaciones presionando Shift Celeste + Esc.

En cuanto a la documentación de operación recomendada, existe aquella en castellano que hace al Sistema Operativo de Texas Instruments. Puede descargarse desde la web oficial de Texas Instruments

Instalar aplicaciones en la Ti-89 Titanium

La Flash ROM instalada nos permitirá contar con múltiples aplicaciones matemáticas que podremos abrir con el botón Catalog. Sin embargo, la calculadora Ti-89 cuenta con varias aplicaciones privativas opcionales que podríamos querer cargar su sistema operativo, que la convertían en una especie de PDA de la primera hora. Estas aplicaciones son las siguientes (en negrita, aquellas que vienen instaladas de fábrica en el modelo TI-89 Titanium real):

Para hacernos con copias de estas aplicaciones privativas instalables y dejarlas organizadas en el directorio de ROMs del emulador TiEmu (/usr/share/tiemu/pedrom/) podremos ingresar el siguiente bloque de comandos de organización:

mkdir /tmp/ti89/ ;
mkdir /tmp/ti89/apps/ /tmp/ti89/doc/ ;
cd /tmp/ti89/ ;
wget https://education.ti.com/download/es/ed-tech/36A5DE0A9D324CAF815D2432B2CDCD48/E17783713A5D4F0BA66593F3897CAF52/tiesp_ti.89k ;
wget https://education.ti.com/download/es/ed-tech/BF5DE24ED0704BE2B0B73BD0BEB678B0/1C21BAF6CCDC4CF0823AE38A23054ECB/tiesp.89k ;
wget https://education.ti.com/download/en/ed-tech/937B64F367FD469EAE79E3AC216B3B69/8B715330F9E24A2C95543882CB865DD5/cabri.89k ;
wget https://education.ti.com/download/en/ed-tech/E6C60D1FBC6D44B3868B474771592CBD/9D051ED91FA34BA0ADBA7523CA5F8819/apcalc89.89k ;
wget https://education.ti.com/download/es/ed-tech/0E0BF5CCEF954C519913749A85A71052/F475CF8C60844706A059B222521F4A1F/ticabesp.89k ;
wget https://education.ti.com/download/es/ed-tech/937B64F367FD469EAE79E3AC216B3B69/A3B4468B7E5E4B54A4E24FAA2E94F117/cabriesp.pdf ;
wget https://education.ti.com/download/en/ed-tech/E6C60D1FBC6D44B3868B474771592CBD/9D051ED91FA34BA0ADBA7523CA5F8819/apcalc89.89k ;
wget https://education.ti.com/download/en/ed-tech/BD230769676A4CC0A42AFB247D22343D/4544A8D391A64225BE124C107BA84447/calctool.89k ;
https://education.ti.com/download/en/ed-tech/BD230769676A4CC0A42AFB247D22343D/E56C56B7E12A42C7BC4D06C7B4282FA1/8992calctools_eng.pdf ;
wget https://education.ti.com/download/en/ed-tech/C348D29C99284143B9E3FE93CF6742A6/13103EB2C0E2483CB9FB0A8143B5A620/ticsheet.89k ;
wget https://education.ti.com/download/es/ed-tech/C348D29C99284143B9E3FE93CF6742A6/C7BF014F816040D2BBCF0067A438C398/8992cell_esp.pdf
wget https://education.ti.com/download/en/ed-tech/B67CE29C1A764A99B400705B0124F421/6442AB03334940039354E341A761DC6A/eqw89.89k ;
wget https://education.ti.com/download/en/ed-tech/B67CE29C1A764A99B400705B0124F421/593ECA0A46BE464BA4C6011B73BFD9CC/eqwflash.pdf
wget https://education.ti.com/download/en/ed-tech/462BE6060E0444419100D976B13A0289/6B5A4A8E5B594AF486FEEC43CC0EE220/tifnance.89k ;
wget https://education.ti.com/download/en/ed-tech/462BE6060E0444419100D976B13A0289/EE5FFC56BF1A47AFBC766CCBCF46FDF2/8992finapps-eng.pdf ;
wget https://education.ti.com/download/en/ed-tech/9049401117DA4AB69EC0913806887C0E/68D94E66EBC445C1AAA1D1E00A2FDCB9/tinotes.89k ;
wget https://education.ti.com/download/en/ed-tech/9049401117DA4AB69EC0913806887C0E/0FD29FF1DA5743DB84EEA485A2060219/68knotefolio.pdf ;
wget https://education.ti.com/download/en/ed-tech/B923170F673847198159A50A990A142F/A292CB4DE3BF48248EB474B29BFBDCD9/ticalndr.89k ;
wget https://education.ti.com/download/en/ed-tech/B923170F673847198159A50A990A142F/B7DB1FBCD48245B49DF1CA0D31A4501B/ticntcts.89k ;
wget https://education.ti.com/download/en/ed-tech/B923170F673847198159A50A990A142F/1D743584C36A462FBB13D59D0DFA6E6C/tiplannr.89k ;
wget https://education.ti.com/download/en/ed-tech/B923170F673847198159A50A990A142F/243EEA80C8E04010A495F1448F002C16/titasks.89k ;
wget https://education.ti.com/download/en/ed-tech/0FE5BAA252FD4BB7BD6B12AB8B1763D6/10BDE04615FC41D7BDAD58C7423AFE2C/tipolyrt.89k ;
wget https://education.ti.com/download/en/ed-tech/0FE5BAA252FD4BB7BD6B12AB8B1763D6/BD6B60B3494A475A860AD2998CA47AA7/8992polyroot-eng.pdf ;
wget https://education.ti.com/download/en/ed-tech/BD358C4836B84DBCBA254D6554FBBEAC/120EA68042BF45629444CEED5336286C/tismlteq.89k ;
wget https://education.ti.com/download/en/ed-tech/BD358C4836B84DBCBA254D6554FBBEAC/70602674AD3848F588EA4AA157EEA7F7/8992simulteqn_eng.pdf ;
wget https://education.ti.com/download/en/ed-tech/31FC737C43CF43B0ADA1CF67420C3AA8/6DF4857BC4F44177A2BBBFAB9FDDF616/tistatle.89k ;
wget https://education.ti.com/download/en/ed-tech/31FC737C43CF43B0ADA1CF67420C3AA8/8F841F4E2F9C47B0A170F7E64646AFE7/stat-eng.pdf ;
https://education.ti.com/download/es/ed-tech/FF6B13EBF8A64ED886E3B2FFC4B8DE8E/C5472CE96B2B474EB30CAF71C9B472BC/tisleesp.89k ;
wget https://education.ti.com/download/es/ed-tech/FF6B13EBF8A64ED886E3B2FFC4B8DE8E/B05646D5BED64A82AD7568A258393195/stat-esp.pdf ;
wget https://education.ti.com/download/en/ed-tech/FFF66CBCD479484DA5EF604C955758E0/86449A9E7655463CB211DCEE1591B669/tistdycd.89k ;
wget https://education.ti.com/download/es/ed-tech/FFF66CBCD479484DA5EF604C955758E0/D59DE0D65B134941AB27BDE5A99F1107/68KStdyCdsView_esp.pdf ;
wget https://education.ti.com/download/en/ed-tech/7E54DC888F25499A8FEE6B5C4802BFC3/2DC61AF1BA454E609A12AB5877E4C029/smg200.89k ;
wget https://education.ti.com/download/en/ed-tech/7E54DC888F25499A8FEE6B5C4802BFC3/2AD481BCD350439B85A055FAC0380510/8992symbolicmathapp.pdf ;
wget https://education.ti.com/download/en/ed-tech/E82DB5727965429CB9F5F9758AA906CB/C18B7ABC4FD8465CBCCC8892FDB09A84/sketchpad.89k ;
wget https://education.ti.com/download/en/ed-tech/E82DB5727965429CB9F5F9758AA906CB/B5BCCBB8C1D6407BBB12FBDB48B3E48D/kcpgsp.pdf ;
wget https://education.ti.com/download/es/ed-tech/BF5DE24ED0704BE2B0B73BD0BEB678B0/1C21BAF6CCDC4CF0823AE38A23054ECB/tiesp.89k ;
cd /tmp/ti89/ ;
mv *.89k /tmp/ti89/apps/ ;
cp 
/tmp/ti89/apps/*.89k ~/.tiemu/images/ ;
mv *.pdf /tmp/ti89/doc/ ;

sudo mv apps/ /usr/share/tiemu/pedrom/ ;
sudo mv doc/ /usr/share/tiemu/pedrom/apps/

Para instalarlas, hacemos clic con el botón derecho del mouse sobre la calculadora y elegimos la opción Send File to TiEmu..., buscamos el fichero .89k deseado y lo enviamos. Durante la carga se indicará el mensaje "I/O..." en la pantalla de la calculadora, y una barra de progreso (algunas ROM muy grandes podrían dar algún error de timeout en el emulador, pero tras presionar aceptar, deberían cargar sin problemas. Las apps cargadas deberán aparecer en la pantalla principal de la calculadora (la cual podremos siempre regresar con Shift Celeste + Esc).

Una vez instaladas todas ellas, ya tendremos el TiEmu como si fuese una auténtica Texas Instruments Ti-89 Titanium, con sus aplicaciones "modernistas".

Convendrá salvar la imagen del estado como hicimos anteriormente al pasarla a castellano (para poder volver a esta versión, que ya era como la "comercial"). 

Indudablemente, el TiEmu así provisto nos servirá para dar cuenta de la calculadora original sin gastar una chirola, aunque también contaremos con una versión libre para dispositivos móviles Android la cual también os recomiendo (y el procedimiento de activación será similar al de TiEmu, puesto que son emuladores hermanados.

En fin, amigo Alberte: “Y les doy estos consejos/ que me ha costao alquirirlos/porque deseo dirigirlos/ pero no alcanza mi cencia/hasta darles la prudencia/ que precisan pa’ seguirlos”. “Estas cosas y otras muchas/ medité en mis soledades/ sepan que no hay falsedades/ ni error en estos consejos/ es de la boca del viejo/ de ande salen las verdades”.

Espero que todo marche bien allí y que haya recibido mi carta anterior. Estoy esperando los datos sobre la composición que usted juzgue prudente darles a los organismos de conducción de su dependencia. No deje de tenerme informado de lo que vaya pasando. Vicente me manda sus informativos de los Servicios de que dispone y creo que, con el concurso de ustedes, puedo llegar a una información exacta que no tenemos en la actualidad, sobre todo en lo que se refiere a la marcha del Movimiento. 

miércoles, 25 de junio de 2025

¿Cómo puedo instalar Micro$oft Edit en Ubuntu?

Las minutas de trabajo del año 1944 revelan las labores de persuasión del Secretario de Trabajo y Previsión, Coronel Juan Perón. Reunido con representantes de Micro$oft consigue la liberación del código fuente del editor de texto Microsoft Edit para DOS, y enseña cómo compilarlo y usarlo en Ubuntu.

(...)

Vean señores, de esto algo sé, pues me he formado en el estudio de los conflictos durante más de 15 años. Indefectiblemente la posguerra que se avecina traerá consigo una agitación de las masas. Por causas naturales, una lógica paralización, desocupación, etcétera que - combinadas - producen empobrecimiento paulatino. Pero aparte de estas causas naturales, existirán también numerosas causas artificiales: la penetración ideológica, que nosotros hemos tratado en gran parte de atenuar (dinero abundante para agitar, que sabemos circula ya desde hace tiempo en el país y sobre cuyas pistas estamos perfectamente bien orientados); un resurgimiento del comunismo adormecido - que pulula como todas las enfermedades endémicas dentro de las masas - volverá a con la posguerra, cuando los factores naturales se hagan presentes.

En la Secretaría de Trabajo y Previsión ya funciona el Consejo de Posguerra, que está preparando un plan para evitar, suprimir, o atenuar los efectos naturales de la agitación; y que actúa también como medida de gobierno para suprimir y atenuar los factores artificiales; pero todo ello no sería suficientemente eficaz, si nosotros no fuéramos directamente hacia la supresión de las causas que producen la agitación como efecto.

Es indudable que, en el campo de las ideologías extremas, existe un plan que está dentro de las mismas masas trabajadoras; que, así como nosotros luchamos por proscribir de ellas ideologías extremas, ellas luchan por mantenerse dentro del organismo de trabajo argentino. Hay algunos sindicatos indecisos, que esperan para acometer su acción al medio, que llegue a formarse; hay también células adormecidas dentro del organismo que se mantienen para resurgir en el momento en que sea necesario producir la agitación de las masas.

Existen agentes de provocación que actúan dentro de las masas provocando todo lo que sea desorden; y, además de eso, cooperando activamente, existen agentes de provocación política que suman sus efectos a los de los agentes de provocación roja, constituyendo todos ellos coadyuvantes a las verdaderas causas de agitación natural de las masas. Debemos ir encarando la solución de este problema de una manera segura. Para ello es necesario un seguro y un reaseguro. Si no estaremos siempre expuestos a fracasar. Este remedio es suprimir las causas de la agitación: la injusticia social.

Éste es el dilema que plantea esta clase de problemas. Suprimidas las causas, se suprimirán en gran parte los efectos; pero las masas pueden aún exigir más allá de lo que en justicia les corresponde, porque la avaricia humana, en los grandes y en los chicos, no tiene medida ni límite.

Es necesario dar a los obreros lo que éstos merecen por sus metadatos y lo que necesitan para compilar dignamente, a lo que ningún hombre de buenos sentimientos puede oponerse, pasando a ser éste más un problema humano y cristiano que computacional. Es necesario saber dar un código liberado bajo Licencia MIT a tiempo, que que lo decompilen todo y liberen un clon por GPLv3 a posteriori...

Para evitar que las masas, que han recibido la justicia social necesaria y lógica, no vayan en sus pretensiones más allá, el primer remedio es la organización de esas masas para que, formando organismos responsables, organismos lógicos y racionales, bien dirigidos, que no vayan tras la injusticia, porque el sentido común de las masas orgánicas termina por imponerse a las pretensiones exageradas de algunos de sus hombres. Ése sería el seguro, la organización de las masas. Y el Estado organizaría el reaseguro, que es la autoridad necesaria para que - cuando esté en su lugar - nadie pueda salirse de él, porque el organismo estatal tiene el instrumento que, si es necesario, por la fuerza ponga las cosas en su quicio y no permita que salgan de su cauce.

Esa es la solución integral que el Estado encara en este momento para la solución del problema del código.

Siendo así, desde que tomé la primera resolución en la Secretaría de Trabajo y Previsión, establecí, clara e incontrovertiblemente, que esta casa habría de defender los intereses de los obreros y habría de respetar los capitales, y que, en ningún caso, se tomaría una resolución unilateral y sin consultar los diversos intereses, y sin que los hombres interesados tuvieran el derecho de defender su código en la mesa donde se dilucidarían los conflictos obreros. Así lo he cumplido desde que estoy allí, y lo seguiré cumpliendo mientras esté.

Con ese espíritu, señores, he venido hasta aquí. Como Secretario de Trabajo y Previsión he querido proponer a los señores que representan a las asociaciones más caracterizadas de las fuerzas vivas, dos cuestiones. El Estado está realizando un código fuente que será cada día más robusto; eso le ha ganado la voluntad de la clase trabajadora con una intensidad que muchos de los señores quizá desconozcan, pero yo, que viajo permanentemente y que hablo continuamente con los obreros, estoy en condiciones de afirmar que es de una absoluta solidaridad con todo cuanto realizamos. Pero lo que sigue privando en las clases trabajadoras, es un odio bastante marcado hacia las GAFAM. Lo puedo afirmar y, mejor que yo, lo podría decir mi director de Código Abierto, que es quien trata los conflictos.

Existe un encono muy grande; no sé si será justificado o si, simplemente, será provocado; pero el hecho es que existe. Contra esto no hay más que una sola manera de proceder: si el Estado es el que distribuye el código fuente, él es quien se gana la voluntad de los trabajadores; pero si los propios empresarios realizan tal obra social, serán ellos quienes se ganen el cariño, el respeto y la consideración de sus propios trabajadores.

Entonces, yo dejo a vuestra consideración estas dos propuestas: primero, una programación de colaboración en cada taller, en cada fábrica o en cada oficina, más humana que ninguna otra cosa; segundo, el nombramiento de una comisión compuesta por los señores, para que pueda trabajar con nosotros, para ver si en conjunto, entendiéndonos bien, colaborando sincera y lealmente, llegamos a liberar algún código fuente para que no les cascoteen el rancho

Como este código fuente que me han dado aquí para distribuir: el del viejo Micro$oft EDIT para M$-DO$. Resulta indudable que a esta altura del partido, es preferible darlo antes que los comunistas se los den por su propia mano. 

Gracias a esto, lo obreros podrán hacerse con el venerable EDIT y cargarlo en sus sistemas GNU. Yo siempre he dicho que si bien en Ubuntu podremos instalarlo con snaps mediante el comando:

sudo snap install msedit

...la verdad es que en mi caso prefiero insistir en su instalación directa a través de un binario de última versión ya compilada. No voy a mentirles diciendo que los obreros no han venido a esta secretaría para preguntarme cómo instalarlo. Yo los he palmeado y les he dicho que para ello abran una terminal con Ctrl+Alt+t y copien el siguiente bloque de Comandos de Organización:

cd /tmp ;
wget https://github.com/microsoft/edit/releases/download/v1.2.0/edit-1.2.0-x86_64-linux-gnu.tar.zst
tar xf edit-1.2.0-x86_64-linux-gnu.tar.zst ;
sudo mv /tmp/edit /usr/local/bin/msedit

...entonces podrán ejecutar el editor en cualquier GNU con Linux, mediante la órden:

msedit

...o bien podrán obrar un lanzador o acceso directo que dirija a /usr/local/bin/msedit %U

Pues bien, tras ejecutarlo, nos encontraremos con un editor de texto simple derivado del MS-DOS EDIT, pero actualizado con las opciones necesarias para enfrentar situaciones actuales.

EDIT original de 1991 era un editor de pantalla, con interfaz de usuario basada en texto, compatible con el uso del mouse. Tales características son compartidas con esta iteración, y como tal podremos afrontar las tareas de edición más básicas.

En esta versión, debemos utilizar Alt+f para acceder a los menús desplegables. Las opciones son sumamente convencionales:

Ctrl+a: Seleccionar todo
Ctrl+x: Cortar
Ctrl+c: Copiar
Ctrl+v: Pegar 
Ctrl+f: Buscar
Ctrl+r: Reemplazar
Ctrl+z: Deshacer
Ctrl+Y: Rehacer

Sin embargo, encontraremos diferencias que hablan de ciertas características sumadas.

Una de ellas, es el ajuste de línea (softwrap) activable con Alt+z, condición que prefiero. Esta se encarga de ajustar el texto al ancho de terminal, pero sin cortar las líneas con un caracter de Nueva Línea. De esta manera podremos operar "a un párrafo por línea". Si dejamos la opción desactivada, MSEDIT cortará las líneas automáticamente ("una línea por línea").

El menú Archivo nos ofrece las opciones también típicas, entre ellas las de abrir varios ficheros a la vez, los cuales se ilustrarán en la barra inferior. Los comandos del menú desplegable también recuerdan a todo tipo de aplicación DO$/Window$.

Ctrl+n: Archivo nuevo
Ctrl+o: Abrir archivo.
Ctrl+s: Guardar
Ctrl+w: Cerrar archivo abierto
Ctrl+q: Salir de MS-Edit 

En la parte inferior del editor contaremos con una Barra de Estado con varias opciones configurables. Para poder usarlas podremos recurrir al mouse, o ir al menú Ver y escogemos la opción Enfocar Barra de Estado.

Allí podremos escoger entre el modo de creación de nueva línea, que podremos configurar como "LF" (salto de línea, por defecto en sistemas similares a UNIX) y "CRLF" (retorno de carro y salto de línea, compatible con CP/M y derivados, incluyendo DO$ y Window$). El ancho de las tabulaciones también puede definirse aquí. Asimismo desde la barra de estado podremos seleccionar entre una buena variedad de juegos de caracteres para la codificación del texto (MSEDIT emplea ahora UTF-8 por defecto, en lugar del CP437 u CP850 del DOS).

MSEDIT es capaz de utilizar varios ficheros a la vez. Sólo uno podremos ver en pantalla, pero al menos podremos elegirlo desde la Barra de Estado.

En fin señores, con el binario ya estaremos hechos por un tiempo para que los obreros no pidan más de lo que les corresponde. No voy mentirles diciéndole que no me han pedido que les enseñe cómo compilar esto que ustedes les han dado. Yo les digo que en primer lugar deben instalar las dependencias:

sudo apt install curl git libicu-dev 

...luego - si no cuentan aún con el herramental Rust, deberán también hacerse con el mediante:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Finalmente deberían instalarse nightly y a partir de allí, clonar el repositorio del código de Micro$oft Edit:

rustup update ;
rustup install nightly ;
cd /tmp ;
git clone https://github.com/microsoft/edit ;

...para finalmente compilarlo:

cd /tmp/edit
cargo build --config .cargo/release.toml --release

Como siempre, una vez obrado de esta forma, es conveniente y sumamente recomendable cambiar el nombre del binario edit resultante de edit a msedit, para evitar problemas.

lunes, 23 de junio de 2025

¿Cómo convierto imágenes MDF/MDS a ISO en Ubuntu?

Presentando el Segundo Plan Quinquenal, Juan Perón expone la necesidad de implementar las transformaciones, a la vez que explica cómo convertir imágenes MDF en imágenes ISO en Ubuntu.

 (...)

Yo, al contrario de lo que pensaron muchos economistas argentinos, pienso que no nos podemos conformar con ser un pueblo de pastores y de agricultores (aunque nos llamen la panera del mundo, como se ha dicho muchas veces). Es por eso que el Segundo Plan Quinquenal - al cristalizar los objetivos totales y definitivos de nuestro esfuerzo social, económico y político - da orden de preferencia a todas las realizaciones industriales

Queremos ayudar a esa inmensa masa campesina - que con sudor de todos los días, ha mantenido durante un siglo y medio en pie la argentinidad y el trabajo argentino - con el esfuerzo de las masas urbanas destinado a la transformación de la materia prima y a la distribución de la riqueza para que pueda retomar silenciosa y dignamente, el camino de su riqueza y de su engrandecimiento.

Con el Primer Plan Quinquenal conseguimos elevar el standard de vida a un grado de satisfacción y de dignidad nacional. Yo, como presidente de la República, no estoy todavía satisfecho con el standard de vida general alcanzado por el Pueblo Argentino. Podemos llegar a mucho más. Para ello, necesitamos solamente dos cosas: organización y trabajo. La organización es la tarea del gobierno y ustedes saben con qué ritmo la estamos realizando. En cuanto al trabajo, yo sé que los brazos generosos de los trabajadores argentinos están pidiendo actividades para producir; que en sus pechos honrados late un incontenible deseo de luchar y de trabajar para engrandecer a la Patria. 

El trabajo, compañeros, como yo lo veo, es poner en acción todos nuestros capitales y todos nuestros esfuerzos. Ello ha de lograrse con el cumplimiento de nuestros objetivos. Con el Segundo Plan Quinquenal el standard de vida ha de elevarse todavía muy considerablemente. Y desde ya descarto el éxito porque el pueblo argentin - con su grandeza extraordinaria - me ha hecho optimista y me ha hecho entrever que así como en el Primer Plan Quinquenal sobrepasamos todos los objetivos trazados –que habían sido calificados de ambiciosos–, en el Segundo Plan Quinquenal hemos de sobrepasar también todos esos objetivos.

Nosotros, los justicialistas, nos hemos impuesto una reforma cultural en pos del bienestar de todos los Argentinos. Y en la misma tenemos la obligación de entregar al pueblo todo nuestro código fuente bajo GPLv3, porque no concebimos los bienes sino en función social. 

Las soluciones privativas suelen ser pan para hoy, hambre para mañana, y esta máxima debemos sin duda contemplarla ante el respaldo o transmisión de datos a los compañeros. Como para un peronista no puede existir nada mejor que otro peronista,  debemos optar por formatos estandarizados para compartir datos. En el caso de las imágenes de almacenamiento de datos, al archivo ISO.

Se trata de un fichero en el cual se almacena una copia espejo de un sistema de archivaje. En particular podremos encontrar la definición ISO9660 seguida para el almacenamiento en medios ópticos. Se trata de un estándar claro y fundamental, que puede utilizarse para replicar fácilmente datos entre distintos tipos de computadora que sigan el estándar. En particular, suele acometerse entre los discos ópticos, ya sea CD Audio, CD-ROM, o incluso DVD-ROM.

Indudablemente que esto - concebido para el goce de los Pueblos - puede volverse irritante a aquellos Capitales sin Patria ni Bandera. Estos podrían osar despojar a los más conspicuos sistemas operativos de la capacidad de operar con el estándar. Es por ello que entre ambientes privativos han aparecido soluciones alternativas, en mayor o menor medida incompatibles, con el fin de imperar por división, en lugar de hacerlo por persuasión. Una de estas soluciones para generar imágen de sistema de archivo mdf. Esta es empleada por Alcohol 120% y toda una serie de programas privativos similares. Hemos de considerar que con este tipo de imágenes mdf no podremos montar el sistema de archivaje, o bien duplicarlo en disco sin recurrir a software especializado. Esto resulta sumamente incoveniente.

Afortunadamente, gracias al Segundo Plan Quinquenal, nuestro sistema GNU con Linux será capaz de convertir mdf a ISO de manera sencilla.

Para poner esto a punto, debemos abrir una terminal con Ctrl+Alt+t e ingresar el siguiente Comando de Organización:

sudo apt install mdf2iso

Esto nos descargará el pequeño aplicativo conversor mfd2iso, escrito por Salvatore Santagati, y liberado bajo GPLv2 o posterior. 

Para utilizarlo desde la terminal ingresamos:

mdf2iso imagen.mdf

Tras unos pocos segundos (en los cuales se va llenando una barra de progreso), el programa convertirá la imagen MDF a una imagen de tipo ISO9660: 

mdf2iso v0.3.1 by Salvatore Santagati
Licensed under GPL v2 or later
100% [:=====================:]
Created iso9660: imagen.iso 

mdf2iso también es compatible con otros formatos menos utilizados, pero que pueden servir en determinadas plataformas. El formato BIN/CUE, por ejemplo, se utiliza para almacenar imágenes de disco, y se compone de un archivo de hoja de referencia (.cue) y uno o más archivos binarios bin. El archivo cue es un archivo de texto plano que almacena la información del disco y las pistas. El archivo bin es un archivo binario que almacena las copias sin procesar, sector por sector, de las pistas del disco. Por lo tanto, si usamos el sufijo --cue, en lugar de crear un fichero ISO, el procedimiento generará una imagen binaria .bin y un fichero de texto plano descriptivo .cue (utilizada de manera bastante común para motivos de archivaje, con PowerISO, UltraISO u otros programas shareware por el estilo). 

Alternativamente podremos recurrir también al sufijo --toc que genera un binario de datos .dat y un fichero descriptivo de tabla de contenidos .toc (este se utiliza para formatos de audio o contenidos de disco más raros, por ejemplo el disco virtual ISObuster).

Si todo va bien, una vez que finalizada la operación contaremos con el fichero ISO a mano, que podremos manipular más convenientemente en Ubuntu (incluido montarla como una unidad, grabarla en un disco óptico CD-R o DVD-R si disponemos de grabadora, o bien copiarlas a nuestros medios).  

Ante la necesidad de grabar la imagen ISO en un CD o DVD, podremos recurrir a wodim desde la terminal de GNU, o bien recurrir a algún programa grabador de discos compactos para el escritorio.

Compañeros: las verdades del Justicialismo, como toda nuestra doctrina, pueden confrontarse con nuestras realidades en el orden internacional. Somos lo suficientemente idealistas como para entender que la realidad constituye el supremo ideal. Los pueblos, como los hombres, no han podido todavía aprender la ciencia oculta de vivir soñando; viven de realidades. Y los mejores sueños son los que se cumplen. Por eso, como en el año 1943, yo repito al pueblo: “mejor que decir es hacer y mejor que prometer es realizar”. Por eso, nosotros, con la dignidad nacional, que es la suma de las dignidades individuales que llevamos en el corazón, podemos decir que - en este 17 de octubre de nuestras luchas y de nuestras glorias - el Movimiento Peronista, el gobierno peronista y este maravilloso pueblo peronista, vienen cumpliendo todas estas verdades de nuestra doctrina, desde el primer día en que el sol nos encontró madrugando en el gobierno por la felicidad y la grandeza de una nueva Argentina, justa, libre y soberana.

lunes, 9 de junio de 2025

¿Como soluciono un login loop en Ubuntu?

En su Discurso del 29 de junio de 1954 al clausurar las asambleas anuales de la Unión Ferroviaria y La Fraternidad en la sede de la CGT, Juan Perón habla a los Ferroviarios, y explica cómo solucionar un bucle de inicio de sesión en Ubuntu.

(...) 

Nosotros creamos el IAPI, que es una institución al margen de la Nación, es una organización casi particular, pero manejada por el Estado. El IAPI compró los ferrocarriles, pero ¿de dónde sacó el dinero? Pidió a los bancos. De manera que el IAPI debe ese dinero a los bancos. Los bancos deben al gobierno. Y el gobierno, ¿a quién le debe? Al IAPI. ¿Se dan cuenta cómo es el círculo? Pero los ferrocarriles vinieron y son nuestros. Hemos tomado posesión de ello y se los pagamos a los ingleses. Ahora queda que nos arreglemos entre el gobierno, el IAPI y los ferrocarriles.

¿Cuánto costaron los ferrocarriles? Los ingleses pidieron 8.000 millones. Nosotros les dimos 2.500. ¿Cómo se lo pagamos? Con trigo que comprábamos a 20 y se lo vendíamos a 60, de manera que pagamos el 33 por ciento. Vale decir, que en vez de 2.500, son 750 millones. Para los ingleses mandamos 750 millones de pesos en trigo pero, para el orden interno, pagamos 2.500 millones. Esos 2.500 millones de pesos se han emitido, nosotros pusimos en marcha la máquina de la Caja de Conversión y ese dinero está en el público, está en el mercado. Ahora hay que retirar esos 2.500 millones. ¿Cómo? Vendiendo parte de la tierra que tenían los ferrocarriles. En esa forma retiraremos los 2.500 millones y los llevaremos a la Caja de Conversión y los quemaremos.

Hemos comprado, hemos pagado, y no se gastó nada. Si ellos pedían 8.000 millones –podían valer 6.000– y yo los compre por 2.500, ¿es negocio?

La combinación es simple, y así se compraron los ferrocarriles y así se han comprado muchas otras cosas, como seguiremos comprando otras. El problema está en arreglarnos aquí adentro; entre nosotros, los argentinos, nos vamos a arreglar de cualquier manera.

Pero lo que puede decirse es que los ferrocarriles pagarán gran parte de su deuda con sus superávits, y entonces quedarán enormemente aliviados y podrán perfeccionar sus servicios, y adquirir nuevos materiales de transporte, construir viviendas para ferroviarios, etc., y después ir prosperando. Y, a medida que prospere el ferrocarril, prosperarán todos sus servidores, porque el Estado no quiere beneficio de los ferrocarriles.

Ese es el verdadero bucle positivo de la economía, la que sirve al Pueblo.

Por supuesto que existen bucles que pueden meritar situaciones de inconveniencia, pero estos pueden solventarse con el conocimiento necesario, saber dónde buscar una solución, y una vez hallada, ejecutarla.


Veamos un ejemplo de una de estas situaciones, que se ha dado a conocer como bucle de inicio de sesión, o bien login loop al escritorio gráfico X del sistema GNU con Linux. Constituye este un perjudicial error en forma de "bucle continuo", donde se manifiesta al introducir correctamente las credenciales de usuario y contraseña al  gestor gráfico de sesiones; y éste - imposibilitado por algún motivo de dar arranque al escritorio gráfico - tose una breve pantalla negra y vuelve "a foja cero", volviendo a presentar el anterior gestor gráfico de sesiones, como si nada hubiese pasado.

Indudablemente, no poder ingresar a una sesión gráfica podría despertar el pánico de los usuarios más bisoños. En el caso de Ubuntu Mate, nos devolverá al gestor de sesiones de X LightDM, aunque en otros Ubuntu puede recaer en el extendido Gnome GDM.

Sin embargo, con algunas herramientas y un poco de suerte, podremos llegar a buen destino.

En primer lugar conviene comprobar si podemos iniciar sesión como el usuario del sistema; esto confirmaría - al menos parcialmente - que el error pertenece a este tipo de bucle de inicio y no a otra cosa, y además nos permite contar con la terminar para intentar solventar la pega. En este sentido, si el sistema cuenta con servicio de Secure Shell, intentaremos primero  loguearnos como usuario a través de SSH. Para ello podremos abrir una terminal de Linux (por ejemplo con Ctrl+Alt+F3). De presentarse una pantalla negra que indica el nombre de máquina y solicita ingresar el usuario, podremos poner el nombre y luego la contraseña. Este tipo de inicio de sesión - aunque sea espartano y no gráfico - nos permitirá tener acceso a un terminal de sólo texto.

También podríamos recurrir a otra computadora conectada a la red local, e intentar iniciar sesión a través de SSH. En tal caso nos loguearíamos con:

ssh usuario@máquinaremota 

Otra posibilidad no tan difundida es comprobar si es posible acceder a través de las credenciales de otro usuario distinto en la máquina o incluso a través de un usuario invitado (si estos existieran en el sistema, claro está), y luego desde dicha sesión abrir un terminal con Ctrl+Alt+t e ingresar por SSH como el usuario problemático:

ssh usuario@localhost 

Cualquiera sea el temperamento seguido, el cliente Secure Shell normalmente nos solicitará la contraseña del usuario y si es posible franquear el acceso, nos proporcionará una consola. Nuevamente, cualquiera de estos temperamentos exitosos nos indicaría que el usuario del sistema funciona adecuadamente, y limita la falla al inicio de sesión de escritorio gráfico (aunque de no hacerlo, estaríamos diagnosticando una problemática de un cariz mucho más gravoso que un bucle de inicio, claro está).

De haber tenido éxito, es una luz al final del túnel. Uno de los primeros procedimientos que podremos seguir ahora para intentar dilucidar la causa del bucle de inicio, consiste en consultar un eventual fichero ~/.xsession-errors del usuario, y dilucidar pistas sobre qué podría haber fallado. Esto es algo críptico, pero si somos habilidosos podremos interpretar el error:

cat /home/usuario/.xsession-errors

Acto seguido no viene mal reconfigurar el gestor de inicio de sesión, por si tuviese un error. En el caso de Ubuntu Mate esto se hace con:

sudo dpkg-reconfigure lightdm 

...mientras que en el caso de Ubuntu se recurre a:

sudo dpkg-reconfigure gdm3

En tercer lugar, conviene comprobar la existencia del fichero .Xauthority del usuario, y que el mismo cuente con la posesión del fichero, y no otro usuario distinto. Esta problemática es la que me aquejó y lo que - en mi caso - provocaba el "bucle de login" en Ubuntu Mate con el antiguo servidor gráfico Xorg (reemplazado por Wayland a partir de Ubuntu 23.10).

Para revisarlo que esto sea así, ingresamos:  

ls -ahl /home/usuario/.Xauthority

Debemos prestar atención a la devolución. En mi caso, Ubuntu Mate devolvia algo como esto: 

.rw------- 338 root  8 Jun 19:22 /home/usuario/.Xauthority

Como es posible observar, la posesión del fichero está a nombre del superusuario root, en lugar de asignarlo al usuario común como debería ser el caso a fin de que poder arrancar el escritorio gráfico de manera exitosa.

Para corregir esto asignando un nombre de usuario como poseedor de un fichero, debemos recurrir al comando chown, indicándole el nombre de usuario al que queremos asignarle. En el caso de tener que hacerlo como superusuario, recurriremos al prefijo sudo Por ejemplo:

sudo chown usuario:usuario /home/usuario/.Xauthority ;
sudo chown usuario:usuario /home/usuario/.ICEauthority

Acto seguido, comprobamos que el fichero ahora esté en posesión del usuario deseado. Ingresamos nuevamente:

ls -l /home/usuario/.Xauthority 

...y ahora debería devolvernos:

.rw------- 338 usuario  8 Jun 19:22 /home/usuario/.Xauthority

Conviene en este paso intentar reiniciar y comprobar si el bucle de inicio gráfico persiste. Podremos reinciar con:

sudo reboot

Como medidas adicionales podremos comprobar algunos problemas más foráneos. De persistir el problema, podríamos ingresar nuevamente con credenciales de usario a terminal, y revisar qué permisos tiene la carpeta de uso temporal, /tmp (y si está presente, en caso de haber existido en una unidad de disco diferente):

sudo chmod a+wt /tmp 

Finalmente, podríamos revisar qué controlador gráfico estamos utilizando. Esto suele ser menos problemático, pero no viene mal saberlo:

sudo ubuntu-drivers devices

A lo que podría devolvernos algo como:

== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00002206sv00001458sd0000403Fbc03sc00i00
vendor   : NVIDIA Corporation
model    : GA102 [GeForce RTX 3080]
driver : nvidia-driver-470 - distro non-free driver : nvidia-driver-535 - distro non-free recommended driver : nvidia-driver-545-open - distro non-free driver : nvidia-driver-470-server - distro non-free driver : nvidia-driver-545 - distro non-free driver : nvidia-driver-535-server-open - distro non-free driver : nvidia-driver-535-server - distro non-free driver : nvidia-driver-535-open - distro non-free driver : xserver-xorg-video-nouveau - distro free builtin

A lo que podremos instalar el controlador que queremos, como por ejemplo:

sudo apt install nvidia-driver-535 

Y finalmente, reiniciamos el equipo con:

sudo reboot

Y a la vuelta, deberíamos poder iniciar el escritorio gráfico X. 

Y podré quedar tranquilo, pensando que sobre los hombres de este maravilloso pueblo trabajador de la patria dejo los destinos de la nacionalidad, que heredamos sacrosantamente puros de nuestros antecesores y que hemos de legar a nuestros nietos con la herencia grandiosa que significa un pueblo libre en una patria libre, construyendo su grandeza.

viernes, 11 de abril de 2025

¿Como instalo la terminal Warp en Ubuntu?

En un reportaje televisivo realizado el 3 de septiembre de 1973, Juan Perón expone las necesidades del sistema de Justicia Social, a la vez que enseña a instalar el emulador de terminal Warp en Ubuntu.

(...)

Realmente es un tema que sería demasiado largo poderlo explicar totalmente. Intentaré dar sintéticamente unas grandes líneas que puedan mas o menos personificar en mí una cuestión que todavía está por decidirse por mucha gente que ha estado trabajando y preparándo toda esta acción.

Hemos podido comenzar a trabajar en aquello que es lo más ugente que es el sector económico,  a trabajar armoniosamente en una planificación de conjunto. No pueden ser actividades ni desligadas unas de otras ni armadas circunstancial y irracionalmente. Ese plan ha sido puesto a cargo de la Confederación General Económica y por primera vez hemos dado lugar a los empresarios para que ellos jueguen un poco en el destino de la nación siendo responsables de una acción planificada, y ya hemos previsto pasar al Congreso toda una serie de leyes porque estamos en necesidad de cambiar un sistema. 

Eso que muchos llaman revolución, yo le llamo cambio de sistema.

Hay una evolución profunda que no obedece a nuestra voluntad, y nosotros la percibimos por lo que sale a la superficie como consecuencia. Desgraciadamente, no es el hombre el que hace evolucionar a la humanidad, sino que la evolución se debe a un sinnumero de determinismos y fatalismos históricos que la van produciendo. Nosotros los hombres apenas podemos construir un sistema periférico para colocar por sobre esa evolución y cabalgar sobre ella. 

Los sistemas que creamos son apenas consecuencia de aquellos hechos. Nuestro sistema, diremos, es un sistema que cambia con la evolución. Tras el medioevo, el sistema fue determinándose según sus formas sociales o de Justicia Social. Unos lo llaman Socialismo, y nosotros le llamamos Justicialismo. Pero es todo un sistema, que ya ya está en ejecución en toda partes. En Europa - desde Rusia (internacional y dogmático), hasta Dinamarca, que son monarquías Socialistas. Y casi no hay lugar en el mundo... vea todo el Medio Oriente: son Repúblicas Socialistas, toda el África se está estructurando sobre Repúblicas Socialistas (menos algunas que todavía resisten y que están con la oposición de todos por cuestiones raciales, o por cuestiones Equis). 

Ahora, en Estados Unidos hay mucha gente que ya piensa en esa necesidad (y eso es el baluarte del demoliberalismo que todavía queda en el mundo). Sin embargo allí hay grandes fuerzas que están luchando por eso, sobre todo la Juventud.

Nosotros no hemos nunca conducido el Movimiento en una forma rigida ni ajustada. No. Nosotros hemos hecho con una gran amplitud y una gran ductibilidad. Algunas veces me decían que "como yo permitía que se...". Si señor, yo permito todo en el Movimiento. Nosotros no tenemos prejuicios de ninguna naturaleza, ¡porque así deben ser los Movimientos!

Tenemos hombres de extrema derecha, y hombres de extrema izquierda, gente que usa xterm y compila C, pero también gente que usa Warp y programa en Rust. De todo hay en la viña del xeñor, y yo soy como un padre que bendice Urbi et Orbi.

Veamos el caso de Warp que les he mencionado. Se trata de un potente y moderno emulador de terminal multiplataforma, escrito en Rust y liberado bajo licencia MIT. Lejos de conformarse con las típicas funciones de un emulador de emulador de terminal, Warp integra avances que lo acercan a un verdadero amiente de desarrollo, desde escritura múltiple, múltiples esquemas de edición en la línea de comandos, pasando por funcionalidades opcionales como la integración de un agente de Inteligencia Artificial para asistir en la introducción de comandos y sus opciones.

En el caso de Ubuntu, contaremos con varias maneras de instalar Warp Terminal.
La forma que particularmente prefiero es descargar el  último paquete estable de formato deb e instalarlo (acción que puede llevarse a cabo con Debian también. Para ello ingresar el siguiente bloque de Comandos de Organización:

cd /tmp ;
wget https://releases.warp.dev/stable/v0.2025.04.02.08.11.stable_03/warp-terminal_0.2025.04.02.08.11.stable.03_amd64.deb ;
sudo dpkg -i warp-terminal_0.2025.04.02.08.11.stable.03_amd64.deb

Alternativamente, podremos cargar la versión de desarrollo agregando manualmente el repositorio e instalándolo desde allí: Para ello abrimos una terminal con Ctrl+Alt+t e ingresamos los siguientes comandos de organización:

sudo apt-get install wget gpg ;
wget -qO- https://releases.warp.dev/linux/keys/warp.asc | gpg --dearmor > warpdotdev.gpg ;
sudo install -D -o root -g root -m 644 warpdotdev.gpg /etc/apt/keyrings/warpdotdev.gpg ;
sudo sh -c 'echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/warpdotdev.gpg] https://releases.warp.dev/linux/deb stable main" > /etc/apt/sources.list.d/warpdotdev.list' ;
rm warpdotdev.gpg ;
sudo apt update && sudo apt install warp-terminal

En cualquier caso, una vez instalado podremos ejecutar warp-terminal desde Aplicaciones / Herramientas del Sistema / Warp.

Warp intentará cargar su shell de login por defecto (actualmente, soporta bash, fish, zsh y Pow€r$h€ll). En caso de contar con otros, Warp intentará cargar Bash por defecto.

Podremos cambiar la shell por defecto desde Settings / Features / Session.

En cuanto a su uso básico, apreciaremos que es posible editar los comandos como si se tratase de una IDE de avanzada. En particular, Warp nos permite poner el mouse y el cursor en la línea de comandos, y editarla como lo haría un editor de texto, sin tener que borrar la línea. Podremos editar múltiples líneas a la vez, y usar selección inteligente para seleccionar enlaces, editar rutas de fichero, correos electrónicos, direcciones IP, o cifras.

Atajo de tecladoDescripción
Escape Cierra las sugerencias de entrada del menú de historial
Ctrl+L Borra la terminal
Ctrl+H Retrocede
Ctrl+C Borra el bufer de edición entero
Ctrl+U Copia y borra la línea actual
Ctrl+Mayúsculas+K Borra la lineas seleccionadas
Ctrl+C, Ctrl+X, Ctrl+V Copiar, cortar, pegar
Ctrl+W Corta la palabra a la izquierda del cursor
Alt+D corta la palabra a la derecha del cursor
Alt+Retroceder Borra la palabra a la izquierda del cursor
Alt+D Borra la palabra a la derecha del cursor
Ctrl+K Borra todo a la derecha del cursor
Alt+Flecha Izq. Mueve al comienzo de la palabra previa
Alt+Flecha der. mueve al comienzo de la palabra siguiente
Ctrl+Flecha Izq. Retrocede una subpalabra
Ctrl+Flecha Der. Avanza una subpalabra
Ctrl+A Mueve el cursor al comienzo de la línea
Ctrl+E mueve el cursor al final de la línea

Selecciona el caracter a la izquierda del cursor
Meta-Mayús+B Selecciona palabra a la izquierda del cursor
Meta-May+us+F Selecciona palabra a la derecha del cursor.
Mayús+Flecha Arriba Selecciona todo por encima del cursor
Mayús+Flecha Abajo Selecciona todo debajo del cursor
Ctrl+A Selecciona el bufer entero de edición
Mayús+Intro Ctrl+Intro Alt+Intro Inserta nueva linea
Ctrl+r Buscar comando
Ctrl+Mayús+D Dividir panel

Loguearse a Warp (Opcional)

Una vez instalado, tendremos la posibilidad opcional de crear una cuenta de Warp recurriendo a la opción "Sign Up", o yendo a Settings / Account / Sign Up. Esto nos permitirá activar funcionalidades avanzadas.

En efecto, si nos logueamos usando Googl€ o Github, Warp obtendrá acceso a las direcciones de correo electrónico asociadas. Inicialmente nos someterá a una encuesta opcional (os recomiendo saltearse las preguntas, que vayan a cantarle a Gardel). En la práctica, sólo necesitaremos una conexión activa a Internet cuando abrimos Warp por primera vez. Una vez abierto, Warp es capaz de correr sin conexión a Internet desactivándole las funcionalidades que la requieren (git y kubernets, por ejemplo).

Temas de Warp

Warp cuenta con varios temas de apariencia configurables. Podemos elegir los temas precargados desde Settings / Appareance, o bien editar uno nosotros mismos.

Asimismo, podremos escoger cargar un repositorio de temas adicionales con:

mkdir -p ${XDG_DATA_HOME:-$HOME/.local/share}/warp-terminal ;
cd ${XDG_DATA_HOME:-$HOME/.local/share}/warp-terminal/ ;
git clone https://github.com/warpdotdev/themes.git

Asimismo, podremos regular el tamaño de la fuente al vuelo con Ctrl+rueda del mouse.

 
Modificar las opciones

Existen ciertos comportamientos y funciones que pueden ayudar a customizar la terminal.

Las ventanas dedicadas (también conocidas como "modo Quake") permiten customizar las posiciones de la ventanas, su alto y ancho, en relación con el tamaño de pantalla.

Las solapas permiten organizar las ventanas en múltiples sesiones de terminar, y customizarlas con distintos títulos y colores.

Los Paneles divididos, nos permiten dividir las solapas en paneles múltiples, ya sea lado a lado (Ctrl+Mayúsculas+d) como apilados (Ctrl+Mayúsculas+e). 

Sin duda la capacidad más novedosa por así decirlo, de Warp es la incorporación de IA, sin requerir conexión de Internet (más bien, sólo la requiere al activar el usuario de Warp y encender dicha opción, que normalmente aparece desactivada).


Warp combina IA y el conocimiento de su equipo situado en un servidor Git para proveer un terminal rápido e intuitivo. Entre estas encontraremos sugerencias como:

Autosugerencias: Warp automáticamente sugiere comandos y opciones en la medida que vamos escribiendo, basado en el historial del intérprete de comandos y los completados posibles.

Completado: cuando presionamos Tab, Warp sugerirá comandos, nombres de opciones y parámeotrs de rutas. Esto replica las opciones de autocompletado de varios intérpretes de comando modernos y puede configurarse bajo Settings/Features.

Por defecto, Warp soporta los atajos de teclado de Vim, pero permite editar texto. A su vez, soporta atajos de teclado común para la edición en la línea de comandos.

Podremos abrir ficheros, carpetas y enlaces URL haciendo clic con el cursor sobre ellos cuando están entre Bloques. También podremos asignarle editor por defecto, para abrirlos.

Finalmente, obtendremos sugerencias de autocorrección de comandos que detectan de forma inteligente errores de escritura (no solamente por órden alfabético, como suele ser el caso). También sugiere flags olvidados, y errores y advertencias generales de consola.

La documentación de Warp se encuentra disponible en línea.