¿Qué es el software libre?

Para hablar de Software libre primero es importante pensar en qué es el software. Se llama software a la parte intangible de un sistema informático, es decir, a los programas.

El concepto que agrupa al equipamiento se llama Hardware (“ferretería”)

  • Hardware: teclado, monitor, mouse, impresora, etc.
  • Software: sistema operativo, procesador de textos, programas para dibujar, para escuchar música, etc.
  • Insumos: papel, tinta (lo que se gasta)

¿Quién crea el software?

Los programas son creados generalmente por grupos de programadoras y programadores, además de gente que se ocupa del diseño gráfico, del diseño de interacción, arquitectura de la información y muchos etcéteras.

Digamos que para crear un “programita” sólo hace falta una programadora o programador, pero para generar un proyecto grande, hay varias disciplinas que se ven involucradas, y especialistas de cada una de ellas.

Cuando se decide comenzar con un proyecto de este tipo, lo primero será pensar en cómo se va a distribuir ese proyecto: ¿se venderá cada programa por unidad? ¿se permitirá una descarga de la red para que los/las usuarios/as lo prueben por un tiempo y después paguen? ¿O se permitirá la descarga libre y gratuita?

Licencias de software

Es aquí donde entran en juego las licencias. Si el equipo de trabajo decide que cobrará el programa por unidad, como si se tratara de una fábrica de muebles, elegirán protegerse legalmente para no permitir la copia (y que ésta sea castigada como delito). Decimos que se trata de software privativo.

Si se decide, en cambio permitir que se descargue gratuitamente como “muestra gratis” se habla de freeware.

La tercer opción es la que más nos interesa. En muchísimas ocasiones, los equipos deciden que su software tendrá una licencia de software libre.

Esto significa que le brindan al usuario y usuaria, cuatro libertades:

  • La libertad de utilizar el programa para cualquier fin
  • La libertad de ver cómo está hecho
  • La libertad de modificar el programa
  • La libertad de compartir las modificaciones

Acá es donde la gente dice: “¡Qué buena onda! ¿Pero cómo ganan dinero?”

Existen muchas formas de ganar dinero en la creación y modificación de software libre. Se cobra por el servicio de instalación, de personalización, de adaptación. Se cobra por dictar cursos, se cobra por tomar un examen y dar un certificado. Pero no se cobra por unidad, porque no se están fabricando objetos tangibles sino software. Cuando te vendo un escritorio y vos te lo llevás, yo tengo que fabricar otro para poder venderlo. Cuando te descargás software que yo desarrollé, y después se lo copiás a un grupo de estudiantes, yo no tengo que hacer otro programa.

Ejemplos de software libre que seguramente utilizás

Es probable que sin darte cuenta hayas usado alguna vez software libre.

Muchos bancos, por ejemplo, utilizan el sistema operativo Linux en todos sus sistemas, y eso incluye los cajeros automáticos.

Muchos programas creados para educación, como Scratch, o TuxPaint, son libres.

Existen muchísimos más, como por ejemplo:

  • LibreOffice que tiene un procesador de textos, una hoja de cálculo, generador de presentaciones, etc. (paquete de oficina).
  • Gimp para retoque fotográfico.
  • Audacity para grabar y editar audio
  • WordPress para hacer este blog
  • Moodle para los campus virtuales
  • Y muchos otros sistemas y programas que circulan tienen licencia libre.

¿Alguna vez compraste un programa?

Si todo esto te suena raro, te hago esta pregunta: ¿Compraste alguna vez un programa? ¿Alguna vez usaste un programa trucho?

Quienes trabajan en proyectos de software libre te autorizan a que copies, veas cómo esta hecho, modifiques y hagas circular sus programas. ¿Por qué no elegirlos, cada vez que tenemos que buscar un nuevo programa?

Para identificar el software libre, hay que buscar cuál es su licencia. Si dice “Todos los derechos reservados”, es privativo. En el sitio de Photoshop, por ejemplo, dice: “©1990-2019 Adobe. All rights reserved.”

Y si dice “Licencia GPL”, o algunas de las que están en esta lista de licencias libres, podés utilizarlo sin pedirle permiso a nadie. Por ejemplo, en el sitio de Gimp, dice: “The terms of usage and rules about copying are clearly listed in the GNU General Public License.” (GPL)

Ideas para actividades asincrónicas

En nivel terciario y universitario, estamos tratando de dar nuestras materia utilizando un campus virtual. Aquí propongo algunas ideas de actividades para realizar, que no consumen muchos recursos y que fundamentalmente se basan en que nuestros/as estudiantes aprenden haciendo algo.

No se aprende tan bien con alguien que nos brinda sus saberes como con alguien que nos genera interrogantes, consignas, propuestas y desafíos.

La base: los recursos y las actividades

Recursos de Moodle: https://docs.moodle.org/all/es/Recursos
Actividades de Moodle: https://docs.moodle.org/all/es/Actividades
Otros recursos: videos, instagram, twitter, audios, textos, líneas de tiempo, mapas conceptuales

¿Querés hacer algo colaborativo?

  • Podés crear un glosario, en el que cada estudiante agregue una definición tomada de un texto
  • Podés crear una wiki por grupos, y que de a dos o de a tres tengan que editar un texto
  • También lo pueden hacer en Google Drive, por supuesto
  • Pueden armar entre todos un contenido en una cuenta de Twitter o de Instagram

¿Necesitás que te manden un TP y que lo veas únicamente vos?

  • Usá la actividad «Tarea»: ellos te envían un archivo y vos los calificás

¿Querés que estudien un texto?

  • Podés generar interrogantes poniendo frases controvertidas y que se genere un debate
  • Podés darles roles diferentes -incluso en secreto- y que jueguen. Por ejemplo: uno es el proveedor de software, el otro el que tiene que comprar, el otro el usuario final, etc. Para que no se trate de un debate de opiniones personales, es importante indicar que las respuestas se deben basar en la bibliografía.
  • Podés darles una guía de estudio, unas preguntas para que respondan donde les muestres qué es lo que tienen que tomar de ese texto.
  • Desafialos pidiéndoles que creen memes, y también podrías proponer que los suban a Instagram
  • O simplemente, que vuelquen en una línea de tiempo los datos relevantes
  • O que generen un mapa conceptual, por ejemplo con Text2MindMap

¿Necesitás comenzar con un tema nuevo?

Muy importante: darles en una hoja de ruta muy claramente explicitado lo que tienen que hacer: fechas límite, qué cosas serán obligatorias, qué cosas optativas.

En resumen: se aprende haciendo, mejor que escuchando; somos los/las docentes los encargados de guiar las actividades, enseñando a mirar en el mar de información qué es lo relevante, y proponiendo actividades de distinta índole (atendiendo a la diversidad de habilidades y recursos) que permitan trabajar con los temas hasta lograr el aprendizaje.

En búsqueda de la pieza perfecta

Hace unos días se me ocurrió crear una piecita encastrable con mi impresora 3D.

Todo surgió de un tema doméstico: no entran las cosas en el secaplatos, y quisiera tener una superficie donde poner más cosas pero luego guardarla y que no ocupe lugar.

Así se me ocurrió que podría diseñar una pieza encastrable para armar y desarmar una superficie donde apoyar cosas.

La primera piecita que diseñé era cilíndrica… bastante complicado de encastrar con otras. La segunda es esta, en la que puse un hexágono hueco dentro de un hexágono sólido, y luego le anexé un prisma en uno de sus lados.

Para que pudiera generarse el lugar del encastre, dupliqué la pieza y la hice hueca, encastrándola en el mismo programa, logrando una pieza perfectamente encastrable en forma lineal (hacen “clic” y todo!)

De esa manera, obtuve una pieza con la que podía crear una cadena. Así que quise mejorarla para lograr “doblar”, o “tejer” una superficie más que una cadena.

Dupliqué la piecita y empecé a hacer intentos varios. Muchos fracasos, algunos éxitos.

Hoy llegué a esta nueva pieza que puede engancharse desde varios lados. Sigo imprimiendo (cada una lleva casi una hora):

¿Cuándo dejó de tener sentido dar esta clase?

Durante toda mi vida trabajé en informática educativa, desde diversos roles. Hoy me encuentro elaborando un material con mi equipo de trabajo, y surgió un tema que realmente nos sorprendió.

Lo confirmamos leyendo en Wikipedia:

Un kilobyte es una unidad de almacenamiento de información cuyo símbolo es el kB (con la ‘k’ en minúsculas) y equivale a 103 (mil) bytes. Aunque el prefijo griego kilo- (χίλιοι) significa «mil», el término «kilobyte» y el símbolo «kB» se han utilizado históricamente para hacer referencia tanto a 1024 (210) bytes como a 1000 (103) bytes, dependiendo del contexto, en los campos de la informática y de la tecnología de la información.123

Para solucionar esta confusión, la Comisión Electrotécnica Internacional publicó en 1998 un apéndice al estándar IEC 60027-2 donde se instauraban los prefijos binarios, naciendo la unidad kibibyte para designar 210 bytes y considerándose el uso de la palabra kilobyte no válido a dichos efectos.

Es decir que, siguiendo con la misma fuente, ahora son estas las Unidades de medida de Información:

Sistema Internacional (decimal) ISO/IEC 80000-13 (binario)
Múltiplo (símbolo) SI Múltiplo (símbolo) ISO/IEC
kilobyte (kB)103 kibibyte (KiB)210
megabyte (MB)106 mebibyte (MiB)220
gigabyte (GB)109 gibibyte (GiB)230
terabyte (TB)1012 tebibyte (TiB)240
petabyte (PB)1015 pebibyte (PiB)250
exabyte (EB)1018 exbibyte (EiB)260
zettabyte (ZB)1021 zebibyte (ZiB)270
yottabyte (YB)1024 yobibyte (YiB)280

En conclusión, lo que hace 20 años era toda una extensa explicación sobre el funcionamiento interno de las computadoras y el sistema binario, dejó de tener sentido… como tantas otras cosas que hemos enseñado.

Lo que Paula me enseñó

Paula me enseñó a dejar de usar la palabra “normal”.
¿Qué es lo “normal”? ¿Lo que dicta la norma? ¿Lo que aparece en la mayoría? ¿Cuál mayoría, la percibida? Si dejamos de ocultar a las personas que se apartan de esa normalidad impuesta, veremos que casi no hay personas que sean “normales”. Lo “normal” es la diversidad.

Aprendí lo que es el capacitismo, es decir, la discriminación según la capacidad de las personas. No sólo se trata de “ser amables” con alguien que tiene una discapacidad. Se trata de generar un entorno en el que las personas, todas las personas, puedan transitar, navegar por la web, acceder a servicios y que no se queden afuera del chiste ni de la foto.

Me enseñó que el respeto por el cuerpo del otro es mucho más que un concepto de la ESI. También es entender que si una persona se traslada en una silla de ruedas y no hay rampa, esa persona no quiere que la “alcen”, quizás por sufrir dolores en todo el cuerpo, o quizás porque simplemente no quiere que manipulen su cuerpo.

Paula me enseñó que tener una discapacidad no es un concepto binario. Alguien que se traslada en silla de ruedas quizás puede pararse, dar dos pasitos, pero no puede caminar tres metros. Alquien que usa un bastón de invidente, tal vez tiene una mínima visión para poder distinguir siluetas o algo en una pantalla de celular.

Paula me hizo generar interrogantes de los que no tengo aún respuesta… ¿Qué pasa cuando deseamos tener un hijo y la expresión es “que sea sanito”? ¿Qué pasa cuando proponemos “poner el cuerpo en la lucha”, en qué lugar quedan les militantes que no pueden salir de su casa?

Estoy segura de que Paula me enseñó muchas más cosas, pero en este pequeño homenaje están aquellas que fueron más fuertes y que resuenan en mi vida cotidiana al interactuar con otras personas.

Mi nueva impresora Wanhao Duplicator i3 mini

Al fin! Hace bastante tiempo ando dando vueltas con respecto al tema de la impresión 3D. Empecé intentando armar una con un grupo de personas, pero me resultó demasiado complejo como para repetirlo sola.

Me suscribí a una lista de correos, y comencé a leer los mil y un problemas que puede tener alguien al imprimir… prácticamente había descartado la idea de tener una impresora en casa.

Sin embargo, mi opinión cambió al conversar con una colega (Marisa Conde, Graciasss!) que me confirmó que al tener una impresora aprendería, efectivamente, a imprimir. Que no es simplemente pulsar un botón y que salga.

Así que me puse a leer artículos como este, en el que se mencionan y evalúan las impresoras más económicas (año 2018). Allí dice:

“La Wanhao Duplicator i3 V2.1 es una impresora 3D del fabricante chino Wanhao. Esta impresora que se ofrece en kit es una evolución de su primera versión de la Duplicator I3. Una máquina basada en la Prusa completamente open source que cuenta con un marco de metal que le da gran estabilidad. Tiene un volumen de impresión de 200 x 200 x 180 mm, una resolución de capa de 0,1 mm y una cama calefactada, que le abre la posibilidad de imprimir con más plásticos.”

Así que me animé. Leí que por más que viniese armada, no era enchufarla y que funcione. Y sin embargo, prácticamente es así. Con la guía paso a paso se empieza por cortar los cinchos, colocar el filamento, quitar el resto de material, insertar la tarjeta, e imprimir los modelos que ya trae en la mini sd.

Impresora Wanhao i3 duplicator mini
Impresora Wanhao i3 duplicator mini

Después intenté descargar un archivo (de hecho, lo compré) e imprimirlo. Pero por hoy, fracasé en el intento (creé el archivo en Cura pero no lo hice bien). Mañana será otro día.

HueBot o GüeBot

Continuando en mi camino de hacer distintas partes de un robot humanoide, esta vez le tocó a los ojos.

Siempre me preguntaba cómo hacer para crear ojos que giren hacia arriba/abajo y hacia los costados.

Así nació esta primera versión de HueBot o GüeBot, el robot de ojos de huevos.

Pensando en cómo darle estética al robotito, recordé mis tuppers comprados para esto mismo (para hacer robotitos). Así que lo armé de tal manera que el giro vertical fue reemplazado por una especie de apertura de párpados.

La estructura de conexiones es igual a la de la mano robótica, pero esta vez, al utilizar tres servomotores, no fue necesario agregar las pilas.

El próximo desafío es el de agregar sensores o manejarlo a través del BlueTooth.

El código hasta ahora:

#include <Servo.h>

 Servo myservo1; 
 Servo myservo2;
 Servo myservo3;

 void setup() {
 myservo1.attach(9);
 myservo2.attach(10);
 myservo3.attach(6);
 }
 void loop() {
 //arriba
 myservo1.write(15); 
 delay(2000);
 delay(1000);
 //abajo
 myservo1.write(40); 
 delay(2000);
 //izquierda
 myservo2.write(40);
 myservo3.write(40);
 delay(500);
 //derecha
 myservo2.write(80);
 myservo3.write(80);
 delay(1000);
 //izquierda
 myservo2.write(50);
 myservo3.write(50);
 delay(2000);
 }

Mover un servo motor utilizando el celular

En la entrada anterior expliqué cómo conectar el Módulo Bluetooth HC-06 al arduino y enviar mensajes desde el celular a través de una app llamada Bluetooth SPP.

Modo Control

Hasta ahora lo utilizamos en modo “terminal”. Ya podemos pasar al modo “Control” de la aplicación (en el menú de hamburguesa – las tres rayitas)

Comenzamos investigando qué recibe el Arduino cuando tocamos cada tecla. Para ello, abrimos el monitor serie y pulsamos los botones. Recibe una A, una B, una C, una D y cuando soltamos, una Z.

Por lo tanto, modificamos el programa para que nos avise qué recibe cada vez que tocamos una flecha. Vamos a pedirle que cuando se oprime el botón hacia arriba nos devuelva “Arriba”, y eso mismo con todos los botones:

void setup()  
 {
   Serial.begin(9600);
 }
 void loop() 
 {
   if (Serial.available())
   {
     char dato=Serial.read();
     Serial.print("Dato recibido: ");
     Serial.println(dato);
     if (dato=='B') {
       Serial.println("Abajo");
     }
        if (dato=='A') {
       Serial.println("Arriba");
     }
        if (dato=='C') {
       Serial.println("Izquierda");   
     }
        if (dato=='D') {
       Serial.println("Derecha");
     }
   }
 }

Y el resultado, al tocar las flechas:

Conectando el Servo Motor Tower Pro Micro Servo 9g

Si nunca utilizaste el servo motor, comenzá por aprender a utilizarlo, por ejemplo, con esta entrada: Servo motor 9g Tower Pro

Ahora vamos a hacer esas mismas conexiones, repasando:

  • cable anaranjado: va a un pin de tipo PWD (los de la tilde de la eñe)
  • cable color marrón: GND (tierra)
  • cable color rojo: +5v

El problema es que tenemos el pin de +5v ocupado por el módulo HC-06, así que vamos a tener que conectar el módulo de Bluetooth y el Servo a una breadboard / placa de pruebas, y de allí sacar un cable para el pin de Arduino llamado +5v

Ahora le agregamos unas líneas a nuestro programa, para que se mueva el servo motor al presionar los botones:

#include <Servo.h>
 
Servo myservo;   

void setup()  
 {
   Serial.begin(9600);
   myservo.attach(9);
 }

void loop() 
 {
   if (Serial.available())
   {
     char dato=Serial.read();
     Serial.print("Dato recibido: ");
     Serial.println(dato);
     if (dato=='B') {
       Serial.println("Abajo");
       myservo.write(90);
         delay(15); 
     }
        if (dato=='A') {
       Serial.println("Arriba");
       myservo.write(0);
         delay(15); 
     }
        if (dato=='C') {
       Serial.println("Izquierda"); 
       myservo.write(180);  
     }
        if (dato=='D') {
       Serial.println("Derecha");
       myservo.write(45);
     }
   }
 }

Como el servo no gira 360 grados, los botones no lo mandan exactamente arriba, abajo, derecha, izquierda. Ya mejoraremos eso en otra entrada.

Primeros pasos con Arduino: Mi presentación para el Flisol

Comparto aquí la presentación que utilicé el día del Flisol 2019, en UNPAZ.

En el taller (de una hora de duración) mostré muy rápidamente cual es la estructura de la placa Arduino Uno, y utilizamos leds, un motor y un sensor de distancia.

También expliqué y practicamos el uso de la placa de pruebas o breadboard.


Estoy muy conforme con la manera en que voy aprendiendo a llevar adelante este tipo de talleres, ya que cada vez que una dificultad se repite, encuentro la manera de encarar ese contenido para saltear ese obstáculo.

Y esta vez me gustó mucho la manera en que expliqué el uso de la protoboard, con estos tres videos: