BigBlueButton es un grandioso software de código abierto que te permite ofrecer un aula virtual compuesta de diversas herramientas para dictar cursos y clases tales como: sala de chat, videoconferencias, llamadas, compartir escritorio, mostrar presentaciones, decidir quien va hablar entre otros. Al estar desarrollado para la plataforma web, muchas de estas herramientas utilizan WebRTC para realizar la transmisión de datos, pero en las últimas versiones de Firefox y Chrome para establecer conexiones directas, se requiere que la transmisión se haga por HTTPS por lo tanto requerirás un certificado para ello, hoy en día lo puedes hacer gratis con Let’s Encrypt.

¿Qué es Let’s Encrypt?

Let’s Encrypt es un servicio apoyado por múltiples organizaciones (entre ellas Mozilla), para brindar certificados de forma gratuita para que puedas ofrecer tus sitios bajo el protocolo HTTPS, el cual, permite servir páginas web de forma cifrada así nadie puede interceptar la información transmitida.

Actualmente Google premia con mejor valoración a aquellas páginas que funcionan con HTTPS y poco a poco será la norma en la web, por lo tanto, es recomendable su uso en un futuro inmediato. Para implementarlo, necesitas algo llamado «certificado»que te permite validar que tu sitio es realmente quien dice ser (evitando usurpaciones de identidad), a pesar de puedes comprar uno, puedes generar un certificado gratis con Let’s Encrypt cada 3 meses.

Let's Encrypt logo

Let’s Encrypt

Generando el certificado para BigBlueButton

Let’s Encrypt incluye una herramienta llamada certbot-auto para generar un certificado firmado por Let’s Encrypt, para validar el dominio utilice el parámetro –webroot, el cual, instala un archivo de comprobación en la raíz de tu servidor web para ser comprobado remotamente y así validar que realmente te encuentras en el servidor de ese dominio (existen otros medios como a través de DNS que omitiremos acá).

Cabe destacar, que el servidor web de BigBlueButton es nginx y posee una configuración para la raíz del dominio y otra para el servidor de BBB, en mi caso certbot no lo detectó y tuve que especificar la ruta de la raíz del servidor web utilizando el parámetro -w, ademas especificar el dominio para el cual deseas crear el certificado con el parámetro -d .

certbot-auto --webroot -w /usr/share/nginx/html -d tu-dominio.com certonly

Y el certificado se debería crear automáticamente en la ruta:

/etc/letsencrypt/live/TU_DOMINIO_WEB/fullchain.pem

Luego podrás seguir los pasos de la guía oficial sobre como Configurar HTTPS en BigBlueButton, previamente te recomiendo hacer un respaldo de cada archivo de configuración antes de modificarlo, pues me parece que es fácil equivocarse, ocasionando que BBB no arranque.

Luego, en el archivo /etc/nginx/sites-available/bigbluebutton debes especificar la ubicación del certificado y de la llave privada colocando las siguientes rutas:

ssl_certificate /etc/letsencrypt/live/tu_dominio_web/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/tu_dominio_web/privkey.pem;

Una vez finalizado todos los pasos de la guía,reinicia el servicio y tendrás HTTPS en BigBlueButton, con ello podrás ofrecer la cámara web y diálogos a través de HTML5 sin depender de Flash.

Conclusiones

Espero que te sirva esta guía para tener tu certificado en el servidor de BigBlueButton, con esto asegurarás que el trafico en tu aula virtual esté cifrada y segura. Además, al realizar conexiones directas, notarás que la comunicación es mas rápida, sin retrasos porque algunas comunicaciones se harán directas y no deben pasar a través del servidor.

Windows 10 ahora ofrece (luego de actualizar a la edición de aniversario) una terminal Linux compatible con el sistema operativo de Microsoft, una movida muy extraña e increíble, pero supongo que lo hicieron en parte debido al auge de herramientas en la línea de comandos para desarrollar software y el gran uso de sistemas Linux en la sector de servidores.

Lo interesante de la terminal, es que no es solo una aplicación o un sistema de emulación como cygwin sino que posee el núcleo Linux (específicamente de Ubuntu) dentro del sistema y puedes realizar casi cualquier cosa (no gráfica) que podrías hacer en GNU/Linux.

En la siguiente charla de Alex Ionescu podrás comprender como Microsoft logró integrar el núcleo Linux con el núcleo de Windows 10, para tener una terminal real de sistema operativo y poder realizar llamadas al sistema para: ejecutar procesos de altos privilegios, acceso al sistema de archivos, procesos, entre otros. Realmente te recomiendo ver esta charla si te llama la atención la arquitectura de los sistemas operativos, pues el trabajo que hicieron en este proyecto es realmente bueno.

Para complementar el vídeo, puedes descargar las láminas de la presentación para su lectura. Espero que te haya gustado el vídeo y comenta si quieres aportar cualquier información, ahora espero que no te migres a Windows porque ahora tienes una terminal de Linux 😉

Siempre cuando estoy trabajando en la computadora, me gusta escuchar de fondo música, conferencias o programas de radios. Uno de los que me gusta es Radioliberada, un podcast realizado en San Cristóbal (la misma ciudad de donde vivo) por varios miembros de la comunidad de software libre local Gnuchox.

Temas de RadioLiberada

Este programa de radio comenta principalmente sobre software libre: las últimas noticias de esa cultura, nuevos programas, recomendaciones, entre otros. Adicionalmente, en algunos programas se tratan temas relacionados a la cultura libre, tales como películas de informática, agricultura libre y mas. El formato del mismo son conversaciones entre los locutores e invitados, pues son conversaciones informales entre amigos y hace mas amena la escuchar, también comparten buena música no popular (para mí) entre segmentos y puedes descubrir nuevas bandas.

Logo de Radioliberada

Logo de Radioliberada

El nivel de los temas es para todo público por lo que es agradable para escuchar mientras trabajas, haces ejercicio, manejas, entre otros.  Así que entra a RadioLiberada y suscríbete para estar actualizado sobre la cultura libre.

Linux es el proyecto mas famoso de software libre, también es el mas grande y probablemente el mas complejo que existe. Por su complejidad puede asustar a muchos desarrolladores que quisieran estudiar su código fuente y en muchos casos, realizar aportes para agregar nuevas funcionalidades o mejorar las existentes.

Componentes del núcleo Linux

Los componentes del núcleo Linux

En esta charla de Julia Evans, podrás ver en media hora, mucho de los aspectos importantes sobre el núcleo y cómo funciona, explica los pasos para colaborar e informa sobre la cultura de la comunidad respecto a los aportes, redacción de correos, entre otros. Luego comienza una breve parte práctica donde comparte buenos y graciosos ejemplos sobre como funcionan: módulos, ejecución y carga de procesos, por mencionar algunos.

Si no tienes claro los conceptos de los sistemas operativos te puede costar entender el vídeo, si ya los sabes, mira y disfruta:

Espero que el vídeo les anime a estudiar un poco mas este maravilloso sistema operativo, si quieren leer sobre el tema les recomiendo leer mi reseña sobre el libro Understanding the Linux Kernel donde pueden aprender muchas funcionalidades de Linux y de sistemas operativos en general, así pueden entender mejor como funciona el núcleo e inclusive aportar código al proyecto.

Happy Linux hacking!

Linus Torvalds es una leyenda en el mundo informático al iniciar el desarrollo de Linux y GIT, dos proyectos que cambiaron al mundo y son utilizados probablemente todos los días por cualquier programador. Aparte de sus proyectos, también es conocido por sus fuertes discusiones y opiniones en proyectos de software libre, ganándose el odio de muchas personas y siendo el centro de atención de sitios de noticias sobre software libre.

Linus Torvalds, el creador de Linux y GIT

Linus Torvalds, el creador de Linux y GIT

Pues la organización TED le hizo una buena entrevista donde habla de sus proyectos, sus ideas, como ve el futuro y demás. Me gustó porque no se enfocan solo en su trabajo sino en la parte emocional, además que es raro ver a Linus en eventos o fuera de las listas de correo. Así que te recomiendo verla a continuación y aprendas mas sobre esta leyenda viviente del desarrollo de software.

Si prefieres verlo en el sitio de TED, haz clic aquí.

Desde hace unos meses Microsoft ha estado cambiando su imagen, en parte porque durante la presidencia de Steve Ballmer perdió su reinado ante compañías como Apple, Google, entre otros. Sigue siendo el líder y la empresa mas importante de la informática, pero no llega al mismo nivel que tenía durante los 90s.

En los últimos años vimos cosas como que Microsoft empezó a colaborar en el kernel Linux aportando código (de hecho estuvo por encima de mucha compañías por un tiempo), se unió a la Linux Foundation, cosa que sorprendió a muchos. En estos días, anunció la liberación de Chakra su interprete de Javascript bajo código abierto, compró Xamarín (la empresa de Miguel de Icaza) y ahora permite una licencia gratuita, próximamente habrá SQL Server para Linux y la última que generó gran sorpresa, la inclusión de Ubuntu dentro de Windows 10 para tener una terminal de Linux dentro de ese sistema operativo, todo esto bajo la campaña Microsoft ♥ Linux.

Microsoft ama Linux

Quién hubiese imaginado hace 18 años que Microsoft lanzaría esta campaña

Las nuevas generaciones de programadores o usuarios de software libre lo ven como algo bien, ya que creen que Microsoft está abriéndose y ahora es mas amigable. Pero yo no creo que sea así, pues siguen siendo la misma empresa y conservan su cultura organizacional de dominar todo sector de la informática. Antes de compartirles mi opinión, veamos la situación actual con la empresa.

La mayoría de servidores usan Linux

Si revisan las estadísticas, la mayoría de servidores en Internet corren Linux y 99% de las supercomputadoras corren en Linux, ademas muchos de los clientes de Azure (la plataforma de la nube de Microsoft) lo utilizan para tener sus servidores Linux en ellos, esto significa que ninguna de esas instalaciones puede utilizar tecnologías de Microsoft, perdiendo gran cuota del mercado y saben que mucha gente no le gusta tener Windows Server como solución empresarial, por esta razón se van a la competencia, por ejemplo, alguien que desee usar un gestor de base datos y utilice Linux en sus servidores, podrán usar soluciones como MySQL, SQL Lite, Oracle DB, Postgres…pero no SQL Server. Así que la liberación de una versión para esta plataforma corresponde a necesidad de expandirse en el mercado.

En el móvil

Las plataformas móviles están lideradas por Android y iOS, donde la principal forma de desarrollar en ellas es Java y Swift/Objetive C respectivamente, Windows 10 Mobile no ha logrado despegar mucho y por lo tanto la plataforma de desarrollo con .NET es casi ausente en el sector móvil. Por ello, compraron Xamarin una plataforma que permite llevar software escrito en .NET a Android y iOS, así pueden expandir e impulsar sus tecnologías a las plataformas móviles.

Atraer los desarrolladores

Este es el punto mas importante he visto, he estado en conferencias internacionales, eventos de software libre y de Mozilla, he tenido la oportunidad de visitar, trabajar en varias empresas y el patrón que he visto es que si no usan tecnología de Microsoft en sus productos, no utilizan Windows en sus equipos, por esta razón vemos que si desean trabajar por ejemplo, con Ruby o Javascript, observarán que casi todo se hace a través de la línea de comandos, control de versiones y acceso a servidores se hace a traves de SSH que funciona por consola (de hecho GIT es un programa de consola), herramientas de manejo de dependencias de software (que se usan actualmente en todas las tecnologías) se hacen por la terminal.

Por esta razón, muchos programadores hoy en día compran una Mac o instalan Linux en sus equipos para tener una mejor experiencia de desarrollo y aumentar la productividad. Por ello, Microsoft se vio obligada a incorporar una terminal de Linux en su sistema operativo para soportar todas estas tecnologías y evitar la migración de usuarios a UNIX/Linux. Ademas, al ser un Linux real (Ubuntu), no es necesario migrar el software existente sino ya viene compatible con todo lo que existe (esta es la diferencia con Cygwin).

Palabras finales

En conclusión, pueden ver que todo lo que han hecho para «amar Linux» (o código abierto) ha sido solo para expandir el terreno perdido y dominar el mercado y volver a ser el Microsoft de Bill Gates, que dominaba todo sector de mercado (lo cual es normal en cualquier empresa), solo que en el caso de Microsoft, recodemos que atacaba fuertemente al software libre y Linux como se descubrió en los documentos de halloween del 98.

Si Microsoft de verdad amara Linux, tuviese su cliente de Skype actualizado , y no lo hubiese abandonado desde hace año y medio.

Uno de los problemas de los usuarios de Linux y BSD, es cuando por algún motivo toca reinstalar Windows en la máquina, pues siempre sobrescribe el cargador de arranque e inhabilita la posibilidad de iniciar otros sistema operativo. Por ello, es necesario buscar un LiveCD o arrancar desde un USB para poder entrar al sistema operativo alterno (Linux o BSD) y reinstalar el cargador de arranque, bien sea en UEFI o MBR.

Ayer me tocó actualizar a Windows 10 porque no quería perder la licencia y así la portátil perdiera valor (por si quisiera venderla después) y como siempre, sobrescribió el cargador de arranque. Antes utilizaba Windows para cargar Linux pero la portátil tengo  utiliza UEFI y no me deja cambiar el arranque por defecto desde el menú de configuración, así que lo pasos que hice fueron los siguientes:

Reinstalar systemd-boot

La distribución que utilizo es Archlinux y desde hace tiempo utiliza el arranque de systemd, así que una vez que logres arrancar Archlinux y tengas acceso al terminal (con la partición /boot montada) ejecuta el siguiente comando para reinstalar systemd-boot:

#bootctl --path=/boot install

Teóricamente debería asignar este arranque por defecto, pero en mi máquina no fue así. Por lo que utilice el método a continuación para arrancar Linux por defecto.

Seleccionar systemd-boot como cargador por defecto del UEFI

Como siempre entraba a Windows por defecto, inicié sesión en ese sistema operativo y abrí la consola de comandos de Windows 10 (cmd.exe) y ejecuté:

bcdedit /set "{bootmgr}" path \EFI\systemd\systemd-bootx64.efi

Este comando selecciona el arranque por defecto, si no sabes la ruta, bien sea porque utilizas otro cargador u otra distribución. Puedes montar la partición UEFI/boot en Windows con tan solo 2 comandos:

mountvol z: /s

Ahora tendrás en la letra z: (puede ser cualquier otra disponible) la partición de arranque y puedes navegar en ella desde el terminal, así puedes buscar cual es la ruta de tu cargador.

Palabras finales

¡Listo! Al reiniciar Archlinux se iniciaba por defecto, ahora para arrancar Windows, simplemente tengo que entrar al menú de arranque de la portátil y seleccionar la opción de ese sistema, tal vez es un poco molesto, pero como casi nunca inicio Windows para mí no es problema.