viernes, 30 de enero de 2026

Mostrar marcas de formato en LibreOffice.org (y caracteres no imprimibles)

Hoy vamos a ver un truco de libreoffice.org que usan los profesores que enseñan esta suite ofimática libre para saber si sus estudiantes han hecho el ejercicio correctamente y no han simulado situar el texto en diferentes posiciones usando espacios en lugar de tabuladores por ejemplo.

Para ello usan un botón que parece un símbolo Pi que se llama 'Alternar marcas de formato'.

 


Cuando se pulsa se muestra como metido para adentro para indicar que está activa esta funcionalidad y como podemos ver en la imagen se muestran algunos ejemplos:

  • El símbolo pi para los saltos de línea.
  • Puntitos centrales para representar los espacio de línea normales.
  • Flechas para indicar los saltos de tabulador.
  • Rectángulos grises para representar los espacios duros o irrompibles (NBSP).

Estos caracteres se muestran en un color distinto y menos resaltado que el texto normal para no confundirnos que puede cambiar según el tema de nuestro entorno gráfico, en ese caso son celestes. 

Si volvemos a pulsar sobre el Icono de 'Alternar marcas de formato' dejarán de verse.

Hay que tener claro que estas marcas de formato NO son imprimibles, así que si imprimimos el documento o generamos un PDF estas marcas NO se verán, solo sirven para comprobar si el documento está bien formateado. 

viernes, 23 de enero de 2026

Arcade hucha y sus posibilidades (I)

Mi mujer pasó por una tienda de regalos y me trajo esta curiosa hucha con forma de máquina arcade.
 
  
 
Como veis se trata de un objeto decorativo muy curioso y original en el que vamos echando monedas hasta llenarla y que luego podemos recuperar fácilmente doblando unas pestañas que retiran su gracioso chapón decorativo, que simula conocidos juegos retro de aquellos años.
 
 
 
Su tamaño es lo suficientemente grande para meter mi vieja raspberry pi 2 model 2 con su caja oficial e incluso una pantalla hat que compré hace algunos años, así que he empezado a darle vueltas  ahí? ¿que más cosas se puede hacer con ella?
 
De entrada se me ocurre tres escenarios:
  1. Dejarla como está en lo alto de una estantería como bonito objeto decorativo.
  2. Meterle solo la raspberry y tener así una caja realmente bonita.
  3. Convertirla en un mini arcade funcional de verdad.

Analicemos cada caso:

Dejarla como está

Es el escenario más cómodo porque no tendría que hacer nada más que dejarla, no hay retos y siempre me puedo plantear más adelante hacer algo más con ella.

 

Meterle solo la raspberry

La caja oficial de la raspberry pi está muy bien pero con los cables gordotes termina siempre como colgando y me gustaría que "sentara cabeza" y tenerla con una forma bonita que pudiera estar siempre de pie.

En este caso me encontraría con algunos retos:

  1. Software: le puedo poner el sistema operativo que me interese, o incluso más de uno con PINN o noobs, según los usos que le vaya a dar. 
  2. Sujeción: la fijamos dentro de la caja de manera que quede fija en una posición, pero debería ser fácil de extraer, tener los puertos accesibles: alimentación, audio/vídeo y monitor externo sin tener que desarmarla, y puertos USB y red sin tener que desanclarla.
    1. Para no tener que estar sacando y metiendo la raspberry para extraer la tarjeta cada vez que quiera cambiar de sistema operativo lo mejor es ponerle PINN.
    2. No me parece buena idea atornillar directamente la placa sin su caja oficial porque con esta caja el puerto de alimentación está más protegido frente a roturas.
    3. El ancho de las paredes es un hándicap para atornillarla, se necesitan tornillos muy cortos para no atravesarla. 
  3. Refrigeración: la placa debe estar refrigerada por lo que habría que hacer algunos agujeros, pero no me apetece agujerar esta caja tan bonita, así que cambiaré el bonito chapón por un sustituto al que le podré hacer las mecanizaciones que hagan falta sin mala conciencia.
    Vamos a ver si no hay que tenerle algún ventilador, creo que no será necesario.
  4. Conectividad: lo más fácil es por Wi-Fi, en este caso con un pincho, ya que este modelos no lo trae de serie, de hecho así es como se ha estado conectando.
  5. Interacción: el acceso normal va a ser por ssh, quizá por VNC también, aunque conectarle un teclado y ratón cuando haga falta viene muy bien.
    En mi caso tengo un viejo teclado inalámbrico.  

 

Raspberry pi y pantalla

Se puede utilizar como un bonito servidor que muestre información por la pantalla, para lo cual se añaden más retos:

  1. Conexión: para conectar la raspberry a la pantalla vía hat se pueden usar cables dupont hembra que tengo. Hay que tener cuidado de no equivarse porque de lo contrario nos podemos cargar la  pantalla, la raspberry o las dos. 
  2. Sujeción: hay que sujetar la pantalla tanto por arriba como por abajo, lo que plantea:
    1. ¿Qué hacer con la pantalla de pega que trae? Está muy chula pero está pegada con un pegamento muy resistente, temo que cuando intente quitarla se rompa.
    2. Por abajo habrá que pegar algunos listones dejando libres los conectores.
    3. Por arriba es aún más complicado para no comprometer la estética, la integridad de la pantalla y ser de fácil acceso para poner y quitar. 
  3. Software: hay que buscar, instalar y configurar el driver adecuado para nuestra pantalla. 
  4. La pantalla es resistiva, así que puede que nos interese buscar algún sitio donde poner el puntero que trae de manera discreta y accesible.

 

Arcade

Si quiero que sea un arcade completo, tendré que convertir los mandos decorativos que trae en mandos de verdad, lo que nos trae más retos:

  1.  Hay que extraer la repisa en la que responden los mandos, que afortunadamente es extraíble, lo que me hace pensar que lo mismo quien diseño este objeto ya tenía en mente algo.
  2. Se podría hacer algún tipo de incisión para meterle cables, por ejemplo a los botones que podrían descasar en mini conectores como los que traen algunos PCs de deshecho, ratones muertos, etc...
  3. En este aspecto lo más complicado sería el joystick, habría que pensar algo.
  4. Los cables van también al HAT que ya utiliza la pantalla, hay que afinar bien el cableados.
  5. Software: hay que elegir el sistema Arcade correcto que nos permita tanto activar la GPIO para los mandos como usar la pantalla.
    1. Las pantallas externas (HDMI) y la HAT no pueden funcionar a la vez, pero hay una manera de elegir entre una y otra a voluntad
    2. La resolución de la pantalla HAT es muy limitada. 

Por otro lado, hay que recordar que se trata de un modelo muy antiguo, por lo que muchos sistemas seguramente serán "legacy", lo que complicará la situación para instalarle sistemas y programas.


Así que ya veremos hasta donde llego... y si no me estrello con este proyecto.

Continuará... 









 

 

viernes, 16 de enero de 2026

Remake de Gorillas para CP/M

Quién no ha jugado una partidita de MS Gorillas contra un amigo o un familiar tirándose plátanos explosivos uno al otro simplemente indicando el ángulo y velocidad de tiro.

Pues ahora un programador italiano llamado Francesco Sblendorio ha sacado un port libre para CP/M llamado Gorilla.BAS - CP/M version, como resultado tenemos un divertidísimo juego en modo texto y para CP/M, toda una deliciosa rareza.


Aunque incluye el código fuente y el binario para montarte tu disco para tu sistema, en el archivo README.md ya incluye listas para usar imágenes del juego listas para usar para los sistemas:

  • gorilla.d71 - Includes C128 CP/M boot code, all sources and binaries, some utilities
  • gorilla.d64 - Includes C128 CP/M boot code, all sources and binaries
  • gorilla.mfloppy - Includes Memotech MTX CP/M boot code and binaries (Memotech type 07 disk image)
  • gorilla-msx.dsk - Includes MSX-DOS boot code and binaries (MSX-DOS disk image)
  • gorilla-cpc.dsk - Includes CP/M for Amstrad CPC6128 boot code and binaries (CPC CP/M disk image)

El juego lo ha hecho en Modula-2 y va bastante fino, al menos en la versión que he probado que es... adivinad...

 

Gorilla CP/M en Amstrad CPC 6128

El archivo gorila-cpc.disk es la imagen de un disco CP/M 3.0 para el CPC6128 que incluye el archivo gorilla.com, para ejecutar el juego:

  1. Introducimos el disco de sistema 1 con CP/M plus 3.0 y ejecutamos desde AmsDOS el comando:
    |CPM
  2. Una vez arrancado CP/M plus ejecutamos:
    gorilla
  3. Al iniciarse el juego nos preguntará por el tipo de terminal, como hay una específica para Amstrad CPC, es la que elegimos: 8) CPC / Z19.



  4. Nos aparecerá el menú del juego: podemos iniciar el juego directamente, configurarlo, ver el acerca de o volver a CP/M

  5. El programa permite configurar los nombres de los jugadores, la gravedad, total de puntos, el ladrillo para hacer el bloque, etc..

  6. Pero nosotros vamos a iniciar el juego...

 

 

Os dejo los siguientes vídeos en el que podéis ver el juego en acción:


 

Recomendado 100% :D






viernes, 9 de enero de 2026

Virtualizar FreeDOS con KVM/Qemu + Virt-manager (imagen convertida desde VirtualBox)

En un artículo anterior vimos como instalar KVM/Qemu con su front-end Virt-manager , vamos a empezar a explotarlo.

Cuando empezamos a conocer una herramienta nueva, lo más lógico para avanzar sin frustrarnos es empezar por el caso más fácil, ¿Qué tal si instalamos FreeDOS?

 

FreeDOS en un sistema DOS libre que además se distribuye en un CD-ROM, por lo que la instalación es muy sencilla. 

Hoy vamos a ver como migrar una máquina VirtualBox con FreeDos a KVM/Qemu con Virt-Manager.

Nos vamos a la ruta donde tenemos el disco duro virtual de FreeDOS en VirtualBox, que podría estar en una ruta similar a /home/miusuario/virtualbox/freedos, a no ser que lo guardásemos en una ruta personalizada.

En todo caso nos iríamos a la ruta y desde ahí teclearíamos el comando para convertir el disco al formato nativo de qemu

qemu-img convert -f vdi -O qcow2 FreeDOS.vdi FreeDOS.qcow2

Por tener un poco de orden, movería el archivo a una ruta más lógica, por ejemplo:

/home/misusuario/vmqemu

Ahora ejecutamos virt-manager que, en el menú de aplicaciones está en:

Herramientas ► Gestor de Máquinas Virtuales

Nos pedirá la clave de administrador y nos vamos a las opciones:

Archivo ► Nueva Máquina Virtual ► Importar imagen de disco existente


 

Saldrá un asistente que nos pedirá la ruta del archivo que podemos elegir seleccionando los botones primero Explorar y luego Explore Localmente


El asistente también exige que se seleccione un sistema operativo de los disponibles, para ello tecleamos "freedos" y seleccionamos el sistema que nos ofrece: FreeDOS 1.3

 


Seguimos con los pasos del asistente y si durante la configuración nos pide activar la red virtual, tenemos que decirle que sí, o de lo contrario no arrancará el sistema... aunque no lo vayamos a necesitar.

Para arrancar la máquina virtual hacemos doble clic en ella o hacemos clic sobre ella con el botón derecho y elegimos Ejecutar.

El teclado y el ratón quedarán atrapados en la máquina virtual, para liberarlos para su uso con máquina anfitriona pulsamos simultáneamente las teclas CTRL y ALT que hay a la derecha del teclado.

Para apagar la máquina virtual, al tratarse de un sistema DOS hay que forzar el apagado, lo que haremos mediante las opciones de menú del programa:

Máquina Virtual ► Apagar ► Forzar apagado

En próximos artículos veremos más cosas que se puede hacer con este software de virtualización. 

jueves, 1 de enero de 2026

Malagueños Originales y Libres: repaso a 2025 (Día del Dominio Público)

Otro año más que se nos va, pero a lo largo del mismo hemos visto en este blog muchas cosas y hemos aprendido algunas cosas juntos que hemos recogido en estos apuntes públicos. 

https://commons.wikimedia.org/wiki/Commons:Public_Domain_Day/2026

En el mundo del software libre, hemos dado la bienvenida a la versión estable de Debian 13, a la que hemos intentado sacar el máximo partido a sus novedades y nuevas características, como el uso de virtualización, software libre de todo tipo (educativos, herramientas, juegos, etc), explorando los límites de la tecnología, como la herramienta para hacer pixel art superrealista...

Hemos visto varios trucos de programación en bash, en especial en la adaptación de la herramienta RetroMultiInstaller, a la que le he añadido varios scripts pero sobre todo mejoras en la gestión de errores en la instalación con mejor información, ofrecer solo los scripts que se pueden instalar en cada arquitectura, etc... 

Iniciada una nueva sección de reparaciones en la que contaré mis aventuras y desventuras para dar una nueva vida a estos viejos cacharros que se merecen algo mejor que el punto limpio, porque reutilizar es más ecológico que reciclar, ya que no se precisan tantos recursos energéticos e industriales.

En el mundo del retro hemos conocido nuevos emuladores y remakes de juegos curiosos, como instalarlos en nuestro sistema y sacarles partido.  

También trucos que se pueden hacer con el hardware retro real, sobre todo en mi Amstrad CPC.

En TENTE 3D, hemos visto como crear renders e instrucciones "profesionales" con el complejo programa Bricklink Stud.IO y como configurarlo correctamente en GNU/Linux para poder usar todas sus funciones.

También hemos tenido otros crossovers de aficiones, como el makeoff de la demo de TENTE para CPC o la funda de la gotek hecha con TENTE (en AUA).

El próximo año seguiremos con sorpresas muy interesantes, permanezcan atentos a sus pantallas.

¡Feliz Día del dominio público! ¡Feliz 2026! 

jueves, 25 de diciembre de 2025

Como hacer instrucciones de TENTE con Bricklink Studio

 Antes de hacer las instrucciones debemos tener al menos:

  1. Bricklink Studio 2.0 instalado y con las fichas de TENTE añadidas.
  2. El modelo creado, se puede hacer con el propio Studio, pero es mucho más fácil y rápido hacer el modelo con MLCad

Abrir modelo y creación del render de portada

Una vez que tenemos estos elementos ya podemos crear las instrucciones siguiendo estos pasos:

  1. Ejecutamos Studio y abrimos el modelo con las opciones:
    File  Open
  2. Hay que hacer un render del modelo para lo cual:
    1. Hacemos clic con el botón derecho en el recuadro donde se muestra el modelo pero sin pinchar sobre él hasta que se muestre de la manera que queremos que se vea en la portada, por ejemplo:


    2. Tomad nota que en la parte inferior izquierda de la zona de trabajo aparecen las piezas, en el caso de este modelo pone que son 57. 
    3. Con la rueda del ratón podemos aumentarlo o disminuirlo, en caso de no funcionar, también podemos hacer que ocupe todo el área de trabajo sin sobrepasarla mediante las opciones:
      View  Zoom to fit

    4. Para crear el render nos vamos a las opciones:
      File > Render image o pulsamos el botón Render
      Hay que desactivar las opción Floor shadow y definir el fondo como Transparente.

    5. Seleccionamos un directorio de trabajo y le ponemos un nombre, por ejemplo portada.png, se nos abrirá el programa eyesight que después de un buen rato completará el render, lo guardará y se cerrará.

       

Creación de las instrucciones (pasos)

  1.  Para iniciar la creación de las instrucciones propiamente dichas pulsamos en el botón "Instruction".


  2. Nos pedirá confirmación y pulsamos en OK, proceed.

  3. A continuación nos abrirá el area de trabajo de instrucciones con un paso y el modelo que de nuevo tendremos que girar para poder trabajar con el de la mejor manera posible.
    Abajo aparecen todas las fichas del paso, por ahora todas las del modelo.


  4. Para definir cada uno de los pasos seleccionamos las piezas que se van a mostrar en dicho paso.


  5. La manera más sencilla es seleccionar un rectángulo que solo incluya las piezas que nos interesan, para ello tendremos que mover el modelo de manera que sea fácil esta selección, una vez que las tenemos pulsamos el botón Step Before.
  6.  Aún así lo más normal del mundo es que se nos cuelen piezas que no sean de ese paso y otras se queden en el tintero, no hay problema, se pueden seleccionar después y las arrastramos al paso correcto.
     

  7. Las piezas que están en pasos anteriores aparecen como transparentes. 
  8. Repetimos el proceso para crear los diversos pasos hasta que nos queden solo las piezas del último paso.
  9. Puede que nos encontremos una parte de la construcción que requiera una explicación más detallada, en ese caso seleccionamos todo ese trozo y lo definimos como un submodelo.


  10. A continuación en el desplegable seleccionamos el nombre de nuestro submodelo, en este caso 'Techo'.


  11. Y le creamos los pasos como si fuera también un modelo. 


  12. Volvemos con el desplegable a Main Model, seleccionamos el techo y pulsamos "Step Before", a no ser que sea lo último, en cuyo caso hemos terminado la fase de pasos del editor.
  13. Terminada la definición de pasos pulsamos en Page Design para definir la página de instrucciones.

     

Modo de diseño de página

En este modo es donde vemos como va a quedar el manual, de entrada nos mostrará todos los pasos con un listado de piezas en la zona superior derecha que podemos cambiar de posición simplemente arrastrando hacia las esquinas.

Cuando arrastramos un elemento hacia una esquina se ilumina la esquina donde fijarla en color rojo, si en ese momento soltamos se alinea a esa esquina. También sirve para central el elemento.

También podemos reducir la escala de la lista de piezas del paso para reducir su protagonismo.

Hay que prestar atención que la imagen del paso no salga de los bordes o cuando la exportemos saldrá cortada, podemos moverla igual y reducir el tamaño si es necesario.
 
Una vez hechos todos los pasos tendremos que definir la portada y la lista de piezas.
 

Portada 

  1. Para la portada nos vamos al primer paso y hacemos clic, en el icono de los 3 puntitos que hay a la derecha de la imagen del primer paso.


  2. Elegimos la opción 'Insert page before' 
  3. Insertamos una imagen, el render que hicimos al principio y que podemos dejar central muy fácilmente.


  4. Opcionalmente podemos añadir más imágenes y textos alrededor, yo por ejemplo en la esquina inferior izquierda pongo la licencia y en la derecha TENTE. Encima  estas imágenes pongo CPCBegin y el número de piezas respectivamente.
 
 

Lista de piezas

  1. Vamos al último paso y hacemos clic en el icono de los 3 puntitos. 


  2. Elegimos la opción 'Insert page before' .

  3. Hacemos clic en Insert  Bill of materials.

     
  4. Opcionalmente podemos irnos a Insert  Text para poner algún texto, algo así como "Piezas necesarias".
 
Finalmente, para exportar el PDF hacemos clic con el botón verde Export que hay arriba a la derecha.
 

¿Dónde subirlas?

Las puedes subir a cualquier servicio de alojamiento de PDF pero es muy probable que desaparezca con el tiempo.
Personalmente la subo a dos sitios.
  • Crearse un perfil de archive.org y subirlas allí, donde además se puede crear una lista para tenerlas todas a mano en una sola URL, la mía es ésta.
  • Proponerlas en la página de instrucciones custom de El TENTE de Mark que tiene más visibilidad en la comundidad tentera (en este caso hay que acompañarla con 4 renders sin fondo ni sombra para la ficha).

 

Mi ordenador no puede con Bricklink Studio

Studio es un programa muy exigente y puede que tu ordenador no pueda moverlo o no muestre la lista de piezas, por ejemplo. Antes de cambiarlo prueba esto:

  • GNU/Linux: configura wine para que te mejor rendimiento y compatibilidad, también plantéate cambiar el entorno gráfico a uno ligero como MATE o LXDE, recuerda "los recursos para las aplicaciones". 
  • Windows: echa un ojo a la vieja dieta de adelgazamiento, puede que mejore mucho el rendimiento hasta en las últimas versiones, y por supuesto una limpieza a fondo de registro, bloatware o la típica basura que se le pega a este sistema.

 

Sitios de interés


 
 

viernes, 19 de diciembre de 2025

Instalando Wine con características avanzadas en Debian

Hasta ahora me había bastado con instalar el paquete wine para ejecutar el poco software de Windows que todavía necesito, muy poca cosa la verdad, hasta que me tropezado con Bricklink StudIO, que ya expliqué como instalarlo en GNU/Linux. 

Lo paradójico es que se trata de un programa que es un producto derivado de Blender, por tanto debería ser software libre y compilarlo nativo para GNU/Linux debería ser bastante trivial, pero como es un freeware privativo y a sus creadores no les da la gana pues hay que tragar la versión de Windows.

Bueno, a lo que vamos, para instalar wine para que sea lo más versátil posible hay que seguir una serie de pasos:

  1. Editamos el archivo /etc/apt/sources.list añadiendo después de cada línea las palabras "contrib" y "non-free" si no las tiene, ¡ojo! si tiene non-free-firmware también debe tener non-free, lo podemos editar con cualquier editor como root, por ejemplo:
    sudo nano /etc/apt/sources.list
    Al final del artículo pondré un ejemplo del contenido de este archivo.

  2.  Añadimos soporte a la arquitectura de 32 bits, para los programas antiguos:
    sudo dpkg --add-architecture i386
     
  3. Actualizamos el índice de software disponible:
    sudo apt-get update

  4. Instalamos primero la versión de 32 bits.
    sudo apt install wine32

  5. Instalamos el resto de versiones (si alguna no está disponible, no pasa nada):
    sudo apt install wine
    sudo apt install wine-stable
    sudo apt install wine64

  6. Instalamos la poderosa herramienta winetrick para gestionar wine:
    sudo apt install winetricks

  7. Con esta herramienta podemos instalar librerías Windows que necesitemos para determinados programas, por ejemplo, en el caso de Stud.IO tuvimos que hacer:
    winetricks dotnet48 vcrun2019 corefonts

  8. Otro truco para sacar más partido a wine es teclear wine y pulsar dos veces la tecla TAB, con lo que nos saldrá todos los comandos disponibles.

  9. Uno muy interesante es winecfg que nos permite elegir la versión de Windows a imitar, librerías DLL a sustituir por nativas, etc...


  10. También podemos asignar unidades a diversas rutas, una buena práctica de seguridad es quitar las que trae por defecto y poner en su lugar otra creada por nosotros.


  11. ¿Necesitas más rendimiento? Prueba con las siguientes opciones:
    1. Integración de escritorio > Tema > Ningún tema.
      Igual que en los Windows reales desactivar el servicio "temas" aumenta considerablemente el rendimiento, a cambio de ver las ventanas con un aspecto más antiguo.
    2. Gráficos > Configuración de las ventanas (más agresivo).
      Desactivando todas las opciones puede que consigas más rendimientos, aunque quitar las opciones para permitir que el gestor de ventanas decore y sobre todo controle las ventanas puede hacer más incómoda la interacción con las aplicaciones nativas. 
  12. Hay otras opciones avanzadas que no conozco porque aún no las he necesitado, si fuera así las añadiré a este artículo.

Hay otras opciones con lanzadores y paqueterías modernas, pero personalmente no me gustan porque las veo de funcionamiento oscuro, con requerimientos de hardware exagerados y complicada interoperatividad con otros programas.

Quien tenga curiosidad puede explorar esos caminos.