sábado, 26 de febrero de 2022

MLCad uso práctico: una manera rápida de representar algo en 3D

Éste va a ser el primero de varios artículos sobre el concepto de hachazo, buscar una solución rápida a un problema que hay que solucionar ya y no me puedo poner a ver como se hace correctamente con los programas adecuados, en este caso Blender, OpenSCAD, etc...

El otro día tenía la necesidad de representar un cortinero en 3D y como he comentado tenía que hacerlo inmediatamente y no me acordaba como se hacía con Blender, para estos casos hay que tener inventiva y salir del paso con lo que se tiene y se conoce.

La ocurrencia fue representarla con MLCad, el programa para hacer modelos de diversos juegos de construcción en 3D, en mi caso hice el modelo preliminar con jácenas y baldosas de TENTE, pero bien lo podía haber hecho con fichas de LEGO y hasta de Exin Castillos.


Como véis las cuatro perspectivas vienen de lujo para el caso.

El problema siguiente es que el programa mostraba lógicas separaciones entre las jácenas y las baldosas, cuando solo me interesaba que se mostrara separaciones entre los elementos que realmente son algo distintos, en esto entró en juego GIMP.


Luego lo imprimí para apuntar las medidas reales, de nuevo las pegué con GIMP.


Como veis no es la solución más elegante precisamente pero ha cubierto una necesidad inmediata, hachazo al canto.

jueves, 17 de febrero de 2022

Arreglar pendrive con formato NTFS desconectado indebidamente

Muchos tenemos discos duros externos por USB en formato NTFS para tener compatibilidad con prácticamente todos los sistemas.

A veces se nos ha cortado la transferencia de archivos, porque se ha ido la luz, el cable está mal o lo habéis conectado a algún puerto regulero (normalmente delanteros), y al volver a pincharlo nos sale el siguiente error:


¿Hemos perdido todos los datos de ese disco duro? ¡Posiblemente NO!

Seguramente lo podamos recuperar con el siguiente comando:

ntfsfix -d /dev/sdc1

¡Ojo! en mi caso es sdc1 porque es lo que me ha dicho el error, prestad atención a lo que os sale a vosotros para no confundirnos de partición y que pase algo malo.

Podéis aseguraros de todas formas que no os equivocáis comprobando que no sale al teclear el comando:

mount | grep sd

En todo caso es mejor evitar esta situación desmontad SIEMPRE correctamente vuestros dispositivos USB.

Recordad que es una solución de emergencia y puede que NO funcione siempre.


lunes, 7 de febrero de 2022

BasinC, un emulador de ZX Spectrum... para programar

BasinC es un emulador de ZX Spectrum creado exclusivamente para programar.


Se trata de un programa para Windows, pero funciona perfectamente en GNU/Linux a través de wine, lo podéis descargar aquí.

Este programa muestra dos ventanas completamente diferenciadas:

El editor

El editor es un híbrido entre el entorno de programación de un ZX Spectrum de 128K que responde como tal y uno moderno con coloreado de código y menús para buscar, reemplazar trozos de código, etc...

Permite importar código creado con otro editor para programar, por ejemplo jEdit, recuperar la última sesión de trabajo, volver a cargar alguno de los últimos códigos y ejecutar el código en el emulador propiamente dicho.


Admite tanto Basic como trastear con código máquina, caracteres, etc... (aunque yo solo lo he probado con Sinclair Basic interpretado).

En el caso de Basic, el archivo de texto debe tener la extensión BAS, lo cual es un inconveniente si lo quieres grabar sin esa extensión, por ejemplo, para hacer un cargador de menú para el ZX Spectrum +3 por ejemplo.

Nada de una copia del archivo a mano no pueda solucionar.

 

El emulador

El resultado se muestra en una ventana que es el emulador propiamente dicho, no tiene interactividad con nosotros hasta que lancemos el programa que hemos cargado.


Si hay algún error así nos lo indica tanto en el emulador como en el editor.


Adaptarlo a nuestra vista

El programa permite aumentar tanto la ventana de edición de código como la del emulador, algo muy útil dado que buena parte del público objetivo de este programa somos personas que vivimos los años comerciales de estas máquinas y que tenemos una vista que ya no es lo que era y la configuración por defecto es muy pequeña.

Para cambiarlo debemos cambiar:

  • En el editor:
    • Herramientas ► Opciones BasIN ► Editor Fonts ► Size ► Double/Triple.
  • En el emulador:
    • Display ► 200%



domingo, 30 de enero de 2022

Visor web de modelos LDraw y posibilidad de instalarlo bajo Apache en GNU/Linux para tus propios modelos

Yomboprime ha creado un muy interesante visor de archivos LDraw para un servidor Apache llamado TNTViewer, que podemos instalar en un ordenador de la casa con GNU/Linux y con el que podemos ver los modelos que nos descarguemos o que hagamos con MLCad por ejemplo.


Si simplemente quieres ver los modelos que hay disponibles solo tienes que acceder a estos enlaces:

Esta última opción te da la posibilidad de mover el modelo con el ratón en el ordenador o con el dedo en el móvil, además de ver una animación del montaje del mismo (incluso paso a paso, adelante y atrás) entre otras muchas funciones.

Si no vas a crear tus propios modelos no hace falta que leas el resto del artículo.

Instalar en un servidor para comprobar tus propios modelos

Como está tan cara la luz, voy a usar una raspberry pi para montar el tinglado, en concreto una 400 con el sistema operativo Raspberry Pi OS (antes conocido como raspbian), pero como he dicho cualquier ordenador con GNU/Linux nos valdría, incluso placas más modestas.

Lo primero es, evidentemente, instalar Apache:

sudo apt install apache2

Comprobamos que funciona abriendo desde un navegador de nuestra red la dirección:

http://raspberrypi.local

Y nos debería salir la típica web de inicio de Apache



Ahora descargamos TNTViewer:

git clone https://github.com/yomboprime/TNTViewer

Y movemos la carpeta TNTViewer para que cuelgue dentro de /var/www/html 

Ya puedes acceder a los enlaces locales cambiando el dominio de la URL por el de tu propia raspberry pi en tu red local, por defecto serían éstos:

Rutas locales en la raspberry para añadir tu propio material:

  • Modelos: /var/www/html/TNTViewer/examples/models/ldraw/TENTE/models
  • Fichas: /var/www/html/TNTViewer/examples/models/ldraw/TENTE/parts

Cuando añadamos o cambiemos el nombre a un modelo o ficha hay que ir al directorio /var/www/html/TNTViewer/examples/models/ldraw/TENTE/models y ejecutar el siguiente comando para que actualice el índice json:

node createModelsDataBase.js 

Lo que reconstruye la base de datos (models.json) a partir de los modelos ldraw que haya en TNTViewer/examples/models/ldraw/TENTE/models/ 

Evidentemente, para ello esa carpeta debe tener permisos de escritura para el usuario y tener instalado nodejs:

sudo apt install nodejs
Si el comando node no hace lo que queremos, a lo mejor hay que ejecutar este otro:

nodejs createModelsDataBase.js

Si no vamos a trabajar con tente en lugar de la subcarpeta TENTE, optaremos por LEGO o EXINCASTILLOS.

Y ahora a disfrutar del invento ;-)


sábado, 22 de enero de 2022

Quitar líneas repetidas de un archivo de texto sin alterar su orden

En muchos casos podemos necesitar que un archivo no tenga líneas repetidas, pero en la mayoría de los sitios lo que recomiendan es ordenar el archivo y luego quitar las líneas repetidas con el comando:

sort archivo_original.txt | uniq > archivo_ordenado_lineas_unicas.txt

Pero en muchos casos simplemente queremos que quite las líneas repetidas respetando el orden original, para ello tenemos que usar el comando unique, que no viene instalado por defecto sino que se incluyen en las utilidades john para detectar contraseñas débiles.

Por tanto lo primero es instalar john:

sudo apt install john

El uso es sencillo:

unique archivo_lineas_unicas_sin_ordenar.txt < archivo_original.txt

Así de simple.



sábado, 15 de enero de 2022

Clock signal: emulador experimental de diversos ordenadores y consolas de 8 bits(CLK)

Clock Signal (o CLK) es un emulador multisistema experimental capaz de emular:

  • Acorn Electron
  • Amstrad CPC
  • Apple II/II+ and IIe
  • Atari 2600
  • Atari ST
  • ColecoVision
  • Commodore Vic-20 (and Commodore 1540/1)
  • Macintosh 512ke and Plus
  • MSX 1 - Oric 1/Atmos
  • Sega Master System
  • Sinclair ZX80/81
  • Sinclair ZX Spectrum +2a/+3.

Lo podéis compilar por vuestra cuenta o bien usar el script RetroMultiInstaller que ya lo incluye y crea además de lo de siempre la estructura para copiar las BIOS, ya que para funcione primero hay que copiar las BIOS de cada sistema en la subcarpeta específica dentro de la cual tenéis un archivo README.txt que os indica los archivos que hay que copiar y con qué nombres.

Si preferís compilar por vuestra cuenta hay que crearlos a mano ésta es la estructura:

/usr/local/share/CLK/
├── AmstradCPC
├── AppleII
├── AppleIIGS
├── AtariST
├── ColecoVision
├── Commodore1540
├── Electron
├── Macintosh
├── MasterSystem
├── MSX
├── Oric
├── SinclairQL
├── Vic20
├── ZX8081
└── ZXSpectrum

Esta estructura también la podéis copiar del directorio ROMImages del código, pero en todo caso hay que copiar los archivos BIOS.

Una vez configurado para ejecutar un juego con el emulador basta con teclear:

clksignal archivodeljuego

Donde el archivo del juego puede ser cualquier imagen de disco, cinta o cartucho soportado por el emulador.

También, si no te gusta usar la terminal, se puede asociar desde el explorador del sistema haciendo clic con el botón derecho sobre el archivo, ya sea permanentemente o temporalmente para probar como va, dado que es un emulador experimental recomiendo primero probar la opción temporal.



viernes, 7 de enero de 2022

Tint y Bastard Tetris: tetris para la consola de GNU/Linux

Tint es un divertido Tetris para la consola de GNU/Linux.


Desde las distribuciones de la familia Debian / Ubuntu se puede instalar desde los gestores de aplicaciones o desde consola con el comando:

sudo apt install tint

Para jugar simplemente hay que teclear

tint

Si queremos que guarde los records conseguidos hay que crear el archivo /var/games/tint.scores con permisos de escritura:

sudo touch /var/games/tint.scores

sudo chmod a+w /var/games/tint.scores


Otro tetris de consola y bastante jodido es Bastard Tetris, para instalarlo:

sudo apt install bastet


 

A disfrutar de los tetris más simples pero muy adictivos.