viernes, 24 de febrero de 2023

Repositorio de modelos de TENTE 3D integrado con otras herramientas online

TENTE 3D es el conjunto de herramientas que nos permiten hacer nuestros propios modelos de TENTE en nuestro ordenador de manera completamente gratuita gracias al formato abierto LDraw y a la librería de piezas de TENTE que impulsaron varios aficionados a este juego de construcción, sobre todo Jasolo, que también gestiona la información sobre despieces.

Desde hace unos años tengo disponible una colección de miles de modelos ya creados para disfrutar con las herramientas LDraw, como por ejemplo el visor LDView y el editor MLCad, que incluye tanto modelos customs como modelos oficiales.


Estos últimos meses hemos normalizado la carpeta de modelos oficiales para coordinarnos con el visor/editor online TNT y la base de datos refstente, creadas por Yombo y Abeldb respectivamente y así conseguir que puedan estar integradas todas las patas del TENTE 3D.

Todos estos modelos están en la carpeta oficiales, dentro de la cual hay una subcarpeta por referencia que incluye todos los modelos disponibles hasta este momento.

Respecto a la carpeta de customs, la he renombrado a inventados y e incluido todos los modelos míos dentro de la subcarpeta cpcbegin, con la idea de que si alguien quiere que sus modelos se incluyan en su propia subcarpeta nos de su permiso y nos facilite los archivos ldraw a incluir, lo más sencillo es que los añada en la sección de "issues" del repositorio o en el grupo de Telegram de TENTE 3D.

También puedes ayudar haciendo los modelos oficiales y alternativos de las referencias que aún no tienen todos los archivos LDraw.



miércoles, 15 de febrero de 2023

8bitdiskmenu con soporte para ratón en Amstrad CPC

8bitdiskmenu es el menú que hice en Locomotive Basic para hacer menús del contenido de mis disquetes de Amstrad CPC en mi juventud y que después de limpiar un poco el código puse disponible para la comunidad cepecera en GitlLab.

Recientemente los chicos del podcast de Cepeceros pusieron una compilación de juegos clásicos para CPC que se podían jugar con Multiplay, el adaptador de ratones de Amiga, emulado en la última versión de Retro Virtual Machine, la 2.1.

Para mi comodidad le añadí el archivo DISC.BAS de 8bitdiskmenu, pero pensé que ya que ellos habían adaptado los juegos para uso con ratón también debería estar adaptado el menú, aunque fuera poder simular los cursores arriba y abajo para seleccionar y clic con el botón derecho o izquierdo para lanzar el juego.

Me fije en como funcionaba su programa TEST.BAS que incluyen en la compilación de juegos adaptados, su listado no puede ser más simple y claro:

10 CLS
20 FOR x=0 TO 5
30 LOCATE 1,1+x:PRINT HEX$(&F990+x);": ";HEX$(INP(&F990+x),2)
40 NEXT
50 GOTO 20

Este programa va mostrando valores distintos según movamos el ratón, la rueda o hagamos clic con el botón derecho o izquierdo:

  • INP(&F990) detecta los clic de ratón: &10 para el botón derecho y &20 para el izquierdo.
  • INP(&F992) detecta el movimiento de la rueda del ratón: &F8 para arriba y &7 para abajo.
    INP(&F992) también detecta el movimiento del eje X del ratón: &F8 para izquierda y &7 para izquierda.
  • INP(&F993) detecta el movimiento del propio ratón en la mesa en el eje Y: &F8 para arriba y &7 para abajo.

Una vez conocidos los valores solo he tenido que añadir en mi menú unas líneas en el WHILE que esta leyendo continuamente las teclas que pulsamos para que si pasamos los valores que se capturan con el ratón crea que hemos pulsado la tecla que hace la misma función.

...
180 WHILE a$=""
190 a$=INKEY$
200 IF (INP(&F990)=&10 OR INP(&F990)=&20) THEN a$="X"
210 IF INP(&F993)=&F8 OR INP(&F992)=&F8 THEN a$=CHR$(240)
220 IF INP(&F993)=&7 OR INP(&F992)=&7 THEN a$=CHR$(241)
230 WEND
...

Lo bueno es que la inclusión de este nuevo código no afecta en nada al funcionamiento de los menús cuando no está presente la emulación de Multiplay, así que lo incluyo como mejora en el código.

martes, 7 de febrero de 2023

Pasar un archivo PDF a markdown (.md)

La idea es pasar el texto, no nos interesa el formato ni las imágenes incrustadas.


Para hacer esto debemos tener en cuenta algunas cosas:

  • El archivo PDF debe tener texto real, no una simple digitalización que no es más que una imagen.
  • El formato PDF permite hacer muchas más cosas que el formato markdown. 

Vamos a pasarlo primero a HTML, ya sabemos y asumimos que no te va a quedar igual y va a requerir ajustes manuales.

Para pasarlo a HTML:

pdftohtml -i archivo.pdf archivo.html

Para pasarlo a md:

pandoc archivo.html -o archivo.md

Lógicamente debemos tener instalados tanto pdftohtml como pandoc para que funcione este truco.

sábado, 28 de enero de 2023

Ubuntu 20.04 no deja actualizar ciertos paquetes porque requiere Ubuntu Pro with 'esm-apps' enabled" when updating Ubuntu 22.04

Hoy, al hacer mi actualización rutinaria de sistema me ha salido un nuevo mensaje reteniendo ciertos paquetes:

The following security updates require Ubuntu Pro with 'esm-apps' enabled

La "solución" es pasarse a Ubuntu pro y después activar esm-apps con el siguiente comando:

sudo pro enable esm-apps

Y volver a actualizar.

¡Ah! La "solución" la he encontrado en este hilo de askubuntu.

En teoría quedaba más de dos años de soporte antes de que se pongan a exigir pasarse a Ubuntu Pro (de pago o en el mejor de los casos dando tus datos y pasado un tiempo más tendrás que pagar igualmente). 


Mi i7 es el último ordenador que me queda con Ubuntu Mate 20.04, parece que no por mucho tiempo.


miércoles, 25 de enero de 2023

Acelerar el arranque quitando el warning: gave up waiting for suspend/resume device

A veces, se puede ralentizar el arranque de GNU/Linux porque el kernel en el arranque está intentando ejecutar algo que no funciona y hasta que pasa un tiempo no deja de intentarlo (timeout) lo que demora mucho el inicio de nuestro ordenador.

Esto me estaba pasando con mi viejo portátil Acer e-machines que se quedaba esperando la suspensión o recuperación de un dispositivo.

Bueno, pues si no funciona bien esta característica, ¿para qué demorar cada vez intentándolo?

Para evitar esta molesta pérdida de tiempo modifique el archivo de configuración por defecto de grub:

/etc/default/grub

Por supuesto hay que abrirlo como root, lo que podemos hacer con cualquiera de los editores de consola o gráficos que tenemos, por ejemplo con nano sería:

sudo nano /etc/default/grub

Hay que editar la línea que comienza por: 

GRUB_CMDLINE_LINUX_DEFAULT=

Y añadir la opción noresume, las opciones están en la parte derecha de la igualdad entre comillas y separadas entre ellas por un espacio, así que la línea podría quedarnos así:

GRUB_CMDLINE_LINUX_DEFAULT="quiet noresume"
Simplemente hemos añadido la opción al final de las opciones ya existentes, lógicamente si tú tienes ya más opciones deberás dejarlas y simplemente añadir noresume al final.

Por último, actualizamos la configuración de grub con el comando:

sudo update-grub2

Y ya está, has ganado un tiempo muy valioso para tus nervios cuando necesitas utilizar el ordenador AHORA.


Sobre por qué puede salir este warning puede ser por incompatibilidad parcial de un componente o incluso por avería, si es algo que no salía antes y de repente empieza a salir, algo que sospecho que es mi caso dado los años del ordenador.

sábado, 14 de enero de 2023

¿Cómo activar el ratón en Retro Virtual Machine para jugar a juegos modificados?

Una de las últimas novedades de la versión 2.1 de Retro Virtual Machine es la emulación de ciertos periféricos para Amstrad CPC, algunos tan exóticos como el interfaz Multiplay que permitía conectarle ratones de Amiga.

Dado que no hay mucho software capaz de sacarle partido y menos juegos, los chicos de Mojón Twins y Cepeceros Podcast han sacado algunos juegos parcheados para usar Multiplay, ya que son susceptibles de ser usados con ratones.

Vamos a ver como configurar el emulador para el uso con este dispositivo virtual.

  1. Arracamos el emulador.
  2. Hacemos clic en el icono de Devices


  3. Selecciona las opciones Add Device e Input.


  4. Elige Multiplay.


    Muy importante: No puedes elegir ambos tipos de interfaz de ratón ya que son incompatibles entre sí, si ya tenías seleccionado AMX Mouse tienes que quitarlo antes con el botón Remove Device.

  5. Cargamos el juego de la manera habitual y capturamos el ratón con la combinación de teclas ALT + M

Muy importante: cuando tengamos capturado el ratón no podremos hacer clic en nada en nuestro sistema operativo, ni siquiera acceder a las opciones del emulador para cambiar de juego por ejemplo.

Para que el ratón funcione con normalidad hay que pulsar ALT + M de nuevo para que vuelva a tomar el control el sistema anfitrión, en caso de que el foco NO lo tuviera RVM tendremos primero que cambiar al mismo con las teclas ALT + TAB.

martes, 10 de enero de 2023

Pausar, reanudar y desactivar documentos recientes en GNU/Linux

Si quieres que dejen de aparecer enlaces a los últimos documentos en distros GNU/Linux que usen nautilus, p.e.: muchas con entorno gráfico Mate.

Podemos detener el registro de entradas en documentos recientes con el comando:

sudo chattr +i ~/.local/share/recently-used.xbel

Si queremos que vuelva a registrar entradas nuevas:

sudo chattr -i ~/.local/share/recently-used.xbel

Si lo quq queremos es que no aparezcan tampoco los archivos que ya están registrados, ANTES DE DETENER EL REGISTRO hay que seleccionar las siguientes opciones de menú:

Lugares > Documentos recientes > Borrar la lista de documentos recientes...

Lo que no he conseguido de una manera fácil y práctica es borrar entradas concretas en el registro de documentos recientes, se puede editar a mano el archivo indicado respetando la estructura de archivo json que tiene.