/srv/irclogs.ubuntu.com/2012/08/28/#ubuntu-classroom-es.txt

HewersonOla15:44
Hewersonbuenas tardes!15:53
=== cyrex_ is now known as luisalvarado
Conradoignore #ubuntu-classroom CRAP NOTICES SNOTES CTCPS JOINS PARTS QUITS KICKS MODES WALLOPS NICKS DCC DCCMSGS CLIENTNOTICES CLIENTCRAP CLIENTERRORS HILIGHTS16:06
Conradowhre's the traduction?16:09
chilicuilwop, hola gus-tavo, ya listo para tu sesion?, creo que me quede dormido, como han estado las charlas?17:39
chilicuilhola Conrado , veo que has estado siguiendo el canal desde las 16:00 utc, la introduccion, debio correr a mi cargo, sin embargo, no he podido llegar a tiempo.., gus-tavo tenia asignada las sesiones que aparecen con su nick en la wiki, de no tener otros problemas, comenzare a interpretar las siguientes sesiones, una vez que finalice ogra17:43
Conradook17:45
Conradochilicuil17:45
Conradogracias17:45
chilicuilno para nada, una disculpa, espero que igual hayas podido seguir las charlas en #ubuntu-classroom17:46
chilicuilogra ha terminado, ahora bilal se encargará de la sesion sobre 'Desarrollo de ubuntu para jovenes' (Ubuntu development for the youth!)18:01
chilicuilrecuerden entrar a #ubuntu-classroom-chat para seguir las discusiones y para hacer sus preguntas18:01
chilicuilutilicen el prefijo QUESTION: para identificarlas18:02
chilicuilsi no estan seguros de como hacer su pregunta, haganla por aqui, y les ayudaremos a traducirla18:02
chilicuilcomienzo ahora mismo18:02
chilicuilHola, mi nombre es Bilal Akhtar y he estado involucrado con la comunidad de Ubuntu por al menos 2 años18:02
chilicuilcomo se daran cuenta (o pronto lo haran), hay muchas otras formas de contribuir a Ubuntu ademas de la programacion18:03
gus-tavohola chilicuil, yo voy  a interpretar la ultima sesion de hoy, necesito ayuda con lernid18:03
gus-tavohay una forma de que se conecte a ubuntu-classroom-es?18:04
chilicuildurante la sesion, no olviden hacer todas sus preguntas, y de utilizar QUESTION: como prefijo, por ejemplo, QUESTION: Why is Ubuntu so awesome?, y tratare de responderlas18:04
gus-tavoasi no hay que cambiar de solapas para ver el ingles junto a la ventana de español18:04
chilicuilsi, gus-tavo , con un cliente de irc, por ejemplo, xchat, irssi18:04
chilicuilo abrir dos sesiones del mismo cliente, y acomodar las ventanas18:05
chilicuillo que yo hago, es interpretar, en la version inglesa y pegar en la española18:05
gus-tavoahi esta, hago eso, gracias !18:05
chilicuilsiguiendo, con la intepretacion.., En fin, permitanme comenzar con un pequeño resumen de lo que se considera por desarrollo de Ubuntu18:05
chilicuilDaniel Holbach durante la primera sesion de hoy, dio una charla titulada 'Introduccion al desarrollo de Ubuntu', que se trato justo sobre esto18:06
chilicuilyo solo hare un pequeño repaso sobre ello, para obtener mas detalles, pueden leer los logs de su sesion18:07
chilicuilUbuntu es un sistema operativo completo, como tal, esta hecho a partir de muchos pequeños fragmentos, llamados 'paquetes'18:07
chilicuilcada paquete esta escrito en un determinado lenguaje de programacion, es compilado y a partir de eso, se crea un paquete 'binario'18:08
chilicuilel instalador de Ubuntu, aquel que usan para instalar Ubuntu, hace poco mas que descargar e instalar varios de esos programas18:08
chilicuiluna pregunta frecuente que obtengo de prospectos a desarrolladores, es "En que lenguaje de programacion esta escrito Ubuntu?, que lenguaje deberia aprender para desarrollar a Ubuntu?"18:09
chilicuilla mayoria de los programas importantes de Ubuntu, como el kernel (el kernel es el software que se encarga de pegar en una sola capa, el software y hardware de su computadora, controlar los drivers, etc), o las librerias de bajo nivel estan escritas en C18:11
chilicuillos paquetes de escritorio, que forman la parte visual de Ubuntu, estan escritos en varios otros, la mayoria en C, C++, o python18:11
chilicuilesta es la razon, por la que sugiero a todos los que me hacen esa pregunta, aprender python18:12
chilicuilalgunos ejemplos de estos programas son: El centro de software (escrito en python), Unity (C++), Nautilus el manejador de archivos (C), Gwibber (python), etc~18:13
chilicuilrecomiendo python, porque es facil de aprender, y al mismo tiempo les enseña las bases de la programacion, para que poco despues puedan moverse a C18:14
chilicuilFlowRiser ha pregunta sobre referencias, o tutoriales para aprender python18:14
chilicuilbilal lo felicita por la pregunta, y responde que le recomienda empezar por la documentacion oficial http://docs.python.org18:15
chilicuilhttp://docs.python.org/tutorial/index.html18:15
chilicuilpara c++, menciona que hay cientos de tutoriales, algunos de los cuales son, cprogramming.com y cplusplus.com18:16
chilicuilademas de esos, recomienda hacer una busqueda rapida en google para encontrar otros18:16
chilicuilcoalitians ha preguntado si es verdad que java no muy popular dentro de la comunidad de Ubuntu18:17
chilicuilbilal le responde, que si lo es, pero que no tanto como C o python18:17
chilicuily da el ejemplo de LibreOffice, cuyo codigo esta escrito en java18:17
chilicuilademas de LibreOffice, otro ejemplo popular es Eclipse, aun asi, los ejemplos de java son menos que los que se podran encontrar de C y python, esto es porque java requiere una maquina virtual para funcionar, como OpenJDK o Sun Java VM18:19
chilicuilen caso de conocer java, sugiere que se aprenda C, ya que los 2 lenguajes son muy similares, y C es muy ocupado dentro de la comunidad de Ubuntu18:20
chilicuilCuppaT ha preguntado si se le podria recomendar un IDE (entorno de desarrollo)18:20
chilicuilbilal le recomienda que utilice vim, aunque menciona que tiene una curva de aprendizaje alta, asi que para los que no deseen aprender a usarlo, Gedit tambien es una buena alternativa18:21
chilicuiltambien sugiere Geany18:21
chilicuilcoalitians pregunta si en Ubuntu hay aplicaciones en python que esten siendo migradas a la version 3.x del lenguaje de programacion18:22
chilicuilbilal responde que en parte, y agrega que python 3.x no es compatible con su antecesor, python 2.x por lo que algunas aplicaciones aun no se han actualizado18:23
chilicuilse espera que un futuro proximo, todos los programas que vienen incluidos en el CD de Ubuntu hayan sido portados a python3, y puedan deshacerse de python218:24
chilicuilrecomienda que en caso de estar aprendiendo de 0, comiencen con python 318:24
chilicuilthotp pregunta cuales son las principales diferencias entre las aplicaciones en c/c++ de ubuntu y windows18:25
chilicuilbilal responde que la principal diferencia reside en el stack, es decir, mientras Ubuntu usa GTK+ y QT como librerias base para programar aplicaciones graficas, Windows utiliza WPF y WinForms18:26
chilicuilaunque la sintax es la misma~18:26
chilicuilademas de eso, agrega que las aplicaciones en GTK+ y QT pueden funcionar en Windows18:26
chilicuilcomo nota relacionada, barry hablara sobre programacion en python3 en la siguiente sesion18:27
chilicuilreanalizando la discusion de C en windows vs ubuntu, dice que para aprender la sintaxis basica, no importara desde que plataforma lo aprenda18:28
chilicuilaunque sugiere que se aprenda en Ubuntu, ya que sera la plataforma para la cual se va a programar18:28
chilicuilkamilnadeem pregunta que para un nuevo estudiante de ciencias de la computacion, cual es el mejor camino?18:29
chilicuilbilal responde que seguramente en su universidad le enseñaran algunos lenguajes, aunque si fuera el, comenzaria a estudiar C, puesto que seguramente se lo enseñaran de cualquier forma18:29
chilicuileklok pregunta como ser un buen programador, cuantas hrs son necesarias al dia?18:30
chilicuilbilal responde que no tiene que ver con el numero de horas, calidad != cantidad18:30
chilicuily dice, que la mayoria de las personas tienen agendas muy apretadas, y que muchas contribuciones se pueden hacer en 1 hr o menos18:31
chilicuildice que lo mas importane, es encontrar algo que puedas y te guste hacer18:31
chilicuilFlowRiser pregunta por tutoriales para aprender c++18:32
chilicuilbilal responde que para programar aplicaciones graficas, es mejor consultar las guias de Gtk, y para programación a secas, cplusplus.com, recomienda que comiencen aprendiendo la sintaxis antes de intentar cosas mas avanzadas, como la programacion en GTK18:33
chilicuilmenciona que aunque muchas personas aprenden a programar en las escuelas y universidad, en la comunidad de Ubuntu, se aprende a traves de mejorar los programas18:35
chilicuillo que ha largo plazo es mejor, que cualquier cosa que les puedan enseñar en la aulas18:35
chilicuilrecomienda comenzar por python, c y por ultimo c++, si no se tiene idea de programacion18:35
chilicuilsi se conoce java, entonces lo mejor desde su punto de vista, sera: Java -> C -> python18:36
chilicuilraki1 pregunta cual es mejor, GTK+ o QT18:36
chilicuilbilal responde que ambos son muy buenos, y agrega que QT tiene algunas caracteristicas extra, auqnue GTK es mas facil de aprender18:37
chilicuilSamTate pregunta si cree qeu Vala es un lenguaje adecuado, despues de JS y PHP18:37
chilicuilbilal responde, que aunque es un buen lenguaje, limpio sobre todo, para nuevos programadores recomienda asignarle menos prioridad18:38
chilicuilesto, porque Vala aun no es un lenguaje muy comun18:38
chilicuildespues de js y php, recomienda C18:38
chilicuilsiguiendo con la sesion.., por que los jovenes deberian estar interesados en el desarrollo de Ubuntu?18:39
chilicuilbueno, primero, como ya se habia comentado, aprenderan a traves de ejemplos, de cuestiones practicas18:40
chilicuilesto les ayudara a entender la programacion, mas alla de cualquier curso que se pueda dar en cualquier escuela18:40
chilicuilaprenderan a resolver problemas criticos, tanto en la tecnica, como en la metodologia18:40
chilicuilobtendran la ayuda de cientos de talentosos desarrolladores alrededor del mundo18:41
chilicuilaprenderan a trabajar en equipo18:41
chilicuily los conoceran al mismo tiempo, haran amigos dentro de la comunidad18:41
chilicuilcomo punto extra, se vera bien en su resumen, si piensan trabajar en el campo de las IT18:42
chilicuillos colocara un nivel arriba de sus compañeros de clase18:42
chilicuilcontribuir a Ubuntu, es realmente, una excelente manera de pasar el rato18:42
chilicuilalgunos podrian pensar que es una perdida de tiempo18:43
chilicuilsin embargo, es importante recordar, que el control sobre la cantidad de tiempo que le dedican la tienen ustedes18:43
chilicuilustedes deciden el tiempo que deseen y la hr18:44
chilicuily si encuentran problemas, hay muchas personas que estaran felices de ayudarlos18:44
chilicuilya sea a traves de sitios, como Ask Ubuntu, los foros, o a traves de las listas de correo ubuntu-devel@lists.ubuntu.com, ubuntu-motu@lists.ubuntu.com18:45
chilicuiltambien, pueden obtener ayuda en los canales de irc, #ubuntu-app-devel para preguntas sobre desarrollo de aplicaciones, o #ubuntu-motu para preguntas sobre empaquetamiento de esas aplicaciones18:45
chilicuilraki1 pregunta sobre algunas guias de GTK18:46
chilicuilbilal le recomienda http://developer.gnome.org/18:46
chilicuilhelderc pregunta sobre partes de Ubuntu (no Kubuntu) donde se utilize QT18:46
chilicuilbilal menciona que unity 2d, solia usar qt, y que Ubuntu trata a QT, como una libreria de primer nivel18:47
chilicuilmesutcangurle pregunta por que Ubuntu no tiene mentores para nuevos miembros, o tareas sencilla para comenzar18:48
chilicuilbilal responde que hay platicas para reactivar al grupo de mentores18:48
chilicuily sobre las formas colaborar, existen alternativas, se puede ayudar via upstream, es decir, ayudando en los proyectos originales, como en el caso de Nautilus18:49
chilicuilpueden verse una lista de bugs en http://launchpad.net/ubuntu/+source/nautilus/+bugs18:49
chilicuily para enviar un parche, se puede descargar el codigo fuente, arreglar el problema, y enviar el parche18:50
chilicuilsi desean conocer a detalle el procedimiento para enviar estos parches, tumbleweed tendra una sesion completa para ese tema mañana18:50
chilicuiltambien pueden ayudar, clasificando bugs, encontrando reportes duplicados, preguntando por mas datos, en los reportes que no sean claros18:51
chilicuilo ayudando con la traduccion de ubuntu18:51
chilicuilhttps://wiki.ubuntu.com/Translations , el equipo hispano, es especialmente activo18:52
chilicuilotras formas de ayudar, incluyen, escribir documentacion, o haciendo pruebas de los alpha y beta de Ubuntu18:53
chilicuilen fin, ahora contestare algunas de las preguntas que me suelen hacer18:53
chilicuilprimera, existe una remuneracion economica por ayudar a Ubuntu?18:54
chilicuillo que suelo responder, es que si se obtiene una recompensa, aunque esta no es economica, es de conocimientos18:54
chilicuilsegunda, como se pueden obtener permisos para subir los cambios?18:55
chilicuilexisten diferentes tipos de desarrolladores en Ubuntu https://wiki.ubuntu.com/UbuntuDevelopers18:55
chilicuilcada uno de ellos, tiene permisos para subir modificaciones a diferentes partes18:56
chilicuilsin embargo, en todos ellos es el mismo, una vez, que tengas un buen historial, con buenas y sustentadas contribuciones18:56
chilicuilpuedes aplicar para cualquier membresia18:57
chilicuiluna de las cosas que olvide mencionar, es que tambien puedes ayudar, creando paquetes para los programas que aun no estan disponibles en Ubuntu, de esto hablo un poco mas Daniel, en la primera sesion18:57
chilicuilpueden aprender, como hacer esto en developers.ubuntu.com18:58
chilicuilFlowRiser: pregunta como puede modificar y crear temas para el screen de login de ubuntu18:59
chilicuilbilal responde que tendra que hechar un vistazo en la documentacion de lightdm18:59
chilicuilajitesh pregunta, cual es mejor para el desarrollo de ubuntu, c++ o python18:59
chilicuilbilal responde que aunque c/c++ es mas poderoso, python es mas facil de aprender19:00
chilicuily que en realidad depende de lo que se quiera desarrollar19:00
chilicuilpor ejemplo, para aplicaciones con interfaz grafica, generalmente es mejor usar python, mientras que para crear cosas de bajo nivel, drivers, etc, es mejor usar C19:00
chilicuilcon eso termina la sesion de bilal, ahora barry hablara sobre desarrollo con python319:01
chilicuiltodo tuyo gus-tavo19:01
gus-tavoops tarde, me he demorado19:09
chilicuilsin problemas, gus-tavo , venga que no tenemos una audiencia tremenda, bien podrian quedar unicamente los logs19:09
gus-tavoben72 pregunta: hay manera de correr las versiones 2 y 3 de python en el mismo sistema ubuntu?19:10
gus-tavosi, corriendo 'python! (aka /usr/bin/python) en cualquier sistema ubuntu hará correr la última verson de python 2, para ubuntu 12.04 en adelante es python 2.719:12
gus-tavopara correr python 3 se necesita explicitamente correr 'python3' ó /usr/bin/phython3'19:13
gus-tavopuedo hablar de las diferencias entre python 3.2, por defecto en la distribucion ubuntu, y python 3.3 más tarde19:15
gus-tavonickE68 pregunta: Quantal usara Python 3.3?19:15
gus-tavoNo, python 3.2 sera todavía la version por defectho, la 3.3 no va a estar lista al momento del freeze. va a estar por defecto en la version 13.0419:16
gus-tavoquantal tiene la version 3.3 disponible  a traves de: apt-get install python3.319:17
gus-tavoe invocado a través de 'python3.3'19:18
gus-tavoasí pueden jugar con las nuevas caracteristicas19:18
gus-tavoquantal tendra la 2.7, 3.2 y 3.3 con las dos primeras como por defecto19:21
gus-tavoentonces, por que portar a python 3?19:22
gus-tavonunca habra un python 2.8, les puedo asegurar : )19:22
gus-tavolo que implica que py2 nunca tendra alguna nueva característica19:22
gus-tavoy el arreglo de errores, a traves de los canale oficiales tomara mas que lo usual19:23
gus-tavoeventualmente 2.7 solo tendrá correcciones de seguridad, pero supongo que desarrollos upstream estarán menos interesados en matener la 2.7 a medida que pase el tiempo19:25
chilicuilhola alvaro_ , bienvenido, si andas un poco perdido, los logs generados hasta el momento en http://irclogs.ubuntu.com/2012/08/28/%23ubuntu-classroom-es.html19:25
chilicuily en http://irclogs.ubuntu.com/2012/08/28/%23ubuntu-classroom.html para la sesion en Ingles19:25
gus-tavolos modulos quedaran obsoletos19:26
gus-tavopy2 tiene también muchas errores, algunos pequeños otros grandes19:27
gus-tavoy mas importante imo: py3 soluciona el problema entre bytes vs. text19:28
gus-tavo(la mayoría : )19:28
gus-tavosignificando, tenemos el potecian de hacer aplicaciones py3 mas robustas19:28
gus-tavopara usuarios no hablantes  ingles19:29
gus-tavomas sobre bytes vs cadenas mas tarde19:29
gus-tavocuáles son los planes de ubuntu para py3?19:30
gus-tavoestamos en una larga carrera para deprecar python2. hemos esperado a portar todo en las imágenes de intalacion para py3 en 12.10, pero encontramos unos bloqueos problematicos y no va a pasar para la 12.1019:31
gus-tavotal vez para la 13.04, definiitivamente para la proxima lts19:32
gus-tavopy2.7 nunca sera removida del archivo, pero va a estar en el universo para la 14.04, si podemos19:33
gus-tavohablemos acerca de portar19:33
gus-tavodejenme darles uno enlaces primero:19:34
gus-tavoeste es uno de los mejores recursos disponibles para entender como portar tu aplicacion py2 a py319:34
gus-tavohttp://python3porting.com/19:34
gus-tavocoalitians pregunta:19:34
gus-tavodesde que el desarrollo para 12.10 se congeló, no hay actividades de portar ahora?19:35
gus-tavocoalitians: tendriamos definitivamente una ffe para el servicio backend de gwibber portada a py3- tal vez haya otras pocas, pero a la larga hecha con los esfuerzos de portado para 12.10, desde aqui esto seria un error a arreglar19:38
gus-tavolos enlaces arriba hablan de estrategiss, dan ejemplos de codigo para la conversion de idimas comunes, un poco de extensiones c, y mucho mas19:41
gus-tavoy he escrito un numero de blog posts que encontrarán explicativas:19:41
gus-tavohttp://tinyurl.com/7tb3jkn19:42
gus-tavo http://tinyurl.com/7famvx319:42
gus-tavohttp://tinyurl.com/6ufpvfq19:42
gus-tavotambien hay una página en la wiki ubuntu con ayuda especifica para portar, incluyendo como empaquetar librerías python y aplicaciones para py3 o para py2/py319:43
gus-tavo https://wiki.ubuntu.com/Python/319:43
gus-tavotambien les voy a ddar este enlace para la charla de pycon 2012. les recomiendo que vean esto antes de que hagan cualquier trabajo significante con py3. Es la mejor descripcion para el tema bytes vs. cadenas. realmente una gran charla19:45
gus-tavohttp://pyvideo.org/video/948/pragmatic-unicode-or-how-do-i-stop-the-pain19:45
gus-tavohablemos de las estrategias para portar19:46
gus-tavopermitanme decirles que si comienzan con un nuevo proyecto python, les sugiero que vayan directo a py3. tienen que asegurarse de que cualquier dependencia (ej. librerias de terceros que quieran usar) esttén disponible para py3 en ubuntu19:48
gus-tavohemos trabajado fuerte estos ultimos ciclos para asegurar el soporte py319:49
chilicuilhola mary_, bienvenida, si andas un poco perdida, los logs generados hasta el momento estan en http://irclogs.ubuntu.com/2012/08/28/%23ubuntu-classroom-es.html19:51
chilicuily en http://irclogs.ubuntu.com/2012/08/28/%23ubuntu-classroom.html para la sesion en Ingles19:51
gus-tavoy hemos portado en upstream algunos paquetes (dbus-python)19:52
gus-tavopor supuesto, no todo esta disponible, pero *mucho* está hecho, así que probablemente estarán en una gran ventaja con quantal19:53
mary_gracias!19:53
gus-tavoroadmr pregunta: que camibon recomendas si yo quiero portar una aplicacion usando gstreamer a Python3?19:53
gus-tavodesafortunadamente no tengo mucha experiencia con gstreamer, asi que no estoy seguro que version py3 esta disponible, asi, donde (upstream, debian, ubuntu)19:55
gus-tavo"pienso" que no esta, pero no me marques por eso : )19:56
gus-tavopara el nuevo codigo, que acerca de portar codigo existente a py3?19:56
gus-tavopreguntate esto: necesitas mantener soporte py2?  y si es asi, cuanto tiempo atras necesitas el soporte??19:57
gus-tavorecomendaría altamente nada mas alejado que py2.6 (no esta disponible en niguna forma en quantal)19:58
gus-tavorecomendaría al menos py2.7 para algun exento 2.6 tiene muchos caracteristicas portadas que pueden hacer portado, y soportando py2 y py3 mas facil20:00
gus-tavoa traves de cosas como "from__future__impor"20:01
gus-tavoasi cuando comiencen a portar, la primera cosa a hacer es correr su codigo con 'python2.7 --3'20:02
gus-tavochilicuil, termino, no traduzco mas ?20:05
gus-tavome quede muy atras20:05
chilicuilgus-tavo: ya no hay mas sesiones por delante, si aun te queda tiempo, podrias terminar la sesion, si no, no hay problema puedo ayudar con el resto20:06
gus-tavobueno, vos podes terminar de traducir ?20:07
chilicuilsi gus-tavo , gracias por tu tiempo, terminando igual haré la interpretacion de las charlas a las cuales no pude llegar20:07
chilicuily anexo los logs a la wiki =)20:08
gus-tavobueno, no entendi mucho, espero estar mas afilado mañana :)20:08
chilicuilseguro gus-tavo, gracias =)!20:09
chilicuilsiguiendo con la interpretacion...20:10
chilicuila traves de cosas como "from__future__impor"20:10
chilicuilasi cuando comiencen a portar, la primera cosa a hacer es correr su codigo con 'python2.7 --3'20:10
chilicuilla opcion -3 les mostrara advertencias sobre cada caracteristica de su programa que no pueda ser convertido facilmente con el programa 2to3 (mas sobre eso en un momento)20:11
mary_luego en el log cuando se termine las sesiones estaran disponibles en la misma direccion arriba?20:12
chilicuilpor el contrario, si su programa corre bien con 'python2.7 -3', el proceso de transicion sera muy simple20:12
chilicuilmary_: si, tambien a traves de https://wiki.ubuntu.com/SemanaDesarrollador , ambas las inglesas y sus interpretaciones españolas20:13
gus-tavosi mary, en ingles, las traduccines tambien estan en la wiki20:13
gus-tavohttps://wiki.ubuntu.com/SemanaDesarrollador20:14
chilicuil2to3 es un framework de transformacion de codigo, puede tomar la mayoria de las caracteristicas de un programa escrito para python2 y convertilo a codigo para python320:15
chilicuilmi opinion personal es que la salida que devuelve 2to3 es una excelente inicio, pero su codigo no deberia usarse para sistemas en produccion20:16
chilicuildesde mi punto de vista, se deberia usar un unico codigo base y tener cuidado en como se programa, tambien se deberia usar imports from-future tanto como sea posible20:18
chilicuilexiste una libreria llamada 'six' (creo que se instala con $ apt-get install python-six) que puede simplificar el mantenimiento de su codigo fuente20:19
chilicuiltodos estos tips estan bien, sin embargo, si quisiera recalcar algo, seria tener *muy bien* definido la diferencia entre los modelos de datos (por ejemplo, entre los datos del programa, y las cadenas, legibles por humanos)20:21
chilicuilsi tienen varios errores del tipo UnicodeErrors, significa que no estan siendo suficientemente claros en esa division20:22
chilicuilesta division, es uno de los grandes beneficios (y dolores de cabeza) de actualizar su codigo a py3, sin embargo, una vez que lo hagan, sus usuarios de lenguas que no sea el Ingles dejaran de tener esos errores 'UnicodeErrors'20:23
chilicuilBlessJah pregunta si es posible escribir codigo en py3 que tambien funcione en py2?20:24
chilicuilbarry contesta que hacia abajo no hay mucha diferencia, asi que definitivamente debe ser posible20:25
chilicuilespero que todos hayan entendido la diferencia entre bytes y cadenas20:25
chilicuilbytes son datos en binario, ejemplo: imagenes, audio, video, etc20:25
chilicuilmientras que cadenas, es texto que puede ser leido por otras personas20:26
chilicuilen py2 se tienen 2 diferentes tipos de cadenas, str que tambien se conocen como cadenas de 8 bits, y que pueden ser utilizadas como cadenas de texto, o como datos binarios20:26
chilicuiltambien existe el tipo unicode, que son justo esto, cadenas en unicode legibles para humanos20:27
chilicuilel problema de py2 es que comunmente mezclaba ambos, muchas veces en formas que no eran correcta, y que provocan algunos problemas 'UnicodeErrors'20:28
chilicuilen py3 se tienen bytes que *solo* pueden ser tratados como datos binarios20:29
chilicuily str que solo son unicodes20:29
chilicuilestos 2 tipos no se mezclan, no existen metodos de conversion de uno a otro que sean automaticos20:30
chilicuilpor ejemplo, no se pueden concadenar uno sobre otro, sin hacer una conversion *explicita*20:30
chilicuilasi que si tienes una cadena unicode, puedes convertirla a bytes, aunque para eso, debes conocer el encoding en el que se encuentran (la mayoria de las veces en utf-8, aunque tambien es frecuente que esten en latin-1 o algun otro)20:31
chilicuilpara ir de bytes a str, tienes que decodificarlo, otra vez, para hacer eso, debes ser claro en el encoding al que quieres convertirlo20:32
chilicuilotro punto importante a recordar es que en py3, la funcion open() abrira los archivos en el modo binario por defecto20:34
chilicuila diferencia de py2, py3 tambien tomara un argumento que establezca el encoding a utilizar20:35
chilicuilopen('mi_archivo', encoding='utf-8')20:36
chilicuilde esta manera, se estaran leyendo cadenas del archivo codificadas en unicode20:36
chilicuilesto es genial (asumiendo que su archivo, realmente utilice la codificacion utf-8 en primer lugar :)20:37
chilicuilen py3, ya no se usa el prefijo u'', las cadenas literalmente se guardan como unicodes20:38
chilicuil(de hecho: el prefijo u'' se volvio a introducir py3.3, pero lo que he dicho anteriormente escencialmente es correcto)20:39
chilicuilpara escribir bytes literalmente, se usa el prefijo b''20:39
chilicuilejemplo: este es el byte: b'foo'20:39
chilicuily esta, la cadena: 'foo'20:39
chilicuilotra nota rapida sobre esto es que ahora pueden usar de forma segura el modulo 'gettext' en py3, puesto que gettext siempre devolvia unicodes como resultado de su ejecusion20:41
chilicuilhay mas preguntas sobre este tema, o puedo continuar con otro?20:41
chilicuilNickE68 pregunto sobre los archivos donde no se sabe el encoding de antemano, pregunta si existe una libreria que pueda adivinarlo20:43
chilicuilbarry responde que si existe, pero que ahora mismo no recuerda su nombre, aunque parece que esta relacionada con el proyecto mozilla20:44
chilicuilen general, recomienda probar con algunos encodings si no se sabe, por ejemplo, primero utf-7, luego latin-1, luego ascii.., y asi20:45
chilicuilroadmr pide una aclaracion sobre eso de que 'gettext' siempre devuelve unicodes, esto se refiere a 'cadenas'?, en lugar de 'bytes'?20:46
chilicuilbarry contesta que si, y agrega que desafortunadamente en py2,  gettext.gettext('foo') siempre devolvia una cadena de 8 bits que causaba problemas, ademas de eso, el api para analizar unicodes en py2 era muy dificil de usar y no se usaba por defecto20:48
chilicuilen py3 por el contrario, gettext.gettext('foo') siempre devuelve un tipo 'str', es decir una cadena en unicode20:49
chilicuilbarry agradece por pasarle el tipo puntual, que es python-chardet20:49
chilicuilregresando a la sesion., durante los siguiente 17 minutos, dare un tour sobre los principales cambios y nuevas caracteristicas en py3 de las que vale la pena estar informado20:50
chilicuilno es de ninguna manera, una lista completa20:51
chilicuilhay varios documentos, sobre los nuevos cambios, para cada nueva version de python 3, pero hasta donde se, no una sobre las diferencias entre por ejemplo python 2.7 y python 3.220:51
chilicuilaunque la liga que les di hace rato sobre porting a python esta muy cerca20:52
chilicuilsientanse libres de preguntar, cualquier cosa mientras comento esta lista20:53
chilicuilmcuhas partes de la libreria standard 'stdlib' han sido modificadas20:53
chilicuillo que significa que algunos modulos antiguos, y modulos que estaban siendo actualizados, fueron finalmente eliminados20:54
chilicuilmuchos de estos modulos no los extrañaran, a menos que esten haciendo procesamiento de imagenes sobre irix, en cuyo caso preguntaria, que estan haciendo aqui? =)20:55
chilicuilmuchos otros modulos, han cambiado de ubicacion, algunos otros los movieron a paquetes20:55
chilicuilpor ejemplo, la funcion urlparse() ahora es parte de urllib.parse.urlparse()20:55
chilicuilpara conocer todas estas diferencias, la mejor guia que pueden revisar es http://docs.python.org/py3k/library/~20:56
chilicuilalgunas funciones integradas en python tambien han sido modificadas o removidas del todo20:56
chilicuilpor ejemplo, la funcion reload() se puso en imp.reload()20:57
chilicuilpara las funciones que se han eliminado, y que son de este tipo, existen generalmente buenas alternativas20:57
chilicuilpor ejemplo, la funcion callable() se quito, pero ahora pueden si la funcion existe, llamandola ;), o a través del modulo 'inspect'20:59
chilicuilotro gran cambio, que me trajo muchos problemas, al menos hasta que aprendi la nueva forma (y despues de empezar a usar "from __future__ import print_function" en mi codigo py2)21:01
chilicuilfue que la funcion el predicado 'print' se ha convertido en funcion, por ejemplo: print('hello world')21:01
chilicuilesto fue muy problematico, pero tiene mucho sentido, eventualmente ustedes tambien comprenderan por que el cambio :)21:02
chilicuilrecuerdan como python2 solia tener 2 tipos de clases?, las clasicas y las nuevas?21:02
chilicuilbueno, con py3, se eliminaron las clasicas21:03
chilicuillo que significa que ya no tiene que heredar de objetos21:03
chilicuilo usar el truco "__metaclass__ = type" para obtener las geniales caracteristicas de las clases con 'el nuevo estilo'21:05
chilicuilasi que supongo, que ahora tendremos que dejarle de llamar 'el nuevo estilo', puesto que es el unico que queda =)21:05
chilicuilpy2 solia tener 2 tipos de enteros, int y long21:06
chilicuilpy3 ha eliminado long, asi que solo queda 'int'21:06
chilicuilautomaticamente se encarga de como representar internamente los enteros pequeños y grandes21:07
chilicuiltambien se elimino el sufijo 'L' para los enteros21:07
chilicuiljsjgruber-l82-p ha preguntado si existen algun tipo de float que tenga una presicion elevada en py321:10
chilicuilbarry responde que si, pero que el hace muy pocos calculos en python, asi que no puede darle una referencia exacta21:11
chilicuilagrega, que conoce un tipo 'decimal', pero que no esta accesible por defecto21:11
chilicuilsiguiendo con la lista, los metodos de dict.iter*() ya no existen en python3, es decir, ya no existen mas las funciones .iterkeys(), .itervalues(), o .iteritems()21:12
chilicuilpara estos casos, se puede usar .keys(), este metodo devuelve iteradores y *no* listas concretas21:13
chilicuilasi que probablemente tendran que analizar el valor que regrese, list(dict.values())21:14
chilicuilla sintaxis para capturar excepciones se cambio (algunso de estos cambios tambien se hicieron en py2.6 y py2.7)21:14
chilicuil"except Foo, e" se cambio por21:19
chilicuil"except Foo as e"21:19
chilicuilexec tambien se convirtio en funcion, exec()21:20
chilicuilfile() se quito, y en su lugar se recomienda el uso de open()21:20
chilicuiltambien se elimino xrange(), para los que deseen una funcionalidad similar, tendra que regresar a range(), que ahora devuelve un iterador21:21
chilicuilfilter() y map() tambien devuelven interadores21:21
chilicuiluna vez mas, para las funciones que devuelven iteradores, tienen que usar list() para crear una lista concreta21:21
chilicuillos imports absolutos ahora son los que usan por defecto, asi que tendran que hacer explicito su deseo de usar imports relativos21:22
chilicuil1/2 ahora regresa 0.521:23
chilicuil1 / 2 ahora regresa 0.521:23
chilicuil1/2 (junto) devuelve la vieja forma de representar los flotantes21:23
chilicuilcoalitians pregunta como y donde tienen que estar para ser parte de la comunidad de python en Ubuntu21:24
chilicuilbarry responde que sugiere entrar al canal #debian-python en OFTC, a #ubuntu-devel y a #python (estas ultimas 2 en freenode)21:25
chilicuily aclara que no existe un foro unicamente para python en Ubuntu, aunque considera que deberia existir uno21:25
chilicuilNickE68 pregunta si existe una lugar donde se listen los paquetes que necesiten ser portados a Ubuntu 13.0421:26
chilicuilbarry: responde que si, y da las siguiente ligas21:27
chilicuilhttps://docs.google.com/a/canonical.com/spreadsheet/ccc?key=0AiT4gOXSkmapdFA1anRkWERsaXgtWnllUG9QWXhDVWc&pli=1#gid=021:27
chilicuilhttps://blueprints.launchpad.net/ubuntu/+spec/foundations-q-python-versions21:27
chilicuilhttps://wiki.ubuntu.com/Python/FoundationsQPythonVersions21:27
chilicuilademas de eso, invita a lo contacten en #ubuntu-devel para mayor informacion, estara feliz de ayudar21:27
chilicuilcon eso termina la excelente sesion de barry =)21:28
chilicuilahora, tomare 10 minutos, y regresare a subir los logs a la wiki, y a interpretar las sesiones que hicieron falta, Daniel Holbach "Introduccion al desarrollo de Ubuntu"21:29
joshua1983buenas tardes, ya estan listas las traducciones en irclogs.ubuntu?21:45
chilicuiljoshua1983: hola, joshua, si, varias de ellas, http://irclogs.ubuntu.com/2012/08/28/%23ubuntu-classroom-es.html , ahora mismo, estoy actualizando la wiki para reflejar los cambios21:51
chilicuilcomienzo con la interpretacion de "Introduccion al desarrollo de Ubuntu", por Daniel Holbach22:18
chilicuilantes de comenzar me gustaria dar unos cuantos tips, que les ayudara a disfrutar del evento22:19
chilicuilprimero, asegurense de entrar a #ubuntu-classroom-chat22:19
chilicuil#ubuntu-classroom es solo para la clase, la platica y preguntes se hacen en #ubuntu-classroom-chat22:20
chilicuilsi tienen alguna pregunta, haganla usando el prefijo QUESTOIN:22:20
chilicuilejemplo, QUESTION: Can you recommend any good music for a late-night hacking session?22:21
chilicuilsi tienen problemas para hacer su pregunta en ingles, haganla en este canal, y con gusto les ayudaremos a hacerla en la sesion original22:21
chilicuiltambien, es buena idea que revisen https://wiki.ubuntu.com/UbuntuDeveloperWeek si desean conocer el calendario de las charlas que se estaran haciendo22:22
chilicuildos de las preguntas más frecuentes que se hacen son: 1.- abran logs disponibles?22:22
chilicuilpara esa pregunta, la respuesta es si, se pondran en https://wiki.ubuntu.com/UbuntuDeveloperWeek/22:22
chilicuilpara la interpretacion, los logs estaran disponibles en https://wiki.ubuntu.com/SemanaDesarrollador22:23
chilicuilla segunda pregunta es: 'como puedo ignorar todo el ruido que se genera, cuando las personas y entran de la sala?'22:23
chilicuilpara esa pregunta, la respuesta es, escriban "/ignore #ubuntu-classroom CRAP NOTICES SNOTES CTCPS JOINS PARTS QUITS KICKS MODES WALLOPS NICKS DCC DCCMSGS CLIENTNOTICES CLIENTCRAP CLIENTERRORS HILIGHTS" en la ventana de este canal22:24
chilicuilsin el " obviamente22:24
chilicuilen fin, eso es todo lo que dire, sobre aspecto organizacionales, que comiencen las sesiones! =)22:25
chilicuilmi nombre es Daniel Holbach, he estado trabajando en Ubuntu por casi todo el tiempo que lleva existiendo y siempre me ha gustado nuestra comunidad de desarrolladores22:26
chilicuilhe trabajado durante años para canonical, comence en el equipo Desktop, y después como parte de nuestra comunidad de desarrolladores22:28
chilicuildurante esta sesion, les mostrare como funciona en general el desarrollo de Ubuntu22:29
chilicuilal principio parecera un caos, puesto que siempre hay personas modificando cosas por todos lados, sin embargo, pronto se daran cuenta de lo facil que es :)22:29
chilicuiltambien me gustaria responde la mayor cantidad de preguntas posibles22:30
chilicuilsi voy demasiado rapido, o lo que digo no les hace sentido, comentenlo =)22:30
chilicuilUbuntu esta hecho de miles de diferentes programas, todas ellos escritos en diferentes lenguajes, cada componente - ya sea una libreria de software, una herramienta del sistema, o una aplicacion grafica, esta disponible como un paquete, y el codigo fuente de dicha aplicacion integrado en el22:32
chilicuillos paquetes de codigo fuente consisten en la mayoria de los casos, de 2 partes, el codigo fuente en si, y metadatos que describen el paquete, esto incluye las dependencias, el copyrigh y las instrucciones sobre como compilar el programa22:33
chilicuiluna vez que el paquete se compila, el proceso de construccion creara un paquete binario, estos paquetes binarios son los archivos .deb que los usuarios instalan22:34
chilicuilcada vez que se libera una nueva version del programa, o que alguien hace una modificación, el paquete debe subirse a Launchpad, ahi, sera recompilado22:36
chilicuillos paquetes .deb que resulten, seran distribuidos a traves del archivo y los diferentes mirros de ubuntu alrededor del mundo. Las urls que se encuentran en /etc/apt/sources.list apuntan a esos repositorios22:37
chilicuiltodos los dias, diferentes imagenes de Ubuntu se crean, por ejemplo, ubuntu desktop, ubuntu server, kubuntu, etc. Estas imagenes para CD se utilizan para hacer pruebas y hacer comentarios sobre los planes de lanzamiento22:38
chilicuilcomo nota al margen, debo mencionar que durantes los ultimos 2-3 ciclos, hemos comenzado a crear un enorme laboratorio de QA, en el se varias pruebas en toda clase de programas, esto obviamente tambien es tomado en cuenta para modificar los planes de lanzamiento22:41
chilicuilel desarrollo en Ubuntu, depende de alguna forma, del estado del ciclo en el que se este22:41
chilicuilliberamos una nueva version de Ubuntu cada 6 meses, esto solo es posible debido a que establecemos fechas estrictas donde prohibimos hacer mas cambios (freeze dates)22:42
chilicuilcon cada nueva de estas fechas, se va sugiriendo a los desarrolladores introducir menos modificaciones22:43
chilicuilsi hechan un vistazo a https://wiki.ubuntu.com/QuantalQuetzal/ReleaseSchedule veran las fechas importantes para la version actual de Ubuntu, la 12.1022:44
chilicuilcomo podran ver, acabamos de pasar la fecha de congelamiento (feature freeze)22:46
chilicuilesta fecha, es la primera de las que se daran para detener el desarrollo, y se da despues de haber avanzado la mitad del ciclo. Despues de esta fecha, la mayoria de las caracteristicas que contendra la proxima version de Ubuntu deberan estar hechas, el resto del ciclo se utiliza para pulir la distribucion, y para corregir los bugs que se encuentren22:47
chilicuildespues de esta fecha, se empiezan a prohibir cambios en la interfaz grafica, en la documentacion, en el kernel, etc.., una vez hecho esto, se liberan las versiones beta, las cuales se prueban en gran cantidad de usuarios debido a su madurez22:49
chilicuily se comienzan a solucionar unicamente los errores criticos, cuando ya no hay mas errores importantes, se convierte en la version final, y esa es la que se pone a disposicion del publico en general22:51
chilicuilalguna pregunta hasta el momento?22:51
chilicuilmarcos pregunta si QA significa 'Question and Answer' o 'Pregunta y respuesta'22:52
chilicuila lo que dholbach responde que de hecho significa 'Quality Assurance' o 'Aseguramiento de la calidad'22:53
chilicuillo que a su vez significa que es donde se hacen toda clase de pruebas, tanto automaticas como manuales, tambien es donde se hacen pruebas de la integridad de los CD, y donde se verifica que los sistemas son instalables, entre otras cosas22:54
chilicuilQA es lo que hace que Ubuntu en lugar de ser bueno, sea excelente22:55
chilicuilconner_bw pregunta sobre el criterio para definir que 'ya no hay ningun problema critico'22:55
chilicuildholbach responde que aunque no hay un criterio extremadamente formal, el que se pierdan datos, o que existan aplicaciones cruciales que no funcionen (y con aplicaciones cruciales se definen las que vienen en un sistema Ubuntu por defecto) es sin duda un critero que se toma en cuenta para decidir si esta o lista la distribucion22:58
chilicuilagmenor_ pregunta sobre la version de Ubuntu que tiene que correr si el un desarrollador de aplicaciones22:59
chilicuildholbach responde que en su caso, seria suficiente que usara la ultima version estable, es decir, la version 12.0422:59
chilicuilaunque si desea modificar a Ubuntu directamente, necesita correr la ultima version en desarrollo, es decir Ubuntu 12.1023:00
chilicuilesto es, porque los cambios que se hacen deben probarse antes de su inclusion23:01
chilicuilpaulo_gomes pregunta que es lo que pasa, cuando una nueva aplicacion es liberada, pasada la fecha de congelamiento de ubuntu, se tiene que esperar hasta la proxima version de Ubuntu?23:02
chilicuildholbach responde que depende, si el software es liberado antes de la fecha de congelamiento, puede incluirse sin problemas, si es una actualizacion que arregla problemas importantes, puede que pase incluso despues de la fecha de congelamiento de Ubuntu, sin embargo, conforme vayan pasando los dias, cada vez sera mas dificil convencer al equipo que se encarga de la liberacion (el release team)23:05
chilicuilesto es por una buena razon: se necesita tiempo para probar las cosas23:05
chilicuilhablare sobre eso, un poco mas adelante23:06
chilicuilconner_bw vuelve a preguntar sobre el criterio para definir los errores criticos que impiden el lanzamiento de Ubuntu, esto lo hace, porque usando 12.04 esta inscrito a algunos bugs que a su consideracion son muy importantes, y que no detuvieron que Ubuntu precise se liberara, por ejemplo la integracion del launcher de LibreOffice23:07
chilicuildholbach responde que algunas veces se tienen que tomar decisiones que permitan liberar Ubuntu el día en el que esta marcado, este proceso no es facil, pero tiene que hacerse23:08
chilicuilLiverpudlian pregunta si las aplicaciones se desarrollan de diferente manera cuando se crean para versiones LTS23:10
chilicuilobounaim pregunta sobre la ulr del equipo QA23:10
chilicuildholbach da la liga https://wiki.ubuntu.com/QATeam/ y sugiere que se lea como introduccion23:11
chilicuildholbach responde a Liverpudlian que definitivamente, y agrega que muchas personas deciden utilizar esas versiones por mucho tiempo, asi que los autores se esfuerzan por hacer que sus aplicaciones sean incluidas23:13
chilicuilC1sM0 pregunta si los archivos .deb se crean automaticamente una vez que el codigo fuente se sube a launchpad23:14
chilicuildholbach responde que si, aunque eso puede tardar un poco, porque se organizan en filas, debido a la falta de maquinas asignadas para compilar que se tienen en launchpad23:15
chilicuilsin embargo, la espera comunmente es de menos de 1 hr23:15
chilicuilnja pregunta porque la seccion de trabajo en el calendario de lanzamiento de quantal dice A-2 en lugar de A-123:16
chilicuildholbach responde que realmente no esta seguro, y pregunta si se refiere a lo que aparece en http://status.ubuntu.com/ubuntu-quantal/23:17
chilicuilsugiere que tal vez se deba a que la ultima liberacion intermedia fue Alpha 2, aunque confirma que no tiene idea23:18
chilicuilmarcos pregunta si el concurso App Showdown acepta aplicaciones privativas / comerciales23:18
chilicuildholbach responde que hasta donde sabe, no23:19
chilicuildholbach pide que por el momento, las preguntas y la charla se centre en el desarrollo de Ubuntu por si mismo, y se deje el tema de las aplicaciones para las siguientes sesiones, agrega que parte de lo que ahora mismo se discute (como las fechas de congelamiento) aplican para ambos temas23:21
chilicuil_et pregunta si usan C-I para compilar los paquetes23:21
chilicuildholbach responde que no conoce de C-I, pero que todos los programas, se compilan en launchpad, que es un plataforma de software libre hecha a partir de Zope/Python, y que el sistema de compilacion por si mismo se hace con la ayuda de 'sbuild'23:22
chilicuilziviani pregunta sobre la personas que definen las caracteristicas que se implementan en un cilo, y tambien sobre que pasa, con aquellas que no pudieron implementarse antes de la fecha de congelamiento (freeze date)23:23
chilicuildholbach responde que aquellas caracteristicas que no pueden completarse, se dejan para el siguiente ciclo, y que las decisiones sobre lo que se hace las toma el equipo de lanzmiento (el release team), y los respectivos lideres de los sub equipos de ubuntu23:24
chilicuilnja pregunta porque la aplicacion Lernid tiene integrada una terminal23:25
chilicuildholbach responde que es porque cuando los ponentes deciden hacer algun ejercicio, los asistentes pueden correrlo en su sistema23:26
chilicuilmarcos pregunta si las versiones estables, como Ubuntu 12.04.1 aceptan nuevas caracteristicas23:27
chilicuildholbach responde que no, que lo "unico" que se acepte son actualizaciones de seguridad, correccion de errores pequeños, nuevas traducciones y cuestiones por el estilo, que sean seguras de implementar23:29
chilicuily agrega que con los recursos actuales es muy dificil concentrarte en ambas versiones (la 12.04 y la 12.10 por poner un ejemplo)23:30
chilicuilHenrich pregunta si existe una lista donde pueda ver las maquinas que crean los paquetes23:30
chilicuildholbach responde que si, y le pasa el link https://launchpad.net/builders/23:31
chilicuiltambien agradece la avalancha de preguntas =)23:31
chilicuilasegura que aunque sus dedos le duelen, aun no ve sangre, asi que cree seguro continuar23:31
chilicuilmiles de aplicaciones, billones de lineas de codigo, cientos de colaboradores, requieren mucha comunicacion y planeacion para mantener altos niveles de calidad23:32
chilicuilasi que al comienzo de cada ciclo, se organiza el Ubuntu developer Summit, donde tanto desarrolladores como contribuiores se reunen para hablar sobre las caracteristicas de la siguiente version de Ubuntu23:34
chilicuilcada idea se discute, y se toman anotaciones sobre la informacion requerida para implementarla, de los cambios que se necesitan hacer en otros lugares, del plan para probarla, etc23:35
chilicuiltodo esto se hace en un ambiente abierto y transparente, asi que incluso cuando no puedan asistir en persona, siempre pueden participar en linea, escuchar los streamcast, hablar con los asistentes y suscribirse a la lista de modificaciones y especificaciones de cada tema, de esta forma, siempre pueden mantenerse al dia23:38

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!