Git y la revolución de la colaboración

Git LogoHoy me toca hacer una presentación en la Universidad Americana, en su ciclo de charlas y exposiciones.

Pensé en Git para esta charla, porque creo que los sistemas de versionamiento, y los portales de publicación de codigo fuente como github, sourceforge, y demás son el pilar fundamental del software libre, al menos desde el punto de vista mas práctico. Ahí es donde esta el código fuente.

Existe una revolución relacionada con Git, o con la colaboración mejor dicho, y somos parte de esta revolución, directa o indirectamente y los CVS son son la base de esta tendencia. Lee mas acá

Les acerco mis diapositivas: Git – Universidad Americana – Oct 2013

 

 

Crea tu distro (Fedora)

La ultima entrada estuvo enfocada en armar la distro para Linux Mint, en esta entrada estaremos construyendo nuestra distribución basado en Fedora.

Para la construcción de Fedora, se utiliza las herramientas de LiveCD. Para lo cual hay que instalar el paquete:

[root@localhost #  ~] yum install livecd-tools

La herramienta utiliza un/os archivo/s kickstart para la instalación de los paquetes, y la preparación del entorno, pueden descargar los archivos con el paquete del repositorio, o pueden descargar solo los que requieren, y modificar a gusto

[root@localhost # ~] yum install fedora-kickstarts spins-kickstarts

Las secciones mas representativas del archivo kickstart son: los repositorios, la lista de paquetes y los archivos personalizados.

Los repositorios se declaran de la siguiente forma:

# Repositorio basado en mirrors (como el de fedora)
repo --name=fedora --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
# Repositorio basado en una URL
repo --name=repopersonal --baseurl=http://miservidor.com/directorio/

Los paquetes se instalan simplemente ubicándolos en en la sección de paquetes:

%packages
livecd-tools
anaconda
paquete-1
#para eliminar un paquete instalado se usa el "-" como prefijo
-paquete-2
# Los grupos de paquetes se declaran con un "@" como prefijo
@Base
@Development tools
%end

Los archivos personalizados son mas complejos, dentro del mismo kickstart se ejecutan comandos de consola, y desde estos mismo comandos se crean los archivos. El punto clave es donde empieza y donde finaliza el archivo.

Los archivos personalizados se generan luego de la instalación de todos los paquetes, en la seccion “post” del archivo kickstart. y se generan de la siguiente forma.

%post
cat >> /sbin/mi_script.sh <<EOF
#!/bin/bash
echo "Este es un script de bash"
EOF
%end

De esta manera, uno crea el archivo y en el contenido se carga en el mismo, hasta que recibe la orden EOF (end of file), esta orden puede ser cualquier secuencia de caracteres, pero es buena practica usar esa orden.

Una vez que tenemos el archivo kickstart de nuestra preferencia, se inicia el programa para crear la distro.

livecd-creator --verbose --config=/directorio/mi_archivo_kickstart.ks --fslabel=Fedora-RodolfoRemix --cache=/var/cache/live

Esta herramienta descargara todos los paquetes (y sus dependencias) las instalará en un sistema de archivo temporal. Luego se crea el sistema de archivo “live”, y se crea el livecd usando el mismo.

Una nota al margen, uno se vera tentado de agregar los repositorios externos de rpmfusion por ejemplo, para agregar soporte mp3, o de adobe para el plugin de flash player. Pero esto trae consigo un problema al “control de calidad” de la distribución fedora.

Todos las variantes de fedora que utilicen sus repositorios oficiales, son consideradas “remixes” del mismo, pero si van a utilizar repositorios o software personalizado. La marca fedora (y sus guias de uso) estipulan de que que NO PUEDE USARSE la marca o el logo de fedora en el mismo, para esto se recomienda instalar el paquete de logos genericos y desinstalar el paquete de logos de fedora en las listas de paquetes de su archivo kickstart.

%packages
# desinstalar logos de fedora
-fedora-logos
# instalar logos genericos
generic-logos
%end

Arma tu distro

Mi primera incursión en el remix de una distribución de linux fue con el LiveCD de slax, en ese entonces usaba slackware como mi distro de escritorio así que tenía la sarten por el mango.

El problema con slax era que estaba diseñado para ser usado como LiveCD y no tenia forma “fácil” de instalarse. De ahí que me ví en la busqueda de nuevas formas de personalizar una distro a mi gusto.

Remastersys

Una de las herramientas mas prometedoras que hay para personalizar una distro es “Remastersys”, el cual en su interface permite crear una distro a partir del sistema operativo en el que se encuentra instalado, y puede sacar varias versiones, una del sistema operativo solo, y otra del sistema operativo con las configuraciones de usuarios y datos de los mismos; lo cual lo hace una excelente herramienta de backup.

Para empezar a usar “Remastersys”, debemos configurar el repositorio del paquete para nuestra distribución. De la experiencia que tengo con esta herramienta, me funcionó muy bien con distribuciones basadas en ubuntu hasta la 10.04 LTS, o Linux Mint 9.

Debemos agregar a nuestra lista de repositorios la siguiente linea:

deb http://www.geekconnection.org/remastersys/repository karmic/

Y luego actualizar e instalar el paquete:

sudo apt-get update
sudo apt-get install remastersys

Con esto ya podemos empezara usarlo, ejecutando como root el comando de la interfaz grafica de la herramienta

sudo remastersys-gui

La opcion de creación de la imagen que buscan es “Dist” ya que crea la imagen de sistema operativo en el que se encuentra instalado, sin datos de usuarios.

Yo personalmente, para mantener el orden, siempre instalo una maquina virtual, y en ella personalizo todo lo que necesito (y lo documento tambien), y creo la imágen de la maquina virtual sin afectar a mi sistema operativo del día a día.

MintConstructor

Otra opción interesante disponible para Linux Mint es la herramienta “mintconstructor” que es una version para la distro de la herramienta “reconstructor”. Es mucho mas simple, y no tan customizable como “Remastersys” pero es muy pontente cuando se conoce como funciona el sistema operativo.

Funciona desempaquetando una imagen iso previa en un directorio del nuestro sistema actual, y luego nos crea una terminal en jaula (chroot terminal) en ese directorio, donde podemos customizar la distro a nuestro gusto.

Para poder customizar la distro, es necesario conocer los comandos de instalacion de software y la personalización que requiere, todo desde la linea de comandos, con esta herramienta no hay ventanas con la cuales trabajar.

sudo apt-get install minconstructor
sudo /usr/lib/linuxmint/mintConstructor/mintConstructor.py

Yo personalmente me he encontrado con un problema en la creación de la distro usando el “mintconstructor” en el cual en el proceso de creación no me crea el archivo .iso, pero si estan creados todos los demas archivos, asi que busque cual es el comando que utiliza y lo corrí de forma manual y me crea la imagen sin problemas.

Asumiendo haya usado el directorio /var/cache/livecd, debo ir al mismo y ejecutar el comando como sigue:

cd /var/cache/livecd
sudo genisoimage -o ./livecd.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -V "LiveCD" -cache-inodes -r -J -l ./remaster/

Esto me devolverá un archivo /var/cache/livecd/livecd.iso que ya esta listo para probarse

En que situación querrian crear su propia distribución?

Mantener una distribución es un trabajo muy complicado, lo ideal es siempre trabajar sobre algo ya previamente probado, y hacer “tweaks” sobre eso.

En el caso mío, mas alla de las necesidades laborales, cree una versión de mi sistema operativo con ciertas modificaciones que necesitaba para usar mi modem 3g, que con las versiones de sistema que usaba siempre requerían de instalación de paquetes y modificación de archivos de configuración. Con la creación de mi remix, tenía todo lo que necesitaba en un LiveCD que podía correr en cualquier maquina.

Una nota sobre el uso del servidor SSH

Cuando el paquete openssh-server es instalado, se crean unos archivos de configuracion, estos archivos deberían ser unicos por cada maquina, pero si se usan en el contexto de un LiveCD y la instalación del mismo, el mismo archivo de configuración se copiará en todas las maquinas que instalemos.

Mi solución es eliminar esos archivos, y colocar un control en el inicio que los crea cada vez que bootea la maquina, siempre y cuando no existan.

Primero borramos los archivos.

rm /etc/ssh/ssh_host_{dsa,rsa}_key*

Luego en el archivo /etc/rc.local colocamos el siguiente codigo

if [ ! -e /etc/ssh/ssh_host_dsa_key ]
then
	dpkg-reconfigure openssh-server
fi

De esta forma, en cada inicio, se controla si existe el archivo, y si no existe hace una “reinstalación” rapida del paquete, que los crea nuevamente, unicos para cada inicio, y para cada maquina.

El PGP nuestro de cada día

Antes lo más importante era el hardware, donde el poder de procesamiento era tan valuable que los computadores tomaban pisos enteros del edificio donde se encontraban. Con el advenimiento de las computadoras personales, la importancia caía sobre el software.

Hoy la importancia está en la información.

Ya hace un tiempo estoy haciendo una serie de tutoriales sobre la encriptación de datos y creo que con este nuevo tutorial le puedo dar un complemento mas que necesario.

Señoras y señores, ante Uds., PGP para todos los días

Pruebalo o no sirve

Como administradores de sistemas, tenemos una responsabilidad con la alta disponibilidad. No deberíamos darnos un solo minuto de down-time.

La realidad nos dice otras cosas, que no somos invencibles, y por sobre todas las cosas, que “Si algo puede salir mal, saldrá mal“, la famosa ley de murphy.

Esta ley nos da una guia para pensar en el peor escenario posible de las cosas. Por esta ley es que hacemos nuestras copias de seguridad. Ponemos nuestros datos en otra maquina, y hasta en otra ciudad para que “cuando” algo salga mal, podamos levantarnos de las cenizas como el ave fenix.

Esta copia de seguridad es nuestro seguro de vida.

En la realidad, uno quisiera nunca comprobar que su seguro de vida funciona, pues para eso tendriamos que morir. Pero ese no es el caso para las copias de seguridad.

Existen maquinas virtuales. Crea una desde cero, y aplica tu copia de seguridad, y por sobre todas las cosas documenta el proceso y los resultados.

Ninguna copia de seguridad es aceptable, hasta que el proceso permita replicar el estado actual de la maquina, o como mínimo permitir el correcto funcionamiento de los servicios críticos.

Pruébalo, o no sirve.. a menos que quieras probar tu backup bajo presión, cuando el mundo se haya derrumbado.

 

Soporte dinamico para modulos del kernel

Supongo que hubiera sido conveniente poner esto en la sección de tutoriales, pero creo que en esta ocasión es mas comentario/opinión que tutorial para la generación de un modulo en especial.

Hace un tiempo recibí en prestamo una computadora EXO (Classmate) cuya distribución “oficial” era bastante peculiar. Para ser una distro orientada a la educación  no tenía ningun software educativo (?!). Y cualquier distribución estandar de GNU/Linux puede ser instalado, pero la conexión wifi no funciona de forma estable.

Leí que existía un controlador para esta placa, y lo instalé. Todo funcionaba bien, pero me preguntaba como haría para instalar el mismo software en varias maquinas sin tener que hacerlo de forma manual.

Ya trabajando con el sistema operativo, se me presentó la actualización del sistema (y el kernel). Al hacerlo, el wifi dejó de funcionar, esto se daba porque el modulo se compiló para esa versión especifica del kernel, al actualizarlo el modulo no se cargaba con el kernel.

Leyendo un poco el como solucionar el problema, leí un artículo sobre dkms, e indagué un poco más. Y el sistema es muy interesante. Trabaja compilando el código fuente del módulo cada vez que se actualiza el kernel, así al instalar uno nuevo, el modulo no deja de funcionar.

La ventaja de este método, ademas de lo observado es que trabaja directamente sobre el código fuente del modulo, no asi con modulos precompilados como los demás que vienen con nuestro kernel.

Vamos a la parte práctica. Mi placa wifi es Realtek 8192SE, y el módulo soportado esta disponible en la web del fabricante. Además del codigo fuente del módulo, trae además el firmware (no libre) de la placa. Este detalle es relevante, ya que el sistema DKMS solo compila el kernel y lo ubica en árbol del kernel actual instalado, pero no así el firmware.

Lo primero es ubicar el código fuente de acuerdo a ciertos parámetros. Debe ubicarse en un carpeta en /usr/src/[nombre_del_módulo]-[versión_del_módulo]

mkdir /usr/src/rtl8192se-0005.1230.2011

En este directorio deberá encontrarse el archivo de configuración del sistema dkms.conf, con el cual guiaremos la instalacion.

Mi configuración refleja la instalación de varios modulos

PACKAGE_NAME="rtl8192se"
PACKAGE_VERSION="0005.1230.2011"
# Este es el primer modulo que debe compilarse e instalarse
BUILT_MODULE_NAME[0]="rtlwifi"
DEST_MODULE_LOCATION[0]="/kernel/drivers/net/wireless/"
# Este es el segundo modulos, pero es compilado en un directorio diferente
BUILT_MODULE_NAME[1]="rtl8192se"
BUILT_MODULE_LOCATION[1]="rtl8192se/"
DEST_MODULE_LOCATION[1]="/kernel/drivers/net/wireless/rtl8192se"
# Instalación del firmware, y borrado luego de la desinstalación 
POST_INSTALL="install.sh $source_tree/$PACKAGE_NAME-$PACKAGE_VERSION"
POST_REMOVE="remove.sh"

El script de instalación recibe como parámetro el lugar donde se encuentra el código fuente, y debe notarse que se usa como nombres de variables. Esto se recomienda buena práctica ya que se puede configurar para usar un directorio alternativo.

El script de instalacion es bastante simple, pero corrobora la existencia previa, para no copiarlo todas las veces que se compila

#!/bin/bash
$FIRM_DIR=$1/firmware/rtlwifi
# Corroborar que el firmware no este presente
if [ ! -d /lib/firmware/rtlwifi ]
then
    # Si no existe, copiarlo
    cp -a $FIRM_DIR /lib/firmware/
fi

El script de borrado del firmware es un comando simple

#!/bin/bash
rm -R /lib/firmware/rtlwifi

Una vez que estan hechos los archivos, se procede a la compilación del modulo. Pero antes se requiere la instalación de las cabeceras del kernel actual

# Debian/Ubuntu/Mint
apt-get install kernel-headers dkms
# Red Hat/Fedora/Centos
yum install kernel-headers dkms

Una vez instalado el sistema DKMS los comandos para generar los paquetes instalables de los mismos.

dkms add -m rtl8192se -v 0005.1230.2011
dkms build -m rtl8192se -v 0005.1230.2011
# Deb package
dkms mkdeb -m rtl8192se -v 0005.1230.2011
# RPM package
dkms mkrpm -m rtl8192se -v 0005.1230.2011

Los paquetes instalables pueden luego publicarse en repositorios.

La página de man del dkms tiene muchas mas opciones disponibles para los módulos que son compilados con características específicas. Incluyendo cambiar el nombre al instalarlo, la compilación solo para cierta versiones del kernel, etc.

El sistema en si es bastante rápido y estable. En el caso de Fedora, el kernel al utilizar la opción AUTO_INSTALL, verifica en cada booteo la presencia del módulo, lo cual agrega 30 segundos (o más) al proceso de inicio.

Ecosistema de servicios

Como proveedor de servicios en el área de informática, no puedo rechazar la idea de hacer una pequeña reflexión sobre el ecosistema de servicios que nace con el software libre.

Voy a empezar con una anécdota. En una cena con Richard Stallman yo le comentaba que el software libre genera un ecosistema de servicios asociados. Él me detuvo cuando hubo escuchado la palabra “ecosistema” y luego me dejó continuar. Le pregunté porqué había hecho eso, y me respondió que no le gustaba la palabra de “ecosistema” en el contexto del software, porque no implicaba conciencia moral. Es decir, en un ecosistema, no hay bien o mal, solo hay sistemas que interactuan. A lo cual agregó que le gustó mi término “de servicios” porque tenía una conotación de asistencia o ayuda en la traducción que el manejaba. Creo que esquivé su ira por centímetros.

El software libre, mi área de trabajo cotidiano, me presenta con una realidad de trabajo poco convencional, comparado con la clásica venta de productos y servicios, mas que nada porque mi producto estrella es gratutito. Yo no vendo el software marca acme, te vendo la capacidad acumulada de mi experiencia (y certificacion) de instalar el software marca acme de forma rápida, segura y con garantías.

Esto es asi, porque todos, absolutamente todos, podríamos si quisieramos instalar cualquier software libre, es inherente a la licencia, que es de libre uso, acceso, copia, modificación y redistribución, entonces porque me elegiría alguien para instalarlo por ellos, si lo pueden hacer solos?. Porque la experiencia acumulada, y el conocimiento del software y su configuración me permiten a mi hacerlo en una fracción de tiempo y con todas las funcionalidades necesarias.

No quisiera negar a nadie la oportunidad de aprender a usar software libre, pero a veces, la disponibilidad de tiempo es un factor a tener en cuenta.

El ecosistema de servicios que nace del uso de software libre, no solo incluye la instalación y configuración, tambien el mantenimiento, en el corto, mediano y largo plazo, como son la copia de seguridad de las configuraciones en periodos de tiempo establecidos (ojo que esto también se puede automatizar), la modificación de las configuraciones para agregar/modificar las funcionalidades, actualización segura. Un servicio interesante es la personalización del software, donde programadores son contratados para modificar un software existente a las preferencias y necesidades de un cliente.

Uno de los servicios que mas ha llamado mi atención ultimamente es la educación, es decir el entrenamiento en el uso de software libre en todos los niveles. Desde el uso de aplicativos de ofimática en la estación de trabajo, hasta la instalación y puesta a punto de servidores de alta disponibilidad. El conocimiento acumulado también se puede vender como servicio. Y el ecosistema se vuelve cada vez mas complejo.

La ventaja de este ecosistema de servicios es que nada esta atado a un solo proveedor. Como el software es libre y gratuito, el cliente TE ELIGE por sobre los demás proveedores por todas las razones posibles. Desde familiaridad, precio, disponiblidad, conocimiento previo de la plataforma. La dinámica esta dada por la capacidad y por la calidad de los servicios, no por contratos de licencia.

Una de mis acciones más polémicas es que cuando un proveedor me solicita un servicio, le soy claro con mi nivel de conocimiento del mismo, y ante la duda le ofrezco otros proveedores que podrían darle ese servicios. Ud se preguntará porque direcciono a los clientes a la competencia, y le respondo que el cliente se merece una solución, incluso si la solución no sea la mía. Y creanme cuando les digo que en informática, todo tiene solución, la pregunta real es el precio y el tiempo.

Peores practicas en uso de TICs en la educacion

Esta es una traducción de un blog, con algunos comentarios míos agregados

En los negocios y en los círculos de desarrollo internacional, mucho se hace sobre el potencial de “aprender de las mejores practicas”. Consideraciones en el uso de tecnologías educativas no ofrecen excepciones a este impulso. Habiendo dicho eso, “mejores practicas” en el sector de la educación es una concepto bastante elusivo (algún observador diría que es peligroso). El termino “buena practica” puede ser mas útil, pues en muchos (si no todos) los casos y lugares, aprender de la adopción de “buenas practicas” es mucho mas practico — y es mas propenso al éxito. Dado que muchas iniciativas parecen inmunes a aprender de las “mejores” o incluso de las “buenas” practicas en otros lugares o contextos, puede ser mas practico recomendar “muchas practicas”, como parece que hay una curva de aprendizaje que acompaña las implementaciones a gran escala de TICs en el sector educativo en muchos países — incluso si esto significa “repetir los errores” de otros.

En realidad necesitamos repetir los errores de otros? Si adoptando ‘buenas practicas’ ya nos llena de dificultades, y ‘buenas practicas’ son notablemente ignoradas, quizás es mas útil si miramos a las ‘peores practicas’.

Las buenas noticias son que, en el área de uso de TIC en la educación, hay un gran consenso de lo que esto es!

Acá hay una lista de las que me parecieron las mas prominentes ‘peores practicas’ relacionadas al uso a gran escala de TIC en la educación en los países en desarrollo, basados en primer lugar en la observación desde hace una década aproximadamente.

He omitido nombres (por favor siéntase libre de llenarlos Ud.). El criterio que se usó para la selección fue simple: Dada que las peores practicas son fácilmente observables en múltiples iniciativas de gran escala, con (uno teme) una alta posibilidad de re-ocurrencia, en el mismo y otros lugares. En ningún orden en particular:

1. Tira el hardware en las escuelas, y espera que la magia suceda
Esto es, en muchos casos, el clásico ejemplo de peor practica en TIC en la educación. Desafortunadamente, no hay signos de estar desapareciendo pronto, y es el precursor de muchas otras formas de peores practicas de esta lista. “Si se las damos, ellos aprenderán”: Quizás en algunos casos esto es verdad, para una minoría de estudiantes y profesores excepcionales, pero este acercamiento simplista es la raíz de muchos fracasos de iniciativas en tecnología educativa.

En especial por estar enfocados en que la tecnología es la solución, pero todos sabemos que la tecnología es solo la herramienta, como lo fue en algún momento el cuaderno y el lápiz, y los libros, aceptemos que es una herramienta mucho mas versátil que los anteriores, pero no garantiza los procesos de enseñanza-aprendizaje sean exitosos.

2. Diseña para ambientes de aprendizaje OECD, implementa en otro lugar
Con la mejor de las intenciones, y a veces ‘asistidos’ por vendedores, muchos grupos (incluyendo muchos gobiernos) han buscado simplemente transferir modelos de TIC y practicas de clase en países industrializados a sistemas educacionales menos desarrollados del mundo. A veces esto funciona, pero desafortunadamente muchos lugares implementan programas y productos que tienen en su núcleo un conjunto de afirmaciones (electricidad y conectividad, profesores entrenados, suficiente tiempo en la tarea, estudiantes con altos conocimientos, espacio para pedagogías orientadas al estudiante, contenido relevante, una variedad normas culturales, etc.) que no corresponden a las realidades locales. El resultado es (y no sorprende) no muy bueno.

3. Piensa en contenido educativo solo después de haber enviado el hardware.
Desplegar mucha infraestructura de computadora en las escuelas es caro(y complicado). Tan caro, de hecho, que muchas inversiones complementarias (en entrenamiento, soporte técnico, contenido, etc) son ‘pospuestos’ para una fecha mas adelante. A veces esto es una maniobra/riesgo calculado — el pensar que una vez que el hardware esta en los locales, la necesidad de contenido sera mas clara (y sera mas fácil apoyar la búsqueda de fondos relacionados en ese momento) — y en otros momentos es simplemente la falta de planeamiento. Pero el hecho es que, en muchos lugares, solo cuando las computadoras están en las localidades y cierto nivel básico de alfabetismo TIC es apreciable en los profesores y alumnos sale la pregunta básica de: que haremos con estas cosas ahora?

Esta práctica es en especial relevante, porque muchas veces el contenido desarrollado no puede ser enviado “fácilmente” a estas localidades. El internet cambia esta realidad, pero y si no hay internet?.

4. Asumir que uno puede importar contenido de otros lugares
Algunos lugares reconocen la necesidad de calidad en contenido educativo, pero asumen que pueden simplemente importarlo de otros lugares.
Algunos lugares reconocen la necesidad de calidad en el contenido educativo desde el inicio, pero asumen que pueden simplemente importarlo desde algún otro lugar. Además de los probables temas culturales, la integración acertada de contenido desarrollado en otro lugar en los procesos de enseñanza-aprendizaje del día a día es inhibido por la falta de entendimiento por lo profesores de la relevancia de tales materiales en el currículum requerido. Mucho del esfuerzo esta dado en mapear este contenido a objetivos explícitos y actividades en currículum local. (Y también: Entrenamiento docente ayuda!)

5. No observar, no evaluar
Esto debería de ser evidente. Habiendo dicho eso, hay unos pocos estudios de evaluación hechos en iniciativas educativas-tecnológicas en los países en desarrollo que sean rigurosas y realmente creíbles. La mayoría de los trabajos de evaluación se enfoca en (percibe que) cambios en la actitud como resultado del uso de tecnologías educativas, y el éxito (o fracaso) en llegar a variables cuantificables simples (cuantas computadoras instaladas, cuantos profesores entrenados, etc.). Esta información es importante, claro, pero no es suficiente. Cuál es el impacto del uso de TICs en la educación? Si no evaluamos las respuestas potenciales a esta pregunta, rigurosa y creíblemente, todo lo que nos queda es bien-intencionadas adivinanzas y frases de marketing.

6. Hacer apuestas grandes en tecnología no probada (y especialmente la basada en estándares cerrados/propietarios) o en un solo proveedor, no planear para evitar ataduras
Aceptemos que la velocidad de los cambios tecnológicos casi siempre supera la habilidad de los planeadores educacionales de alcanzarlo. En respuesta, algunos responsables de las políticas buscan “adelantarse” haciendo grandes apuestas en nuevas, y mayormente no probada, tecnologías en un esfuerzo por dar un salto a lo que están pasando otros sistemas educativos. En otros casos, los sistemas educativos eficientemente tercerizan la capacidad de manejar las actividades en un área a un proveedor o tercerizado. Hay algunas razones validas para buscar estos vías de acción en algunos casos, pero son inherentemente riesgosas, especialmente si no se hacen planes de como “salirse” de estas decisiones y relaciones.

Yo soy particularmente quisquilloso con este tema, por mi afinidad con el software libre y el compartir conocimiento. Pero mas allá de eso, esta estrechamente ligado con la flexibilidad que se le pueda dar a las iniciativas al largo plazo, y transversalmente entre las comunidades educativas para el intercambio de conocimiento. “No puedo contarte como lo hacemos, porque no soy yo el que entiende de eso, es mi proveedor”.

7. No pensar en (o concebir) temas o cálculos de costo total de propiedad/operación(CTO).
Cuanto cuesta usar TICs en la educación? Algunas personas te harían creer que es solo el costo inicial del hardware. Empresas saben hace mucho tiempo que este no es el caso, pero muchos responsables de política educativa parecen no haber entendido (o ignoran adrede) este tema fundamental.
Sabemos que el “costo total de operación” (CTO) es subestimado, algunas veces de forma grosera, en los cálculos de costos de TICs en iniciativas de países en desarrollo. Costos iniciales estimados en la compra de equipos con respecto a los costos totales en el tiempo varía ampliamente, típicamente van por el 10-25% del costo total. Habiendo dicho eso, hay un montón de datos relevantes, y herramientas útiles, para ayudar a guiar en la toma de decisiones en la educación en sus cálculos de los verdaderos costos en las iniciativas tecnológicas en la educación.

8. No asumir problemas de equidad
Un justificación atractiva para inversiones en el uso a gran escala de TICs en la educación es que puede ayudar en temas de equidad relacionados con la “brecha digital”. Habiendo dicho eso, la introducción de TICs en las escuelas pueden acentuar varias brechas menos visibles en los sistemas educativos (urbano-rural, rico-pobre, niños-niñas, brechas culturales y lingüísticas, estudiantes con necesidades especiales – la lista es larga). Hay mucho que se puede hacer para mitigar estos obstáculos, y son posibles muchas formas pro-equidad de aprovechar las TICS, pero no suceden sin atención pro activa cuidadosa sobre esta área.

9. No capacitar a los docentes (ni a los directores)
Si hay una lección clara de la introducción de tecnologías educativas en las escuelas alrededor del mundo, es que la capacitación docente es crítica para el éxito de las mismas. El acercamiento a los docentes, con soporte de ambas formas pedagógica y técnica y el desarrollo profesional continuo, debería ser visto como un pilar de todos los programas a gran escala de TICs en las escuelas. Y: un acercamiento a los directores es muchas veces crucial si se busca que los profesores tengan la libertad necesaria para tomar ventaja de las nuevas oportunidades ofrecidas en el uso de TICs.

Esto parece estar siendo tomado mas en consideración en los últimos años, ya que se ha visto el rol fundamental que tiene el docente como guía en el aula, y más aun cuando en muchos ambientes, depende exclusivamente del docente la aplicación o no de las TICs en el aula.

10. ___
(Pensé que era bueno dejar el # 10 en blanco como un reconocimiento de que hay muchas otras malas practicas que merecen mención, pero se me acabó el espacio. Siéntase libre de enviar sus candidatos más abajo.)
Para aquellos que trabajan en tecnología educativa, ninguna de estas malas practicas es nueva. Para muchos otros nuevos en el tema, las lista le parecerá tan obvias que no merecen mención. Incluso si en realidad son “obvias”, eso lamentablemente no les ha impedido que se produzcan ( y que sean recurrentes) con una regularidad atemorizante.

El proyecto tor

El proyecto TOR es en pocas palabras, un túnel virtual que se crea entre tu maquina y la red de maquinas que poseen tor instalado donde las comunicaciones que se realizan son encriptadas, y además de cierta forma aleatorias.

Cuando ingresamos a nuestro correo electrónico desde nuestro hogar, Google, Hotmail o quien sea guarda la información desde donde estamos conectados. Esto se puede interpretar de la misma forma en todas las comunicaciones. Facebook sabe que nuestra conexión se realiza desde nuestra casa, y últimamente incluso notifica cuando se realiza desde una locación diferente.

A través del túnel creado por el software de TOR, nuestra comunicación viaja desde nuestras casas usando el túnel y sale en otra maquina que puede estar al otro lado del mundo, figurando así el punto externo como el originario de la conexión.

Los ejemplos de usos que plantean sus creadores van desde activistas, periodistas, militares, fuerzas de la ley y personas normales como nosotros como usuarios de la red TOR, puesto que es una forma de asegurar nuestras comunicaciones.

Tor tiene un potencial interesante para ser usado en las redes que poseen proxy y controles de acceso restrictivos, ya que las conexiones son aleatorias, no hay forma de rastrearnos como originarios.

No me sorprendería saber que wikileaks tiene un portal TOR publicado.

Mas informacion

Adios al escritorio

Desde hace mucho tiempo las publicaciones sobre GNU/Linux hablaban de que “este” iba a ser el año del Linux en el escritorio. Dado los avances en materia de usabilidad y compatibilidad, cada año eso parecía mas cierto. Ubuntu, KDE 4, puedo citar como ejemplos de que el año de Linux en el escritorio ya llegó hace un tiempo. El problema es que ahora el escritorio esta desapareciendo.

Una de las firmas de informática mas relevantes estimó una baja en las ventas de PC para finales del año 2010 y para el 2011. En lo que parece estar muy relacionado con la nueva tendencia hacia las tablets.

Me atrevería a ir mas lejos sobre esa hipótesis, y la respuesta esta en los smartphones y las netbooks.

Las ventas de iPad y tablets pueden ser una nueva tendencia, pero la tendencia esta en realidad en que todos los nuevos dispositivos nos alejan del escritorio. Más aún cuando sabemos que todos van en esa dirección.

Y lo sé por esto: Google, una de las empresas en crecimiento de internet (estoy seguro que escuchaste hablar de ella), esta lanzando un nuevo servicio de impresion desde la nube, es decir, enviar una orden de impresion [en tu escritorio] desde cualquier parte con tu smartphone o con tu notebook o con tablet.

Agrego ademas una noticia mas reciente, de que se encuentra en etapa de pruebas de su nuevo sistema operativo para notebooks, Chrome OS, que ya estan enviando con maquinas de prueba a desarrolladores. Chrome OS no solo plantea ser el sistema operativo de inicio mas rápido, sino que tambien planea la independencia de la maquina.

Todo esto sumado al boom de los smartphones con android, me dice que Google sabe a donde quiere llegar.

El futuro es como sigue: Me levanto una mañana reviso mi correo en mi tablet mientras tomo mi café, luego mi teléfono me indica los e-mails que he recibido durante la noche. Envío los mas importantes a la impresora de mi oficina, para luego discutir sobre ellos en una reunión con mis colegas. Al marcar la reunión con mis colegas en mi calendario compartido, estos ya estan al tanto de la actividad. Apago mi tablet, y al llegar a la oficina, mi computadora me muestra exactamente lo que deje abierto en mi tablet en casa. Cuando salgo de la oficina a visitar a un cliente, llevo mi notebook/netbook conmigo, que también muestra extactamente lo que mostraba mi tablet y mi computadora de la oficina.

Se lo que estan pensando, entonces, necesito comprarme una notebook, una tablet, un desktop y un smartphone? No, no necesitas, las herramientas vendran cuando el trabajo así lo requiera. Lo que necesitas es tener la infraestructura que te permita usarlos todos de forma ordenada. Yo con una notebook y un desktop ya armo suficiente lió, ni imagino con tantos dispositivos.

Ciertas herramientas ya me permiten organizarme, deliciuos, google calendar, dropbox.  No utilizo todos los servicios de google, pero muchos de ellos ya me son de utilidad. Lo siento dentro mío, el futuro está tocando a mi puerta, y la tuya.