Cómo pedir ayuda para corregir un problema de programación

Estimado amigo/a,

acabo de leer tu descripción del error y petición de ayuda:

«He probado algunas cosas y la aplicación Java me falla siempre diciendo no sé qué error. Ya no sé qué hacer. Ayúdame»

Tengo algunos consejos para poder ayudarte. En concreto 10, que se resumen en uno: especifica el error. Si no describes con más detalle el error que obtienes no sabré ni por dónde empezar a ayudarte. El siguiente decálogo es un mínimo, cualquier otra informacióna adicional contribuirá a que pueda ayudarte con más posibilidades de éxito:

1) Una descripción detallada de lo que quieres ejecutar y cuál es el resultado esperado.

2) Una descripción detallada de lo que tu aplicación devuelve al ejecutarla. El mensaje de error en texto Y si es posible, una captura de pantalla adjunta. Es decir, el resultado obtenido.

3) Una descripción detallada del proceso que has seguido, punto por punto, hasta llegar al mensaje de error.

4) Un programa mínimo, que aísle las líneas de código de tu aplicación que crees que fallan. Ese programa, como te indico, debe ser lo más pequeño posible y debe demostrar la situación de error que quieres corregir. Envíame su código fuente (NO el ejecutable) junto con al menos un caso de prueba (cuantos más casos de prueba, mejor, pero al menos uno que demuestre el error).

5) Para el/los caso(s) de prueba del programa anterior, indica también cuál es el resultado que obtienes y cuál es el que esperabas obtener

6) Especifica el sistema operativo que estás usando en tus pruebas (nombre, versión, idioma). Si tu aplicación requiere a su vez de otras aplicaciones para ser ejecutada (bibliotecas de funciones o navegador o una configuración especial del sistema), indica todos los datos posibles de esas otras dependencias (como mínimo nombre y versión)

7) Especifica la versión exacta de Java que estás usando.

8) Indica qué pruebas has realizado hasta ahora y por qué no han funcionado.

9) Indica, si es posible, cuál crees tú que es la causa del error y qué cadenas de búsqueda has utilizado en Google/Bing/Yahoo para rastrear dicha causa… Si no lo has hecho hasta ahora, no busques sólo en castellano, hazlo también en inglés. Y utiliza portales especializados (p.ej.: StackOverflow.com) y grupos de discusión (Google Groups).

10) No te quedes parado tras pedir ayuda. Informa de avances en tu búsqueda y pruebas. Sigue investigando por tu cuenta. Pregunta en distintos foros siguiendo las normas de lanzar consultas técnicas sobre errores de programación de este mismo decálogo y si encuentras alguna pista más, infórmame de la misma.

Un «bonus» consejo más: cuida tu ortografía, gramática y expresión en los mensajes de texto que envíes. Pero de esos puntos ya hablé aquí en Enero y Diciembre de 2009, así que te recomiendo encarecidamente su lectura.

Quedo a la espera de tu respuesta.

BigBlueButton (I)

En la home de BigBlueButton (BBB) resumen así el objetivo principal de la aplicación: «BBB permite a universidades e instituciones educativas ofrecer experiencias de aprendizaje de alta calidad a estudiantes remotos». Es en la última palabra donde reside el quid de la cuestión. Efectivamente, BBB permite plantear reuniones online a través del navegador, con soporte de compartición de webcam, micro, pizarra digital, escritorio y chat. La última versión 0.8 permite también grabar la sesión (con algunos «peros» que luego comentaré). BBB es software libre, con la parte cliente desarrollada en ActionScript (usando el framework open source Flex SDK) y en la parte servidor un numeroso conjunto de módulos, bibliotecas y servidores de código abierto: Red5, Asterisk o FreeSWITCH, ActiveMQ, Tomcat, OpenOffice.org, MySQL…

Ayer mismo BBB anunciaba que entraba a formar parte de MozillaFWD, el programa de la fundación Mozilla para la innovación abierta, que tiene como objetivo crear una comunidad de proyectos opensource innovadores para ayudar a extender la web. Bonita frase que viene a traducirse en infraestructura, soporte y publicidad a través de la fundación Mozilla (suena muy parecido a la fundación Apache)

Realmente veo una fuerte competencia entre dos grandes: OpenMeetings y BBB. Los más veteranos recordaréis que ya hablamos sobre OpenMeetings en DiarioLinux, ahora le toca el turno a BBB.

La instalación de BBB es un poco tiquismiquis en los requerimientos: necesita un Ubuntu 10.04 de 32 o 64 bits. ¿Se puede instalar en algo más moderno, digamos Ubuntu 11.04 o 11.10? Bueno, yo lo he intentado y me surgían tantas incompatibilidades (empezando por la versión de Ruby que pide) que desistí y lo instalé directametne en la 10.04. Ahí la instalación ha ido bien, siguiendo las instrucciones recto hasta el final 🙂 El servidor requiere 2 GB de memoria RAM y acceso root. Los 5G de espacio libre en disco tampoco son moco de pavo.

Ah! y el puerto 80 (sí, ese que usas en tu Apache local) tiene que estar disponible. ¿Por qué? Porque BBB usa en el backend el servidor proxy nginx. Éste enruta las peticiones del cliente a dos módulos: bbb-web (las peticiones HTTP) o bbb-aps (las peticiones RTMP). La arquitectura interna del servidor BBB está documentada y ahí puede verse todo el «sarao» que se monta 🙂 Más sobre esto en el siguiente post, pero puedes ir leyendo aquí una serie de 4 posts en inglés sobre los fundamentos de la arquitectura BBB.

En las pruebas para esta serie de artículos he usado una instancia Amazon EC2 con un Ubuntu 10.04 pelado y a partir de ahí he ido siguiendo las instrucciones de instalación sin problemas (salvo éste bien documentado). Realmente en 15 minutos puedes tener la máquina online y funcionando (a falta de pulir algunos detalles).

La calidad de la videoconferencia es buena, aunque el audio viene con algo de retardo en comparación a OpenMeetings. Por otro lado, el soporte de grabación en BBB es recientito (estamos en la 0.8 beta 3 y empezó en la 0.8!). Además, de serie sólo graba lo que hayas emitido por la pizarra compartida, tu voz y el chat de texto. Eso sí, emite a través de HTML5 (sin necesidad de plugin Flash), gracias a la biblioteca popcorn.js. Como digo, echo en falta la posibilidad de ver las webcam de los usuarios en la grabación, y también hecho en falta la posibilidad de descargar en formato .avi el vídeo (algo que OpenMeetings sí ofrece). ¡Ojo! BBB desde la versión 0.8 (septiembre 2011!) también puede grabar las webcams de los usuarios, incluso la ventana de compartición de escritorio remoto, siempre y cuando uses por detrás Matterhorn. También he instalado Matterhorn en otra máquina (más complejo de instalar que BBB) y comentaré mi experiencia en otro post, que éste está quedando largo.

BBB hace uso de OpenOffice.org y SWFTools para convertir cualquier documento .doc, .odt, .pdf o gráficos (.jpg, .png, .gif…) a formato Flash y compartirlos luego a través de la pizarra digital. Ideal para mostrar una presentación a un conjunto de alumnos. La presentación subida permite ser «garabateada» con distintos lápices de colores que ofrece la pizarra. Una cosa que he echado en falta (respecto a OpenMeetings) es la opción de mostrar vídeo dentro de la pizarra.

Dos cosas más antes de cerrar por hoy: BBB es multi-idioma (incluyendo el euskera 🙂 y tiene un plugin para ser integrado con Moodle. Mañana más, ahora toca dormir un rato 😉

Lernid: exprime la Ubuntu Developer Week

Post redactado por Oier Mees.

«La comunidad de Ubuntu suele celebrar diferentes eventos para usuarios y desarrolladores con el fin de mejorar nuestro conocimiento. Estos eventos suelen celebrarse en el IRC, pero hasta ahora tenían un par de inconvenientes. Primero, no es fácil para un usuario novel enterarse de la existencia de éstos y tampoco saber como conectarse al chat apropiado. Segundo, al ser programas bastante espartanos en sus interfaces en modo texto, no hay ayudas extra como presentaciones o vídeos para ayudar a los usuarios más inexpertos. Por último, el usuario ha de buscar y anotar las fechas de los eventos por un lado y conectarse a ellos por otro.

Jono Bacon ha escrito una aplicación para solventar estos problemas, Lernid. Está aplicación te muestra las fechas y el horario de los eventos y te permite conectar al canal correspondiente del IRC en dos clicks. En el caso del horario, te los muestra en tu zona horaria para evitarte tener que calcular las diferencias entre UTC, EST etc. Además, permite mostrar, a todos los usuarios conectados vía Lernid, presentaciones de diapositivas e incluso webs, que se cargarán automáticamente dentro del interfaz Lernid. Por si esto fuera poco, si te has apuntado a un evento, Lernid te lo recordará cuando falten unos minutos para comenzar.

Como veis es una herramienta muy potente, además de intuitiva, facilita mucho el aprendizaje y permite exprimir al máximo los eventos a los que se acceda vía esta aplicación.

Para instalarlo en Ubuntu 9.10 Karmic:

sudo add-apt-repository ppa:lernid-devs/lernid-releases
sudo apt-get update
sudo apt-get install lernid

Podréis verlo en acción próximamente, ya que el 23 de Enero se celebrará el Ubuntu User Day (día del usuario) y del 25 al 29 el Ubuntu Developer Week (semana de desarrolladores). En el caso del primero también habrá versión propia en castellano , donde se abordarán temas como la migración a Ubuntu, programas equivalentes de Windows o cómo asegurarte de que tu hardware funcionará con una distribución GNU/Linux. En cuanto a la Developer Week, habrá algunas con traducción al castellano pero lo ideal es intentar seguir las charlas en Inglés. Se tratarán temas para todos los gustos, desde integrar Ubuntu One en tu aplicación, hasta parchear el kernel.»

Si quieres escribir en DiarioLinux, envíanos tu mensaje a

Competencia comunicativa y software libre

Entre las competencias transversales que debe adquirir cualquier alumno al finalizar sus estudios de grado, figura la competencia en comunicación oral y escrita en lengua nativa. Dejaré para otro día el tema de la comunicación oral. Hoy me centraré en la comunicación escrita.

Tenemos innumerables posibilidades para poder corregir nuestros textos. La más sencilla sería usar el corrector ortográfico de OpenOffice.org. O instalar el plugin de Firefox para corrección ortográfica de textos en español. Pero es que vía web – buscad en Google las palabras «corrector ortográfico»- obtendréis miles de posibilidades más. El caso es que a los alumnos les da absolutamente lo mismo que haya correctores o no los haya (a veces me pregunto si saben de su existencia). No los usan, ni lo que es aún peor, ni siquiera creen necesitarlos. Les trae absolutamente sin cuidado escribir «haber», «a ver», o una combinación imposible del estilo «aver», «aber» o vaya usted a saber qué.

Por otro lado, tampoco se plantean que al comunicarse con un profesor lo mínimo que podrían hacer es dejar «d eskribir km si d 1 kolega» se tratara. Seguro que me entendéis lo «k kiero decir» 😉 No distinguen el tono, ni las formas, ni saben dirigirse a otra persona por escrito de manera formal. Y si les respondes reprendiéndoles por haber perpetrado semejante mensaje, te conviertes en un borde cascarrabias. Y tal vez no les falte razón.

Así que, de momento, me limito a marcar en rojo las faltas de ortografía cuando respondo a esos mensajes. Lo malo es que, a veces, esas respuestas parecen un árbol de navidad con tanto colorido…

En fin, recordemos que se ha invertido mucho esfuerzo por parte de la comunidad para tener disponibles unos buenos correctores ortográficos, publicados como software libre gran parte de ellos. Aunque sólo sea por esa razón, fomentemos su uso 😉

Esclavos tecnológicos

Llevo tiempo temiendo este momento, pero definitivamente hoy me he dado cuenta de que me he convertido en un esclavo tecnológico. No soy el único. Gente a merced de las máquinas. Los mensajes que reclaman nuestra atención con mensajes sin leer, feeds sin revisar, updates sin aplicar, son superiores a nuestras fuerzas. Es muy difícil resistir la tentación de pinchar a ver qué novedades me aguardan tras estos 35 mensajes nuevos en Google Reader.

Google Reader 35 mensajes nuevos

O qué me decís de 3 mensajes nuevos en la cuenta de correo (Gmail en mi caso).
Gmail 3 mensajes nuevos en el inbox

Y las actualizaciones de seguridad no las podemos dejar de lado. Hay que instalar, rápido, sin perder tiempo, no vaya a ser que cualquier script-kiddie nos piratee la máquina en menos que se cuelga un windows.

Actualizaciones de seguridad

Y ahora que Twitter está en pleno apogeo, no vamos a dejar de leer esos 53 nuevos tweets, ¿no? Al menos a repasarlos por encima, antes de que se nos acumulen…
Twitter 53 mensajes sin leer

Y mientras escribo estas líneas se acaba de iluminar un 1 en rojo, indicando que tengo un plugin sin actualizar. ¿No volverá el mismo «juaker» de antes a probar suerte contra mi servidor, casualmente contra este plugin sin actualizar? Hay que dedicarle un minutillo…
Plugin WordPress sin actualizar

¡Oh! Cuánto tiempo ha pasado mientras escribía estas líneas. Seguro que hay algo en menéame, en slashdot, o en la susuncorda.com que me interesa, y yo aquí, escribiendo este post… cachis la mar, hay que terminar. Pero, ¿hace cuánto que no actualizaba el blog? ¡Aaaaaarrrrrghhhh!

Decididamente, me niego a seguir este ritmo. En el próximo post intentaré mostrar pantallazos con números aún más grandes en el Inbox, más tweets sin mirar, el Google Reader a rebosar. Comienzo una semana de desintoxicación. Me declaro en huelga tecnológica indefinida. Sólo servicios mínimos en Gmail. Desconecto el wifi del móvil (¿he oído desconectar el móvil al 100%? imposible, sería como dejar las drogas sin ni siquiera la ayuda de metadona) ¿Aguantaré? Nos leemos el próximo lunes… si fuera antes, significaría que no he aguantado la presión.