jueves, 17 de abril de 2008

Campaña contra el software privativo en la educación argentina

Lo que sigue es extraído del sitio de Solar...



Mientras en Europa se multa a Microsoft por 899 millones de euros por monopolio y abuso de posición dominate, acá en Argentina Scioli la recibe con los brazos abiertos.

A todos los activistas del movimiento del Software Libre, grupos de usuarios, desarrolladores, programadores de software, diseñadores gráficos, webmasters, administradores de foros GNU/Linux y demás gente amiga:
9000 escuelas de la Provincia de Buenos Aires serán equipadas con computadoras con Microsoft Windows instalado de fábrica. Esto es un atraso enorme con respecto a la decisión del gobierno anterior, que en 2004 se propuso instalar GNU/Linux en los equipos informáticos y lo llevó adelante en gran medida, aunque no con la pericia adecuada, al menos las PCs en las Escuelas Terciarias de la Provincia venían con Software Libre y sin Windows, representando un avance en materia de independencia tecnológica y ahorro a las arcas del Estado (es decir, de nuestros bolsillos).

Actualmente el Gobernador Scioli se reunió con Bill Gates y anunció un plan masivo de informatización.

Desde el movimiento del Software Libre debemos llamar a rechazar semejante propuesta privativa y anti-educativa, y realizar una contrapropuesta.
Es por eso que se convoca a iniciar campañas de información y propaganda que puedan llegar a los gremios docentes y no docentes, a los centros de estudiantes para explicarles claramente por qué debemos rechazar la extranjerización y privatización de nuestra educación informática.
  • No promueve el desarrollo local de software
  • Impide al Estado, docentes, no docentes y estudiantes controlar los sistemas operativos dado que:
  • No se puede estudiar el código fuente
  • No se puede utilizar el sistema operativo con cualquier fin
  • No se puede realizar copias, salvo pagando a Microsoft
  • No se puede mejorar el sistema operativo
Todo esto sería diferente si se utilizara Software Libre, el cual permite realizar todo lo anterior: estudio, modificación, mejora, copia, fomentando así el aprendizaje de una disciplina (la programación) que representa una de las expresiones culturales más relevantes de nuestra era, y brindado control al Estado sobre sus equipos informáticos.

Los estudiantes y docentes que se formen con Software Libre serán quienes controlen el mismo, podrán compartir copias con sus compañeros, mejorarlo, tener la posibilidad de modificar cada detalle.

Así como en otras asignaturas escolares se enseña cómo hacer tal experimento, por ejemplo en Química, se da la receta, el software libre brinda esa posibilidad.

No usar software libre en la escuela es como aprender música pero no poder ver la partitura, es como aprender plástica y no tener nociones sobre perspectiva, tonalidades, círculo cromático; es como aprender matemática en base sólo a los resultados de un problema (o utilizar siempre una calculadora para todo), en vez de realizar el proceso de resolución del mismo.

Quienes se eduquen con software privativo tendrán, por todo esto, una formación deficitaria.

Llamamos a:
  • Instalar Software Libre en lugar de Windows para defender la educación pública y gratuita.
  • Poner en práctica el uso, la enseñanza y desarrollo de Software Libre.
  • Rechazar activamente desde los gremios docentes, no docentes y centros de estudiantes cualquier plan del Gobierno que tenga que ver con Microsoft u otro software privativo.

Nota completa: http://www.mastermagazine.info/articulo/12831.php

miércoles, 16 de abril de 2008

HashTab: Cálculo de hashes en Windows

Muchas veces habrán visto que muchos sitios de descargas en Internet brindan información de los hash de los archivos ofrecidos. Llamamos hash al resultado de una función matemática o algoritmo aplicado al contenido de un archivo (o una frase). Esta función o algoritmo debería dar un hash o resultado único. Así, dos archivos idénticos dan como resultado un único hash pero dos diferentes deberían dar resultados distintos.

Si calculamos el hash del archivo descargado y lo comparamos con el que figura en el sitio desde donde lo descargamos podemos saber si el mismo está truncado o si es una copia fiel al original.

Los algoritmos hash más usados para la comprobación de archivos son MD5, SHA1 y CRC-32 a pesar que se han encontrado fallas o colisiones en algunos de ellos. Decimos que un algoritmo hash posee colisiones cuando se encuentra que devuelve el mismo resultado ante dos entradas distintas. Este es un problema criptográfico que no pienso exponer aquí (no me dan los conocimientos). Para el uso en la comprobación de integridad de archivos estos algoritmos siguen siendo ampliamente usados.

En Linux tenemos varias herramientas para el cálculo de hash para estos algoritmos. Por ejemplo, md5sum (MD5) o sha1sum (SHA1). En Windows tenemos algunas en consola pero una realmente útil es Hashtab que corre sobre NT, 2000, 2003, 2008, XP y Vista.

Hashtab es un software que agrega una solapa "Hash del archivo" a la ventana de Propiedades de un archivo y que calcula los hash MD5, SHA1 y CRC-32.




En el campo de texto "Comparación de valores del hash" podemos pegar el hash que nos provee el sitio de descarga para comprobar si el archivo nos llegó bien (o un valor previamente calculado para saber si fue modificado).

Haciendo click derecho en el cuadro de valores de hashes podemos acceder a una ventana desde donde podemos agregar otros algoritmos como HAVAL, Tiger, RIPEMD-128, RIPEMD-256, RIPEMD-320, SHA-512 y WHIRLPOOL además de los nombrados previamente y que vienen activados por defecto. Por supuesto, cuanto más algoritmos tengamos habilitados, más tiempo tardará en mostrarnos los resultados.


Sencillo y útil, pueden bajar esta aplicación desde aquí.

viernes, 11 de abril de 2008

Instalación de OpenMeetings en Debian Etch

Desde 2006 estuve siguiendo la evolución de un proyecto de código abierto llamado DimDim que permitía realizar video conferencias desde la web usando el servidor red5. Soporté sus bugs, sus crash y la indiferencia de los administradores del proyecto ante las mis dudas y las de otros usuarios que rondamos por el foro.

Lo que no pude soportar es que en las últimas versiones el proyecto anunció la aparición de Dimdim Pro y Dimdim Enterprise que no son de código libre y son pagas. Queda la versión DimDim Open Source que se distribuye bajo licencia GPL pero limitada a sólo 5 participantes concurrentes.

Entiendo que esta gente quiera ganar dinero. Todos lo queremos hacer. Pero no me parece justo que se limite las funciones de la versión GPL. Así que desinstalé DimDim de todos los lados donde lo estaba probando y me despedí del maldito proyecto.

Y cuando ya estaba decidido a crear un fork de DimDim o empezar un proyecto totalmente nuevo me encontré con OpenMeetings.

A continuación algunas de las características de OpenMeetings:

  • Permite realizar conferencias de audio y/o video, organizadas en salas públicas y privadas.
  • Cualquiera de los participantes que oficie de moderador pueden mostrar el escritorio de su computadora, lo cual es muy útil para el uso en cursos a distancia.
  • Permite importar casi todo tipo de documentos e imágenes (.tga, .xcf, .wpg, .txt, .ico, .ttf, .pcd, .pcds, .ps, .psd, .tiff, .bmp, .svg, .dpx, .exr, .jpg, .jpeg, .gif, .png, .ppt, .odp, .odt, .sxw, .wpd, .doc, .rtf, .txt, .ods, .sxc, .xls, .sxi, .pdf)
  • Contiene una pizarra donde lo que se escribe y/o dibuja el moderador es visualizado por los participantes.
  • Soporta numerosos idiomas e incluso posee una herramienta para editar las traducciones que vienen por defecto.
  • Se puede enviar invitaciones a otros usuarios por correo electrónico para que formen parte de una conferencia.

Luego de instalarlo y probarlo en varias condiciones puedo afirmar que OpenMeetings supera ampliamente las características de DimDim. Y como si fuera poco, sólo requiere en los clientes un navegador que soporte Flash 9 y tenga Java instalado (además de una WebCam y/o un micrófono)

En la siguiente figura pueden observar como se ve una videoconferencia con dos participantes:


Noten que también los participantes están visualizando también un documento de Word.

En la siguiente imágen pueden ver la pizarra en acción:


Empezando...


Lo que sigue lo he probado ya en una máquina virtual y en varias máquinas físicas corriendo Debian Etch sin entorno gráfico. La versión de OpenMeeting es la 0.5 Final Release lanzada el 31 de marzo de 2008.

En todos los casos no he tenido problemas, salvo en el envío de invitaciones via e-mail, cosa que estoy tratando de solucionar con la ayuda del foro de OpenMeetings.

Aunque no lo he probado aún, esta pequeña guía debería servir también bajo Ubuntu Server Edition o incluso en Ubuntu Desktop con las diferencias del caso.

Elegí usar como base de datos MySQL aunque OpenMeetings acepta Postgress. Me decidí por MySQL porque me siento como delfín en el agua ;) más que por alguna razón técnica.

1) Instalación de Sun Java Development Kit

Como OpenMeetings necesita de Sun Java Development Kit vamos a tener que habilitar los repositorios de la rama non-free de Debian. Para ellos editamos el archivo sources.list:

# pico /etc/apt/sources.list

Agregamos non-free a alguno de los repositorios que figuran allí al final de la línea. En mi caso quedó:

deb http://ftp.debian.org/debian/ etch main stable non-free

La dirección puede ser distinta en el caso de uds, dependiendo del lugar desde donde prefirieron obtener los paquetes de Debian en el momento de la instalación.

Actualizamos el listado de paquetes:

# apt-get update

Instalamos finalmente Sun Java Development Kit:

# apt-get install sun-java5-jdk

Finalizando la instalación se nos presentará el acuerdo de licencia de usuario final (EULA) de Sun la cual debemos aceptar.


2) Instalación de MySQL


OpenMeetings utiliza una base de datos para mantener información de usuarios, direcciones de correo electrónico, salas de reuniones, etc. Como ya comenté yo elegí MySQL.

Para instalar MySQL ejecutamos:

# apt-get install mysql-server

Antes de seguir, asignamos una clave al usuario root de MySQL:

# mysqladmin -u root password 'pon_tu_clave_aqui'

donde 'pon_tu_clave_aqui' es la clave elegida.

Imagino que no eligieron la misma clave que el usuario root del sistema, que tiene una cantidad de caracteres aceptable y que guardarán la clave bajo siete llaves (como mínimo)

Asegurado el usuario root de MySQL, creamos una base de datos y un usuario con permisos para gestionarla.

# mysql -p -u root

Ingresamos la clave recién cambiada para root y nos encontraremos en la consola de MySQL. Allí creamos la base de datos ingresando:

mysql> CREATE DATABASE openmeetings DEFAULT CHARACTER SET 'utf8';

Con este comando creamos la base de datos llamada "openmeetings" pero el nombre puede ser cualquier otro.

Ahora creamos un usuario con todos los permisos para la base de datos recién creada:


GRANT ALL PRIVILEGES ON openmeetings.* TO 'openmeetings'@'localhost' IDENTIFIED BY 'rstallman' WITH GRANT OPTION;

En este caso llamé "openmeetings" al usuario también. La clave de dicho usuario en el ejemplo es "rstallman". Sean libres de cambiar estos datos.

Salimos de la consola de MySQL con:

mysql> quit

O también:

mysql> \q


3) Instalación de Xvfb

Estamos en un servidor que debería no tener instalado ningún entorno gráfico. Pero necesitaremos de OpenOffice que requiere de uno para correr. La solución a este conflicto es utilizar Xvfb (X Virtual FrameBuffer) el cual no es más ni menos que un servidor X11. La diferencia de los otros servidores X11 es que este en particular no muestra nada en pantalla, llevando todas las operaciones gráficas en memoria.

Nota: Como comenta Kunthar, a partir de OpenOffice 2.3 ya no es necesario instalar Xvfb. Esto deberían tenerlo en cuenta aquellos que piensan instalar OpenMeetings en otras distribuciones como por ejemplo Ubuntu que ya tiene esa versión de OpenOffice. Sin embargo, para Debian Etch, donde la versión de OpenOffice es 2.0.4.9 debemos instalar Xvfb.

Ahora que los he convencido, instalamos Xvfb:

# apt-get install xvfb

Para poder correr el servidor X requiere de un juego de fuentes. Así que, si no quieren renegar más adelante, la instalamos ahora:

# apt-get install xfonts-base

Otro punto importante es que Xvfb requiere de xauth pero Debian no incluye esta dependencia del paquete xvfb. No se si es un bug o que pero lo cierto es que perdí mucho tiempo intentando levantar el Xvfb sin errores.

La aplicación xauth sirve para que el cliente se pueda autenticar con un servidor X y viene dentro del paquete xbase-clients:

# apt-get install xbase-clients

Para probar que Xvfb está bien instalado podemos correr el siguiente comando:

# Xvfb :1 -screen scrn 800x600x16

Este comando levanta al servidor de X escuchando conexiones como servidor 1, con una profundidad de 16 bits, un ancho de 600 píxeles y un alto de 800 píxeles.

Luego de algunos mensajes el servidor debería estar levantado. Para volver al intérprete de comandos pulsamos Ctrl+C.

Créanme: si hasta aquí toda ha ido bien pueden relajarse un poco. El camino que nos queda es sencillo aunque no menos tedioso.


4) Instalación de OpenOffice

OpenOffice es necesario para la conversión de los formatos de documentos Word y Excell a los propios de este paquete de oficina.

Para instalarlo:

# apt-get install openoffice.org

Tarda bastante la instalación de este paquete. Aquí es donde se torna aburrida la instalación.

Una vez terminada debemos editar el archivo Setup.xcu ubicado en el directorio de OpenOffice:

# pico /usr/lib/openoffice/share/registry/data/org/openoffice/Setup.xcu

Buscamos la línea que contiene <node name="Office"> e insertamos justo debajo las siguiente lineas:

<prop oor:name="ooSetupConnectionURL" oor:type="xs:string">
<value>socket,host=localhost,port=8100;urp</value>
</prop>


Esto es para que OpenOffice escuche desde localhost conexiones por el puerto 8100 mediante el protocolo remoto UNO (urp). Por allí, OpenMeetings se comunicará con OpenOffice para la conversión de documentos que suban los usuarios de las conferencias.


5) Instalar ImageMagick

ImageMagick es un conjunto de herramientas que permiten manejar, modificar y convertir imágenes entre más de 100 formatos distintos.

Para instalarlo, simplemente ejecutamos:

# apt-get install imagemagick


6) Instalación de SWFTools

SWFTools son un grupo de herramientas de Código abierto para crear y manipular archivos SWF, el formato utilizado por el software de animación Adobe Flash (anteriormente Macromedia Flash).

Como SWFTools está en los repositorios de la versión inestable de Debian (llamada Sid) vamos a bajar el paquete y compilarlo. Otra opción sería editar de nuevo /etc/apt/sources.list y cambiar “etch” por “sid” para luego ejecutar un apt-get update y finalmente apt-get install swtools.

Pero antes, vamos a instalar algunas librerias y herramientas que son utilizadas por SWFTools.

# apt-get install gs-gpl libart-2.0-2 libt1-5 libungif4g

En el momento de escribir esta entrada la última versión de SWFTools era la 0.8.1.1. Hay varios lugares donde está disponible el paquete para Debian.

Elijamos un lugar donde bajar el paquete. En mi caso, en el directorio /root:

# cd /root

Bajamos allí el paquete .deb:

# wget http://ftp.it.debian.org/debian/pool/main/s/swftools/swftools_0.8.1-1_i386.deb


Y lo instalamos:

# dpkg -i swftools_0.8.1-1_i386.deb

Borramos el paquete de instalación:

# rm swftools_0.8.1-1_i386.deb


7) Instalación de Red5

Red5 es un servidor Open Source para entregar contenido en streaming en Flash. Para ello utiliza el protocolo RTMP (Real Time Messaging Protocol) con lo cual se puede transmitir contenido en tiempo Real.

Bajamos el paquete .deb de Red5 versión 0.6.3 que es la que soporta a OpenMeetings 0.5 Final:

# wget http://dl.fancycode.com/red5/0.6.3/debian/red5_0.6.3-1_all.deb

Y ahora lo instalamos:

# dpkg -i red5_0.6.3-1_all.deb

Borramos el paquete de instalación:

# rm red5_0.6.3-1_all.deb


8) Instalación de Openmeetings

Finalmente, llegó la hora de instalar Openmeetings. Como el paquete de instalación viene comprimido con zip, instalamos unzip para descomprimirlo:

# apt-get install unzip

Nos movemos al directorio donde red5 mantiene las aplicaciones web:

# cd /usr/lib/red5/webapps

Descargamos el paquete de instalación de Openmeetings. La versión en este momento es la 0.5 Final como ya había comentado:

# wget http://openmeetings.googlecode.com/files/openmeetings05Final.zip

Descomprimimos:

# unzip openmeetings05Final.zip

Esto crea el directorio "openmeetings" donde esta la estructura y archivos necesarios para correr la aplicación.

Borramos el archivo comprimido:


# rm openmeetings05Final.zip

Cambiamos de directorio:

# cd /usr/lib/red5/webapps/openmeetings/jod

Damos permisos de ejecuación a los archivos de dicho directorio:

# /usr/lib/red5/webapps/openmeetings/jod /# chmod +x *.sh

Cambiamos al directorio "conf" donde se guardan los archivos de configuración de OpenMeetings.

# cd /usr/lib/red5/webapps/openmeetings/conf

Para usar MySQL como base de datos renombramos:

# cp mysql_hibernate.cfg.xml hibernate.cfg.xml

Editamos hibernate.cfg.xml recién generado:

# pico hibernate.cfg.xml

Buscamos la línea con el comentario <!-- User / Password -->.

<property name="connection.username">openmeetings</property>
<property name="connection.password">rstallman</property>
<property name="connection.url">jdbc:mysql://localhost/openmeetings</property>


Reiniciamos el servicio de red5:

# /etc/init.d/./red5 restart

Si no hemos obtenido ningún mensaje de error en la consola, podemos seguir adelante. El siguiente paso consiste en abrir nuestro navegador y dirigirnos a:


http://mi-ip:5080/openmeetings/install

donde en "mi-ip" va la dirección IP de nuestro servidor OpenMeetings. Deberían ver una página como la siguiente:


Muy bien, como todo el mundo sospecha hay que entrar en el enlace "continue with STEP 1".

La página del paso 1 consiste en un formulario como el de la siguiente figura:


El formulario está organizado en secciones:

a) Userdata: Allí hay que definir el nombre de usuario, clave y dirección de correo para un usuario que por defecto tendrá privilegios de administrador dentro de la aplicación.

b) Organisations (Domains): Para que un usuario pueda entrar a OpenMeetings necesita (ademas de un nombre de usuario y una clave) estar asociado a una organización. Una organización es una conjunto de usuarios que comparten los mismos intereses. Los usuarios asociados a una organización no pueden entrar en las salas de conferencias de otra. Sólo pueden encontrarse los miembros de distintas organizaciones en las salas públicas.

Las organizaciones pueden ser empresas a las que le brindamos el servicio de conferencias o distintas areas dentro de una empresa, por ejemplo.

Por último, cada usuario puede perteneces a más de una organización.

En mi ejemplo, definí una organización llamada "administradores", que será la que tendrá en principio el usuario "admin".

c) Configuration: Aquí se configuran algunos parámetros básicos de funcionamiento de la aplicación.

  • Allow self-registering: Habilita o deshabilita la posibilidad que las personas se registren si no tienen un usuario en OpenMeetings llenando un formulario en la página de inicio de la aplicación. En mi caso, lo he deshabilitado ya que quiero tener el control de los usuarios que ingresen.
  • Send Email to new registered Users: Define si se envía o no un e-mail de notificación cuando se registra un usuario nuevo.
  • New Users need to verify their Email: Define si se envía o no un e-mail cuando se registra un usuario nuevo para verificar su dirección electrónica.
  • Mail Referer: Dirección de correo electrónico con la que salen los e-mails generados por OpenMeetings.
  • SMTP-Server, SMTP-Server Port, SMTP-Username, SMTP-Userpass: Indican el servidor de correo saliente SMTP, el puerto TCP donde atiende el mismo, el usuario y clave para el envío de correos, respectivamente.
  • Default Language: El idioma por defecto de la aplicación.

d) Converters: Aquí se configura la ubicación de las herramientas de conversiones SWTools e ImageMagick. En nuestro caso, no es necesario agregar los paths ya que por defecto quedan en variables de entorno del sistema.

Luego de completar el formulario pulsamos el botón "INSTALL". Esto inicia el proceso de instalación, configuración y de generación de las tablas necesarias en la base de datos. Pasados unos minutos (no más de 2 o 3 minutos) deberíamos ver una página con el siguiente mensaje:


Lamentablemente durante la instalación no se nos informa si hubo errores. Tampoco se muestra el avance en la instalación o que es lo que está ocurriendo. Este es un punto débil de OpenMeetings. Así que, si luego de un par de minutos no llegamos a esta página, debemos suponer algo anduvo mal. Si es así tendríamos que revisar el archivo hibernate.cfg.xml en primer instancia para ver si el nombre de la base de datos, el usuario y clave son las correctas. Una vez confirmado esto, podríamos entrar a la consola mysql para ver si al menos se han creado las tablas en la base de datos.

Y si todo ha ido bien, podríamos entrar a la aplicación haciendo click en el enlace "Enter the Application" o ingresando en nuestro navegador

http://mi-ip:5080/openmeetings/install

donde reemplazamos "mi-ip" por la dirección IP del servidor OpenMeetings. Veremos la página de ingreso a OpenMeetings:



Una vez allí ya podemos ingresar el usuario y clave que hemos elegido en el proceso de instalación para empezar a probar. Sin embargo, vamos a tener problemas a la hora de subir archivos de la familia Office. Aún nos queda un detalle por retocar.

Levantando el servicio de OpenOffice

Deje este punto para el final para no complicar más las cosas y no sumar puntos de falla. Si no existieron problemas hasta ahora, nos quedaría levantar el servicio de OpenOffice.

Si sólo estamos haciendo las primeras pruebas con OpenMeetings tal vez lo mejor es ejecutar desde la consola (todo en una sola línea):

# xvfb-run --server-args='-screen 0 800x600x16' -a /usr/lib/openoffice/program/soffice -headless -nologo -norestore

Si ya estamos seguros que todo está funcionando correctamente, es necesario que ese comando se ejecute en forma automática. Yo lo coloqué en el script de arranque de red5:

# cd /etc/init.d

Primero hacemos una copia de seguridad del archivo original:

# cp red5 red5.old

Editamos el archivo:

# pico red5

Buscamos la función que levanta el servicio de red5 la cual se llama d_start(). Justo debajo del comienzo de la función agregamos:

xvfb-run --server-args='-screen 0 800x600x16' -a /usr/lib/openoffice/program/soffice -headless -nologo -norestore &
sleep 5

Ahora, buscamos la función d_stop() que es la encargada de bajar el servicio de red5. Justo debajo de la linea d_stop() agregamos:

pkill soffice.bin
pkill xvfb-run

Con esto garantizamos que cuando levante el servicio red5 también se levante el de OpenOffice.

Luego, con:

./red5 start

Reiniciamos el servicio.



Consejos y recomendaciones

a) Activando los logs en red5

El servidor red5 por defecto no genera logs. Para activar los logs editamos el archivo log4j.properties.

# pico /usr/lib/red5/conf/log4j.properties

Cambiamos la primera línea por:

log4j.rootCategory=ERROR, FLOG

y luego reiniciamos red5.

b) Buscando errores

Podemos leer el archivo de logs de OpenMeetings como:

tail -f /usr/lib/red5/openmeetings.log


También pordemos ejecutar desde nuestro navegador:

http://mi-ip:5080/openmeetings/maindebug.lzx.lzr=swf8.swf

que es un aplicación que nos proporcionará información valiosa acerca de errores que podemos tener.

c) Acceso desde Internet

Si se desea que nuestros usuarios puedan acceder desde Internet a OpenMeetings tendremos que asegurarnos que estén abiertos en nuestro firewall los puertos TCP 1935 y el 5080. El puerto 1935 se utiliza para las solicitudes RTMP (Real-Time Messaging Protocol) y el 5080 para las solicitudes http.

Para terminar...

Espero que haya sido útil este tutorial de OpenMeetings ya que no sólo me ha costado escribirlo sino también probarlo y llegar a tenerlo operativo.

Les recuerdo que no he podido por nada del mundo enviar correos de invitación desde cualquiera de las salas. Por ahí, algún lector da en la tecla y comparte su experiencia. Aún con ese problema OpenMeetings es muy confiable. He estado horas probándolo con usuarios internos y externos de mi red, subiendo y convirtiendo archivos de todo tipo y hasta el momento no tuve ningún cuelgue (cosa que con DimDim era habitual)

Si el tiempo me lo permite, voy a probarlo en otras plataformas y escribiré al respecto.


Enlaces


OpenMeetings:
http://code.google.com/p/openmeetings/

Foro de usuarios:
http://groups.google.com/group/openmeetings-user

Foro de desarrolladores:
http://groups.google.com/group/openmeetings-dev

viernes, 22 de febrero de 2008

Primer Charla Técnica Trimestral de CaFeLUG

El Grupo de Usuarios de Software Libre de Capital Federal (CaFeLUG) lanzará una serie de charlas técnicas trimestrales (CTT) para transmitir soluciones basadas en GNU/Linux. La primera de ellas para este año se llevará a cabo el día 15 de Marzo en la Universidad de Palermo, Facultad de Ingeniería [Mario Bravo 1050 - Ciudad de Buenos Aires, Argentina]

El cronograma del evento es el siguiente:

10:00 hs - 12:00 hs: Virtualizacion con Xen
12:00 hs - 13:00 hs: Break para almorzar
13:00 hs - 14:30 hs: Solo C que no C nada
14:45 hs - 16:15 hs: Aspectos de seguridad en servidores Linux
16:30 hs - 18:00 hs: Arduino

Virtualizacion con Xen
Disertante: Luis Vinay y Diego Woitasen
Duracion: 2hs
Charla de virtualizacion con una breve introduccion teorica y luego demostraciones practicas para entender que hace Xen y las nuevas tecnologias de virtualizacion y ademas verlas funcionar.

Solo C que no C nada.... Introduccion al lenguaje C parte 1
Disertante: Diego Verzoletto
Esta es la primer charla de una serie de charlas en el cual se explicará el lenguaje de programacion C en Unix. Se verá una introducción al lenguaje, variables, nuestro primer programa y compilación.

Aspectos de seguridad en servidores Linux
Disertante: Luciano Bello
Una de las principales características de Linux es que pueden configurarse de forma tan fina como uno quiera. Durante esta charla se va a hacer un rápido viaje sobre algunos de estos parámetros, en particular, con los involucrados en la seguridad del sistema. Este fortalecimiento de servidores busca una visión pro-activa ante futuros incidentes, además de facilitar la gestión.

Arduino
Disertante: Fernando Filippetti
Mostraremos un poco de que se trata este entorno de desarrollo para microcontroladores y otras herramientas para programar embebidos con software libre.

La entrada es libre y gratuita pero para poder concurrir es necesario registrarse llenando el formulario desde aquí.

Enlaces:

CaFeLUG: http://www.cafelug.org.ar/

martes, 18 de diciembre de 2007

Windows Vista: lo peor del 2007

La influyente revista PC World acaba de publicar los quince productos tecnológicos más decepcionantes del año 2007. Y el que encabeza la lista es... Windows Vista.

Eso no es todo. En el puesto 9 figura Microsoft Office 2007. En el 11 tenemos el Zune, el reproductor de música digital de Microsoft que nació para competir con el iPod.


Enlaces:

PC Word: The 15 Biggest Tech Disappointments of 2007
Kriptópolis: Windows Vista, lo más decepcionante de 2007 para PC World

Elastix: el sabor latino de Asterisk

Desde Ecuador y de la mano de la empresa Palosanto nació ha principio de este año la distribución Elastix dedicada a VoIP.

Elastix se distribuye bajo licencia GPL y está basada en Trixbox. No es de sorprender entonces que la instalación sea practicamente idéntica a la esta otra distribución. Sin embargo, Elastix no es un mero cambio de logos.

Trixbox se ha volcado fuertemente hacia lo comercial y (al menos por ahora) Elastix sigue apoyando al software libre. Desde que fue adquirido por la empresa Fonaly el proyecto Trixbox a dejado de centrarse en software libre. Actualmente sólo la versión Trixbox CE (Community Edition) es 100 % libre (distribuida bajo licencia GPL 2.0). Las versiones Trixbox Pro EE (Enterprise Edition) y Trixbox Pro CCE (Call Center Edition) son comerciales y tienen un costo por servidor que se calcula por el número de extensiones que se desea soportar.

A pesar de su corta vida ya ha empezado a generar polémica el foro de Trixbox. Entre las discusiones allí vertidas surgió la supuesta utilización de código escrito en Elastix que aparece en Trixbox sin la correspondiente. Eso no está mal en el software libre. El problema es que nunca

Una de las carcterísticas sobresalientes es la interface web de Elastix. Mas liviana, "realmente amigable" y un buen soporte de idioma español. Basta de traducciones del tipo "Posición del Camarero" para "Server Status", como encontramos en Trixbox cuando pasamos la interface web a nuestro idioma.

Además, desde allí podemos configurar los parámetros de red, administración de usuarios y grupos, gráficos con la utilización de los recursos del servidor y otras delicias.

Elastix trae Hylafax, un servidor para el envío y recepción de fax. Incluye un completo servidor de correo (postfix con cyrus) con soporte multi dominio y Round Cube como webmail. Y como si fuese poco, también tiene OpenFire: un servidor de mensajería instantánea basada en protocolo Jabber.



Ya desde hace un buen tiempo venía buscando una solución VoIP realmente libre y creo que con Elastix la he encontrado.

martes, 11 de diciembre de 2007

AssaultCube

En mi búsqueda eterna de software para la liberación me encontré con AssaultCube, un juego 3D en primera persona de código abierto basado en Cube.

La versión actual es la 0.93 y pesa sólo 19 MB y según los desarrolladores con un módem de 56 Kbps bastaría para jugarlo en Internet. Está disponible para Linux, Window$ y MAC.

El sitio oficial es http://assault.cubers.net/ y para bajarlo pueden hacerlo desde
http://assault.cubers.net/download.html



La instalación en Windows es sencilla, no requiere de ningún comentario.

La instalación en Debian/Ubuntu (y por transitividad, en otras distros Linux) tampoco es complicada pero requiere de una serie de librerías. Una vez obtenido el archivo lo descomprimimos en el directorio home de nuestro usuario (y que no sea root, por favor). En mi caso lo hice en /home/federico:

federico@dharma:~$ tar jxvf AssaultCube_v0.93.tar.bz2

Ahora instalamos las librerías necesarias. En principio son dos:

libsdl-image1.2: Librería para trabajar con varios tipos de imágenes.
libsdl-mixer1.2: Librería para trabajar con sonidos.

federico@dharma:~$ sudo apt-get install libsdl-image1.2, libsdl-mixer1.2


Dejando que apt-get se encargue de resolver las dependencias.

Podemos borrar ahora el archivo descargado.

federico@dharma:~$ rm AssaultCube_v0.93.tar.bz2

Todo listo para jugar.

Para ejecutarlo vamos al directorio AssaultCube que se creó en el directorio home de nuestro usuario.

federico@dharma:~$ cd AssaultCube

Finalmente lo ejecutamos:

federico@dharma:~$ ./assaultcube.sh

Para levantar un servidor de AssaultCube tenemos que ejecutar el srcript assaultcube_server.sh el cual acepta las siguientes opciones:

-n Sirve para especificar un nombre al servidor entre comillas.

Ejemplo:

assaultcube_server.sh -n"Mi servidor"

Nota: Colocar el nombre del servidor entre comillas y sin espacios luego del parámetro "-n".

-o Permite fijar el MOTD (Message Of The Day, o Mensaje del Día), un mensaje que aparecerá cada vez que un jugador se conecta al servidor. Puede ser un mensaje de bienvenida o un mensaje para miembros de un clan.

Ejemplo:

assaultcube_server.sh -o"Bienvenidos al Infiernoooo!!"

Nota: Colocar el MOTD entre comillas y sin espacios luego del parámetro "-o".

-x Especifica la contraseña para conectarse al servidor con privilegios de administrador. No requiere que la palabra clave este entre comillas.

Ejemplo:

assaultcube_server.sh -x asw2678aW

-r Sirve para indicar un archivo de configuración donde se especifica la rotación de mapas. El archivo por defecto es maprot.cfg el cual se encuentra en el directorio config y es simplemente una lista que indica el nombre del mapa y orden de aparición, el modo de juego y el tiempo de duración para cada juego.

Puede ser útil lanzar el servidor en background ya que sino tendrás que abrir otra consola para poder jugar. Si no tenés mucha idea de Linux, para correr un proceso en background deberás ejecutar el script con un "&" al final de la línea seguido de un Enter:

assaultcube_server.sh &

Si usás alguna opción como las vistas para el servidor, el signo "&" deberá también quedar al final.

Luego, volvemos al intérprete de comandos y desde allí podemos ejecutar assaultcube.sh.

Para saber si el servidor está en background ejecutamos el comando jobs:

federico@dharma:~/AssaultCube$ jobs
[1]+ Running ./assaultcube_server.sh -o "Bienvenido" &


El [1] indica el número de proceso. Para sacar el servidor de background (en algún momento tendremos que sacarlo de allí para detenerlo, por ejemplo) necesitamos de ese número. Ejecutamos el comando fg seguido del número de proceso:

federico@dharma:~/AssaultCube$ fg 1
./assaultcube_server.sh -o "Bienvenido"

Ahora pulsando Ctrl-C detenemos el servidor.

Hay mucho para decir sobre este juego pero se los dejo a uds para que experimenten y busquen. Les dejo dos pequeños tips:

1) Para realizar capturas de pantallas (screenshots) del juego pueden pulsar F12. En pantalla no saldrá nada pero si se fijan en el directorio screenshots van a encontrar la captura en formato bmp.

2) Los menúes del juego están en inglés. ¿Quieren pasarlos al español?. Bueno, es fácil: basta con editar el archivo menus.cfg del directorio config.

Les dejo una serie de enlaces para los más fanáticos:

Quadrópolis: Este es un sitio donde van a encontrar cientos de scripts, mapas, modificaciones y otras yerbas (de las buenas) que gentilmente desarrolladores de todo el mundo comparten para el resto de los mortales. El sitio está en inglés.

AssaultCube-es: La Wiki del proyecto en español. Bah, no todo está en nuestro idioma pero gran parte si.