<?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: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-3369026469361972886</id><updated>2012-02-13T18:12:44.473-08:00</updated><category term='dvd-slideshow'/><category term='conferencia'/><category term='miembros'/><category term='crash'/><category term='bttv'/><category term='customizacion'/><category term='software libre'/><category term='author'/><category term='zmi'/><category term='tutorial'/><category term='remote'/><category term='blender'/><category term='code snippets'/><category term='django'/><category term='dvd'/><category term='lirc'/><category term='pycon'/><category term='kde'/><category term='argentina'/><category term='gpl'/><category term='plone'/><category term='3D'/><category term='python'/><category term='varios'/><category term='slideshow'/><category term='script'/><category term='debian'/><category term='kernel 2.6.24'/><category term='registration'/><category term='anima 09'/><category term='portal tool'/><category term='diseño'/><category term='amarok'/><category term='bienvenida'/><title type='text'>Frapell's Blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.frapell.com.ar/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3369026469361972886/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://blog.frapell.com.ar/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>frapell</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3369026469361972886.post-7010998276841416414</id><published>2010-12-17T06:26:00.000-08:00</published><updated>2010-12-17T10:55:36.000-08:00</updated><title type='text'>El adiós a un grande</title><content type='html'>En el día de ayer (Jueves 16 de Diciembre del 2010) se despidieron los restos de una de las personas más grandes que tuve el gusto de conocer, el Dr. Julio César Salazar.&lt;br /&gt;Yo lo conocía desde poco menos de un año, y en ese tiempo, pude ver lo excelente persona que era. Que se vio evidenciado en su despedida. Muy emotiva, repleta de gente, familiares, amigos y mucho más.&lt;br /&gt;&lt;br /&gt;Son estos momentos, los que a uno le hacen pensar y darse cuenta, cuales son las cosas que hacen "grande" a una persona. Cuales son las acciones que marcan una huella profunda en la vida de los que nos rodean. Qué es una verdadera "riqueza"... y ésta no es tener millones de dolares, casas, vehículos, etc. Es que miles de personas te lleven en sus memorias y en sus corazones, gracias a tus buenas acciones completamente desinteresadas.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_wYkpf7-UiUc/TQunMa4r1yI/AAAAAAAAC6s/6iwL0wN2r7w/s1600/velatorio.jpeg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 399px; height: 223px;" src="http://2.bp.blogspot.com/_wYkpf7-UiUc/TQunMa4r1yI/AAAAAAAAC6s/6iwL0wN2r7w/s320/velatorio.jpeg" alt="" id="BLOGGER_PHOTO_ID_5551714797481613090" border="0" /&gt;&lt;/a&gt;&lt;blockquote&gt;Que vale más? haber amasado una fortuna monetaria o una fortuna sentimental? que a tu velorio vayan un puñado de interesados por obtener tajada en lo que dejaste o que vaya todo un pueblo porque sienten profundamente que te hayas ido ?&lt;/blockquote&gt;&lt;br /&gt;Una de las cosas que dijo el padre en el velatorio fue "Quien no le debe algo a julito?", evidenciando así la completa entrega de Julio por ayudar a quien lo necesitara, recibiendo cualquier cosa a cambio de atención medica, inclusive a veces nada... lo cual me trajo instantáneamente a mi cabeza al &lt;a href="http://es.wikipedia.org/wiki/Ren%C3%A9_Favaloro"&gt;Dr. René Favaloro&lt;/a&gt;. Quizás Julio no fue tan conocido, o no realizó una obra tan significativa como Favaloro, pero considero que su entrega, dedicación, pasión por lo que hacía, instinto de ayudar sin importar nada, ética, moral, y sus valores personales, fueron iguales.&lt;br /&gt;&lt;br /&gt;Y a pesar de haber sido una persona excepcional, la vida lo trató de la peor forma... dándole una terrible enfermedad que lo mantuvo sufriendo durante meses. Una asquerosa injusticia de la cual no existe libro de quejas para reclamar.&lt;br /&gt;&lt;br /&gt;El mundo perdió a una persona excelente, a un flor de tipo, de esos que hay pocos.&lt;br /&gt;&lt;br /&gt;Querido Julito, para concluir este breve escrito, me despido hasta siempre, con las mismas últimas palabras que me dijiste:&lt;br /&gt;"Te voy a extrañar mucho"&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_wYkpf7-UiUc/TQux-2ejpoI/AAAAAAAAC60/7suaD8Jx-lE/s1600/Julito.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 233px; height: 320px;" src="http://4.bp.blogspot.com/_wYkpf7-UiUc/TQux-2ejpoI/AAAAAAAAC60/7suaD8Jx-lE/s320/Julito.jpg" alt="" id="BLOGGER_PHOTO_ID_5551726658997954178" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Q.E.P.D - Dr. Julio César Salazar  (09/07/1951 - 15/12/2010)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3369026469361972886-7010998276841416414?l=blog.frapell.com.ar' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.frapell.com.ar/feeds/7010998276841416414/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3369026469361972886&amp;postID=7010998276841416414' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3369026469361972886/posts/default/7010998276841416414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3369026469361972886/posts/default/7010998276841416414'/><link rel='alternate' type='text/html' href='http://blog.frapell.com.ar/2010/12/el-adios-un-grande.html' title='El adiós a un grande'/><author><name>frapell</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_wYkpf7-UiUc/TQunMa4r1yI/AAAAAAAAC6s/6iwL0wN2r7w/s72-c/velatorio.jpeg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3369026469361972886.post-993478541753164116</id><published>2010-06-08T15:35:00.000-07:00</published><updated>2011-12-17T10:12:46.696-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='code snippets'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='crash'/><category scheme='http://www.blogger.com/atom/ns#' term='plone'/><title type='text'>Problema con StoneageHTML y cssutils</title><content type='html'>Si has llegado a este post por realizar una busqueda en tu buscador favorito, lo mas probable que sea porque te has topado con el mismo problema que me hizo renegar unas buenas horas. Y es ese el motivo por el cual agrego esta entrada a mi blog, quizas a alguien mas le ahorra un par de horas.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;blockquote&gt;&lt;br /&gt;Time 2010/05/31 14:28:38.352 GMT-3&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;User Name (User Id) xxxxxxxx (xxxxxxxx)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Request URL&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://xxxxxxxxxxxxxxxx:8080/[…]/newsletter-stats.html&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Exception Type AttributeError&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Exception Value 'list' object attribute 'append' is read-only&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Traceback (innermost last):&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module ZPublisher.Publish, line 119, in publish&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module ZPublisher.mapply, line 88, in mapply&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module ZPublisher.Publish, line 42, in call_object&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module plone.z3cform.layout, line 49, in __call__&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module Shared.DC.Scripts.Bindings, line 313, in __call__&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module Shared.DC.Scripts.Bindings, line 350, in _bindAndExec&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module Products.PageTemplates.PageTemplateFile, line 129, in _exec&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module Products.PageTemplates.PageTemplate, line 89, in pt_render&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.pagetemplate.pagetemplate, line 117, in pt_render&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 271, in __call__&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 346, in interpret&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 891, in do_useMacro&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 346, in interpret&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 536, in do_optTag_tal&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 521, in do_optTag&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 516, in no_tag&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 346, in interpret&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 891, in do_useMacro&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 346, in interpret&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 536, in do_optTag_tal&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 521, in do_optTag&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 516, in no_tag&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 346, in interpret&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 949, in do_defineSlot&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 346, in interpret&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 536, in do_optTag_tal&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 521, in do_optTag&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 516, in no_tag&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 346, in interpret&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 957, in do_defineSlot&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 346, in interpret&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 536, in do_optTag_tal&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 521, in do_optTag&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 516, in no_tag&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 346, in interpret&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 891, in do_useMacro&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 346, in interpret&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 957, in do_defineSlot&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 346, in interpret&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 536, in do_optTag_tal&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 521, in do_optTag&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 516, in no_tag&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 346, in interpret&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 534, in do_optTag_tal&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 516, in no_tag&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 346, in interpret&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 949, in do_defineSlot&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 346, in interpret&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 536, in do_optTag_tal&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 521, in do_optTag&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 516, in no_tag&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 346, in interpret&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 949, in do_defineSlot&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 346, in interpret&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tal.talinterpreter, line 586, in do_setLocal_tal&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Module zope.tales.tales, line 696, in evaluate&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;URL: controlpanel&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Line 10, Column 4&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Expression: &lt;pathexpr&gt;&lt;br /&gt;&lt;br /&gt;      Names:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;      {'container': &lt;channelcontainer&gt;,&lt;br /&gt;&lt;br /&gt;       'context': &lt;channelcontainer&gt;,&lt;br /&gt;&lt;br /&gt;       'default': &lt;object&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;,&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;'here': &lt;channelcontainer&gt;,&lt;br /&gt;&lt;br&gt;       'loop': {},&lt;br /&gt;&lt;br&gt;       'nothing': None,&lt;br /&gt;&lt;br&gt;       'options': {'args': ()},&lt;br /&gt;&lt;br&gt;       'repeat': &lt;products.pagetemplates.expressions.safemapping&gt;,&lt;br /&gt;&lt;br&gt;       'request': &lt;httprequest, &lt;br=""&gt;URL=http://xxxxxxxxxxxxxxxx:8080/[…]/newsletter-stats.html&amp;gt;,&lt;br /&gt;&lt;br&gt;       'root': &lt;application&gt;,&lt;br /&gt;&lt;br&gt;       'template': &lt;implicitacquirerwrapper&gt;,&lt;br /&gt;&lt;br&gt;       'traverse_subpath': [],&lt;br /&gt;&lt;br&gt;       'user': &lt;ploneuser&gt;,&lt;br /&gt;&lt;br&gt;       'view': &lt;products.five.metaclass.myformwrapper&gt;,&lt;br /&gt;&lt;br&gt;       'views': &lt;zope.app.pagetemplate.viewpagetemplatefile.viewmapper &lt;br="" at="" object=""&gt;0xb0e04a8c&amp;gt;}&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;    * Module zope.tales.expressions, line 217, in __call__&lt;br /&gt;&lt;br&gt;    * Module Products.PageTemplates.Expressions, line 161, in _eval&lt;br /&gt;&lt;br&gt;    * Module Products.PageTemplates.Expressions, line 123, in render&lt;br /&gt;&lt;br&gt;    * Module plone.z3cform.layout, line 58, in contents&lt;br /&gt;&lt;br&gt;    * Module plone.z3cform.layout, line 66, in render_form&lt;br /&gt;&lt;br&gt;    * Module z3c.form.form, line 189, in __call__&lt;br /&gt;&lt;br&gt;    * Module plone.z3cform.crud.crud, line 381, in update&lt;br /&gt;&lt;br&gt;    * Module plone.z3cform.crud.crud, line 229, in update&lt;br /&gt;&lt;br&gt;    * Module z3c.form.form, line 186, in update&lt;br /&gt;&lt;br&gt;    * Module z3c.form.action, line 99, in execute&lt;br /&gt;&lt;br&gt;    * Module z3c.form.button, line 302, in __call__&lt;br /&gt;&lt;br&gt;    * Module z3c.form.button, line 170, in __call__&lt;br /&gt;&lt;br&gt;    * Module collective.dancing.browser.stats, line 124, in handle_process_jobs&lt;br /&gt;&lt;br&gt;    * Module collective.singing.async, line 22, in process&lt;br /&gt;&lt;br&gt;    * Module collective.singing.async, line 37, in __call__&lt;br /&gt;&lt;br&gt;    * Module collective.dancing.browser.sendnewsletter, line 51, in _assemble_messages&lt;br /&gt;&lt;br&gt;    * Module collective.singing.scheduler, line 117, in __call__&lt;br /&gt;&lt;br&gt;    * Module collective.singing.scheduler, line 109, in render_message&lt;br /&gt;&lt;br&gt;    * Module collective.dancing.composer, line 307, in render&lt;br /&gt;&lt;br&gt;    * Module plone.memoize.volatile, line 272, in replacement&lt;br /&gt;&lt;br&gt;    * Module collective.dancing.composer, line 297, in _render&lt;br /&gt;&lt;br&gt;    * Module stoneagehtml.stoneagehtml, line 91, in compactify&lt;br /&gt;&lt;br&gt;    * Module stoneagehtml.stoneagehtml, line 208, in compactify&lt;br /&gt;&lt;br&gt;    * Module cssutils.css.cssstylesheet, line 106, in _setCssRules&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;AttributeError: 'list' object attribute 'append' is read-only&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;Bien, ahora, a que se debe esto ? bueno, basicamente, en las ultimas versiones del producto cssutils[0] (yo me tope con el problema en la version 0.9.7a4) en el archivo cssutils/css/cssstylesheet.py linea 104, se sobre-escribe el metodo setter del campo cssRules (atributo de la clase), en donde se intenta reemplazar el metodo 'append' de cssRules (parametro de entrada del metodo).&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;El problema radica, cuando en lugar de que cssRules (parametro del metodo) sea un cssutils.css.CSSRuleList, sea una lista (tipo built-in de python), lo que provoca que dicha excepcion se levante.&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;Esto ultimo, es provocado por la linea 208 del archivo stoneagehtml/stoneagehtml.py del producto StoneageHTML[1]:&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;sheet.cssRules = self.filterCSSDeclarations(sheet.cssRules)&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;ya que filterCSSDeclarations devuelve una lista (la cual se pasa al setter del cssRules, provocando el crash descripto arriba).&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;La solucion, seria que stoneageHTML se actualizara, para funcionar con las ultimas versiones de cssutils, pero al momento de escribir esto, dicha solcion no existe, con lo cual la siguiente solucion es hacer un downgrade de cssutils. En mi caso, lo hice a la 0.9.5 ya que es la que en fechas esta mas cerca del lanzamiento de stoneageHTML 0.1.5, luego de lo cual, el crash desaparecio y todo funciona bien de nuevo.&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;Ya me puse en contacto con el desarrollador de StoneageHTML para informarle de este bug, y ver si puede especificar la dependencia de cssutils para que su producto funcione, o que en su defecto saque una version mas nueva de StoneageHTML. Tratare de actualizar la entrada con la informacion que obtenga de el.&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;[0] - http://pypi.python.org/pypi/cssutils&lt;br /&gt;&lt;br&gt;[1] - http://pypi.python.org/pypi/StoneageHTML&lt;/zope.app.pagetemplate.viewpagetemplatefile.viewmapper&gt;&lt;/products.five.metaclass.myformwrapper&gt;&lt;/ploneuser&gt;&lt;/implicitacquirerwrapper&gt;&lt;/application&gt;&lt;/httprequest,&gt;&lt;/products.pagetemplates.expressions.safemapping&gt;&lt;/channelcontainer&gt;&lt;/p&gt;&lt;br /&gt;&lt;/object&gt;&lt;/channelcontainer&gt;&lt;/channelcontainer&gt;&lt;/pathexpr&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3369026469361972886-993478541753164116?l=blog.frapell.com.ar' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.frapell.com.ar/feeds/993478541753164116/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3369026469361972886&amp;postID=993478541753164116' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3369026469361972886/posts/default/993478541753164116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3369026469361972886/posts/default/993478541753164116'/><link rel='alternate' type='text/html' href='http://blog.frapell.com.ar/2010/06/problema-con-stoneagehtml-y-cssutils.html' title='Problema con StoneageHTML y cssutils'/><author><name>frapell</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3369026469361972886.post-6335351849947843664</id><published>2009-10-11T11:13:00.000-07:00</published><updated>2009-10-11T14:22:52.637-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='anima 09'/><category scheme='http://www.blogger.com/atom/ns#' term='3D'/><category scheme='http://www.blogger.com/atom/ns#' term='diseño'/><category scheme='http://www.blogger.com/atom/ns#' term='conferencia'/><category scheme='http://www.blogger.com/atom/ns#' term='software libre'/><category scheme='http://www.blogger.com/atom/ns#' term='blender'/><title type='text'>Charla de difusión de herramientas de Software Libre para el diseño (3D principalmente)</title><content type='html'>&lt;div style="text-align: left;"&gt;Disclaimer: Las fotos dan asco, lo se :(&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Este sábado asistí a la charla que Martin Eschoyez dio en el Pabellón Argentina en el marco del &lt;a href="http://www.animafestival.com.ar/spa/01_home_spa.php"&gt;Anima 09&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "&gt;&lt;img src="http://4.bp.blogspot.com/_wYkpf7-UiUc/StJKw-5EZKI/AAAAAAAACWY/EzntLFL71Xo/s320/100_9860.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5391453909292442786" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 240px; " /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.animafestival.com.ar/spa/01_home_spa.php"&gt;&lt;/a&gt;&lt;div&gt;Si bien yo hace rato que vengo jugueteando con &lt;a href="http://www.blender.org/"&gt;Blender&lt;/a&gt;, mi principal motivación para ir fue para ver si aprendía algunas técnicas de modelado, o tips de parte de Martin (el tipo es muy groso, podes ver algo de su laburo &lt;a href="http://www.flickr.com/photos/martineschoyez"&gt;aca&lt;/a&gt; y &lt;a href="http://www.vimeo.com/user1150455"&gt;aca&lt;/a&gt;) ya que cuando avanzo un poco en el modelado de algo medianamente complejo, me trabo en cosas simples que no se hacer, y tengo que empezar de cero :-(&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;En fin, la cosa es que me sorprendió (muy felizmente por cierto) ver que la charla tuvo un altísimo componente en cuanto a la difusión del &lt;a href="http://es.wikipedia.org/wiki/Software_libre"&gt;Software Libre&lt;/a&gt; y contarle un poco a la gente sobre de qué se trata esto, los beneficios que trae a la comunidad, a la sociedad, al aprendizaje, y bueh, todo lo que ya sabemos acerca de las bondades del mismo (si no las sabes, te recomiendo que leas el artículo de la Wikipedia, o que busques en Google al respecto, o de última, cerveza de por medio, te cuento un poco de que se trata ;) )&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Desgraciadamente "time's a bitch", y el tiempo se fue volando. Asimismo, tuvo tiempo para mostrar algunas cositas de Blender, también algo de &lt;a href="http://inkscape.org/"&gt;Inkscape&lt;/a&gt; (no sabía LO FACIL que puede ser vectorizar una imagen, realmente quedé sorprendido) y solo llegó a mencionar &lt;a href="http://www.gimp.org/"&gt;GIMP&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;En cuanto a Blender, modeló un avioncito en 5 minutos usando un cubo y extrudando sus caras (no recuerdo el nombre de esta técnica, si alguien la sabe deje comentario, pero creo que es Cube Modelling ?) y aprovechó en ese modelo para mostrar lo sencillo que es texturizar usando coordenadas UV&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "&gt;&lt;img src="http://1.bp.blogspot.com/_wYkpf7-UiUc/StJKyEXcvsI/AAAAAAAACWw/YOhP9MXjUss/s320/100_9877.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5391453927941914306" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 240px; " /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Luego mostró un poco de cómo riggear un modelo, y como animarlo usando key frames y luego ajustando las curvas IPO.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "&gt;&lt;img src="http://4.bp.blogspot.com/_wYkpf7-UiUc/StJKx6rwAaI/AAAAAAAACWo/MawHafq4PnM/s320/100_9871.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5391453925342708130" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 240px; " /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;También alcanzó a mostrar así muy velozmente el motor de física integrado, y el de telas (ropa)&lt;/div&gt;&lt;div&gt;Ahh, y tambien mostro unos renders usando el motor de pelo, que estaban realmente increibles.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "&gt;&lt;img src="http://3.bp.blogspot.com/_wYkpf7-UiUc/StJKxUNtyhI/AAAAAAAACWg/2cg4Sccxssw/s320/100_9867.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5391453915016186386" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 240px; " /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Lamentablemente no alcanzó a mostrar el (en mi opinión) caballito de batalla, el cual es el motor de fluidos.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Por último modeló y riggeó la mascota del evento (el ñandú) usando solo planos para cada una de sus partes, mostrando aca los efectos de la cinemática directa e inversa, y haciendo cosas interesantes con la luz ya que estos planos se encontraban a distintas profundidades, logrando una imagen en 2D pero con sensación de profundidad (creo que esto se llama 2.5D si mal no recuerdo)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "&gt;&lt;img src="http://3.bp.blogspot.com/_wYkpf7-UiUc/StJKysB037I/AAAAAAAACW4/y9S73KoKM6s/s320/100_9879.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5391453938588639154" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 240px; " /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;En resumen, me gustó mucho el evento, hubiese estado bueno que durara más tiempo, pero bueno, "e' lo que hay" :-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;aca abajo dejo unos links a videos de YouTube mostrando cosas hechas con blender:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Fluidos:&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=WruTNnF6Ztg"&gt;http://www.youtube.com/watch?v=WruTNnF6Ztg&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=YJM-OFheiBw"&gt;http://www.youtube.com/watch?v=YJM-OFheiBw&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Pasto:&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=wKIY2JwdKPg"&gt;http://www.youtube.com/watch?v=wKIY2JwdKPg&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Humo:&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=18cTthGQmK0"&gt;http://www.youtube.com/watch?v=18cTthGQmK0&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Pelo:&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=Gx9CIncjl-o"&gt;http://www.youtube.com/watch?v=Gx9CIncjl-o&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Física:&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=nwe11y5_Us0"&gt;http://www.youtube.com/watch?v=nwe11y5_Us0&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;y hay miles más. Ahora si por último, un par de cortos hechos en Blender, y un largometraje que se está haciendo en Argentina usando íntegramente Software Libre, que lamentablemente por (según tengo entendido) problemas de presupuesto, se encuentra parado, pero tengo fe que va a terminarse:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Elephants Dream:&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=bsGEWHNJ3s8"&gt;http://www.youtube.com/watch?v=bsGEWHNJ3s8&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.elephantsdream.org/"&gt;http://www.elephantsdream.org/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Big Buck Bunny:&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=7paen5lz6cc"&gt;http://www.youtube.com/watch?v=7paen5lz6cc&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.bigbuckbunny.org/"&gt;http://www.bigbuckbunny.org/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Plumiferos (El largometraje argentino):&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=RNaz9OJm7kg"&gt;http://www.youtube.com/watch?v=RNaz9OJm7kg&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.plumiferos.com/"&gt;http://www.plumiferos.com/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Como verán esto da para muchísimo más, pero lo dejo acá.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hasta la próxima&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3369026469361972886-6335351849947843664?l=blog.frapell.com.ar' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.frapell.com.ar/feeds/6335351849947843664/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3369026469361972886&amp;postID=6335351849947843664' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3369026469361972886/posts/default/6335351849947843664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3369026469361972886/posts/default/6335351849947843664'/><link rel='alternate' type='text/html' href='http://blog.frapell.com.ar/2009/10/charla-de-difusion-de-herramientas-de.html' title='Charla de difusión de herramientas de Software Libre para el diseño (3D principalmente)'/><author><name>frapell</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_wYkpf7-UiUc/StJKw-5EZKI/AAAAAAAACWY/EzntLFL71Xo/s72-c/100_9860.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3369026469361972886.post-401718003656298521</id><published>2009-09-07T15:25:00.000-07:00</published><updated>2009-09-07T16:48:09.676-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='argentina'/><category scheme='http://www.blogger.com/atom/ns#' term='django'/><category scheme='http://www.blogger.com/atom/ns#' term='conferencia'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='pycon'/><category scheme='http://www.blogger.com/atom/ns#' term='plone'/><title type='text'>Pycon Argentina 2009</title><content type='html'>El fin de semana estuve en Buenos Aires para la primera PyCon Argentina realizada en la Universidad de Belgrano.&lt;br /&gt;&lt;br /&gt;En primer lugar, la conferencia estuvo fabulosamente bien organizada, todo salio espectacular y no hubo problemas (bueno, un pequeñito corte de luz justo cuando dabamos nuestra charla, pero obviamente no tuvo nada que ver con la organizacion del evento) asi que felicitaciones realmente a toda la gente involucrada porque fue un laburo admirable.&lt;br /&gt;&lt;br /&gt;Mi dia comenzo el viernes a las 5 AM cuando me levante para ir para el aeropuerto, como veran, una luna fabulosa (no se alcanza a ver bien en la foto, pero creanme, se veia genial)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_wYkpf7-UiUc/SqWKpDfLpmI/AAAAAAAACBc/4NFwV59YW-s/s1600-h/P1020802.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="http://3.bp.blogspot.com/_wYkpf7-UiUc/SqWKpDfLpmI/AAAAAAAACBc/4NFwV59YW-s/s320/P1020802.JPG" alt="" id="BLOGGER_PHOTO_ID_5378857767879288418" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Emanuel paso a eso de las 6 menos cuarto, y desde mi casa nos tomamos un taxi.&lt;br /&gt;Embarcamos, y 54 minutos despues ya estabamos en Bs As. El vuelo estuvo fabuloso, yo estaba como nene ahi arriba.&lt;br /&gt;&lt;br /&gt;A eso de las 9 AM. aprox, llegamos a la Universidad, un edificio impactante, y nos registramos&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_wYkpf7-UiUc/SqWLpleovHI/AAAAAAAACBk/SLO65W9gLBY/s1600-h/P1020825.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_wYkpf7-UiUc/SqWLpleovHI/AAAAAAAACBk/SLO65W9gLBY/s320/P1020825.JPG" alt="" id="BLOGGER_PHOTO_ID_5378858876515433586" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;La primer charla que vi fue la de Andres Riancho sobre "Python como un lenguaje de hacking" la cual estuvo muy buena, ya que Andres la tenia bastante clara y pudo mostrar todas las cosas de una manera muy entendible&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_wYkpf7-UiUc/SqWNoxCKFvI/AAAAAAAACBs/5OqwqSycTzo/s1600-h/P1020830.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_wYkpf7-UiUc/SqWNoxCKFvI/AAAAAAAACBs/5OqwqSycTzo/s320/P1020830.JPG" alt="" id="BLOGGER_PHOTO_ID_5378861061460596466" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Despues, vi un poco de la charla de "humitos" sobre Django, que tambien estuvo buena, pero no pude terminar de verla, porque ya venia mi charla que daba con Emanuel y nueces sobre Plone.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_wYkpf7-UiUc/SqWRINMRVLI/AAAAAAAACB0/4cbOR-P69qQ/s1600-h/P1020835.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_wYkpf7-UiUc/SqWRINMRVLI/AAAAAAAACB0/4cbOR-P69qQ/s320/P1020835.JPG" alt="" id="BLOGGER_PHOTO_ID_5378864900130034866" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;La charla nuestra estuvo linda, hubo bastante gente atendiendo, pero se nos corto la luz a los 15 minutos de haber comenzado, asi que seguimos un poco sin luz, y dimos el resto cuando volvio la misma, y lamentablemente muy rapido ya que habiamos perdido mucho tiempo y habia que terminar, pero por suerte creo que la idea general se entendio, asi que podriamos decir que fue un exito.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_wYkpf7-UiUc/SqWRIxJ_pDI/AAAAAAAACB8/o0aZ6qSPPUM/s1600-h/P1020837.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_wYkpf7-UiUc/SqWRIxJ_pDI/AAAAAAAACB8/o0aZ6qSPPUM/s320/P1020837.JPG" alt="" id="BLOGGER_PHOTO_ID_5378864909784163378" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Aca sin luz :P&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_wYkpf7-UiUc/SqWRJbon_hI/AAAAAAAACCE/nC67oilZ_rs/s1600-h/P1020840.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_wYkpf7-UiUc/SqWRJbon_hI/AAAAAAAACCE/nC67oilZ_rs/s320/P1020840.JPG" alt="" id="BLOGGER_PHOTO_ID_5378864921186926098" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Luego del almuerzo, no fui a ver ninguna charla a las 14hs, pero vi la de las 15hs "Hacking Django, mismo framework, distintos paradigmas" que dio Nubis, la cual estuvo MUY interesante porque mostro cosas muy copadas para hacer con Django.&lt;br /&gt;&lt;br /&gt;Para terminar con ese dia, se dieron unas Lightning talks bien variadas, y por ultimo una charla de Jacob Kaplan-Moss que me gusto mucho, basicamente rondaba alrededor de "el desarrollo web apesta, que podemos hacer para cambiar eso ?" y digo que me gusto bastante, porque coincido con el y me gustaria que el desarrollo web sea distino (obvio que no se como, pero que lo sea :P)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_wYkpf7-UiUc/SqWRKAWiyJI/AAAAAAAACCM/UoYvLl7_pU0/s1600-h/P1020853.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_wYkpf7-UiUc/SqWRKAWiyJI/AAAAAAAACCM/UoYvLl7_pU0/s320/P1020853.JPG" alt="" id="BLOGGER_PHOTO_ID_5378864931043199122" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;En el segundo dia de PyCon, nos levantamos tarde con los chicos en el hostel, asi que me perdi por cuarta vez (creo que es la cuarta, ya perdi la cuenta :P), la charla de Facundo sobre Unicode, espero poder verla alguna vez...&lt;br /&gt;&lt;br /&gt;La que si pude ver, fue una charla/panel armado entre gente que usaba distintos toolkit graficos (wxPython, PyQT y PyGTK) que estuvo muy interesante, y basicamente todo se resume a que son todos lo mismo, y que uses el que mas te guste esteticamente :)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_wYkpf7-UiUc/SqWRKrlqJdI/AAAAAAAACCU/Lc17ztT7N6U/s1600-h/P1020869.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_wYkpf7-UiUc/SqWRKrlqJdI/AAAAAAAACCU/Lc17ztT7N6U/s320/P1020869.JPG" alt="" id="BLOGGER_PHOTO_ID_5378864942649320914" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Luego asisti a la charla de Mariano Guerra sobre como inicio el desarrollo de emesene, un cliente de mensajeria instantanea para MSN y ahora tambien para Jabber. Estuvo muy buena porque comento bastante lo que es estar involucrado en un proyecto de software libre, y de lo facil que resulta, si tenes una buena idea, conseguir gente que te de una mano.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_wYkpf7-UiUc/SqWUinFOyAI/AAAAAAAACCc/eYAdgOc12SY/s1600-h/P1020871.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_wYkpf7-UiUc/SqWUinFOyAI/AAAAAAAACCc/eYAdgOc12SY/s320/P1020871.JPG" alt="" id="BLOGGER_PHOTO_ID_5378868652291311618" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;A continuacion, vi la charla de Facundo Batista, sobre Python 3000, que estuvo muy interesante ya que se mostraron los cambios que se introducen a partir de la nueva version de Python, y que hay que ir teniendo en cuenta, realmente son cambios que van a estar bastante buenos.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_wYkpf7-UiUc/SqWUjJSfQ0I/AAAAAAAACCk/5vXB6Xe8mB8/s1600-h/P1020873.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_wYkpf7-UiUc/SqWUjJSfQ0I/AAAAAAAACCk/5vXB6Xe8mB8/s320/P1020873.JPG" alt="" id="BLOGGER_PHOTO_ID_5378868661473723202" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Luego de nuevo a comer, y no pude llegar temprano para ver ninguna de las charlas, asi que me meti en la charla que estaba dando Lucio Torre sobre Twisted para seres humanos, pero dado que la agarre empezada, no entendi nada :P&lt;br /&gt;&lt;br /&gt;Luego, vi la charla del Mati Bordese, sobre el Bytecode de Python, y de como decompilar una aplicacion, inclusive asi haya sido convertida en EXE usando py2exe. Realmente interesantisimo y muy poderoso.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_wYkpf7-UiUc/SqWUjiRX4qI/AAAAAAAACCs/TCOOz73EwC4/s1600-h/P1020874.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_wYkpf7-UiUc/SqWUjiRX4qI/AAAAAAAACCs/TCOOz73EwC4/s320/P1020874.JPG" alt="" id="BLOGGER_PHOTO_ID_5378868668179931810" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Luego otra sesion de charlas relampagos donde se trataron de los mas diversos temas y por ultimo, cerro la conferencia Collin Winter, un chabon que labura en Google, en un proyecto llamado Unladen Swallow, en donde intentan hacer python 5 veces mas rapido. Se nota que la tiene bastante clara y que sabe MUCHO. La charla fue buenisima, porque se entendia de que estaba hablando, pudo llegar a la gente, por lo menos a mi :)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_wYkpf7-UiUc/SqWUk4HLZQI/AAAAAAAACC8/0ohP7MVa7V0/s1600-h/P1020894.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_wYkpf7-UiUc/SqWUk4HLZQI/AAAAAAAACC8/0ohP7MVa7V0/s320/P1020894.JPG" alt="" id="BLOGGER_PHOTO_ID_5378868691222619394" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Y como broche final, el evento de cierre, donde se conto un poco la historia de PyAr en estos 5 años de vida, y se realizo un sorteo de libros, vasos, calcos, etc.&lt;br /&gt;Aca una imagen de la cantidad de gente que asistio.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_wYkpf7-UiUc/SqWUkeosrgI/AAAAAAAACC0/eRww2N8HeS0/s1600-h/P1020886.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_wYkpf7-UiUc/SqWUkeosrgI/AAAAAAAACC0/eRww2N8HeS0/s320/P1020886.JPG" alt="" id="BLOGGER_PHOTO_ID_5378868684383890946" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Y para terminar con el post, una foto con todos los ¨Pitufos" como los llamaba Facundo, que fueron los responsables de que todo saliera espectacular como salio.&lt;br /&gt;Se llevaron un merecidisimo aplauso de toda esa gente en la foto de recien.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_wYkpf7-UiUc/SqWZ9c4016I/AAAAAAAACDE/2pxut7bKa6I/s1600-h/P1020896.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_wYkpf7-UiUc/SqWZ9c4016I/AAAAAAAACDE/2pxut7bKa6I/s320/P1020896.JPG" alt="" id="BLOGGER_PHOTO_ID_5378874610969532322" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;En resumidas cuentas, la conferencia estuvo buenisima, la pase genial y conoci gente muy copada (como siempre pasa en este tipo de eventos).&lt;br /&gt;&lt;br /&gt;El año que viene (2010) PyCon Argentina es en Cordoba, asi que asistencia obligada ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3369026469361972886-401718003656298521?l=blog.frapell.com.ar' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.frapell.com.ar/feeds/401718003656298521/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3369026469361972886&amp;postID=401718003656298521' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3369026469361972886/posts/default/401718003656298521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3369026469361972886/posts/default/401718003656298521'/><link rel='alternate' type='text/html' href='http://blog.frapell.com.ar/2009/09/pycon-argentina-2009.html' title='Pycon Argentina 2009'/><author><name>frapell</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_wYkpf7-UiUc/SqWKpDfLpmI/AAAAAAAACBc/4NFwV59YW-s/s72-c/P1020802.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3369026469361972886.post-3718215375130162610</id><published>2009-06-11T12:34:00.001-07:00</published><updated>2009-10-11T13:48:35.554-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gpl'/><category scheme='http://www.blogger.com/atom/ns#' term='blender'/><title type='text'>Le cambia el nombre a Blender y lo vende como propio</title><content type='html'>Hoy me entere que un tipo le cambio el nombre a Blender por 3DMagix y cobra 47 dolares por el.&lt;br /&gt;&lt;br /&gt;Lamentablemente el sitio daba un 403 asi que no pude ver bajo que terminos lo vendia y que valor agregado le daba, pero por la indignacion de la comunidad intuyo que pretendia engañar a sus clientes.&lt;br /&gt;&lt;br /&gt;Es triste ver como la gente intenta aprovecharse del laburo de los demas.&lt;br /&gt;&lt;br /&gt;Historia completa en: &lt;a href="http://www.blendernation.com/2009/06/11/3dmagix-re-branding-and-selling-the-free-software-blender/"&gt;http://www.blendernation.com/2009/06/11/3dmagix-re-branding-and-selling-the-free-software-blender/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3369026469361972886-3718215375130162610?l=blog.frapell.com.ar' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.frapell.com.ar/feeds/3718215375130162610/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3369026469361972886&amp;postID=3718215375130162610' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3369026469361972886/posts/default/3718215375130162610'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3369026469361972886/posts/default/3718215375130162610'/><link rel='alternate' type='text/html' href='http://blog.frapell.com.ar/2009/06/le-cambia-el-nombre-blender-y-lo-vende.html' title='Le cambia el nombre a Blender y lo vende como propio'/><author><name>frapell</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3369026469361972886.post-3884238607075887121</id><published>2009-05-11T05:13:00.000-07:00</published><updated>2009-05-14T13:10:59.815-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='customizacion'/><category scheme='http://www.blogger.com/atom/ns#' term='code snippets'/><category scheme='http://www.blogger.com/atom/ns#' term='zmi'/><category scheme='http://www.blogger.com/atom/ns#' term='plone'/><category scheme='http://www.blogger.com/atom/ns#' term='portal tool'/><title type='text'>Customizando una portal tool</title><content type='html'>Cuando se trabaja en sitios Plone, a menudo se trabaja desde la interfaz ZMI (Zope Management Interface). Por consiguiente, a veces es necesario cambiar el funcionamiento de alguna de estas 'tools' que fueron provistas por algun producto.&lt;br /&gt;Yo voy a mostrarlo tomando como ejemplo la tool provista por el producto que integra Plone con Salesforce, Product.salesforcebaseconnector.&lt;br /&gt;Aqui como:&lt;br /&gt;&lt;br /&gt;1) Agregar un archivo toolset.xml a nuestro profile/default (o el profile que esten usando) con lo siguiente&lt;br /&gt;&lt;pre&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="color: rgb(20, 19, 18);"&gt;&lt;b&gt;&amp;lt;?xml&lt;/b&gt; version="1.0"&lt;b&gt;?&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(20, 19, 18);"&gt;&lt;b&gt;&amp;lt;tool-setup&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(20, 19, 18);"&gt; &lt;b&gt;&amp;lt;required&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 110, 40);"&gt; tool_id=&lt;/span&gt;&lt;span style="color: rgb(170, 0, 0);"&gt;"portal_salesforcebaseconnector"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 110, 40);"&gt;           class=&lt;/span&gt;&lt;span style="color: rgb(170, 0, 0);"&gt;"salesforce.patch.salesforcebaseconnector.SalesforcePatched"&lt;/span&gt;&lt;span style="color: rgb(20, 19, 18);"&gt;&lt;b&gt;/&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(20, 19, 18);"&gt;&lt;b&gt;&amp;lt;/tool-setup&amp;gt;&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="color: rgb(20, 19, 18);"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;2) En un archivo python (salesforcebaseconnector) lo siguiente:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 128, 224);"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="color: rgb(255, 128, 224);"&gt;from&lt;/span&gt;&lt;span style="color: rgb(20, 19, 18);"&gt; Products.salesforcebaseconnector.salesforcebaseconnector &lt;/span&gt;&lt;span style="color: rgb(255, 128, 224);"&gt;import&lt;/span&gt;&lt;span style="color: rgb(20, 19, 18);"&gt; SalesforceBaseConnector&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 128, 224);"&gt;from&lt;/span&gt;&lt;span style="color: rgb(20, 19, 18);"&gt; Products.PageTemplates.PageTemplateFile &lt;/span&gt;&lt;span style="color: rgb(255, 128, 224);"&gt;import&lt;/span&gt;&lt;span style="color: rgb(20, 19, 18);"&gt; PageTemplateFile&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 128, 224);"&gt;from&lt;/span&gt;&lt;span style="color: rgb(20, 19, 18);"&gt; AccessControl &lt;/span&gt;&lt;span style="color: rgb(255, 128, 224);"&gt;import&lt;/span&gt;&lt;span style="color: rgb(20, 19, 18);"&gt; ClassSecurityInfo&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 128, 224);"&gt;from&lt;/span&gt;&lt;span style="color: rgb(20, 19, 18);"&gt; Products.CMFCore.permissions &lt;/span&gt;&lt;span style="color: rgb(255, 128, 224);"&gt;import&lt;/span&gt;&lt;span style="color: rgb(20, 19, 18);"&gt; ManagePortal&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(20, 19, 18);"&gt;&lt;b&gt;class&lt;/b&gt; SalesforcePatched(SalesforceBaseConnector):&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(20, 19, 18);"&gt;&lt;b&gt;    def&lt;/b&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 14, 82);"&gt;&lt;b&gt;__init__&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(20, 19, 18);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 110, 40);"&gt;self&lt;/span&gt;&lt;span style="color: rgb(20, 19, 18);"&gt;):&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 87, 174);"&gt;        super&lt;/span&gt;&lt;span style="color: rgb(20, 19, 18);"&gt;(SalesforcePatched, &lt;/span&gt;&lt;span style="color: rgb(0, 110, 40);"&gt;self&lt;/span&gt;&lt;span style="color: rgb(20, 19, 18);"&gt;).&lt;/span&gt;&lt;span style="color: rgb(0, 14, 82);"&gt;&lt;b&gt;__init__&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(20, 19, 18);"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(20, 19, 18);"&gt;    security = ClassSecurityInfo()&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(20, 19, 18);"&gt;    security.declareProtected(ManagePortal, &lt;/span&gt;&lt;span style="color: rgb(191, 3, 3);"&gt;'manage_config'&lt;/span&gt;&lt;span style="color: rgb(20, 19, 18);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(20, 19, 18);"&gt;    manage_config = PageTemplateFile(&lt;/span&gt;&lt;span style="color: rgb(191, 3, 3);"&gt;'www/manageAuthConfigCustom'&lt;/span&gt;&lt;span style="color: rgb(20, 19, 18);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(0, 87, 174);"&gt;globals&lt;/span&gt;&lt;span style="color: rgb(20, 19, 18);"&gt;() )&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="color: rgb(20, 19, 18);"&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;3) Por ultimo en la carpeta www, un manageAuthConfigCustom.zpt con el template customizado&lt;br /&gt;&lt;br /&gt;4) Instalar el producto y la tool se reeinstalara (cuidado aca, si habia datos que la tool mantenia, como en este caso el login a salesforce, todo eso se pierde, y hay que volver a cargarlos)&lt;br /&gt;&lt;br /&gt;En realidad, en la clase SalesforcePatched piso un par de metodos de SalesforceBaseConnector, que no vienen al caso ahora.&lt;br /&gt;&lt;br /&gt;Espero que a alguien le sirva esto.&lt;br /&gt;&lt;br /&gt;Cheers&lt;br /&gt;&lt;br /&gt;EDIT: Gracias Santiago por el comentario para poder meter codigo xml en el post y para colorear, aguante Kate :D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3369026469361972886-3884238607075887121?l=blog.frapell.com.ar' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.frapell.com.ar/feeds/3884238607075887121/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3369026469361972886&amp;postID=3884238607075887121' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3369026469361972886/posts/default/3884238607075887121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3369026469361972886/posts/default/3884238607075887121'/><link rel='alternate' type='text/html' href='http://blog.frapell.com.ar/2009/05/customizando-una-portal-tool.html' title='Customizando una portal tool'/><author><name>frapell</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3369026469361972886.post-6456814435073046845</id><published>2009-04-21T15:15:00.000-07:00</published><updated>2009-04-21T15:21:32.039-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='amarok'/><category scheme='http://www.blogger.com/atom/ns#' term='kde'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><title type='text'>Radios online argentinas en Amarok2</title><content type='html'>Bueno, mi primera contribucion al mundo de KDE4 fue un script para Amarok2 el cual agrega unos cuantos streams de radios online argentinas al nuevo Amarok.&lt;br /&gt;&lt;br /&gt;En escencia, agarré el script para radios de Serbia[0] y lo modifique para las radios Argentinas.&lt;br /&gt;&lt;br /&gt;Si usan Amarok2, lo pueden instalar desde el gestor de scripts, buscan agregar nuevos scripts desde internet y ahi deberia estar listado, sino lo pueden bajar a mano de aca[1]&lt;br /&gt;&lt;br /&gt;Cualquier tipo de feedback sera apreciado.&lt;br /&gt;&lt;br /&gt;[0] - http://kde-apps.org/content/show.php/Serbian+Radio+Streams+Service?content=93595&lt;br /&gt;[1] - http://kde-apps.org/content/show.php/Argentina+Radio+Streams?content=103185&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3369026469361972886-6456814435073046845?l=blog.frapell.com.ar' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.frapell.com.ar/feeds/6456814435073046845/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3369026469361972886&amp;postID=6456814435073046845' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3369026469361972886/posts/default/6456814435073046845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3369026469361972886/posts/default/6456814435073046845'/><link rel='alternate' type='text/html' href='http://blog.frapell.com.ar/2009/04/radios-online-argentinas-en-amarok2.html' title='Radios online argentinas en Amarok2'/><author><name>frapell</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3369026469361972886.post-1504266682302073238</id><published>2009-03-26T21:27:00.000-07:00</published><updated>2009-03-26T21:45:02.364-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='registration'/><category scheme='http://www.blogger.com/atom/ns#' term='code snippets'/><category scheme='http://www.blogger.com/atom/ns#' term='miembros'/><category scheme='http://www.blogger.com/atom/ns#' term='plone'/><title type='text'>Creando usuarios programaticamente en Plone</title><content type='html'>&lt;span class="ul-threaded" style="margin: 0.5em 0pt 0pt -20px;"&gt;&lt;span class="text-cell"&gt;&lt;span&gt;    &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span class="ul-threaded" style="margin: 0.5em 0pt 0pt -20px;"&gt;&lt;span class="text-cell"&gt;&lt;span&gt;     from Products.CMFCore.utils import getToolByName &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;#Primero pedimos la portal_registration tool&lt;br /&gt;pr = getToolByName(context, 'portal_registration')&lt;br /&gt;id = 'id_usuario'&lt;br /&gt;password = 'password'&lt;br /&gt;#En este diccionario cargamos campos adicionales&lt;br /&gt;props = {&lt;br /&gt;            'username' : id,&lt;br /&gt;            'fullname' : 'Nombre Completo',&lt;br /&gt;            'email' : 'email_del_usuario',&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;pr.addMember(id, password, properties=props)&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;API: http://api.plone.org/CMF/2.1.0/public/frames/products/CMFCore/products.CMFCore.MembershipTool.MembershipTool-class.html#addMember&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3369026469361972886-1504266682302073238?l=blog.frapell.com.ar' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.frapell.com.ar/feeds/1504266682302073238/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3369026469361972886&amp;postID=1504266682302073238' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3369026469361972886/posts/default/1504266682302073238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3369026469361972886/posts/default/1504266682302073238'/><link rel='alternate' type='text/html' href='http://blog.frapell.com.ar/2009/03/creando-usuarios-programaticamente-en.html' title='Creando usuarios programaticamente en Plone'/><author><name>frapell</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3369026469361972886.post-1852948428781728508</id><published>2008-06-03T08:12:00.000-07:00</published><updated>2008-06-03T09:31:11.567-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='kernel 2.6.24'/><category scheme='http://www.blogger.com/atom/ns#' term='bttv'/><category scheme='http://www.blogger.com/atom/ns#' term='remote'/><category scheme='http://www.blogger.com/atom/ns#' term='lirc'/><title type='text'>Control remoto bajo Linux</title><content type='html'>&lt;span&gt;Bueno, hacia mucho que no escribía nada, pero acabo de hacer funcionar el modulo lirc-gpio con un kernel 2.6.24 y como estoy tan feliz, voy a compartirlo aqui :-D&lt;br /&gt;&lt;br /&gt;Si tenés una capturadora de TV, usás el modulo bttv para usarla, tiene receptor infrarrojo y tenes un kernel 2.6.24, aca están los pasos para poder hacer funcionar Lirc y poder disfrutar del control remoto de la misma.&lt;br /&gt;&lt;br /&gt;Como primera medida, debemos saber si la placa está soportada... para eso &lt;a href="http://www.lirc.org/html/table.html"&gt;este link&lt;/a&gt;, es muy útil.&lt;br /&gt;&lt;br /&gt;en caso de estar soportada, hay que compilar el modulo de lirc, pero antes, hay que aplicar un patch al kernel, dado que, en la versión 2.6.24 hay algunos cambios en bttv con los cuales lirc no compila.&lt;br /&gt;&lt;br /&gt;para esto, bajamos el patch de &lt;a href="http://lirc.sourceforge.net/software/snapshots/lirc-bttv-linux-2.6.24.patch"&gt;aca&lt;/a&gt; (pueden darle click derecho al archivo y "Guardar como" o una vez que entren al link, guardar la pagina como "lirc-bttv-linux-2.6.24.patch"&lt;br /&gt;&lt;br /&gt;Bueno, lo que va a hacer este patch, es meterle vieja funcionalidad a bttv para poder compilar lirc... ahora, *solo* hacer esto, basta para compilarlo, pero cuando lo querramos usar, nos va a dar errores, dado que el driver que tenemos instalado está compilado sin este patch.&lt;br /&gt;&lt;br /&gt;Ok, basta de charlas y vamos a la acción:&lt;br /&gt;&lt;br /&gt;nota: yo utilizo Debian, así que es probable que en otras distros los paquetes se llamen distinto&lt;br /&gt;&lt;br /&gt;primero lo primero, instalar:&lt;/span&gt;&lt;blockquote&gt;apt-get install lirc lirc-modules-source linux-headers-$(uname -r) kernel-package&lt;/blockquote&gt;&lt;br /&gt;También vamos a nacesitar las fuentes del kernel, en mi caso:&lt;br /&gt;&lt;blockquote&gt;apt-get install linux-source-2.6.24&lt;/blockquote&gt;&lt;br /&gt;Ahora lo que tenemos que hacer es ir a /usr/src y descomprimir las fuentes&lt;br /&gt;&lt;blockquote&gt;tar xjvf linux-source-2.6.24.tar.bz2&lt;br /&gt;tar xzvf lirc-modules.tar.gz&lt;/blockquote&gt;en mi caso, las fuentes de bttv no venían con los headers, así que hay que copiar los archivos a mano desde las fuentes:&lt;br /&gt;&lt;blockquote&gt;cp -R linux-source-2.6.24/drivers/media/video/bt8xx/bt* linux-headers-2.6.24-1-common/drivers/media/video/bt8xx/&lt;/blockquote&gt;&lt;br /&gt;los archivos que "patchea" son bttv.h y bttv-if.c, estos archivos son parte de lo que acabamos de copiar, con lo cual copiamos el archivo patch (que bajamos anteriormente) a /usr/src y ejecutamos lo siguiente:&lt;br /&gt;&lt;blockquote&gt;patch -p0 &lt; lirc-bttv-linux-2.6.24.patch &lt;/blockquote&gt;&lt;br /&gt;nos va a preguntar la ubicacion de los archivos, primero el bttv.h y luego el bttv-if.c, así que se las pasamos:&lt;br /&gt;&lt;blockquote&gt;linux-headers-2.6.24-1-common/drivers/media/video/bt8xx/bttv.h linux-headers-2.6.24-1-common/drivers/media/video/bt8xx/bttv-if.c&lt;/blockquote&gt;&lt;br /&gt;si todo fue bien, debería haber terminado sin error.&lt;br /&gt;Ahora, como dije antes, tenemos que compilar bttv nuevamente, para tener estos nuevos cambios... Para esto:&lt;br /&gt;&lt;blockquote&gt;cd linux-source-2.6.24/drivers/media/video/bt8xx/&lt;br /&gt;make -C /lib/modules/`uname -r`/build SUBDIRS=$PWD modules&lt;br /&gt;make -C /lib/modules/`uname -r`/build SUBDIRS=$PWD modules_install&lt;br /&gt;depmod -a&lt;/blockquote&gt;&lt;br /&gt;Luego de hacer eso (sin errores) vamos a tener nuestro nuevo modulo de bttv listo para cargar. En caso de tenerlo cargado de antes hacemos:&lt;br /&gt;&lt;blockquote&gt;rmmod bt878&lt;br /&gt;rmmod bttv&lt;br /&gt;modprobe bt878&lt;br /&gt;modprobe bttv&lt;/blockquote&gt;&lt;br /&gt;y listo, nuestro modulo patcheado debería estar cargado. Pueden fijarse en 'dmesg' o en 'lsmod |grep bttv'&lt;br /&gt;y ahora por ultimo lo que queda es compilar el modulo de Lirc, para eso, volvemos a /usr/src y hacemos lo siguiente:&lt;br /&gt;&lt;blockquote&gt;m-a update,prepare&lt;br /&gt;dpkg-reconfigure lirc-modules-source&lt;/blockquote&gt;&lt;br /&gt;una vez que guardamos, ejecutamos:&lt;br /&gt;&lt;blockquote&gt;m-a a-i lirc&lt;br /&gt;dpkg -i /usr/src/lirc-modules-*.deb&lt;/blockquote&gt;&lt;br /&gt;y por último cargamos el modulo haciendo:&lt;br /&gt;&lt;blockquote&gt;modprobe lirc-gpio&lt;/blockquote&gt;Si todo fue bien, el modulo deberia haberse cargado sin errores... pueden comprobarlo ejecutando 'dmesg' nuevamente, deberían ver algo como: lirc_gpio (0): driver registered&lt;br /&gt;&lt;br /&gt;muy bien, una vez terminado todo, pueden probar si anda usando mode2&lt;br /&gt;&lt;blockquote&gt;mode2 -d /dev/lirc0&lt;/blockquote&gt;Cuando ejecuten eso, deberían ver cosas en la pantalla a medida que aprietan diferentes botones en el control remoto... en caso negativo, entonces algo no estuvo bien y le modulo no esta funcionando correctamente.&lt;br /&gt;&lt;br /&gt;En caso de recibir señales, es hora de hacer un archivo lircd.conf con la informacion de su control:&lt;br /&gt;&lt;blockquote&gt;irrecord -d /dev/lirc0 lircd.conf&lt;/blockquote&gt;Una vez que terminaron de grabar los botones, copian el archivo generado (lircd.conf) y pisan el que se encuentra en /etc/lirc/ con el mismo nombre.&lt;br /&gt;Una vez hecho esto, pueden correr 'lircd -n -d /dev/lirc0' para ver si se carga sin problemas. Si les dice que está listo, pueden probar en otra consola, ejecutando 'irw' y oprimir teclas del control... deberian ver el nombre que le pusieron en el lircd.conf.&lt;br /&gt;&lt;br /&gt;Bueno, si hasta aca no tuvieron problemas, es hora de cargar el daemon y disfrutar del control :-D&lt;br /&gt;&lt;br /&gt;para esto ejecutan /etc/lirc start&lt;br /&gt;&lt;br /&gt;y luego usan cosas como irkick (esto es para KDE, no conozco si viene algo similar para gnome, pero calculo que debe venir, y para los otros escritorios tambien) para configurar las aplicaciones.&lt;br /&gt;&lt;br /&gt;Y bueno, eso es todo.&lt;br /&gt;&lt;br /&gt;Espero que les haya servido, cualquier cosa dejen un comentario con algún problema y lo intentamos resolver ;-)&lt;br /&gt;&lt;br /&gt;hasta la proxima.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3369026469361972886-1852948428781728508?l=blog.frapell.com.ar' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.frapell.com.ar/feeds/1852948428781728508/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3369026469361972886&amp;postID=1852948428781728508' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3369026469361972886/posts/default/1852948428781728508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3369026469361972886/posts/default/1852948428781728508'/><link rel='alternate' type='text/html' href='http://blog.frapell.com.ar/2008/06/control-remoto-bajo-linux.html' title='Control remoto bajo Linux'/><author><name>frapell</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3369026469361972886.post-7580401440512378880</id><published>2008-04-14T05:47:00.000-07:00</published><updated>2008-04-14T07:01:51.113-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='author'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='slideshow'/><category scheme='http://www.blogger.com/atom/ns#' term='dvd'/><category scheme='http://www.blogger.com/atom/ns#' term='dvd-slideshow'/><title type='text'>Creando un DVD con fotos</title><content type='html'>Bueno, al final en la presentacion dije los temas sobre los que iba a hablar en las sucesivas "entradas" de este blog, y bueno, esta no tiene nada que ver con nada de lo que nombre :-P&lt;br /&gt;&lt;br /&gt;Hace un tiempo quería hacer una peliculita usando fotos y con musica de fondo.... para esto intenté usar el increiblemente versatil mencoder(herramienta de la cual seguro voy a hablar en algun otro post), y, a pesar de haber podido crear un archivo con imagenes que iban pasando como yo quería, tenia algunos problemitas... digamos, la idea de mencoder cuando se usa para hacer una pelicula basado en muchas imagenes, es la idea de las caricaturas.... uno tiene muchas imagenes que varian muy poco, entonces puede hacer el efecto de movimiento, con lo cual no se adecuaba exactamente para lo que yo queria...&lt;br /&gt;&lt;br /&gt;resulta que hace un par de dias, una persona envió un mail a la lista de correo de los usuarios de mencoder (si, estoy suscripto :-P) preguntando, porque mencoder le tiraba error cuando intentaba hacer lo de muchas imagenes para hacer un video... a lo que yo le respondi dado que habia renegado un poco y tenia una idea de como hacerlo, y aproveché para comentarle lo que quería hacer y que si el lograba algo por el estilo me tirara la linea que usó, fue entonces cuando recibi respuesta de otro usuario de la lista diciendome, ¿por que no usas 'dvdslideshow'? y ahi descubri este particular software, de lo cual vengo a hablarles.&lt;br /&gt;&lt;br /&gt;Para empezar, no lo encontré, dado que su nombre (por lo menos en Debian) no es dvdslideshow sino dvd-slideshow. je&lt;br /&gt;&lt;br /&gt;asi que lo primero que hay que hacer es:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;aptitude install dvd-slideshow&lt;/blockquote&gt;Bien... esto nos instala el paquete dvd-slideshow con todas sus herramientas.&lt;br /&gt;El proceso para hacer esto es un tanto tedioso, en el sentido que hay que hacer varios "pasos"&lt;br /&gt;Primero utilizamos el programita dir2slideshow&lt;br /&gt;si ejecutan el comando asi solito, les va a tirar las opciones de uso.&lt;br /&gt;Para hacer una prueba rapida, pueden pararse sobre el directorio donde tengan las fotos y ejecutar:&lt;br /&gt;&lt;blockquote&gt;dir2slideshow -o dvd/ -c 2 -n 'Prueba de fotos' -k -a audio.mp3 -p .&lt;/blockquote&gt;basicamente con el parametro "-o" le decimos a que directorio hacer el output, con "-c" le decimos el tiempo en segundos del crossfade entre fotos, luego con "-n" le damos el titulo, con -k que le haga efectos Ken Burns[1] aleatorios, con "-a" le damos uno o varios archivos de audio (si quisieran que cuando termine audio.mp3 empiece audio2.mp3, entonces deben usar -a audio.mp3,audio2.mp3 y en el caso de tener espacios en el nombre, usar el formato que se uso en -n, es decir, usar comillas), luego con "-p" le decimos que queremos PAL en lugar de NTSC, y por ultimo el "." es para decirle que las imagenes estan donde estamos parados... hay unos cuantos comandos mas, que pueden verlos en la ayuda del programa... bueno, una vez que termina, nos va a decir algo como:&lt;br /&gt;&lt;blockquote&gt;#########################################&lt;br /&gt;[dir2slideshow] Done!&lt;br /&gt;[dir2slideshow] Output file is dvd/Prueba_de_fotos.txt&lt;br /&gt;&lt;/blockquote&gt;genial, ya tenemos nuestro archivo para darle a dvd-slideshow y hacer el archivo de pelicula con las fotos.&lt;br /&gt;Asi que ejecutamos dvd-slideshow, el cual tambien tiene sus comandos, en caso que querramos agregar alguna cosita extra:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;dvd-slideshow -o dvd/ -b 100_1355.JPG -border 10 -r -smp -f dvd/Prueba_de_fotos.txt&lt;/blockquote&gt;bien, como en el comando anterior, con "-o" le decimos a donde meter los resultados, con "-b" le decimos que queremos que esa imagen en particular sea nuestro background (si no le ponen nada se verá un fondo negro), con "-border 10" le damos un borde a todas las fotos (de 10 pixeles), con "-r" le decimos que auto recorte las fotos para hacerlas entrar, con "-f" le decimos el nombre del archivo input que creamos anteriormente con dir2slideshow. El parametro "-smp" nos permite, si tenemos un procesador de doble nucleo, hacer uso de ambos nucleos para disminuir el tiempo que demora en hacerse todo el slideshow, que si usan efectos, crossfade, etc y son muchas fotos, puede demorarse un tiempo...&lt;br /&gt;Muy bien, una vez que termina, vamos a tener un output como el siguiente:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;[dvd-slideshow]############################################################&lt;br /&gt;[dvd-slideshow] total chapters=5&lt;br /&gt;[dvd-slideshow] chapter markers at 0,0:0:15.015,0:0:31.998,0:0:43.009,0:0:48.014&lt;br /&gt;[dvd-slideshow]############################################################&lt;br /&gt;[dvd-slideshow] cleanup...&lt;br /&gt;[dvd-slideshow] More extensive logfile output is at:&lt;br /&gt;[dvd-slideshow] dvd/dvd-slideshow.log&lt;br /&gt;[dvd-slideshow] Done!&lt;br /&gt;&lt;br /&gt;[dvd-slideshow] use one of the following comands to view your output:&lt;br /&gt;[dvd-slideshow] xine -g -u 0 "dvd/Prueba_de_fotos.vob"&lt;br /&gt;[dvd-slideshow] mplayer -sid 0 "dvd/Prueba_de_fotos.vob"&lt;br /&gt;&lt;/blockquote&gt;y dentro de la carpeta dvd, vamos a tener un archivo de pelicula, que podemos ver ejecutando alguno de los comandos que nos propone.&lt;br /&gt;&lt;br /&gt;Este proceso lo repetimos por todos los slideshows que querramos hacer, luego con un software de autoria de DVD's juntamos todos estos archivos y hacemos un DVD con menúes y todo.&lt;br /&gt;&lt;br /&gt;Hay uno muy intuitivo y facil de usar, que utiliza la tecnica "dale siguiente y yo hago todo por vos" que se llama "KDE DVD Authoring Wizard" (aptitude install dvdauthorwizard) que les puede venir al pelo.&lt;br /&gt;&lt;br /&gt;En fin, como verán, con 2 comandos, pudimos hacernos un DVD con un acabado bastante similar a lo que un profesional puede hacer, claro que infinitamente mas barato (y bueh, no TAN bien terminado, jeje) pero si saben utilizar algun editor de video, pueden retocar un poco cada slideshow y dejarlas un poco mejor, pero para quienes lo queremos para hacerle algun regalito a la novia nos alcanza y nos sobra :-P&lt;br /&gt;&lt;br /&gt;Bien, espero que les haya servido, y si quieren leer un poco mas, aca esta la wiki del proyecto donde hay un poco de informacion mas avanzada y detallada[2].&lt;br /&gt;&lt;br /&gt;Saludos,&lt;br /&gt;Franco&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[1] - http://es.wikipedia.org/wiki/Ken_Burns&lt;br /&gt;[2] - http://dvd-slideshow.sourceforge.net/wiki/Main_Page&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3369026469361972886-7580401440512378880?l=blog.frapell.com.ar' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.frapell.com.ar/feeds/7580401440512378880/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3369026469361972886&amp;postID=7580401440512378880' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3369026469361972886/posts/default/7580401440512378880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3369026469361972886/posts/default/7580401440512378880'/><link rel='alternate' type='text/html' href='http://blog.frapell.com.ar/2008/04/creando-un-dvd-con-fotos.html' title='Creando un DVD con fotos'/><author><name>frapell</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3369026469361972886.post-9078969351772471304</id><published>2008-03-28T09:28:00.001-07:00</published><updated>2008-03-28T09:31:48.137-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='varios'/><category scheme='http://www.blogger.com/atom/ns#' term='bienvenida'/><title type='text'>Primera Entrada</title><content type='html'>Bueno, bienvenido frapell al mundo de los blogs.... siempre me resisti, por no se... despues de leer las b****** que escriben algunas personas dije "yo no voy a ser uno de esos..." pero bueh, aqui estoy. Es mi primer post, y la idea va a ser meter aqui cosas relacionadas a mis intereses, los cualen el 95% rondan al rededor de estar frente al monitor, asi que van a ver cosas de Plone, Blender, Panda3D, Zope, Python, C, Assembly, etc, etc, etc&lt;br /&gt;&lt;br /&gt;por el momento no creo que sean entradas frecuentes, veremos que pasa en un futuro...&lt;br /&gt;&lt;br /&gt;por lo pronto, "hola :-D"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3369026469361972886-9078969351772471304?l=blog.frapell.com.ar' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.frapell.com.ar/feeds/9078969351772471304/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3369026469361972886&amp;postID=9078969351772471304' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3369026469361972886/posts/default/9078969351772471304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3369026469361972886/posts/default/9078969351772471304'/><link rel='alternate' type='text/html' href='http://blog.frapell.com.ar/2008/03/primera-entrada.html' title='Primera Entrada'/><author><name>frapell</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>
