Congratulations!

[Valid Atom 1.0] This is a valid Atom 1.0 feed.

Recommendations

This feed is valid, but interoperability with the widest range of feed readers could be improved by implementing the following recommendations.

Source: http://feeds.feedburner.com/TantasCosasParaHacerYTanPocoTiempo

  1. <?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6706929</id><updated>2024-11-08T12:00:46.984-03:00</updated><category term="olpc"/><category term="sugar"/><category term="sugarlabs"/><category term="7D7S"/><category term="formacion"/><title type='text'>Tantas cosas para hacer y tan poco tiempo!</title><subtitle type='html'>Esta es una ayuda memoria personal e intento de comunicarme con gente a la que le interesen estos temas.&#xa;Gonzalo Odiard (godiard en gmail.com)</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://godiard.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://godiard.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02412149415810582119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>115</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6706929.post-3857434462789134479</id><published>2015-01-03T03:52:00.000-03:00</published><updated>2015-01-03T03:52:14.223-03:00</updated><title type='text'>2014 at work</title><content type='html'>Time to do a balance, at least related to the work I did in the year.&lt;br /&gt;
  2. As I found difficult remember all I did in the year, and we moved to &lt;a href=&quot;https://github.com/godiard&quot;&gt;GitHub&lt;/a&gt;,did a few scripts and used the statistics provided by the site.&lt;br /&gt;
  3. &lt;br /&gt;
  4. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
  5. &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5d43v6-NAulIlBoVopCNbJ-F3qpaLyvafy_46N7J9Kp7IckFUa9vcoany_5-6joqynqW84YnpStWnsQXag1WSe9jCiJ5uVnqRvmz4Gv6rQt8JM8FZocC30_-9CQ1qWYgcBj33/s1600/2014-contributions.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5d43v6-NAulIlBoVopCNbJ-F3qpaLyvafy_46N7J9Kp7IckFUa9vcoany_5-6joqynqW84YnpStWnsQXag1WSe9jCiJ5uVnqRvmz4Gv6rQt8JM8FZocC30_-9CQ1qWYgcBj33/s1600/2014-contributions.png&quot; height=&quot;249&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
  6. &lt;br /&gt;
  7. First, a disclaimer. Measure work in commits as any other way of measure,have a very relative value. Different work have difficult than can&#39;t be compared. In my case, work in activities usually is much easier and fast than work in the toolkit or Sugar. At times reviews and testing the work of other takes a lot of time, and so. But these are the numbers I have, then, let&#39;s play with that.&lt;br /&gt;
  8. &lt;br /&gt;
  9. This is a distribution of the commits in the different repositories I maintain:&lt;br /&gt;
  10. &amp;nbsp;&lt;br /&gt;
  11. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
  12. &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8_lKy7PCqsE2zqI0cp0ITNFo9_AT2CZFNLiqXeEIjP4zXgI7kvhG-PPe5S2Vy94kzZrzvJMKRflVeoZrxFfDeur7s2z30QhnKkliGarHrXAwhyphenhyphenv_ObQXRqf_ABCo9fE6DDGDy/s1600/pie.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8_lKy7PCqsE2zqI0cp0ITNFo9_AT2CZFNLiqXeEIjP4zXgI7kvhG-PPe5S2Vy94kzZrzvJMKRflVeoZrxFfDeur7s2z30QhnKkliGarHrXAwhyphenhyphenv_ObQXRqf_ABCo9fE6DDGDy/s1600/pie.png&quot; height=&quot;432&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
  13. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
  14. &lt;br /&gt;&lt;/div&gt;
  15. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  16. Of course, many hackers contributed to these projects. From the logs I can find to: Aneesh Dogra, Cristian García,Daksh Shah,gauravp94, Goutam, Guillermo Trinidad,Ignacio Rodríguez, James Cameron, Martin Abente Lahaye, Sai Vineet, Sam Parkinson and Sebastian Silva. Paul Cotton provided improved designs for many activities.&lt;/div&gt;
  17. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  18. &lt;br /&gt;&lt;/div&gt;
  19. &lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
  20. My &lt;a href=&quot;https://osrc.dfm.io/godiard/&quot;&gt;Open Source Report Card&lt;/a&gt; say I am one of the 8% most active Python users... I suppose that is pretty good, but more than nothing, could be because I have the fortune of do all my work in the open.&lt;/div&gt;
  21. &lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
  22. &lt;br /&gt;&lt;/div&gt;
  23. &lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
  24. This year, I released a version of art4apps module, and new versions of Develop, Domino, Finance, FotoToon, Help, ImageViewer, Log, Maze, Memorize, Poll and Read. Many improvements in these activities were developed by students participating in Google Summer of Code and Google Code In contests.&lt;/div&gt;
  25. &lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
  26. &lt;br /&gt;&lt;/div&gt;
  27. &lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
  28. I was lucky to of participate in the Young Hackers Summit in Montevideo, and travel to San Francisco to represent SugarLabs in the Google CodeIn Summit with the contest winners Ignacio Rodríguez and &amp;nbsp;Jorge Gomez.&lt;/div&gt;
  29. &lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
  30. &lt;br /&gt;&lt;/div&gt;
  31. &lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
  32. Finally, I am happy to note we organized with the help of Manuel Quiñones and Martin Abente the first &lt;a href=&quot;http://wiki.sugarlabs.org/go/Background_Contest/Results&quot;&gt;SugarLabs Backgrounds Contest&lt;/a&gt;&amp;nbsp;and that backgrounds will be available in the next version of Sugar.&lt;/div&gt;
  33. &lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
  34. &lt;br /&gt;&lt;/div&gt;
  35. </content><link rel='replies' type='application/atom+xml' href='http://godiard.blogspot.com/feeds/3857434462789134479/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6706929/3857434462789134479?isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/3857434462789134479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/3857434462789134479'/><link rel='alternate' type='text/html' href='http://godiard.blogspot.com/2015/01/2014-at-work.html' title='2014 at work'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02412149415810582119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5d43v6-NAulIlBoVopCNbJ-F3qpaLyvafy_46N7J9Kp7IckFUa9vcoany_5-6joqynqW84YnpStWnsQXag1WSe9jCiJ5uVnqRvmz4Gv6rQt8JM8FZocC30_-9CQ1qWYgcBj33/s72-c/2014-contributions.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6706929.post-1112452052303270501</id><published>2014-09-08T14:10:00.000-03:00</published><updated>2014-09-08T14:10:21.784-03:00</updated><title type='text'>Cumbre Juvenil - Montevideo, Uruguay (September 20 a 23 de 2014)</title><content type='html'>&lt;div style=&quot;background-color: white; border: medium none; color: #222222; font-family: arial, sans-serif; font-size: 12.8000001907349px; margin-bottom: 0cm; padding: 0cm;&quot;&gt;
  36. Comparto invitación al evento&lt;/div&gt;
  37. &lt;div style=&quot;background-color: white; border: medium none; color: #222222; font-family: arial, sans-serif; font-size: 12.8000001907349px; margin-bottom: 0cm; padding: 0cm;&quot;&gt;
  38. &lt;br /&gt;&lt;/div&gt;
  39. &lt;div lang=&quot;en-US&quot; style=&quot;background-color: white; border: medium none; color: #222222; font-family: arial, sans-serif; font-size: 12.8000001907349px; margin-bottom: 0cm; padding: 0cm;&quot;&gt;
  40. &lt;/div&gt;
  41. &lt;div style=&quot;background-color: white; border: medium none; color: #222222; font-family: arial, sans-serif; font-size: 12.8000001907349px; margin-bottom: 0cm; padding: 0cm;&quot;&gt;
  42. &lt;span lang=&quot;en-US&quot;&gt;&lt;i&gt;Queridos colegas,&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
  43. &lt;div lang=&quot;en-US&quot; style=&quot;background-color: white; border: medium none; color: #222222; font-family: arial, sans-serif; font-size: 12.8000001907349px; margin-bottom: 0cm; padding: 0cm;&quot;&gt;
  44. &lt;/div&gt;
  45. &lt;div style=&quot;background-color: white; border: medium none; color: #222222; font-family: arial, sans-serif; font-size: 12.8000001907349px; margin-bottom: 0cm; padding: 0cm;&quot;&gt;
  46. &lt;span lang=&quot;en-US&quot;&gt;&lt;i&gt;ANEP (Administración Nacional de Educación Pública) y Sugar Labs se han propuesto organizar una&amp;nbsp;&lt;span class=&quot;il&quot; style=&quot;background: rgb(255, 255, 204);&quot;&gt;Cumbre&lt;/span&gt;&amp;nbsp;Mundial Juvenil de Programadores, un lugar de encuentro entre jóvenes de distintas partes del mundo que se encuentran trabajando en el desarrollo de software. Aprovechando este espacio de encuentro, queremos convocar a líderes de programas educativos interesados en el potencial que la tecnología tienen en el aprendizaje, y el promover participación auténtica de los estudiantes en este contexto.&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
  47. &lt;div lang=&quot;en-US&quot; style=&quot;background-color: white; border: medium none; color: #222222; font-family: arial, sans-serif; font-size: 12.8000001907349px; margin-bottom: 0cm; padding: 0cm;&quot;&gt;
  48. &lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;
  49. &lt;div style=&quot;background-color: white; border: medium none; color: #222222; font-family: arial, sans-serif; font-size: 12.8000001907349px; margin-bottom: 0cm; padding: 0cm;&quot;&gt;
  50. &lt;span lang=&quot;en-US&quot;&gt;&lt;i&gt;Quiénes deben participar:&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
  51. &lt;div style=&quot;background-color: white; border: medium none; color: #222222; font-family: arial, sans-serif; font-size: 12.8000001907349px; margin-bottom: 0cm; padding: 0cm;&quot;&gt;
  52. &lt;span lang=&quot;en-US&quot;&gt;&lt;i&gt;- Jóvenes de los diferentes programas educativos, que se hayan destacado por su interés en la programación y/o que hayan realizado contribuciones concretas al desarrollo del ambiente de aprendizaje Sugar.&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
  53. &lt;div style=&quot;background-color: white; border: medium none; color: #222222; font-family: arial, sans-serif; font-size: 12.8000001907349px; margin-bottom: 0cm; padding: 0cm;&quot;&gt;
  54. &lt;span lang=&quot;en-US&quot;&gt;&lt;i&gt;- Líderes de los programas, interesados en participar en una serie de reuniones estratégicas para definir el futuro del ambiente de aprendizaje Sugar.&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
  55. &lt;div lang=&quot;en-US&quot; style=&quot;background-color: white; border: medium none; color: #222222; font-family: arial, sans-serif; font-size: 12.8000001907349px; margin-bottom: 0cm; padding: 0cm;&quot;&gt;
  56. &lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;
  57. &lt;div style=&quot;background-color: white; border: medium none; color: #222222; font-family: arial, sans-serif; font-size: 12.8000001907349px; margin-bottom: 0cm; padding: 0cm;&quot;&gt;
  58. &lt;span lang=&quot;en-US&quot;&gt;&lt;i&gt;Por qué participar en este encuentro:&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
  59. &lt;div style=&quot;background-color: white; border: medium none; color: #222222; font-family: arial, sans-serif; font-size: 12.8000001907349px; margin-bottom: 0cm; padding: 0cm;&quot;&gt;
  60. &lt;span lang=&quot;en-US&quot;&gt;&lt;i&gt;- Para trabajar y aprender con jóvenes desarrolladores de Python, reconocidos internacionalmente,&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
  61. &lt;div style=&quot;background-color: white; border: medium none; color: #222222; font-family: arial, sans-serif; font-size: 12.8000001907349px; margin-bottom: 0cm; padding: 0cm;&quot;&gt;
  62. &lt;span lang=&quot;en-US&quot;&gt;&lt;i&gt;- Ayudar a definir el futuro del ambiente de aprendizaje Sugar y las futuras generaciones de software para aprendizaje,&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
  63. &lt;div style=&quot;background-color: white; border: medium none; color: #222222; font-family: arial, sans-serif; font-size: 12.8000001907349px; margin-bottom: 0cm; padding: 0cm;&quot;&gt;
  64. &lt;span lang=&quot;en-US&quot;&gt;&lt;i&gt;- Para conectar con expertos, convencidos del potencial de la tecnología en el desarrollo y aprendizaje de los jóvenes,&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
  65. &lt;div style=&quot;background-color: white; border: medium none; color: #222222; font-family: arial, sans-serif; font-size: 12.8000001907349px; margin-bottom: 0cm; padding: 0cm;&quot;&gt;
  66. &lt;span lang=&quot;en-US&quot;&gt;&lt;i&gt;- Para fortalecer la comunidad de usuarios del ambiente de aprendizaje Sugar alrededor del mundo.&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
  67. &lt;div lang=&quot;en-US&quot; style=&quot;background-color: white; border: medium none; color: #222222; font-family: arial, sans-serif; font-size: 12.8000001907349px; margin-bottom: 0cm; padding: 0cm;&quot;&gt;
  68. &lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;
  69. &lt;div style=&quot;background-color: white; border: medium none; color: #222222; font-family: arial, sans-serif; font-size: 12.8000001907349px; margin-bottom: 0cm; padding: 0cm;&quot;&gt;
  70. &lt;span lang=&quot;en-US&quot;&gt;&lt;i&gt;Todos los interesados en participar en este importante encuentro deben ponerse en contacto con nosotros inmediatamente. ANEP ha ofrecido financiación de gastos locales para los jóvenes que participarán en este evento.&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
  71. &lt;div style=&quot;background-color: white; border: medium none; color: #222222; font-family: arial, sans-serif; font-size: 12.8000001907349px; margin-bottom: 0cm; padding: 0cm;&quot;&gt;
  72. &lt;/div&gt;
  73. &lt;div style=&quot;background-color: white; border: medium none; color: #222222; font-family: arial, sans-serif; font-size: 12.8000001907349px; margin-bottom: 0cm; padding: 0cm;&quot;&gt;
  74. &lt;span lang=&quot;en-US&quot;&gt;&lt;i&gt;Cordialmente,&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
  75. &lt;div lang=&quot;en-US&quot; style=&quot;background-color: white; border: medium none; color: #222222; font-family: arial, sans-serif; font-size: 12.8000001907349px; margin-bottom: 0cm; padding: 0cm;&quot;&gt;
  76. &lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;
  77. &lt;div align=&quot;LEFT&quot; style=&quot;background-color: white; border: medium none; color: #222222; font-family: arial, sans-serif; font-size: 12.8000001907349px; margin-bottom: 0cm; margin-left: 0.03cm; padding: 0cm;&quot;&gt;
  78. &lt;span lang=&quot;en-US&quot;&gt;&lt;i&gt;José Miguel Garcia&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
  79. &lt;div style=&quot;background-color: white; border: medium none; color: #222222; font-family: arial, sans-serif; font-size: 12.8000001907349px; margin-bottom: 0cm; padding: 0cm;&quot;&gt;
  80. &lt;span lang=&quot;en-US&quot;&gt;&lt;i&gt;(ANEP)&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
  81. &lt;div lang=&quot;en-US&quot; style=&quot;background-color: white; border: medium none; color: #222222; font-family: arial, sans-serif; font-size: 12.8000001907349px; margin-bottom: 0cm; padding: 0cm;&quot;&gt;
  82. &lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;
  83. &lt;div style=&quot;background-color: white; border: medium none; color: #222222; font-family: arial, sans-serif; font-size: 12.8000001907349px; margin-bottom: 0cm; padding: 0cm;&quot;&gt;
  84. &lt;span lang=&quot;en-US&quot;&gt;&lt;i&gt;Walter Bender&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
  85. &lt;div style=&quot;background-color: white; border: medium none; color: #222222; font-family: arial, sans-serif; font-size: 12.8000001907349px; margin-bottom: 0cm; padding: 0cm;&quot;&gt;
  86. &lt;span lang=&quot;en-US&quot;&gt;&lt;i&gt;(Sugar Labs)&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
  87. &lt;div style=&quot;background-color: white; border: medium none; color: #222222; font-family: arial, sans-serif; font-size: 12.8000001907349px; margin-bottom: 0cm; padding: 0cm;&quot;&gt;
  88. &lt;span lang=&quot;en-US&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
  89. &lt;div style=&quot;background-color: white; border: medium none; color: #222222; font-family: arial, sans-serif; font-size: 12.8000001907349px; margin-bottom: 0cm; padding: 0cm;&quot;&gt;
  90. &lt;span lang=&quot;en-US&quot;&gt;Para incribirse solo deben ingresar al siguiente formulario:&lt;/span&gt;&lt;/div&gt;
  91. &lt;div style=&quot;background-color: white; border: medium none; color: #222222; font-family: arial, sans-serif; font-size: 12.8000001907349px; margin-bottom: 0cm; padding: 0cm;&quot;&gt;
  92. &lt;span lang=&quot;en-US&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
  93. &lt;div style=&quot;background-color: white; border: medium none; margin-bottom: 0cm; padding: 0cm;&quot;&gt;
  94. &lt;span lang=&quot;en-US&quot;&gt;&lt;span style=&quot;color: #222222; font-family: arial, sans-serif; font-size: x-small;&quot;&gt;&lt;a href=&quot;https://docs.google.com/forms/d/1w2pHuRZSeTr6_4WEe3gjj6LjgBqp7v_loxc_yqb9IL0/viewform&quot;&gt;https://docs.google.com/forms/d/1w2pHuRZSeTr6_4WEe3gjj6LjgBqp7v_loxc_yqb9IL0/viewform&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
  95. </content><link rel='replies' type='application/atom+xml' href='http://godiard.blogspot.com/feeds/1112452052303270501/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6706929/1112452052303270501?isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/1112452052303270501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/1112452052303270501'/><link rel='alternate' type='text/html' href='http://godiard.blogspot.com/2014/09/cumbre-juvenil-montevideo-uruguay.html' title='Cumbre Juvenil - Montevideo, Uruguay (September 20 a 23 de 2014)'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02412149415810582119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6706929.post-3909971910581294164</id><published>2014-04-03T10:01:00.002-03:00</published><updated>2014-04-03T10:01:15.678-03:00</updated><title type='text'>Que hay de nuevo en Sugar 0.100 y Sugar 0.102</title><content type='html'>Para nuestra charla mensual con docentes, organizada por Claudia Urrea, preparé dos videos, para mostrar que hay de nuevo en las últimas versiones de Sugar.&lt;br /&gt;
  96. &lt;br /&gt;
  97. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
  98. &lt;object width=&quot;320&quot; height=&quot;266&quot; class=&quot;BLOGGER-youtube-video&quot; classid=&quot;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&quot; codebase=&quot;http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0&quot; data-thumbnail-src=&quot;https://i1.ytimg.com/vi/Ot_T9impkNw/0.jpg&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;https://www.youtube.com/v/Ot_T9impkNw?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata&quot; /&gt;&lt;param name=&quot;bgcolor&quot; value=&quot;#FFFFFF&quot; /&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;&lt;embed width=&quot;320&quot; height=&quot;266&quot;  src=&quot;https://www.youtube.com/v/Ot_T9impkNw?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;
  99. &lt;br /&gt;
  100. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
  101. &lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;320&#39; height=&#39;266&#39; src=&#39;https://www.youtube.com/embed/10ljkueuBU0?feature=player_embedded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;
  102. </content><link rel='replies' type='application/atom+xml' href='http://godiard.blogspot.com/feeds/3909971910581294164/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6706929/3909971910581294164?isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/3909971910581294164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/3909971910581294164'/><link rel='alternate' type='text/html' href='http://godiard.blogspot.com/2014/04/que-hay-de-nuevo-en-sugar-0100-y-sugar.html' title='Que hay de nuevo en Sugar 0.100 y Sugar 0.102'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02412149415810582119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6706929.post-8536399688664798697</id><published>2014-04-03T09:58:00.000-03:00</published><updated>2014-04-03T09:58:17.920-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="olpc"/><category scheme="http://www.blogger.com/atom/ns#" term="sugar"/><category scheme="http://www.blogger.com/atom/ns#" term="sugarlabs"/><title type='text'>Concurso de fondos de pantalla de Sugarlabs</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
  103. &lt;a href=&quot;http://contest.sugarlabs.org/static/contest/img/home.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://contest.sugarlabs.org/static/contest/img/home.png&quot; height=&quot;236&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
  104. &lt;br /&gt;
  105. &lt;br /&gt;
  106. &lt;span style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13.333333969116211px;&quot;&gt;SugarLabs invita a participar del concurso para crear fondos de pantalla para la próxima version de Sugar.&lt;/span&gt;&lt;br /&gt;
  107. &lt;span style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13.333333969116211px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
  108. &lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13.333333969116211px;&quot;&gt;
  109. Ahora que en Sugar se puede cambiar el fondo de pantalla,&amp;nbsp;&lt;span style=&quot;font-size: 13.333333969116211px;&quot;&gt;sería genial poder acompañarlo con una colección del mejor arte hecho&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 13.333333969116211px;&quot;&gt;por nuestros usuarios. Creemos que es una forma de estimular&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 13.333333969116211px;&quot;&gt;las capacidades artísticas e involucrar a los niños en el proyecto&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 13.333333969116211px;&quot;&gt;de forma creativa.&lt;/span&gt;&lt;/div&gt;
  110. &lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13.333333969116211px;&quot;&gt;
  111. &lt;br /&gt;&lt;/div&gt;
  112. &lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13.333333969116211px;&quot;&gt;
  113. Se pueden crear las imágenes con cualquier actividad, Pintar, &lt;span style=&quot;font-size: 13.333333969116211px;&quot;&gt;Grabar, TortugArte, e inclusive con otros programas. &lt;/span&gt;&lt;span style=&quot;font-size: 13.333333969116211px;&quot;&gt;El concurso comienza el 1ro de Abril y termina el 31 de Mayo.&lt;/span&gt;&lt;/div&gt;
  114. &lt;div style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13.333333969116211px;&quot;&gt;
  115. &lt;div&gt;
  116. &lt;br /&gt;&lt;/div&gt;
  117. &lt;div&gt;
  118. Los invitamos a difundirlo para que participen la mayor cantidad&amp;nbsp;&lt;span style=&quot;font-size: 13.333333969116211px;&quot;&gt;de niños posible.&lt;/span&gt;&lt;/div&gt;
  119. &lt;div&gt;
  120. &lt;br /&gt;&lt;/div&gt;
  121. &lt;div&gt;
  122. El sitio del concurso es&amp;nbsp;&lt;a href=&quot;http://contest.sugarlabs.org/&quot; style=&quot;color: #1155cc;&quot; target=&quot;_blank&quot;&gt;http://contest.sugarlabs.&lt;wbr&gt;&lt;/wbr&gt;org/&lt;/a&gt;&lt;/div&gt;
  123. &lt;/div&gt;
  124. </content><link rel='replies' type='application/atom+xml' href='http://godiard.blogspot.com/feeds/8536399688664798697/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6706929/8536399688664798697?isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/8536399688664798697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/8536399688664798697'/><link rel='alternate' type='text/html' href='http://godiard.blogspot.com/2014/04/concurso-de-fondos-de-pantalla-de.html' title='Concurso de fondos de pantalla de Sugarlabs'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02412149415810582119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6706929.post-4957976595803138510</id><published>2013-09-06T09:18:00.002-03:00</published><updated>2013-09-06T09:18:41.932-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="olpc"/><category scheme="http://www.blogger.com/atom/ns#" term="sugar"/><category scheme="http://www.blogger.com/atom/ns#" term="sugarlabs"/><title type='text'>EDUJAM! 2013! - 10 a 13 Octubre - Asunción, Paraguay</title><content type='html'>Hola comunidad:&lt;br /&gt;  &lt;br /&gt;ceibalJAM! está organizando, en coordinación con Paraguay Educa, una edición de eduJAM 2013 en Asunción del Paraguay entre los días 10 y 13 de Octubre, en sincronía con el TurtleDay a realizarse en los mismos días. &lt;br /&gt;Los objetivos serán:&lt;br /&gt;1. Compartir experiencias entre varios deployments del mundo. &lt;br /&gt;2. Incentivar la formación de comunidades locales y fortalecer las ya existentes.&lt;br /&gt; 3. Conocer la actual situación de OLPC, Sugar, Turtle y proyectos del MIT.&lt;br /&gt;4. Estimular la participación de las comunidades locales en el proyecto global. &lt;br /&gt; &lt;br /&gt;Para ello vamos a trabajar a distintos niveles:&lt;br /&gt;1) Coordinar la organización con Paraguay Educa &lt;br /&gt;2) Búsqueda de sponsor para cubrir al menos parte de los costos del viaje al evento&lt;br /&gt;3) Proponer una serie de charlas y/o talleres a ser realizados por los asistentes de ceibalJAM! y otras organizaciones afines en el mundo. &lt;br /&gt; &lt;br /&gt;Convocamos a los interesados en dar charlas o talleres en el evento a hacer sus propuestas, y enviarlas a &lt;a href=&quot;mailto:edujam@googlegroups.com&quot;&gt;edujam@googlegroups.com&lt;/a&gt; hasta el día 13 de Setiembre. &lt;br /&gt; &lt;br /&gt;Asimismo, convocamos a los interesados en asistir al evento a indicarlo por mail a &lt;a href=&quot;mailto:edujam@googlegroups.com&quot;&gt;edujam@googlegroups.com&lt;/a&gt; Preguntas serán bienvenidas en este espacio. &lt;br /&gt; &lt;br /&gt;La información de los eventos estará pronto disponible en Internet. Les mantendremos informados de las novedades. &lt;br /&gt;  &lt;br /&gt;Comisión de organización - eduJAM! 2013&lt;br /&gt; Asociación civil ceibalJAM!&lt;br /&gt;&lt;br /&gt; ------&lt;br /&gt;&lt;br /&gt;Hello community:&lt;br /&gt;ceibalJAM! is organizing eduJAM 2013, in partnership with Paraguay Educa,. The event will held in Asuncion, Paraguay between October 10th and 13th. (International TurtleArt Day will be held concurrently.) &lt;br /&gt;&lt;br /&gt;The objectives are:&lt;br /&gt;1. Sharing experiences among global Sugar and OLPC deployments;&lt;br /&gt;2. Encouraging the creation of local communities and strengthening existing ones; &lt;br /&gt;3. Getting updates on the current activities of OLPC, Sugar, TurtleArt and technology and learning projects of MIT;&lt;br /&gt;4. Encouraging the participation of local communities in the overall project. &lt;br /&gt;&lt;br /&gt;We are currently working on several themes:&lt;br /&gt;1) Coordinating between Paraguay Educa and Plan Ceibal; &lt;br /&gt;2) Searching for sponsorship to cover at least part of the costs of travel to the event;&lt;br /&gt;3) Proposing a series of conferences and workshops by ceibalJAM! And other related organizations. &lt;br /&gt;
  125. &lt;br /&gt;We invite all those interested in giving lectures and workshops at the event to send proposals to &lt;a href=&quot;mailto:edujam@googlegroups.com&quot;&gt;edujam@googlegroups.com&lt;/a&gt; by September 13th. &lt;br /&gt;Also, we invite those interested in attending the event to email us at &lt;a href=&quot;mailto:edujam@googlegroups.com&quot;&gt;edujam@googlegroups.com&lt;/a&gt;. Additional event information will be available soon. Questions are most welcome!. &lt;br /&gt;&lt;br /&gt;Organizing Committee - edujam! 2013</content><link rel='replies' type='application/atom+xml' href='http://godiard.blogspot.com/feeds/4957976595803138510/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6706929/4957976595803138510?isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/4957976595803138510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/4957976595803138510'/><link rel='alternate' type='text/html' href='http://godiard.blogspot.com/2013/09/edujam-2013-10-13-octubre-asuncion.html' title='EDUJAM! 2013! - 10 a 13 Octubre - Asunción, Paraguay'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02412149415810582119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6706929.post-8068037678048414903</id><published>2013-07-21T20:51:00.001-03:00</published><updated>2013-07-21T20:52:23.427-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="olpc"/><category scheme="http://www.blogger.com/atom/ns#" term="sugar"/><category scheme="http://www.blogger.com/atom/ns#" term="sugarlabs"/><title type='text'>Sugar programming: Improvements in ObjectChooser</title><content type='html'>A few little improvement will be available for activity programmers in Sugar 0.100. Some are related with the ObjectChoooser.&lt;br /&gt;
  126. &lt;br /&gt;
  127. The first is a more powerful filter. Previously, you could select one of the generic type of files defined (Text,Image, Audio, Video, Link) or a activity id. The generic types were defined as a collection of mime types, the user can&#39;t modify. In the case of filter by activity, the ObjectChooser will show all the objects opened or created by the activity. The election of what filter type use was automatic, then the programmer could do:&lt;br /&gt;
  128. &lt;br /&gt;
  129. &lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;chooser = ObjectChooser(self._activity, what_filter=&#39;Image&#39;)&lt;/span&gt;&lt;br /&gt;
  130. &lt;br /&gt;
  131. or&lt;br /&gt;
  132. &lt;br /&gt;
  133. &lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;chooser = ObjectChooser(self._activity, what_filter=.get_bundle_id())&lt;/span&gt;&lt;br /&gt;
  134. &lt;br /&gt;
  135. This was simple but had problems. Some activities can open file types with mime types different to the generic defined types, by example, the Text files supported by Read activity were different than the Text files supported by Write activity. Jukebox activity can open Audio &amp;amp; Video files, but ObjectChooser can open only one type at time. There are a few variations of TurtleArt activities, and all can open the same files.&lt;br /&gt;
  136. &lt;br /&gt;
  137. We decided improve this in two ways:&lt;br /&gt;
  138. * Add a new filter mode, where the developer can select the activity id, and the ObjectChooser will filter all the objects with mime types than the activity can open (Sugar knows what mime types can open the activity because is defined in the activity.info file)&lt;br /&gt;
  139. * The developer now should select explicitly the filter type, instead of let the ObjectChooser guess. In this way we can add more filter types in the future too.&lt;br /&gt;
  140. &lt;br /&gt;
  141. Now the call to the ObjectChooser can be:&lt;br /&gt;
  142. &lt;br /&gt;
  143. &lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try:&lt;/span&gt;&lt;br /&gt;
  144. &lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; chooser = ObjectChooser(parent=self,&lt;/span&gt;&lt;br /&gt;
  145. &lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; what_filter=self.get_bundle_id(),&lt;/span&gt;&lt;br /&gt;
  146. &lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; filter_type=FILTER_TYPE_MIME_BY_ACTIVITY)&lt;/span&gt;&lt;br /&gt;
  147. &lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; except:&lt;/span&gt;&lt;br /&gt;
  148. &lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; chooser = ObjectChooser(parent=self,&lt;/span&gt;&lt;br /&gt;
  149. &lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; what_filter=mime.GENERIC_TYPE_TEXT)&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
  150. &lt;br /&gt;
  151. In this case, Read activity will open all the objects defined in the activity.info file.&lt;br /&gt;
  152. The except is for compatibility with old versions of Sugar.&lt;br /&gt;
  153. &lt;br /&gt;
  154. Another case should be:&lt;br /&gt;
  155. &lt;br /&gt;
  156. &lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; chooser = ObjectChooser(self._activity, what_filter=&#39;Image&#39;,&lt;/span&gt;&lt;br /&gt;
  157. &lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; filter_type=FILTER_TYPE_GENERIC_MIME)&lt;/span&gt;&lt;br /&gt;
  158. &lt;br /&gt;
  159. returning all the Image files, or:&lt;br /&gt;
  160. &lt;br /&gt;
  161. &lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; chooser = ObjectChooser(parent=self,&lt;/span&gt;&lt;br /&gt;
  162. &lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; what_filter=self.get_bundle_id(),&lt;/span&gt;&lt;br /&gt;
  163. &lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; filter_type=FILTER_TYPE_ACTIVITY)&lt;/span&gt;&lt;br /&gt;
  164. &lt;br /&gt;
  165. to get all the objects created or edited by the activity.&lt;br /&gt;
  166. &lt;br /&gt;
  167. Another improvement is the posibility of display the previews in the objects, specially useful when the user need select one image from the Journal to use in a activity, like in Paint,Write, Fototoon or Memorize.&lt;br /&gt;
  168. &lt;br /&gt;
  169. &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; chooser = ObjectChooser(self._activity, what_filter=&#39;Image&#39;,&lt;br /&gt;
  170. &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; filter_type=FILTER_TYPE_GENERIC_MIME,&lt;br /&gt;
  171. &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; show_preview=True)&lt;br /&gt;
  172. &lt;br /&gt;
  173. Will show something like this:&lt;br /&gt;
  174. &lt;br /&gt;
  175. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
  176. &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkwHeLozIH8ftg0If2Bhao2TnFbul277-JNrAt_Kq9Ccg9R-w2dBX5rbeTnrbbX15OOD-QDUPic9j_YzPX0kHbb-lhjf67CiETyhbejlBA3svUorKGtdQncQypT_JE9fPPcStd/s1600/Screenshot+from+2013-07-19+13:01:15.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;222&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkwHeLozIH8ftg0If2Bhao2TnFbul277-JNrAt_Kq9Ccg9R-w2dBX5rbeTnrbbX15OOD-QDUPic9j_YzPX0kHbb-lhjf67CiETyhbejlBA3svUorKGtdQncQypT_JE9fPPcStd/s400/Screenshot+from+2013-07-19+13:01:15.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
  177. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
  178. &lt;br /&gt;&lt;/div&gt;
  179. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  180. Finally, ObjectChooser startup time was improved.&amp;nbsp;&lt;/div&gt;
  181. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
  182. These are only part of the changes available soon in Sugar 0.100, stay tuned.&amp;nbsp;&lt;/div&gt;
  183. </content><link rel='replies' type='application/atom+xml' href='http://godiard.blogspot.com/feeds/8068037678048414903/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6706929/8068037678048414903?isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/8068037678048414903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/8068037678048414903'/><link rel='alternate' type='text/html' href='http://godiard.blogspot.com/2013/07/sugar-programming-improovements-in.html' title='Sugar programming: Improvements in ObjectChooser'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02412149415810582119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkwHeLozIH8ftg0If2Bhao2TnFbul277-JNrAt_Kq9Ccg9R-w2dBX5rbeTnrbbX15OOD-QDUPic9j_YzPX0kHbb-lhjf67CiETyhbejlBA3svUorKGtdQncQypT_JE9fPPcStd/s72-c/Screenshot+from+2013-07-19+13:01:15.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6706929.post-6052806214419997826</id><published>2013-05-25T01:40:00.000-03:00</published><updated>2013-05-25T01:40:12.445-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="olpc"/><category scheme="http://www.blogger.com/atom/ns#" term="sugar"/><title type='text'>Nice cairo trick to draw transparent shapes with borders </title><content type='html'>I have learned a new cairo trick, and how I didn&#39;t find this explained in any place will share it here.&lt;br /&gt;
  184. &lt;br /&gt;
  185. Imagine you want draw two figures with a border, is really easy:&lt;br /&gt;
  186. &lt;br /&gt;
  187. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
  188. &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjN4U2JxwfMqd0Er-BMio343mzaorbhaTylBI2qpeHvxCbt2J1v39TidaBIfn3mrgvixuoN6B2RrTMEdr9JkzS1QSWe9fyHepQ43JcDQmZJbmk4FLzia44uaKwO5cPdemWv-gIv/s1600/Captura+de+pantalla+de+2013-05-23+21:32:29.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjN4U2JxwfMqd0Er-BMio343mzaorbhaTylBI2qpeHvxCbt2J1v39TidaBIfn3mrgvixuoN6B2RrTMEdr9JkzS1QSWe9fyHepQ43JcDQmZJbmk4FLzia44uaKwO5cPdemWv-gIv/s320/Captura+de+pantalla+de+2013-05-23+21:32:29.png&quot; width=&quot;290&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
  189. &lt;br /&gt;
  190. The code is:&lt;br /&gt;
  191. &lt;br /&gt;
  192. &lt;style&gt;
  193. .hll { background-color: #ffffcc }
  194. .c { color: #408080; font-style: italic } /* Comment */
  195. .err { border: 1px solid #FF0000 } /* Error */
  196. .k { color: #008000; font-weight: bold } /* Keyword */
  197. .o { color: #666666 } /* Operator */
  198. .cm { color: #408080; font-style: italic } /* Comment.Multiline */
  199. .cp { color: #BC7A00 } /* Comment.Preproc */
  200. .c1 { color: #408080; font-style: italic } /* Comment.Single */
  201. .cs { color: #408080; font-style: italic } /* Comment.Special */
  202. .gd { color: #A00000 } /* Generic.Deleted */
  203. .ge { font-style: italic } /* Generic.Emph */
  204. .gr { color: #FF0000 } /* Generic.Error */
  205. .gh { color: #000080; font-weight: bold } /* Generic.Heading */
  206. .gi { color: #00A000 } /* Generic.Inserted */
  207. .go { color: #808080 } /* Generic.Output */
  208. .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
  209. .gs { font-weight: bold } /* Generic.Strong */
  210. .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
  211. .gt { color: #0040D0 } /* Generic.Traceback */
  212. .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
  213. .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
  214. .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
  215. .kp { color: #008000 } /* Keyword.Pseudo */
  216. .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
  217. .kt { color: #B00040 } /* Keyword.Type */
  218. .m { color: #666666 } /* Literal.Number */
  219. .s { color: #BA2121 } /* Literal.String */
  220. .na { color: #7D9029 } /* Name.Attribute */
  221. .nb { color: #008000 } /* Name.Builtin */
  222. .nc { color: #0000FF; font-weight: bold } /* Name.Class */
  223. .no { color: #880000 } /* Name.Constant */
  224. .nd { color: #AA22FF } /* Name.Decorator */
  225. .ni { color: #999999; font-weight: bold } /* Name.Entity */
  226. .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
  227. .nf { color: #0000FF } /* Name.Function */
  228. .nl { color: #A0A000 } /* Name.Label */
  229. .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
  230. .nt { color: #008000; font-weight: bold } /* Name.Tag */
  231. .nv { color: #19177C } /* Name.Variable */
  232. .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
  233. .w { color: #bbbbbb } /* Text.Whitespace */
  234. .mf { color: #666666 } /* Literal.Number.Float */
  235. .mh { color: #666666 } /* Literal.Number.Hex */
  236. .mi { color: #666666 } /* Literal.Number.Integer */
  237. .mo { color: #666666 } /* Literal.Number.Oct */
  238. .sb { color: #BA2121 } /* Literal.String.Backtick */
  239. .sc { color: #BA2121 } /* Literal.String.Char */
  240. .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
  241. .s2 { color: #BA2121 } /* Literal.String.Double */
  242. .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
  243. .sh { color: #BA2121 } /* Literal.String.Heredoc */
  244. .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
  245. .sx { color: #008000 } /* Literal.String.Other */
  246. .sr { color: #BB6688 } /* Literal.String.Regex */
  247. .s1 { color: #BA2121 } /* Literal.String.Single */
  248. .ss { color: #19177C } /* Literal.String.Symbol */
  249. .bp { color: #008000 } /* Name.Builtin.Pseudo */
  250. .vc { color: #19177C } /* Name.Variable.Class */
  251. .vg { color: #19177C } /* Name.Variable.Global */
  252. .vi { color: #19177C } /* Name.Variable.Instance */
  253. .il { color: #666666 } /* Literal.Number.Integer.Long */
  254.  
  255. &lt;/style&gt;
  256.  
  257. &lt;br /&gt;
  258. &lt;div class=&quot;highlight&quot;&gt;
  259. &lt;pre&gt;&lt;span class=&quot;c&quot;&gt;#!/usr/bin/python&lt;/span&gt;
  260.  
  261. &lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;gi.repository&lt;/span&gt; &lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Gtk&lt;/span&gt;
  262.  
  263.  
  264. &lt;span class=&quot;k&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;MinimalCairoTest&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Gtk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Window&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
  265.  
  266.    &lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;__init__&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
  267.        &lt;span class=&quot;nb&quot;&gt;super&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;MinimalCairoTest&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;__init__&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  268.        &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_size_request&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;300&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;300&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  269.        &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;connect&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;destroy&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Gtk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;main_quit&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  270.        &lt;span class=&quot;n&quot;&gt;darea&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Gtk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;DrawingArea&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  271.        &lt;span class=&quot;n&quot;&gt;darea&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;connect&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;draw&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;__draw_cb&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  272.        &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;darea&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  273.        &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;show_all&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  274.  
  275.    &lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;__draw_cb&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;widget&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
  276.  
  277.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_line_width&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  278.  
  279.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_source_rgb&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  280.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;rectangle&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;140&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;120&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;120&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  281.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fill_preserve&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  282.  
  283.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_source_rgb&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  284.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;stroke&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  285.  
  286.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_source_rgb&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  287.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;arc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;150&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;150&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;70&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;3.14&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  288.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fill_preserve&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  289.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_source_rgb&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  290.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_line_width&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  291.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;stroke&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  292.  
  293.  
  294. &lt;span class=&quot;n&quot;&gt;MinimalCairoTest&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  295. &lt;span class=&quot;n&quot;&gt;Gtk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  296. &lt;/pre&gt;
  297. &lt;pre&gt;&lt;span class=&quot;p&quot;&gt;
  298. &lt;/span&gt;&lt;/pre&gt;
  299. &lt;pre&gt;If we want draw the same figures using alpha, we can do:&lt;/pre&gt;
  300. &lt;pre&gt;&lt;/pre&gt;
  301. &lt;pre&gt;&lt;/pre&gt;
  302. &lt;pre&gt;&lt;/pre&gt;
  303. &lt;pre&gt;&lt;/pre&gt;
  304. &lt;div class=&quot;highlight&quot;&gt;
  305. &lt;pre&gt;&lt;span class=&quot;c&quot;&gt;#!/usr/bin/python&lt;/span&gt;
  306.  
  307. &lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;gi.repository&lt;/span&gt; &lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Gtk&lt;/span&gt;
  308.  
  309.  
  310. &lt;span class=&quot;k&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;MinimalCairoTest&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Gtk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Window&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
  311.  
  312.    &lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;__init__&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
  313.        &lt;span class=&quot;nb&quot;&gt;super&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;MinimalCairoTest&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;__init__&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  314.        &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_size_request&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;300&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;300&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  315.        &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;connect&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;destroy&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Gtk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;main_quit&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  316.        &lt;span class=&quot;n&quot;&gt;darea&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Gtk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;DrawingArea&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  317.        &lt;span class=&quot;n&quot;&gt;darea&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;connect&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;draw&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;__draw_cb&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  318.        &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;darea&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  319.        &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;show_all&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  320.  
  321.    &lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;__draw_cb&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;widget&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
  322.  
  323.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_line_width&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  324.  
  325.        &lt;span class=&quot;c&quot;&gt;# now the same but using alpha&lt;/span&gt;
  326.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_source_rgba&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  327.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;rectangle&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;140&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;120&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;120&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  328.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fill_preserve&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  329.  
  330.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_source_rgba&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  331.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;stroke&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  332.  
  333.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_source_rgba&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  334.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;arc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;150&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;150&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;70&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;3.14&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  335.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fill_preserve&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  336.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_source_rgba&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  337.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_line_width&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  338.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;stroke&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  339.  
  340.  
  341. &lt;span class=&quot;n&quot;&gt;MinimalCairoTest&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  342. &lt;span class=&quot;n&quot;&gt;Gtk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  343. &lt;/pre&gt;
  344. &lt;pre&gt;&lt;span class=&quot;p&quot;&gt;
  345. &lt;/span&gt;&lt;/pre&gt;
  346. &lt;pre&gt;&lt;span class=&quot;p&quot;&gt;
  347. &lt;/span&gt;&lt;/pre&gt;
  348. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
  349. &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_Eq9Uw8Ni1lXkg_SGJXXRJEz_xq4pe7ltkyRvQJ6Zuu5X0_PmxtFM_eiLgQxKCDw8wOjPHyq8Je7LBRAm6BRiiVCidNHLoJY6JfltVuDitur4lieanicixNq07ZIRCN0aOjKh/s1600/Captura+de+pantalla+de+2013-05-23+21:32:43.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_Eq9Uw8Ni1lXkg_SGJXXRJEz_xq4pe7ltkyRvQJ6Zuu5X0_PmxtFM_eiLgQxKCDw8wOjPHyq8Je7LBRAm6BRiiVCidNHLoJY6JfltVuDitur4lieanicixNq07ZIRCN0aOjKh/s320/Captura+de+pantalla+de+2013-05-23+21:32:43.png&quot; width=&quot;290&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
  350. &lt;pre&gt;&lt;/pre&gt;
  351. &lt;pre&gt;&lt;/pre&gt;
  352. &lt;pre&gt;
  353. &lt;/pre&gt;
  354. &lt;pre&gt;No very good. The problem is, the area filled and the border are superposed, because the path is defined by the middle of the stroke, and ignores the line width[1].&lt;/pre&gt;
  355. &lt;pre&gt;&lt;/pre&gt;
  356. &lt;pre&gt;&lt;/pre&gt;
  357. &lt;pre&gt;
  358. &lt;/pre&gt;
  359. &lt;pre&gt;I tried use the stroke as a mask, to avoid filling the area defined by the width of the stroke [2]:&lt;/pre&gt;
  360. &lt;pre&gt;&lt;/pre&gt;
  361. &lt;div class=&quot;highlight&quot;&gt;
  362. &lt;pre&gt;&lt;span class=&quot;c&quot;&gt;
  363. &lt;/span&gt;&lt;/pre&gt;
  364. &lt;pre&gt;&lt;span class=&quot;c&quot;&gt;#!/usr/bin/python&lt;/span&gt;
  365.  
  366. &lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;gi.repository&lt;/span&gt; &lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Gtk&lt;/span&gt;
  367. &lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;cairo&lt;/span&gt;
  368.  
  369.  
  370. &lt;span class=&quot;k&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;MinimalCairoTest&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Gtk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Window&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
  371.  
  372.    &lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;__init__&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
  373.        &lt;span class=&quot;nb&quot;&gt;super&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;MinimalCairoTest&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;__init__&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  374.        &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_size_request&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;300&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;300&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  375.        &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;connect&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;destroy&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Gtk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;main_quit&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  376.        &lt;span class=&quot;n&quot;&gt;darea&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Gtk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;DrawingArea&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  377.        &lt;span class=&quot;n&quot;&gt;darea&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;connect&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;draw&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;__draw_cb&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  378.        &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;darea&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  379.        &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;show_all&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  380.  
  381.    &lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;__draw_cb&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;widget&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
  382.  
  383.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_line_width&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  384.  
  385.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;rectangle&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;140&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;120&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;120&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  386.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_source_rgba&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  387.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fill_preserve&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  388.  
  389.        &lt;span class=&quot;c&quot;&gt;# use the border as a mask&lt;/span&gt;
  390.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_operator&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;cairo&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;OPERATOR_SOURCE&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  391.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_source_rgba&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  392.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;stroke_preserve&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  393.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_operator&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;cairo&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;OPERATOR_OVER&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  394.  
  395.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_source_rgba&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  396.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;stroke&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  397.  
  398.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;arc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;150&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;150&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;70&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;3.14&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  399.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_source_rgba&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  400.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fill_preserve&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  401.  
  402.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_operator&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;cairo&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;OPERATOR_SOURCE&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  403.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_source_rgba&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  404.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;stroke_preserve&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  405.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_operator&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;cairo&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;OPERATOR_OVER&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  406.  
  407.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_source_rgba&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  408.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;stroke&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  409.  
  410.  
  411. &lt;span class=&quot;n&quot;&gt;MinimalCairoTest&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  412. &lt;span class=&quot;n&quot;&gt;Gtk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  413. &lt;/pre&gt;
  414. &lt;/div&gt;
  415. &lt;pre&gt;&lt;/pre&gt;
  416. &lt;pre&gt;&lt;/pre&gt;
  417. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
  418. &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUMHQWIyw2vYVm_Wab5MnAy5Cdy7qDwro4nWSZTphBNlsrV5KHQWR1LJrc6PcpGk2p9Pa0IceSA3t7APnC8YWozOnCkfY7nfP09YWet4nzcTsK9hxmLgAiUlsDThEm1_KLSXrq/s1600/Captura+de+pantalla+de+2013-05-25+01:24:52.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUMHQWIyw2vYVm_Wab5MnAy5Cdy7qDwro4nWSZTphBNlsrV5KHQWR1LJrc6PcpGk2p9Pa0IceSA3t7APnC8YWozOnCkfY7nfP09YWet4nzcTsK9hxmLgAiUlsDThEm1_KLSXrq/s320/Captura+de+pantalla+de+2013-05-25+01:24:52.png&quot; width=&quot;290&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
  419. &lt;pre&gt;&lt;/pre&gt;
  420. &lt;pre&gt;&lt;/pre&gt;
  421. &lt;pre&gt;
  422. &lt;/pre&gt;
  423. &lt;pre&gt;There are a problem: the border looks like if is not transparent. The problem really is the cairo operator source, with white, clear all what is in the surface.&lt;/pre&gt;
  424. &lt;pre&gt;&lt;/pre&gt;
  425. &lt;pre&gt;I tried different alternatives, and finally asked in #cairo irc channel. The solution was provided by Søren Sandmann itself:&lt;/pre&gt;
  426. &lt;pre&gt;&lt;/pre&gt;
  427. &lt;div class=&quot;highlight&quot;&gt;
  428. &lt;pre&gt;&lt;span class=&quot;c&quot;&gt;
  429. &lt;/span&gt;&lt;/pre&gt;
  430. &lt;pre&gt;&lt;span class=&quot;c&quot;&gt;#!/usr/bin/python&lt;/span&gt;
  431. &lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;gi.repository&lt;/span&gt; &lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Gtk&lt;/span&gt;
  432. &lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;cairo&lt;/span&gt;
  433. &lt;span class=&quot;k&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;MinimalCairoTest&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Gtk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Window&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
  434.    &lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;__init__&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
  435.        &lt;span class=&quot;nb&quot;&gt;super&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;MinimalCairoTest&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;__init__&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  436.        &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_size_request&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;300&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;300&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  437.        &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;connect&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;destroy&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Gtk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;main_quit&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  438.        &lt;span class=&quot;n&quot;&gt;darea&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Gtk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;DrawingArea&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  439.        &lt;span class=&quot;n&quot;&gt;darea&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;connect&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;draw&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;__draw_cb&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  440.        &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;darea&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  441.        &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;show_all&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  442.  
  443.    &lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;__draw_cb&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;widget&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
  444.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_line_width&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  445.  
  446.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;push_group&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  447.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;rectangle&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;140&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;120&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;120&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  448.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_source_rgba&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  449.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fill_preserve&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  450.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_source_rgba&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  451.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;stroke&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  452.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;pop_group_to_source&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  453.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;paint_with_alpha&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  454.  
  455.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;push_group&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  456.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;arc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;150&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;150&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;70&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;3.14&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  457.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_source_rgba&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  458.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fill_preserve&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  459.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_source_rgba&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  460.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;stroke&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  461.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;pop_group_to_source&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  462.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;paint_with_alpha&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  463. &lt;span class=&quot;n&quot;&gt;MinimalCairoTest&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  464. &lt;span class=&quot;n&quot;&gt;Gtk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  465. &lt;/pre&gt;
  466. &lt;pre&gt;&lt;span class=&quot;p&quot;&gt;
  467. &lt;/span&gt;&lt;/pre&gt;
  468. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
  469. &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV90byd0Jpop97ze6GpsqtsUhputByv2VLwvoLY7VI60ZRXOQvpzgu71sbuWK_FFYXRzg1It0m73fKxzkl8r4aRNwM58Yf91u57i-z2fKmOMcKgWKiSuSjvxFhPf2e_t7E5Dcf/s1600/Captura+de+pantalla+de+2013-05-25+00:49:57.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV90byd0Jpop97ze6GpsqtsUhputByv2VLwvoLY7VI60ZRXOQvpzgu71sbuWK_FFYXRzg1It0m73fKxzkl8r4aRNwM58Yf91u57i-z2fKmOMcKgWKiSuSjvxFhPf2e_t7E5Dcf/s320/Captura+de+pantalla+de+2013-05-25+00:49:57.png&quot; width=&quot;290&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
  470. &lt;pre&gt;&lt;span class=&quot;p&quot;&gt;
  471. &lt;/span&gt;&lt;/pre&gt;
  472. &lt;pre&gt;&lt;span class=&quot;p&quot;&gt;Excelent!&lt;/span&gt;&lt;/pre&gt;
  473. &lt;pre&gt;&lt;span class=&quot;p&quot;&gt;And the code is even cleaner. push_group creates a temporary surface, and can be painted, with alpha, using pop_group_to_source and &lt;/span&gt;paint_with_alpha.&lt;/pre&gt;
  474. &lt;pre&gt;&lt;span class=&quot;p&quot;&gt;
  475. &lt;/span&gt;&lt;/pre&gt;
  476. &lt;pre&gt;&lt;span class=&quot;p&quot;&gt;
  477. &lt;/span&gt;&lt;/pre&gt;
  478. &lt;/div&gt;
  479. &lt;pre&gt;&lt;/pre&gt;
  480. &lt;pre&gt;&lt;/pre&gt;
  481. &lt;pre&gt;&lt;/pre&gt;
  482. &lt;pre&gt;&lt;/pre&gt;
  483. &lt;pre&gt;[1] &lt;a href=&quot;http://cairographics.org/tutorial/&quot;&gt;http://cairographics.org/tutorial/&lt;/a&gt;&lt;/pre&gt;
  484. &lt;pre&gt;[2] &lt;a href=&quot;http://cairographics.org/operators/&quot;&gt;http://cairographics.org/operators/&lt;/a&gt;&lt;/pre&gt;
  485. &lt;/div&gt;
  486. &lt;/div&gt;
  487. </content><link rel='replies' type='application/atom+xml' href='http://godiard.blogspot.com/feeds/6052806214419997826/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6706929/6052806214419997826?isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/6052806214419997826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/6052806214419997826'/><link rel='alternate' type='text/html' href='http://godiard.blogspot.com/2013/05/nice-cairo-trick-to-draw-transparent.html' title='Nice cairo trick to draw transparent shapes with borders '/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02412149415810582119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjN4U2JxwfMqd0Er-BMio343mzaorbhaTylBI2qpeHvxCbt2J1v39TidaBIfn3mrgvixuoN6B2RrTMEdr9JkzS1QSWe9fyHepQ43JcDQmZJbmk4FLzia44uaKwO5cPdemWv-gIv/s72-c/Captura+de+pantalla+de+2013-05-23+21:32:29.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6706929.post-4029899268757803819</id><published>2013-01-13T04:08:00.001-03:00</published><updated>2013-01-13T04:21:14.631-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="olpc"/><category scheme="http://www.blogger.com/atom/ns#" term="sugar"/><title type='text'>More Wikipedia news. Automatic index!</title><content type='html'>&lt;span style=&quot;font-family: inherit;&quot;&gt;In one week with mixed news, I received a two good news, +&lt;span email=&quot;kartik.peri@gmail.com&quot; style=&quot;background-color: white; color: #222222; white-space: nowrap;&quot;&gt;Kartik Kumar Perisetla and&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #222222; white-space: nowrap;&quot;&gt;+&lt;/span&gt;&lt;span email=&quot;anish@sugarlabs.org&quot; style=&quot;background-color: white; color: #222222; white-space: nowrap;&quot;&gt;Anish Mangal prepared a &lt;a href=&quot;http://activities.sugarlabs.org/en-US/sugar/addon/4632&quot;&gt;Hindi version of the wikipedia activity&lt;/a&gt;, and&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
  488. &lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span email=&quot;anish@sugarlabs.org&quot; style=&quot;background-color: white; color: #222222; white-space: nowrap;&quot;&gt;+Ignacio Rodríguez worked in a &lt;a href=&quot;http://activities.sugarlabs.org/en-US/sugar/addon/4631&quot;&gt;Portuguese version&lt;/a&gt;. Kartik wrote a &lt;a href=&quot;http://kperisetla.blogspot.com.ar/2013/01/wikipediahi-offline-wikipedia-in-hindi.html&quot;&gt;nice post&lt;/a&gt; about this too.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
  489. &lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span email=&quot;anish@sugarlabs.org&quot; style=&quot;background-color: white; color: #222222; white-space: nowrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
  490. &lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span email=&quot;anish@sugarlabs.org&quot; style=&quot;background-color: white; color: #222222; white-space: nowrap;&quot;&gt;I asked to Kartik what other languages can be of interest in India, and he replied: &quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif;&quot;&gt;In india, Hindi, Gujrati and Punjabi are most common languages is North and West India; Telugu, Tamil, Malyalam, Kannada, Bengali are common in South and West india&quot;.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif;&quot;&gt;Without doubt, India is a challenge!&lt;/span&gt;&lt;br /&gt;
  491. &lt;span style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
  492. &lt;span style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif;&quot;&gt;One part of the process to create a offline wikipedia activity is tedious right now, create the list of articles used to start the selection, and prepare the index.html page used as home with the links to that articles. We have a good selection of pages in the English version, and usually is a good idea translate this selection and later add or remove a few articles. Then I decided create a script to use the interwiki links in the English articles to create a list of articles and index page &amp;nbsp;to use as a base.&lt;/span&gt;&lt;br /&gt;
  493. &lt;span style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
  494. &lt;span style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif;&quot;&gt;My first experiments can be seen here:&lt;/span&gt;&lt;br /&gt;
  495. &lt;span style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
  496. &lt;span style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif;&quot;&gt;A Farsi version: &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
  497. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
  498. &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB_6qp1JYTW6AvjPzlpVH7E1FWHks5fM8_AUXHIiibhHU5uOAJ7CBrMGLDY4_DiGHyvCA1Fh-vjz3qw7bkzj3LV57h8Ix06A8eIUEK9SBYIVcBg4BnCmPD3FoVBxnFjL8jiUnM/s1600/Screenshot+from+2013-01-13+03:36:22.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB_6qp1JYTW6AvjPzlpVH7E1FWHks5fM8_AUXHIiibhHU5uOAJ7CBrMGLDY4_DiGHyvCA1Fh-vjz3qw7bkzj3LV57h8Ix06A8eIUEK9SBYIVcBg4BnCmPD3FoVBxnFjL8jiUnM/s1600/Screenshot+from+2013-01-13+03:36:22.png&quot; height=&quot;322&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
  499. &lt;span style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
  500. &lt;span style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif;&quot;&gt;A Guaraní version:&lt;/span&gt;&lt;br /&gt;
  501. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
  502. &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJYqwamcJHsk2u1rw06dAEhTdvdmjJakCwfw7DJNVpUtjJgvLzMPrgvkXcJku0Jbe3OmZ9ffPlw4f_RgLA_D9rNX0bdjteWY9jYcJQ3RnAnrhXRHoZVtD_4ZPlQyIwge7nTPz_/s1600/Screenshot+from+2013-01-13+03:36:29.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJYqwamcJHsk2u1rw06dAEhTdvdmjJakCwfw7DJNVpUtjJgvLzMPrgvkXcJku0Jbe3OmZ9ffPlw4f_RgLA_D9rNX0bdjteWY9jYcJQ3RnAnrhXRHoZVtD_4ZPlQyIwge7nTPz_/s1600/Screenshot+from+2013-01-13+03:36:29.png&quot; height=&quot;322&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
  503. &lt;br /&gt;
  504. A Italian version:&lt;br /&gt;
  505. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
  506. &lt;/div&gt;
  507. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
  508. &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLIVilfEdArT2exlYsLoAbGAgHGzbH3WTatKrlFFOh3n7RCRi6bhKkUwUrzhCu-WTwyS_6Eq6ArJHqD32kXE6EnPcJlp-KAdggKFMIEFXEIa08-NNfimOPHWnMxNWBKTvuwax7/s1600/Screenshot+from+2013-01-13+04:04:09.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLIVilfEdArT2exlYsLoAbGAgHGzbH3WTatKrlFFOh3n7RCRi6bhKkUwUrzhCu-WTwyS_6Eq6ArJHqD32kXE6EnPcJlp-KAdggKFMIEFXEIa08-NNfimOPHWnMxNWBKTvuwax7/s1600/Screenshot+from+2013-01-13+04:04:09.png&quot; height=&quot;322&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
  509. &lt;br /&gt;
  510. The script add a class to the links without a translation, and show it with a red background.&lt;br /&gt;
  511. Of course, this does not do all the job,&amp;nbsp;in a few cases there are garbage.,&amp;nbsp;somebody need check the words, found the remaining translations, add or remove articles depending on the target audience, etc, but I think is a &amp;nbsp;nice improvement.&lt;br /&gt;
  512. </content><link rel='replies' type='application/atom+xml' href='http://godiard.blogspot.com/feeds/4029899268757803819/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6706929/4029899268757803819?isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/4029899268757803819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/4029899268757803819'/><link rel='alternate' type='text/html' href='http://godiard.blogspot.com/2013/01/more-wikipedia-news-automatic-indexes.html' title='More Wikipedia news. Automatic index!'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02412149415810582119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB_6qp1JYTW6AvjPzlpVH7E1FWHks5fM8_AUXHIiibhHU5uOAJ7CBrMGLDY4_DiGHyvCA1Fh-vjz3qw7bkzj3LV57h8Ix06A8eIUEK9SBYIVcBg4BnCmPD3FoVBxnFjL8jiUnM/s72-c/Screenshot+from+2013-01-13+03:36:22.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6706929.post-8639900808958373093</id><published>2013-01-12T20:01:00.000-03:00</published><updated>2013-01-12T20:01:12.490-03:00</updated><title type='text'>Informe del SugarDay del 15/11 en Buenos Aires</title><content type='html'>Ufff, este post tiene dos meses sin publicarse.&lt;br /&gt;
  513. El SugarDay realizado durante la PyCon en noviembre, fue un éxito.&lt;br /&gt;
  514. Participaron unas 15 personas. Algunos viejos conocidos y unos cuantos nuevos. Durante la mañana, hicimos varias charlas, y por la tarde trabajamos en grupos.&lt;br /&gt;
  515. La primer charla&amp;nbsp;fue&amp;nbsp;una introducción al proyecto OLPC y SugarLabs.&lt;br /&gt;
  516. La segunda, &quot;&lt;a href=&quot;https://docs.google.com/open?id=0B8_jQJX0Me6XblJPZzRXOFo2SWs&quot;&gt;Sugar en la Escuela&lt;/a&gt;&quot; a cargo de&amp;nbsp;+Laura Rosenfeld, +Yanel Cepeda y&amp;nbsp;+Alvar Maciel, trató acerca de los usos que se le dá al software, las posibilidades y aportó interesantes sugerencias para el mejoramiento del mismo.&lt;br /&gt;
  517. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
  518. &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZ1s9xhDm7D4wLvUEr8ohUCWiu_9EvfiK0_83aBG8ipgNy5_1ETGwdM-XCXPTZi446dHW7HEsR8Gg27mo2SKDsXtYcZ_P2scKuy4zPhCoXUjX3Pz-zbuLxRUiLe_EeKFJzCyeF/s1600/sugar_en_la_escuela.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZ1s9xhDm7D4wLvUEr8ohUCWiu_9EvfiK0_83aBG8ipgNy5_1ETGwdM-XCXPTZi446dHW7HEsR8Gg27mo2SKDsXtYcZ_P2scKuy4zPhCoXUjX3Pz-zbuLxRUiLe_EeKFJzCyeF/s1600/sugar_en_la_escuela.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
  519. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
  520. &lt;br /&gt;&lt;/div&gt;
  521. En la tercera charla, &quot;&lt;a href=&quot;https://docs.google.com/open?id=0B8_jQJX0Me6XNjFNUXlqVEpHSmc&quot;&gt;Mate Marote&lt;/a&gt;&quot;, +Diego Fernández Slezak y +Matias Lopez y Resenfeld, del Laboratorio de Inteligencia Artificial Aplicada de la U.B.A, nos contaron acerca de sus investigaciones relacionadas con las neurociencias, y como con pequeñas aplicaciones se pueden desarrollar determinadas habilidades, como la memoria o la concentración. Una vez realizadas pruebas en laboratorio, Diego, Matias y su equipo, desarrollaron una actividad para las Xo, con juegos que desarrollan estas habilidades, y&amp;nbsp;también&amp;nbsp;una plataforma que permite agregar más juegos en la medida que se desarrollen. La charla concluyó con una invitación a programadores interesados en participar. La actividad para las XO&amp;nbsp;fue&amp;nbsp;puesta en uso en La Rioja, y ya han podido evaluar los primeros resultados.&lt;br /&gt;
  522. &lt;br /&gt;
  523. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
  524. &amp;nbsp;&amp;nbsp;
  525. &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-F4mFC_kHYK_spsEJ0srt0k7OOKojuuwVX_7V66R4RWxIy_TqTS0_Y1QUxbM23jSO0xe5TQYNPQR1g8DbOrN4-kvzcqvsVnLNXSBb-cDHordf75FTwiV6N2ivP35y3_n_aYKF/s1600/matemarote.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-F4mFC_kHYK_spsEJ0srt0k7OOKojuuwVX_7V66R4RWxIy_TqTS0_Y1QUxbM23jSO0xe5TQYNPQR1g8DbOrN4-kvzcqvsVnLNXSBb-cDHordf75FTwiV6N2ivP35y3_n_aYKF/s1600/matemarote.png&quot; /&gt;&lt;/a&gt;
  526. &lt;/div&gt;
  527. &lt;br /&gt;
  528. &lt;br /&gt;
  529. Por último, hablamos de los desarrollos que se hicieron a lo largo del último año en OLPC y SugarLabs. Fundamentalmente, mostramos los prototipos de la nueva XO-4 y los cambios en Sugar para uso con touch.&lt;br /&gt;
  530. &lt;br /&gt;
  531. Luego del almuerzo, fuimos trabajando por grupos. Algunos vieron como mejorar la performance de MateMarote y su uso de PyGame, otros instalaron entornos de desarrollo, algunos trabajaron en solucionar bugs y otros simplemente intercambiaron experiencias.&lt;br /&gt;
  532. &lt;br /&gt;
  533. Fue&amp;nbsp;productivo, mi agradecimiento a los organizadores de la PyCon por darnos este espacio.&lt;br /&gt;
  534. &lt;div&gt;
  535. &lt;br /&gt;&lt;/div&gt;
  536. &lt;div style=&quot;text-align: center;&quot;&gt;
  537. .............&lt;/div&gt;
  538. &lt;div style=&quot;text-align: center;&quot;&gt;
  539. &lt;br /&gt;&lt;/div&gt;
  540. &lt;br /&gt;
  541. Unos días&amp;nbsp;después&amp;nbsp;de la PyCon,&amp;nbsp;fui&amp;nbsp;a presenciar la defensa de la tesis de licenciatura de Matias con su trabajo acerca de MateMarote. Dos puntos me resultaron particularmente interesantes: primero, cuando explicó los antecedentes, nos hizo acordar que hace unos pocos años, las notebooks eran objetos muy poco comunes, aun en un ámbito como la carrera de sistemas de la UBA, en esa época, hablar de una computadora por niño, era aun más loco de lo que hoy resulta. El segundo punto interesante, fue su explicación de las características innovadoras de Sugar, aun no disponibles en otros entornos. Después de un tiempo inmerso en el trabajo de resolver problemas, y hacer pequeñas mejoras, todos los días, fue refrescante escucharlo de alguien ajeno al proyecto.</content><link rel='replies' type='application/atom+xml' href='http://godiard.blogspot.com/feeds/8639900808958373093/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6706929/8639900808958373093?isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/8639900808958373093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/8639900808958373093'/><link rel='alternate' type='text/html' href='http://godiard.blogspot.com/2013/01/informe-del-sugarday-del-1511-en-buenos.html' title='Informe del SugarDay del 15/11 en Buenos Aires'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02412149415810582119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZ1s9xhDm7D4wLvUEr8ohUCWiu_9EvfiK0_83aBG8ipgNy5_1ETGwdM-XCXPTZi446dHW7HEsR8Gg27mo2SKDsXtYcZ_P2scKuy4zPhCoXUjX3Pz-zbuLxRUiLe_EeKFJzCyeF/s72-c/sugar_en_la_escuela.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6706929.post-1568081801602422470</id><published>2012-11-03T16:48:00.001-03:00</published><updated>2012-11-03T16:48:09.545-03:00</updated><title type='text'>OLPC in BBC Horizons program </title><content type='html'>En el capítulo dedicado a &quot;Accesible Tecnology&quot;, la tercera parte muestra el uso de las XO en Ntugi, Kenya.&lt;br /&gt;
  542. El deployment es obra de un grupo canadiense de voluntarios y se puede leer una interesante resseña de su trabajo &lt;a href=&quot;http://ntugigroup.org/post/34909936052/our-story-so-far&quot;&gt;aqui&lt;/a&gt;.&lt;br /&gt;
  543. Para ver el video, seguir este&amp;nbsp;&lt;a href=&quot;http://www.horizonsbusiness.com/episode/accessible-technology/#.UJVyoObqJF8.blogger&quot;&gt;link&lt;/a&gt;&amp;nbsp;y seleccionar la tercera parte.</content><link rel='replies' type='application/atom+xml' href='http://godiard.blogspot.com/feeds/1568081801602422470/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6706929/1568081801602422470?isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/1568081801602422470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/1568081801602422470'/><link rel='alternate' type='text/html' href='http://godiard.blogspot.com/2012/11/olpc-in-bbc-horizons-program.html' title='OLPC in BBC Horizons program '/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02412149415810582119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6706929.post-4449611552151691886</id><published>2012-10-22T02:11:00.000-03:00</published><updated>2012-10-22T02:11:16.868-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="olpc"/><category scheme="http://www.blogger.com/atom/ns#" term="sugar"/><title type='text'>La Confusión de la Tortuga</title><content type='html'>Quiero compartir una muy buena noticia, la traducción al español del libro “Turtle Confusion” de Barry Newell. Este libro plantea en el diálogo entre una tortuga y un docente, una colección de problemas a resolver, pero tambien comentarios acerca de como plantear estos problemas para que sean de utilidad a los alumnos. La versión original fué puesta por el autor bajo dominio público y autorizó su traduccion, que fué hecha por Melina Lucía Coronel y revisada y editada por Manuel Kaufmann, la imagen de la tapa es de Manuel Quiñones.&lt;br /&gt;
  544. Esto no termina aqui, alentado por la repercusión, Barry ha decidido escribir una guia para docentes, con pistas acerca de los acertijos que en forma de poemas se incluyen en cada capítulo. Además Melina ya ha comenzado la traducción de otro libre del mismo autor: &quot;Turtles Speak Mathematics&quot;.&lt;br /&gt;
  545. Es interesante mencionar que Barry Newell es astrónomo y docente y vive en Australia, y Melina Lucía Coronel es Profesora de Inglés, y vive en Entre Ríos, Argentina, por lo que se trata de una colaboración intercontinental.... La magia de internet. También es interesante ver el desarrollo del proyecto, ya que se llevó a cabo completamente en &lt;a href=&quot;https://github.com/humitos/turtle-confusion-es&quot;&gt;github&lt;/a&gt;.&lt;br /&gt;
  546. Pueden leer el libro &lt;a href=&quot;http://turtle-confusion-spanish-version.readthedocs.org/&quot;&gt;on line&lt;/a&gt; o &lt;a href=&quot;https://github.com/downloads/humitos/turtle-confusion-es/la-confusion-de-la-tortuga.pdf&quot;&gt;descargarlo&lt;/a&gt;, y también usar la actividad &lt;a href=&quot;http://wiki.sugarlabs.org/go/Activities/TurtleConfusion&quot;&gt;TurtleConfusion&lt;/a&gt; en Sugar&lt;br /&gt;
  547. &lt;br /&gt;
  548. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
  549. &lt;a href=&quot;https://github.com/humitos/turtle-confusion-es/raw/pdf/docs/_static/images/cover.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://github.com/humitos/turtle-confusion-es/raw/pdf/docs/_static/images/cover.png&quot; width=&quot;226&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
  550. &lt;br /&gt;
  551. Me gusta mucho uno de los comentarios del autor acerca de &lt;a href=&quot;http://turtle-confusion-spanish-version.readthedocs.org/en/latest/how_to_use_this_booklet.html&quot;&gt;como usar el cuadernillo&lt;/a&gt;:&lt;br /&gt;
  552. &lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;i&gt;&quot;&lt;span style=&quot;font-size: 16px; line-height: 24px;&quot;&gt;Se intenta que el material en éste cuadernillo sea de alguna manera confuso a primera vista. En la vida real, no podemos evitar sentirnos confundidos de vez en cuando. Éste sentimiento de confusión nos indica que nuestro entendimiento de una situación en particular es inadecuada... En otras palabras, la confusión representa una oportunidad para aprender.&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
  553. &lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-size: 16px; line-height: 24px;&quot;&gt;Los adultos deberían reconocer el peligro que existe en proteger a los jóvenes de los sentimientos de confusión. La vida no nos ofrece sus problemas en una secuencia de paquetitos cuidadosamente graduada, cada una de los cuales se puede resolver por el ‘alumno promedio’ en una hora de clase. Se lo debemos a nuestros alumnos, a la posibilidad de sentirse confundidos a veces; a permitirles aprender de lidiar con, y hasta beneficiarse de, la confusión; a permitirles desarrollar respuestas, en lugar de entrar en pánico, frente a situaciones en las que pueden sentirse inicialmente sobrepasados.&lt;/span&gt;&quot;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
  554. &lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://godiard.blogspot.com/feeds/4449611552151691886/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6706929/4449611552151691886?isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/4449611552151691886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/4449611552151691886'/><link rel='alternate' type='text/html' href='http://godiard.blogspot.com/2012/10/la-confusion-de-la-tortuga.html' title='La Confusión de la Tortuga'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02412149415810582119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6706929.post-4431150198806666565</id><published>2012-10-22T01:21:00.002-03:00</published><updated>2012-10-22T01:21:50.879-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="olpc"/><category scheme="http://www.blogger.com/atom/ns#" term="sugar"/><title type='text'>Pequeñas lecciones aprendidas usando Cairo (1)</title><content type='html'>&lt;style type=&quot;text/css&quot;&gt;
  555. td.linenos { background-color: #f0f0f0; padding-right: 10px; }
  556. span.lineno { background-color: #f0f0f0; padding: 0 5px 0 5px; }
  557. pre { line-height: 125%; }
  558. body .hll { background-color: #ffffcc }
  559. body  { background: #f8f8f8; }
  560. body .c { color: #408080; font-style: italic } /* Comment */
  561. body .err { border: 1px solid #FF0000 } /* Error */
  562. body .k { color: #008000; font-weight: bold } /* Keyword */
  563. body .o { color: #666666 } /* Operator */
  564. body .cm { color: #408080; font-style: italic } /* Comment.Multiline */
  565. body .cp { color: #BC7A00 } /* Comment.Preproc */
  566. body .c1 { color: #408080; font-style: italic } /* Comment.Single */
  567. body .cs { color: #408080; font-style: italic } /* Comment.Special */
  568. body .gd { color: #A00000 } /* Generic.Deleted */
  569. body .ge { font-style: italic } /* Generic.Emph */
  570. body .gr { color: #FF0000 } /* Generic.Error */
  571. body .gh { color: #000080; font-weight: bold } /* Generic.Heading */
  572. body .gi { color: #00A000 } /* Generic.Inserted */
  573. body .go { color: #808080 } /* Generic.Output */
  574. body .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
  575. body .gs { font-weight: bold } /* Generic.Strong */
  576. body .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
  577. body .gt { color: #0040D0 } /* Generic.Traceback */
  578. body .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
  579. body .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
  580. body .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
  581. body .kp { color: #008000 } /* Keyword.Pseudo */
  582. body .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
  583. body .kt { color: #B00040 } /* Keyword.Type */
  584. body .m { color: #666666 } /* Literal.Number */
  585. body .s { color: #BA2121 } /* Literal.String */
  586. body .na { color: #7D9029 } /* Name.Attribute */
  587. body .nb { color: #008000 } /* Name.Builtin */
  588. body .nc { color: #0000FF; font-weight: bold } /* Name.Class */
  589. body .no { color: #880000 } /* Name.Constant */
  590. body .nd { color: #AA22FF } /* Name.Decorator */
  591. body .ni { color: #999999; font-weight: bold } /* Name.Entity */
  592. body .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
  593. body .nf { color: #0000FF } /* Name.Function */
  594. body .nl { color: #A0A000 } /* Name.Label */
  595. body .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
  596. body .nt { color: #008000; font-weight: bold } /* Name.Tag */
  597. body .nv { color: #19177C } /* Name.Variable */
  598. body .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
  599. body .w { color: #bbbbbb } /* Text.Whitespace */
  600. body .mf { color: #666666 } /* Literal.Number.Float */
  601. body .mh { color: #666666 } /* Literal.Number.Hex */
  602. body .mi { color: #666666 } /* Literal.Number.Integer */
  603. body .mo { color: #666666 } /* Literal.Number.Oct */
  604. body .sb { color: #BA2121 } /* Literal.String.Backtick */
  605. body .sc { color: #BA2121 } /* Literal.String.Char */
  606. body .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
  607. body .s2 { color: #BA2121 } /* Literal.String.Double */
  608. body .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
  609. body .sh { color: #BA2121 } /* Literal.String.Heredoc */
  610. body .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
  611. body .sx { color: #008000 } /* Literal.String.Other */
  612. body .sr { color: #BB6688 } /* Literal.String.Regex */
  613. body .s1 { color: #BA2121 } /* Literal.String.Single */
  614. body .ss { color: #19177C } /* Literal.String.Symbol */
  615. body .bp { color: #008000 } /* Name.Builtin.Pseudo */
  616. body .vc { color: #19177C } /* Name.Variable.Class */
  617. body .vg { color: #19177C } /* Name.Variable.Global */
  618. body .vi { color: #19177C } /* Name.Variable.Instance */
  619. body .il { color: #666666 } /* Literal.Number.Integer.Long */
  620.  
  621.  &lt;/style&gt;
  622.  
  623.  
  624. Portando actividades de gtk2 a gtk3 aprendimos algunos trucos relacionados con Cairo.&lt;br /&gt;
  625. Voy a compartir algunos básicos en este post, y luego algunas cosas que hemos aprendido con respecto a la pérformance, que no son del todo obvias o no son muy sencillas de encontrar.&lt;br /&gt;
  626. &lt;br /&gt;
  627. En primer lugar un ejemplo bien sencillo de la mínima aplicacion para mostrar algo usando cairo en gtk2 y gtk3:&lt;br /&gt;
  628. &lt;br /&gt;
  629. &lt;div class=&quot;highlight&quot;&gt;
  630. &lt;pre&gt;&lt;span class=&quot;c&quot;&gt;#!/usr/bin/python&lt;/span&gt;
  631.  
  632. &lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;gtk&lt;/span&gt;
  633.  
  634. &lt;span class=&quot;k&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;MinimalCairoTest&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;gtk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Window&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
  635.  
  636.    &lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;__init__&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
  637.        &lt;span class=&quot;nb&quot;&gt;super&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;MinimalCairoTest&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;__init__&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  638.        &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_size_request&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;400&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;400&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  639.        &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;connect&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;destroy&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;gtk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;main_quit&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  640.        &lt;span class=&quot;n&quot;&gt;darea&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;gtk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;DrawingArea&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  641.        &lt;span class=&quot;n&quot;&gt;darea&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;connect&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;expose-event&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;__expose_cb&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  642.        &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;darea&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  643.        &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;show_all&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  644.  
  645.    &lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;__expose_cb&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;widget&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;event&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
  646.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;widget&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;window&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;cairo_create&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  647.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_source_rgb&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  648.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;rectangle&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;120&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;80&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  649.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fill&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  650.  
  651.  
  652. &lt;span class=&quot;n&quot;&gt;MinimalCairoTest&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  653. &lt;span class=&quot;n&quot;&gt;gtk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;&lt;/pre&gt;
  654. &lt;pre&gt;&lt;/pre&gt;
  655. &lt;/div&gt;
  656. &lt;br /&gt;
  657. El mismo código usando Gtk3:
  658.  
  659.  
  660. &lt;br /&gt;
  661. &lt;br /&gt;
  662. &lt;div class=&quot;highlight&quot;&gt;
  663. &lt;pre&gt;&lt;span class=&quot;c&quot;&gt;#!/usr/bin/python&lt;/span&gt;
  664.  
  665. &lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;gi.repository&lt;/span&gt; &lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Gtk&lt;/span&gt;
  666.  
  667. &lt;span class=&quot;k&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;MinimalCairoTest&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Gtk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Window&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
  668.  
  669.    &lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;__init__&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
  670.        &lt;span class=&quot;nb&quot;&gt;super&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;MinimalCairoTest&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;__init__&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  671.        &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_size_request&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;400&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;400&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  672.        &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;connect&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;destroy&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Gtk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;main_quit&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  673.        &lt;span class=&quot;n&quot;&gt;darea&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Gtk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;DrawingArea&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  674.        &lt;span class=&quot;n&quot;&gt;darea&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;connect&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;draw&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;__draw_cb&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  675.        &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;darea&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  676.        &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;show_all&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  677.  
  678.    &lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;__draw_cb&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;widget&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
  679.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_source_rgb&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  680.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;rectangle&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;20&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;120&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;80&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  681.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fill&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  682.  
  683.  
  684. &lt;span class=&quot;n&quot;&gt;MinimalCairoTest&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  685. &lt;span class=&quot;n&quot;&gt;Gtk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;&lt;/pre&gt;
  686. &lt;/div&gt;
  687. &lt;br /&gt;
  688. Como podemos ver, el cambio más importante es que el &quot;&lt;b&gt;expose-event&lt;/b&gt;&quot; es reemplazado por un evento &quot;&lt;b&gt;draw&lt;/b&gt;&quot; que ya nos provee un contexto de cairo, en este caso, es el parámetro &lt;b&gt;cr&lt;/b&gt;.&lt;br /&gt;
  689. &lt;br /&gt;
  690. Lo que veremos en pantalla es simplemente:&lt;br /&gt;
  691. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
  692. &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKIZqlZSXrD59DErsm-NY0bm7tzKErXvvYOI7tvkFvemSu8tqKD7nOeDn_Ce7BbhPmPaOY1JnvqLolZTNmN089aMPGILmd_hFMzqrCrwbIJrDsuiBBzhGXunqjeqHSS8nhYKP4/s1600/Captura_minimal_gtk2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKIZqlZSXrD59DErsm-NY0bm7tzKErXvvYOI7tvkFvemSu8tqKD7nOeDn_Ce7BbhPmPaOY1JnvqLolZTNmN089aMPGILmd_hFMzqrCrwbIJrDsuiBBzhGXunqjeqHSS8nhYKP4/s1600/Captura_minimal_gtk2.png&quot; width=&quot;297&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
  693. &lt;br /&gt;
  694. No muy interesante, pero nos sirve de base para seguir avanzando.&lt;br /&gt;
  695. &lt;br /&gt;
  696. Si queremos mostrar una imagen centrada en la pantalla podemos hacer:&lt;br /&gt;
  697. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
  698. &lt;br /&gt;&lt;/div&gt;
  699. &lt;div class=&quot;highlight&quot;&gt;
  700. &lt;pre&gt;&lt;span class=&quot;c&quot;&gt;#!/usr/bin/python&lt;/span&gt;
  701.  
  702. &lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;gi.repository&lt;/span&gt; &lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Gtk&lt;/span&gt;
  703. &lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;cairo&lt;/span&gt;
  704.  
  705. &lt;span class=&quot;n&quot;&gt;png_test_file&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&#39;/usr/share/icons/gnome/256x256/emotes/face-cool.png&#39;&lt;/span&gt;
  706.  
  707. &lt;span class=&quot;k&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;MinimalCairoTest&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Gtk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Window&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
  708.  
  709.    &lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;__init__&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
  710.        &lt;span class=&quot;nb&quot;&gt;super&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;MinimalCairoTest&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;__init__&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  711.        &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_size_request&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;400&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;400&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  712.        &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;connect&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;destroy&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Gtk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;main_quit&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  713.        &lt;span class=&quot;c&quot;&gt;# read the png file and create a surface&lt;/span&gt;
  714.        &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;_im_surface&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cairo&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ImageSurface&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;create_from_png&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;png_test_file&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  715.        
  716.        &lt;span class=&quot;n&quot;&gt;darea&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Gtk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;DrawingArea&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  717.        &lt;span class=&quot;n&quot;&gt;darea&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;connect&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;draw&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;__draw_cb&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  718.        &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;darea&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  719.        &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;show_all&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  720.  
  721.    &lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;__draw_cb&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;widget&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
  722.        &lt;span class=&quot;c&quot;&gt;# get window width &amp;amp; heigth&lt;/span&gt;
  723.        &lt;span class=&quot;n&quot;&gt;win_width&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;get_allocation&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;width&lt;/span&gt;
  724.        &lt;span class=&quot;n&quot;&gt;win_height&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;get_allocation&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;height&lt;/span&gt;
  725.        &lt;span class=&quot;c&quot;&gt;# show the image centered&lt;/span&gt;
  726.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;translate&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;win_width&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;_im_surface&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;get_width&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;())&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
  727.                &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;win_height&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;_im_surface&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;get_height&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;())&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  728.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_source_surface&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;_im_surface&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  729.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;paint&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  730.  
  731.  
  732. &lt;span class=&quot;n&quot;&gt;MinimalCairoTest&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  733. &lt;span class=&quot;n&quot;&gt;Gtk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;&lt;/pre&gt;
  734. &lt;/div&gt;
  735. &lt;br /&gt;
  736. Y veremos:
  737. &lt;br /&gt;
  738. &lt;br /&gt;
  739. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
  740. &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRI3DHJ_uKt2wCzQ7HkGlg11WydhMxPq6hqLU4eT-NgXX7zKBX0nNknD2MUjn0Z92KIJydxBp9mVA1TZB-kxokK9BOry97vkzV5NUD2yDfDpEiK-Oo2c4iSRsWMDQxhrWEWDSw/s1600/Captura+de+pantalla+de+2012-10-21+23:11:20.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRI3DHJ_uKt2wCzQ7HkGlg11WydhMxPq6hqLU4eT-NgXX7zKBX0nNknD2MUjn0Z92KIJydxBp9mVA1TZB-kxokK9BOry97vkzV5NUD2yDfDpEiK-Oo2c4iSRsWMDQxhrWEWDSw/s1600/Captura+de+pantalla+de+2012-10-21+23:11:20.png&quot; width=&quot;297&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
  741. &lt;div&gt;
  742. &lt;br /&gt;&lt;/div&gt;
  743. &lt;div&gt;
  744. Lo primero a tener en cuenta, es que aun usando los bindings dinámicos para Gtk3, los bindings dinámicos para Cairo no estan listos por eso hacemos &quot;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;import cairo&lt;/span&gt;&quot; y no &quot;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;from gi.repository import Cairo&lt;/span&gt;&quot;&lt;/div&gt;
  745. &lt;div&gt;
  746. &lt;br /&gt;&lt;/div&gt;
  747. &lt;div&gt;
  748. En el último ejemplo de este post, vamos a aplicar una transformación simple, para mostrar la imagen a la mitad de su tamaño (copio solo el metodo __draw_cb, ya que el resto es igual)&lt;/div&gt;
  749. &lt;div&gt;
  750. &lt;br /&gt;&lt;/div&gt;
  751. &lt;div&gt;
  752. &lt;div class=&quot;highlight&quot;&gt;
  753. &lt;pre&gt;&amp;nbsp;    &lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;__draw_cb&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;widget&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;&lt;/pre&gt;
  754. &lt;/div&gt;
  755. &lt;pre&gt;        &lt;span class=&quot;c&quot;&gt;# get window width &amp;amp; heigth&lt;/span&gt;
  756.        &lt;span class=&quot;n&quot;&gt;win_width&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;get_allocation&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;width&lt;/span&gt;
  757.        &lt;span class=&quot;n&quot;&gt;win_height&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;get_allocation&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;height&lt;/span&gt;
  758.        &lt;span class=&quot;c&quot;&gt;# show the image centered&lt;/span&gt;
  759.        &lt;span class=&quot;n&quot;&gt;scale&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.5&lt;/span&gt;
  760.        &lt;span class=&quot;n&quot;&gt;image_width&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;_im_surface&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;get_width&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;scale&lt;/span&gt;
  761.        &lt;span class=&quot;n&quot;&gt;image_height&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;_im_surface&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;get_height&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;scale&lt;/span&gt;
  762.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;translate&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;win_width&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;image_width&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
  763.                &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;win_height&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;image_height&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  764.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;scale&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;scale&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;scale&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  765.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_source_surface&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;_im_surface&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  766.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;paint&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;&lt;/pre&gt;
  767. &lt;/div&gt;
  768. &lt;br /&gt;
  769. En este caso veremos:
  770. &lt;br /&gt;
  771. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
  772. &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRd-bhDys4Sr7xF_K6wa-35G5exlWRy5sD5esrITgYALe0UOATaLPHrE7ZajDAu9sHg2u0XD7VcExHSXSm4lqddlVqvDtyxsKQdFAC4aOa2n-wzO_9-ml_IW_Xlhdv_an8Fjz4/s1600/Captura+de+pantalla+de+2012-10-22+00:59:21.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRd-bhDys4Sr7xF_K6wa-35G5exlWRy5sD5esrITgYALe0UOATaLPHrE7ZajDAu9sHg2u0XD7VcExHSXSm4lqddlVqvDtyxsKQdFAC4aOa2n-wzO_9-ml_IW_Xlhdv_an8Fjz4/s1600/Captura+de+pantalla+de+2012-10-22+00:59:21.png&quot; width=&quot;297&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
  773. &lt;br /&gt;
  774. Lo interesante es ver que pasa si cambiamos el orden en las operaciones de cairo efectuadas (translate, scale, set_surface, paint).&lt;br /&gt;
  775. &lt;br /&gt;
  776. Si hacemos el scale despues del set_surface:&lt;br /&gt;
  777. &lt;br /&gt;
  778. &lt;div class=&quot;highlight&quot;&gt;
  779. &lt;pre&gt;        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;translate&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;win_width&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;image_width&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
  780.                &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;win_height&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;image_height&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  781.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_source_surface&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;_im_surface&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  782.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;scale&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;scale&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;scale&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  783.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;paint&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;&lt;/pre&gt;
  784. &lt;/div&gt;
  785. &lt;br /&gt;
  786. La imagen es transladada correctamente, pero no se escala:
  787. &lt;br /&gt;
  788. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
  789. &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKXWwH9RSjcHX54m6C4tkcf6-_6u90V0bqdmuto_u_sRPySDXqE79Z_K3kEb70Wc2GC274_mS9l3DvM3WhhGHASm_FbdFa2ZIyLZjJ4x3OB3pKmIw7UdROOgICxussGvQdrOJQ/s1600/Captura+de+pantalla+de+2012-10-22+01:07:47.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKXWwH9RSjcHX54m6C4tkcf6-_6u90V0bqdmuto_u_sRPySDXqE79Z_K3kEb70Wc2GC274_mS9l3DvM3WhhGHASm_FbdFa2ZIyLZjJ4x3OB3pKmIw7UdROOgICxussGvQdrOJQ/s1600/Captura+de+pantalla+de+2012-10-22+01:07:47.png&quot; width=&quot;297&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
  790. &lt;br /&gt;
  791. Y si hacemos el scale antes del translate:&lt;br /&gt;
  792. &lt;br /&gt;
  793. &lt;div class=&quot;highlight&quot;&gt;
  794. &lt;pre&gt;&lt;span class=&quot;n&quot;&gt;        cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;scale&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;scale&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;scale&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  795. &lt;span class=&quot;n&quot;&gt;        cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;translate&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;win_width&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;image_width&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
  796.                &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;win_height&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;image_height&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  797.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_source_surface&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;_im_surface&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  798.        &lt;span class=&quot;n&quot;&gt;cr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;paint&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;&lt;/pre&gt;
  799. &lt;/div&gt;
  800. &lt;br /&gt;
  801. La escala afecta al translate, por lo que se translada menos de lo que debería:
  802.  
  803. &lt;br /&gt;
  804. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
  805. &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4PbfG_PFd9sUliMcjRrogsOooZKtYUKrSHU1ChmE8FAE1HWFyyGeDJENrHMnTf_-Kyc_5TIl6wvMN4C8T-NkoAop5rLQnLT-suR9giHM8JmHEXrdCcL1zxTwsQyQnLJe9WNlm/s1600/Captura+de+pantalla+de+2012-10-22+01:14:15.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4PbfG_PFd9sUliMcjRrogsOooZKtYUKrSHU1ChmE8FAE1HWFyyGeDJENrHMnTf_-Kyc_5TIl6wvMN4C8T-NkoAop5rLQnLT-suR9giHM8JmHEXrdCcL1zxTwsQyQnLJe9WNlm/s1600/Captura+de+pantalla+de+2012-10-22+01:14:15.png&quot; height=&quot;320&quot; width=&quot;297&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
  806. &lt;br /&gt;
  807. Este caso es sencillo, porque hay una sola transformación efectuada, pero por ejemplo cuando hay escalados y rotaciones, se complica un poco más, y hay que tener bien en cuenta el orden en el que se aplican las transformaciones.&lt;br /&gt;
  808. En un próximo post voy a escribir acerca de algunos puntos para lograr buena performance usando Cairo.</content><link rel='replies' type='application/atom+xml' href='http://godiard.blogspot.com/feeds/4431150198806666565/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6706929/4431150198806666565?isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/4431150198806666565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/4431150198806666565'/><link rel='alternate' type='text/html' href='http://godiard.blogspot.com/2012/10/pequenas-lecciones-aprendidas-usando.html' title='Pequeñas lecciones aprendidas usando Cairo (1)'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02412149415810582119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKIZqlZSXrD59DErsm-NY0bm7tzKErXvvYOI7tvkFvemSu8tqKD7nOeDn_Ce7BbhPmPaOY1JnvqLolZTNmN089aMPGILmd_hFMzqrCrwbIJrDsuiBBzhGXunqjeqHSS8nhYKP4/s72-c/Captura_minimal_gtk2.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6706929.post-9191873369974857246</id><published>2012-09-22T01:58:00.001-03:00</published><updated>2012-09-22T01:59:03.058-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="olpc"/><category scheme="http://www.blogger.com/atom/ns#" term="sugar"/><category scheme="http://www.blogger.com/atom/ns#" term="sugarlabs"/><title type='text'>SugarLabs Day en la PyCon Argentina 2012</title><content type='html'>Del 12 al 17 de Noviembre, se realizará en Buenos Aires  &quot;PyCon Argentina 2012&quot;, la cuarta edición de la Conferencia sobre el lenguaje de programación Python, Software Libre y tecnologías relacionadas, en la Universidad Nacional de Quilmes (Bernal, Gran Buenos Aires), UrbanStation y EducacionIT (Capital Federal)&lt;br /&gt;
  809. En ese ámbito, tendremos un día completo, el Jueves 15, para Sugar, comenzando con un taller para ayudar a quienes se inician, y continuando con hacking por grupos de acuerdo a los intereses de los participantes.&lt;br /&gt;
  810. &lt;div&gt;
  811. Seguramente tendremos nuevos desarrollos y &quot;juguetes&quot; para compartir :)&lt;br /&gt;
  812. En los días posteriores hay muchas charlas de primer nivel, que son muy nuevas para descubrir nuevas tecnólogías y a la comunidad Python. Nuestro compañero Manuel Quiñones, por ejemplo, dará una charla acerca de port a Gtk3. Pueden consultar el &lt;a href=&quot;http://ar.pycon.org/2012/schedule/index&quot;&gt;cronograma completo&lt;/a&gt; y la&lt;a href=&quot;http://ar.pycon.org/2012/activity/speakers&quot;&gt; lista de oradores&lt;/a&gt;. La inscripción es gratuita, pero se necesita preinscribirse por web porque hay cupos limitados. Tienen más informacion en la &lt;a href=&quot;http://pyconar.blogspot.com.ar/2012/09/invitacion-al-publico.html&quot;&gt;invitacion&lt;/a&gt;, y cuando se anoten, no olviden ir a la página de &lt;a href=&quot;http://ar.pycon.org/2012/projects/index&quot;&gt;proyectos&lt;/a&gt;, y anotarse para participar en el SugarLabs Day.&lt;/div&gt;
  813. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
  814. &lt;a href=&quot;http://ar.pycon.org/2012/static/img/banner_es.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://ar.pycon.org/2012/static/img/banner_es.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
  815. &lt;div&gt;
  816. &lt;br /&gt;&lt;/div&gt;
  817. </content><link rel='replies' type='application/atom+xml' href='http://godiard.blogspot.com/feeds/9191873369974857246/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6706929/9191873369974857246?isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/9191873369974857246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/9191873369974857246'/><link rel='alternate' type='text/html' href='http://godiard.blogspot.com/2012/09/sugarlabs-day-en-la-pycon-argentina-2012.html' title='SugarLabs Day en la PyCon Argentina 2012'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02412149415810582119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6706929.post-1715049108840348558</id><published>2012-07-10T01:09:00.001-03:00</published><updated>2012-07-10T01:09:35.321-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="olpc"/><category scheme="http://www.blogger.com/atom/ns#" term="sugar"/><title type='text'>PyCamp 2012</title><content type='html'>Que bueno que estuvo el PyCamp! Pude participar solamente 2 días, pero fueron muy productivos.&lt;div&gt;
  818. &lt;ul&gt;
  819. &lt;li&gt;Me senté con Hugo Ruscitti, autor de &lt;a href=&quot;http://www.pilas-engine.com.ar/&quot;&gt;Pilas&lt;/a&gt;, que está trabajando en una &lt;a href=&quot;http://hugoruscitti.github.com/glucosa/&quot;&gt;librería&lt;/a&gt; para hacer más sencillo el uso de cairo desde python. Es interesante, porque trabajando con cairo, a nivel de aplicaciones, se nota que es de más bajo nivel que lo que se necesita, y las operaciones son complicadas, y suceptibles a errores.&lt;/li&gt;
  820. &lt;li&gt;&lt;/li&gt;
  821. &lt;li&gt;Diego Sarmentero, de &lt;a href=&quot;http://ninja-ide.org/&quot;&gt;NinjaIDE&lt;/a&gt;,me explicó, como aprovechar su código para hacer &amp;nbsp;autocompletado &amp;nbsp;y análisis de clases en Develop.&lt;/li&gt;
  822. &lt;li&gt;Con Martín Gaitan, estuvimos explorando como crear ebooks (en formato epub), con las páginas obtenidas de una lista de urls (&lt;a href=&quot;https://github.com/nqnwebs/haztelibro&quot;&gt;repo&lt;/a&gt;). Quiero hacer algo con eso en Browse, por ejemplo creando un ebook con las páginas seleccionadas en los bookmarks. Hay que analizar un poco el grado de limpieza que se quiere hacer en el html.&lt;/li&gt;
  823. &lt;li&gt;Con Manuel Quiñones hicimos una larga sesión de trabajo en el port de sugar a gtk3, y logramos que arranque, aunque por ahora solo se ve una pantalla blanca y la toolbar superior.&lt;/li&gt;
  824. &lt;li&gt;Mostramos Sugar y ayudamos a preparar entornos de desarrollo a varios interesados, en algunos casos usando VM y en otros con sugar-build.&lt;/li&gt;
  825. &lt;/ul&gt;
  826. Un evento excelente, con conversaciones interesantes en cada comida, y muy bien ambiente.&lt;/div&gt;
  827. &lt;div&gt;
  828. &lt;br /&gt;&lt;/div&gt;
  829. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
  830. &lt;a href=&quot;http://4.bp.blogspot.com/-nPPJJdrxvwE/S5ZYIZC3GzI/AAAAAAAART0/yBOsNMRiZMw/s727/2010-03-05+19.09.22.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;239&quot; src=&quot;http://4.bp.blogspot.com/-nPPJJdrxvwE/S5ZYIZC3GzI/AAAAAAAART0/yBOsNMRiZMw/s320/2010-03-05+19.09.22.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
  831. &lt;div&gt;
  832. &lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://godiard.blogspot.com/feeds/1715049108840348558/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6706929/1715049108840348558?isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/1715049108840348558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/1715049108840348558'/><link rel='alternate' type='text/html' href='http://godiard.blogspot.com/2012/07/pycamp-2012.html' title='PyCamp 2012'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02412149415810582119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-nPPJJdrxvwE/S5ZYIZC3GzI/AAAAAAAART0/yBOsNMRiZMw/s72-c/2010-03-05+19.09.22.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6706929.post-7317568947301155852</id><published>2012-04-17T00:56:00.001-03:00</published><updated>2012-04-17T00:56:25.797-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="olpc"/><category scheme="http://www.blogger.com/atom/ns#" term="sugar"/><title type='text'>Reunión Sugarlabs Argentina - Marzo 2012</title><content type='html'>Sin duda una de las mejores reuniones de los últimos tiempos, organizada por Hector y con la ayuda de un buen asado :)&lt;br /&gt;
  833. &lt;br /&gt;
  834. Contamos con una buena participación, Valentin Basel y sus robots (de Córdoba), Manuel (manuq) Quiñones (de Santa Fé), Manuel (humitos) Kaufmann de Entre Rios, y los locales Hector (karucha) Sanchez, Alejandro (alecu) Cura,&amp;nbsp;Hugo (pilas)Ruscitti y yo. Luego de comer y charlar bastante, malabarismos y demas divertimentos, hicimos planes para este año.&lt;br /&gt;
  835. &lt;br /&gt;
  836. Unos cuantos vamos a participar en el &lt;a href=&quot;http://python.org.ar/pyar/PyCamp/2012&quot;&gt;PyCamp&lt;/a&gt;, en Verónica del&amp;nbsp;6 al 9 de Julio. Va a ser una buena oportunidad para difundir Sugar en la comunidad python y encarar algun proyecto en conjunto.&lt;br /&gt;
  837. &lt;br /&gt;
  838. Tambien queremos ir al &lt;a href=&quot;http://edujam2012.blogspot.com.ar/&quot;&gt;eduJam&lt;/a&gt;, encuientro de desarrolladores a realizarse el 11 y 12 de mayo en Montevideo.&lt;br /&gt;
  839. &lt;br /&gt;
  840. Por último, durante la PyCon 2012, a realizarse del 12 al 17 de noviembre en Quilmes, Buenos Aires, nos han propuesto destinar un día completo de la semana para Sugar, por lo que hay que organizarlo. Para difundir esto, hemos decidido participar de los distintos PyDay que se realizan en diferentes ciudades, probablemente con una lighting talk, que prepararemos en la lista de correo.&lt;br /&gt;
  841. &lt;br /&gt;
  842. Asi que va a ser un año con buena actividad, y lo bueno es que lo podemos preparar con tiempo.</content><link rel='replies' type='application/atom+xml' href='http://godiard.blogspot.com/feeds/7317568947301155852/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6706929/7317568947301155852?isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/7317568947301155852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/7317568947301155852'/><link rel='alternate' type='text/html' href='http://godiard.blogspot.com/2012/04/reunion-sugarlabs-argentina-marzo-2012.html' title='Reunión Sugarlabs Argentina - Marzo 2012'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02412149415810582119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6706929.post-5344578952488568600</id><published>2012-04-17T00:22:00.001-03:00</published><updated>2012-04-17T00:22:34.447-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="olpc"/><category scheme="http://www.blogger.com/atom/ns#" term="sugar"/><title type='text'>Wikipedia (3)</title><content type='html'>En este post, por ahora el último acerca de las actividades wikipedia, les comento cual es el estado actual.&lt;br /&gt;
  843. Las actividades wikipedia en &lt;a href=&quot;http://activities.sugarlabs.org/es-ES/sugar/addon/4411&quot;&gt;ingles&lt;/a&gt; y &lt;a href=&quot;http://activities.sugarlabs.org/es-ES/sugar/addon/4401&quot;&gt;español&lt;/a&gt; que ya existían fueron actualizadas. Han crecido un poco de tamaño por lo que tengo que hacer una nueva seleccion de artículos.&lt;br /&gt;
  844. Ademas, se han agregado versiones en &lt;a href=&quot;http://activities.sugarlabs.org/es-ES/sugar/addon/4535&quot;&gt;polaco&lt;/a&gt;, &lt;a href=&quot;http://activities.sugarlabs.org/es-ES/sugar/addon/4540&quot;&gt;frances&lt;/a&gt;, &lt;a href=&quot;http://activities.sugarlabs.org/es-ES/sugar/addon/4536&quot;&gt;quechua&lt;/a&gt; y&amp;nbsp;&lt;a href=&quot;http://activities.sugarlabs.org/es-ES/sugar/addon/4532&quot;&gt;kinyarwanda&lt;/a&gt;, y una actividad basada en la &lt;a href=&quot;http://activities.sugarlabs.org/es-ES/sugar/addon/4547&quot;&gt;Simple English wikipedia&lt;/a&gt;, con artículos más reducidos.&lt;br /&gt;
  845. Armar nuevas actividades en otros idiomas es muy sencillo. si alguien está interesado en participar en el proceso, estoy disponible para ayudarlo a comenzar, no es necesario programar.&lt;br /&gt;
  846. &lt;div style=&quot;text-align: center;&quot;&gt;
  847. --------------&lt;/div&gt;
  848. In this post, for now the last about the wikipedia activities, I want comment what is the  current state.&lt;br /&gt;Wikipedia activities in English and Spanish than already existed were updated. Have grown slightly in size so I have to make a new selection of items.&lt;br /&gt;We have added versions in Polish, French, Quechua and Kinyarwanda, and an activity based on the Simple English Wikipedia, with smaller articles.&lt;br /&gt;Assemble new activities in other languages ​​is easy. if anyone is interested in participating in the process, I am available to help you start, no programming is required.</content><link rel='replies' type='application/atom+xml' href='http://godiard.blogspot.com/feeds/5344578952488568600/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6706929/5344578952488568600?isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/5344578952488568600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/5344578952488568600'/><link rel='alternate' type='text/html' href='http://godiard.blogspot.com/2012/04/wikipedia-3.html' title='Wikipedia (3)'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02412149415810582119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6706929.post-8653741006481641595</id><published>2012-01-11T17:06:00.000-03:00</published><updated>2012-01-11T17:06:16.045-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="olpc"/><category scheme="http://www.blogger.com/atom/ns#" term="sugar"/><title type='text'>Cambios en las actividades Wikipedia</title><content type='html'>Les comento que estuve avanzando en modernizar la actividad de wikipedia offline que usamos en las XO.&lt;br /&gt;Comento lo que hice, por las dudas que sirva:&lt;br /&gt;
  849. &lt;ul&gt;
  850. &lt;li&gt;Los datos se toman de un dump desde &lt;a href=&quot;http://dumps.wikimedia.org/&quot; target=&quot;_blank&quot;&gt;dumps.wikimedia.org&lt;/a&gt;,
  851. y se procesan hasta tener un archivo bz2 con el contenido (en formato
  852. wiki) de las páginas seleccionadas. Este proceso se hacia anteriormente
  853. con una mezcla de scripts y programas escritos en shell, perl, ruby,
  854. python y c. Ahora es todo python excepto un programa en c para leer
  855. bloques de un bzip2.&lt;/li&gt;
  856. &lt;li&gt;Bzip2 te permite leer un bloque determinado sin tener que leer todo el
  857. resto. Para poder aprovechar esto tenes que tener una tabla que te diga
  858. en que bloque esta la informacion que necesitas. Antes teniamos codigo
  859. propio para hacer esto, ahora estoy usando&amp;nbsp; seek-bzip2 [1]. Menos código
  860. para mantener.&amp;nbsp;&lt;/li&gt;
  861. &lt;li&gt;Para desplegar las ecuaciones matematicas,usabamos blahtexml. Ahora
  862. estoy usando MathJax [2], que es una solucion Javascript, que funciona
  863. bien en distintos navegadores, te permite seleccionar la ecuacion como
  864. un texto ampliarla y ver el fuente en latex. No es perfecta, es lenta en
  865. navegadores viejos y hay codigos latex que no son interpretados, pero
  866. es un proyecto con mucho movimiento y creo que se van a ir solucionando.
  867. Menos codigo para mantener, menos binarios tambien.&lt;/li&gt;
  868. &lt;li&gt;Para las busquedas usabamos una version del locate de freebsd
  869. modificado para que compilara en linux. Ahora estamos usando whoosh.
  870. Menos codigo para mantener, menos binarios tambien.&amp;nbsp;&lt;/li&gt;
  871. &lt;li&gt;La conversion
  872. de wiki a html se sigue haciendo con una version vieja de mwlib. Espero
  873. en una próxima release poder actualizarla o reemplazarla por algo que
  874. solo haga: substitucion de templates y conversion de wiki a html.&lt;/li&gt;
  875. &lt;/ul&gt;
  876. Por si les interesa, los fuentes estan en nuestro git [3] y hay un howto [4] en la wiki.&lt;br /&gt;&lt;br /&gt;Ya
  877. tengo versiones de test de actividades con la wikipedia en español y en
  878. polaco [5], y estoy preparando las versiones en ingles, francés y
  879. quechua.&lt;br /&gt;
  880. &lt;br /&gt;[1] &lt;a href=&quot;https://bitbucket.org/james_taylor/seek-bzip2&quot; target=&quot;_blank&quot;&gt;https://bitbucket.org/james_&lt;wbr&gt;&lt;/wbr&gt;taylor/seek-bzip2&lt;/a&gt;&lt;br /&gt;[2] &lt;a href=&quot;http://www.mathjax.org/&quot; target=&quot;_blank&quot;&gt;http://www.mathjax.org/&lt;/a&gt;&lt;br /&gt;
  881. [3] &lt;a href=&quot;http://dev.laptop.org/git/projects/wikiserver/&quot; target=&quot;_blank&quot;&gt;http://dev.laptop.org/git/&lt;wbr&gt;&lt;/wbr&gt;projects/wikiserver/&lt;/a&gt;&lt;br /&gt;[4] &lt;a href=&quot;http://wiki.sugarlabs.org/go/Activities/Wikipedia/HowTo&quot; target=&quot;_blank&quot;&gt;http://wiki.sugarlabs.org/go/&lt;wbr&gt;&lt;/wbr&gt;Activities/Wikipedia/HowTo&lt;/a&gt;&lt;br /&gt;
  882. [5] &lt;a href=&quot;http://dev.laptop.org/%7Egonzalo/wikiserver/&quot; target=&quot;_blank&quot;&gt;http://dev.laptop.org/~&lt;wbr&gt;&lt;/wbr&gt;gonzalo/wikiserver/&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://godiard.blogspot.com/feeds/8653741006481641595/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6706929/8653741006481641595?isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/8653741006481641595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/8653741006481641595'/><link rel='alternate' type='text/html' href='http://godiard.blogspot.com/2012/01/cambios-en-las-actividades-wikipedia.html' title='Cambios en las actividades Wikipedia'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02412149415810582119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6706929.post-6900493371648666960</id><published>2011-12-29T01:32:00.000-03:00</published><updated>2011-12-29T01:32:10.379-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="olpc"/><category scheme="http://www.blogger.com/atom/ns#" term="sugar"/><title type='text'>Crear uno, dos, tres... mil Wikipedias</title><content type='html'>Entre las actividades más utilizadas en Sugar, seguramente estan las Wikipedias offline (en español y en ingles). Estas actividades estan un poco desactualizadas actualemente, pero ademas el proceso para crear una nueva actividad es bastante complejo y no está muy bien documentado.&lt;br /&gt;
  883. Por eso, en estas últimas semanas, estuve trabajando en modernizar el proceso, eliminar todo lo que no fuera necesario, hacerlo más sencillo y documentarlo, de forma de que otros voluntarios puedan crear nuevas versiones de Wikipedias offline, quizas en otros idiomas, o con selecciones de grupos de páginas de temas específicos, como historia, geografía o ciencias naturales.&lt;br /&gt;
  884. Hay otros proyectos que tratan de hacer wikipedias offline, pero en general toman todo el contenido disponible. En nuestro caso, tenemos limitaciones de espacio, por lo que es importante tener un procedimiento de seleccion de páginas. En un próximo post voy a escribir acerca de como funcionan estas herramientas.&lt;br /&gt;
  885. Un instructivo acerca de como preparar una wikipedia se encuentra aqui: &lt;a href=&quot;http://wiki.sugarlabs.org/go/Activities/Wikipedia/HowTo&quot;&gt;http://wiki.sugarlabs.org/go/Activities/Wikipedia/HowTo&lt;/a&gt; . Estoy interesado en feedback acerca del procedimiento y ver que adaptaciones/mejoras podemos hacerle.&lt;br /&gt;
  886. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
  887. &lt;a href=&quot;http://wiki.sugarlabs.org/images/9/9a/Wikipedia_test.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;448&quot; src=&quot;http://wiki.sugarlabs.org/images/9/9a/Wikipedia_test.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://godiard.blogspot.com/feeds/6900493371648666960/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6706929/6900493371648666960?isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/6900493371648666960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/6900493371648666960'/><link rel='alternate' type='text/html' href='http://godiard.blogspot.com/2011/12/crear-uno-dos-tres-mil-wikipedias.html' title='Crear uno, dos, tres... mil Wikipedias'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02412149415810582119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6706929.post-2873076680126278286</id><published>2011-12-19T10:28:00.001-03:00</published><updated>2011-12-19T10:28:52.430-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="olpc"/><category scheme="http://www.blogger.com/atom/ns#" term="sugar"/><title type='text'>We are upstream now</title><content type='html'>El hackaton de Rosario terminó, con algunas agradables sorpresas.&lt;br /&gt;
  888. Por ejemplo Daniel Drake apareció de la nada, un día mientras estabamos trabajando :) También Martin trajo nuevo hardware para investigar.&lt;br /&gt;
  889. Continuamos trabajando en la migración a GTK3, con importantes avances por parte de Manuel con respecto al tema y Simon y Daniel con respecto a las palettes. Muy interesante fué la interacción con los desarrolladores de GTK y Gnome, ahora ques estamos desarrollando con las últimas versiones de las librerías.&lt;br /&gt;
  890. Yo avancé bastante con la actividad Wikipedia y pude analizar con Martin el trabajo realizado y ver cuales son los puntos pendientes.&lt;br /&gt;
  891. Para finalizar, pudimos presenciar la premier de &quot;&lt;a href=&quot;http://animacionquebracho.org.ar/&quot;&gt;Viaje a la tierra del quebracho&lt;/a&gt;&quot;, el corto de animación dirigido por nuestro compañero Manuel Quiñones.&lt;br /&gt;
  892. Vine encantado con la ciudad de Rosario, en particular con la zona ribereña, con sus parques y propuestas para todo tipo de gente. Hay lugares para hacer teatro, artes plásticas, deportes, etc, y es muy distinto a lo que se hizo por ejemplo en Puerto Madero, donde se privilegió un negocio millonario para unos pocos.&lt;br /&gt;
  893. &lt;br /&gt;
  894. &lt;br /&gt;
  895. &lt;br /&gt;
  896. &lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://godiard.blogspot.com/feeds/2873076680126278286/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6706929/2873076680126278286?isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/2873076680126278286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/2873076680126278286'/><link rel='alternate' type='text/html' href='http://godiard.blogspot.com/2011/12/we-are-upstream-now.html' title='We are upstream now'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02412149415810582119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6706929.post-5940165742029402449</id><published>2011-12-09T00:13:00.001-03:00</published><updated>2011-12-09T00:16:34.382-03:00</updated><title type='text'>La doctrina del shock</title><content type='html'>Hace poco terminé de leer &quot;&lt;a href=&quot;http://www.naomiklein.org/shock-doctrine/materiales-espanol&quot;&gt;La doctrina del shock&lt;/a&gt;&quot; de Naomi Klein. Es un libraco que da bronca leer, pero muy recomendable. Hoy Gustavo comparte la nota &quot;&lt;a href=&quot;http://www.perfil.com/ediciones/2011/12/edicion_632/contenidos/noticia_0047.html&quot;&gt;¿Quien tiene el poder?&lt;/a&gt;&quot; donde la historia continua, ahora en Europa.</content><link rel='replies' type='application/atom+xml' href='http://godiard.blogspot.com/feeds/5940165742029402449/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6706929/5940165742029402449?isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/5940165742029402449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/5940165742029402449'/><link rel='alternate' type='text/html' href='http://godiard.blogspot.com/2011/12/la-doctrina-del-shock.html' title='La doctrina del shock'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02412149415810582119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6706929.post-821765995849344644</id><published>2011-12-09T00:06:00.001-03:00</published><updated>2011-12-09T00:13:30.482-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="olpc"/><category scheme="http://www.blogger.com/atom/ns#" term="sugar"/><title type='text'>Hackaton en Rosario</title><content type='html'>Estos días estamos trabajando en Rosario, Manuel, Simon y yo, y han sido unos días muy productivos. Hemos podido avanzar en varias areas relativas a la migración a GTK3. Manuel &lt;a href=&quot;http://wiki.sugarlabs.org/go/Features/GTK3/Theme&quot;&gt;avanzó bastante con el tema&lt;/a&gt; (definiciones de apariencia de los objetos gráficos de las actividades), Simon solucinó varios problemas y empaquetó componentes necesarios y yo hice un poco de investigación en estos temas y trabajé en las nuevas herramientas para desarrollo de wikipedia offline. Tambien tenemos nuevas versiones empaquetadas de las actividades Read y Browse.&lt;br /&gt;
  897. Simon escribió un &lt;a href=&quot;http://erikos.sweettimez.de/?p=1060&quot;&gt;post más explicativo&lt;/a&gt;.&lt;br /&gt;
  898. Rosario es una ciudad hermosa, aún con el calor.&lt;br /&gt;
  899. &lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://godiard.blogspot.com/feeds/821765995849344644/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6706929/821765995849344644?isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/821765995849344644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/821765995849344644'/><link rel='alternate' type='text/html' href='http://godiard.blogspot.com/2011/12/hackaton-en-rosario.html' title='Hackaton en Rosario'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02412149415810582119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6706929.post-4680503126986898966</id><published>2011-10-31T09:44:00.002-03:00</published><updated>2011-10-31T09:49:09.270-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="olpc"/><category scheme="http://www.blogger.com/atom/ns#" term="sugar"/><title type='text'>Feria Ceibal 2011</title><content type='html'>El viernes 28 y sábado 29 participé de la &lt;a href=&quot;http://www.cep.edu.uy/Feria-Ceibal/programa.html&quot;&gt;Feria Ceibal&lt;/a&gt;, en Montevideo. El primer día se hizo una exposición con los trabajos ganadores de cada departamento, y fué muy interesante ver los trabajos presentados y poder charlar con alumnos y maestros.&lt;br /&gt;
  900. Pude ver muchos usos diferentes de Fototoon, libros dinámicos con etoys, en algunos casos se habían usado muchas actividades distintas en el mismo proyecto, como en el caso de la escuela que presentó un proyecto de huerta, o de la campaña Cero Falta, y tambien usos muy creativos de TamTam, como la sonorizacion de &quot;&lt;a href=&quot;http://www.youtube.com/watch?v=Sc4caoi5sIQ&quot;&gt;El miedo a la luz mala&lt;/a&gt;&quot; o los alumnos que interpretaron &quot;La cumparsita&quot; con sus XO. Hubo proyectos en los que se notaba muchisimo trabajo de parte de los alumnos (como una animación con mas de un centenar de imagenes!)Lamentablemente saqué fotos con un celular y no salieron muy bien, aqui pongo algunas de las que salieron mejor.&lt;br /&gt;
  901. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
  902. &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0qiM7E3aGtx44-3GqF7rhKkf83-zm4e1SCpWtvuYhs8wDipcqly_Tcb9oe35pv05XT9IJsLFsJ9IJJnA30Dsjwg_n_ULq82PPe0RTdeCAC_BwP5hlCFc-HPoV1FPuqIe2vrxi/s1600/2011-10-28_14-05-26_69.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0qiM7E3aGtx44-3GqF7rhKkf83-zm4e1SCpWtvuYhs8wDipcqly_Tcb9oe35pv05XT9IJsLFsJ9IJJnA30Dsjwg_n_ULq82PPe0RTdeCAC_BwP5hlCFc-HPoV1FPuqIe2vrxi/s320/2011-10-28_14-05-26_69.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
  903. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
  904. &lt;br /&gt;&lt;/div&gt;
  905. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
  906. &lt;/div&gt;
  907. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
  908. &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzSnM-131jLT6Ncj5-Sv7HMJNSYfZiOKVEGTxlNyWGcKh_cVHqkj-Y67bRrwVlLsifjFIWYoitP_QptEoCLgqT0uIGLXxx8YGx3x6aCfy74reArW2v6XWLqpTShYgludwEQuV-/s1600/2011-10-28_14-05-12_269.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzSnM-131jLT6Ncj5-Sv7HMJNSYfZiOKVEGTxlNyWGcKh_cVHqkj-Y67bRrwVlLsifjFIWYoitP_QptEoCLgqT0uIGLXxx8YGx3x6aCfy74reArW2v6XWLqpTShYgludwEQuV-/s320/2011-10-28_14-05-12_269.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
  909. &lt;br /&gt;
  910. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
  911. &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTlzaeYsh9Eht2u-tkC-2HnEWUFQRDhzijeohucEd5de2GytmcBXO80xLlInv4eMqH5m1ZJwksC6dGsoOETMZ2klrDHV_boPQHKOXId6UGHZc9IAoAv23zIBYQqQUSOssF7w7h/s1600/2011-10-28_14-51-48_366.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTlzaeYsh9Eht2u-tkC-2HnEWUFQRDhzijeohucEd5de2GytmcBXO80xLlInv4eMqH5m1ZJwksC6dGsoOETMZ2klrDHV_boPQHKOXId6UGHZc9IAoAv23zIBYQqQUSOssF7w7h/s320/2011-10-28_14-51-48_366.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
  912. &lt;br /&gt;
  913. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
  914. &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHFEDJpxaSTPt_VsfjndON0o6qjjQWYHEY7LnPrXJPmBr0pwhGDzVAJUbsezMfnpzssF_QZR-y2yr8SgiaIu3gJ1QS8t_Fk9BrYRk8BbBVznh-NyNz1RT5m3hXjA5IuNdMBDfb/s1600/2011-10-28_14-12-23_530.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHFEDJpxaSTPt_VsfjndON0o6qjjQWYHEY7LnPrXJPmBr0pwhGDzVAJUbsezMfnpzssF_QZR-y2yr8SgiaIu3gJ1QS8t_Fk9BrYRk8BbBVznh-NyNz1RT5m3hXjA5IuNdMBDfb/s320/2011-10-28_14-12-23_530.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
  915. &lt;br /&gt;
  916. Como Manuel también fué, aprovechamos para organizar nuestro trabajo, y codear un poco.&lt;br /&gt;
  917. El sábado fué día de charlas. Di un taller acerca del uso de la programación en el aula, usando tres ejemplos, busqueda de números primos, generación de frases aleatorias y hacer que la XO toque música en base a un string con las notas. La dinámica fué escribir los programas usando Pippy en la XO y hacer todo el proceso de ejecutar y solucionar errores hasta que el programa funciona correctamente. La mayoría de quienes participaron del taller, no tenían experiencia previa en programación python, pero habiendo usado Tortugarte o Scratch entendian la lógica.&lt;br /&gt;
  918. En total deben haber participado menos de 30 personas, lo cual permitió resolver dudas y hacerlo dinámico, pero no se si justifica la movida de ir hasta Montevideo.&lt;br /&gt;
  919. De todas formas, en los tiempos entre taller y taller, pude charlar con los otros talleristas, voluntarios y con maestras contenidistas y dinamizadoras, y fué muy provechoso para obtener información de necesidades, formas de trabajo y las estrategias que se estan utilizando. &lt;br /&gt;
  920. &lt;br /&gt;
  921. &lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://godiard.blogspot.com/feeds/4680503126986898966/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6706929/4680503126986898966?isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/4680503126986898966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/4680503126986898966'/><link rel='alternate' type='text/html' href='http://godiard.blogspot.com/2011/10/feria-ceibal-2011.html' title='Feria Ceibal 2011'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02412149415810582119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0qiM7E3aGtx44-3GqF7rhKkf83-zm4e1SCpWtvuYhs8wDipcqly_Tcb9oe35pv05XT9IJsLFsJ9IJJnA30Dsjwg_n_ULq82PPe0RTdeCAC_BwP5hlCFc-HPoV1FPuqIe2vrxi/s72-c/2011-10-28_14-05-26_69.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6706929.post-3184619192906330315</id><published>2011-09-26T12:42:00.001-03:00</published><updated>2011-09-27T07:14:22.054-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="olpc"/><category scheme="http://www.blogger.com/atom/ns#" term="sugar"/><title type='text'>SugarCamp Junin día uno</title><content type='html'>Hemos aprovechado el hecho de que la comunidad python de argentina (PyAr) organiza su PyCon en la ciudad de Junin (Buenos Aires) y organizamos un evento de dos días en la misma ciudad,para intentar acercar a miembros de esa comunidad.&lt;br /&gt;
  922. &lt;br /&gt;
  923. El primer día fué un éxito. Guillermo Arancio (La Rioja), Diego Sanmantero (Ninja), Agustin&amp;nbsp;&lt;span class=&quot;gD&quot; style=&quot;color: #00681c;&quot;&gt; &lt;span style=&quot;color: black;&quot;&gt;Zubiaga&lt;/span&gt;&lt;/span&gt; y Cristopher Travieso (de 14 años), Hector Sanchez, Javier Kragen, Valentin Basel (Cordoba), Pablo Flores, Flavio Danesse, Manuel&quot;Manuq&quot; Quiñones, Alejandro Cura, Manuel &quot;Mandel&quot; de la Peña, Gustavo Ibarra, Hugo Ruscitti (Pilas), David Weil, Gonzalo Odiard, Emilio Ramirez, participamos en distintas tareas.&lt;br /&gt;
  924. &lt;br /&gt;
  925. Muchos desarrollaban para Sugar por primera vez, por lo que ayudamos a todos a tener sus entornos de desarrollo. Hugo tiene un proyecto muy bueno llamado &lt;a href=&quot;http://www.pilas-engine.com.ar/&quot;&gt;Pilas&lt;/a&gt; que es ideal para chicos, y se trabajó en su integración como una actividad, y por otro lado se preparó una actividad para instalar plugins para TutrleArt.&lt;br /&gt;
  926. El trabajo en la actividad para usar Pilas, demostró lo bueno que es tener gente con distintos conocimientos en el mismo lugar, se resolvieron muchos problemas distintos, como embeber Qt en una actividad, tanto visualmente como las librerias. Tambien se usó una consola bastante potente, desarrollada en muy poco tiempo por los desarrolladores de &lt;a href=&quot;http://www.ninja-ide.org/&quot;&gt;NinjaIDE.&lt;/a&gt; &lt;br /&gt;
  927. &lt;br /&gt;
  928. &lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBDItHgcZZwVMbCHHcWsuMc2_udsAm4vSuP9hkFxdvRtmpoBhMXhwAovQgolN8p-Ki_51ko87NZJiknN07JmwcPay_q6tWLDfm9rsNKaB6yNhC9NqL4gwdrrFXJBCZdyDtRuxX/s1600/2011-09-25_14-34-55_624.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBDItHgcZZwVMbCHHcWsuMc2_udsAm4vSuP9hkFxdvRtmpoBhMXhwAovQgolN8p-Ki_51ko87NZJiknN07JmwcPay_q6tWLDfm9rsNKaB6yNhC9NqL4gwdrrFXJBCZdyDtRuxX/s320/2011-09-25_14-34-55_624.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
  929. El lugar es muy apropiado, realmente ayuda a desconectarse y a poder trabajar sin pensar en otras cosas. Algunas fotos pueden verse en &lt;a href=&quot;https://picasaweb.google.com/godiard/SucarCampJunin?authuser=0&amp;amp;feat=directlink&quot;&gt;https://picasaweb.google.com/godiard/SucarCampJunin?authuser=0&amp;amp;feat=directlink&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://godiard.blogspot.com/feeds/3184619192906330315/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6706929/3184619192906330315?isPopup=true' title='1 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/3184619192906330315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/3184619192906330315'/><link rel='alternate' type='text/html' href='http://godiard.blogspot.com/2011/09/sugarcamp-junin-dia-uno.html' title='SugarCamp Junin día uno'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02412149415810582119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBDItHgcZZwVMbCHHcWsuMc2_udsAm4vSuP9hkFxdvRtmpoBhMXhwAovQgolN8p-Ki_51ko87NZJiknN07JmwcPay_q6tWLDfm9rsNKaB6yNhC9NqL4gwdrrFXJBCZdyDtRuxX/s72-c/2011-09-25_14-34-55_624.jpg" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6706929.post-3851724275153718298</id><published>2011-08-01T02:23:00.000-03:00</published><updated>2011-08-01T02:23:18.566-03:00</updated><title type='text'>¿Que estamos haciendo en el equipo de desarrollo Sugar?</title><content type='html'>El equipo de desarrollo de Sugar finalizó la versión 11.2, en la que estuvimos trabajando en los últimos 6 meses. Esta versión cumplió una función importante, ahora el software que estamos desarrollando para incluir en las XO incluye las última versiones de software desarrolladas por la comunidad. Hasta la version anterior, había una gran diferencia, OLPC incluía la version 0.84 de Sugar, y la comunidad ya estaba en la versión 0.92, lo que quiere decir que estabamos aproximadamente 2 años atrasados.&lt;br /&gt;
  930. Este trabajo de incluir tantos cambios, sumado al hecho de que tambien actualizamos la versión de Fedora usada (pasamos de la 11 a la 14) hace que si bien hay muchas mejoras, no todas estan terminadas, en especial en lo que respecta a la colaboración. Por lo tanto, antes de adoptar esta versión masivamente recomendamos una buena evaluación. Es por esto que llamamos a esta una &quot;pre release&quot; y planeamos hacer la release definitiva, a final de este año.&lt;br /&gt;
  931. Algunas de las mejoras incluidas en 11.2 son el agregado de las actividades Abacus, Clock, FotoToon, Ruler y Hello World; actualización a Sugar 0.92 y Gnome 2.32, y muchas mejoras en Paint, GetBooks, Read, InfoSlicer y Turtle Blocks. Tambien tenemos un nuevo driver de video para la XO-1.5, más rápida instalación de las imagenes y &lt;a href=&quot;http://wiki.laptop.org/go/Release_notes/11.2.0&quot;&gt;muchos cambios más&lt;/a&gt;. &lt;br /&gt;
  932. ¿Cuales son los planes para los próximos meses? &lt;br /&gt;
  933. Haremos una versión sin muchos cambios, porque el objetivo es que todo funcione perfectamente en las nuevas XO-1.75, que tienen procesador ARM. Esto quiere decir que todo el sistema operativo debe ser compilado y hay que hacer nuevos drivers para todo el hardware. Afortunadamente ya hay un equipo trabajando en eso y ya tenemos una version de test de Fedora 14 funcionando en los prototipos de la XO-1.75.&lt;br /&gt;
  934. Personalmente, voy a trabajar con Manuel Quiñones para tener listo nuestro servidor de libros Pathagar y la actividad GetBooks soportando catalogos, con lo que podremos distribuir de una forma mucho mejor libros y recursos.&lt;br /&gt;
  935. Tambien planemos tener &lt;a href=&quot;http://wiki.sugarlabs.org/go/Design_Team/Toolbar_Catalog&quot;&gt;todas nuestras actividades&lt;/a&gt; con nuevas toolbars y con un control exaustivo de las mismas para que se comporten de forma coherente. Esto esta avanzando a una velocidad impensada, gracias a la ayuda de unos cuantos amigos :)&lt;br /&gt;
  936. Y finalmente actualizar los contenidos incluidos en la imagen, y si es posible, una mejor selección de Fonts.&lt;br /&gt;
  937. &lt;br /&gt;
  938. Y a ustedes, ¿que les gustaría incluir o mejorar en Sugar o en las actividades?</content><link rel='replies' type='application/atom+xml' href='http://godiard.blogspot.com/feeds/3851724275153718298/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6706929/3851724275153718298?isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/3851724275153718298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/3851724275153718298'/><link rel='alternate' type='text/html' href='http://godiard.blogspot.com/2011/08/que-estamos-haciendo-en-el-equipo-de.html' title='¿Que estamos haciendo en el equipo de desarrollo Sugar?'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02412149415810582119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6706929.post-6784953971489454071</id><published>2011-07-18T16:46:00.000-03:00</published><updated>2011-07-18T16:46:22.284-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="olpc"/><category scheme="http://www.blogger.com/atom/ns#" term="sugarlabs"/><title type='text'>Desatalibros</title><content type='html'>Con Guadalupe empezamos el proyecto &lt;a href=&quot;http://desatalibros.blogspot.com/&quot;&gt;Desatalibros&lt;/a&gt;, que tiene como objetivo crear e-books de textos seleccionados con ilustraciones de artístas gráficos.&lt;br /&gt;
  939. Nos orientamos a textos para niños y jóvenes, útiles en el ámbito educativo, pero como nos gusta leer, queremos que sean interesantes y atractivos.&lt;br /&gt;
  940. &lt;br /&gt;
  941. &lt;a href=&quot;http://desatalibros.blogspot.com/2011/07/derechos-humanos.html&quot;&gt;Nuestro primer proyecto&lt;/a&gt; es trabajar con la declaración de los derechos del hombre, que se encuentra traducida a 400 idiomas, promoviendo la reflexión acerca de los derechos, pero tambien acerca de la diversidad e identidad cultural, en una especie de &quot;piedra Roseta&quot; digital.&lt;br /&gt;
  942. &lt;br /&gt;
  943. Estamos convocando a artistas plásticos, a colaborar con dibujos relativos a cada uno de los &lt;a href=&quot;http://www.ohchr.org/EN/UDHR/Pages/Language.aspx?LangID=spn&quot;&gt;derechos&lt;/a&gt; enunciados. Quienes esten interesados en participar dejennos un mensaje o manden un mail a &lt;span class=&quot;gI&quot;&gt;&lt;span class=&quot;go&quot;&gt;desatalibros gmail com.&lt;/span&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://godiard.blogspot.com/feeds/6784953971489454071/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/6706929/6784953971489454071?isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/6784953971489454071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6706929/posts/default/6784953971489454071'/><link rel='alternate' type='text/html' href='http://godiard.blogspot.com/2011/07/desatalibros.html' title='Desatalibros'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/02412149415810582119</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>

If you would like to create a banner that links to this page (i.e. this validation result), do the following:

  1. Download the "valid Atom 1.0" banner.

  2. Upload the image to your own server. (This step is important. Please do not link directly to the image on this server.)

  3. Add this HTML to your page (change the image src attribute if necessary):

If you would like to create a text link instead, here is the URL you can use:

http://www.feedvalidator.org/check.cgi?url=http%3A//feeds.feedburner.com/TantasCosasParaHacerYTanPocoTiempo

Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda