Expliquemos el repositorio de la Grafoscopedia.

Dia 2: Expliquemos el repositorio de la grafoscopedia

Asistencia

  • Viviana
  • ruidajo
  • Offray
  • Constanza
  • CaosLudd
  • Choff
  • Adri
  • Víctor Hugo
  • Sara

Agenda

  • Recapitulación
  • Versiones previas de la Grafoscopedia.
  • Sistemas de control de versiones históricas,
    • Argumentación y escritura colectica.
      • Video
      • Conversación
    • Ejercicios de memoria distribuida y resiliente
  • Descansos alternados
  • Banda sonora.

Recapitulación

Revisamos las notas de la primera sesión y las infraestructuras
y herramientas que hemos co-creado, como:

Proyectos

Herramientas

Versiones previas de la Grafoscopedia

El proyecto de IndieWeb con Brea hizo evidente la primera recopilación de memoria comunitaria en clave enciclopedica a través de cosas como:

Al usar TiddlyWiki reorganizamos y extendimos esta información enciclopedica en lo que fuera la Grafoscopedia en TiddlyHost

Captura de pantalla de la grafoscopedia
Captura de pantalla de la grafoscopedia

y la Grafoscopedia en infraestructuras propias

Si nos damos cuenta, las fechas de última edición son distintas:

Fechas de edición de la grafoscopedia en tiddlyhost
Fechas de edición de la grafoscopedia en tiddlyhost

Fechas de edición de la grafoscopedia en repositorio de mutabiT
Fechas de edición de la grafoscopedia en repositorio de mutabiT

Y lo mismo ocurre con otros wikis hospedados en infraestructuras propias y ajenas

Captura de pantalla del Bliki de Offray en tiddlyhost
Captura de pantalla del Bliki de Offray en tiddlyhost

Captura de pantalla del Bliki de Offray en repositorio personal
Captura de pantalla del Bliki de Offray en repositorio personal

Y muy seguramente nos damos cuenta que las infraestructuras más usadas,
por esta comunidad son HedgeDoc y TiddlyWiki.

Captura de pantalla de la encuesta realizada en el canal de chat de Grafoscopio
Encuesta de uso de herramientas en la comunidad

Muy en contraste con lo que proponemos acá, que está en consonancia con la idea de Sistemas Maleables,
la encuesta muestra que la mayoría de herramientas usadas no son metaherramientas y
la que lo es de uso mayoritario (TiddlyWiki) no sabemos cómo es extendida en la medida en que se usa.

Al igual que lo hemos hecho a lo largo de la década larga,
la intensión es acercarnos a los puntos de fricción/tensión y encontrar su potencial creativo.

En este caso en particular, queremos recoger (interno) e indexar (externo) las distintas formas de memoria que integren lo que hemos hecho en estos 11 años.
Partiendo de estas versiones previas de la Grafoscopedia.
Intengrando la que está en el repositorio de código propio con infraestructuras comunitarias empezando con los HedgeDocs de este mismo diplomado y yendo hacia atrás.

El problema concreto a habitar
De manera aún más concreta vamos a tomar esta Grafoscopedia y vamos a extender su línea de tiempo desde el 2022 hacia el presente y luego hacia el pasado.

El repositorio de la Grafoscopedia

Consideremos la línea de tiempo de la Grafoscopedia hospedada en infraestructura propia.

Repositorio de la grafoscopedia señalando: 1)Timeline, 2) Files y 3) un Checkin particular
Repositorio de la grafoscopedia señalando: 1)Timeline, 2) Files y 3) un Checkin particular

En el caso de los repositorios de código hay un conjunto de lugares importantes:

  1. La línea de tiempo: Da cuenta de los cambios históricos intensionados (a diferencia de iCloud, Dropbox, Syncthing, Cyborg).
  2. Los archivos: los elementos que este repositorio está guardadando y la jerarquía donde se almacenan.
  3. Los checkins: los detalles en las modificaciones con cada cambio intensionado.

En la lista de archivos podemos tener varios elementos:

Repositorio de la grafoscopedia señalando el tab Files
Repositorio de la grafoscopedia señalando el tab Files

Si cliqueamos en un archivo específico veremos algo como esto:

Repositorio de la grafoscopedia en el menú de Files, señalando: checkins, Doc, Download y Text
Repositorio de la grafoscopedia en el menú de Files, señalando: checkins, Doc, Download y Text

  1. La vista del documentación.
  2. La vista de texto, que muestra su código fuente.
  3. “Check-ins Using” que muestra el histórico del documento.
  4. Download: enlace de descarga.

Veamos el la vista de documento lado a lado con su código fuente lado a lado, para aprenciar algunas correspondencias:

Captura comparando una página html con la representación en el repositorio
Captura comparando una página html con la representación en el repositorio

Y retomemos la jerarquía de archivos en la web, comparandola con su contraparte fuera de línea:

Captura comparando el sistema de archivos en la consola de comandos y el repositorio
Captura comparando el sistema de archivos en la consola de comandos y el repositorio

  1. La jeraquía de archivos que está publicada en línea y fuera de ella.
  2. El archivo .fossil del repositorio, es decir la base de datos que contiene todos los archivos del repositorio y los cambios en ellos para reproducir y participar de su historia.
  3. La carpeta de Tiddlers (heredada de TiddlyWiki).
  4. Los archivos de Tiddlers (heredados de TiddlyWiki).
  5. Los backups que hace el plugin de Firefox para TiddlyWiki.

Vamos a ver los archivos no versionados en el repositorio.
Es decir, aquellos de los que Fossil sólo guarda la última versión y no los históricos.

Captura del repositorio de la grafoscopedia señalando el apartado de archivos no-versionados (Unversioned Files)
Captura del repositorio de la grafoscopedia señalando el apartado de archivos no-versionados (Unversioned Files)

Captura del menú de archivos no-versionados en el repositorio
Captura del menú de archivos no-versionados en el repositorio

Ese único archivo, si lo cliquemos, produce la vista de la Grafoscopedia:

Captura de la grafoscopedia señalando la url en el navegador
Captura de la grafoscopedia señalando la url en el navegador

Detengamonos un poco en la ruta:

https://mutabit.com/repos.fossil/grafoscopedia/uv/index.html

Y deconstruyámosla:

  1. https://mutabit.com/repos.fossil/grafoscopedia/ el repositorio donde tengo guardada la Grafoscopedia.
  2. uv/: los archivos no versionados.
  3. index.html: Un archivo no versionado en particular.

Vamos a afectar el repositorio remoto, haciendo cambios en el repositorio local y sincronizarlo con el remoto.
Una vez lo hallamos hecho haremos un commit (envío de nuevos cambios a la historia del repositorio) veremos algo de este estilo:

fossil add tiddlers/tiddlers.ston ADDED tiddlers/tiddlers.ston fossil commit -m "Agregando archivo original de Tiddler en formato STON." Pull from https://offray@mutabit.com/repos.fossil/grafoscopedia/ Round-trips: 1 Artifacts sent: 0 received: 0 Pull done, wire bytes sent: 462 received: 425 remote: 45.55.37.99 ./es/acortador-algorítmico--6gwtn.md.html contains mixed line endings. Use --no-warnings or the "crlf-glob" setting to disable this warning. Commit anyhow (a=all/c=convert/y/N)? y New_Version: e74953b79a9aefae5748f8d93ac162d4968d9615be76501e6c6c89733551d43b Sync with https://offray@mutabit.com/repos.fossil/grafoscopedia/ Round-trips: 2 Artifacts sent: 3 received: 0 Sync done, wire bytes sent: 112001 received: 647 remote: 45.55.37.99

Lo cual se verá reflejado también en la línea de tiempo:

Captura del repositorio de la grafoscopedia señalando los más recientes commits
Captura del repositorio de la grafoscopedia señalando los más recientes commits

y también podemos verlo en los check-ins detallados:

Captura del repositorio de la grafoscopedia mostrando los cambios en el más reciente commit
Captura del repositorio de la grafoscopedia mostrando los cambios en el más reciente commit

Vamos a hacer que todes tengamos esta historia, hasta el momento replicada en nuestras propias máquina.

Abrimos la consola de comandos o terminal:

mkdir Grafoscopedia cd Grafoscopedia fossil clone https://mutabit.com/repos.fossil/grafoscopedia/ grafoscopedia.fossil

Deconstruyamos el último comando:

  • fossil: la herramienta de gestión de repositorios.
  • clone (clonar): crear una copia de un repositorio, es decir todos los archivos que lo conforman, con la historia de los mismos.
  • https://mutabit.com/repos.fossil/grafoscopedia/ el lugar donde está el original que quiero clonar.
  • grafoscopedia.fossil: el lugar (base de datos local) donde queremos guardar la copia.

La primera vez que intentemos clonar el repositorio nos formulará unas preguntas:

Unable to verify SSL cert from mutabit.com
  subject:   CN = comunal.red
  issuer:    C = US, O = Let's Encrypt, CN = R10
  notBefore: 2025-01-07 21:15:07 UTC
  notAfter:  2025-04-07 21:15:06 UTC
  sha256:    d0f6056295e2c629697c4d22fedbae0a3f58a81e6af0865b11552f7af5761fbf
accept this cert and continue (y/N/fingerprint)? y
remember this exception (y/N)? y

Una vez hallamos clonado el repositorio veremos algo de este estilo.

Round-trips: 2   Artifacts sent: 0  received: 14
Clone done, wire bytes sent: 568  received: 115257  remote: 45.55.37.99
Rebuilding repository meta-data...
  100.0% complete...
Extra delta compression... none found
Vacuuming the database...
project-id: 59aeac3bd7bcd5be6fea84fefc4b4789b3a13ff0
server-id:  f0d6d7ef80e2dcb2ef10493eca55ba0ff207be7d
admin-user: ospin (password is "93Dv4hmVjk")

Cuando tengamos ese repositorio clonado, vamos a abrirlo, expandiendo sus contenidos en la carpeta local.

fossil open grafoscopedia.fossil

Preguntas

¿Qué es un script?

Un script es un conjunto de instrucciones escritas en un lenguaje de scripting.

Un ejemplo de uno usado localmente este cardumem.lua

A continuación un script minimo de ejemplo:

-- Las lineas que inician con doble guión son comentarios.
-- declaramos una variable local llamada estudiantes con el valor numerico 8
local estudiantes = 8

-- la siguiente linea imprime en la consola el texto entre comillas ""
-- encadenado al valor de la variable 'estudiantes'
print("El diplomado tiene " .. estudiantes .. " estudiantes")

-- el resultado sera:
-- "El diplomado tiene 8 estudiantes"

¿Qué descartamos?

Por ejemplo en bibliotecas o archivos hay políticas de descarte.

Tener espacio disponible puede considerarse como un valor,
ejemplo FileCoin.

Notas Varias

Reimaginando tiddlywiki a la luz de la luna

El poeta del hipervinculo
(porque Offray Luna y Lua es luna en portugués)

La técnica es la técnica y sin técnica no hay técnica

El boxeadro famoso
(Félix Savón o Teófilo)

Ref

Janneke Adema

Amplificación a través de la simplificación - Scott McCloud

Zettlekasten

Donald Knuth

Formatos de archivos

Expliquemos el repositorio de la Grafoscopedia. Presentación del diplomado Índice, para encontrar las otras sesiones Asistencia Viviana ruidajo Offray Constanza CaosLudd Choff Adri Víctor Hugo Sara Agenda Recapitulación Versiones previas de la Grafoscopedia. Sistemas de control de versiones históricas, Argumentación y escritura colectica. Video Conversación Ejercicios de memoria distribuida y resiliente Descansos alternados Banda sonora. Recapitulación Revisamos las notas de la primera sesión y las infraestructuras y herramientas que hemos co-creado, como: Proyectos Presencias web feministas autónomas Diarios de una pandemia IndieWeb con Brea Primeras exploraciones de redes distribuidas de información Glosario de términos 1er diplomado: Memoria hipertextual, aprendizaje comunitario y herramientas digitales amoldables Desde WordPress hacia TiddlyWiki Desde Hugo hacia TiddlyWiki Herramientas Fossil TiddlyWiki Pharo Gtoolkit Grafoscopio HedgeDoc Versiones previas de la Grafoscopedia El proyecto de IndieWeb con Brea hizo evidente la primera recopilación de memoria comunitaria en clave enciclopedica a través de cosas como: El Glosario de Términos. Glosario en grafoscopedia. Las herramientas de instalación. Al usar TiddlyWiki reorganizamos y extendimos esta información enciclopedica en lo que fuera la Grafoscopedia en TiddlyHost Captura de pantalla de la grafoscopedia y la Grafoscopedia en infraestructuras propias Si nos damos cuenta, las fechas de última edición son distintas: Fechas de edición de la grafoscopedia en tiddlyhost Fechas de edición de la grafoscopedia en repositorio de mutabiT Y lo mismo ocurre con otros wikis hospedados en infraestructuras propias y ajenas Captura de pantalla del Bliki de Offray en tiddlyhost Captura de pantalla del Bliki de Offray en repositorio personal Y muy seguramente nos damos cuenta que las infraestructuras más usadas, por esta comunidad son HedgeDoc y TiddlyWiki. Encuesta de uso de herramientas en la comunidad Muy en contraste con lo que proponemos acá, que está en consonancia con la idea de Sistemas Maleables, la encuesta muestra que la mayoría de herramientas usadas no son metaherramientas y la que lo es de uso mayoritario (TiddlyWiki) no sabemos cómo es extendida en la medida en que se usa. Al igual que lo hemos hecho a lo largo de la década larga, la intensión es acercarnos a los puntos de fricción/tensión y encontrar su potencial creativo. En este caso en particular, queremos recoger (interno) e indexar (externo) las distintas formas de memoria que integren lo que hemos hecho en estos 11 años. Partiendo de estas versiones previas de la Grafoscopedia. Intengrando la que está en el repositorio de código propio con infraestructuras comunitarias empezando con los HedgeDocs de este mismo diplomado y yendo hacia atrás. El problema concreto a habitar De manera aún más concreta vamos a tomar esta Grafoscopedia y vamos a extender su línea de tiempo desde el 2022 hacia el presente y luego hacia el pasado. El repositorio de la Grafoscopedia Consideremos la línea de tiempo de la Grafoscopedia hospedada en infraestructura propia. Repositorio de la grafoscopedia señalando: 1)Timeline, 2) Files y 3) un Checkin particular En el caso de los repositorios de código hay un conjunto de lugares importantes: La línea de tiempo: Da cuenta de los cambios históricos intensionados (a diferencia de iCloud, Dropbox, Syncthing, Cyborg). Los archivos: los elementos que este repositorio está guardadando y la jerarquía donde se almacenan. Los checkins: los detalles en las modificaciones con cada cambio intensionado. En la lista de archivos podemos tener varios elementos: Repositorio de la grafoscopedia señalando el tab Files Si cliqueamos en un archivo específico veremos algo como esto: Repositorio de la grafoscopedia en el menú de Files, señalando: checkins, Doc, Download y Text La vista del documentación. La vista de texto, que muestra su código fuente. “Check-ins Using” que muestra el histórico del documento. Download: enlace de descarga. Veamos el la vista de documento lado a lado con su código fuente lado a lado, para aprenciar algunas correspondencias: Captura comparando una página html con la representación en el repositorio Y retomemos la jerarquía de archivos en la web, comparandola con su contraparte fuera de línea: Captura comparando el sistema de archivos en la consola de comandos y el repositorio La jeraquía de archivos que está publicada en línea y fuera de ella. El archivo .fossil del repositorio, es decir la base de datos que contiene todos los archivos del repositorio y los cambios en ellos para reproducir y participar de su historia. La carpeta de Tiddlers (heredada de TiddlyWiki). Los archivos de Tiddlers (heredados de TiddlyWiki). Los backups que hace el plugin de Firefox para TiddlyWiki. Vamos a ver los archivos no versionados en el repositorio. Es decir, aquellos de los que Fossil sólo guarda la última versión y no los históricos. Captura del repositorio de la grafoscopedia señalando el apartado de archivos no-versionados (Unversioned Files) Captura del menú de archivos no-versionados en el repositorio Ese único archivo, si lo cliquemos, produce la vista de la Grafoscopedia: Captura de la grafoscopedia señalando la url en el navegador Detengamonos un poco en la ruta: https://mutabit.com/repos.fossil/grafoscopedia/uv/index.html Y deconstruyámosla: https://mutabit.com/repos.fossil/grafoscopedia/ el repositorio donde tengo guardada la Grafoscopedia. uv/: los archivos no versionados. index.html: Un archivo no versionado en particular. Vamos a afectar el repositorio remoto, haciendo cambios en el repositorio local y sincronizarlo con el remoto. Una vez lo hallamos hecho haremos un commit (envío de nuevos cambios a la historia del repositorio) veremos algo de este estilo: fossil add tiddlers/tiddlers.ston ADDED tiddlers/tiddlers.ston fossil commit -m "Agregando archivo original de Tiddler en formato STON." Pull from https://offray@mutabit.com/repos.fossil/grafoscopedia/ Round-trips: 1 Artifacts sent: 0 received: 0 Pull done, wire bytes sent: 462 received: 425 remote: 45.55.37.99 ./es/acortador-algorítmico--6gwtn.md.html contains mixed line endings. Use --no-warnings or the "crlf-glob" setting to disable this warning. Commit anyhow (a=all/c=convert/y/N)? y New_Version: e74953b79a9aefae5748f8d93ac162d4968d9615be76501e6c6c89733551d43b Sync with https://offray@mutabit.com/repos.fossil/grafoscopedia/ Round-trips: 2 Artifacts sent: 3 received: 0 Sync done, wire bytes sent: 112001 received: 647 remote: 45.55.37.99 Lo cual se verá reflejado también en la línea de tiempo: Captura del repositorio de la grafoscopedia señalando los más recientes commits y también podemos verlo en los check-ins detallados: Captura del repositorio de la grafoscopedia mostrando los cambios en el más reciente commit Vamos a hacer que todes tengamos esta historia, hasta el momento replicada en nuestras propias máquina. Abrimos la consola de comandos o terminal: mkdir Grafoscopedia cd Grafoscopedia fossil clone https://mutabit.com/repos.fossil/grafoscopedia/ grafoscopedia.fossil Deconstruyamos el último comando: fossil: la herramienta de gestión de repositorios. clone (clonar): crear una copia de un repositorio, es decir todos los archivos que lo conforman, con la historia de los mismos. https://mutabit.com/repos.fossil/grafoscopedia/ el lugar donde está el original que quiero clonar. grafoscopedia.fossil: el lugar (base de datos local) donde queremos guardar la copia. La primera vez que intentemos clonar el repositorio nos formulará unas preguntas: Unable to verify SSL cert from mutabit.com subject: CN = comunal.red issuer: C = US, O = Let's Encrypt, CN = R10 notBefore: 2025-01-07 21:15:07 UTC notAfter: 2025-04-07 21:15:06 UTC sha256: d0f6056295e2c629697c4d22fedbae0a3f58a81e6af0865b11552f7af5761fbf accept this cert and continue (y/N/fingerprint)? y remember this exception (y/N)? y Una vez hallamos clonado el repositorio veremos algo de este estilo. Round-trips: 2 Artifacts sent: 0 received: 14 Clone done, wire bytes sent: 568 received: 115257 remote: 45.55.37.99 Rebuilding repository meta-data... 100.0% complete... Extra delta compression... none found Vacuuming the database... project-id: 59aeac3bd7bcd5be6fea84fefc4b4789b3a13ff0 server-id: f0d6d7ef80e2dcb2ef10493eca55ba0ff207be7d admin-user: ospin (password is "93Dv4hmVjk") Cuando tengamos ese repositorio clonado, vamos a abrirlo, expandiendo sus contenidos en la carpeta local. fossil open grafoscopedia.fossil Preguntas ¿Qué es un script? Un script es un conjunto de instrucciones escritas en un lenguaje de scripting. Un ejemplo de uno usado localmente este cardumem.lua A continuación un script minimo de ejemplo: -- Las lineas que inician con doble guión son comentarios. -- declaramos una variable local llamada estudiantes con el valor numerico 8 local estudiantes = 8 -- la siguiente linea imprime en la consola el texto entre comillas "" -- encadenado al valor de la variable 'estudiantes' print("El diplomado tiene " .. estudiantes .. " estudiantes") -- el resultado sera: -- "El diplomado tiene 8 estudiantes" ¿Qué descartamos? Por ejemplo en bibliotecas o archivos hay políticas de descarte. Tener espacio disponible puede considerarse como un valor, ejemplo FileCoin. Notas Varias Reimaginando tiddlywiki a la luz de la luna El poeta del hipervinculo (porque Offray Luna y Lua es luna en portugués) La técnica es la técnica y sin técnica no hay técnica El boxeadro famoso (Félix Savón o Teófilo) Ref Janneke Adema https://orcid.org/0000-0001-7681-8448 Amplificación a través de la simplificación - Scott McCloud https://en.wikipedia.org/wiki/Understanding_Comics https://en.wikipedia.org/wiki/Scott_McCloud Zettlekasten https://es.wikipedia.org/wiki/Zettelkasten Donald Knuth https://es.wikipedia.org/wiki/Donald_Knuth Formatos de archivos JSON → JavaScript Object Notation https://www.json.org/json-en.html STON → SmallTalk Object Notation https://github.com/svenvc/ston EDN → Extensible Data Notation (Clojure - LISP) https://github.com/edn-format/edn
{"breaks":false,"tags":"Diplomados"}