[15:38] <chilicuil> buenos dias =), ha llegado el ultima dia de la semana del desarrollador de Ubuntu, comenzaremos hablando sobre la clasificacion de bugs en el escritorio de Ubuntu
[15:39] <chilicuil> om26er nos hablara un poco al respecto, comenzare la interpretacion ahora
[15:40] <chilicuil> Ubuntu es la distribucion mas popular del mercado, su cantidad de usuarios supera por mucho a otras distribuciones, hay un dicho que dice que entre mayor cantidad de ojos, los errores son mas evidentes
[15:40] <chilicuil> esto se refleja en Ubuntu, en la cantidad de reportes que sus usuarios generan
[15:40] <chilicuil> en la siguiente media hr les mostrare como colaborar con Ubuntu, respondiendo a esos reportes
[15:41] <chilicuil> nos centraremos en los bugs que se reportan hacia el escritorio
[15:41] <chilicuil> como primer ejemplo tomaremos el siguiente: https://bugs.launchpad.net/ubuntu/+source/unity/+bug/904348
[15:41] <chilicuil> en este ejemplo, la persona creo que reporte, pero no se molesto en mencionar, realmente cual era su problema
[15:42] <chilicuil> esta clase de reportes, son la clase de reportes en las que nos pueden ayudar, podria ser pidiendo mayor cantidad de datos
[15:43] <chilicuil> para ser mas especifico, el reporte en este caso no se relaciona en absoluto con Unity, de hecho se tiene que asignar a otro paqeute
[15:43] <chilicuil> algunas personas usan el bugtracker para hacer preguntas, en esos casos se pueden reenviar a la seccion de launchpad correspondiente 'answers'
[15:44] <chilicuil> otras veces las personas comentan muchos problemas en un solo reporte, y eso puede hacer mas dificil corregirlos, lo ideal es que se cree un reporte por bug
[15:45] <chilicuil> ahora mismo pueden pensar que clasificar bugs es muy aburrido, pero si lo hacen, se daran cuenta que es una tarea mucho mas interesenta de lo que esperaban
[15:45] <chilicuil> se aprende mucho, sobre muchas tecnologias, hablas con gente, y reduces la carga de los desarrolladores =)
[15:46] <chilicuil> una vez que comiences a clasificar bugs, podras entrar al equipo de Bug Triaging, esto te permitira modifar el estatus de los bugs a 'Triaged', una palabra que significa que esta listo para ser abordado por un desarrollador
[15:47] <chilicuil> la mayoria de los bugs en Ubuntu se encuentran en Upstream, es decir en Debian, o en los proyectos mismos de los que Ubuntu se beneficia
[15:47] <chilicuil> recordemos que upstream significa para nosotros las comunidades o personas que desarrollan el software que usamos en Ubuntu
[15:48] <chilicuil> siendo que la distribucion esta hecha de esa manera, la mayoria de bugs en Ubuntu, en un caso ideal, debieran ser canalizados a los respectivos proyectos
[15:48] <chilicuil> por poner un ejemplo, tenemos a Empathy, el software de mensajeria que viene por defecto en Ubuntu
[15:49] <chilicuil> Empathy tiene una buena cantidad de desarrolladores amables, y en general atentos a responder a los problemas de su programa
[15:50] <chilicuil> los bugs reportados en launchpad para el paquete Empathy, deberian ser canalizados al bugtracker de empathy bugzilla.gnome.org
[15:50] <chilicuil> pero no podemos canalizar bugs que no contienen los suficientes datos para ser solucionados
[15:50] <chilicuil> ahi es donde ustedes entran
[15:51] <chilicuil> completar un bug y canalizar hacia el bugtracker correspondiente es una gran manera de comenzar a involucrarse con el desarrollo de Ubuntu
[15:52] <chilicuil> otra forma, es habilitando el repositorio -proposed, ahi es donde las proximas actualizaciones se ponen, antes de convertirse en verdaderas actualizaciones, tenemos este filtro para evitar usar actualizaciones incorrectas en las versiones estables de ubuntu
[15:52] <chilicuil> para habilitarlo, pueden ir a 'fuentes de software'
[15:53] <chilicuil> pueden leer esta guia para tener una idea mas especifica de como funciona todo esto: https://wiki.ubuntu.com/Bugs/HowToTriage/
[15:53] <chilicuil> la lei muchas veces antes de poder entrar al equipo 'Bug control'
[15:53] <chilicuil> y hablando de el, aprovechare para decir que es y que hace
[15:54] <chilicuil> una vez que obtienes permisos para cambiar el estatus de los bugs, es decir, que eres parte del 'bugsquad'
[15:54] <chilicuil> se pasan los bugs a este equipo, para que les asigne desarrolladores, y se nomine para varias versiones de Ubuntu
[15:55] <chilicuil> para muchos reportes tenemos respuestas predeterminadas, esto nos ayuda a mantener un ambiente de colaboracion y a atender la mayor cantidad de bugs posibles,  https://wiki.ubuntu.com/Bugs/Responses
[15:55] <chilicuil> asi que, regresando al primer ejemplo
[15:56] <chilicuil> lo que podriamos hacer es responder, en Ingles:
[15:56] <chilicuil> Thank you for taking the time to report this bug and helping to make Ubuntu better. Please answer these questions:
[15:56] <chilicuil> * Is this reproducible?
[15:56] <chilicuil> * If so, what specific steps should we take to recreate this bug?
[15:56] <chilicuil> una vez que tengamos mas detalles sobre el problema, sera mas facil que lo solucionemos
[15:57] <chilicuil> en el caso de que el problema se encontrara en upstream, podriamos responder de la siguiente manera:
[15:57] <chilicuil> Thank you for taking the time to report this bug and helping to make Ubuntu better. The issue you are reporting is an upstream one
[15:58] <chilicuil> and it would be nice if somebody having it could send the bug to the developers of the software by following the instructions at
[15:58] <chilicuil> https://wiki.ubuntu.com/Bugs/Upstream/GNOME. If you have done so, please tell us the number of the upstream bug (or the link), so we can add a
[15:58] <chilicuil> bugwatch that will inform us about its st
[15:58] <chilicuil> es importante agradecer el tiempo que los usuarios ponen en reportar el error =)
[15:59] <chilicuil> la primera vez que mande un reporte a Ubuntu, eso fue algo que realmente me agrado, es decir no estamos hablando con maquinas, sino con otras personas
[15:59] <chilicuil> en resumen
[15:59] <chilicuil> un buen reporte, es un reporte donde el error puede repetirse muchas veces siguiendo una determinada cantidad de pasos
[16:00] <chilicuil> adicionalmente podria tener una imagen o un video donde se pudiera mostrar el problema
[16:00] <chilicuil> algunas veces esto es mas dificil de conseguir que otras
[16:01] <chilicuil> asi que hay que tener paciencia y tratar de ser amables
[16:01] <chilicuil> creo que eso es todo
[16:01] <chilicuil> gracias a om26er por esta rapida introduccion a la clasificacion de bugs!
[16:02] <chilicuil> hola SurfaX, bienvenido, en este canal intentamo s hacer la interpretacion de lo que esta pasando en #ubuntu-classroom =)
[16:02] <SurfaX> =)
[16:03] <chilicuil> tambien, intentamos ayudar a plantear preguntas hacia las personas que estan dando las charlas, asi que si en algun momento tienes alguna, puedes escribirla y trataremos de traducirla para que la puedan responder
[16:03] <chilicuil> el siguiente ponente sera mhall119 y nos hablara un poco mas sobre lo que son los Lenses de Unity
[16:04] <chilicuil> btw, tenemos los logs de los dias anteriores en https://wiki.ubuntu.com/SemanaDesarrollador ;)
[16:04] <chilicuil> y los originales estan en: https://wiki.ubuntu.com/UbuntuDeveloperWeek
[16:04] <chilicuil> comenzare la interpretacion ahora
[16:04] <chilicuil> en esta charla hablaremos un poco sobre como crear nuevos lenses con Singlet
[16:05] <chilicuil> un lense es la forma en la que Unity muestra los datos en la interfaz
[16:05] <chilicuil> por ejemplo en el campo de busqueda, el resultado se ve gracias a uno de estos lenses
[16:05] <chilicuil> bien, empezare describiendo que es un singlet
[16:05] <chilicuil> singlet es una libreria escrita en python diseñada para programar lenses de unity =)
[16:06] <chilicuil> esto podria sonar extraño, para que necesitamos una libreria, si los lenses de unity son objetos GObjects + Dbus?
[16:06] <chilicuil> de hecho tenemos varios lenses que estas programados sin usar singlet
[16:07] <chilicuil> asi que por que alguien querria usarlo?
[16:07] <chilicuil> bueno, personalmente, pasa que odio los dbus y esos objetos, asi que prefiero usar python para desarrollador todo
[16:08] <chilicuil> hice mis 2 primeros lenses de esta manera, y singlet fue el resultado de ello
[16:08] <chilicuil> asi que basicamente singlet es una capa que te permite deshacerte de todo ese codigo que no esta escrito en python ;)
[16:09] <chilicuil> lo hace combinando ciertos aspectos de la programacion orientada a objetos y algunas meta-clases
[16:09] <chilicuil> pueden ver este link para conocer mas sobre ello: http://mhall119.com/2012/01/simplified-unity-lens-development-with-singlet/
[16:09] <chilicuil> si alguien por aqui ha programado en djando, no deberia tener muchos problemas para agarrarle soltura
[16:10] <chilicuil> tome muchas cosas de django para construir singlet
[16:10] <chilicuil> para usar Singlet, primero le das un poco de meta-datos para describir tus lens
[16:10] <chilicuil> luego puedes definir algunas categorias e implementar algunos metodos, como el metodo search()
[16:11] <chilicuil> y singlet creara los objetos GObjets necesarios para interactuar con Dbus por ti
[16:12] <chilicuil> singlet tambien incluye programas auxiliares para hacer que tus lens corran como demonios y genera automaticamente lso archivos .lens y .service, todo a partir de los meta-datos que insertes
[16:14] <chilicuil> ok, pondremos un ejemplo para mostrar como crear un lens usando singlet: http://mhall119.com/2012/01/simplified-unity-lens-development-with-singlet/
[16:15] <chilicuil> si estuvieron en la charla que impartieron davidcalle y mhr3 sabran que los lens pueden escribirse a partir de un archivo, o dividido
[16:16] <chilicuil> singlet 0.2 esta disponible en Precise
[16:16] <chilicuil> pueden usarlo para escribir tanto lens como scopes
[16:17] <chilicuil> singlet no solo te ayuda a programar mas rapido tus lens
[16:17] <chilicuil> tambien define una api que te protege si las especificaciones de los lens cambian
[16:18] <chilicuil> esto no es una fantasia, por poner un ejemplo la api de los lens cambio de Unity 4 (oneiric) a Unity 5 (precise)
[16:18] <chilicuil> asi que si hubieran escrito un len en singlet 0.1 en oneiric, podrian usarlo sin problemas con singlet 0.2 en precise
[16:19] <chilicuil> pronto agregaremos crearemos una plantilla para poder empaquetar lens y scopes escritos con singlet para quickly
[16:20] <chilicuil> para los que no esten familiarizados con quickly, es una herramienta creada por los chicos de Ubuntu para desarrollar aplicaciones de forma mas rapida
[16:21] <chilicuil> cuando se usa, crea por ti los archivos necesarios ya sea para escribir una aplicacion de linea de comandos o con interfaz de usuario, tambien permite empaquetar tu programa facilmente
[16:21] <chilicuil> la idea es que las personas usen Singlet + Quickly para desarrollar rapidamente lens que ayuden a poner los datos que quieran en la interfaz de Unity
[16:22] <chilicuil> creo que los lens son una caracteristica unica de Unity, y que mucha gente querra crear algunos
[16:22] <chilicuil> espero que la mayoria usen Singlet para hacerlo
[16:22] <chilicuil> alguna pregunta hasta aqui?
[16:24] <jujuju> bien eso es todo por hoy, gracias por los que asistieron
[16:24] <jujuju> #nosotros seguiremos interpretando =)
[16:24] <jujuju> las personas que deseen modificar el codigo de singlet pueden obtenerlo de aqui: https://launchpad.net/singlet
[16:25] <jujuju> no olviden entrar a #ubuntu-classroom-chat, muchas veces ahi se van complementando lo que dice el ponente
[16:29] <chilicuil> a continuacion tendremos a tumbleweed, un desarrollador de Debian y miembro de MOTU ;)
[16:29] <chilicuil> que nos estara hablando sobre crear paquetes localmente usando pbuilder
[16:30] <chilicuil> si estuvieron en la charla que dholbach dio ayer, probablemente tendran instalado pbuilder https://wiki.ubuntu.com/MeetingLogs/devweek1201/DevEnvironmentSetup
[16:31] <chilicuil> si no han usado pbuilder con anterioridad, tal vez se pregunten que sentido tiene
[16:32] <chilicuil> despues de todo pueden hacerlo con debuild
[16:33] <chilicuil> sin embargo pbuilder, lo hara en un intorno minimalista, y aqui es donde esta la principal diferencia
[16:33] <chilicuil> ademas con pbuilder pueden emular otros sistemas
[16:33] <chilicuil> Ubuntu usa buildds para crear los paquetes que son introducidos en ubuntu
[16:34] <chilicuil> estas maquinas usan sbuild para crear los paquetes
[16:35] <chilicuil> adicionalmente con los ppas que ofrece launchpad pueden crear sus paquetes
[16:35] <chilicuil> https://launchpad.net/builders
[16:36] <chilicuil> sin embargo y aunque no lo crean, la mayoria de sus computadoras podrian crear un paquete mas rapido de lo que lo hacen las maquinas que Ubuntu pone a disposicion
[16:37] <chilicuil> personalmente prefiero usar sbuild en lugar pbuilder
[16:37] <chilicuil> sin embargo es solo una cuestion personal, esta bien usar pbuilder
[16:38] <chilicuil> de lo contrario no estaria hablando sobre el ;)
[16:38] <chilicuil> vayamos a los detalles, que hace pbuilder?
[16:38] <chilicuil> - crea un chroot
[16:38] <chilicuil> - corre debootstrap para crear un entorno minimalista (debootstrap es una herramienta que corre a muy bajo nivel
[16:39] <chilicuil> - finalmente crea un archivo .tar y lo pone en algun lugar de tu computadora
[16:39] <chilicuil> despues de eso, cada vez que se utilice, descomprimira ese archivo .tar
[16:40] <chilicuil> en este entorno compilara el paquete y si lo crea correctamente lo pondra en otro lugar de tu computadora, para que puedas instalarlo
[16:41] <chilicuil> en Ubuntu tenemos pbuilder-dist un programa que usa pbuilder para crear varios entornos
[16:42] <chilicuil> podrian compilar sus programas contra varias versiones de Ubuntu y de Debian
[16:42] <chilicuil> ok, compilemos algo
[16:42] <chilicuil> en una terminal escriban: $ pull-lp-source -d beautifulsoup
[16:43] <chilicuil> esto descargara el archivo fuente que utilizan los .debs para crearse, un archivo .dsc
[16:43] <chilicuil> ahora, utilicen $ pbuilder-dist precise beautifulsoup_3.2.0-2build1.dsc
[16:43] <chilicuil> para crear el .deb
[16:43] <chilicuil> coolbhavi pregunta donde guarda pbuilder los logs
[16:44] <chilicuil> tumbleweed responde que se guardan al lado de los paquetes .deb
[16:46] <chilicuil> los entornos manejados con pbuilder deben ser actualizados, tienen que serlo para poder probar que los paquetes mas recientes compilen contra la version en desarrollo de Ubuntu
[16:49] <chilicuil> pbuilder soporta una caracteristica llamada 'hooks', son scripts que reaccionan a eventos
[16:50] <chilicuil> pueden leer todos los detalles sobre ello y mas en $ man pbuilder
[16:50] <chilicuil> y tienen algunos ejemplos en /usr/share/doc/pbuilder/examples/
[16:51] <chilicuil> en mi caso uso un script llamado D90update  para actualizar el sistema antes de compilar culquier paquete
[16:53] <chilicuil> otro que no puedo dejar de mencionar es C10shell
[16:54] <chilicuil> cuando un paquete falla, te abre una linea de comando dentro del entorno para corregirlo
[16:54] <chilicuil> como usar hooks?
[16:55] <chilicuil> se pueden dejar en ~/.pbuilder-hooks
[16:55] <chilicuil> y luego definir en el archivo .pbuilderrc HOOKDIR=$HOME/.pbuilder-hooks
[16:58] <chilicuil> creo que media hr no ha sido suficiente para hablar sobre todos los aspectos de pbuilder
[16:59] <chilicuil> sin embargo, tenemos mucha gente en #ubuntu-motu que saben muy bien como usar pbuilder, cowbuilder y sbuild
[16:59] <chilicuil> asi que no duden en darse una vuelta por ahi, si tienen algun problema =)
[17:01] <chilicuil> eso es todo
[17:01] <chilicuil> la siguiente platica sera sobre como crear archivos /debian/changelog que ruleen
[17:01] <chilicuil> y aun hay varias platicas interesantes
[17:02] <chilicuil> por mi, ha sido todo por hoy, espero encontrar logs adicionales, ya tenemos a ubuntulog que subira los logs a la wiki
[17:02] <chilicuil> bonita tarde n_n/)))