Notxor tiene un blog

Defenestrando la vida

Resumen de mis últimas herramientas

Notxor
2024-11-10

Llevo unos días alejado un poco de las tareas del blog, pero no por gusto. Ciertos problemas de salud me han impedido escribir y ya lo echaba de menos. El artículo de hoy viene a resumir un poco las cosas que vengo haciendo últimamente. Con el amigo Fénix de Hispa Emacs ya estuvimos hablando un poco sobre estas cosas y después de ese par de charlas decidí dedicar una entrada del blog a explicar un poco más detenidamente estas cosas.

Son cosas que podríamos pensar que están deslavazadas, sin embargo, están más unidas de lo que parece. Un buen amigo se refiere a este conjunto de útiles como la secta. Sin embargo, para los proyectos que tengo en mente, se ajustan muy bien.

El último personal, de hace unos pocos días, es un proyecto cuyo principal objetivo es obligarme a aprender vocabulario informático en Esperanto. Me da mucha rabia cuando me preguntan sobre algún aspecto informático en esa lengua y me faltan las palabras para expresar lo que quiero de una manera clara y rápida. Siempre tengo que echar mano de expresiones y vueltas lingüísticas que ofuscan, más que aclaran, lo que quiero decir. Para ello, he comenzado un proyecto de programación de un raytracer, como el que ya hice en erlang1. En este caso, para no tener repetido el contenido de los raytracer, lo situé en un repositorio externo de las siguientes características:

Fossil-scm

Fossil-scm es una herramienta de control de versiones creada para la gestión del código de SQLite por el mismo creador de SQLite. Como sabéis SQLite nació inicialmente para proporcionar una herramienta de bases de datos a los usuarios de Tcl/Tk. De la secta, como lo llama mi colega, es el chismático más exitoso. A estas alturas es conocido por todos y una de las librerías más descargadas. Puedes encontrar SQLite en casi cualquier sitio, para usos muy diversos. Por ejemplo, un repositorio .fossil es un archivo SQLite, que se despliega desde el ejecutable fossil.

Captura-archivos.png

Ya he contado más veces en este blog que el repositorio lleva incorporadas algunas herramientas útiles para los equipos de trabajo: wiki, gestión de errores y muchas cosas más. Para resumirlo de algún modo sería (casi) como tener un gitea en el propio ejecutable fossil y cada repositorio se beneficiará de esas herramientas.

Una de las cosas que descubrí recientemente es que se pueden editar los archivos del repositorio desde el /GUI/Graphical User Interface. web de la aplicación. Tan sólo hay que establecer qué tipo de archivos se pueden editar.

Captura-config.png

También se podría establecer un editor externo para hacer la edición, pues aunque cuenta con una herramienta interna para hacerlo, es bastante sencilla y espartana. El repositorio, al visualizar un archivo .md lo visualizará renderizándolo y mostrándolo como si fuera una página web. Si hemos activado la edición, como veíamos antes, nos aparecerá un submenú Edit.

Captura-edicion-activada.png

Al pulsar en Edit nos aparecerá el editor:

Captura-del-editor.png

Es un editor de texto muy sencillo, aunque suficiente para escribir MarkDown, permitiéndonos previsualizar los cambios. Una vez hemos terminado con la edición, para guardar debemos hacer un commit.

Captura-servidor-commit.png

La desventaja es que no es un editor potente y la ventaja principal es que se pueden hacer modificaciones desde cualquier sitio, si el repositorio es accesible con cualquier navegador web. Algo que me vendrá muy bien para escribir en aquel sitio mediante la tablet, o incluso el teléfono móvil, si, por lo que fuera, no tengo en ese momento mi portátil a mano.

Pikchr

Ya he hablado con anterioridad en este blog2 de este lenguaje de descripción de diagramas, que junto con graphviz, es la herramienta que más estoy utilizando para realizar mis gráficos.

Sabía que dentro de fossil se encontraba un intérprete de pikchr, cada vez que se encuentra un bloque de código marcado así, visualiza el gráfico y no el código. Lo que no sabía es que además cuenta con una herramienta para escribir y modificar este tipo de gráficos.

Captura-help.png

Si seleccionamos el sandbox de pickchr nos aparecerá la siguiente herramienta:

Captura-pikshr-sandbox.png

Esta forma de hacer diagramas ya la venía empleando para realizar genogramas, algo que difícilmente se puede dibujar con graphviz:

Captura-genogramas.png

En mi caso también, me bajé los fuentes de su página web y lo compilé para mi máquina. Al compilar simplemente crea un ejecutable que puedes copiar a cualquier parte de tu máquina donde lo pueda encontrar el sistema cuando busca el ejecutable. En mi caso, lo copié a un directorio local mío: ~/opt/bin. Desde ese mismo momento y con la ayuda del paquete pikchr-mode de Emacs puedo realizar mis diagramas desde mi editor favorito e incluirlos en bloques de código dentro de org-mode.

Tcl/Tk

Cada vez me encuentro más cómodo con este lenguaje y cuando necesito hacer un script se ha convertido en mi primera opción. Sin embargo, apenas he arañado un poco la superficie haciendo un par de proyectos antes, alguno de los cuales aún no está terminado. Por lo menos, uno de ellos alcanzó su versión alfa, a la espera de que haga algunas pruebas de producción que seguramente destaparán cientos de errores.

El objetivo del proyecto que conté al principio del artículo no sólo consiste en aprender vocabulario técnico en Esperanto. También quiero aprender más cosas sobre Tcl/Tk:

  • Su sistema de POO: TclOO. Hasta ahora todo lo que he hecho con este lenguaje ha tenido un enfoque más a procedimiento o incluso en cierto modo funcional. Sin embargo, quiero ver hasta qué punto me manejaré con la POO que trae incorporada.
  • Expandir el lenguaje mediante un módulo C/C++. Al elegir el raytracer la intención es que la parte de cálculos intensiva se dirija a una librería que se programará en C/C++ para acelerar el render. Quiero aprender, por tanto, a programar dicha extensión. No sé si es fácil o difícil ni si lo lograré o no, pero me parece interesante.
  • Aprender cómo se realizan aplicaciones multihilo. Aunque ya lo toqué por encima en uno de los proyectos, me limité a levantar un servidor que escuchaba en un puerto y además ese código lo copié de algún otro ejemplo que encontré por la red... así que no aprendí nada.

Zen browser

Fuera de lo que es estrictamente la secta, llevo un tiempo probando con bastante asiduidad el zen browser como navegador de trabajo. Aún no lo tengo como navegador por defecto pero no me extrañaría que en un futuro no muy lejano lo sea.

Zen es un navegador que proviene de un fork de FireFox y que tiene una serie de herramientas que mejoran la experiencia de la navegación. Por ejemplo:

Captura-zen-browser.png

En esa captura podemos ver que tengo cargado el editor de texto del repositorio fossil y puesto que estoy escribiendo en Esperanto tengo un diccionario online, cargado en lo que llaman Zen sidebar. Esto me facilita enormemente el trabajo sin estar saltando de pestaña a pestaña. Como se puede ver en los botones que hay bajo el sidebar le he puesto acceso a la wipedia, a varios diccionarios y otras páginas de consulta habituales. No sólo está el sidebar, también tiene la capacidad de distribuir distintas pestañas en la ventana de trabajo, lo que hace que sea muy fácil tener una mitad del navegador para buscar documentación mientras la otra parte la puedes utilizar para cualquier otra tarea (ahora que muchas aplicaciones corren sobre web).

Aún le faltan algunas cosas por pulir. La apariencia por defecto es muy espartana y los temas no parecen estar muy afinados. Los de FireFox no funcionan, porque la estructura de la ventana es distinta. Sin embargo, me parece mucho más acertado en cuanto a funcionalidad de lo que está FF. Más en la línea de lo que podría ser Opera o vivaldi, pero siendo un digno heredero de FireFox y no de Chrome.

Conclusiones

Después de mis problemas de salud decidí tomarme la vida con más calma y dedicarme tiempo. La idea es no estresarme demasiado, pero mantenerme activo lo suficiente para no aburrirme, dedicándome a cosas que me gustan y/o me parecen interesantes. Me podría haber dado por el ganchillo o la papiroflexia, pero no es el caso. Así que me dedicaré a escribir más (código y otros cuentos), a leer y a traducir cosas al Esperanto.

Si alguien de los que lee esto se encuentra con ánimo, controla de Esperanto y quiere ayudar o colaborar en el proyecto puede entrar en el enlace del repositorio que puse arriba y crearse una cuenta. A partir de ese momento podrá acceder a escribir también en el foro del repositorio. A hacer comentarios y sugerencias y lo que le venga en gana. Aunque, evidentemente, el foro estará moderado por mí.

Notas al pie de página:

Categoría: tcl fossil pikchr zen-browser

Comentarios

Debido a algunos ataques mailintencionados a través de la herramienta de comentarios, he decidido no proporcionar dicha opción en el Blog. Si alguien quiere comentar algo, me puede encontrar en esta cuenta de Mastodon, también en esta otra cuenta de Mastodon y en Diaspora con el nick de Notxor.

Si usas habitualmente XMPP (si no, te recomiendo que lo hagas), puedes encontrar también un pequeño grupo en el siguiente enlace: notxor-tiene-un-blog@salas.suchat.org

Disculpen las molestias.

Escrito enteramente por mi Estulticia Natural sin intervención de ninguna IA.