Archivo | _atribución RSS feed for this section

A orillas del lago de Texcoco…

18 ene Hermanos trabajando juntos en resolver un Puzle de GCompris.

… o lo que queda de este: http://goo.gl/maps/fZBZT en Chimalhuacán, Estado de México. Tengo muchas expectativas del trabajo que comienza con ASBIS, como profesor del aula de informática, aunque espero ir impulsando el trabajo del centro comunitario y la asociación de forma más amplia.

Hasta el momento, la visión de la asociación me parece muy coincidente con los propios objetivos del proyecto Educar en Libertad. Muy importante sobre todo la idea de la directora de impulsar el centro no como una escuelita de regularización sino a través del aprendizaje significativo, incidir en el mejoramiento cabal de las perspectivas y planes de vida de los chavos con los que trabajamos.

Y bueno esto está como un quelite recién salido de la tierra, tiernito y en ciernes mucho por venir, pero ya iré compartiendo todo lo que pueda por acá, de momento les dejo algunas fotos de mis niñ@s explorándonos mutuamente, conociendo nosotros lo que les interesa y ell@s de mí el trabajo con software libre con un estilo de trabajo más o menos dialógico (no diría pedagogía, eso ya lo aprenderé con una nueva colaboración que vendrá en próximas semanas).

Sin más palabras, conociéndonos con ayuda del GCompris, nótese la expresión de los rostros de l@s chavit@s:

Haskell para niños: Lección 1.

24 ago

¡Y arrancamos!

Gracias de nuevo a toda la gente que apoyó este proyecto y se acercó a ser parte. El día de hoy, impartí mi primera clase presencial de Haskell, ¡y ha sido una maravilla! Esta es mi primer relatoría semanal.

Primero: presentaciones.

Ya que hay varios niños en esto, ¡lo primero es presentarnos!

* Yo. Mi nombre es Chris Smith, y estoy impartiendo la clase de programación en la pequeña escuela de Vermijo donde todo esto comenzó. Soy un gran fan de Haskell, ¡y estoy emocionado de compartirlo con gente nueva!

Chris Smith

* Sue. Sue Spengler es “fundadora, maestra principal, supervisora, custodia, secretaria y señora del comedor” de la pequeña escuela de Vermijo. La escuela es su proyecto, y está haciendo cosas realmente sorprendentes. Tuve que hurgar para encontrar una foto, ¡así que espero que a ella le guste esto!

Sue Spengler

* Mis estudiantes locales. Los chicos de la clase de hoy son Grant, Sophia, Marcello e Evie (espero escribirlo bien). Voy a pedirles que se presenten en los comentarios en este blog, de modo que pueden buscarlos allí.

* Todos los demás. Cualesquier otros niños que estén tomando la clase, por favor preséntense en los comentarios también. Pueden decir ¡Hola! y si les gustaría, pueden enlazar un video o una imagen.

Espero que todos tomen el tiempo para dejar sus comentarios y saludar a los demás. Aprender cosas es mucho más divertido cuando se habla con otras personas.

El plan

Vamos a hablar de hacia donde vamos, a saber:

  1. Escribir programas de computadora para trabajar.
  2. Hacer cambios a nuestros programas para darles movimiento a las imágenes.
  3. Crear un juego de su propia elección.

¡Esto se llevará el año entero! Porque esta clase no se trata solamente de memorizar algo acerca de un programa específico: se trata de ser creativas, probar cosas y lograr algo de lo que te sientas orgulloso. Por lo que habrá un montón de tiempo libre para jugar y probar ideas diferentes en tus programas. Estamos aprendiendo con el lenguaje de programación Haskell, pero en realidad, la clase es más sobre estar en control de tu computadora y diseñar y construir algo realmente bueno desde el principio, no solo recordar algunas cosas acerca de Haskell.

Estructura de las computadoras y la programación.

Lo primero de lo que se habló es sobre que es un programa de computadora, y como las cosas encajan entre sí. Esta es la pizarra en la que estuvimos trabajando:

pizarra de clase 1

Algunas de las ideas de que hablamos:

  • Cómo funciona una computadora. La parte principal del equipo se compone de un dispositivo que sigue las instrucciones (la “CPU”) y un dispositivo que recuerda información (“memoria”).
  • El lenguaje de la máquina. ¡El equipo no habla inglés, por supuesto! Sigue las instrucciones en un lenguaje llamado “lenguaje de máquina”. Este idioma lo entiende muy fácil el equipo, pero es muy, muy difícil escribir programas en este lenguaje.
    (La “CPU” tampoco entiende español, portugués, etc. lenguajes “naturales” para el caso pues. -N. del T.)
  • Compiladores. En lugar de escribir nuestros programas en lenguaje de máquina, las escribimos en otros idiomas, y luego la computadora los traduce para nosotros[, al lenguaje que éstas pueden entender]. El programa que hace esto se llama compilador.
  • Algunos lenguajes de programación. ¡Tenemos varias opciones al elegir el lenguaje de programación que podemos utilizar para escribir programas de computadoras! Hablamos en la clase de algunos lenguajes de los que los niños han oído hablar: Java, C, C++, Objective C, JavaScript, Java y Smalltalk -¡sí, Marcello había oído hablar de Smalltalk! Quedé muy impresionado. El idioma que estamos aprendiendo en esta clase se llama Haskell.
  • Bibliotecas. Las bibliotecas son piezas para los programas, que otras personas han escrito para nosotros, y así no tenemos que empezar de cero. Pasamos algún tiempo imaginando todos los pasos necesarios para lo que podríamos considerar cosas muy fáciles de hacer con un ordenador. Por ejemplo, de todos los pequeños pasos en la presentación de una ventana en la pantalla… ¿Cuántos círculos, rectángulos, líneas, letras, etcétera; pueden encontrarse en una ventana en la computadora? Las bibliotecas le permiten a alguien describir cosas más directamente para no hacerte repetir todos los pasos cada vez.

[En esta primera clase] hablamos de como vamos a utilizar:

  1. Un lenguaje de programación llamado Haskell.
  2. Una biblioteca llama Gloss (“brillo” -N. del T.).

A jugar

En este momento, todos utilizaremos un sitio web para escribir algunos programas simples de computadora usando Haskell y Gloss. El sitio web es:

http://dac4.designacourse.com:8000/

Empezamos con algunos programas muy simples, como las siguientes:

¡Tu primer círculo!


import Graphics.Gloss
picture = circle 80

¡Ahora un rectángulo!


import Graphics.Gloss
picture = rectangleSolid 200 300

¡Muestra unas palabras!


import Graphics.Gloss
picture = text "¡Hola!"

Todos estos programas tienen algunas cosas en común:

  • La primera línea de cada uno de estos es import Graphics.Gloss.
    Esto le dice al compilador que desea utilizar la biblioteca Gloss para crear imágenes. Sólo se tiene que escribir una vez y debe estar al comienzo de tu programa.
  • Todos ellos dicen picture = ... .
    Esto se debe a que el trabajo de nuestros programas es hacer una imagen y lo llaman así (picture es imagen, en inglés). El sitio web que estamos utilizando crea esta imagen, del modo como definimos que debe ser y la presenta para nosotros. Hablamos de como en el futuro, podemos definir otras cosas, con otros nombres, pero por ahora, estamos bien con sólo decirle al compilador lo que la imagen debe ser.
  • Después de el signo de “igual a”, describimos la imagen que queremos dibujar. Hay varios tipos de dibujos ¡y hemos visto ya tres de ellos! Todos los tipos de dibujos que podemos crear son parte de la biblioteca Gloss.
  • A excepción de la última, todos utilizan medidas. Por ejemplo, el 80 en el primer ejemplo es el radio del círculo (la distancia desde el centro hasta el exterior). Puedes crear un círculo más grande con un número mayor y un círculo más pequeño con un número menor. Y es igual con la base (el ancho) y la altura del rectángulo.

Hubo problemas para algunas personas utilizando el sitio web. Si estás teniendo problemas, puede que tengas que asegurarte de que tienes una nueva versión de tu navegador web. Además, el sitio web no funciona con Internet Explorer… de modo que mejor trata con Chrome, Firefox, Opera o Safari. No te preocupes demasiado con el hecho de que un navegador no entiende bien, pronto instalaremos el compilador de Haskell en tu propia computadora, y ¡ya no tendrás que ir al sitio web para ejecutar tus programas! Sólo estamos por ahora con el sitio web para empezar a experimentar inmediatamente.

¡Dibujando más de una cosa a la vez!

En este momento, los niños se preguntaban si se puede dibujar más de una forma a la vez. ¡Sí puedes! Para dibujar más de una cosa, utilizamos la palabra pictures (el plural de picture -imagen-, es decir, imágenes). Por ejemplo:


import Graphics.Gloss
picture = pictures [
circle 80,
rectangleWire 200 100]

Observa lo que hicimos:

  • La palabra ahora es “pictures” (imágenes).
  • Abrimos con un corchete una lista.
  • La lista de imágenes, separando con una coma cada imagen de la siguiente.
  • Cerramos con un corchete la lista.

Hablamos de como ayuda separar en líneas distintas el programa de vez en cuando. Lo único de lo que se debe tener cuidado es que cuando colocas una nueva línea, tienes que poner unos pocos espacios al inicio (una sangría). ¿Ves como en la segunda y tercera líneas de la parte de donde definimos las “imágenes” -pictures- se aplica un poco de sangría?

Cambiando tus imágenes

La biblioteca Gloss te ofrece también algunas maneras en que puedes cambiar las imágenes.

Puedes cambiar los colores con la palabra “color”.


import Graphics.Gloss
picture = color red (circleSolid 80)

Observa que escribimos “color”, el nombre del color que queremos y luego la imagen que se dibujará, entre paréntesis. ¡Los paréntesis son importantes! Sirven para lo mismo que en matemáticas, se toma esa parte entera, como una sola “cosa” (en este caso, una imagen).

Hablamos de que colores conoce Gloss. Esta es la lista: negro, blanco, rojo, verde, azul, magenta, amarillo, cian, rosa, naranja, amarillo verdoso, aguamarina, azul y violeta. Sue recordó un color de nombre extraño, preguntó -¿Conoce el chartreuse? Sí, lo conoce. ¡Vaya suerte!

También podemos trasladar los dibujos (trasladar, o sea, cambiar de lugar).


import Graphics.Gloss
picture = translate 100 50 (rectangleSolid 50 50)

Trasladar (o translate en inglés), quiere decir que algo se mueve a la izquierda, derecha, arriba o abajo. El primer número es hacia donde se mueve a izquierda o derecha; los números positivos significan cuantos pasos a la derecha, los negativos a la izquierda. El segundo número es la distancia hacia arriba o hacia abajo; números positivos hacia arriba, números negativos hacia abajo.

Ten en cuenta que en Haskell, tienes que escribir los números negativos entre paréntesis. Si escribes “translate -100″, Haskell entiende que intentas restar 100 de “translate”. No sabe como se puede restar un número de un verbo -ni lo sé yo tampoco- por lo que se da por vencido. Tienes que escribir “translate (-100)”; encerrando el número negativo entre paréntesis.

También se pueden voltear de lado las cosas. El verbo que se usa es “rotar”. Veamos como dibujar un rombo.


import Graphics.Gloss
picture = rotate 45 (rectangleWire 100 100)

Gira las formas los grados que indiquemos. Recuerda que 360 grados quiere decir lo mismo que dar una vuelta entera quedando igual que en el punto de partida, ¡de modo que no hace nada! 45 grados es la mitad de un ángulo recta. ¿Ves por qué ahora queda como un diamante?

Y lo último que puedes hacer es estirar la imagen. El verbo es “escalar” (scale en inglés).


import Graphics.Gloss
picture scale 2 1 (circle 100)

Dibujamos así, una elipse, que es como un círculo, pero de diferente ancho que de alto.

¡No te preocupes si todo esto no tiene sentido todavía! Vamos a pasar mucho tiempo jugando con la forma de poner todo esto junto. Ahora mira como quedo la pizarra después de todo esto.

Hora de los experimentos.

Pasamos un montón de tiempo con cada uno haciendo sus propias formas y dibujos o cualquier cosa que se les antojase. La mejor forma de estar más cómodos con todo esto es jugar con ello. ¡Haz montón de pequeños cambios y mira que ocurre! Intenta adivinar que pasará, y luego haz la prueba de si acertaste o no.

Éstas son algunas de las fotos de las chicas con sus proyectos:

Sophia e Evie muestran dos círculos lado a lado. ¡Estos en algún momento se convirtieron en los ojos de una cara!

Este es Grant con su rombo, aunque se vio aún mejor después de que lo estiró un poco por ambos ejes.

Este fue el dibujo de Marcello, ¡centrando la palabra en el círculo tomó mucho tiempo! Si lo intentas, notarás que el texto no queda centrado automáticamente como las otras figuras, de modo que Marcello lo intentó y falló muchas veces con “tranlate” para lograr poner la palabra en medio del círculo.

¡Y ésta es Sophia muy emocionada de lograr poner los dos ojos en los lugares correctos!

Tu misión

Tu misión, si decides aceptarla… ¡es planear y crear un dibujo de algo que te interese! Tal vez es solo un pez, un jardín, una estación espacial, un dragón… sólo asegúrate que puedes dibujarlo con rectángulos y círculos de diferentes colores, y moviéndolos, girándolos o estirándolos. Aquí en la pequeña escuela (de Vermijo) estaremos trabajando en esto por algunas clases más de ésta y la próxima semana.

¡De modo que pasa algún tiempo con ello y ven con algo de lo que te sientas orgullosa la semana siguiente!

Cool and useful: Fedora Social Network (by Tatica)

14 oct

On a mission Number Zero post.

As a new member of Ambassadors team at Fedora Latam, i’ve found really cool ideas in my mentors and coworkers at Fedora Project.

A very nice idea i’ve found is from Tatica about a Fedora Social Network not intended just for chatting and sharing cool things as we share it anyway in twitter, identica, facebook, gnewbook and so.

I really like Tatica’s idea because it could be a good thing sharing on a friendly site, a really great work done by our present teams and SIGs, in a way than users interested to join can take a look on the work being done and starting to show their works not in the “official” site, but in their own portfolios accesible for teams and people looking for others to getting things done.

Also, i’m user of an “arising” web application for Social Networks intended for collaborative work, and with many tools included: Crabgrass. It’s not SaaS, it’s really FaiF and maybe i get you interested showing Tatica’s Fedora Social Network and Crabgrass as a mixture to outreach a greater number of likely collaborators in a cool and even informal way, without losing the farsight and mission of Fedora Project.

That said, let me introduce you to some key concepts on Tatica’s proposal and the present stage of Crabgrass development (Tatica’s idea quoted):
Continuar leyendo 

Educate in Freedom Project

5 oct

Educate in Freedom is a pedagogical-political libertarian option.

Our job is to help empower youth, children and adults in underprivileged communities through the appropriation of free and open source software, thus spreading the socialization of knowledge and freedom of culture.

We study and we want to implement among our most important references, the proposed Paulo Freire‘s popular education and other educators whose common essence is to attack the dichotomy between teacher and students (and software developers, users), suggesting a self-management education for communities, empowering them by knowledge to the construction of their liberty.

At this very moment we’ve only had experiences in Mexico”s city and eastern part of the Estado de México, but it would be great to connect with educators from other lattitudes, share ideas and if possible, build a language and a common proposal for network action.

  1. Initial experiences of popular education with Free Software
  2. Medium-term purposes
  3. Immediate obstacles
  4. As we plan to overcome them.

Initial experiences of popular education with Free and Open Source Software

In 2009 I had the opportunity to work directly with children in an elementary school in Chimalhuacán, Estado de México, in very poor condition (no internet, less than a dozen computers for about 400 children, without any employment benefits), but with great enthusiasm to see how kids would get the idea of free software. Prior to that, my experience was in workshops with activists, activist of unions and media more “politicized” but had not explored further the educational proposal of FOSS, except for GCompris, that my daughter loves.

The experiment was short, a few months, but the kids fed my enthusiasm, and they were fascinated about:

  • educational programs (Tux4Kids, GCompris, KDE educational suite, we could glimpse a little of Scratch)
  • not have to learn Word, PowerPoint and Excel (Can you imagine a boy or a girl of 8 years having to write formulas, and formatting cells as the best they thought they were teaching?)
  • but first at all to share, some guys took their pendrives to me asking for copies of the software we had installed on the school, and they loved the idea that they weren’t commiting neither piracy nor spreading viruses. And also could copy it and give it to their friends, or downloading new versions from the Internet.

After several months I volunteer at a community center with computer lab (a building dependant of the Autonomous University of Mexico City (Casa Talavera)), where we worked more freely and showcased the free and open source software to children and adults, even elder folks. It was a wonderful experience, full laboratory migrated to Ubuntu, the children especially loved the game tournaments we organized, in addition to support homeworks as requisite for some to get a chance to play with others. Other guys we had to settle for more support as friends, since they being very young (12-15 years) and already they had to help their parents at very hard work. A very difficult environment but it just left us lessons and experiences filled with emotion.

The elderly did not feel so drastic the change from Windows to GNU / Linux, but it was much more clear to them what was the idea of free software, and they had talked about this and we get them involved and contribute to the migration and support the workshop ICT literacy, some even brought their PC at home so that they be installing the new operating system that they liked seeing so much happier than the small kids :D , forgetting to check that virus and seeing all the games that we had running in the lab PC.

We also learned a lot from our fellow adults, as always posed challenges for which we had no lesson plans, we were anchored in part to the same office core curriculum is relatively useful in training for work, but does not respond to the needs of all adults, which as we learn, it is not the labor factor, a lot of they are more interested in acquiring learning skills they can apply to pursue a more self-learning and also more social.

In conclusion of this year, we learned that the proposed common core curriculum of digital citizenship, doesn’t always work. And we are study to better develop our proposals for future literacy projects with online extension for graduates of basic workshops.

Medium-term purposes

  • Learn how to design online courses in order to build better experiences aimed to the real needs of the communities in which we intend to continue Educate in Freedom.
  • Working again with adult groups on ICTs literacy in a broader sense that ‘catch get to work.
  • Update our educational curriculum for children in elementary school, through proposals to integrate the learning of computer science, with the exercise of their rights to identity, and freedom of opinion, research and dissemination of ideas.
  • Partnering with online educational projects that allow us to contribute our experience and ideas to other processes as well as provide alternatives to outreach, continuing education to our students through online workshops.

Immediate obstacles

Our inability to manage public spaces administrators working a regular schedule, even without more resources than the use of some computer equipment.

As we plan to overcome them

  • Apply instructional design principles to our proposal for Literacy with ICT to adults, soon to get more spaces where we work with adults.
  • Open our proposal ICT literacy with children, to open source community so that we can implement it more clearly in a classroom or after-school laboratory like Clubhouses (unfortunately, Casa Talavera of UACM will remain closed for bureaucratic decisions by the department of cultural diffusion.)
  • Start to talk about our project, or similar, and their progress, cultural venues and other events free software. And once more outlined our proposals, to submit to various public institutions responsible for digital extension.

My first proposal, under development, based on shared experiences with people of Casa Talavera. (in Spanish)

#LibreOffice: somos mucho más que un fork

29 sep

A las 2:00 de la madrugada del 28 de septiembre, los felices usuarios de identi.ca fuimos casi de los primeros en enterarnos que la comunidad de desarrolladores que durante 10 años ha impulsado el proyecto OpenOffice.org, se constituye ahora como comunidad independiente de los designios (sean los que sean) de Oracle: la Document Foundation.

Más aún ya está disponible una nueva edición de la suite de ofimática que tanto ha contribuido a liberar a los usuarios de la dependencia de los productos de Microsoft: OpenOffice.org ahora se llamará LibreOffice si ocurre (como ya se espera) que Oracle no done la marca a la comunidad de desarrolladores.

LibreOffice, más que adecuado el nombrecito

Personajes del movimiento del software libre como Richard Stallman han manifestado su alegría por el alumbramiento del nuevo proyecto, como nosotros también lo saludamos:

Estoy muy contento porque LibreOffice, de The Document Foundation no recomendará extensiones no libres, ya que son el principal problema de la libertad de OpenOffice.org al día de hoy. Espero que los desarrolladores de LibreOffice y los desarrolladores de Oracle sean capaces de cooperar en el desarrollo del código

Y además, evita la confusión que ha generado en muchas personas, tener dos términos para una misma idea: OpenSource y SoftwareLibre.

Decir que es un fork es ver un árbol, no el bosque entero

Sólo un fork, si fuera un grupo en desacuerdo con los desarrolladores líderes del proyecto. En este caso, tenemos una compañía que adquirió los derechos sobre la marca de OpenOffice.org cuando compró a Sun. Y por otra parte una comunidad que unida, en conjunto evoluciona y de inmediato conquista el corazón no solo de Stallman y miles de usuarios de habla latina que nos sentimos honrados de que la palabra “Libre” no deje lugar a especulaciones; sino también de los mayores jugadores del OpenSource: RedHat, Debian, Canonical, Google, Novell, BrOffice, y la lista seguirá creciendo sin duda.

Cómo dice ese viejo poema del inmortal Mario Benedetti:

…y en la calle codo a codo, somos mucho más que dos…

Esta comunidad finalmente salió de la sombra de Oracle diciendo:

…somos mucho más que Sun…

La verdad, es que no se nos ocurre mejor noticia a los 27 años de la publicación del manifiesto GNU: ¡Bienvenidos a la libertad, bienvenidos a LibreOffice!

Plus: ¡Las extensiones libres ya empiezan a destacarse! LibrePlanet

Sigue las noticias de la Document Foundation vía identi.ca

Descubriendo linux ¿qué debes saber si no sabes nada?

6 sep

Es curioso como damos por sentado, cuando hablamos de Linux, que todos los que nos oyen o leen tienen la formación mínima para entender todo aquello que estamos diciendo. Uno de los principales escollos, a nuestro entender, para realizar el salto mortal sin red que el usuario cree que supone descubrir Linux es la falta de información general sobre sus características y posibilidades. Este artículo pretende ofrecer una introducción a tan maravilloso mundo, desde la perspectiva de la práctica educativa. ¿Qué debemos saber de Linux para presentárselo a nuestros alumnos?
Ma. Dolores Noguera y Antonio Gómez en
edición de Agosto de la Revista Linux+ [PDF]

Para leer en línea sin descargar el PDF, vía samurajdata.se

Haciendo click en los vínculos, puedes leer las diversas páginas en línea, sin necesidad de descargar el PDF, y si no te gusta el resultado, siempre tienes el archivo original de la revista completa.

  1. Clarificando conceptos: el sistema operativo. [pág.23.]
  2. Algo de historia ¿de dónde proviene GNU/Linux? [pág.23.]
  3. ¿Todo es gratis? [pág.24]
  4. Funcionamiento y características de un sistema operativo GNU/Linux [pág.25]
  5. Particiones y formatos lógicos en GNU/Linux
    Instalación del sistema operativo. [pág.26]
  6. Sistemas de archivo en GNU/Linux. Superusuario y usuarios, permisos. [pág.26]
  7. Entornos de Escritorio. [pág.28]
  8. Instalación de nuevo software,
    Filosofía de los repositorios. [pág.28]
  9. El terminal de consola BASH [pág.29]
  10. Conclusiones [pág.30]
Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 210 seguidores