- May 2024
-
chiselapp.com chiselapp.com
-
Además, ayuda en la creación de planes y políticas destinadas a cerrar la brecha en la generación, accesibilidad y apertura de la información política.
¿Cómo el análisis de la calidad de los micro-datos extraídos ayuda en esto?
-
mejor cómo se distribuye y consume la información en la plataforma
Esto no se analizó.
-
la investigación examina cómo la información política sobre X/Twitter afecta la participación de los ciudadanos, la transparencia y la capacidad de tomar decisiones bien informadas
Esto no fue lo que se examinó. Corregir de acuerdo a lo que sí se hizo.
-
de cuánta información
Nunca analizamos cuánta información se podía extraer, sino cual era su calidad.
-
Al analizar el impacto político en X/Twitter utilizando la minería de textos como herramienta, el proyecto ofrece un enfoque novedoso al tema en cuestión. Esto nos permite comprender de una manera más precisa y profunda cómo la difusión de información impacta los procedimientos electorales y la opinión pública a lo largo de la campaña a la alcaldía de Bogotá.
Esto no fue lo que se analizó. Nunca revisamos ni impacto, ni difusión de información.
-
la toma de decisiones bien informada.
[...] informada. Todo lo anterior inicia en un pequeño e importante paso: poder extraer información de Twitter/X por distintos medios y poder analizar su calidad.
-
X/Twitter
-
X/Twitter
-
X/Twitter
-
X/Twitter
-
X/Twitter
-
X/Twitter
Twitter/X
-
técnicas
~~tecnicas~~ ~> fuentes
-
Twitter
Twitter/X
-
Un político, autor de Colombia
integrar en párrafo anterior
-
X/Twitter
-
X/Twitter
Usar siempre Twitter/X y no una veces así y otras al contrario.
-
-
-
documentLinks do: [:link | thisSnippet database importDocumentFrom: link ].
smalltalk myPages := documentLinks collect: [:link | thisSnippet database importDocumentFrom: link ].
En lugar dedo:
es uncollect:
para que la nueva colección quede asignada a la variablemyPages
. Una vez esto funcione, el resto de las intrucciones permite exportar sólo las nuevas páginas, en lugar de todas.
-
-
-
documentLinks
~~documentLinks~~ ~> myPages
Con este nuevo iterador, es posible trabajar con la colección deseada:
Una vez se trabaja con la colección correcta, el resto del código funciona y las páginas se pueden exportar.
-
documentLinks collect: [:link | thisSnippet database importDocumentFrom: link ].
Este resultado hay que reusarlo, asignándolo a una variable.
smalltalk myPages := documentLinks collect: [:link | thisSnippet database importDocumentFrom: link ].
-
Falla frecuentemente pasa cuando utilizo la variable asMardeepFile para resolverlo normalmente borro todas las sesiones descargadas y vuelvo hacerlo pero hoy aun así no funciona.
Enviaste el mensaje
asMarkdeepFile
a unString
(cadena de texto en lugar de a una página de Lepiter. Tendrías que haber enviando el mensaje a unaNamed Page
.
-
-
chiselapp.com chiselapp.com
-
Problemática
En la problemática falta, hacia el final, uno o dos párrafos referido a los temas de investigación reproducible y algo de narrativas de datos, para juntarlos a la formulación del problema.
-
¿Cuál es el impacto político de la proliferación o difusión de información de Gustavo Bolívar y Juan Daniel Oviedo en Twitter (ahora llamado “X”) durante su postulación a la alcaldía de Bogotá en 2023 a través de la minería de texto?
Esta pregunta ya no es la que se está abordando. Debería cerrar más bien en la línea de:
Dado que ha habido un cierre en el acceso para investigadores al API de Twitter/X, pero este espacio es aún ampliamente influyente en la comunicación política y ase pueden adquirir datos de perfiles específicos mediante la técnica de scrapping (extracción o "raspado" de datos), esta tesis busca explorar ¿cuál es la calidad del microdato que se puede extraer de esa red social mediante distintas técnicas?
Esto como primer insumo para continuar haciendo el análisis de los datos tomados de esta red mediante la técnica de scrapping, entendiendo la calidad de los mismos, para que su posterior análisis aliente nuevas técnicas investigativas y formas de participación ciudadana.
-
como sujetos de la investigación.
porque ...
-
son
eran
Cambiar los tiempos verbales para que correspondan con una formulación en el pasado.
-
Cada candidato posee los conocimientos, talentos y experiencia necesarios para mejorar la ciudad de la ciudad capitalina (Noticiasrcn, 2023)
Esta es una opinión, expresada por un medio periodístico, no un hecho. No sabemos si tienen o no esos requisitos de mejora. Cambiar la redacción.
-
pública
pública.
-
gratuita
al menos para bajos volúmenes de datos.
-
los desarrolladores
e investigadores
-
cobrará
cobró
-
X/Twitter
No revertir la sigla. Siempre Twitter/X y no al contrario.
-
/x
Twitter/X
Siempre usar la mayúscula para referirse a esta red social.
-
con la toma de decisiones y la formulación de políticas para fomentar una participación política transparente.
a comprender los datos del discurso emitido por candidatos como manera de formentar maneras de participación política novedosas en contextos discursivos mediados digitalmente, que constituyen buena parte de la manera en que ciudadanos y candidatos se comunican contemporáneamente.
-
cómo se organiza, maneja y consume el material
cuánta información podemos extraer de los microdatos del discurso político en contextos digitales, particularmente en Twitter/X.
-
y procesamiento de lenguaje natural
-
ahora denominada ”X”
y que a lo largo de esta tesis se denominará Twitter/X
-
- Apr 2024
-
chiselapp.com chiselapp.com
-
myBoard show: i*2 "asString"; cr
Lo que quiero hacer con ese elmento en particular
-
:i
elemento de la colección donde estoy ubicado dentro de la colección
-
do:
mensaje: qué es lo que quiero hacer en esa colección.
Otros mensajes son:
collect
: coleccionar elementos que satisfagan una condición.reject:
rechazar elementos que satisfagan una condición.select:
seleccionar elementos que satisfagan una condición.- `detect: detectar el primer elemento que satisfaga una condición.
doWithIndex:
hacer algo con los elementos teniendo en cuenta también la posición del elemento en el arreglo.
-
1 to: 10
colección: la secuencia de objetos que quiero recorrer.
-
-
chiselapp.com chiselapp.com
-
thisSnippet database importDocumentFrom: link
intrucción*: qué quiero hacer con cada elemento donde estoy ubicado (y eventualmente con su índice).
-
:link
en cual elemento de la colección estoy ubicado. Y eventualmente, su índice, es decir su posición dentro de la colección.
-
documentLinks
Esta es una colección de informacón (usualmente son arreglos)..
-
do:
El mensaje: Qué quiero hacer con esta colección.
Otros mensajes pueden ser:
do:
hacer con los elementos.doWithIndex:
hacer con los elementos, teniendo en cuenta su posición.collect:
coleccionar elementos.select:
coleccionar elementos.detect:
detectar el primer elemento que satisfaga una condición.reject:
rechazar elementos.
-
-
chiselapp.com chiselapp.com
-
#('hello' 'World') at: 2 put: 'Pharo'; yourself.
Esta versión no genera error:
smalltalk myArray := #('hello' 'World'). myArray asOrderedCollection at: 2 put: 'Pharo'; yourself.
-
Pruebe ALT-p (o CMD-p o CTRL-p) en las siguientes expresiones:
Tres maneras de pensarnos las maneras de trabajar con código:
- Impresión: muestreme el resultado como una cadena de texto.
- Ejecución¨: Ejecute el resultado, pero no me muestre nada.
- Inspección: Muestreme el resultado y una vista especializada de ese objeto
-
¿Que significa Character allByteCharacters? y cual es su función para que casos se utiliza?
Esto se usa para conocer todos los signos de caracteres que se pueden usar en una impresión. Los recuadros con una "X" por dentro, quiere decir que ese caracter corresponde a un fuente tipográfica que no está instalada aún.
-
-
-
The acrid smell of hot solder emanates from a table in the corner, where an intergenerational group of people is learning how to build a pirate FM radio station. Across the room, at the beat-making collaboration station, three teenagers with headphones on nod in time to the boom boom bap of hip hop beats they are creating. In another corner, several children goof around in front of a giant green screen, where they shoot still images that they will later stitch together into an animation. These activities, and many more, are part of a DiscoTech, or Discovering Technology community fair, within the Media a Go Go Lab at the 2012 Allied Media Conference (AMC).2 The description of that space in the AMC program reads
Diagrama de subconjuntos del diseño inclusivo y la accesibilidad creado por Livinda Christy:
Principios del diseño inclusivo A continuación siete principios del diseño inclusivo que fueron publicados por Henny Swan, Heydon Pickering, Léonie Watson e Ian Pouncey en inclusivedesignprinciples.org.
-
- Mar 2024
-
mutabit.com mutabit.com
-
(1 to: 20 ) collect: [:each | each * 2]
each
es reemplazado en cada uno de los valores de la colección y luego se hace el cálculo dentro del bloque:
-
-
chiselapp.com chiselapp.com
-
b := [:x | x + 2]. b value: 20
La caja
b
está guardando no un valor, sino un procedimiento o cálculo futuro, cuyo resultado conocemos cuando asignamos los valores a los argumentos de los cuales dicho cálculo requiere. -
[:x :y | x - y] value:3 value:5
En los bloques, el orden de los argumentos importa:
-
-
mutabit.com mutabit.com
-
messageBoard show: 'Pharo'.
-
Los mensajes 'keyword' son mensajes con argumentos. Tienen la siguiente forma: anObject akey: anotherObject akey2: anotherObject2 Inspecciona los siguientes mensajes keyword: 4 between: 0 and: 10.
En otros lenguajes de programación, este mensaje estaría representado de la siguiente manera:
Por ejemplo Ruby
4.estaEntre(0,10)
o podría ser algo como:
compararNumeroEntre(4,0,10)
-
anObjecto aMessage anotherObject
Un ejemplo es el siguiente:
-
#('hello' 'World') at: 2 put: 'Pharo'; yourself.
Los arreglos estáticos no pueden ser cambiados en el momento de su definición, pero sí después:
-
#( 1 2 3 #(4 5 6)) size
Lo que tenemos es una caja con elementos por dentro, uno de ellos puede ser una caja
Si queremos ver/contar los elementos interiores hacemos:
```Smalltalk
( 1 2 3 #(4 5 6)) flattened size
```
El arreglo aplanado se ve así:
-
-
chiselapp.com chiselapp.com
-
Símbolos
Un símbolo permite distinguir entre dos objetivos que tienen el mismo valor, pero no están almacenados en el mismo lugar:
-
Character space
Al conjunto de todos los caracteres, es decir
Character
, le estamos enviando el mensajesspace
, lo cual nos entrega un conjunto dentro de ese conjunto. En este caso, estamos enviando el mensaje a un conjunto, lo cual se reconoce porque su primera letra es mayúscula. Si fuera minúscula, se la estaria enviando a un elemento de un conjunto. A los conjuntos se les conoce como clases, a los elementos se les conoce como instancias.A veces puede pasar que le enviemos un mensaje a una clase o una instancia y que el resultado caiga en otra instancia.
1 to: 10
-
-
mutabit.com mutabit.com
-
dysaffordances (a subcategory of disaffordances), a term he uses for an object that requires some users to misidentify themselves to access its functions. For example, as a nonbinary person, I experience a dysaffordance any time I interact with a system, such as air-travel ticketing, that forces me to select either Male or Female to proceed
-
An object's affordances are never equally perceptible to all, and never equally available to all; a given affordance is always more perceptible, more available, or both, to some kinds of people. Design justice brings this insight to the fore and calls for designers' ongoing attention to the ways these differences are shaped by the matrix of domination.
-
He thus firmly subscribes to the individual/medical model of disability that locates disability in “defective” bodies and as a “problem” to be solved, rather than the social/relational model (that recognizes how society actively disables people with physical or psychological differences, functional limitations, or impairments through unnecessary exclusion, rather than taking action to meet their access needs20),
-
the book is a compendium of designed objects that are difficult to use that provides key principles for better design, but it almost entirely ignores questions of how race, class, gender, disability, and other aspects of the matrix of domination shape and constrain access to affordances
-
It's full of useful insights and compelling examples. However, it almost entirely ignores race, class, gender, disability, and other axes of inequality. Norman very briefly states that capitalism has shaped the design of objects,17 but says it in passing and never relates it to the key concepts of the book. Race and racism appear nowhere.
-
affordance refers to “the perceived and actual properties of the thing, primarily those fundamental properties that determine just how the thing could possibly be used.”
-
affordances are “an object's properties that show the possible actions users can take with it, thereby suggesting how they may interact with that object. For instance, a button can look as if it needs to be turned or pushed.”
-
affordances are “an object's properties that show the possible actions users can take with it, thereby suggesting how they may interact with that object. For instance, a button can look as if it needs to be turned or pushed.”
-
What will it take for us to transform the ways that we design technologies (sociotechnical systems) of all kinds, including digital interfaces, applications, platforms, algorithms, hardware, and infrastructure, to help us advance toward liberation?
-
Design is the process by which the politics of one world become the constraints on another.
-
- Jan 2024
-
mutabit.com mutabit.com
-
name =
This part of the annotation should be put in the metadata for future versions of the exporter
-
- Dec 2023
-
chiselapp.com chiselapp.com
-
Bibliografía
La bibliografía no está hecha con normas APA.A veces de primeras se usan nombres, a veces apellidos, a veces con sólo la inicial del nombre, a veces con el nombre completo y no está en orden alfabético.
Aplicar correctamente las normas APA.
-
Conclusiones
Se necesita que las conclusiones hablen de modo más explícito con los objetivos. Al menos debería haber una por cada objetivo, hablando de manera explícita de cómo esta tesis permitió alcanzar o no dicho objetivo.
Esto sería posible una vez el análisis de la calidad de los microdatos extraídos esté realizado en Pharo.
-
La minería de textos en Twitter durante una campaña política, utilizando herramientas de scraping cómo Apify, enfatiza la relevancia de la ciencia de la información para comprender el impacto político de la transmisión de información digital.
Muy genérico. ¿Cómo se evaluó este impacto?
-
Durante una campaña política, la minería de textos en Twitter es fundamental para evaluar el impacto político de la distribución de información en esta plataforma, enfatizando la relevancia de la narrativa y la visualización de datos.
Parece una afirmación muy genérica. ¿Cómo esta tesis espefíficamente justifica esta postura?
-
La transparencia y la visibilidad en la publicidad de los resultados son fundamentales. Como resultado, los algoritmos de minería de texto utilizados, la metodología utilizada, los datos de Twitter recopilados, así como las herramientas y configuraciones utilizadas, deben proporcionarse para que cualquier investigador pueda replicar su trabajo de forma independiente.
Ser más específico. ¿Cómo esta tesis ayudó a la replicabilidad?
-
Se requiere una revisión rigurosa de la calidad de los datos obtenidos para garantizar la solidez de los resultados, que incluye la validación de la exactitud, coherencia y confiabilidad de los datos extraídos.
Muy genérico. Esto se presupone antes de la tesis.
-
El proceso de diseño basado en la investigación se divide en numerosas fases interrelacionadas, lo que permite modificar la técnica a medida que se desarrolla el estudio y utilizar prototipos como instrumentos para probar ideas y vivir mundos posibles.
Ser más específico sobre cómo esto se hizo en la tesis.
-
Marco teórico:
El marco teórico va después de los objetivos. Sobran los dos puntos.
En el marco teórico vale la pena no sólo listas un poco de conceptos aislados, sino cerrar con una párrafo que diga cómo los conceptos presentados se conectaron en esta tesis en particular.
-
Narrativa de datos
La parte de narrativa de datos debería moverse al marco teórico.
-
SAP Insights, s. f.
Esta referencia aparece repetida en la bibliografía. Además no veo cómo el texto se deriva de la referencia dada. Pareciera más bien una redacción genérica y automatizada que algo derivado de dicha fuente.
-
Oviedo
Debería colocarse también el nombre, como se hizo con Gustavo Bolivar y no sólo el apellido.
-
.
Separar en nuevas líneas cada instrucción cuando se llegue a un punto (
.
) -
startCreated_at := '2022-10-01' ascreated_at. endCreatd_at := '2023-12-31' ascreated_at. simulatedTweets := DataFrame newColumn: 'Date' with: #('2022-09-15' '2023-06-20' ). simulatedTweets columnName: 'Date' put: 'Date'. tweetsInRange := apifyTweet select: [ :row | | tweetCreated_at | tweetCreated_at := (row at: 'Date') ascreated_at. (tweetCreated_at >= startCreated_at) & (tweetCreated_at <= endCreated_at) ].
Es bueno mostrar una captura de pantalla de los resultados de este código, para aclarar al lector qué es lo que se pretende con el mismo.
-
Arley
Este subtítulo ya hay que quitarlo y limpiar la libreta de GToolkit para dejarla lista para publicar.
-
Toolkint
-
Explorador de datos
Vale la pena renombrar la libreta de GToolkie mejor como "Análisis de la calidad de los microdatos extraídos".
-
powershell
No entiendo a qué se refiere la variable
powershell
. -
Se usará este código para ubicar los archivos: powershell dataFolder := FileLocator documents / ''.scoop install extras/lite-xl Este codigo para abri los archivso: apifyDataRaw := dataFolder / 'Apify/dataset_
Este código hay que partirlo por líneas y no fue el usado para localizar los archivos, pues contiene errores.
-
tres secciones
Colocar los siguientes elementos como una lista de items.
-
Adquisición de datos: Herramientas de Scraping
Esta part debería ir después del capítulo de configuración del entorno de investigación reproducible.
-
y el diálogo constante con las comunidades involucradas
Acá no hubo diálogo con ninguna comunidad involucrada.
Si bien se invitó a usar textualmente cuando se pudiera de una definición que puse en el dominio público, también es conveniente indicar que se tomaron elementos textuales de dicha definición gracias a su licencia, pero quitando las partes que no hagan sentido para esta tesis.
También sería bueno colocar la gráfica que aparece allí y explica mejor las fases y cómo se relacionan entre sí.
-
Prototipar e implementar técnicas de visualización y análisis de mensajes (Tweets) provenientes de “X/Twitter” relacionados con los candidatos Gustavo Bolivar y Juan Daniel Oviedo durante las elecciones para la alcaldía de Bogotá.
Cambiar este objetivo por algo asociado a la configuración de un entorno investigación reproducible para hacer el análisis de los datos, debido a la importancia que fue tomando.
El objetivo cambiado debería estar de primeras.
-
Caracterizar las herramientas para la extracción de datos “X/Twitter” de Gustavo Bolívar y Juan Daniel Oviedo durante la campaña electoral para la Alcaldía de Bogotá
Este objetivo debería estar de segundas.
-
Analizar los patrones discursivos en “X/Twitter” para los perfiles de los candidatos Gustavo Bolivar y Juan Daniel Oviedo durante las elecciones para la alcaldía de Bogotá por medio de un modelo de minería de texto.
Este objetivo debería cambiarse a la luz de las modificaciones sufridas en la tesis en virtud de las restricciones en el API de Twitter, sus cambios en las políticas de acceso y la terminación de los accesos académicos.
Debería más bien enfocarse en analizar la calidad de los micro-datos extraídos de Twitter para los perfiles de dichos candidatos.
-
*Resultados o productos por fase**
Sobran asteriscos.
-
*Obje tivos esp ecífi cos**
Sobran asteriscos.
-
Moldable Development fomenta los debates abiertos sobre la comprensión de los sistemas de software y la mejora del procedimiento de desarrollo. Para permitir a los desarrolladores experimentar directamente con esta tecnología.
¿Cita?
-
Transformacion de los datos recolectados:
Más que llamarle a esto "Transformación de datos", le llamaría "Desplegando un entorno de investigación reproducible", pues va más allá de la transformación de los datos y explica varías cosas más allá.
Para esta parte vale la pena explicar varias cosas y agregar capturas de pantalla de las distintas herramientas y cómo las usamos, incluyendo:
- Fossil/ChisselApp.
- Markdown/Markdeep.
- Zettlr y LiteXL
- Glamorous Toolkit.
- Hypothesis.
-
Narrativa digital:
No es narrativa digital lo que hacemos, sino narrativa de datos. Cambiar la explicación de manera acorde.
-
scraping es una técnica de marketing digital que permite extraer información secreta de documentos, más específicamente de páginas web y archivos PDF1
¿Cuál es la fuente de esta definición? En todo caso, no es el tipo de scrapping que estamos usando acá, pues la información no es secreta, sino pública y nuestra perspectiva no es la de marketing digital.
-
"X"
Usar consistentemente X/Twitter en lugar de sólo "X".
-
Merge conflicts
Cambiar jerarquía para que quede dentro de los anexos.
-
**
borrar
-
Enfoque metodológico
Acá valdría la pena colocar algo referido a la investigación diseñistica. Incluso se puede hacer una transcripción literal de casi todo el texto que está en el siguiente enlace:
https://uniabi.tiddlyhost.com/#MetodologiaIntro
pues, como siendo yo su autor, lo liberé bajo el dominio público (es importante indicar que se tomó del dominio público en tal caso, en una nota de texto.
También vale la pena explicar las fases e incluso usar/adaptar el diagrama que aparece allí e incorporarlo acá.
-
para obtener un conocimiento profundo de la gestión política y su impacto en la red social “X
Esta parte ya no es cierta.
-
- Nov 2023
-
chiselapp.com chiselapp.com
-
~~~ Smalltalk ~~~ window.markdeepOptions = {tocStyle: “auto”}
Este código de Smalltalk vacío tiene que ver con que dejaste una celda de Pharo vacía también y que no borraste antes de exportar el documento.
-
, sin embargo, es bueno que las haya para que se pueda entender mejor este tipo de actividades que actualmente lo vemos como un proceso para la materia, pero que para un futuro serviran de ayuda. Es solo cuestión de práctica y de investigación para gestionar oportunamente cada actividad solicitada.
, sin embargo, ~> . Sin embargo,
Clave el papel de la frustación y la resiliencia en el aprendizaje, así como la gestión oportuna de las inquietudes. Creo que diste muy buena cuenta de las dos primeras a través de la persistencia en las sesiones extra, que fueron tomando más ritmo en la medida que la clase avanzaba.
-
Igualmente, (hablo por experiencia propia), se debe contar con un equipo que se adecue a los programas que se descargan para este tipo de actividad.
Efectivamente. Esto es clave, particularmente para modalidades de educación bimodal que requieren participación remota. Y si bien se crearon versiones de Grafoscopio que facilitaban el proceso de instalación y disminuían los tiempos, se requieren unos mínimos de hardware y, desafortunadamente, Windows utiliza muy mal los recursos de cómputo de las máquinas donde está instalado.
-
, si
, si ~> . Si
-
vota
vota ~> bota
-
Terminal de comandos
## Terminal de comandos ~> # Terminal de comandos
-
', 'modifier' : '' }">
Este código generó error porque falto ejecutar el comando
self sanitizeMetadata
También te pasó lo de enlazar las imágenes locales en vez de remotas, que indiqué en tu socialización final del portafolio.
La explicación, a pesar de estas dificultades, es muy detallada, como se nota en los trozos de texto.
-
-
chiselapp.com chiselapp.com
-
1. Si las sesiones tiene letras en lugar de números, debemos cambiar las palabras o patrones, para evitar confusión. Por lo tanto, se cambiaria number por letter. 2. Si la dirección es acortada se debe incluir el patron Shortener enlarge antes del commonAddress.
Muy buenas notas. Respecto a la primera, realmente
number
oletter
corresponden a los llamados iteradores y en ese sentido podrían tener cualquier nombre de variable. Lo que pasa es que los reemplazamos por letra o número para hacer más claro el tipo de variable que estábamos recibiendo. -
En este paso, debemos ingresar los días de las sesiones, o mejor aún, cuantos días de sesiones tuvimos, no la fecha, es decir, en 24 días, vimos 24 sesiones de clase. El paso es el siguiente
Muy buena explicación. Una aclaración menor es que, si bien usamos 24 memorias para todo el semestre (de 32 sesiones), las faltantes se deben a los festivos y las sesiones de trabajo autónomo durante la asistencia a eventos internacionales.
-
singleDigits := (1 to: 9) collect: [:each | each asString ]
Las imágenes fueron insertadas con referencia a archivos locales, en lugar de archivos remotos, por lo cual no se ve cuando la narrativa aparece publicada en línea.
-
Paso 1
La jerarquía de títulos debería empezar con un numeral sencillo (ejp:
# Paso 1
) en lugar de doble (## Paso 1
), pues esto crea numeraciones que inician todas en cero. -
Texto explicativo
Este texto explicativo debería anteceder a la narrativa completa y no ser parte del título.
-
-
chiselapp.com chiselapp.com
-
Por último, con la instrucción anterior, los archivos se visualizan de la siguiente manera
Si bien lograste exportar todos los archivos en ambos formatos, en el repositorio sólo aparecen en formato Markdown y HTML, pero no en Markdeep (
.md.html
), como muestra la siguiente captura de pantalla. Quizás tuvo que ver con las dificultades que tuviste hacia el final agregando varios archivos.Muy buen trabajo a lo largo del semestre.
-
estructurua nos movilivamos
estructura nos movilizamos
-
crearemos una copia de estos enlaces en el repositorio que se encuentra en nuestro disco duro
Más que crear una copia de los enlaces, creamos una copia de sus contenidos.
-
Ahora, le diremos que queremos una colección de hedgeDocs por cada sesión y que cada una tendrá como título “Memoraias semestrales sesión número... tal”
Muy buena y sucinta la explicación de la intensión general del código a continuación.
-
Memoraias
Memorias
-
daysIndexes := singledigits, doubledigits
Esta es la parte que genera los índices para cada día, no la expresión original, pues en la clase de dudas la corregimos.
-
:= (1 to: 24) collect: [:each | each asString ]
Esta asignación y la siguiente expresión son las que generaban un índice para cada día, aunque luego se cambio para que fuera con la composición de
singleDigits
ydoubleDigits
. -
generando un indíce por cada día con la expresión “daysIndexes”
La expresión
daysIndexes
no genera precisamente un índice para cada día, sino que lo almacena. Lo que lo genera es la expresión posterior (ver siguiente anotación). -
En este espacio, visualizaremos el paso a paso de cómo guardar las memorias de cada clase del seminario taller Unidades Semánticas, desarrolladas durante el semestre 2023-3 en la Pontificia Universidad Javeriana dirigida por el docente Offray Luna Cárdenas.
Muy bueno que haya una introducción al texto, como se espera de una narrativa o texto explicativo tradicional.
-
-
chiselapp.com chiselapp.com
-
INSERTAR FOTO
Faltó esta imagen, aunque es buena estrategia coloca el recordatorio para futuros lectores, incluyendo la autora.
-
Ejecutando el siguinte mensaje,
siguinte ~> siguiente
SI bien hay un sólo mensaje
collectWithIndex
que crea el ciclo, dentro hay una secuencia de mensajes -
En primer lugar, recuperaremos las memorias de la clase por medio de sus enlaces acortados. https://is.gd/semanti23B
Esto estaba en la narrativa original, pero finalmente no usamos los enlaces acortados en esta ocasión.
-
#1. Memorias a partir de los enlaces acortados
Falta un espacio entre el signo
#
y el siguiente caracter. De este modo:# 1. Memorias a partir de los enlaces acortados
se vería como una sección:
1. Memorias a partir de los enlaces acortados
-
-
chiselapp.com chiselapp.com
-
Date today + 3 weeks
- receptor:
Date today
- mensaje:
+
- argumento:
3 weeks
- receptor:
-
-
chiselapp.com chiselapp.com
-
BINARIO
Un mensaje binario es de la forma:
objeto mensaje argumento
-
- Oct 2023
-
chiselapp.com chiselapp.com
-
Al ejecutar el comando aparece un error
Efectivamente, este el comportamiento esperado. Pues estamos trabajando con arreglos estáticos. Cuyos valores no pueden ser cambiados una vez se han definido. Si queremos arreglos cuyos valores cambien, usamos los arreglos dinámicos, que vienen en la siguiente sección.
El equivalente con arraglos dinámicos sería:
smalltalk {'hello' . 'World'} at: 2 put: 'Pharo'; yourself
-
-
mutabit.com mutabit.com
-
(2 asString) == (2 asString).
Se trata de una comparación fuerte. A pesar de que el resultado de enviar el mensaje
asString
es el mismo, no estoy guardando dicho resultado en el mismo lugar.
-
-
chiselapp.com chiselapp.com
-
#PharoTutorial == 'PharoTutorial'.
Esta comparación da "false" porque el símbolo único
#PharoTutorial
no es igual a la cadena'PharoTutorial'
.Los símbolos son una manera de desambiguar "homonimias".
-
#PharoTutorial asString Se ejecuta la palabra “PharoTutorial” como un solo símbolo.
Estoy convirtiendo un símbolo en una cadena.
-
'PharoTutorial' asSymbol Se ejecuta la palabra “PharoTutorial” como un solo símbolo.
Convierte de cadena de caracteres en símbolo.
-
'a' class
Si recordamos nuestra introducción a Smalltalk, la clase, corresponde al conjunto que contiene los objetos:
-
El resultado para esta cadena es: This class represents the array of 8 bit wide characters.
Esta es una sóla de las solapas. Otras nos muestran otra información.
-
Character allByteCharacters El código anterior permite “imprimir” o ejecutar los 256 caracteres del código extendido ASCII. Se ejecutan palabras sin sentido por lo que puede haber un problema de visualización de los simbólos latinos o romanos.
La ejecución de este código genera como resultado:
Como nos damos cuenta, hay algunos caractéres no imprimibles, debido a que falta instalar las tipografías en el sistema operativo, que las hacen visibles en resultado.
Que un caracter no sea imprimible dentro del Glamorous Toolkit, no quiere decir que no se pueda ver cuando se exporta a otros entornos, por ejemplo a la web.
-
- Sep 2023
-
globalinnovationgathering.org globalinnovationgathering.org
-
It' is pretty good to see the mapping innovation taking several shapes, from the starting narrative to this one.
Regarding feedback from this one I would make a call out that make more visible where the data and code behind the map is hosted and how to reproduce the results.
On a more general sense, I think is important to see how the different narratives are better connected and which values they embody and make explicit. I would propose this values:
-
Utility:
- internal: helping us to make short or long lasting peer to peer connections like the one between Copincha (Habana, Cuba) and HackBo/Grafoscopio (Bogotá, Colombia) communities resulting from DOTS 202.
- external to showcase which innovation, people and communities are doing and how they are connected now or can be in the future.
-
Reproducibility: The data narratives should be able to be reproducible.
-
Portability: Functionality bundles, including data, code, software should be packages to they can be used in local contexts, particularly those with low/intermittent internet connectivity.
-
Recontextualization: Our data narratives should be empowering its reuse, adaptation, and extension by other communities and in other context.
- Commons/Community oriented: licenses on data/code should be explicit to allow the previous qualities. Some times that would require a copyfarleft license that protect third parties extract value from the data narratives and its bundles against the community interest (cfg current discussion on data collection from IA projects against community of creators).
-
-
- Aug 2023
-
-
Al terminar esta guía, estarás en capacidad de
Interesante revisar estas posibilidades.
-
- May 2023
-
chiselapp.com chiselapp.com
-
hedgeDoc metadata at: 'title' put: ('Sesión del 17 de marzo').
Mensaje unario:
- receptor:
hedgeDoc
- mensaje:
metadada
Mensaje Keword:
- receptor:
hedgeDoc metadata
- mensaje:
at: put:
- argumentos:
'title'
'Sesión del 17 de marzo'
- receptor:
-
hedgeDoc := HedgeDoc new url: 'https://docutopia.sustrato.red/accesibilidad:23K?both# '; retrieveContents.
Mensaje unario:
- receptor:
hegeDoc
- mensaje:
retrieveContents
Mensaje Keyword:
- receptor:
hegeDoc
- mensaje:
url:
- argumento:
https://docutopia.sustrato.red/accesibilidad:23K?both#
- receptor:
-
Muy detallada narrativa.
Faltan:
- Gráficas que muestren los resultados de los procedimientos.
- Señalar los mensajes, etiquetando su tipo (unario, binario, keyword).
Tags
Annotators
URL
-
-
chiselapp.com chiselapp.com
-
Shortener enlarge: commonAddress, letter asString
- receptor:
Shorterner
- mensaje:
enlarge:
- argumento:
commonAddress, letter asString
- receptor:
-
commonAddress, letter asString
- receptor:
commonAddress
- operador:
,
- argmento:
letter asString
- receptor:
-
letter asString
- receptor:
letter
- mensaje:
asString
- receptor:
-
-
chiselapp.com chiselapp.com
-
https://drive.google.com/file/d/16ons3MpMA-cXj5X3sPISuh9DurMZNq67/view?usp=sharing
Estas gráficas deben ser enlazadas como gráficas externas, usando el snippet
Picture
, que provee GToolkit para ello.
-
-
chiselapp.com chiselapp.com
-
Buena narrativa con gráficas y narrativas.
Faltó:
- Señalar los tipos de mensajes (unario, binario y keyword).
-
dataWeekDailyNoteAddresses
Podría cambiarse el nombre de esta variable, pues ya no recoge las memorias del Data Week, sino las del seminario.
-
'Data Weeks: Guardar las memorias del evento'
Es de anotar que si bien el texto base es Data Weeks, recuperar las memorias del evento. El código presente en tu narrativa ya responde a su propia lógica y puede leerse con función a lo que ocurre acá.
-
-
www.robinsloan.com www.robinsloan.com
-
In a better world, I would have built this in a day, using some kind of modern, flexible HyperCard for iOS. In our actual world, I built it in about a week, and roughly half of that time was spent wrestling with different flavors of code-signing and identity provisioning and I don’t even know what. I waved some incense and threw some stones and the gods of Xcode allowed me to pass. Our actual world isn’t totally broken. I do not take for granted, not for one millisecond, the open source components and sample code that made this project possible. In the 21st century, as long as you’re operating within the bounds of the state of the art, programming can feel delightfully Lego-like. All you have to do is rake your fingers through the bin.
It's a good remainder of not taking Free Libre Open Source Software (FLOSS) as granted, as a commons we don't need to fight for in an increasing world of extractivism, expropriation and platform surveillance capitalism against the commons. So even with all the indirection and friction behind software building, delivery and modification, having FLOSS should not given for granted.
On another note, there is already an intermediate place between hypercard and FLOSS, with pretty agile development/prototyping cycles in things like Pharo/GT. It's for the desktop, not yet into iPhone, but with betas in progress to the more more open Android ecosystem and with possibilities to run on on with PharoJS
Tags
Annotators
URL
-
- Apr 2023
-
chiselapp.com chiselapp.com
-
Debes completar la narrativa de datos para que, efectivamente descargue las memorias del seminario taller, intercalando prosa, código y gráficas.
-
-
chiselapp.com chiselapp.com
-
Debes intercalar prosa con código en una narrativa de datos.
-
-
chiselapp.com chiselapp.com
-
No has agregado al repositorio, las memorias que descargaste.
-
Data Weeks: Guardar las memorias del evento
El título ya no corresponde a los Data Weeks, sino al seminario taller de unidades semánticas.
-
-
chiselapp.com chiselapp.com
-
Agregar los archivos descargados al repositorio.
-
-
chiselapp.com chiselapp.com
-
'16-'
este nombre no corresponde a los índices descriptivos de lo que estamos haciendo. Sería mejor algún índice como
sesion-
.Dado que ya tienes archivos denominados
16-*.md
tienes que borrarlos del repositorio con el comando:fossil rm wiki/es/DataWeek/*.md
fossil rm wiki/es/DataWeek/*.md.html
Falta completar la narrativa con el comando del commit y unas que le anteceden a trozos de código
-
repositoryFolder := FileLocator documents / 'Mutabit/Repo/'.
Este folder debería corresponder a la ubicación personal del repositorio
-
-
chiselapp.com chiselapp.com
-
En Smalltalk, todo es un objeto, incluso los booleanos.
Esto sirve para modelar operadores lógicos del álgebra del boole, que son empleados en motores de búsqueda, lógical proposicional, circuitos electrónicos, etc.
Para mayor información sobre el álgebra de Boole ver:
-
PREGUNTA ¿Que es la reificación?
Ver presentación de Oscar Nietraz pag 7 para más detalles:
La reificación es la forma de guardar el estado de ejecución de un programa. Piensen en cuando se cierra un navegador y se reabre y sus páginas y en lugar en el que íbamos en ellas se recupera versus programas en los cuales tenemos que volver a recuperar el momento en el que estábamos trabajando. El primero tendría buena reificiación, mientras que el segundo no.
-
Smalltalk tiene solo seis palabras clave reservadas, cada una de las cuales representa un valor de objeto particular.
Dichas palabras hacen parte del núcleo del funcionamiento del sistema y no se pueden redefinir sin dañar gravemente el sistema.
Esas palabras reservadas modelan aspectos fundamentales de como funciona Smalltalk y en otros lenguajes de cómo funciona dicho lenguajr.
-
-
project-mage.org project-mage.org
-
An OS as an interactive image that runs independent services that communicate via message-passing.
-
And then, of course, browsers are themselves being likened to operating systems. Walled gardens, with no efficiency to speak of, with very little freedom, with too much leverage from the browser vendors. A perfect exploitation machine for keeping you within itself, all while it will do anything to harvest information about your activities, so it can show you some ads as soon as it can. An operating system alright. Yeah, just relax and no harm will come to you.
-
-
project-mage.org project-mage.org
-
Moreover, browsers are not the right way to be using web anyway. See my thought on this in the Data-Supplied Web article.
-
he only advantage of building something in a web browser is that you can view websites right in them. If your task is not to display a webpage, or build a website, if CSS+HTML is not the limit of your imagination, then there's no reason to be building complex shit in the web browser! I can see hitching a web browser ride as a ubiquitous cross-platform graphical backend (over WebGL) if you are willing to deal with all the overhead and impact on speed. But with the libraries like SDL and Skia (which browsers use), that seems kind of pointless.
-
What sounds a lot more reasonable, if you want to be proficient within some ecosystem, is to pay the upfront cost of learning only the technologies that are synergetic and not redundant.
Este puede ser el caso de Pharo con Lua y Nim, como muestran nuestras exploraciones.
Tags
Annotators
URL
-
-
chiselapp.com chiselapp.com
-
¿Por qué es importante diferenciar entre unary, binary and keyword messages?
A través de esa diferenciación, estaremos en condiciones de leer y escribir en este lenguaje/entorno de programación.
-
¿De que manera influyen las mayúsculas en el mensaje?
Los mensajes casi siempre empiezan en minúsculas. No suelen haber mensajes en mayúsculas.
Las mayúsculas se usan para:
- Clases (los conjuntos que contienen otros conjuntos u o elementos específicos).
- Variables globales o Singletons (que no veremos en detalle).
Sólo se usan mensajes en mayúsuculas cuando la temática o dominio que estamos modelando los usa. Por ejemplo GET, POST en los protocolos https
-
No me es clara la diferencia entre unary messages, binary messages y keyword messages. Se entiende que depende la de cantidad de palabras o caracteres usadas para generar el mensaje.
No tiene que ver con la cantidad de caracteres, sino con la explicación que se da a continuación.
-
lenguaje de programacion reflexivo orientado a objetos y tipado dinamico.”, esto que significa realmente.
-
Reflexivo: quiere decir que el entorno de computo es capaz de leerse a sí mimos, de ver cuál es su estado y de las instrucciones que lo hacen funcionar. Veremos más cuando revisemos la instrucción thisSnippet`.
-
Orientado a objetos: Véase Smalltalk
-
De tipos dinámicos quiere decir que no es necesario declarar el tipo de datos que algo tiene, sino que es posible determinarlo a partir de la sintaxis y los mensajes que se envían. Veremos algo más adelante.
-
-
- Mar 2023
-
chiselapp.com chiselapp.com
-
Blocks are Smalltalks anonymous functions, or lambdas. They are expressed as a sequence of statements enclosed in square brackets.
Son maneras de dejar operaciones pendientes.
-
{ 1 . 2 . 'hello' . #($a $b) . 3 / 4 }
Pueden contener cálculos u operaciones y su sintaxis es:
{ elemento1 . elemento2 . . elementoN }
-
Literal arrays are computed at parse time. They are expressed as a hash (#) followed by a list of literal values enclosed in parentheses:
No contienen operaciones. Sus elementos estas separados por espacios y contenidos dentro de los signo:
#( elemento1 elemento2 ... elementoN )
-
'smalltalk' = ('small' , 'talk') "we have the same value" ('smalltalk' == ('small' , 'talk')) not "but different identity"
Existen tres operadores similares pero distintos:
- Asignación:
x := 2
: A la variablex
le voy a asignar el valor 2. - Igualadad:
'smalltalk' = ('small' , 'talk')
- Identidad:
"smalltal' == ('small' , 'talk')
.
- Asignación:
-
3 / 4 = (Fraction numerator: 3 denominator: 4)
Esto ilustra como se pueden enviar mensajes a las clases que retornan elementos dentro de ella. Esta es una práctica habitual.
-
Pregunta: ¿las anotaciones, decimales, binarias y hexadecimales el resultado siempre será positivo?
No siempre será positvo, Esto tiene que ver con distintas maneras de representar los números.
-
¿como visualizar lo que diferencia una de la otra?
Buena pregunta. Lo discutiremos en detalle más adelante.
-
self (lenguaje de programación: wikipedia y/o sitio oficial
Si bien coinciden en el nombre el
self
de Smalltalk es diferente al lenguaje de programación Self -
Pregunta: ¿son operados que nos indican cuando no ha sido leido en su totalidad un texto por ser demasiado extenso?
No. Representan conceptos fundamentales que se requieren en el entorno para que el mismo funcione.
-
-
chiselapp.com chiselapp.com
-
Identifica los simbolos moneterios
No. Identifica las variables de las letras.
$x
: la letra "x"x
: la variable "x"
-
¿ Porque se mantiene el mismo resultado si cambiaron de posicion los literales?
Este tiene que ver con cómo se modelan la lógica de Boole dentro de Smalltalk. La lógica de Boole se modela en distintos lenguajesde programción.
-
¿ Como se hace esa representacion grafica del clases (False, True y Boolen)?
Se usa algo llamado anotaciones. Para el caso de los booleanos sería
{{gtClass:name=Boolean}}
-
thisContext
Representa al contexto donde está el objeto. Para un ejemplo específico ejecutemos dentro de un Snippet de código
thisSnippet
. Sirve para navegar el lugar al pertenece un objeto y estado de dicho lugar.En el ejemplo de la mesa, una vez tengo el contexto puedo preguntar por su color, su tamaño, etc. Y puedo preguntar sucesivamente por el contexto de la mesa: el salón, luego la universidad y por las propiedades de cada uno.
-
super
Nos da la clase que contiene al objeto que recibe el mensaje. En nuestro ejemplo de la sesión sobre los gatos:
firulais super -> Gatos
-
self
Empieza enviando el mensaje al objeto que lo recibe. En nuestro ejemplo de los gatos esto sería
firulais self -> firulais
-
false
-
true
-
nil
-
Esto ayuda a identeificar si el contenido esta en lo correcto o nocon relacion con los booleanos
-
La idea de toda esta lección es que entedamos cuál es el vocabulario básico que ya viene preconstruido dentro de Smalltalk y que podemos usar para crear nuevos vocablos.
-
Smalltalk has just six reserved keywords, each of which represents a particular object value.
Las palabras reservadas son aquellas que no puedo redefinir, sin dañar el sistema, pues Smalltalk ya tiene uso para ellas. A continuación, nos dice cuáles
-
-
cloud.kindness.army cloud.kindness.army
-
At the end of the day many of us that are innovators always find ourselves busy with the next thing we are innovating and rarely look around at the context. To be expected to look beyond the context to other forks is too much for any sane individual. because all of the forks are using trunk based development and are moving targets.
En Grafoscopio, miramos consistentemente hacia los lados, incluso más allá de la comunidad que estamos construyendo al mezclar cosas como HedgeDoc, TiddlyWiki, Pharo, GToolkit, Markdeep y Fossil en nuestro flujos de trabajo y obteniendo flujos mucho más sencillos que recreando todo en una sóla herramienta o mezclando/extendiendo herramientas más populares.
Incluso, al migrar aprendizajes desde Grafoscopio hacia Lepiter, estamos mirando hacia el lado y no sufriendo del síndrome de No Inventado Acá (NHI).
Ahora bien, lo que sí nos ha pasado con entornos Smalltalk (Pharo primero y ahora GT), es la sensación de estar desarrollando para un plataforma en continuo movimiento, con las (des)ventajas que ello trae. Una manera de fijar requerimientos y construir a partir de allí sería extremadamente útil.
-
-
news.ycombinator.com news.ycombinator.com
-
Most data flow programming environments cannot represent lambdas, and this is why the graphs always end up turning into spaghetti: you don't actually have tools to reduce repetition in the graph's structure, using the graph itself.They are successful in artist and music contexts because the graphs tend to be simple pipelines at heart. Having dealt with sufficiently complex grasshopper graphs, I disagree that it's good at arbitrary list processing, certainly compared to ordinary list operators and iterators in code.My conclusion is that a dataflow environment that does allow for lambdas and proper n-way forking would necessarily have to be an effect system in the FP sense. It's a data flow graph that computes its own continuation and which has no fixed or preset topology. It can rewire itself based on the data flowing through it.
Quizás por eso es que se requiere la programación multimodal, simbólica, icónica y enactiva, entre otras. Las ventajas de un modo, compensan las desventajas de otro.
-
Traditional visual environments visualize the code. They visualize static structure. But that's not what we need to understand. We need to understand what the code is doing.Visualize data, not code. Dynamic behavior, not static structure.”http://worrydream.com/#!/LearnableProgramming
El asunto es que debido al homomorfismo, el código puede ser visto como datos y viceversa. Las mismas técnicas empleadas en visualizar el uno pueden ser usadas en los otros, como de hecho ya hemos experimentado varias veces en la comunidad de Grafoscopio a través de las narrativas de datos.
-
Well, the best approximation we have is spreadsheets, actually. That's why they're super popular.Put the data in front, marginalize the code. Code is either "hidden" in cells where you get a live[1] preview of the data or in modules other have built but you can modify[1] if you want to.Now, how do we take this approach to the next level, that's a problem on the scale of figuring out human genetic engineering or fixing climate change :-)[1] Most of the time. relaxing 62 days ago | root | parent | next [–] First let’s figure out how to scale spreadsheets to the complexity of running a medium size business.
Las hojas de cálculo con esta inversión entre los datos y el código parecen una buena forma de popularizar la programación, si bien, como se dice acá suelen ser no escalables y conducir a código difícil de entender.
¿Cómo se podrían traer las ventajas de las hojas de cálculo a las libretas interactivas? Quizás Coda puede ser un buen punto de inspiración, para cosas futuras en Grafoscopio, vía snippets especializados, sin pasar por la complejidad incidental de la web, e implementado directamente dentro de Block, como una aplicación de escritorio, que pueda ser exportada a la web.
-
Before you can manipulate anything you have to define a set of affordances. If you have no affordances you have... nothing.A lot of programming is really about manually creating affordances that can be applied to specific domains. The traditional medium for this is text, with dataflow diagrams a distant second.People often forget that this is still symbolic programming. You could replace all the keywords in a language with emojis, different photos of Seattle, or hex colour codes, but we use text because it's mnemonic in a way that more abstract representations aren't.Dataflow diagrams are good as far as they go, but it doesn't take much for a visual representation to become too complex to understand. With text you can at least take it in small chunks, and abstraction/encapsulation make it relatively easy to move between different chunk levels.
Creo que más que manipulación directa, Victor habla de manipulación multimodal y computación con todo el cuerpo.
-
We already did, it was called Lisp Machines and Smalltalk, and we are yet to fully replicate them.
No del todo. Las interfaces kinestésicas y el pensamiento con todo el cuerpo están lejos de lo que se hace con estas tecnologías
-
To make the object less mediated, its representation should ideally be as transparent as possible. AR in this regard is much more promising than VR, since in VR the representation takes place within another representation.To make the action less mediated, the action should be able to be embodied by the (technologically extended) user, as well as being inherent to the medium which represents the subject. Here we are building a bridge between the human body and a way to represent things that physically do not exist. It's never going to be ideal, but it could be better than what we have now.
-
With computer interfaces, you hardly ever interact with something in an immediate way. I want a comment to appear on this site but instead I am writing this text in a white box and not where the comment would appear. All the computer interactions are mediated by these in-between steps. (An example for unmediated interaction would be cooking. What you chop is what you get
-