Glosario de términos
El presente glosario de términos provee una introducción breve a determinados términos usados con frecuencia en esta obra, así como enlaces para profundizar en los mismos, brindar contexto al respecto o recopilar saberes particulares que muestran como determinada tecnología fue usada en la creación de esta obra.
En ese sentido más que un glosario traducional, es una invitación a continuar exploraciones, siguiendo nuestra metodología de lectura hipertextual anotada y de aprendizaje entre pares, autonomo y comunitario.
Los titulares que están marcados con un signo “›” indican que se trata de un hiperenlace.
Consola o terminal de comandos
En un tipo de interfaz para interactuar con el computador en modo textual, en contraste y complemento a los modos de la interfaz gráfica. Mientras que la segunda se conoce como GUI (Graphical User Interface), la primera se conoce como CLI (Command Line Interface).
- Al inicio fue la consola de comandos.
- Cliteratu.re: Literatura de la consola.
- Termux: Consola de comandos desde dispositivos Android.
- Starship: Cross-shell promp. The minimal, blazing-fast, and infinitely customizable prompt for any shell!
- How to Add a Program to Your Path Environment Variable in Linux.
Datos
- JSON:
- Introducción a JSON: Podría moverse a un apartado sobre datos en el cuerpo del documento.
- NeoJSON: La biblioteca que da soporte de JSON a Pharo.
- SQLite as a document database.
- STON:
Editores de texto, de Markdown y de código
Son programas que permiten crear y modificar archivos compuestos por sólo texto (o texto plano), o especializados bien sea en la escritura del código de lenguajes de programación o documentación, o en la de Markdown específicamente.
En la comunidad de Grafoscopio empleamos varios de acuerdo a distintas necesidades y preferencias. Acá encontrarás un listado de los empleados:
Editores de texto:
Editores de código:
- VS Code/Codium: Ambos de código abierto, pero el último quita la telemetría que envía datos de uso a Microsoft.
Editores de Markdown:
Freeplane›
Es un programa de mapas mentales
- Roan Presentation: provides a combination of mind mapping with Powerpoint- and Prezi like presentation, using automatic filtering and zooming
Fossil›
Es el sistema de control de código que empleamos para publicación web, almacenamiento y distribución de la información. Lo explicamos en mayor detalle en el capítulo de Memoria resiliente y distribuida.
- Get started with Fossil, an alternative to Git.
- Fossil vs Git.
- Questions And Criticisms.
- Sincronizar repositorios locales y remotos hospedados en ChisselApp.
- Plugin de Fossil para VS Code / Codium.
- FossMD: Markdown documentation tool for Fossil SCM.
- The Fossil Ticket System.
- Backing Up a Remote Fossil Repository.
- Fossil & Git as “blockchains”.
- Is Fossil A Blockchain? Login.
- Line numbers, and copying.
- Marcar una línea. Ejemplos:
- Check-in Names.
- Sincronizar configuraciones.
- Inskinerator: The Fossil Skin Generator.
- Color de línea de acuerdo a autoría.
- Automatización:
- Using Fossil with Continuous Integration.
- The “hook” command.
- Email Alerts.
- Fossil Wrapper.
- Fossil Flow: A workflow and tool for managing a fossil repository inspired by git-flow.
- Habilitar búsqueda en repositorios:
- Fossil Self-Hosting Repositories: Explica cómo crear backups entre diferentes repositorios y sincronizarlos.
- CGI Server Extensions: Extensiones CGI que también tienen acceso a la información de login de repositorios en Fossil. Útiles cuando se quiere hacer que programas externos interactuúen con dicha información.
- Showing Information About Commits.
- Scripting en Tcl/Tk: Tcl/Tk (pronunciado tickle, como cosquillas en inglés) es el único lenguaje de scripting que soporta Fossil (y una versión reducida, llamada TH1), acá unos enlaces al respecto:
- What is Tcl.
- About Tcl/Tk.
- Expect: Una variante de Tcl.
- 5 Excellent Free Books to Learn Tcl.
- Tcl Tk list of books.
- The Althttpd Webserver: El servidor minimalista empleado por Fossil para mostrar sus páginas web, programable en Tcl/Tk.
- Mini-howto: mini download page.
- Release Build How-To: Notes on how Fossil deliverables are built and uploaded.
- Serving via nginx on Debian and Ubuntu.
Hypothesis›
El sistema que usamos para hacer lectura anotada.
IndieWeb, tecnologías críticas y relacionados:
- https://indieweb.org/
- https://justnetcoalition.org/.
- Disroot: es una plataforma que provee servicios en línea, basada en los principios de libertad, privacidad, federación y descentralización. ¡Sin rastreadores, sin publicidad, sin análisis de perfil, sin extracción de datos! _ unhosted web apps: freedom from web 2.0’s monopoly platforms. Also known as “serverless”, “client-side”, or “static” web apps, unhosted web apps do not send your user data to their server. Either you connect your own server at runtime, or your data stays within the browser.
- Unhosted Dev Tools: Incluye herramientas para distribuir el almacenamiento como PouchDB/CouchDB.
- unhosted the future and past of the web.
- IT For Change
- Courses and Curriculum.
- Education.
- Integrating Wikis into Open and Distance Learning: Me recuerda Eduwiki y SciGWI, a comienzos del milenio, cuando empecé a dictar clases. Las infraestructuras de bolsillo podrían ser un lugar desde el que retomar esta idea.
- Formularios: Eventualmente habría que ver si podemos integrar formularios ligeros a algún método que use
- Alpaca: - Easy Forms for jQuery.
- How can I submit a form using JavaScript?.
- FormData.
- Formio.js: This allows you to render the JSON schema forms produced by Form.io and render those within your application using plain JavaScript, as well as provides an interface SDK to communicate to the Form.io API’s.
- Servidores:
- P2P:
- Cwtch.im: Privacy Preserving Infrastructure for Asynchronous, Decentralized, Multi-Party, and Metadat Resistant Applications. (Tiene cierto parecido a Scuttlebutt.)
- Radicle: is a peer-to-peer stack for code collaboration 🌱. It enables developers to collaborate on code without relying on trusted intermediaries. Radicle was designed to provide similar functionality to centralized code collaboration platforms — or “forges” — while retaining Git’s peer-to-peer nature, building on what made distributed version control so powerful in the first place.
- Generadores de Sitios Estáticos (Static Site Generators):
- Wikis:
- BoltWire: [it] quickly went far beyond your typical wiki. It offered member and group management (like a content management system). It could process, and save form data, then output fully formatted reports (like a database). It could index site content and retrieve information in seconds (like a search engine). Plus, it’s powerful built-in forms processor made it easy to set up forums and blogs, manage newsletters, do e-commerce, run online classes, and much more.
- Dokuwiki: Algunos experimentos antiguos de IndieWeb como Holónica están hechos en este excelente, ligero y extensible motor wiki.
JavaScript
Es el lenguaje de scripting con el que proveemos cierta funcionalidad en la interfaz web, como versionado semántico e integración con hypothesis.
- Alpine.js: Alpine.js offers you the reactive and declarative nature of big frameworks like Vue or React at a much lower cost. You get to keep your DOM, and sprinkle in behavior as you see fit. Think of it like Tailwind for JavaScript.
- Caleb Porzio: Página del autor.
- Using Fetch.
- How to query a json file?.
- How to read an external local JSON file in JavaScript?.
- JavaScript HTML DOM - Changing HTML.
- HTML DOM innerHTML Property.
- JSON.parse().
- How to Fetch and Display JSON Data in HTML Using JavaScript.
- Working with JSON.
- Vanilla JS.
- Automatic Table of Contents.
- Mavo: A new, approachable way to create Web applications Create complex, reactive, persistent web applications by just writing HTML & CSS, without a single line of JavaScript and no server backend.
Lua›
Usamos este lenguaje para explorar la conversión de formatos y la personalización de conversiones entre formatos, pues es el lenguaje que ya viene integrado en Pandoc para tales funciones. Algunas de las exploraciones iniciales respecto a leer y convertir datos en YAML a JSON, que eran provistas por filtros en Lua, fueron reemplazados por paquetes nativos en Pharo.
- Modules: Ver la parte de
LUA_PATH=
en Windows y Unix para preconfigurar los filtros de transformación de YAML a JSON. - Lua Debugging: Live Coding.
- Debugging Lua filters.
- ZeroBrane Studio Tutorials: quizás se podría hacer live debugging/coding the juegos hechos en Löve2D, no relacionados directamente con este proyecto, pero una buena introducción a los mismas formas de depuración habituales en Pharo, para ver qué tan cercanas pueden ser.
- Pegasus.lua: A HTTP Server to work with web applications written in Lua.
- Spoon: A single serving web server in Lua.
- Luvit: Asynchronous I/O for Lua.
- Moonstalk: A real-easy, high-performance modular web development stack for designers and developers using Lua.
- FuguHub transforms your computer (or device) into a powerful and secure online storage system, letting you access and share files from any connected computer or device in the world.
Pandoc›
Es el sistema que usamos para exportar desde y hacia múltiples formatos.
- Pandoc Filters.
- Extending pandoc with Lua.
- Pandoc Lua Filters
- GitHub Repo.
- Word Count: Brindó las orientaciones sobre cómo imprimir a la consola de comandos (
stdout
), de modo que Pharo pueda capturar el resultado desde allí.
- pandoc-stylefrommeta: Pandoc filter to customize links, images and paragraphs. Puede ser necesario para la parte de hacer exportaciones a PDF a partir de sitio web.
- Pandocmeta: Filtro para la exportación de metadatos YAML de documentos en Markdown.
- En LuaRocks: No funciona.
- Odin Kroeger: Autor en Twitter.
Pharo›
- XML-XMLWriter: Quizás útil cuando se requieran reescribir plantillas similres con rutas relativas a los recursos distintas.
- PetitParser: Provee soporte multiplataforma para YAML.
- Sorporte para Windows:
- LibC experiments in Pharo 7: Una manera de lograr soporte multiplataforma en Windows, para dependencias externas como Fossil y Pandoc.
- Pharo-OS-Windows: Inicié por acá, pero no podría crear un proceso en consola y retornar de nuevo al Pharo. Al cerrar la consola de Windows se cierra Pharo, como advierten en la documentación.
- ProcessWrapper: Sólo funciona en Windows de 32 bits.
- Encodings en Pharo: Usado para depurar los errores de importación de metadatos en YAML (al final se optó por un depurador a medida de los errores que se generaban).
- Themes: Probar Dark Metal antes del siguiente taller :-).
- Pragmas.
- Baselines.
- Integración con Git y exportación al sistema de archivos:
- MCZ -> Git Migration: Utility to migrate code from SmalltalkHub (or any MCZ-based repo) to Git.
- PharoIoT: Unlock the power of Internet of Things Start Pharo IoT’s (Internet of Things) journey now and create IoT applications very quickly and easily.
- Roassal3: Herramienta para visualización de datos.
- [Building a scientific workbench in Pharo]
TailwindCSS›
Un framework CSS orientado a utilidades, que permite construir sitios web a medida sin el constante tire y afloje entre el HTML y el CSS, pues integra las personalizaciones de este último en el primero. Ha venido ganando popularidad recientemente y ha permitido en la práctica personalizar y prototipar interfaces muy rápidamente. A pesar de que puede considerarse muy verborrajeo/prólijo pues declara estilos “embebidos” en el HTML, ciertas técnicas como el @apply
o las plantillas logicless con iteradores, como los que empleamos en Brea hacen que esto no sea un inconveniente en nuestro caso.
Z: Otros
Acá hay enlaces que por lo pronto no clasifican en ninguna de las temáticas anteriores:
- Codificaciones ISO 639-1 para idiomas (útiles en el futuro soporte multilingüe de páginas en Brea):
- Outliners: Son sistemas de escritura que permiten organizar la información de manera arbórea, como un conjunto de ramas (también llamados nodos) que incluyen otras ramificaciones. Esta es la manera en que Grafoscopio organiza la información y las principales fuentes de inspiración para éste se señalan con el ícono de una bombilla. Las características compartidas/inpiradas entre estos y Grafoscopio se explican en su manual de usuario.