ph-submissions
ph-submissions copied to clipboard
Generadores de texto usando imágenes y gramáticas libres de contexto en Aventura.js
The Programming Historian en español ha recibido la siguiente propuesta de lección Generadores de texto usando imágenes y gramáticas libres de contexto en Aventura.js por parte de @srsergiorodriguez. En adelante, intervendré como editor durante el proceso de revisión. Tras haber leído la lección y haber enviado mis comentarios a @srsergiorodriguez, mi rol consistirá en solicitar revisores y gestionar las conversaciones que se produzcan en este foro.
Esta lección se encuentra en estos momentos en fase de revisión y puede leerse en:
Vista previa
https://programminghistorian.github.io/ph-submissions/es/borradores/originales/generadores-aventura
Archivo
https://github.com/programminghistorian/ph-submissions/blob/gh-pages/es/borradores/originales/generadores-aventura.md
Imágenes
https://github.com/programminghistorian/ph-submissions/tree/gh-pages/images/generadores-aventura
Otros miembros de nuestra comunidad también están invitados a ofrecer sus comentarios de una manera constructiva; los comentarios deberán publicarse en este hilo de conversación, por lo que se recomienda haber leído nuestra guía para revisores (http://programminghistorian.org/es/guia-para-revisores) y tener en cuenta nuestra política contra el acoso (ver más abajo). No se aceptarán más comentarios por parte de la comunidad tras la publicación de la segunda revisión formal a fin de que el traductor pueda empezar a trabajar en los cambios solicitados. Cuando esto ocurra, publicaré un anuncio aquí.
Asimismo, me comprometo a mantener la conversación abierta a todo el mundo en GitHub. Pero si alguno de los participantes quiere ponerse en contacto en privado conmigo, puede escribirme un correo electrónico. También es posible contactar con nuestros 'ombudpersons'.
Política contra el acoso
Esta es una declaración de los principios de Programming Historian en español y establece las expectativas para el tono y el estilo de toda la correspondencia entre los revisores, autores, editores y colaboradores de nuestros foros públicos.
El objetivo de The Programming Historian en español es ofrecer un entorno abierto en el que la comunidad de participantes sean libres para analizar ideas, realizar preguntas, sugerir cambios, y pedir aclaraciones; también queremos que sea un espacio libre de acoso y hostigamento para todo el mundo con independencia de su género, identidad, orientación sexual, diversidad funcional, apariencia física, tamaño corporal, raza, edad, religión o conocimientos informáticos. No se tolerará ningún tipo de acoso o ataque ad hominem. Los participantes que violen esta regla podrán ser expulsados del proceso editorial a discreción del equipo editorial. Si presencias o sientes que has sido víctima de algún tipo de acoso, por favor, contacta con nuestra 'ombudsperson' (Silvia Gutiérrez de la Torre - http://programminghistorian.org/es/equipo-de-proyecto).
¡Hola @srsergiorodriguez! ¿Cómo estás? Espero que esté todo bien.
Como mencioné en el texto de creación del issue, estamos iniciando el proceso de edición de la lección submetida. Voy a hacer una revisión inicial y te enviaré los comentarios para que los discutamos y ajustemos lo que sea necesario en esa primera fase.
Luego buscaremos revisores y continuaremos con el proceso.
Un abrazo y cualquier duda estamos a disposición. Nicolás
Perfecto, ¡quedo atento! S
¡Hola @srsergiorodriguez! ¿Cómo estás? Solo para actualizarte sobre el proceso: estoy terminando la revisión inicial y antes del martes de la próxima semana te envio mis comentarios. ¡Saludos!
¡Hola, @srsergiorodriguez!
Una vez muchas gracias por tu lección. Me divertí mucho creando los generadores. Estoy seguro que será un aporte importante a la colección de lecciones originales de PH.
A continuación encontrarás comentarios sobre los cambios que son necesarios hacer antes de enviar la lección a los revisores. Primero encontrarás aspectos generales. Luego están las sugerencias asociadas a las diferentes secciones de la lección.
Los comentarios están en formato de lista de verificación para que los puedas seguir de forma más fácil, y están listados según el número de línea en la visualización del archivo .md ubicado el repositorio de PH.
Si tienes cualquier duda o consulta, puntual o general, puedes escribirla acá y la resolvemos juntos.
¡Un abrazo!
Aspectos generales
- [ ] Las imágenes que están en la carpeta (imgs), utilizadas para el generador de imágenes deben estar en el mismo directorio de las otras imágenes (generadores-aventura). Unificar las imágenes en una carpeta
- [ ] Por favor renombrar las imágenes del generador de imágenes con el slug de la lección (generadores-aventura) y el objeto en forma secuencial: generadores-aventura-edificacion-1
- [ ] Ajusta el archivo .md: código, títulos de las imágenes y path de las imágenes en el código luego de las dos modificaciones anteriores. Puedes enviarme la carpeta/.zip a mi email y yo la subo al repositorio de imágenes.
- [x] Creo que luego de la introducción estaría bien si listaras los preerequisitos técnicos, por ejemplo, VSC para crear los archivos, que deben instalarse para de seguir la lección.
- [x] En este apartado también deberías considerar y mencionar si la persona que está leyendo la lección necesita algún conocimiento específico (o nível de conocimiento) para seguirla. Por ejemplo, conocimientos básicos de HTML/CSS/JavaScript. Mi sugerencia es traer la recomendación que haces del tutorial de PH sobre HTML a este apartado. Esto nos ayudará a definir la dificultad de la lección.
- [x] También es importante aclarar: (1) si la persona que está leyendo la lección debe copiar los textos y los bloques de código y, (2) cómo seguir la lección usando otro texto que no sea el del ejemplo. Esto aplica también para las imágenes de la segunda parte. Esta aclaración debería estar al inicio de la lección (prerrequesitos o introducción).
- [x] También vale la pena mencionar si la persona puede efectivamente usar otro texto o imagen, y aclarar si este debe reflejar la estructura del texto de Silva y el tamaño de las imágenes usadas en la lección (lo mencionas en la segunda parte, pero creo que estaría mejor dejarlo al inicio). En caso afirmativo, explicar los criterios de selección que deben ser aplicados, o mencionar ejemplos libres y gratuitos que puedan ser utilizados.
Introducción
- [x] Iniciar listando los objetivos de la lección.
- [x] 30. Crear nuevo párrafo después de "un tema de interés".
- [x] 31. Incluir link para documentación o información sobre JavaScript: puede ser la documentación oficial o la entrada de Wikipedia (en español)
- [x] Creo que sería interesante que introduzcas a Aventura.js e a igrama en este momento. Una pequeña presentación que diga: qué es, cuándo fue creada, por quién, qué hace (link a ejemplo) y cómo será usada. Otra opción es mover la presentación que está en la sección Programar un generador de texto con Aventura.js: "Una librería de programación...", y aquella en Crear un generador de imágenes con Aventura.js, sobre igrama.
- [x] Citar el desarrollo de Aventura.js y de igrama en las referencias bibliográficas siguiendo el Manual Chicago. Ejemplo: The Pandas Development Team. pandas-dev/pandas: Pandas. v. 1.2.3 (2020). https://doi.org/10.5281/zenodo.3509134
La literatura electrónica
- [x] 35. "gráfica que llevan a múltiples derivaciones" —> "que lleva a"
- [x] 35.Me parecería interesante si pudieras incluir un breve contexto sobre el surgimiento de la literatura electrónica. Sería un buen complemento con la definición, características y obras que mencionas.
- [x] 37. "aquí podemos mencionar algunos ejemplos de literatura electrónica producida por autores latinoamericanos" —> "aquí podemos mencionar algunos ejemplos de literatura electrónica latinoamericana"
- [x] 37. "de los autores Catalina Holguín y Joni B." —> "de las autoras"
Generadores, una estrategia mecánica-azarosa
- [x] 43.No sé si el término azarosa(o) es lo suficientemente claro, lo digo pensando en la diferencia de sentido que puede tener algunos contextos, pues el término carga un peso trágico o negativo: "Que tiene en sí azar o desgracia", según la RAE. ¿Qué te parece buscar un sinónimo? Puede ser aleatorio, foruito o imprevisible. Si te parece bien la sugerencia, por favor substituye su uso a lo largo del texto.
- [x] 43. Dividir este único párrafo en varios. Mis sugerencias sería en hacer divisiones en: "Pensemos, por ejemplo", "Este tipo de estrategias", "Un ejemplo concreto".
- [x] 43. "o la selección espontánea de elementos en una lista" —> "de una lista"
- [x] 43. Link S + 7 —> ¿Hay alguna versión en español o inglés?
- [x] 44."pues sus autores" —> "pues sus autoras y autores"
¿Qué son gramáticas libres de contexto?
- [x] 46. "¿Qué son gramáticas libres de contexto" —> "¿Qué son las gramáticas libres de contexto"
- [x] 48. "Chomsky buscaba proponer" —> "Chomsky propuso un modelo formal"
- [x] 48. Citar el árticulo principal de Chomsky que hace referencia a su propuesta.
- [x] 48. Sugerencia: crear nuevo párrafo después de "generadores automáticos de texto"
- [x] 49. "y un orden en el que pueden disponerse esos elementos." —> "y un orden en el que se disponen esos elementos"
- [x] 51. "Si representáramos esta gramática con un esquema que se ramifica como un árbol se vería algo como se ve en la Figura 1:" —> "Si representamos esta gramática en un esquema que se ramifica como un árbol, el resultado podría visualizarse de la siguiente manera:"
- [x] 57. "un sistema de reglas con el que se pueden generar textos diversos" —> "con el que se puede"
Preparar el entorno
- [x] 71. "Pon el siguiente código de base en tu archivo html y guárdalo:" —> "Copia, pega y guarda el siguiente código de base en tu archivo
index.html
:" - [x] 90. "Lo siguiente" —> "El siguiente paso"
- [x] 90. ¿La documentación que está en el repositorio de Aventura.js está solo en inglés? Si no existe versión en Español, mencionar que la documentación está en inglés.
- [x] 96. "así que de ahora en adelante ese es el lugar en el que trabajaremos." —> "así que de ahora en adelante este es el archivo en el que debes trabajar."
- [x] 98. Los nombres de los archivos deben estar formateados usando tildes graves. Aplicarlo a los archivos index.html, aventura.js, e main.js
Programar la gramática
- [x] 104. "En esta lección crearemos un generador de poemas basado a grandes rasgos en el texto" —> "En esta lección crearemos un generador de poemas basado, a grandes rasgos, en el texto".
- [x] 104. ¿A qué te refieres con "a grandes rasgos"?
- [x] 104. Aplicar cursiva al título del texto Al carbón y del libro Obras completas en todas las menciones.
- [x] 104. ¿El texto Al carbón está disponible de forma libre y gratuita? ¿Internet Archive, Gutenberg Project?
- [x] 104. Incluir una breve explicación/justificación sobre la elección de este texto como ejemplo
- [x] 106. En la descripción detallada del texto se usa bastante la palabra "luego". Usar sinónimos o redacatar de forma que se limite esta repetición.
- [x] 108. "Si representáramos esto en un árbol," —> "Al representar esto en un esquema de árbol"
- [x] 112. Renombrar main.js con tildes graves—>
main.js
- [x] 112. Crear nuevo párrafo después de "por así decirlo".
- [x] 112. Transformar Array y Strings a minúscula. Quitarle el plural a Strings.
- [x] 112. Me parece mejor que dejes la definición de array y string fuera de los paréntesis.
- [x] 112. "el diseño de nuestra gramática se vería así:" —> "el diseño de la gramática quedaría de la siguiente manera:"
- [x] 115.. Explicar el uso y papel de la función
let gramatica = {
en el contexto de Aventura.js - [x] 120. "Algo como esto:" —> Me parece que podrías terminar el párrafo después de "con solo una opción:"
- [x] 132. "Simplemente debemos reemplazar la palabra árboles en esa rama por una referencia a
y crear un nuevo parámetro en nuestra gramática con la lista de opciones:" —> "Simplemente reemplaza la palabra árboles en esa rama por una referencia a y crea un nuevo parámetro en tu gramática con la lista de opciones:" - [x] 144. "Una vez estamos familiarizados con el proceso, podemos crear" —> "Una vez estés familiarizada con el proceso, puedes crear"
- [x] 144. Cursiva en el título de De sobremesa y mínuscula en Sobremesa
- [x] 144. "archivo json" —> "archivo en formato json". Dejar el link solo en la palabra json, y explicar brevemente qué es un archivo en formato json (no es necesario si declaras en los prerrequisitos o en la introducción que la persona debe tener conocimientos básicos de este tipo de formatos)
- [x] 160. ", así" —> ", de la siguiente manera:"
- [x] 168. ¿Cómo debe la persona que está leyendo/siguiendo la lección "ejecutar" el código para ver el resultado en la consola?
- [x] 168. Explicar brevemente qué es la consola, dónde se encuentra en VSC. (no es necesario si declaras en los prerrequisitos o en la introducción que la persona debe tener conocimientos básicos de HTML/JavaScript)
- [x] 160-172. Creo que deberías explicitar en qué parte del archivo
main.js
estos 3 pasos mencionados (y su código) deben estar localizados. - [x] 174. Los objetos incluidos están en mayúscula, esto hace que el texto se lea de forma irregular. ¿Sería posible incluirlos en minúscula? Entiendo que los estás copiando del archivo json del proyecto Sobremesa digital, y que esto demanda un trabajo y explicación adicional.
- [x] 182-185. Explicitar dónde debe ir este bloque de código en el archivo
main.js
Recordar elementos escogidos al azar
- [x] 189. "aunque fue escogido al azar inicialmente," —> "aunque haya sido escogido al azar,"
- [x] 189. Sugerencia: crear un nuevo párrafo a partir de "En esta lección".
- [x] 190. "debemos definir un nombre para la regla (encerrado en el signo
$
)," —> "debemos definir un nombre para la regla (y encerrarlo entre dos signos$
)," - [x] 190. "encerradas en paréntesis cuadrados:" —> "encerradas en corchetes cuadrados:"
- [x] 190. "En la gramática que hemos venido construyendo se vería así:" —> "En la gramática quedaría de la siguiente manera:"
- [x] 190. No me quedó claro cómo funciona la creación del set de subreglas. ¿Podrías explicar de forma más detallada qué constituye la clave y el valor, y tambiém cómo quedaría estructurada esa linea de código con los signos $ y - [ ]?
- [x] 202. Las mayúsculas de los objetos en el texto generado dificultan la lectura.
- [x] 204. "que se describe en el texto." —> "que se describen en el texto."
Crear un generador de imágenes con Aventura.js
- [x] 221. "Así, si abres el archivo json, el modelo de igrama se vería algo como esto:" —> "Al abrir el archivo json, el modelo de igrama debe contener las siguientes informaciones:"
- [x] 221. ¿En este momento el archivo debe estar ubicado en la misma carpeta del generador de texto? ¿En otra carpeta? Por favor aclarar.
- [x] 252. "Lo que sigue" —> "El siguiente paso es"
- [ ] 254. Luego actualizamos el path de la descarga de imágenes para que queden en el respositorio de imágenes de PH
- [ ] 258. "Así se vería nuestra gramática con referencias a las imágenes que tenemos en la carpeta de nuestro proyecto:" —> "La gramática con referencias a las imágenes que tienes en la carpeta de tu proyecto debe estar de la siguiente manera:"
- [ ] 260-294. Modificar el nombre de las imágenes y su path
- [x] 306. "y devuelve una promesa" -> Explicar qué significa una "promesa" en JavaScript
Recibido, Nicolás. ¡Gracias! Voy a trabajar en los ajustes.
Hola, @nllano, estoy revisando los comentarios, pero quería hacer una consulta: En los aspectos generales mencionas pasar todas las imágenes a una sola carpeta. Sin embargo, esto podría complicar innecesariamente lo que se menciona en la línea 312 de la lección, es decir, el sistema para convertir automáticamente las carpetas con imágenes y la gramática en un generador de imágenes. Para que el convertidor automático funcione las imágenes deben estar en carpetas separadas, y por eso puse los archivos en la estructura requerida. Ponerlas juntas en una sola capeta implicaría que quienes sigan la lección tendrían que hacer ese paso adicional de re-clasificarlas en carpetas separadas para poder realizar el proceso correctamente. Por eso quisiera saber si esta unificación en una sola carpeta es completamente necesario. ¡Gracias! S
¡Hola, @srsergiorodriguez! Clave el punto que levantas. La verdad no sé cuál sería el mejor camino.
@rivaquiroga: creo que podrías ayudarnos aquí :)
- ¿Cuál crees que es la mejor solución para este punto?
- ¿Sabes de alguna lección que tenga esta o una estructura de imágenes/carpetas similar que podamos usar como referencia?
Voy a revisar otros ejemplos que puedan ayudarnos a definir la solución.
¡Abrazos!
Y solo como un comentario adicional. En la sección de "Programar la gramática" está la sugerencia de poner Array y String en minúsculas. Sin embargo, he visto que en la documentación de JavaScript se suelen poner con la inicial en mayúscula. Supongo que la razón es porque ambas son estructuras de datos y no primitivos como los números o los caracteres. En otros lenguajes similares, como Java, cuando se declara una String o una Array, se deben poner con la inicial en mayúscula.
¡Hola @nllano y @srsergiorodriguez!
Como las imágenes que están en /imgs
son parte de los materiales para completar la lección (no imágenes que se muestren en ella), debiesen ir dentro de la carpeta assets
. Es decir, dentro de /assets
habría que crear una carpeta llamada generadores-aventura
y ahí dentro guardar la carpeta imgs
.
En la carpeta images
van solo aquellas que se incluyen en la lección propiamente tal.
Cualquier otra duda, me avisan.
¡Hola, @rivaquiroga!
Genial, muchas gracias por la explicación, lo haremos de esa forma. Cualquier duda adicional te contamos :)
@srsergiorodriguez: listo, entonces el código del generador de imagen queda como está en la versión incial, así como su organización en las carpetas separadas. Luego subo las imágenes/carpetas del generador a la carpeta de assets.
Sobre el uso de mayúscula en las palabras String y Array, podemos seguir con el patrón de Javascript — letra inicial en mayúscula.
Aprovecho y confirmo la recepción de la versión ajustada por email. Voy a leerla nuevamente y actualizo el archivo inicial.
¡Muchas gracias!
@srsergiorodriguez, por si acaso, tienes derechos de escritura en este repositorio, así que puedes editar directamente el archivo de la lección acá. No es necesario que lo vuelvas a enviar por email.
¡Gracias, @rivaquiroga! No sabía que podía editar directamente :sweat_smile:
¡Hola @srsergiorodriguez y @rivaquiroga!
Ya actualicé el archivo de la lección y subí los assets a la carpeta correspondiente (el link está en el mensaje de abertura del issue).
¡Un abrazo y seguimos!
¡Gracias, @nllano!
¡Hola, @srsergiorodriguez!
¿Cómo estás? Espero que todo bien.
Hice una segunda revisión luego de esta versión modificada. Te dejo aquí mis comentarios. Hay un par de dudas sobre la ejecución del código, que puedes responder por aquí. Como mencionó Riva, puedes hacer los cambios directamente en el archivo que está en el repositorio de PH.
Una vez hayamos finalizado esta fase de ajustes seguiremos con las revisoras. Hoy enviaré las invitaciones a las dos personas (Isabelle Gribomont y Antonia Bustamante). Las dos tienen experiencia trabajando con literatura electrónica y programación creativa, así que creo que será muy valiosa sus opiniones.
Gracias por la disposición. ¡Un abrazo y seguimos!
-
[x] 130 - Borrar uno de los dos puntos (::) al finalizar la frase.
-
[x] 190 - Tal vez sea una buena idea colocar el código entero para que la persona tenga la seguridad de haberlo escrito/copiado de forma completa.
-
[x] 104 - La frase "aquí cargaremos dos archivos" no es muy asertiva. Tal vez podrías cambiar el verbo "cargar" por "colocar" o "poner", para que quede claro que estás haciendo referencia a ubicación de archivos en el directorio.
-
[ ] 207 - En de las ocasiones que corrí el programa en mi consola apareció el aviso (Chrome y Firefox): "Uncaught ReferenceError: aventura is not defined." Bajé la última versión disponible de aventura.js, copié el código exacto y los 3 archivos están en el mismo directorio. ¿Sabes qué puede ser?
-
[x] 231 - "El procedimiento es casi igual al de la gramática textual que hicimos antes, los principios que implican establecer un árbol y una lista de opciones son idénticos;" Vale la pena explicar en este caso cuáles serán los archivos que la persona usará (json, imágenes), y si deben estar en el mismo directorio que el anterior ejercicio.
-
[x] 242 - Explicar qué haremos con esas imágenes y si deben ir en el mismo directorio.
-
[x] 271 - En el archivo json descargado el "sketch" tiene un valor diferente al de la imagen. Explicar que esto cambiará según la descarga en igrama (¿es eso?) Adicionalmente las coordenadas son diferentes según la manipulación de la persona en igrama.
-
[x] 275 - Explicar en más detalle para la persona que sigue la lección qué uso tiene Gimp en el ejemplo y en el caso de seguir el tutorial con sus propias imágenes.
-
[x] 277 - Actualizar el enlace con la url que contiene las imágenes en el repositorio de Assets (está al inicio de este issue)
-
[x] 279 - "nuestro modelo". Indicar que te estás refiriendo al archivo json.
-
[x] 281 - "La gramática con referencias a las imágenes que tienes en la carpeta de tu proyecto debe estar de la siguiente manera:" Indicar que esto significa que se debe copiar y pegar un pedazo del código (después de la "base") en el archivo json descargado.
-
[x] 283-317 - Especificar a qué te refieres con OTROS METADATOS DEL MODELO (que ya están en el archivo json descargados).
-
[x] 319 - Especificar en qué archivo y en qué lugar del mismo va ese pedazo de código (después o antes de).
-
[x] 329 - "Recuerda que debes haber creado una instancia de aventura con
let aventura = new Aventura("es")
para poder acceder a todas estas funciones." Explicar en qué archivo y en qué lugar del mismo debe ir este fragmento de código. También declarar qué se debe hacer para producir las imágenes (correr cuál archivo o arrastrarlas en igrama) y dónde aparecerán (¿browser?). No queda muy claro si para producir las imágenes debemos crear un .zip (y con cuáles archivos). -
[x] 335 - "Opcionalmente puedes ahorrarte el trabajo de escribir una por una de las urls de la gramática de igrama si, en un archivo .zip, guardas el modelo de igrama y una serie de carpetas con las imágenes de la gramática." Se lee un poco raro esa frase. Mi sugerencia sería "Opcionalmente puedes ahorrarte el trabajo de escribir una por una de las urls de la gramática de igrama guardando el modelo y las carpetas con tus imágenes de la gramática en un archivo .zip."
-
[x] 339 - La palabra "autocontenido" me parece un poco difícil de entender. ¿Cuál sería ese modelo? ¿El zip que bajamos para seguir la lección?
¡Listo, @nllano, ya hice los ajustes de acuerdo con tus comentarios!
Probablemente el error de "Uncaught ReferenceError: aventura is not defined." se debe a que te falta esta parte antes de que empieces a usar la librería en las líneas siguientes:
let aventura = new Aventura("es");
Procuré aclarar eso mejor en la corrección, espero que así se entienda más.
¡Saludos!
¡Hola @srsergiorodriguez!
Genial, muchas gracias por el pronto ajuste del archivo y por la inclusión de las sugerencias.
Voy a correr el programa de nuevo y te cuento — con el ajuste que mencionas. Ya Antonia me confirmó su interés por ser revisora de la lección, ahora solo falta esperar la respuesta de Isabelle para seguir con la siguiente fase.
Te voy actualizando apenas tenga noticias.
¡Una vez más gracias! Abrazos
¡Hola, @srsergiorodriguez!
Una vez más gracias por la atención y por realizar los ajustes sugeridos. Siguiendo el proceso establecido, te presento a las dos revisoras de la lección:
- Isabelle Gribomont (@isag91), encargada del LabEL, Laboratorio de literatura electrónica de la Biblioteca Real de Bélgica, y también editora de Programming Historian.
- Antonia Bustamante (@anattolia), que participa del laboratorio @enflujo, en la Universidad de Los Andes (Colombia).
Isabelle y Antonia, ¡muchas gracias por haber aceptado la invitación! Los archivos de la lección están en el mensaje inicial de este issue.
Aprovecho para compartir la guía para revisores para que tengan más información sobre el proceso: https://programminghistorian.org/es/guia-para-revisores
Sin embargo, acá resumo algunos aspectos importantes a tener en cuenta:
- La revisión no implica indicar si el tutorial es suficientemente "bueno", sino aportar colaborativamente para mejorarlo a partir de una conversación constructiva entre el/la revisor/a, el/la autor/a y la mediación del/la editor/a.
- El proceso de comentarios sobre el tutorial se hace de manera pública y abierta en nuestro repositorio de Ph-submissions. Tu nombre aparecerá como revisor del tutorial al terminar el proceso.
- ¿Qué revisar? Acá es esencial que leas con atención la sección "Lecciones nuevas" donde encontrarás varias preguntas para guiar la revisión.
- Nosotros tenemos corrector de estilo por lo cual no es necesario que hagas correcciones de ortografía, quizás en algunos casos una recomendación de redacción puede ser útil para clarificar aspectos de la lección.
Cualquier duda que tengan o comentario no duden de hacerlo aquí. ¡Un abrazo y seguimos!
¡Gracias, @nllano! Hola, @isag91 y @anattolia, les agradezco por tomarse el tiempo y el trabajo de revisar, quedo atento a sus comentarios.
¡Hola! @isag91 y @anattolia, me olvidé de comentarles y definir juntas el orden de la revisión. El proceso debe ser hecho de forma secuencial, de manera que las revisiones sean complementarias.
¿Tiene alguna preferencia de orden de revisión?
@srsergiorodriguez, tienes la posibilidad de hacer los ajustes luego de la primera revisión o dejarlos para cuando las dos revisiones estén finalizadas. Puedes seguir el camino que mejor te parezca.
¡Perdonen la omisión de esas informaciones-consultas!
Un abrazo y buen final de semana.
@nllano @srsergiorodriguez, hola! ¿Cómo están?
Gracias por los mensajes, me alegra colaborar por aquí. Voy a mirar la guía y puedo comenzar pronto a revisar, si @isag91 está de acuerdo. O si prefieres empezar tú, tampoco tengo problema.
@nllano muchas gracias por la invitación. @anattolia perfecto, me parece bien hacer la segunda revisión.
¡Hola, espero que el año esté comenzando bien para todxs! Me divertí siguiendo el tutorial de Aventura.js
Dejo por aquí mis comentarios. Algunos tienen que ver con cosas que probablemente revisará quien haga la corrección de estilo pero los hago notar porque creo que, en caso de no corregirse, pueden generar confusión.
Preparar el entorno
- [x] 23. Concretamente, la etiqueta contiene los elementos que describen los metadatos del sitio web --> No sé exactamente cuál es el público objetivo pero aclarar qué son los metadatos del sitio web puede ser útil si alguien empieza de cero.
- [ ] 30. En la explicación de cómo instalar extensiones en Visual Studio Code podría agregarse la otra forma (desde el menú de íconos de la barra izquierda) y poner algunas capturas de pantalla de eso y también de la opción Go Live. No sé si se evita esto por la posibilidad de que la interfaz cambie en otras versiones, pero me parece que las capturas de pantalla ayudan a ubicarse si uno nunca ha usado un software.
Programar la gramática
- [x] 31. ¿Será demasiado largo copiar el poema? Si lo es, ¿quizás útil poner un enlace al poema directamente y no al libro entero? El libro entero es pesado para descargarlo en lugares donde no haya buena conexión a Internet.
- [x] 33, 62. No olvidar poner como título de las imágenes el número al que hace referencia el texto. Por ejemplo: La figura 6 representa... o como lo muestra la Figura 7.
- [x] 35. En el último renglón dice bolas de papel, debería decir bolsas.
- [x] 41. Me parece rara la palabra sesión para referirse a una instancia. ¿Qué opinan?
- [x] 50. En mi versión de Chrome no existe el menú Ver, sino Más Herramientas -> Herramientas para desarrolladores. Para evitar esto, agregaría también la opción: Click derecho -> Inspeccionar para abrir las opciones de desarrollador en el navegador y especificaría que hay que ir luego a la pestaña console o consola.
- [x] 54. Poner el ; dentro del texto del código y no afuera.
- [x] 57. Creo que hay un error en el Array de las subreglas:
[clave1:valor1,clave2,valor2...]
. Debería ser, supongo,clave2: valor2
.
Crear un generador de imágenes con Aventura.js
- [x] 71. Duda mía como usuaria: ¿Hay forma de descargar todas las carpetas de imágenes de una vez en gh o hay que descargar una por una?
- [x] 86. La nota 2 me parece un poco confusa. Quizás un ejemplo podría servir para entender mejor. ¿Hay otra forma más clara de decir esto: En JavaScript los objetos funcionan a través de combinaciones del nombre de propiedad seguida de dos puntos y luego su valor.? Sugiero agregar un ejemplo después de En el caso del diseño de la gramática, el nombre de propiedad es el nombre de la rama y el valor es la Array con opciones en esa rama. Ejemplo: Objetos: [tina, regadera, sillón...] o algo similar.
Hasta ahí. ¡Saludos!
Hola a todos,
¡@anattolia Muchas gracias por los comentarios! @srsergiorodriguez si tienes alguna duda sobre los comentarios de Antonia, puedes dejarlos por aquí y los vamos viendo juntos.
¡Un abrazo y buen comienzo de año!
¡Hola, @nllano, @anattolia @isag91! Gracias a @anattolia por los comentarios. Creo que prefiero esperar la revisión de @isag91 antes de ponerme manos a la obra y ajustar la lección. ¡Feliz año!
¡Hola @srsergiorodriguez y @nllano! No voy a poder realizar la revisión esta semana, desafortunadamente, pero estará lista a finales de mes.
¡Hola! Espero que estén comenzando el año bien :)
@isag91: A finales de mes está bien. Muchas gracias por avisar.
¡Hola @srsergiorodriguez y @nllano!
Espero que estén bien. Muchas gracias @srsergiorodriguez por esta lección. Me pareció super interesante y me encanta que se añadan tutoriales más creativos en Programming Historian.
Aquí van mis comentarios. Avísenme si tienen cualquier duda.
Introducción
-
[x] 1. Añadir enlace Wikipedia para las Gramáticas libres de contexto.
-
[ ] 2. En la introducción se podría añadir un ejemplo de collage y un ejemplo de poema generado para que el lector pueda situar mejor de que se trata.
-
[x] 2. "Ambas piezas de software fueron escritas por Sergio Rodríguez Gómez, autor de la versión en español". Esta frase no es muy clara para mí. ¿De qué versión estamos hablando?
-
[x] 2. Clarificar que igrama hace parte de la librería Aventura.
Prerequisitos
- [x] 4. html -> HTML
La literatura electrónica
-
[x] 6. La segunda frase del párrafo me parece demasiada larga y contiene "es decir" dos veces.
-
[x] 6. También hablaría de los dos "casos" en dos frases distintas.
Generadores, una estrategia mecánica-aleatoria
- [x] 11. Se podría mencionar que también existen generadores de texto usando aprendizaje automático, aunque no se tratan de ellos en esta lección.
¿Qué son las gramáticas libres de contexto?
- [x] 12. Añadir enlace Wikipedia para Noam Chomsky
Programar un generador de texto con Aventura.js
-
[x] 20. markov -> Márkov.
-
[x] 20. Añadir enlace Wikipedia para las cadenas de Márkov.
-
[x] 20. Añadir enlace Wikipedia para "narrativa hipertextual".
Preparar el entorno
-
[x] 22. Me parece que hacen falta más explicaciones acerca del archivo index.html. Dice “es el documento de base que contendrá todo lo relacionado con nuestro proyecto”. Sin embargo, no añadimos nada más en el a lo largo del tutorial. ¿Cuál es su función más precisamente?
-
[x] 24. “la documentación la libería” -> “la documentación”
-
[x] 25. release -> release
-
[x] 30. Enter -> Enter
-
[x] 30. install -> Install
-
[x] 30. Me parece importante explicar lo que significa “live server” y porque los usamos. No solo se trata de describir cual botón presionar etc., pero también explicar lo que está pasando.
Programar la gramática
-
[x] 31. Añadir enlace Wikipedia para José Asunción Silva.
-
[x] 32. Al carbón -> Al carbón (o usar comillas)
-
[x] 32. Me parecería mejor decir que habla de varias cosas en sucesión y hacer una lista en vez de usar ‘primero’, ‘luego’, ‘posteriormente’, etc.
-
[x] 34. Al carbón -> Al carbón (o usar comillas)
-
[x] 36. signos de menor que y mayor que -> signos de "menor que" y "mayor que".
-
[x] 40. Json -> JSON (a lo largo del tutorial cuando no es la extensión de un archivo)
-
[x] 48. Hace falta explicar lo que es la consola del explorador y porque se tiene que abrir la página index.html (aunque no tiene contenido visual).
-
[x] 49. Esta línea de código tendría que venir antes. No es muy claro que se refiere a esto cuando se dice “pega este código” en el párrafo anterior.
-
[ ] 49. A lo mejor, estas cuatro líneas podrían aparecer juntas al principio. Por ejemplo: “Ahora debemos crear una instancia de Aventura, fijar la gramática, expandirla y mostrar el texto en la consola”. Después podrías explicar cada línea por separada.
-
[x] 50. Tampoco se veía así mi menú para abrir la consola. Creo que los comandos (Control + Shift + J para Windows/Linux y Command + Option + J para Mac) serían más útiles.
Recordar elementos escogidos al azar
- [x] 56. "como es el caso de crear nuevas reglas sobre la marcha que puede ser utilizado para recordar fragmentos de texto que se han escogido al azar." Oración un poco confusa.
Crear un generador de imágenes con Aventura.js
-
[x] 62. Sugiero empezar un párrafo nuevo cuando empiezan las instrucciones.
-
[x] 62. Indicar explícitamente que tenemos que abrir la aplicación igrama.
-
[x] 62. Sugiero “nuestro collage” en vez de “nuestra imagen” para usar un término distinto para el producto final y las imágenes usadas en el proceso.
-
[x] 67. “Usaremos esas imágenes en blanco como plantillas para, por medio de un programa de edición, crear los fragmentos de imagen que se remezclarán en nuestro generador. Estas imágenes en blanco son solo una referencia para tener claridad sobre los tamaños de nuestros fragmentos de imagen, así que no es necesario guardarlas en la misma carpeta de nuestro proyecto.” Como ya tenemos imágenes apropiadas, no las usamos. Sugiero decirlo desde el principio para que sea todo más claro.
-
[x] 68. El archivo que descarga -> El archivo JSON que descarga
-
[x] 70. “Si quieres crear tus propias imágenes”. Me parece confusa esta frase a mediados del párrafo ya que todo lo que viene antes también es para crear nuestras propias imágenes. Sugiero escribirlo al principio.
-
[ ] 71. Hay forma de descargar todas las fotos de una vez?
-
[ ] 72. Ya está dicho en el párrafo 68.
-
[x] 75. “Recuerda también que puedes ver los resultados de tu programa haciendo clic en “go live” en la parte inferior derecha de Visual Studio Code (al inicio de esta lección se explicó cómo instalar y usar la extensión Live Server).” Sugiero “Puedes ver los resultados...”. No me parece que es un recordatorio.
-
[x] 78. guardardarlas -> guardarlas
-
[ ] 78. “Las carpetas que descargaste y pusiste en imgs tienen exactamente el formato necesario para este proceso, solo hace falta guardardarlas junto al archivo json en un archivo zip.” Sugiero algo como: “Para intentarlo, puedes usar la carpeta imgs. Guárdala junto al archivo json en un archivo zip y …".
-
[x] 80. Para la última frase, sugiero añadir un poco más contexto. Si acabamos de arrastrar el archivo zip, seguimos en la interfaz para crear modelos autocontenidos (figura 11) y me parece más claro indicar que se puede hacer clic en 3) generador y ahí arrastrar el modelo autocontenido JSON que acaba de descargarse. Así se entiende mejor el proceso que si nos das el link al generador por separado. También indicaría que, en este caso, el collage aparece directo dentro de igrama. Hasta ahora, siguiendo la lección, solo había visto los collages dentro de la página del navegador creada por la extensión Live Server.
-
[x] En general, me parece que no se clarifica bastante la diferencia entre el proceso para ver los collages en el navegador y verlos dentro de igrama. Me parece que sería más claro presentar las dos opciones desde el principio y explicar la diferencia entre los dos procesos.
-
[x] El problema del tamaño de las imágenes también me resultó un poco confuso. Dice: “Si quieres asegurarte de que tus resultados sean exactamente los mismos a los de la lección, puedes reemplazar el contenido de tu archivo json por el código anterior.” Yo no hice esto y sin embargo funcionó. ¿Así que las imágenes no tienen que ser exactamente del mismo tamaño del tamaño determinado por el paso “estructura”? ¿Qué pasa entonces? ¿Las imágenes están redimensionadas (¿o recortada?) de forma automática? Cuando se habla de las plantillas blancas, parece que las imágenes tienen que tener este tamaño exactamente. También en 78 dice “Las carpetas que descargaste y pusiste en imgs tienen exactamente el formato necesario para este proceso”. No entendí bien porque esta frase estaba ahí si este paso solo es para ahorrarse el trabajo de escribir las urls de la gramática de igrama.
-
[ ] Como persona que no conoce mucho de JavaScript, también me pregunto porque los poemas solo se pueden ver en la consola mientras los collages se pueden ver en el navegador.
-
[ ] Finalmente, dices al principio que JavaScript es apropiado para crear proyectos que circulan en la web. Me parecería bien añadir algo sobre este proceso al final, aunque sea con enlaces a otras fuentes. Por ejemplo, como podría publicar un generador de poema/collages en mi sitio web?
¡Hola!
Qué maravilla. @isag91, muchas gracias por los comentarios detallados sobre la lección <3
@srsergiorodriguez nos cuentas si tienes alguna duda sobre alguno de los comentarios de Isabelle y Antonia.
¡Un abrazo para todos!
¡Hola, @nllano, @rivaquiroga, @anattolia, @isag91, gracias por los comentarios!
Ya hice los ajustes, les agradezco la lectura atenta y las sugerencias.
Estas son respuestas a las preguntas que proponen en los comentarios:
Sobre (30) de @anattolia, creo que la interfaz cambia bastante dependiendo de los temas y las actualizaciones de VSCode. En mi caso, no aparece la barra de la izquierda. ¿Consideran que es mejor añadir el pantallazo o puede ser suficiente con la versión genérica de entrar al menú superior? Yo lo puse así porque me parece que es lo que tiene menor probabilidad de cambiar en la interfaz.
Sobre (71) tanto de @anattolia como de @isag91, tal vez podríamos incluir las imágenes en un solo archivo .zip. ¿Qué piensas, @nllano?
Sobre el primer (2) de @isag91, ¿podríamos incluir alguno de los resultados de collage que se crean más adelante en la lección o prefieren un ejemplo diferente?
Entiendo el punto en (30) de @isag91 acerca del problema de la instrucción de presionar 'live server' sin una explicación más detallada de qué sucede internamente al hacerlo, añadí una línea aclaratoria. Sin embargo, y esta creo que es una cosa que me ha parecido difícil en el proceso de hacer la lección y puede ser una reflexión interesante para pensar con @nllano y @rivaquiroga, es complicado equilibrar la explicación de los procesos computacionales subyacentes con las instrucciones para llevar a cabo el proyecto. Creo que, cosas como explicar en mucho detalle en qué consiste la creación de un servidor local que se conecta con el explorador web, pueden salirse del alcance de la lección y hacer que los pasos para el proyecto se enloden un poco, ¿cómo podemos determinar cuando explicar en más detalle y cuándo, tal vez, referir a otra parte?
Sobre lo anterior, por ejemplo, @isag91 pregunta por qué los textos solo pueden verse en la consola. La respuesta es que los textos se pueden mostrar usando javascript y html de muchas formas diferentes, y se pueden crear interfaces para mostrar los textos. Pero creo que una explicación más detallada de cómo hacerlo nos llevaría a problemas de diseño web que excederían los alcances de la lección. Creo que eso alargaría muchísimo el texto, ¿creen que es conveniente tal vez una lección aparte sobre diseño de sitios web?
¡Saludos! ¡Gracias nuevamente! Sergio