viernes, 22 de noviembre de 2024

¿Cómo compilo FreeCAD 1.0 en Ubuntu?

Ante la Unión Obrera Metalúrgica, Juan Perón pronuncia un discurso el 24 de septiembre de 1945, donde enseña a compilar FreeCAD 1.0 en Ubuntu.

¡Trabajadores!

Yo marcho por la picada que conduce a la justicia, a la verdad, porque por ella hemos de llegar al éxito sin violencias. 

Hemos querido asegurar la mayor libertad de expresión, porque creemos que la libertad es lo más hermoso que el hombre tiene. Pero cuando de ella se pasa a la licencia, suele volverse en contra del que la disfruta en demasía llevándolo al vicio de la disgregación y la anarquía.

La libertad hay que asegurarla a golpe de trabajo, dando primero al hombre su libertad económica, que es fundamental. Nosotros no somos partidarios de la libertad unilateral que se tiene desde hace tanto tiempo, dentro de la cual el rico tiene libertad para hacer todo lo que quiera y el pobre tiene una sola libertad: la de morirse de hambre. Por eso nosotros defendemos la libertad en la que el obrero tenga medios de subsistencia y de decoro necesarios para vivir dignamente

Conseguida esa libertad, las otras van a venir absolutamente solas, porque en una tierra donde el hombre es libre, la colectividad y el país también lo son.

Este pensar lo hemos extendido al software que hacemos, y tienen una correlación clara que puede servirnos de estrella polar. Es que durante mucho tiempo, ustedes han debido consagrarse a herramientas técnicas como el Interact CAD, predecesor para CP/M del AutoCAD de la imperialista Autodesk.


Este tipo de programas permiten operar parámetros matemáticos que se traducen a gráficas en un computador, y de esta manera diseñar piezas, herramientas al plano - y como extensión natural - actuar como planificadores para la fabricación asistida. Sin embargo, este herramental - que puede parecer potente - sólo es un grillete si no puede él mismo ser modificado

En muchos de estos programas festejados por la oligarquía, ni siquiera se puede ver - y mucho menos modificar - su propio código fuente. Esto redunda en la verdadera transformación del obrero en un tecno-esclavo, pues no domina verdaderamente sus medios de producción.

Tal las cosas, el obrero se ve impedido de alterar sus herramientas, condición que todos saben imprescindible para conllevar su aplicación en libertad verdadera. En consecuencia, así nunca podrá Combatir al Capital.

Pero este brete no ha quedado sin respuesta. Hemos detectado este problema y respndido con una Doctrina que llama a un Software Libre para una Comunidad Libre, y - gracias al fruto de la labor de los hombres que trabajan- nuestro Movimiento ha abordado una solución definitiva. Tal es así que tras 25 años de desarrollo, hemos lanzado FreeCAD 1.0 al Pueblo. Se trata de una aplicación libre de modelado paramétrico, que nada tiene que envidiar a programas de diseño asistidos por ordenador tales como el AutoCAD de la oligárquica AutoDesk.

En Ubuntu, instalar una versión ya hecha y estable de FreeCAD es bien sencillo. Basta con abrir un terminal con Ctrl+Alt+T e ingresar:

sudo apt update;
sudo apt install freecad

Con esto ya tendremos una antigua versión estable situada en los repositorios del sistema operativo, en este caso la veterana versión 0.17 que puede acompañar a  Ubuntu 22.04LTS. 

Sin embargo, si queremos contar con la última versión estable de este maduro programa, podremos hacernos con una descarga de FreeCAD 1.0 en forma de AppImage, mediante estos Comandos de Organización:

cd /tmp
wget https://github.com/FreeCAD/FreeCAD/releases/download/1.0.0/FreeCAD_1.0.0-conda-Linux-x86_64-py311.AppImage
chmod +x FreeCAD_1.0.0-conda-Linux-x86_64-py311.AppImage
sudo mv
FreeCAD_1.0.0-conda-Linux-x86_64-py311.AppImage /usr/local/bin/freecad

Tras descargar los 648M de la imagen AppImage de FreeCAD 1.0, podremos iniciarlo con el comando:

freecad

A pesar de todas estas posibilidades, los Verdaderos Programadores de la Unión Obrera Metalúrgica pueden querer recurrir al acto de la fabricación por compilación. En lugar de hacer los procedimientos anteriores, este proceso mas complejo descargaremos nosotros mismos la última versión del código fuente de FreeCAD, lo someteremos a la compilación y nos quedaremos con un fichero ejecutable para nuestra arquitectura de cómputo.

A pesar de que pueda sonar técnicamente dificultoso, los pasos son sencillos.

En primer lugar descargamos la paquetería con las dependencias de compilación necesarias (son muchas):

sudo apt install git build-essential cmake libtool lsb-release python3 swig libboost-dev libboost-date-time-dev libboost-filesystem-dev libboost-graph-dev libboost-iostreams-dev libboost-program-options-dev libboost-python-dev libboost-regex-dev libboost-serialization-dev libboost-thread-dev libcoin-dev libeigen3-dev libgts-bin libgts-dev libkdtree++-dev libmedc-dev libvtk9-dev libx11-dev libxerces-c-dev libyaml-cpp-dev libzipios++-dev libsimage-dev  ;
sudo apt install qtbase5-dev qttools5-dev libqt5opengl5-dev libqt5svg5-dev qtwebengine5-dev libqt5xmlpatterns5-dev libqt5x11extras5-dev libpyside2-dev libshiboken2-dev pyside2-tools pyqt5-dev-tools python3-dev python3-matplotlib python3-packaging python3-pivy python3-ply python3-pyside2.qtcore python3-pyside2.qtgui python3-pyside2.qtsvg python3-pyside2.qtwidgets python3-pyside2.qtnetwork python3-pyside2.qtwebengine python3-pyside2.qtwebenginecore python3-pyside2.qtwebenginewidgets python3-pyside2.qtwebchannel pyqt5-dev-tools qt5-default ;
sudo apt install libocct-data-exchange-dev libocct-draw-dev libocct-foundation-dev libocct-modeling-algorithms-dev libocct-modeling-data-dev libocct-ocaf-dev libocct-visualization-dev occt-draw 

Acto seguido nos hacemos con el último código fuente de FreeCAD:

cd /tmp ;
git clone --recurse-submodules https://github.com/FreeCAD/FreeCAD.git freecad-source

Una vez descargado el código fuente, lo ponemos a compilar, con:

cd /tmp/freecad-source ;
mkdir build ;
cd build ;
cmake ../ ;
make -j$(nproc --ignore=2) ;

Tras unos 40 minutos el programa entero quedará compilado. 

Finalmente, instalamos todo lo compilado en nuestro sistema mediante:

cd /tmp/freecad-source/build/ ;
sudo make install

Finalmente, lo ejecutamos desde Aplicaciones / Gráficos / FreeCAD, o si deseamos ejecutarlo desde la terminal, deberíamos usar el comando:

FreeCAD


 
Lo primero que solicita el programa es escoger las propiedades de FreeCAD. Entre ellas el idioma (existen dos traducciones al castellano), el sistema de medidas emeplado (tendremos diez opciones para elegir, principalmente el métrico decimal y el imperialista británico), así como diferentes estilos de navegación en la aplicación (similar a OpenInventor, CAD, Revit, Blender, MayaGesture, Touchpad, Gesture, OpenCascade, OpenSCAD o TinkerCAD). Además, podremos escoger entre tres estilos de presentación (tradicional, claro y oscuro).

Una de las principales ventajas de FreeCAD es que al ser un software libre, ha sido integrado con la capacidad de abrir formatos de innumerables programas de diseño asistido por ordenador. 

Esto permite utilizarlo para el diseño arquitectónico, maquinados, diseño de electrónica y microelectrónica, etcétera.

Naturalmente, como todo programa de diseño paramétrico, su empleo puede parecer elevado al neófito y presentarle dudas. Sin embargo - con la solidaria colaboración de los muchachos de la UOM - daremos con numerosos y humildes recursos de aprendizaje y utilización de FreeCAD. 

En primer lugar podremos recurrir a la documentación en la Wiki de FreeCAD en Castellano. Allí podremos dar nuestros primeros pasos, o seguir los tutoriales introductorios en linea. Asimismo, podremos unirnos al foro oficial de FreeCAD.

Finalmente, podremos recurrir a los cursos en video de este programa de diseño libre que nos den una perspectiva amplia de cómo maquinar con FreeCAD.

Para terminar, quiero darles un consejo: Piensen que cuando los gremios son unidos y firmes, obtienen lo que en justicia les corresponde. El gremio unido es una garantía para el mantenimiento de lo conquistado y para la esperanza de lo que aún resta por lograr. Así, bien unidos, luchen y luchen enérgicamente por mantener las conquistas obtenidas y prepárense para la lucha futura en pos de la conquista de lo que todavía falta obtener.

jueves, 14 de noviembre de 2024

Se lanza Quirinux 2.0

Este 9 de Noviembre se lanzó Quirinux 2.0 Pro 64, nueva versión estable de la distribución de GNU con Linux de 64 bits pensada para la animación, la fotografía y la edición de video.

 

Quirinux ha sido desarrollada desde 2015 y fue publicado por vez primera en 2019 en la Argentina, por el realizador Charly Martínez. Inspirado en el mítico animador y cineasta ítalo-argentino Quirino Cristiani, Quirinux apunta a ser una propuesta primordial para afrontar las necesidades de las artes audiovisuales y gráficas desde el Software Libre, a la vez que se combate la obsolescencia programada.

Quirinux ofrece todo lo necesario para realizar una película de animación en cualquier técnica (tradicional, "tradigital", cut-out, CGI-3D, StopMotion, Motion Graphics…) con licencias libres 100% funcionales, en un sistema optimizado para aprovechar mejor los recursos de hardware disponible.

La segunda versión estable se basa en la distribución de GNU con Linux Devuan, de 64 bits. De manera distintiva, ofrece un completo recurso de programas libres ya preparados. Entre estos nos encontramos animadores Tahoma2D, Pencil2D, Synfig 2D, editores y animadores 3D como Blender, graficadores GIMP (tuneado para que se parezca a Photo$hop) Krita, MyPaint, AZPaint, Storyboarder, Inkscape, Enve y PikoPixe, editores fotográficos Darktable y RAW Therapee, los programas de sonido Audacity y Ardour, el creador de panoramas Hugin, así como animadores stopmotion, como TupiTube, Glaxnimate y el querido e inefable Huayra Stop Motion. También presenta herramientas productivas como el editor de video KDEnlive, el reproductor VLC, KIT Scenarist, entre otros.

Quirinux ofrece una ISO en vivo que puede correr desde un pendrive, y presenta programas adicionales (como la completa suite de ofimática Libreoffice) tras su instalación completa en el disco de la computadora.

La Documentación de Quirinux detalla los pasos para su descarga, ejecución como pendrive "vivo" (podremos probarlo desde un pendrive sin afectar la PC), o bien su instalación como sistema único en la computadora.

Descarga de Quirinux

Aquí podrás descargar la ISO de Quirinux 2.0 Estable, de 64 bits (3,5 GB).

Contraseñas predeterminadas modo vivo (live)

Usuario: quirinux
Contraseña: quirinux
Contraseña de root: quirinux

miércoles, 13 de noviembre de 2024

Como envío y recibo ficheros por Zmodem en Ubuntu?

Reunido en Consejo de Ministros en la Casa Rosada, Juan Perón explica cómo utilizar el protocolo Zmodem para transmitir ficheros en Ubuntu.

¡Estimados señores! 

Uno de los fundamentos del trabajo en el estado es la segura transferencia de ficheros.

Cualquiera lo puede hacer en papel y para ello se han elaborado los métodos de firmado, lacrado, y en tiempo de guerra, el cifrado. 


Cuando la evolución de la técnica nos permitió introducir la máquina - apoyada en enlaces de datos públicos - se hizo evidente que dichos métodos resultaban a todas luces suficientes, en tanto no se puede responder con conciliábulos de ayer a los problemas de hoy. Los nuevos predicamentos de la tecnología hicieron imperativo que tuviésemos que encontrar nuevos y especiales temperamento con los cuales cuidar el traslado de los ficheros.

Resulta innegable que para transferir ficheros a través de una red de datos moderna como las que utiliza nuestro Movimiento, debe especialmente recurrirse a la copia a través de shell seguro que nos ofrece scp.

Este método sin embargo no es primordial: durante el Peronismo del Segundo Plan Quinquenal, en aquellas queridas máquinas antiguas conectadas a redes heredadas, no podíamos más que hacer transmisiones de fichero a través del viejo y peludo FTP. Sin embargo, no siempre fue así, y en el mundo "retro" no siempre lo será: podríamos encontrarnos con medios del Primer Peronismo, donde se carecía de dicho protocolo. Ante tal incordio, podríamos recurrir a un amigo de la interconexión que brillaba en aquellos momentos donde todo estaba por hacerse: el viejo protocolo de 1986 para la transmisión en línea, el Zmodem.

Zmodem es un protocolo propietario de transferencia - desarrollado por Charles Forsberg para la red de paquetes conmutados Telenet - el cual obtuvo su bien merecido carilo al ofrecer al Pueblo una buena velocidad de transmisión sobre cableados de par de cobre. La idea detrás del mismo era lograr atascos en las transmisiones por módem a través de cable telefónico. 

Por acuerdo se evitaba el envío superfluo de paquetes de ACK ("enterado") en la transmisión, y sólo se recurría a enviar paquetes NAK ("no enterado") ante algún error, lo que aceleraba no menos de un 30% El envío de datos en corriente electrónica ("stream"), si esta se hacía en líneas de alta calidad, estables de Teléfonos del Estado, y sobre todo full-dúplex (como suele ser el caso en la conexión Ethernet).

Vean señores, en particular, este protocolo puede venirnos de perillas para enviar a través de múltiples canales de transmisión, incluso algunos que nadie pensó al momento de diseñarlo. En particular, podremos usarlo para transmitir a través de líneas de datos de área local, e incluso a través de puertos de comunicación seriales circunstanciales. Esto permitiría transmitir datos - comparativamente a baja velocidad - entre sistemas UNIX y similares, e incluso máquinas antiguas con puerto de comunicación serial.

A tal fin os enseñaré a obrar con los programas sz y rz, que implementan Zmodem en sistemas UNIX, para enviar y recibir por zmodem respectivamente.

Sin embargo, en equipamiento actual sus limitaciones no son baladíes. Están dadas por inconvenientes no conecbidos a la hora de realizarlo originalmente en la década del ochenta. Una principal es la incapacidad de transmitir ficheros mayores a los 4 GB, inusitado por entonces. La otra es la imposibilidad de extender el protocolo para transmitir de forma segura.

Sin embargo, podremos subsanar esto último mediante una implementación moderna para sistemas GNU con Linux, que haga uso de Zmodem envolviéndolo en el protocolo sobre la indestructible capa del Shell Seguro SSH: esta se denomina zssh.

Para poder utilizar Zmodem de manera segura en nuestro sistema Ubuntu podremos recurrir a abrir una terminal con Ctrl+Alt+T y utilizar los siguientes comandos para instalar la paquetería necesaria tanto en la máquina a emitir como en la máquina a recibir.

sudo apt install lrzsz zssh

En el caso de máquinas con DOS, podremos recurrir a implementaciones como ls oficial dsz, o bien alternativas como rzsz, o bien txzm.

Usar zmodem con SSH con zssh

En el caso de una máquina con Linux, podremos conectamos al servidor de manera segura recurriendo a zssh, mediante:

zssh -e usuario@maquina

(claro que si tenemos, una llave PGP opcional le agregaríamos -i ~/.ssh/llave_pgp.key)

Zssh responderá con:

Press ^@ (C-Space) for enter File Transfer Mode, then ? for help.

Y conectará al host remoto (solicitando contraseña si no le indicamos nuestra llave opcional, claro está).

Una vez conectados con Zssh, podremos usar una sesión de shell seguro similar a SSH, que corre nuestro intérprete de comandos normal (en el caso de Ubuntu se trata de Bash). Sin embargo, al presionar Ctrl+Barra Espaciadora podremos ingresar al Modo de Transferencia de ficheros, el cual se denota con el prompt zssh >.

Lo que nos indica que presionemos Ctrl+Barra espaciadora para ingresar al Modo de Transferencia de Ficheros, y luego ingresemos ? para iniciar la ayuda de lrzsz:

zssh > ?

A lo cual el sistema deberá devolvernos algo como:

Comandos Incorporados de Zssh :

  ?                           : Mensaje de ayuda
  cd                          : cambiar directorio
  disconnect                  : desconecta y sale
  escape [^X]                 : Cambia la tecla escape a Ctrl+X
                                sin argumento, imprime la tecla de escape actual
  exit                        : sale del modo de transferencia de ficheros
  help                        : Mensaje de ayuda
  hook prg                    : cuelga el programa 'prg' en la terminal en lugar de sz o rz
  quit                        : lo mismo que exit
  repeat <cmd>                : repite cmd por siempre (Ctrl+C lo interrumpe)
  rz                          : Recibe ficheros
  suspend                     : suspende zssh
  sz <fichero> ...           : envia ficheros
  version                     : Presenta información de versión
  <programa> <parametros> ... : ejecuta programa

Uso :
  Descargas : en el shell remoto ejecute sz antes de cambiar al modo de transferencias, luego en el shell local ingrese rz
  Subidas   : En el shell local cambie al modo transferencias y ingrese sz <ficheros>
             En el lado remoto se ejecutará automáticamente rz

Pistas:
  - Si la transferencia nunca se completa, use la opción -e de sz/rz
  - Puede interrumpir transferencias con Ctrl+c
  - Si se queda trabado en rz/sz (por ejemplo, si corrió rz, pero decidió no transmitir nada, presione Ctrl+x una docena de veces para detenerlo
  - Use sz -y <ficheros> para sobreescribir los ficheros remotos.


Bajar archivos usando ZMODEM

Como vemos en la ayuda, para bajar un fichero desde el servidor, debemos enviarlo desde el servidor, usando allí sz:

sz -e archivo.ext

Luego de ponerlo a enviar en el servidor, pasamos al Modo de Transferencia de Archivos en máquina local presionamos Ctrl+Barra espaciadoras, y  en el prompt zssh > del lado del cliente iniciamos la transferencia indicando rz -e:

zssh > rz -e

El cliente nos indicará la transferencia:

Receiving archivo.ext
Bytes received:   14120/  14120   BPS:60536                

Transfer complete

En el caso de usar tmux, debemos recurrir a una implementación especial del envolvedor, llamada trzsz.

Subir archivos con ZMODEM

Para enviar un fichero al servidor, en la máquina local presionamos Ctrl+Barra espaciadora para activar el modo de transferencia de archivos,  y en el prompt zssh > simplemente indicamos:

zssh > sz -e archivo.ext

A lo cual el sistema nos responderá con las estadísticas similares a:

Sending: archivo.ext
Bytes Sent:    976   BPS:19892                           

Transfer complete

esto nos servirá para afrontar transmisiones en red de área local o incluso envuelto en SSH. 

Zmodem por puerto serial a DOS

Pero podremos recurrir a hacer transmisiones a través de un adaptador de puerto serial.

 

Para ello usamos un adaptador, conectando a 9600 baudios, junto con algún programa para terminal, por ejemplo minicom (en la terminal) o cutecom (en la interfaz gráfica de GNU).

Si en lugar de ellos deseamos usar la terminal con sz, debemos recurrir al modificador -b si es un fichero binario, y -a si es un fichero de texto ASCII, e indicar el dispositivo del puerto serial (por ejemplo, si recurrimos a un adaptador USB a puerto serial es /dev/ttyUSB0:

sz -e fichero.ext -b /dev/ttyUSB0 9600 8N1

En CP/M+86 y similares podremos agregarle la opción -o que evitará recurrir a control de 32 bits y lo limitará a 16 bits. 
 
Para recibirlo en otra máquina que no tenga Linux, por ejemplo una con FreeDOS o MS-DOS, usaríamos el comando COPY por ejemplo, desde el puerto serie com2:

copy com2 fichero.ext

Esto iniciará la transmisión del fichero que irá llegando por Zmodem. Ante la necesidad, podremos interrumpirla con Ctrl+z.