OrderedCollection [
	GrafoscopioNode {
		#header : '%metadata Data Activism Apprentice Notebook',
		#body : '',
		#tags : OrderedCollection [
			'código'
		],
		#children : OrderedCollection [ ],
		#parent : GrafoscopioNode {
			#header : 'Arbol principal',
			#body : '',
			#tags : OrderedCollection [
				'código'
			],
			#children : @1,
			#level : 0,
			#nodesInPreorder : OrderedCollection [
				@5,
				@2,
				GrafoscopioNode {
					#header : 'Learning Markdown',
					#body : 'Entramos a Stack Edit',
					#tags : OrderedCollection [
						'text'
					],
					#children : OrderedCollection [ ],
					#parent : @5,
					#level : 1,
					#links : OrderedCollection [
						''
					]
				},
				GrafoscopioNode {
					#header : 'Exercises with Peace Data',
					#body : 'The following nodes will present you with a set of excercises. 
Each  exercise is put as a node. 
Create a playground node as child of the exercise node and use the playground to write the
code needed to solve it.',
					#tags : OrderedCollection [
						'text'
					],
					#children : OrderedCollection [
						GrafoscopioNode {
							#header : 'Add two deparments',
							#body : 'Modify the \'Two deparments & dummy data\' previous example to add two more deparments to the graphic.',
							#tags : OrderedCollection [
								'text'
							],
							#children : OrderedCollection [
								GrafoscopioNode {
									#header : 'Solution',
									#body : '',
									#tags : OrderedCollection [
										'código'
									],
									#children : OrderedCollection [ ],
									#parent : @15,
									#level : 3,
									#links : OrderedCollection [
										''
									]
								}
							],
							#parent : @12,
							#level : 2,
							#links : OrderedCollection [
								''
							]
						},
						GrafoscopioNode {
							#header : 'Intermezzo: Sharing notebooks',
							#body : 'If the previous exercise was solved properly, you have now something interesting to share
with the world (well, also incomplete or wrong solutions are worthy to share also in a learning
context).
Go to the "Saving and sharing your code snippets and notebook via web > Fossil" node and develop
the proposed activity there to share the notebook with the world.
Don\'t worry, you will be able to come here and continue with this exercises.',
							#tags : OrderedCollection [
								'text'
							],
							#children : OrderedCollection [
								GrafoscopioNode {
									#header : 'Solution',
									#body : '',
									#tags : OrderedCollection [
										'text'
									],
									#children : OrderedCollection [ ],
									#parent : @23,
									#level : 3,
									#links : OrderedCollection [
										''
									]
								}
							],
							#parent : @12,
							#level : 2,
							#links : OrderedCollection [
								''
							]
						},
						GrafoscopioNode {
							#header : 'Using blocks to modularize code',
							#body : 'Can you use blocks and basic types to make the code in our pie char example more modular?
The idea is to split the functionality of such example into chunks, and put them inside blocks,
that receive arguments. Which should be such blocks? Which are the block arguments?
Rewrite the example here using the idea of blocks and arguments.
',
							#tags : OrderedCollection [
								'text'
							],
							#children : OrderedCollection [
								GrafoscopioNode {
									#header : 'Solution',
									#body : '',
									#tags : OrderedCollection [
										'text'
									],
									#children : OrderedCollection [ ],
									#parent : @31,
									#level : 3,
									#links : OrderedCollection [
										''
									]
								}
							],
							#parent : @12,
							#level : 2,
							#links : OrderedCollection [
								''
							]
						},
						GrafoscopioNode {
							#header : 'Add voting results for all deparments',
							#body : 'Use iterators (see the \'Representing data: Basic Types\' & \'Processing data > Cycles & Iteractors\')
to modify the Two deparments & dummy data example, including now all the data.',
							#tags : OrderedCollection [
								'text'
							],
							#children : OrderedCollection [
								GrafoscopioNode {
									#header : 'Solution',
									#body : '',
									#tags : OrderedCollection [
										'text'
									],
									#children : OrderedCollection [ ],
									#parent : @39,
									#level : 3,
									#links : OrderedCollection [
										''
									]
								}
							],
							#parent : @12,
							#level : 2,
							#links : OrderedCollection [
								''
							]
						},
						GrafoscopioNode {
							#header : 'Add voting results for all deparments',
							#body : 'Use iterators (see the \'Representing data: Basic Types\' & \'Processing data > Cycles & Iteractors\')
to modify the Two deparments & dummy data example, including now all the data.',
							#tags : OrderedCollection [
								'text'
							],
							#children : OrderedCollection [
								GrafoscopioNode {
									#header : 'Solution',
									#body : '',
									#tags : OrderedCollection [
										'text'
									],
									#children : OrderedCollection [ ],
									#parent : @47,
									#level : 1
								}
							],
							#parent : @12,
							#level : 2,
							#links : OrderedCollection [
								''
							]
						}
					],
					#parent : @5,
					#level : 1,
					#links : OrderedCollection [
						''
					]
				},
				@15,
				@18,
				@23,
				@26,
				@31,
				@34,
				@39,
				@42,
				@47,
				@50,
				GrafoscopioNode {
					#header : 'Publishing and Sharing our work',
					#body : '',
					#tags : OrderedCollection [
						'text'
					],
					#children : OrderedCollection [
						GrafoscopioNode {
							#header : 'Saving and sharing your code snippets and notebook via web',
							#body : '',
							#tags : OrderedCollection [
								'text'
							],
							#children : OrderedCollection [
								GrafoscopioNode {
									#header : 'Fossil',
									#body : '',
									#tags : OrderedCollection [
										'text'
									],
									#children : OrderedCollection [
										GrafoscopioNode {
											#header : 'Installing',
											#body : '',
											#tags : OrderedCollection [
												'text'
											],
											#children : OrderedCollection [
												GrafoscopioNode {
													#header : 'Windows',
													#body : 'To install Fossil on Windows follow these steps:

  - Go to the download page at http://fossil-scm.org/index.html/uv/download.html .
  - Choose the binary for Windows.
  - Extract those zip in the C:/Windows folder.
  - That\'s it.
',
													#tags : OrderedCollection [
														'text'
													],
													#children : OrderedCollection [ ],
													#parent : @64,
													#level : 5,
													#links : OrderedCollection [
														''
													]
												}
											],
											#parent : @61,
											#level : 4,
											#links : OrderedCollection [
												''
											]
										},
										GrafoscopioNode {
											#header : 'Using',
											#body : '',
											#tags : OrderedCollection [
												'text'
											],
											#children : OrderedCollection [
												GrafoscopioNode {
													#header : 'Clone a repository the Data Week repository at: <http://mutabit.com/repos.fossil/dataweek/>',
													#body : 'Clone the Data Week repository at: <http://mutabit.com/repos.fossil/dataweek/>

Lets start creating a folder for our repository, this could have any name. In our case we\'ll call it `DataWeek`:
    
    mkdir -p ~/Documents/DataWeek
    cd ~/Documentos/DataWeek
    fossil clone http://mutabit.com/repos.fossil/dataweek/ dataweek.fossil

The general syntax for cloning a repository is:
    
    fossil clone <repo-remoto> <nombre-local>
    
Una vez se halla terminado el clonado del repositorio, saldrá algo como esto:
        
     Round-trips: 3   Artifacts sent: 0  received: 378
    Clone done, sent: 835  received: 15013550  ip: 45.55.37.99
    Rebuilding repository meta-data...
     100.0% complete...
    Extra delta compression... 
    Vacuuming the database... 
    project-id: aa9f6e73b4f326e190f15c4a830c0909619bfa42
    server-id:  e166198b6fb3e438428986e46077a10f4efae1b9
    admin-user: apple (password is "9fa088")
',
													#tags : OrderedCollection [
														'text'
													],
													#children : OrderedCollection [ ],
													#parent : @72,
													#level : 5,
													#links : OrderedCollection [
														''
													]
												},
												GrafoscopioNode {
													#header : 'Open the repository',
													#body : 'Go to the folder where you cloned the repository and open it:

    cd ~/Documents/DataWeek
    fossil open dataweek.fossil 
    
Una vez abierto, veremos una salida como la que está en: 

Artefactos/DataSelfies/data-selfies.ston
Artefactos/SoftwarePublicoColombia/anotaciones.png
Artefactos/SoftwarePublicoColombia/carta-lider-iniciativa.md
Artefactos/SoftwarePublicoColombia/carta-lider-iniciativa.pdf

<More files listed>

project-name: Dataweek
repository:   /home/offray/Documentos/Critinfo/dataweek.fossil
local-root:   /home/offray/Documentos/Critinfo/
config-db:    /home/offray/.fossil
project-code: aa9f6e73b4f326e190f15c4a830c0909619bfa42
checkout:     113749bfda422450b7a2bdb68b8a28b17a690142 2017-10-29 22:46:31 UTC
parent:       bddea106fa30df41ee415b9d350a56277995eb5e 2017-10-26 23:04:08 UTC
tags:         trunk
comment:      Notas para el taller de mañana. (user: offray)
check-ins:    99

que corresponde a los archivos y carpetas en dicho repositorio y que remotamente se pueden navegar desde:

Hemos accedido a una copia de [todos los archivos](http://mutabit.com/repos.fossil/dataweek/dir?ci=tip ), sino de [toda su historia](http://mutabit.com/repos.fossil/dataweek/timeline?n=500&y=all&t=&ms=exact )      

',
													#tags : OrderedCollection [
														'text'
													],
													#children : OrderedCollection [ ],
													#parent : @72,
													#level : 5,
													#links : OrderedCollection [
														''
													]
												},
												GrafoscopioNode {
													#header : 'Introduce variation ',
													#body : '  - Create a folder for you under `Participants/<you>`, where `<you>` is any kind of unique indenfier yourself.
    It could be `FirstNameLastName`, your social media handler, or others.
  - From Grafoscopio, save a modified version of this notebook to the previously created folder.

',
													#tags : OrderedCollection [
														'text'
													],
													#children : OrderedCollection [ ],
													#parent : @72,
													#level : 5,
													#links : OrderedCollection [
														''
													]
												},
												GrafoscopioNode {
													#header : 'Register and syncronize',
													#body : '- Creamos un usuario en dicho repositorio:

        http://mutabit.com/repos.fossil/dataweek/login
        
 Nos sincronizamos desde la consola de comandos:
        
           fossil sync http://<usuario>@mutabit.com/repos.fossil/dataweek/      
        
donde `<usuario>` es el nombre de usuario que registramos en el paso anterior.',
													#tags : OrderedCollection [
														'text'
													],
													#children : OrderedCollection [ ],
													#parent : @72,
													#level : 5,
													#links : OrderedCollection [
														''
													]
												},
												GrafoscopioNode {
													#header : 'Commit',
													#body : '  - Commit to the Fossil repository.
  - Browse the repository history, locate your commit and share your notebook with others.  ',
													#tags : OrderedCollection [
														'text'
													],
													#children : OrderedCollection [ ],
													#parent : @72,
													#level : 5,
													#links : OrderedCollection [
														''
													]
												},
												GrafoscopioNode {
													#header : 'Share your commit',
													#body : 'Browse the [repository history](http://mutabit.com/repos.fossil/dataweek/timeline ), locate your commit and share your notebook with others.',
													#tags : OrderedCollection [
														'text'
													],
													#children : OrderedCollection [ ],
													#parent : @72,
													#level : 5,
													#links : OrderedCollection [
														''
													]
												},
												GrafoscopioNode {
													#header : 'Rinse and repeat',
													#body : 'Go to the excercises in the previous section. Do the "Using block to modularize code" and
"Add voting results for all deparments" and commit your modifed notebook with these two
solutions added.',
													#tags : OrderedCollection [
														'text'
													],
													#children : OrderedCollection [ ],
													#parent : @72,
													#level : 5,
													#links : OrderedCollection [
														''
													]
												}
											],
											#parent : @61,
											#level : 4,
											#links : OrderedCollection [
												''
											]
										},
										GrafoscopioNode {
											#header : 'Using Code Browser + SmalltalkHub',
											#body : 'In the previous excercise, we learnt how to share notebooks with the world using Fossil code repositories.
Each notebook is a text file that can be shared & versioned in this way.
But at some point you will want to reify you code in a way that express your understangin about a problem
via models. 
When you do that (which is called modelling) in Pharo, you are creating what is called a Specific Domain
Language (or DSL) for that problem.
With the previous excercises, we are ready to create a DSL for the Peace Voting Results in Colombia, with
the help on Code Browser and then we are going to share such DSL using SmalltalkHub, wich is a facility
to share code among Pharo users.
This will be the objective of this section.',
											#tags : OrderedCollection [
												'text'
											],
											#children : OrderedCollection [ ],
											#parent : @61,
											#level : 4,
											#links : OrderedCollection [
												''
											]
										}
									],
									#parent : @58,
									#level : 3,
									#links : OrderedCollection [
										''
									]
								}
							],
							#parent : @55,
							#level : 2,
							#links : OrderedCollection [
								''
							]
						}
					],
					#parent : @5,
					#level : 1,
					#links : OrderedCollection [
						''
					]
				},
				@58,
				@61,
				@64,
				@67,
				@72,
				@75,
				@79,
				@83,
				@87,
				@91,
				@95,
				@99,
				@104
			]
		},
		#level : 1,
		#links : OrderedCollection [
			''
		]
	},
	@8,
	@12,
	@55
]