<?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-3688028495600140878</id><updated>2011-12-29T17:52:16.066Z</updated><category term='juegos'/><category term='webcómic'/><category term='google app engine'/><category term='javascript'/><category term='incultura'/><category term='Sucesos'/><category term='la frase'/><category term='Linux Vs Windows'/><category term='cosas sin importancia'/><category term='wine'/><category term='monografías'/><category term='Beryl'/><category term='pywinery'/><category term='cultura libre'/><category term='minipost'/><category term='política'/><category term='hasefroch'/><category term='css'/><category term='python'/><category term='Noticias'/><category term='xhtml'/><category term='amsn'/><category term='España'/><category term='humor'/><category term='Errores'/><category term='#manifiesto'/><category term='Linux en general'/><category term='&quot;perlas&quot; de microsoft'/><category term='ARCADE'/><category term='java'/><category term='selenetransmission'/><category term='tutorial'/><category term='chorradas'/><category term='programas propios'/><category term='videos'/><category term='programas'/><category term='b2b'/><category term='django'/><category term='mi chica geek'/><category term='blog day'/><category term='programación'/><category term='descargas'/><category term='MMORPG'/><category term='compiz fusion'/><category term='eventos'/><category term='bespin'/><category term='cine'/><category term='ubuntu'/><category term='información relevante'/><category term='censura'/><category term='SHOOTER'/><category term='Ayuda'/><title type='text'>s.26.blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default?start-index=101&amp;max-results=100'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>256</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-6039960132527838486</id><published>2011-12-24T19:04:00.000Z</published><updated>2011-12-24T19:04:36.043Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='cultura libre'/><title type='text'>Y esto es lo que me he encontrado hoy en thepiratebay</title><content type='html'>&lt;iframe width="560" height="315" src="http://www.youtube.com/embed/1w6GtwOvnWM" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-6039960132527838486?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/6039960132527838486/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2011/12/y-esto-es-lo-que-me-he-encontrado-hoy.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/6039960132527838486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/6039960132527838486'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2011/12/y-esto-es-lo-que-me-he-encontrado-hoy.html' title='Y esto es lo que me he encontrado hoy en thepiratebay'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/1w6GtwOvnWM/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-8121555598857978212</id><published>2011-12-02T11:58:00.000Z</published><updated>2011-12-02T11:59:58.533Z</updated><title type='text'>Microapunte</title><content type='html'>&lt;blockquote  cite="http://redresiste.net/"&gt;El panorama de la propiedad intelectual en nuestro país es atroz: la Embajada de los Estados Unidos ha impuesto la aprobación de la Ley Sinde, el canon digital a empresas y administraciones fue declarado ilegal por el Tribunal de Justicia de la Unión Europea pero tras año y medio se sigue pagando, los antiguos dirigentes de la SGAE -siempre defendida por el Ministerio de Cultura- se hallan imputados en la Audiencia Nacional por el saqueo generalizado del dinero de los autores. Este panorama cuadra con el general: una corrupción política extendida y no censurada en las urnas, unida a la subordinación de la democracia a los intereses de unos pocos con nombres y apellidos a los que sin embargo se les llama “mercados”.&lt;/blockquote&gt;&lt;p&gt;Visto en &lt;a href="http://redresiste.net/"&gt;redresiste.net&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-8121555598857978212?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/8121555598857978212/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2011/12/microapunte.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/8121555598857978212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/8121555598857978212'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2011/12/microapunte.html' title='Microapunte'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-6871672055159997928</id><published>2011-11-26T21:57:00.001Z</published><updated>2011-11-26T22:16:49.873Z</updated><title type='text'>Linux Mint 12 - Lisa - liberado</title><content type='html'>&lt;p&gt;La esperada nueva versión de Linux Mint ha sido liberada. Esta distribución basada en Ubuntu Oneiric ha batido su propio récord personal, habiendo salido a poco más de un mes desde la salida de ésta (normalmente tardan varios meses).&lt;/p&gt;&lt;p&gt;Entre lo más destacable es la inclusión de Gnome Shell como escritorio por defecto, o lo que es lo mismo sin ese Unity que muchos odiamos, pero con varias extensiones para lograr un aspecto más fiel a la rama de Gnome 2: una barra inferior con lista de tareas, intercambiador de escritorios y menú de aplicaciones.&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-AB_tmu-E5tc/TtFkbB7cSwI/AAAAAAAAFWA/CT6iTU9BpQg/s1600/lisa_light.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" style="border:0" height="252" width="400" src="http://4.bp.blogspot.com/-AB_tmu-E5tc/TtFkbB7cSwI/AAAAAAAAFWA/CT6iTU9BpQg/s400/lisa_light.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;Sinceramente me gusta Gnome Shell tal como está pensado, pero me alegro de que hayan escuchado a aquellos que prefieren un entorno más clásico, y al ser extensiones se pueden desactivar con gnome-tweak-tool.&lt;/p&gt;&lt;p&gt;Es una distribución muy recomendable pero tened en cuenta que si sois los desgraciados poseedores de una tarjeta AMD/ATI, y optáis por usar sus desastrosos controladores oficiales (en vez de los libres vienen por defecto) para poder disfrutar de un rendimiento decente, no podréis usar Gnome Shell por exceso de bugs. Y la culpa es, obviamente, de AMD/ATI por hacer unos drivers tan pésimos.&lt;/p&gt;&lt;p&gt;Más información en &lt;a href="http://linuxmint.com/"&gt;linuxmint.com&lt;/a&gt; y en &lt;a href="http://blog.linuxmint.com/?p=1889"&gt;la noticia del blog de Linux Mint&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-6871672055159997928?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/6871672055159997928/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2011/11/linux-mint-12-lisa-liberado.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/6871672055159997928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/6871672055159997928'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2011/11/linux-mint-12-lisa-liberado.html' title='Linux Mint 12 - Lisa - liberado'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-AB_tmu-E5tc/TtFkbB7cSwI/AAAAAAAAFWA/CT6iTU9BpQg/s72-c/lisa_light.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-7554493128736001504</id><published>2011-11-15T08:00:00.000Z</published><updated>2011-11-15T17:36:05.380Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='cosas sin importancia'/><title type='text'>Cómo hacer las cosas mal: Nokia</title><content type='html'>&lt;p&gt;Muchos éramos los incondicionales de Nokia hasta hace un par de años. Se trataba de una época en la que con cada nuevo móvil aparecía un sistema operativo propietario y minoritario, eliminando cualquier posibilidad de un ecosistema sano de aplicaciones, en el que sólo sobrevivían aplicaciones con muy mala integración, muy lentas y, en definitiva, utilizando la versión J2ME de java.&lt;/p&gt;&lt;p&gt;Pero había un fabricante, Nokia, que mantenía un sistema operativo en todos sus móviles de gama alta (y luego media) llamado &lt;a href="http://es.wikipedia.org/wiki/Symbian_OS"&gt;Symbian&lt;/a&gt;, con librerías y aplicaciones nativas, con móviles de gran calidad (cosa que conserva a día de hoy), y que debido a esto merecía su posición líder en el sector.&lt;/p&gt;&lt;p&gt;Pasó el tiempo y Nokia, &lt;b&gt;ahorrando más de lo debido en cuanto a innovación&lt;/b&gt; y diseño de su software, fue eclipsada por unos recién llegados, con las ideas mucho más claras en cuanto a diseño, para quienes el hardware era secundario frente al software. Y &lt;b&gt;perdió el tren&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Nokia tuvo su oportunidad con &lt;a href="http://es.wikipedia.org/wiki/Maemo"&gt;Maemo&lt;/a&gt;, su única apuesta razonable hasta día de hoy. Se trataba de un sistema operativo abierto basado en linux (lo que implica un buen diseño, aunque no necesariamente óptimo), pero &lt;b&gt;cuando se es un dinosaurio miope se toman decisiones estúpidas&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;En plena explosión de los móviles &lt;strike&gt;smartphones para esos amantes del anglosajón&lt;/strike&gt;, Nokia, al borde del colapso, intentó lo suyo con las interfaces táctiles, demostrando una vez más el nivel de obsolescencia de sus diseñadores y su incapacidad ya no sólo de innovar, sino de tan siquiera acercarse a la competencia. Tras varios intentos, se dieron por vencidos.&lt;/p&gt;&lt;p&gt;Podrían haber contratado nuevos ingenieros con buenas idea o haber absorbido alguna pequeña empresa con medio trabajo hecho, pero cuando un grupo de finlandeses se proponen algo, en este caso hacer las cosas mal, ni caer por un fiordo les frena.&lt;/p&gt;&lt;p&gt;Su genial idea se cristalizó este año cuando Nokia anunció su &lt;i&gt;ingenioso&lt;/i&gt; plan para frenar su debacle en ventas (y en bolsa): establecía una alianza estratégica con otro especialista en hacer las cosas mal, en cosechar fracasos en el sector y aún más cerrados a la innovación que ellos mismos. Su miopía provocó el &lt;a href="http://es.engadget.com/2011/02/11/nokia-cae-en-bolsa-tras-el-anuncio-de-su-alianza-con-microsoft/"&gt;enésimo bajón en bolsa&lt;/a&gt;, pero el acuerdo era firme.&lt;/p&gt;&lt;p&gt;Concretando, dejando la bilis a un lado y lejos de análisis técnicos&lt;sup&gt;1&lt;/sup&gt;, lo resumiré en imágenes.&lt;/p&gt;&lt;p&gt;Nokia ha pasado de este aceptable diseño de complicado desempeño:&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-aVQWPFZrz8g/TsGsHGM4ngI/AAAAAAAAFTs/8SVcKxJWKM4/s1600/Symbian-Belle-portrait.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="354" width="400" src="http://4.bp.blogspot.com/-aVQWPFZrz8g/TsGsHGM4ngI/AAAAAAAAFTs/8SVcKxJWKM4/s400/Symbian-Belle-portrait.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;A esta terrible interfaz, que aunque resulte más sencilla, esconde sistema operativo irremediablemente peor:&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-eTaEN8ATOwM/TsGsGy0tXHI/AAAAAAAAFTg/IznbvnDr_zA/s1600/Nokia-Lumia-800-y-710-533x400.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="300" width="400" src="http://4.bp.blogspot.com/-eTaEN8ATOwM/TsGsGy0tXHI/AAAAAAAAFTg/IznbvnDr_zA/s400/Nokia-Lumia-800-y-710-533x400.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;Creyendo, en su miope incapacidad para mantener un pulso con el sector, que pueden competir con:&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-uGQC02idfjQ/TsGsGn4wYoI/AAAAAAAAFTU/4e7rUuGUgTw/s1600/icecreamsandwich4.0.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="225" width="400" src="http://2.bp.blogspot.com/-uGQC02idfjQ/TsGsGn4wYoI/AAAAAAAAFTU/4e7rUuGUgTw/s400/icecreamsandwich4.0.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;Llevan un año anunciando la inclusión de un software, que nació &lt;strike&gt;deforme y enfermo&lt;/strike&gt; desfasado, y antes de dichos terminales lleguen al mercado sus competidores ya han sacado varias actualizaciones y cientos de móviles y tablets, decenas de ellos mejores que cualquier cosa que Nokia pueda sacar al mercado a corto y medio plazo, &lt;b&gt;ya que su &lt;i&gt;novedoso&lt;/i&gt; software obliga a limitar lo único en lo que podrían ganar: su hardware&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Resumiendo, &lt;strong&gt;Nokia: la estupidez hecha empresa.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Edito 2011.11.15:&lt;/strong&gt; acabo de ver de ver el informe Gartner sobre el estado del sector comparando los porcentajes de venta en los terceros trimestres de 2010 y 2011: Android ha pasado del 25.3 a un 52.5, Symbian de 36.3 a 16.9 y Microsoft&lt;sup&gt;2&lt;/sup&gt; ha pasado de 2.7 a un 1.7. Y es que los datos son los que son:&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="0" height="343" width="500" src="http://3.bp.blogspot.com/-bFsjAzEzAF0/TsKfwer1vDI/AAAAAAAAFT4/q4qw07kMsw8/s1600/Portapapeles15.png" /&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;Puntualizo que Symbian es un sistema operativo mucho más eficiente en Android a tenor de un diseño mas simple y aplicaciones ejecutándose nativamente, no interpretadas, lo que redunda en un desempeño muy superior a la hora de confeccionar juegos y aplicaciones multimedia.&lt;/li&gt;&lt;li&gt;Sí, lo sé, he estado evitando nombrarlo en todo el artículo, pero en la edición no había forma de esquivarlo.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;strong&gt;Créditos:&lt;/strong&gt;&lt;ul&gt;&lt;li&gt;La imagen de Symbian Belle está sacada de &lt;a href="http://conversations.nokia.com/2011/08/24/symbian-belle-the-facts-the-features-and-the-pictures/"&gt;conversations.nokia.com&lt;/a&gt;, la imagen del centro de &lt;a href="http://moviltoday.com/entrevista-a-nokia-en-la-presentacion-de-la-gama-lumia-en-espana/"&gt;moviltoday.com&lt;/a&gt; y la de Android Ice Cream Sandwich no he ubicado la fuente original, pero los derechos son de Google seguro.&lt;/li&gt;&lt;li&gt;La tabla de la edición está sacada del &lt;a href="http://www.gartner.com/it/page.jsp?id=1848514"&gt;estudio de Gartner&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-7554493128736001504?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/7554493128736001504/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2011/11/como-hacer-las-cosas-mal-nokia.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/7554493128736001504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/7554493128736001504'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2011/11/como-hacer-las-cosas-mal-nokia.html' title='Cómo hacer las cosas mal: Nokia'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-aVQWPFZrz8g/TsGsHGM4ngI/AAAAAAAAFTs/8SVcKxJWKM4/s72-c/Symbian-Belle-portrait.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-2912530592889385307</id><published>2011-11-12T16:10:00.000Z</published><updated>2011-11-12T18:12:37.945Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux en general'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Arreglo -temporal- de la regresión de Intel Sandy Bridge</title><content type='html'>&lt;p&gt;Algunos usuarios de chipsets Intel (montados en placas bases para Core Duo, i3, i5, e i7) hemos sufrido desde hace un año este problema que hace que nuestras baterías lleguen a durar la mitad en los peores casos. Problema causado por los drivers que intel ha incluído en el kernel Linux desde la versión 2.6.38.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.omgubuntu.co.uk/author/adnan/"&gt;Adnan Hodzic&lt;/a&gt;, de &lt;a href="http://www.omgubuntu.co.uk/"&gt;OMG Ubuntu&lt;/a&gt;, &lt;a href="http://www.omgubuntu.co.uk/2011/11/linux-power-regression-overheating-problem-on-thinkpad-fixed/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+d0od+%28OMG%21+Ubuntu%21%29"&gt;ha encontrado una solución temporal&lt;/a&gt; que hará que tu batería dure más tiempo: añadir dos opciones al grub &lt;i&gt;pcie_aspm=force&lt;/i&gt; y &lt;i&gt;i915.i915_enable_rc6=1&lt;/i&gt;.&lt;/p&gt;&lt;p&gt;Siempre que se trata de configurar el grub2 en Ubuntu, y aunque es sencillo hacerlo modificando los archivos a mano, yo recomiendo grub-customizer, para instarlo en Ubuntu basta con añadir el ppa ejecutando desde consola:&lt;/p&gt;&lt;pre class="bash" name="code"&gt;sudo add-apt-repository ppa:danielrichter2007/grub-customizer&lt;br /&gt;sudo apt-get update&lt;br /&gt;sudo apt-get install grub-customizer&lt;/pre&gt;&lt;p&gt;Para otras distribuciones, &lt;a href="https://launchpad.net/~danielrichter2007"&gt;Daniel Ritcher&lt;/a&gt;, el autor, &lt;a href="https://answers.launchpad.net/grub-customizer/+faq/1397"&gt;ha publicado un tutorial en el mismo launchpad&lt;/a&gt;.&lt;br /&gt;Ahora solo toca ejecutarlo (está en la sección &lt;i&gt;Sistema&lt;/i&gt; como &lt;i&gt;Grub Customizer&lt;/i&gt;), pedirá la contraseña de administración, y una vez abierto, ir a preferencias.&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="0" height="429" src="http://3.bp.blogspot.com/-DXmfTJr5lz8/Tr6TQ4jnprI/AAAAAAAAFSA/LPJ5tKR2T10/s1600/Captura%2Bde%2Bpantalla%2B-%2B121111%2B-%2B15%253A36%253A42.png" style="border: 0;" width="524" /&gt;&lt;/div&gt;&lt;p&gt;Añadir &lt;i&gt;pcie_aspm=force i915.i915_enable_rc6=1&lt;/i&gt; a la lista de parámetros del kernel.&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="0" height="425" src="http://4.bp.blogspot.com/-FUZ45P7uHdo/Tr6U7wRMqBI/AAAAAAAAFSM/oPmI1MRghvA/s1600/Captura%2Bde%2Bpantalla%2B-%2B121111%2B-%2B15%253A37%253A58.png" style="border: 0;" width="393" /&gt;&lt;/div&gt;&lt;p&gt;Y guardar los cambios (que actualizará el grub).&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="0" height="429" src="http://2.bp.blogspot.com/-3DQRTUiS56E/Tr6VUVp8JEI/AAAAAAAAFSY/RcCJhIzudhM/s1600/Captura%2Bde%2Bpantalla%2B-%2B121111%2B-%2B15%253A38%253A19.png" style="border: 0;" width="524" /&gt;&lt;/div&gt;&lt;p&gt;Rápido y fácil. Me gustaría que me contarais si os ha funcionado en los comentarios, pero como mi número de lectores tiende a cero, tampoco voy a hacerme muchas ilusiones &lt;img style="margin:0;padding:0;border:0" src="https://lh3.googleusercontent.com/-LqgOsyqbmaw/SdzoZg1Ek6I/AAAAAAAADjM/jpz3U2W_rN8/s20/xd.png" alt="xD"/&gt;.&lt;/p&gt;&lt;p&gt;Un saludo.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Créditos:&lt;/strong&gt; a &lt;a href="http://www.omgubuntu.co.uk/author/adnan/"&gt;Adnan Hodzic&lt;/a&gt; de &lt;a href="http://www.omgubuntu.co.uk/"&gt;OMG Ubuntu&lt;/a&gt; por encontrar &lt;a href="http://www.omgubuntu.co.uk/2011/11/linux-power-regression-overheating-problem-on-thinkpad-fixed/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+d0od+%28OMG%21+Ubuntu%21%29"&gt;esta solución&lt;/a&gt; y a &lt;a href="https://launchpad.net/~danielrichter2007"&gt;Daniel Ritcher&lt;/a&gt; por su estupendo &lt;a href="https://launchpad.net/grub-customizer"&gt;Grub Customizer&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-2912530592889385307?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/2912530592889385307/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2011/11/arreglo-temporal-de-la-regresion-de.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/2912530592889385307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/2912530592889385307'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2011/11/arreglo-temporal-de-la-regresion-de.html' title='Arreglo -temporal- de la regresión de Intel Sandy Bridge'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-DXmfTJr5lz8/Tr6TQ4jnprI/AAAAAAAAFSA/LPJ5tKR2T10/s72-c/Captura%2Bde%2Bpantalla%2B-%2B121111%2B-%2B15%253A36%253A42.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-4807619511607942622</id><published>2011-11-03T15:15:00.001Z</published><updated>2011-11-03T15:18:16.520Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='juegos'/><title type='text'>Desura</title><content type='html'>&lt;img style="border:0;float:right;" height="199" width="256" src="http://4.bp.blogspot.com/-2pLnV_-7q5E/TrKtXxXMFtI/AAAAAAAAFRE/nmhXPjDF1o4/s1600/Desura_icon.png" /&gt;&lt;p&gt;Desura es una plataforma de distribución videojuegos al más puro estilo del Steam de Valve, pero &lt;strike&gt;sin ese afán de chuparle el culo a los de Redmond&lt;/strike&gt; con versión nativa para linux y centrado en desarrolladoras independientes que, por suerte para nosotros, no hacen ascos a la pequeña cuota de mercado que representamos.&lt;/p&gt;&lt;p&gt;Pensando que sería otro &lt;a href="/2010/03/djl.html"&gt;djl&lt;/a&gt; (que no es una maravilla de la programación que digamos), me he llevado una grata sorpresa al comprobar que es equiparable al Steam de Valve tanto en apariencia (con un navegador integrado) como en funcionamiento, y funciona, habiendo probado tres juegos y un par de demos, descargados y ejecutados sin problemas, e incluso habiéndose descargado las librerías correspondientes. Esto que puede parecer trivial no lo es tanto: los que hemos dado el salto a los 64 bits nos topamos muy a menudo con problemas con las aplicaciones que enlazan estáticamente ciertas librerías, estando compiladas para los 32 &lt;strike&gt;mordisquitos&lt;/strike&gt;.&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-OR6ct72javQ/TrKuVWtX9ZI/AAAAAAAAFRQ/ykayMEzJ5LA/s1600/Captura%2Bde%2Bpantalla%2B-%2B031111%2B-%2B15%253A07%253A01.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="267" width="400" src="http://1.bp.blogspot.com/-OR6ct72javQ/TrKuVWtX9ZI/AAAAAAAAFRQ/ykayMEzJ5LA/s400/Captura%2Bde%2Bpantalla%2B-%2B031111%2B-%2B15%253A07%253A01.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;Si bien no he podido comprar ningún juego en la aplicación por un fallo en su librería para incrustar la web en la aplicación, ni cambiar la foto, son cosas que se pueden hacer desde el navegador. En cuanto a los juegos, se descargan e instalan en una carpeta de usuario, no se añaden al menú de escritorio, y no estoy muy seguro de cómo de bien funciona la resolución de dependencias con las librerías que se baja. Aunque todo esto es empequeñecido por el detalle de que se hayan acordado de nosotros, y nos hayan dado la oportunidar de poder usar su plataforma para encontrar tantos juegos de calidad.&lt;/p&gt;&lt;p&gt;Os la recomiendo a todos los jugones, y gacias, señores &lt;strike&gt;australianos anónimos&lt;/strike&gt; &lt;strike&gt;de empresa homónima&lt;/strike&gt; de Desura &lt;strike&gt;por ser tan considerados&lt;/strike&gt;.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Enlace:&lt;/strong&gt; &lt;a href="http://www.desura.com/"&gt;Desura.com&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Créditos:&lt;/strong&gt; El logo de Desura es propiedad de &lt;a href="http://www.desura.com/about"&gt;Desura Pty Ltd.&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-4807619511607942622?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/4807619511607942622/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2011/11/desura.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/4807619511607942622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/4807619511607942622'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2011/11/desura.html' title='Desura'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-2pLnV_-7q5E/TrKtXxXMFtI/AAAAAAAAFRE/nmhXPjDF1o4/s72-c/Desura_icon.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-5348704593372926210</id><published>2011-10-18T17:35:00.001Z</published><updated>2011-11-03T14:40:05.338Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Ubuntu desde USB no reconocido por algunas BIOS, Unetbootin paso a paso</title><content type='html'>&lt;p&gt;Algo básico a día de hoy, cuando ya muchos ordenadores carecen de lector óptico &lt;strike&gt;o no queremos pagar el impuesto revolucionario a la pútrida SGAE&lt;/strike&gt;, es el instalar nuestra distribución de linux favorita desde un lápiz USB.&lt;/p&gt;&lt;h3&gt;El problema&lt;/h3&gt;&lt;p&gt;En algunos ordenadores no funciona el USB generado por usb-creator-gtk, el "Creador de discos de arranque" que Ubuntu usa por defecto, en ellos la BIOS se niega a arrancar desde dicho USB. De hecho me ha sucedido en dos de tres portátiles en los que he instalado: un Asus M50SV y un Samsung NP-R530.&lt;/p&gt;&lt;h3&gt;La solución&lt;/h3&gt;&lt;p&gt;Existe otro generador de discos de arranque con, digámoslo así, mucha más experiencia: &lt;a href="http://unetbootin.sourceforge.net/"&gt;Unetbootin&lt;/a&gt;, está &lt;b&gt;en el repositorio universe de Ubuntu&lt;/b&gt;, y puedes instalarlo desde tu gestor de paquetes favorito o tecleando en consola:&lt;/p&gt;&lt;pre name="code" class="bash"&gt;sudo apt-get install unetbootin&lt;/pre&gt;&lt;p&gt;Unetbootin no te aparecerá en el menú (no han incluido en fichero .desktop correspondiente), de modo que para lanzarlo deberemos recurrir al terminal:&lt;/p&gt;&lt;pre name="code" class="bash"&gt; unetbootin&lt;/pre&gt;&lt;p&gt;Te preguntará tu contraseña de administrador y te mostrará una ventana como esta.&lt;/p&gt;&lt;div style="text-align:center"&gt;&lt;img style="border:0" height="385" width="528"  src="http://1.bp.blogspot.com/-LGtyldOt5aY/Tp2kQpJD3_I/AAAAAAAAFO8/mGXEbK493D8/s1600/Captura%2Bde%2Bpantalla%2B-%2B181011%2B-%2B17%253A05%253A20.png" /&gt;&lt;/div&gt;&lt;p&gt;Como podéis comprobar, es bastante sencillo de usar (es muy parecido a usb-creator-gtk), pero además nos permitirá descargar la imagen iso correspondiente desde el mismo programa pudiendo elegir entre muchas de las distribuciones más populares, o elegir alguno que hayamos descargado previamente seleccionándolo desde nuestro disco duro.&lt;/p&gt;&lt;h3&gt;Crear usb paso a paso con Unetbootin&lt;/h3&gt;&lt;p&gt;El primer paso es descargar la imagen iso correspondiente, porque aunque Unetbootin nos permita descargarlo automáticamente en el acto, yo soy de los que prefieren hacerlo a mano y guardar la imagen a buen recaudo, podéis descargar Ubuntu desde &lt;a href="http://releases.ubuntu.com/11.10/"&gt;su página de descargas&lt;/a&gt;, así como &lt;a href="http://cdimage.ubuntu.com/xubuntu/releases/11.10/release/"&gt;Xubuntu&lt;/a&gt; (ubuntu con xfce, más sencillo de usar y que yo encuentro más estable) o &lt;a href="http://cdimage.ubuntu.com/kubuntu/releases/11.10/release/"&gt;Kubuntu&lt;/a&gt; (con KDE). &lt;a href="http://www.ubuntu.com/project/about-ubuntu/derivatives"&gt;Hay más derivados&lt;/a&gt;, pero citarlos todos no es la finalidad de este post.&lt;/p&gt;&lt;p&gt;Ahora toca formatear el pendrive porque, desgraciadamente, Unetbootin no lo hace automáticamente.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Advertencia: tened mucho cuidado al formatear, y fijaos bien qué disco es el que estáis formateando, podríais perder todos vuestros archivos y documentos en un desliz. Repito, tened mucho cuidado al formatear, si tenéis alguna duda, preguntar por ahí, siempre es mejor preguntar antes de cometer una fatal estupidez.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;La forma más fácil de hacerlo es con gparted, el gestor de particiones. Para instalarlo, nuevamente con tu gestor de paquetes favorito o desde consola:&lt;/p&gt;&lt;pre name="code" class="bash"&gt;sudo apt-get install gparted&lt;/pre&gt;&lt;p&gt;Lo podrás encontrar en el menú de aplicaciones, en la sección de sistema, o puedes lanzarlo desde terminal:&lt;/p&gt;&lt;pre name="code" class="bash"&gt;sudo gparted&lt;/pre&gt;&lt;p&gt;Elegimos el disco USB en el desplegable.&lt;/p&gt;&lt;div style="text-align:center"&gt;&lt;img style="border:0" height="426" width="599" src="http://1.bp.blogspot.com/-eDgnvR16Fus/Tp2sOFp1d_I/AAAAAAAAFPI/5Okbgvi-UXM/s1600/Captura%2Bde%2Bpantalla%2B-%2B181011%2B-%2B17%253A24%253A59.png" /&gt;&lt;/div&gt;&lt;p&gt;Comprobad que habéis seleccionado efectivamente el USB: normalmente debería haber una sola partición en el disco, o ninguna si el pendrive es nuevo, y comprobad también el espacio del mismo. Si os equivocáis de disco. podrías estar borrando el disco duro de vuestro ordenador. Así que andad con pies de plomo.&lt;/p&gt; &lt;p&gt;Si el disco USB ya tiene una partición, y ésta ya es FAT32, podéis cerrar el gparted y saltaros todo esto del formateo si queréis, abrir el USB con el navegador de archivos y borrar el contenido a mano hasta tener &lt;strike&gt;670&lt;/strike&gt; 700 MiB de espacio. Si aún así queréis formatear la partición debéis desmontarla primero, usando el menú contextual (botón derecho del ratón):&lt;/p&gt;&lt;div style="text-align:center"&gt;&lt;img style="border:0" height="426" width="599" src="http://2.bp.blogspot.com/-yz6JTfx09Ww/Tp2sOGx2teI/AAAAAAAAFPQ/V6wGZPpXpk0/s1600/Captura%2Bde%2Bpantalla%2B-%2B181011%2B-%2B17%253A25%253A34.png" /&gt;&lt;/div&gt;&lt;p&gt;Ahora usad el botón secundario del ratón sobre la primera opción de la lista de particiones y, en el caso de que no haya ninguna partición creada, seleccionáis "Nueva" y en la ventana emergente seleccionáis FAT32 como sistema de archivos. Si por el contrario ya hay una partición basta con seleccionar Formatear como y FAT32:&lt;/p&gt;&lt;div style="text-align:center"&gt;&lt;img style="border:0" height="591" width="595" src="http://4.bp.blogspot.com/-lXVcY9Qo08o/Tp2sOeuDXVI/AAAAAAAAFPg/EToZRRzXLNY/s1600/Captura%2Bde%2Bpantalla%2B-%2B181011%2B-%2B17%253A26%253A23.png" /&gt;&lt;/div&gt;&lt;p&gt;Ahora, comprobad que en la lista de operaciones pendientes (la nueva sección bajo lista de particiones) aparece lo que hemos hecho. Si no es así, usad la opción de deshacer del menú editar. Una ves hayamos terminado, aplicaremos los cambios y gparted formateará el disco USB:&lt;/p&gt;&lt;div style="text-align:center"&gt;&lt;img src="https://lh5.googleusercontent.com/-dE59DrrDTVc/Tp2sO8Ska-I/AAAAAAAAFQ4/NMattVTshv0/s512/Captura%252520de%252520pantalla%252520-%252520181011%252520-%25252017%25253A26%25253A45.png" style="border:0" width="512" height="509"/&gt;&lt;/div&gt;&lt;p&gt;Ahora toca arrancar Unetbootin, desde consola:&lt;/p&gt;&lt;pre name="code" class="bash"&gt;unetbootin&lt;/pre&gt;&lt;p&gt;Seleccionais como imagen de disco (en la captura, DiscoImagen) la imagen iso que os habéis bajado, seleccionáis como tipo "Unidad USB" y la seleccionáis el disco USB (la ruta será la misma que la que tuvisteis que seleccionar en el desplegable gparted para formatear), una vez hecho esto, sólo toca aceptar y esperar a que Unetbootin haga todo el trabajo:&lt;/p&gt;&lt;div style="text-align: center;"&gt;&lt;img style="border:0" height="386" width="528" src="http://3.bp.blogspot.com/-8r6XSBigiw4/Tp21PaRGuhI/AAAAAAAAFP4/cbFBs8uQ474/s1600/Captura%2Bde%2Bpantalla%2B-%2B181011%2B-%2B18%253A17%253A55.png" /&gt;&lt;/div&gt;&lt;p&gt;Espero que os haya servido, sinceramente, conocer el grave problema de compatibilidad en el arranque de usb-creator-gtk frente a Unetbootin me hubiera evitado más de un dolor de cabeza.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-5348704593372926210?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/5348704593372926210/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2011/10/ubuntu-desde-usb-no-reconocido-por.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/5348704593372926210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/5348704593372926210'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2011/10/ubuntu-desde-usb-no-reconocido-por.html' title='Ubuntu desde USB no reconocido por algunas BIOS, Unetbootin paso a paso'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-LGtyldOt5aY/Tp2kQpJD3_I/AAAAAAAAFO8/mGXEbK493D8/s72-c/Captura%2Bde%2Bpantalla%2B-%2B181011%2B-%2B17%253A05%253A20.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-209304058498589630</id><published>2011-05-30T17:42:00.001Z</published><updated>2011-05-30T17:42:42.244Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='España'/><title type='text'>Sin título</title><content type='html'>&lt;object width="640" height="390"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Geg_6Xoy04s&amp;rel=0&amp;hl=es_ES&amp;feature=player_embedded&amp;version=3"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/Geg_6Xoy04s&amp;rel=0&amp;hl=es_ES&amp;feature=player_embedded&amp;version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="390"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-209304058498589630?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/209304058498589630/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2011/05/sin-titulo.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/209304058498589630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/209304058498589630'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2011/05/sin-titulo.html' title='Sin título'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-5152578782875405749</id><published>2011-03-11T17:00:00.002Z</published><updated>2011-03-11T17:00:08.610Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='censura'/><title type='text'>12 de marzo - Día mundial contra la censura en Internet</title><content type='html'>&lt;p style="position:relative;z-align:1"&gt;Rompo el silencio (mas bien abandono) intencionado del blog para hacerme eco del Día mundial contra la censura en internet, más relevante que nunca ahora que muchos gobiernos, entre ellos el español, ha optado por censurar arbitraria y sistemáticamente el medio más importante de comunicación, internet (entre otras muchas estupideces legales), pasándose por el forro una vez más las libertades civiles de los desavenidos habitantes de turno (razón por la cual paso de seguir escribiendo en un blog en español).&lt;/p&gt;&lt;img style="position:relative;z-align:0;display:block;border:none ;margin:-100px auto 0; width: 150px; height: 400px;" src="http://2.bp.blogspot.com/-7PlA9ER9p-4/TXpNeEHhkiI/AAAAAAAAFCA/Yzl3EtGEFp4/s400/mouse_lock.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5582859866975867426" /&gt;&lt;p&gt;Podéis seguir la iniciativa, lanzada por Reporteros sin fronteras, desde &lt;a href="http://march12.rsf.org/"&gt;march12.rsf.org&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Si queréis usar la imagen, en &lt;a href="http://www.openclipart.org/detail/126769"&gt;www.openclipart.org/detail/126769&lt;/a&gt; la tenéis en formato svg (licencia CreativeCommons atribución compartir-igual).&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-5152578782875405749?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/5152578782875405749/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2011/03/12-de-marzo-dia-mundial-contra-la.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/5152578782875405749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/5152578782875405749'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2011/03/12-de-marzo-dia-mundial-contra-la.html' title='12 de marzo - Día mundial contra la censura en Internet'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-7PlA9ER9p-4/TXpNeEHhkiI/AAAAAAAAFCA/Yzl3EtGEFp4/s72-c/mouse_lock.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-2590846242920410807</id><published>2010-11-23T12:00:00.002Z</published><updated>2010-11-23T12:00:05.231Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux Vs Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='videos'/><title type='text'>Divertido Spot de Guadalinex</title><content type='html'>&lt;p&gt;Guadalinex forma parte del sobredimensionado grupo de distribuciones de linux basadas en Ubuntu, cuyo desarrollo está subvencionado por la Junta de Andalucía, y oficialmente se usa en colegios y en la administración (&lt;a href="http://spayder26.blogspot.com/2007/07/despotismo-ilustrado.html"&gt;aunque hace años me llevé una decepción sobre su implantación&lt;/a&gt;, mucho ha llovido desde entonces).&lt;/p&gt;&lt;p&gt;Para la versión 7, han creado varios vídeos promocionales, aquí os dejo el que más me ha gustado.&lt;/p&gt;&lt;iframe title="YouTube video player" class="youtube-player" type="text/html" width="480" height="390" src="http://www.youtube.com/embed/nHan0Pter_A?rel=0" frameborder="0"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;p&gt;Podéis ver el resto de vídeos en la fuente: el &lt;a href="http://www.gulic.org/node/1309"&gt;blog de Icabrera en gulic.org&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-2590846242920410807?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/2590846242920410807/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/11/divertido-spot-de-guadalinex.html#comment-form' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/2590846242920410807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/2590846242920410807'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/11/divertido-spot-de-guadalinex.html' title='Divertido Spot de Guadalinex'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/nHan0Pter_A/default.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-5317441768247599079</id><published>2010-11-22T15:01:00.002Z</published><updated>2010-11-22T15:06:02.007Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><title type='text'>La máquina de copiar jamones</title><content type='html'>&lt;p&gt;Opinad después de verlo entero &lt;img src="http://lh3.ggpht.com/_XUj14gVcgSo/SdzoZg1Ek6I/AAAAAAAADjM/c7_TFY88BJg/xd.png" style="border:0;vertical-align:middle;" alt="x&amp;apos;D" /&gt;&lt;/p&gt;&lt;object width="600" height="370"&gt;&lt;param name="movie" value="http://www.notodofilmfest.com/ediciones/ix/es/swf/player.swf?corto=2461.flv&amp;duracion=03:30"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.notodofilmfest.com/ediciones/ix/es/swf/player.swf?corto=2461.flv&amp;duracion=03:30" type="application/x-shockwave-flash" wmode="transparent" width="600" height="370"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-5317441768247599079?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/5317441768247599079/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/11/la-maquina-de-copiar-jamones.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/5317441768247599079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/5317441768247599079'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/11/la-maquina-de-copiar-jamones.html' title='La máquina de copiar jamones'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_XUj14gVcgSo/SdzoZg1Ek6I/AAAAAAAADjM/c7_TFY88BJg/s72-c/xd.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-3028582887275820214</id><published>2010-11-21T11:12:00.005Z</published><updated>2010-11-21T11:32:26.273Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Noticias'/><title type='text'>La planificación en Aikido a través de los cuadernos técnicos, presentado</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_XUj14gVcgSo/TOj-w1a-veI/AAAAAAAAE8o/MLTRMBJQeLg/s1600/PortadaIshana.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 255px; height: 400px;" src="http://4.bp.blogspot.com/_XUj14gVcgSo/TOj-w1a-veI/AAAAAAAAE8o/MLTRMBJQeLg/s400/PortadaIshana.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5541959456406814178" /&gt;&lt;/a&gt;&lt;p&gt;Ayer, sábado 20 de noviembre de 2010, asistí a la presentación del libro "La planificación en Aikido a través de los cuadernos técnicos", una guía detallada, desarrollada por Sensei Ishana Pérez, maestro del Dojo Kuubukan, fruto de más de 20 años de investigación, sobre el camino a seguir para evolucionar en el noble arte del Akido de forma óptima.&lt;/p&gt;&lt;p&gt;Es por ello que me siento honrado de haber contribuido en parte ínfima a este libro diseñando la portada (minimalista e inspirada en el estilo clásico del grabado japonés).&lt;/p&gt;&lt;p&gt;Gracias Ishana.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_XUj14gVcgSo/TOkBRft0KZI/AAAAAAAAE8w/-Z3t6x8OQ3U/s1600/20112010728.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_XUj14gVcgSo/TOkBRft0KZI/AAAAAAAAE8w/-Z3t6x8OQ3U/s400/20112010728.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5541962216539171218" /&gt;&lt;/a&gt;&lt;p style="text-align:center"&gt;&lt;small&gt;Perdonad mi extraña cara, es producto a partes iguales de mi mala suerte en materia de lo genético, y del sentido del humor de varios participantes y el protagonista del evento.&lt;/small&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-3028582887275820214?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/3028582887275820214/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/11/la-planificacion-en-aikido-traves-de.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/3028582887275820214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/3028582887275820214'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/11/la-planificacion-en-aikido-traves-de.html' title='La planificación en Aikido a través de los cuadernos técnicos, presentado'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_XUj14gVcgSo/TOj-w1a-veI/AAAAAAAAE8o/MLTRMBJQeLg/s72-c/PortadaIshana.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-8255034618623464744</id><published>2010-11-19T22:43:00.015Z</published><updated>2010-12-01T20:53:43.562Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><title type='text'>Agregar el certificado inválido de MSN para Pidgin</title><content type='html'>&lt;img style="float:right;width: 256px; height: 256px;border:0;" src="http://3.bp.blogspot.com/_XUj14gVcgSo/TOcAfOTFuDI/AAAAAAAAE8U/l0EmSQFkmi0/s400/error.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5541398402916792370" /&gt;&lt;p&gt;Tras los infinitos intentos de Hasefroch de joder la vida a los que no queremos usar sus coladeros de virus oficiales y no nos atrae el ser unos parias sociales, lo último ha sido crear otro nuevo certificado inválido, es decir, no firmado por ningún organismo oficial, que hace que nuestro pidgin, por razones de seguridad mas que lógicas, se niegue a conectarse a su red, mostrando un mensaje de certificado de SSL inválido (¿He dicho ya que es inválido?).&lt;/p&gt;&lt;p&gt;&lt;strong&gt;EDITO 27.11.2010:&lt;/strong&gt; Como era de esperar, la gente de pidgin ya ha publicado una versión corregida, pero dada la política de no-actualización de ubuntu, para poder instalarla deberéis añadir manualmente el repositorio de pidgin con el siguiente comando:&lt;/p&gt;&lt;pre name="code" class="bash"&gt;sudo add-apt-repository ppa:pidgin-developers/ppa&lt;/pre&gt;&lt;p&gt;O bien añadiendo &lt;strong&gt;ppa:pidgin-developers/ppa&lt;/strong&gt; en &lt;strong&gt;Orígenes de software&lt;/strong&gt;.&lt;/p&gt;&lt;strike&gt;&lt;p&gt;La solución pasa por descargar el certificado y añadirlo al pidgin, podéis utilizar el siguiente comando (en una sola línea, por consola, y una vez haya terminado paradlo con CTRL+C):&lt;/p&gt;&lt;pre&gt;openssl s_client -verify off -showcerts -connect omega.contacts.msn.com:443 &amp;gt; ~/.purple/certificates/x509/tls_peers/omega.contacts.msn.com&lt;/pre&gt;&lt;p&gt;O bien descargando el certificado visitando &lt;a href="http://omega.contacts.msn.com"&gt;omega.contacts.msn.com&lt;/a&gt; con tu navegador (que te avisará que el certificado no es válido, acepta), descargando el certificado, llamándolo como la dirección dada, y metiéndolo en &lt;span style="font-weight:bold;"&gt;.purple/certificates/x509/tls_peers/&lt;/span&gt; (.pidgin se encuentra en tu home).&lt;/p&gt;&lt;p&gt;Pidgin volverá a conectar sin problemas. &lt;strong&gt;EDITO 21.11.2010:&lt;/strong&gt; Al menos durante un tiempo. Deberéis ejecutar el comando cada vez que vuelva a fallar, hasta que la gente de Pidgin lo solucionen.&lt;/p&gt;&lt;p&gt;Créditos: a Ed Fisher de retrohack.com &lt;a href="http://retrohack.com/why-cant-we-all-just-get-along/"&gt;por encontrar la solución&lt;/a&gt;.&lt;/p&gt;&lt;/strike&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-8255034618623464744?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/8255034618623464744/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/11/agregar-el-certificado-invalido-de-msn.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/8255034618623464744'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/8255034618623464744'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/11/agregar-el-certificado-invalido-de-msn.html' title='Agregar el certificado inválido de MSN para Pidgin'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_XUj14gVcgSo/TOcAfOTFuDI/AAAAAAAAE8U/l0EmSQFkmi0/s72-c/error.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-4443422294300347013</id><published>2010-11-12T18:00:00.002Z</published><updated>2010-11-12T18:04:16.878Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><title type='text'>Un terapeuta...</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_XUj14gVcgSo/TN2BIEzle2I/AAAAAAAAE70/hQR6Sj-Z0FQ/s1600/tumblr_lbdx9pKkjF1qcrablo1_400.jpg"&gt;&lt;img style="margin:0 auto;cursor:pointer; cursor:hand;width: 400px; height: 400px;" src="http://1.bp.blogspot.com/_XUj14gVcgSo/TN2BIEzle2I/AAAAAAAAE70/hQR6Sj-Z0FQ/s400/tumblr_lbdx9pKkjF1qcrablo1_400.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5538725092464622434" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;Visto en &lt;a href="http://holyfuuu.tumblr.com/post/1483332753/y-cuantas-megapeutas-son"&gt;Holy fuuu*ing shit!&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-4443422294300347013?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/4443422294300347013/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/11/un-terapeuta.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/4443422294300347013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/4443422294300347013'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/11/un-terapeuta.html' title='Un terapeuta...'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_XUj14gVcgSo/TN2BIEzle2I/AAAAAAAAE70/hQR6Sj-Z0FQ/s72-c/tumblr_lbdx9pKkjF1qcrablo1_400.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-5315816270977847025</id><published>2010-10-19T18:23:00.005Z</published><updated>2010-10-19T18:39:35.002Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='pywinery'/><category scheme='http://www.blogger.com/atom/ns#' term='programas propios'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='wine'/><title type='text'>Pywinery 0.1-7</title><content type='html'>&lt;p&gt;Pywinery es una aplicación que permite tener varios prefijos de Wine, usarlos indistintamente, configurarlos y  lanzar los ejecutables que queramos en los prefijos que queramos, fácilmente, y sin tocar la consola, desde una interfaz lo más simple posible.&lt;/p&gt;&lt;p&gt;Podéis descargar el .deb desde &lt;a href="http://code.google.com/p/pywinery/downloads/list"&gt;http://code.google.com/p/pywinery/downloads/list&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Con esta nueva versión, se unifica la apariencia lo más posible para cuando se abre lanzando una aplicación y cuando no, permitiendo en ambos casos gestionar los prefijos desde una nueva pantalla, además de permitir establecer si se quiere que cierta aplicación (al ser lanzada) se ejecute siempre con determinado prefijo, sin preguntar.&lt;/p&gt;&lt;img src="http://pywinery.googlecode.com/svn/screenshots/0.1-7a.png" style="border:0;width:376px;height:221px;margin:0 auto;" alt="Pantalla principal de Pywinery"/&gt;&lt;p&gt;La nueva pantalla de gestión de prefijos permite ver, organizadamente, en qué directorios se encuentran los prefijos, añadirlos o quitarlos, y las aplicaciones que se hayan asociado a dichos prefijos, para eliminarlos.&lt;/p&gt;&lt;img src="http://pywinery.googlecode.com/svn/screenshots/0.1-7b.png" style="border:0;width:545px;height:435px;margin: 0 auto" alt="Gestor de prefijos de Pywinery"/&gt;&lt;p&gt;Mientras otras aplicaciones para gestionar prefijos se centran en hacer una aplicación enorme, y puede que complicada, para hacer algo tan simple como lanzar determinados ejecutables en ciertos prefijos, Pywinery lo hace en forma de lanzador, simplificándolo todo al máximo.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-5315816270977847025?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/5315816270977847025/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/10/pywinery-01-7.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/5315816270977847025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/5315816270977847025'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/10/pywinery-01-7.html' title='Pywinery 0.1-7'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-7359100920132230524</id><published>2010-08-12T00:10:00.009Z</published><updated>2010-08-12T00:30:33.797Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Ubuntu 10.04, agosto de 2010, Mplayer ha muerto</title><content type='html'>&lt;img src="http://lh6.ggpht.com/_XUj14gVcgSo/TGM-5m5susI/AAAAAAAAE3s/uM05KWfKD10/pipe.png" style="width:96px;height:96px;float:right;margin:0 0 4px 4px;;"/&gt;&lt;p&gt;Yo tan feliz, listo para ver mi ración diaria de &lt;strike&gt;porno&lt;/strike&gt; series sin molestos anuncios, y me encuentro que mplayer no funciona y suelta lo siguiente por stderr:&lt;/p&gt;&lt;blockquote&gt;mplayer: relocation error: mplayer: symbol codec_wav_tags, version LIBAVFORMAT_52 not defined in file libavformat.so.52 with link time reference&lt;/blockquote&gt;&lt;p&gt;Y claro, esos inteligentísimos señores empaquetadores de Ubuntu han actualizado el libac, haciendo que el imprescindible mplayer muera instantáneamente de viejo. Alguna cabeza pensante &lt;a href="https://bugs.launchpad.net/ubuntu/+source/mplayer/+bug/587203"&gt;ya ha corregido el bug&lt;/a&gt;, pero por razones que desconozco no ha aparecido en los repositorios, y todo hace temer que, como de costumbre, vengan a solucionarlo en la próxima versión de la distribución.&lt;/p&gt;&lt;p&gt;Pero para variar, despierto de mi letargo veraniego para salvaros.&lt;br/&gt;Todo desde consola, añadid el repositorio de &lt;a href="https://launchpad.net/~rvm"&gt;rvm (un alma caritativa&lt;/a&gt;) en launchpad:&lt;/p&gt;&lt;pre name="code" class="bash"&gt;sudo add-apt-repository ppa:rvm/mplayer&lt;/pre&gt;&lt;p&gt;Y actualizad:&lt;/p&gt;&lt;pre name="code" class="bash"&gt;sudo apt-get update&amp;&amp;sudo apt-get dist-upgrade&lt;/pre&gt;&lt;p&gt;Se actualizará mplayer (y mencoder si lo tenéis instalado) a una versión más reciente.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-7359100920132230524?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/7359100920132230524/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/08/ubuntu-1004-agosto-de-2010-mplayer-ha.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/7359100920132230524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/7359100920132230524'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/08/ubuntu-1004-agosto-de-2010-mplayer-ha.html' title='Ubuntu 10.04, agosto de 2010, Mplayer ha muerto'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_XUj14gVcgSo/TGM-5m5susI/AAAAAAAAE3s/uM05KWfKD10/s72-c/pipe.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-7455771896565442072</id><published>2010-07-02T22:40:00.003Z</published><updated>2010-07-02T22:45:29.916Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='videos'/><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><title type='text'>Java Forever, la película</title><content type='html'>&lt;p&gt;No ensuciaré esta entrada con una entradilla trolesca, ¿o debería decir trolífera? Da igual: tan sólo admirad el siguiente... ¿trailer?&lt;/p&gt;&lt;object width="640" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/9g1y7f1xjJ0&amp;color1=0xb1b1b1&amp;color2=0xd0d0d0&amp;hl=es_ES&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/9g1y7f1xjJ0&amp;color1=0xb1b1b1&amp;color2=0xd0d0d0&amp;hl=es_ES&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;p&gt;Vía:&lt;a href="http://despuesdegoogle.com/2010/06/27/java-4-ever-el-trailer-que-microsoft-no-pudo-prohibir"&gt; despuesdegoogle.com&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-7455771896565442072?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/7455771896565442072/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/07/java-forever-la-pelicula.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/7455771896565442072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/7455771896565442072'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/07/java-forever-la-pelicula.html' title='Java Forever, la película'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-5696769975862248611</id><published>2010-06-15T19:03:00.006Z</published><updated>2010-06-15T20:42:36.594Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><title type='text'>WebM (y h264) en Chromium</title><content type='html'>&lt;p&gt;Muchos somos los que odiamos el dichoso Flash de Adobe, por su horrible implementación para linux, porque devora recursos, mata baterías, por estar plagado de agujeros de seguridad y por ser insultantemente inestable.&lt;/p&gt;&lt;p&gt;Por suerte, el tag video de HTML5 permite de prescindir completamente de él para reproducir vídeo, pero entonces surgió el problema de los códecs, al menos hasta que Google compró y liberó el VP8 como WebM y con licencia BSD. Por desgracia, Apple se niega a apoyar WebM por intereses corporativos (acabarán cediendo), pero bueno, todo tiene solución.&lt;/p&gt;&lt;p&gt;Las últimas versiones de prueba tanto de Mozilla Firefox como de Chromium (la versión libre de Google Chrome) incluyen soporte para HTML5 con WebM, pero por el momento el único lo suficientemente estable como para ser usado día a día es Chromium, y es el que os diré como instalar.&lt;/p&gt;&lt;img style="width:640px;height:150px;display:block;margin:0 auto;border:0"  src="http://1.bp.blogspot.com/_XUj14gVcgSo/TBfhDlYBBDI/AAAAAAAAEz8/4VVSRgM-mM0/s1600/html5.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5483098523035567154" /&gt;&lt;p&gt;Lo primero, añadir el repositorio de chromium-daily, que contiene siempre versiones muy recientes de Chromium:&lt;/p&gt;&lt;pre name="code" class="bash"&gt; sudo add-apt-repository ppa:chromium-daily/ppa&lt;/pre&gt;&lt;p&gt;Actualizamos la lista de paquetes, e instalamos los paquetes necesarios tanto del navegador, como de los códecs.&lt;/p&gt;&lt;pre name="code" class="bash"&gt;sudo apt-get install chromium-browser chromium-codecs-ffmpeg-extra chromium-codecs-ffmpeg-nonfree&lt;/pre&gt;&lt;p&gt;Por último, deberemos activar el reproductor HTML5 de Youtube, yendo a &lt;a href="http://"&gt;http://www.youtube.com/html5&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Ahora solo queda navegar normalmente por youtube, no todos los vídeos se verán con el nuevo reproductor (en la página dónde se activa lo explica), pero sí los más recientes, y aunque no podamos librarlos del todo del horrible plugin de Adobe, sí podremos evitar que nos fastidie la vida de vez en cuando y eso, queridos amigos, no tiene precio.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-5696769975862248611?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/5696769975862248611/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/06/webm-y-h264-en-chromium.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/5696769975862248611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/5696769975862248611'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/06/webm-y-h264-en-chromium.html' title='WebM (y h264) en Chromium'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_XUj14gVcgSo/TBfhDlYBBDI/AAAAAAAAEz8/4VVSRgM-mM0/s72-c/html5.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-8410650539055962152</id><published>2010-05-08T12:00:00.001Z</published><updated>2010-10-19T18:10:31.898Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='programación'/><title type='text'>Python y la piscina de hilos</title><content type='html'>&lt;p&gt;Siempre he tenido poblemas con la gestión de hilos en Python a la hora de desarrollar aplicaciones multiproceso. Algunos debidos a ciertas particularidades de las librerías gráficas, fácilmente solucionables, y otros dada la naturaleza dinámicamente impredecible de Python (he usado hilos en Java y Mono, y nunca me han parecido tan inestables en este aspecto).&lt;/p&gt;&lt;p&gt;De casualidad navegando por CRySoL, me he topado con una solución genial para Python, que hace transparente la gestión la ejecución multihilo, de una forma mucho más eficiente que andar construyendo y destruyendo diferentes subprocesos para cada hilo paralelo: tener un almacén o piscina de subprocesos que vayan ejecutando las instrucciones de una cola de ejecución.&lt;/p&gt;&lt;p&gt;Parece complicado, pero veréis que no lo es en absoluto.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;EDITO 19.19.2010:&lt;/strong&gt; Podéis descargar la librería desde: &lt;a href="https://arco.esi.uclm.es/svn/public/prj/atheist/pyarco/Thread.py"&gt;https://arco.esi.uclm.es/svn/public/prj/atheist/pyarco/Thread.py&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;strike&gt;Podéis descargar la librería desde &lt;a href="https://arco.esi.uclm.es/svn/public/prj/pyarco/pyarco/threads.py"&gt;https://arco.esi.uclm.es/svn/public/prj/pyarco/pyarco/threads.py&lt;/a&gt;.&lt;/strike&gt;&lt;/p&gt;&lt;p&gt;Hacemos una prueba sencilla: pidiendo ejecutar dos veces una función con diferentes parámetros, usando dos hilos en el threadpool, y luego uno sólo.&lt;/p&gt;&lt;pre name="code" class="python"&gt;# -*- mode: python; coding: utf-8 -*-&lt;br /&gt;&lt;br /&gt;from time import sleep&lt;br /&gt;from threads import ThreadPool&lt;br /&gt;&lt;br /&gt;def messages_sleep(msg1,msg2,tm):&lt;br /&gt;    print msg1&lt;br /&gt;    sleep(tm)&lt;br /&gt;    print msg2&lt;br /&gt;&lt;br /&gt;print "Ejecución con un ThreadPool de dos hilos"&lt;br /&gt;p = ThreadPool(2)&lt;br /&gt;p.add(messages_sleep,("iniciando hilo 1 (y esperando 6 segundos)","finalizando hilo 1",6))&lt;br /&gt;p.add(messages_sleep,("iniciando hilo 2 (y esperando 8 segundos)","finalizando hilo 2",8))&lt;br /&gt;p.join() # Esperamos a que terminen los hilos para continuar&lt;br /&gt;&lt;br /&gt;print "Ejecución con un ThreadPool de un sólo hilo"&lt;br /&gt;p = ThreadPool(1)&lt;br /&gt;p.add(messages_sleep,("iniciando hilo 1 (y esperando 6 segundos)","finalizando hilo 1",6))&lt;br /&gt;p.add(messages_sleep,("iniciando hilo 2 (y esperando 8 segundos)","finalizando hilo 2",8))&lt;br /&gt;p.join() # Esperamos a que terminen los hilos para continuar&lt;/pre&gt;&lt;p&gt;Y el resultado será:&lt;/p&gt;&lt;blockquote&gt;Ejecución con un ThreadPool de dos hilos&lt;br /&gt;iniciando hilo 1 (y esperando 6 segundos)&lt;br /&gt;iniciando hilo 2 (y esperando 8 segundos)&lt;br /&gt;finalizando hilo 1&lt;br /&gt;finalizando hilo 2&lt;br /&gt;Ejecución con un ThreadPool de un sólo hilo&lt;br /&gt;iniciando hilo 1 (y esperando 6 segundos)&lt;br /&gt;finalizando hilo 1&lt;br /&gt;iniciando hilo 2 (y esperando 8 segundos)&lt;br /&gt;finalizando hilo 2&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Fuente: &lt;/strong&gt; &lt;a href="http://crysol.org/es/node/1340"&gt;Patrón ThreadPool en Python en CRySoL&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-8410650539055962152?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/8410650539055962152/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/05/python-y-la-piscina-de-hilos.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/8410650539055962152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/8410650539055962152'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/05/python-y-la-piscina-de-hilos.html' title='Python y la piscina de hilos'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-9162262376006333785</id><published>2010-05-07T17:00:00.000Z</published><updated>2010-05-07T17:00:03.860Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Noticias'/><category scheme='http://www.blogger.com/atom/ns#' term='juegos'/><title type='text'>Ryzom, publicado como software libre</title><content type='html'>&lt;p&gt;Me entero hoy, aunque la noticia de la Free software foundation es de ayer, en base a &lt;a href="http://forums.ryzom.com/showthread.php?t=34929"&gt;un comunicado&lt;/a&gt; hecho por los desarrolladores del juego, anteayer, día 5 de mayo de 2010.&lt;/p&gt;&lt;p&gt;Ryzom es un juego de rol multiplayer masivo, o MMORPG, desarrollado por el estudio francés Nevrax y publicado en septiembre de 2004.&lt;/p&gt;&lt;p&gt;Anteriormente, el motor del juego, ya había sido liberado como GPL, pero esta vez, se trata de todo el contenido, tanto cliente como servidor, y utilidades de desarrollo.&lt;/p&gt;&lt;p&gt;Podría decir que es un hecho histórico y todo eso, pero sólo lo es para quienes apoyamos esto del software libre. Pero sin duda lo que a todos os interesará es que, dentro de poco, empezaremos a ver clientes nativos para múltiples plataformas, en las que incluyo Linux; además de mejoras sustanciales llevadas a cabo por la comunidad, diversificaciones y trabajos derivados.&lt;/p&gt;&lt;p&gt;Habéis abierto la caja de pandora: un MMORPG mínimamente potable siendo software libre. Más libre que incluso que Planeshift, al publicar el código bajo Affero GPLv3 y el trabajo artístico bajo Creative Commons (atribución, compartir igual) versión 3.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_XUj14gVcgSo/S-QyZcps1fI/AAAAAAAAEwo/jHEX1fqZJQw/s1600/TR_perso02.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_XUj14gVcgSo/S-QyZcps1fI/AAAAAAAAEwo/jHEX1fqZJQw/s400/TR_perso02.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5468551260303840754" /&gt;&lt;/a&gt;&lt;p&gt;Gracias Nevrax.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Vía: &lt;/strong&gt;&lt;a href="http://www.fsf.org/blogs/licensing/ryzom-free-software"&gt; Ryzom is free software! What can we do from here? (fsf.org)&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Créditos: &lt;/strong&gt;La imagen está sacada de la &lt;a href="http://www.ryzom.com/en/screenshots_4.html"&gt;página oficial&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Podéis encontrar más información en el &lt;a href="http://en.wikipedia.org/wiki/Ryzom"&gt;artículo de Ryzom de la wikipedia&lt;/a&gt; y en &lt;a href="http://www.ryzom.com/en/index.html"&gt;su página oficial ryzom.com&lt;/a&gt;, ambos enlaces en inglés.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-9162262376006333785?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/9162262376006333785/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/05/ryzom-publicado-como-software-libre.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/9162262376006333785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/9162262376006333785'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/05/ryzom-publicado-como-software-libre.html' title='Ryzom, publicado como software libre'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_XUj14gVcgSo/S-QyZcps1fI/AAAAAAAAEwo/jHEX1fqZJQw/s72-c/TR_perso02.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-6138854069180782825</id><published>2010-05-06T12:00:00.002Z</published><updated>2010-05-07T15:44:32.530Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><title type='text'>Nautilus elementary</title><content type='html'>&lt;p&gt;Hay que decirlo: el explorador de ficheros de Gnome, Nautilus, ha pecado de exceso. De exceso de opciones, de exceso de espacio desperdiciado en pantalla, y de exceso de ansia en convertirse en el programa más pesado y peligrosamente integrado en un escritorio que jamás ha compilado en linux.&lt;/p&gt;&lt;p&gt;La gente de Gnome piensa solucionar esto, junto con otros problemas de falta de modularidad (problemas que otros escritorios no tienen, por cierto) con el fin del desarrollo de Gnome 3, en un par de años.&lt;/p&gt;&lt;p&gt;Puesto que a mucha gente nautilus, sin entrar en problemática, le parece feo, o simplemente preferirían un aspecto más al día en su navegador de ficheros, andan circulando varias modificaciones, siendo la más estable (y puede que la más atractiva) la llamada Nautilus elementary.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_XUj14gVcgSo/S-AHaBQAxKI/AAAAAAAAEvw/6UWbPDHDHcw/s1600/Selection_001.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 192px;" src="http://3.bp.blogspot.com/_XUj14gVcgSo/S-AHaBQAxKI/AAAAAAAAEvw/6UWbPDHDHcw/s400/Selection_001.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5467378091221370018" /&gt;&lt;/a&gt;&lt;p&gt;Elementary reemplaza nautilus, añade algunas opciones y aporta un renovado aspecto, además de permitir a los temas de escritorio el cambiar el estilo de la botonera de direcciones.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_XUj14gVcgSo/S-AJBvZhBjI/AAAAAAAAEv4/aUOlaNa67AE/s1600/Selection_005.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 256px;" src="http://2.bp.blogspot.com/_XUj14gVcgSo/S-AJBvZhBjI/AAAAAAAAEv4/aUOlaNa67AE/s400/Selection_005.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5467379873135789618" /&gt;&lt;/a&gt;&lt;p&gt;Tiene un repositorio disponible en el launchpad, pero tened en cuenta que requiere la última versión de Nautilus a día de hoy, y por ello también Ubuntu Lucid Lynx (10.04 LTS).&lt;/p&gt;&lt;p&gt;Podéis añadir el repositorio rápidamente desde el terminal:&lt;/p&gt;&lt;pre name="code" class="bash"&gt;sudo add-apt-repository ppa:am-monkeyd/nautilus-elementary-ppa&lt;/pre&gt;&lt;p&gt;O agregando esta línea en orígenes de software (o en la sección de repositorios de la configuración de synaptic):&lt;/p&gt;&lt;blockquote&gt;ppa:am-monkeyd/nautilus-elementary-ppa&lt;/blockquote&gt;&lt;p&gt;Simplemente recargáis la lista de paquetes y actualizáis (pues elementary reemplaza el paquete nautilus), desde synaptic o desde terminal:&lt;/p&gt;&lt;pre name="code" class="bash"&gt;sudo apt-get update&amp;&amp;sudo apt-get upgrade&lt;/pre&gt;&lt;p&gt;Y recargáis nautilus manualmente ejecutando:&lt;/p&gt;&lt;pre name="code" class="bash"&gt;nautilus -q&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-6138854069180782825?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/6138854069180782825/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/05/nautilus-elementary.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/6138854069180782825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/6138854069180782825'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/05/nautilus-elementary.html' title='Nautilus elementary'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_XUj14gVcgSo/S-AHaBQAxKI/AAAAAAAAEvw/6UWbPDHDHcw/s72-c/Selection_001.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-753495613918830755</id><published>2010-05-05T12:00:00.001Z</published><updated>2010-05-05T12:00:09.938Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='descargas'/><category scheme='http://www.blogger.com/atom/ns#' term='programas'/><title type='text'>Talika</title><content type='html'>&lt;p&gt;Talika es un applet de panel para Gnome que hace la función de selector de ventanas, pero que al contrario que el que viene por defecto en Gnome, muestra sólo los iconos, algo que siempre se ha podido hacer con cierto applet incluído en xfce4 (mi entorno de escritorio preferido).&lt;/p&gt;&lt;p&gt;Recomiendo Talika encarecidamente a quienes el intercambiador de ventanas de ubuntu-netbook-remix os parezca engorroso, o a esos minimalistas empedernidos que sabemos que menos es más.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_XUj14gVcgSo/S-ADfsvoWfI/AAAAAAAAEvo/ZLtlP0L8dQ8/s1600/screenshot.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_XUj14gVcgSo/S-ADfsvoWfI/AAAAAAAAEvo/ZLtlP0L8dQ8/s400/screenshot.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5467373790749546994" /&gt;&lt;/a&gt;&lt;p&gt;Por ahora, y a falta de que encuentre algún repositorio que los contenga, podéis obtener los paquetes &lt;a href="http://sourceforge.net/projects/talika/files/"&gt;desde las descargas de su proyecto en sourceforge&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Vía:&lt;/strong&gt; &lt;a href="http://gnome-look.org/content/show.php/Talika+applet?content=118267"&gt;Talika applet en gnome-look.org&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-753495613918830755?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/753495613918830755/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/05/talika.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/753495613918830755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/753495613918830755'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/05/talika.html' title='Talika'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_XUj14gVcgSo/S-ADfsvoWfI/AAAAAAAAEvo/ZLtlP0L8dQ8/s72-c/screenshot.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-1875229225518424594</id><published>2010-05-04T10:45:00.002Z</published><updated>2010-05-04T11:05:27.442Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='chorradas'/><title type='text'>He vuelto</title><content type='html'>&lt;p&gt;Este blog ha estado sumido en un largo letargo, y apunto he estado de terminar con él, de darle la estocada final, de acabar con su triste vida. No me malinterpretéis, me encanta la web social, me encanta linux, y me encanta echar un cable a la gente con tutoriales, y sí,también dibujar chorradas con inkscape.&lt;/p&gt;&lt;p&gt;Pero se hace muy complicado el mantener vivo un blog, esto es, un medio de comunicación, cuando desde &lt;a href="/search/label/%23manifiesto"&gt;el gobierno fascista de tu país aprueba leyes en contra de la libertad de expresión&lt;/a&gt;, cuando las leyes que siguen vigentes son en su mayoría de antes de la transición, promulgadas por un enanísimo dictador con bigote autodenominado fascista ultracatólico, y cuando cualquier organización privada, tiene más poder entre los delincuentes componentes de nuestra adulterada clase política que los intereses generales de varios millones de ciudadanos que, dicho sea de paso, son suficientemente ignorantes (por no decir estúpidos) como para hacer la vista gorda ante tanta desfachatez.&lt;/p&gt;&lt;p&gt;Y os lo digo en prosa, hoy, día anti-DRM, no estoy aquí por todos vosotros, porque algunos soís tan culpables como los que más; no estoy aquí por mí, porque de un día para otro cerraré el chiringuito y abriré un blog en inglés, me iré a alemania y ni mi familia sabrá nada de mí; lo hago por una señorita, desarrolladora de software, algo excéntrica, que me da la vara de vez en cuando para que escriba aquí.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.defectivebydesign.org/blog/day-against-drm"&gt;Feliz día anti-DRM&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-1875229225518424594?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/1875229225518424594/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/05/he-vuelto.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/1875229225518424594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/1875229225518424594'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/05/he-vuelto.html' title='He vuelto'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-5175899873944439395</id><published>2010-04-21T18:25:00.000Z</published><updated>2010-04-21T18:26:06.360Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='información relevante'/><title type='text'>Y punto</title><content type='html'>&lt;object width="353" height="132"&gt;&lt;embed src="http://www.goear.com/files/external.swf?file=0c32fa1" type="application/x-shockwave-flash" wmode="transparent" quality="high" width="353" height="132"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-5175899873944439395?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/5175899873944439395/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/04/y-punto.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/5175899873944439395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/5175899873944439395'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/04/y-punto.html' title='Y punto'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-680792365699196604</id><published>2010-03-26T14:00:00.003Z</published><updated>2010-03-26T14:42:04.489Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='descargas'/><category scheme='http://www.blogger.com/atom/ns#' term='programas'/><title type='text'>Tivion, TV en streaming para Ubuntu</title><content type='html'>&lt;img style="float:right;margin:0 0 10px 10px;border:0;width: 64px; height: 64px;" src="http://3.bp.blogspot.com/_XUj14gVcgSo/S6y8dpXiWQI/AAAAAAAAEtA/EtiXycy_CHU/s400/tivion2.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5452940466345629954" /&gt;&lt;p&gt;Es viernes, viernes de perder el tiempo, y para hacerlo os voy a recomendar un programa para ver televisiones, de todo el mundo, vía &lt;em&gt;streaming&lt;/em&gt; (oséase, emisiones abiertas a través de Internet), obra de &lt;br /&gt;&lt;a href="http://shakaran.net/blog/about-2/"&gt;Angel Guzman Maeso&lt;/a&gt;.&lt;/p&gt;&lt;object width="640" height="385" style="clear:both"&gt;&lt;param name="movie" value="http://www.youtube.com/v/k5HSUkSD3yo&amp;rel=0&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/k5HSUkSD3yo&amp;rel=0&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;p&gt;No es muy estable, ni todos los canales de su listado funcionan, pero aún así es muy recomendable.&lt;/p&gt;&lt;p&gt;Para versiones recientes de Ubuntu (9.10 y posteriores), podéis agregar el repositorio con add-app-repository.&lt;/p&gt;&lt;pre name="code" class="bash"&gt;sudo add-apt-repository ppa:shakaran/ppa&lt;/pre&gt;&lt;p&gt;Si usáis debian (recordad usar el mplayer de &lt;a href="http://debian-multimedia.org/"&gt;debian-multimedia.org&lt;/a&gt;) o versiones anteriores de Ubuntu, podéis añadir los repositorios manualmente a &lt;span style="font-weight:bold;"&gt;/etc/apt/sources.list&lt;/span&gt;.&lt;/p&gt;&lt;pre name="code" class="bash"&gt;deb http://ppa.launchpad.net/shakaran/ppa/ubuntu karmic main&lt;br /&gt;deb-src http://ppa.launchpad.net/shakaran/ppa/ubuntu karmic main source&lt;/pre&gt;&lt;p&gt;Y para instalarlo, usáis vuestro gestor de paquetes favorito o apt-get.&lt;/p&gt;&lt;pre name="code" class="bash"&gt;sudo apt-get update&lt;br /&gt;sudo apt-get install tivion&lt;/pre&gt;&lt;p&gt;Más información &lt;a href="http://shakaran.es/blog/tivion/"&gt;en el blog del autor&lt;/a&gt; o &lt;a href="https://launchpad.net/~shakaran/+archive/ppa"&gt;en su archivo en el launchpad&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-680792365699196604?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/680792365699196604/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/03/tivion-tv-en-streaming-para-ubuntu.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/680792365699196604'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/680792365699196604'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/03/tivion-tv-en-streaming-para-ubuntu.html' title='Tivion, TV en streaming para Ubuntu'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_XUj14gVcgSo/S6y8dpXiWQI/AAAAAAAAEtA/EtiXycy_CHU/s72-c/tivion2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-6368310018362714483</id><published>2010-03-25T14:30:00.002Z</published><updated>2011-08-30T21:44:38.329Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='google app engine'/><category scheme='http://www.blogger.com/atom/ns#' term='programación'/><title type='text'>Python: Sistema de sesiones (Google App Engine)</title><content type='html'>&lt;p&gt;Primero toca explicar qué es un sistema de sesiones. Cuando se programa para web, se debe tener en cuenta que, puesto que el cliente y el servidor, son entidades bien diferenciadas, que sólo se ponen en contacto cuando el cliente (en este caso el navegador del usuario) hace una petición.&lt;/p&gt;&lt;p&gt;Esta cosa tan simple, base del protocolo TCP/IP, sobre el cual que se erige el HTTP, es obviado por mucha gente que programa usando las herramientas inadecuadas, pero esa es otra historia&lt;sup&gt;1&lt;/sup&gt;.&lt;/p&gt;&lt;p&gt;La pregunta surge entonces ¿cómo identificamos eficazmente al usuario que navega por nuestras páginas? Puede que por el navegador, el sistema operativo, la IP, o todo a la vez. Pero no es suficiente, porque toda esa información no es de fiar pues puede falsearse, y en el caso de la IP, suele pasar que hayan miles de personas con la misma a la vez.&lt;/p&gt;&lt;p&gt;¿No hay un identificador único para el usuario? La respuesta es rotundamente no, por motivos de privacidad, a menos que uses Google Chrome (no es un bug, es una feature).&lt;/p&gt;&lt;p&gt;Pero no estéis tristes, todavía queda por probar algo: las &lt;em&gt;cookies&lt;/em&gt;&lt;sup&gt;2&lt;/sup&gt;. Sí, esas pequeñas ilegibles y endemoniadas cadenas de texto que web sí, y otra también, van llenando poco a poco, lenta pero incansablemente, tu disco duro, hasta explotar en un maremágnum de bytes a cascoporro.&lt;/p&gt;&lt;p&gt;Por todo ello, tan sólo deberíamos mantener una &lt;em&gt;cookie&lt;/em&gt; con un id único de sesión, para saber quien nos está pidiendo cada cosa. Dicho id debería ser aleatorio y volátil, y debería ser el servidor, y no la &lt;em&gt;cookie&lt;/em&gt;, quien decide cuando caduca para evitar suplantaciones de sesión. La información relativa a la sesión, al usuario, y demás se guardaría en el servidor, lejos de todo peligro.&lt;/p&gt;&lt;p&gt;Sin embargo, puede ser que queramos guardar algún tipo de información en las &lt;em&gt;cookies&lt;/em&gt; del cliente, ya sea por comodidad o para validar la sesión con información extra. Dicha información, obviamente no debería ser "muy peligrosa", porque aunque la cifremos (y guardemos la clave del cifrado en el servidor junto con la id de sesión) existe la amenaza potencial de que alguien rompa el cifrado. Se podría decir que aplicamos el cifrado solo para evitar los script kiddies.&lt;/p&gt;&lt;p&gt;Para guardar y obtener datos de esta segunda cookie lo oṕtimo es usar un serializador seguro (recordemos que las cookies pueden ser manipuladas), &lt;a href="http://spayder26.blogspot.com/2010/03/serializador-recursivo-para-python.html"&gt;como el presentado días atrás&lt;/a&gt;, y cifrándolo con una clave generada aleatoriamente y se guardaría en el servidor.&lt;/p&gt;&lt;p&gt;Teniendo todo esto en cuenta, he desarrollado una librería para Google App Engine, aunque podría ser adaptada fácilmente para otros usos simplemente cambiando la forma en la que las cabeceras son enviadas al cliente, y cómo son guardados los valores en el servidor (usa memcache). &lt;a href="http://code.google.com/p/s26blog/downloads/detail?name=appSession.zip"&gt;Podéis descargarla&lt;/a&gt; (46.2 KiB) desde las &lt;a href="http://code.google.com/p/s26blog/downloads/list"&gt;descargas del blog en Google Code&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Usarlo, con Google App Engine, resulta francamente fácil.&lt;/p&gt;&lt;pre name="code" class="python"&gt;from google.appengine.ext.webapp.util import run_wsgi_app&lt;br /&gt;from google.appengine.ext import webapp&lt;br /&gt;from appSession import Session&lt;br /&gt;&lt;br /&gt;class RequestWeb(webapp.RequestHandler):&lt;br /&gt;    def get(self):&lt;br /&gt;        session = Session(self)&lt;br /&gt;        if session["visited"]:&lt;br /&gt;            text = "Times visited %d." % session["visited"]&lt;br /&gt;            session["visited"] += 1&lt;br /&gt;        else:&lt;br /&gt;            text = "First time on page."&lt;br /&gt;            session["visited"] = 1&lt;br /&gt;                &lt;br /&gt;        session["_foo"] = "This string will be stored on server."&lt;br /&gt;        session["bar"] = "This string will be stored on a cookie."&lt;br /&gt;    &lt;br /&gt;        session.write()&lt;br /&gt;        self.response.out.write(&lt;br /&gt;            "&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;&amp;lt;p&amp;gt;%s&amp;lt;/p&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;" % text&lt;br /&gt;            )&lt;br /&gt;&lt;br /&gt;application = webapp.WSGIApplication([&lt;br /&gt;    ('/',RequestWeb)&lt;br /&gt;    ],&lt;br /&gt;    debug=True)&lt;br /&gt;&lt;br /&gt;run_wsgi_app(application)&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;EDITO 2011.08.30: Ejemplo corregido para evitar la llamada del /favicon.ico&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;En este ejemplo, el número de veces que se ha visitado la página, en lo que dura la sesión, es guardado en una cookie, junto con otra cadena de texto. Y otra cadena de texto es guardada en el servidor.&lt;/p&gt;&lt;p&gt;Espero que os sea útil.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Si empiezo con el tema, no pararé hasta que se me agoten las pilas.&lt;/li&gt;&lt;li&gt;No es realmente la última opción: la especificación del HTML5 añade al navegador la posibilidad de mantener una especie de base de datos en el navegador, pero su aceptación está tardando eones.&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-6368310018362714483?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/6368310018362714483/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/03/python-sistema-de-sesiones-google-app.html#comment-form' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/6368310018362714483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/6368310018362714483'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/03/python-sistema-de-sesiones-google-app.html' title='Python: Sistema de sesiones (Google App Engine)'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-4600951035832603908</id><published>2010-03-24T14:00:00.001Z</published><updated>2010-03-24T14:00:01.933Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='programación'/><title type='text'>Programar Javascript eficientemente</title><content type='html'>&lt;dl&gt;&lt;dt&gt;Código sin errores&lt;/dt&gt;&lt;dd&gt;&lt;p&gt;Puede parecer una obviedad, pero muchos programadores noveles cometen grandes errores de sintaxis en su código sin darse cuenta y, puesto que los intérpretes de javascript tienen cierta tolerancia a dichos errores, no se dan cuenta.&lt;/p&gt;&lt;p&gt;Dichos errores, aunque no frenen la ejecución en según que intérpretes, drenan en gran medida el rendimiento, y pueden convertir el algoritmo más eficiente del mundo en el código más lento jamás ejecutado.&lt;/p&gt;&lt;pre name="code" class="js"&gt;// Errores comunes&lt;br /&gt;var a = 5 // Omitir ;&lt;br /&gt;b = 6;    // No declarar variables apropiadamente&lt;br /&gt;function c(){&lt;br /&gt;    return this; // this fuera de objetos (devolverá window)&lt;br /&gt;    }&lt;/pre&gt;&lt;p&gt;Y por último un caso un poco complicado de entender.&lt;/p&gt;&lt;pre name="code" class="js"&gt;var d = [ 1, 2, 3, 4, 5, 6 ], e = 0;&lt;br /&gt;for( var f in d ){ e += f; }&lt;/pre&gt;&lt;p&gt;La sintaxis for( x in y ) ejecuta el código dentro del bucle asignando a x todos y cada uno de los atributos de y. Es decir, en el caso anterior, no sólo recorrería todos los elementos del Array, sino sus métodos tales como splice, slice... o sus atributos como length. O al menos es así en intérpretes que respetan el estándar, no obstante la mayoría tolera este error y oculta deliberadamente las propiedades extras.&lt;/p&gt;&lt;p&gt;Para comprobar los errores del código recomiendo usar &lt;a href="http://jslint.com/"&gt;jslint.com&lt;/a&gt;.&lt;/p&gt;&lt;/dd&gt;&lt;dt&gt;Estructuras en tiempo de compilación&lt;/dt&gt;&lt;dd&gt;&lt;p&gt;Muchos intérpretes de javascript precompilan el código para mejorar su eficiencia. No obstante, y dada la enorme flexibilidad de javascript, podemos declarar clases mediante prototipado en tiempo de ejecución, en cuyo caso la mejora del rendimiento será mucho menor.&lt;/p&gt;&lt;pre name="code" class="javascript"&gt;// Declarada en tiempo de compilación&lt;br /&gt;var objeto = {&lt;br /&gt;    foo : function( o ){ return o+1; },&lt;br /&gt;    bar : function( o ){ return 0; }&lt;br /&gt;    };&lt;br /&gt;&lt;br /&gt;// Declarada en tiempo de ejecución&lt;br /&gt;var objeto = ( function(){&lt;br /&gt;    var r = {};&lt;br /&gt;    r.foo = function( o ){ return o + 1; };&lt;br /&gt;    r.bar = function( o ){ return 0; };&lt;br /&gt;    return r;&lt;br /&gt;    }() );&lt;br /&gt;&lt;/pre&gt;&lt;/dd&gt;&lt;dt&gt;Evitar ejecuciones repetitivas en los bucles&lt;/dt&gt;&lt;dd&gt;&lt;p&gt;Esto es algo muy común a todos los lenguajes de programación, el evitar llamadas extras innecesarias. Recordemos que el código de dentro de un bucle se ejecutará en todas las iteraciones, de modo que si podemos reducir llamadas extras desde su interior aumentaremos el rendimiento notablemente.&lt;/p&gt;&lt;pre name="code" class="javascript"&gt;function foo(){return 5;}&lt;br /&gt;// Estos bucles ejecutarán una función en cada iteración.&lt;br /&gt;var i = 0;&lt;br /&gt;while( i &amp;lt; foo()){&lt;br /&gt;    i++;&lt;br /&gt;    }&lt;br /&gt;for( var j = 0; j &amp;lt; foo(); j++ ){&lt;br /&gt;    i++;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;// Cuando en realidad podrían reducir su ejecución a una única vez&lt;br /&gt;var vfoo = foo(), i = 0;&lt;br /&gt;while( i &amp;lt; vfoo ){&lt;br /&gt;    i++;&lt;br /&gt;    }&lt;br /&gt;for( var f = 0; j &amp;lt; vfoo; j++ ){&lt;br /&gt;    i++;&lt;br /&gt;    }&lt;/pre&gt;&lt;p&gt;Esta norma incluye una de las penalizaciones de rendimiento más comunes.&lt;/p&gt;&lt;pre name="code" class="javascript"&gt;var a=[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], b=0;&lt;br /&gt;&lt;br /&gt;// Este bucle obtiene, en cada iteración, al atributo length del Array&lt;br /&gt;for( var i = 0; i &amp;lt; a.length; i++ ){&lt;br /&gt;    b += a[ i ];&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;// Cuando debería acceder a él una única vez&lt;br /&gt;for( var i = 0, l = a.length; i &amp;lt; l; i++ ){&lt;br /&gt;    b += a[ i ];&lt;br /&gt;    }&lt;/pre&gt;&lt;p&gt;Tened en cuenta que en este último caso, al estar tanto el Array como el bucle en el mismo ámbito de variables, la mejora no es perceptible, pero cuando el Array se encuentra en un ámbito más global, o en un objeto, la mejora es sustancial.&lt;/p&gt;&lt;/dd&gt;&lt;dt&gt;Evita los dinosaurios&lt;/dt&gt;&lt;dd&gt;&lt;p&gt;Hay miles de frameworks pululando por la red, muchos de ellos demasiado grandes y pesados. Si bien es cierto que es un absurdo el reinventar la rueda con cada nuevo proyecto, también lo es el cargar un framework enorme para sólo utilizar determinada funcionalidad.&lt;/p&gt;&lt;p&gt;Siempre es preferible reutilizar porciones de código conforme se vayan necesitando o, si finalmente optamos por un framework, cerciorarse de que es modular, y evitar ciertas características extremadamente ineficientes que muchos incluyen.&lt;/dd&gt;&lt;/dl&gt;&lt;p&gt;Espero no haberme olvidado de demasiadas cosas, aunque probablemente mantenga el texto actualizado.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-4600951035832603908?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/4600951035832603908/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/03/programar-javascript-eficientemente.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/4600951035832603908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/4600951035832603908'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/03/programar-javascript-eficientemente.html' title='Programar Javascript eficientemente'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-8580318953386635105</id><published>2010-03-22T20:25:00.001Z</published><updated>2010-03-22T20:25:41.803Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='chorradas'/><title type='text'>Minipost llorón de hoy</title><content type='html'>&lt;p&gt;&lt;strong&gt;Advertencia:&lt;/strong&gt; Este post no es más que otra pataleta infantil de nulo interés. No llaméis a la Buaaaaambulancia, ya viene de camino.&lt;/p&gt;&lt;p&gt;Perdonad que hoy no haya posteado nada, pero estoy bastante cansado del trabajo, cosas de lidiar contra el &lt;strike&gt;mierdi&lt;/strike&gt;SQL del MAccess.&lt;/p&gt;&lt;p&gt;Por cierto, sabed que UNION implica DISTINCT (cosa que no dice en ningún lado en la documentación). Si no queremos omitir filas iguales, toca usar UNION ALL.&lt;/p&gt;&lt;p&gt;Por cierto, hasta los cojones estoy de "trabajar para Microsoft". ¿Tan difícil es encontrar un trabajo dónde se usen tecnologías decentes? ¿Tán horriblemente mal está el sector de las TIC en España? En fin, ya tendré la oportunidad de buscarlas cuando se me acabe el contrato.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-8580318953386635105?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/8580318953386635105/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/03/minipost-lloron-de-hoy.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/8580318953386635105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/8580318953386635105'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/03/minipost-lloron-de-hoy.html' title='Minipost llorón de hoy'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-5678329251939457055</id><published>2010-03-21T09:00:00.003Z</published><updated>2010-03-21T09:00:05.068Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='cultura libre'/><title type='text'>Sistemas de derechos de autor</title><content type='html'>&lt;img src="http://lh4.ggpht.com/_XUj14gVcgSo/S6Xek6wvYzI/AAAAAAAAEs8/ifEnRCdXEEQ/media.png" style="float:right;width:128px;height:348px;border:0;" alt=""/&gt;&lt;dl&gt;&lt;dt&gt;Sistema obsoleto, centrado en la distribución&lt;/dt&gt;&lt;dd&gt;&lt;dl&gt;&lt;dt&gt;Autores&lt;/dt&gt;&lt;dd&gt;Reciben dinero al hacer la obra, en base a las posibles ventas, ganan una ínfima cantidad por cada copia, reproducción, y demás. Casi nadie gana lo suficiente, muy pocos ganan algo para vivir, y poquísimos amasan algo de dinero. No obstante, dado el inmenso gasto en publicidad, muchos ganan una fama efímera. En cuanto a los conciertos, conforman la mayor parte de los beneficios del autor, pero su  discográfica, entidades de gestión, y demás, drenan sus beneficios apropiándose de un porcentaje escandaloso de su propia recaudación.&lt;/dd&gt;&lt;dt&gt;Copiadores&lt;/dt&gt;&lt;dd&gt;Pagan al autor por la obra una miseria, la copian y alimentan los canales de distribución. A veces el autor incluso debe de pagarles. Reciben una cantidad exagerada de dinero directamente de las ventas.&lt;/dd&gt;&lt;dt&gt;Entidades de gestión&lt;/dt&gt;&lt;dd&gt;Amasan fortuna extorsionando a todo el mundo, a veces ilegalmente por derechos sobre obras que no poseen, y reclaman cantidades ingentes de dinero por cuestiones absurdas. Viven de la extorsión y del dinero que recaudan de los autores por, según ellos, proteger su obra.&lt;/dd&gt;&lt;dt&gt;Consumidor&lt;/dt&gt;&lt;dd&gt;Oferta muy reducida. Precio final del producto escandaloso. Ante la dificultad de adquirir el producto, o supuesto bien de interés cultural, muchos optan por realizar copias por sí mismos. Legal en España por poco tiempo. Ilegal en muchos otros países en los que los colectivos anteriormente mencionados han adquirido demasiado poder político.&lt;/dd&gt;&lt;/dl&gt;&lt;/dd&gt;&lt;dt&gt;Sistema clásico, centrado en la reproducción&lt;/dt&gt;&lt;dd&gt;&lt;dl&gt;&lt;dt&gt;Autores&lt;/dt&gt;&lt;dd&gt;El autor percibe la cantidad íntegra de sus conciertos, y puede optar por pagar o no a las entidades de gestión. Muchos optarán por no hacerlo o gestionar ellos mismos su obra, para evitar ser explotados. El autor se siente desprotegido, si bien en realidad lo que ocurre es que está libre de parásitos que dan falsa imagen de protección. Vende y distribuye sus propias copias.&lt;/dd&gt;&lt;dt&gt;Copiadores&lt;/dt&gt;&lt;dd&gt;Reciben dinero por realizar copias. Algunos, hoy en día, son extorsionados por las entidades de gestión para que establezcan ilegalmente, como requisito, el hecho de estar adscrito a dichas entidades.&lt;/dd&gt;&lt;dt&gt;Entidades de gestión&lt;/dt&gt;&lt;dd&gt;El autor puede elegir, reálmente, si quieren que las entidades de gestión reclamen dinero por su obra, tanto a ellos mismos como a todo el mundo. Recordemos que dado el actual enfoque de los derechos de autor, establecen que el mero hecho de crear una obra significa tener total control sobre los derechos de la misma, lo que hace, obviamente, innecesarias las entidades de gestión.&lt;/dd&gt;&lt;dt&gt;Consumidor&lt;/dt&gt;&lt;dd&gt;Los conciertos son menos costosos, por no estar sujetos a parásitos extras. La oferta es mayor, al no estar el mercado asfixiado por el exceso de distribución. Mejora la calidad de la oferta, pero su área de mercado se delimita muy comúnmente.&lt;/dd&gt;&lt;/dl&gt;&lt;/dd&gt;&lt;dt&gt;Sistema moderno, basado en distribución por internet&lt;/dt&gt;&lt;dd&gt;&lt;dl&gt;&lt;dt&gt;Autores&lt;/dt&gt;&lt;dd&gt;Controlan la distribución de su obra a través de internet, y el coste de hacerlo es nulo. Ellos deciden si venderlo en primera instancia (tarde o temprano acabará en canales gratuitos) o no. Pueden escoger entre una &lt;a href="http://es.creativecommons.org/licencia/"&gt;gran variedad de licencias apropiadas al medio&lt;/a&gt;. El público objetivo aumenta exponencialmente, lo que implica mucho más beneficios por conciertos. La venta del producto en ciertas plataformas puede significar, a su vez, en otro negocio muy lucrativo. Cobrar por el uso comercial de la obra hace prescindir de entidades de gestión para ganar dinero con los redistribuidores.&lt;/dd&gt;&lt;dt&gt;Copiadores&lt;/dt&gt;&lt;dd&gt;Prácticamente no existen, ya que todo el mundo puede realizar sus copias a un coste ínfimo.&lt;/dd&gt;&lt;dt&gt;Entidades de gestion&lt;/dt&gt;&lt;dd&gt;No existen, no extorsionan, su negocio mafioso no tiene cabida. Durante la transición, se opondrán con todas sus fuerzas, y para ello &lt;a href="/2010/02/cerramos-en-enero-reabrimos-en-febrero.html"&gt;utilizarán todo su poder político, en contra del cambio que significaría su extinción&lt;/a&gt;.&lt;/dd&gt;&lt;dt&gt;Consumidor&lt;/dt&gt;&lt;dd&gt;Máxima oferta. Coste mínimo. No se acumulan soportes físicos innecesarios (CDs, DVDs...). Se libran del constante acoso de las entidades de gestión.&lt;/dd&gt;&lt;/dl&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;p&gt;Ahora que alguien me explique ¿tan estúpidos son los autores famosillos como para apoyar el sistema que menos beneficios les da?&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-5678329251939457055?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/5678329251939457055/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/03/sistemas-de-derechos-de-autor.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/5678329251939457055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/5678329251939457055'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/03/sistemas-de-derechos-de-autor.html' title='Sistemas de derechos de autor'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_XUj14gVcgSo/S6Xek6wvYzI/AAAAAAAAEs8/ifEnRCdXEEQ/s72-c/media.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-8920668557372517721</id><published>2010-03-20T19:00:00.002Z</published><updated>2010-03-21T09:17:25.040Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='programación'/><title type='text'>Javascript: Localizar nodos del DOM</title><content type='html'>&lt;p&gt;Javascript dispone de tres funciones para localizar nodos.&lt;/p&gt;&lt;dl&gt;&lt;dt&gt;getElementById(id)&lt;/dt&gt;&lt;dd&gt;Recibe el id del elemento que se quiere encontrar, y lo retorna.&lt;/dd&gt;&lt;dt&gt;getElementsByName(name)&lt;/dt&gt;&lt;dd&gt;Recibe un nombre, y retorna una lista de nodos con ese nombre en su atributo name.&lt;/dd&gt;&lt;dt&gt;getElementsByTagName(tagName)&lt;/dt&gt;&lt;dd&gt;Recibe el nombre de nodo (p.ej: input, div, img...), y retorna una lista de nodos de ese tipo.&lt;/dd&gt;&lt;/dl&gt;&lt;p&gt;Éstas son las estándares, pero muchos &lt;em&gt;frameworks&lt;/em&gt; poseen los suyos propios (algunos extremadamente ineficientes) además de muchos otros algoritmos que rondan por foros y blogs más visitados que éste.&lt;/p&gt;&lt;p&gt;Pero ¿qué ocurre si quiero filtrar sus resultados según el valor de algún otro de sus atributos? Sencillo: buscamos usando alguno de los estándares y filtramos.&lt;/p&gt;&lt;p&gt;&lt;a href="http://code.google.com/p/s26blog/downloads/detail?name=domNodeFilter.js"&gt;Podéis bajar el mismo código&lt;/a&gt; (0.5KiB)  o la &lt;a href="http://code.google.com/p/s26blog/downloads/detail?name=domNodeFilter_min.js"&gt;versión minificada&lt;/a&gt; (0.3KiB) de las &lt;a href="http://code.google.com/p/s26blog/downloads/list"&gt;descargas del blog en Google Code&lt;/a&gt;.&lt;/p&gt;&lt;pre name="code" class="javascript"&gt;function require(a,o){&lt;br /&gt;    /* Filter a list of DOM nodes by theirs attributes&lt;br /&gt;     *   a: hash with attribute name as key, and attributes value (or cmp function) as value&lt;br /&gt;     *   b: list of DOM nodes&lt;br /&gt;     */&lt;br /&gt;    var tr=[];&lt;br /&gt;    for(var j in a){if(typeof(a[j])!="function"){&lt;br /&gt;        a[j]=(function(a){return function(v){return v==a;}}(a[j]));}}&lt;br /&gt;    for(var i=0,l=o.length,j,k;i&amp;lt;l;i++){&lt;br /&gt;        k=1;&lt;br /&gt;        for(var j in a){&lt;br /&gt;            k=(typeof(o[i][j])!="undefined")&amp;&amp;(a[j](o[i][j]));}&lt;br /&gt;        if(k){tr[tr.length]=o[i];}}&lt;br /&gt;    return tr;&lt;br /&gt;    }&lt;/pre&gt;&lt;p&gt;Tengo la buena costumbre de comentar el código en inglés, pero por si acaso explico, recibe un objeto hash (o diccionario) con los atributos a buscar y sus valores (o funciones de comparación), y una lista de nodos del DOM.&lt;/p&gt;&lt;p&gt;Siempre habrá que pasarle una lista de nodos puesto que se trata simplemente de un filtro. Pero puesto que los atributos posibles dependen directamente del tipo de nodo, usarlo en conjunción con getElementsByTagName es bastante trivial.&lt;/p&gt;&lt;p&gt;Usarlo es muy sencillo y potente, como ejemplo vamos a buscar todos los botones de envío de formulario.&lt;/p&gt;&lt;pre name="code" class="javascript"&gt;var submits=require(&lt;br /&gt;    {type:"submit"},&lt;br /&gt;    document.getElementsByTagName("input"));&lt;/pre&gt;&lt;p&gt;O buscamos los cuadros de selección que estén activados.&lt;/p&gt;&lt;pre name="code" class="javascript"&gt;var checkedboxes=require(&lt;br /&gt;    {checked:"checked"},&lt;br /&gt;    document.getElementsByTagName("checkbox"));&lt;/pre&gt;&lt;p&gt;Y también permite especificar filtros personalizados.&lt;/p&gt;&lt;pre name="code" class="javascript"&gt;var divs=require(&lt;br /&gt;    {className:function(v){&lt;br /&gt;        return v.search("test")&amp;gt;-1;}},&lt;br /&gt;    document.getElementsByTagName("div"));&lt;/pre&gt;&lt;p&gt;Como veis, es un método muy sencillo a la par que útil.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-8920668557372517721?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/8920668557372517721/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/03/javascript-localizar-nodos-del-dom.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/8920668557372517721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/8920668557372517721'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/03/javascript-localizar-nodos-del-dom.html' title='Javascript: Localizar nodos del DOM'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-8321327407138405078</id><published>2010-03-19T08:00:00.001Z</published><updated>2010-03-19T08:00:05.325Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux en general'/><title type='text'>Brain Fuck Scheduler</title><content type='html'>&lt;p&gt;Hace mucho tiempo, en el lejano país austral, un anestesista de profesión, nuestro amigo y héroe &lt;a href="http://en.wikipedia.org/wiki/Con_Kolivas"&gt;Con Kolivas&lt;/a&gt;, decidió compartir sus parches para mejorar el rendimiento de del núcleo Linux.&lt;/p&gt;&lt;p&gt;Su obra más famosa, el &lt;a href="http://en.wikipedia.org/wiki/Brain_Fuck_Scheduler"&gt;Brain Fuck Scheduler&lt;/a&gt;, es un innovador gestor de procesos del procesador. Entre sus creaciones encontramos el Fair Scheduler, en el cual de basa el &lt;a href="http://en.wikipedia.org/wiki/Completely_Fair_Scheduler"&gt;Completely Fair Scheduler&lt;/a&gt; de &lt;a href="http://en.wikipedia.org/wiki/Ingo_Molnar"&gt;Ingo Molnar&lt;/a&gt;, que es el usado actualmente, pero el BFS, tirando por tierra todos los planteamientos de lo que un gestor de hilos (de concurrencia optimista) debería de ser, consigue mejorar notablemente el rendimiento bajo ciertas circunstancias muy comunes: procesadores de menos de 16 hilos de procesamiento.&lt;/p&gt;&lt;p&gt;Es por esto último que algunas distribuciones como PCLinuxOS, algunos firmwares para móviles y , han decidido incorporarlo por defecto, si bien el propio Con Kolivas ha dejado claro que no es buena idea integrarlo en la rama principal del desarrollo de Linux por su poca escalabilidad porque, seamos francos, aunque ahora sólo se libren algunos servidores, es solo cuestión de tiempo que los ordenadores personales de conviertan también en un amasijo de procesadores y RAM, y discos duros y periféricos diminutos, todo ello alimentado por pilar nucleares, supongo.&lt;/p&gt;&lt;p&gt;Altamente recomendado para aquellos adictos a las aplicaciones ejecutándose en tiempo real... si esque los hay.&lt;/p&gt;&lt;p&gt;Si os interesa entender cómo funciona, el propio Con &lt;a href="http://ck.kolivas.org/patches/bfs/sched-BFS.txt"&gt;ha escrito una guía explicándolo&lt;/a&gt;, y &lt;a href="http://ck.kolivas.org/patches/bfs/bfs-faq.txt"&gt;respuestas a preguntas frecuentes&lt;/a&gt; (obviamente en inglés).&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-8321327407138405078?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/8321327407138405078/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/03/brain-fuck-scheduler.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/8321327407138405078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/8321327407138405078'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/03/brain-fuck-scheduler.html' title='Brain Fuck Scheduler'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-8635873538802464436</id><published>2010-03-18T11:00:00.001Z</published><updated>2010-03-18T11:00:02.501Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='bespin'/><category scheme='http://www.blogger.com/atom/ns#' term='programación'/><title type='text'>Bespin 0.4.4</title><content type='html'>&lt;p&gt;Bespin es un proyecto de la gente de Mozilla, más bien un experimento, consistente en implementar un editor de código, online, utilizando HTML5 (y su canvas) y JavaScript.&lt;/p&gt;&lt;p&gt;A día de hoy soporta gestión de proyectos, SVN, subidas a SFTP, coloreado de sintaxis, y diferentes comportamientos dependiendo del lenguaje en cuanto a identación.&lt;/p&gt;&lt;p&gt;No es fácil de usar (tiene mucha funcionalidad, pero para hacer cosas demasiado básicas hay que recurrir a su peculiar línea de comandos), pero va en bien camino, y ya han corregido ciertos errores con el soporte a teclados internacionales, de modo que ahondando un poco en &lt;a href="https://wiki.mozilla.org/Labs/Bespin"&gt;su documentación&lt;/a&gt;, ya se puede empezar a trabajar con él.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_XUj14gVcgSo/S6IFq4plFtI/AAAAAAAAEsY/p58CRbcyPsM/s1600-h/bespin.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 246px;" src="http://1.bp.blogspot.com/_XUj14gVcgSo/S6IFq4plFtI/AAAAAAAAEsY/p58CRbcyPsM/s400/bespin.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5449924733391148754" /&gt;&lt;/a&gt;&lt;p&gt;A día de hoy dan 15 MiB de espacio para tu código, puede parecer poco, pero 15 megas de código es muchísimo, y todavía está en pañales.&lt;/p&gt;&lt;p&gt;Si os pica la curiosidad, podéis registraros, e inmediatamente empezar a usarlo, &lt;a href="http://bespin.mozillalabs.com/"&gt;en su página oficial&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-8635873538802464436?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/8635873538802464436/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/03/bespin-044.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/8635873538802464436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/8635873538802464436'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/03/bespin-044.html' title='Bespin 0.4.4'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_XUj14gVcgSo/S6IFq4plFtI/AAAAAAAAEsY/p58CRbcyPsM/s72-c/bespin.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-8457212472915888070</id><published>2010-03-17T12:00:00.001Z</published><updated>2010-03-17T12:02:51.002Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><title type='text'>Google Presentations</title><content type='html'>&lt;p&gt;Para probar  qué tal funciona la aplicación de presentaciones de &lt;a href="http://docs.google.com"&gt;Google Docs&lt;/a&gt;, he probado a hacer un tutorial sencillo de &lt;a href="/2009/11/inkscape-047.html"&gt;Inkscape&lt;/a&gt;, ya que aunque ya había hecho mis pruebas, está continuamente recibiendo mejoras y actualizaciones.&lt;/p&gt;&lt;iframe src="http://docs.google.com/present/embed?id=ddmxqdg9_55d4bk36vx&amp;size=l" frameborder="0" width="700" height="559"&gt;&lt;/iframe&gt;&lt;p&gt;Aunque haya sufrido un poco por los errores y la lentitud del javascript de Mozilla Firefox, el resultado me parece excelente (teniendo en cuenta el poco tiempo invertido). Es la plataforma ideal para realizar presentaciones de diapositivas (de las serias, no de las de los efectos fluflú), en la nube, y sigue siendo colaborativo. Y lo mejor de todo esque todo lo hace nativamente, con HTML y Javascript. Nada de plugins inseguros, pesados, inestables o devoradores de recursos&lt;sup&gt;1&lt;/sup&gt;.&lt;/p&gt;&lt;p&gt;Éste podría considerarse como una continuación de mi anterior &lt;a href="/2010/02/trabajar-en-la-nube.html"&gt;Trabajar en la nube&lt;/a&gt;.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Adobe Flash, guiño guiño.&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-8457212472915888070?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/8457212472915888070/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/03/google-presentations.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/8457212472915888070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/8457212472915888070'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/03/google-presentations.html' title='Google Presentations'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-6140119401362722048</id><published>2010-03-16T10:40:00.002Z</published><updated>2010-03-16T10:40:00.857Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='descargas'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux en general'/><title type='text'>GNU/Linux distro timeline 10.3</title><content type='html'>&lt;p&gt;Desde el 4 de Marzo está disponible la última versión (10.3) del diagrama de árbol de distribuciones GNU/Linux más famoso. Contiene las distribuciones más conocidas (y otras no tanto) con sus divisiones, fusiones, cambios de nombre, etcétera.&lt;/p&gt;&lt;img src="http://lh6.ggpht.com/_XUj14gVcgSo/S59fJ_hjstI/AAAAAAAAEsU/Gm9ZSP0f7eg/distrotimeline.png" style="border:0;display:block;margin:0 auto;width:600px;height:600px;" alt=""/&gt;&lt;p&gt;Podéis descargarlo en formato &lt;a href="http://futurist.se/gldt/gldt1003.png"&gt;PNG (746 KiB)&lt;/a&gt;, &lt;a href="http://futurist.se/gldt/gldt1003.svg"&gt;SVG (227 KiB)&lt;/a&gt; o &lt;a href="http://futurist.se/gldt/gldt1003.tar.bz2"&gt;CSV (41 KiB)&lt;/a&gt;, o consultar versiones anteriores en &lt;a href="http://futurist.se/gldt/"&gt;su página oficial&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-6140119401362722048?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/6140119401362722048/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/03/gnulinux-distro-timeline-103.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/6140119401362722048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/6140119401362722048'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/03/gnulinux-distro-timeline-103.html' title='GNU/Linux distro timeline 10.3'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_XUj14gVcgSo/S59fJ_hjstI/AAAAAAAAEsU/Gm9ZSP0f7eg/s72-c/distrotimeline.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-4636460490776436215</id><published>2010-03-15T10:30:00.002Z</published><updated>2010-03-15T10:51:04.465Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='incultura'/><title type='text'>El miedo al cambio y la tecnología</title><content type='html'>&lt;p&gt;Hoy en día, ya sí, vivimos en una sociedad dominada por el uso de tecnologías impensables hace ya no treinta o veinte, sino ya diez años. Y hay demasiada gente que nunca estuvo preparada para ello.&lt;/p&gt;&lt;p&gt;Culpad a la tecnofobia, o incluso a la neofobia. El miedo al cambio, o a cualquier tipo de evolución, representa un gravísimo problema, a veces un insalvable obstáculo social. Y va empeorando, la evolución tecnológica sigue una progresión exponencial.&lt;/p&gt;&lt;p&gt;Lo vemos cada día, en todos lados, técnicos de marketing, a veces siendo incluso analfabetos digitales, inventando palabras cada vez más enrevesadas, acrónimos imposibles, y neologismos absurdos para llamar a cada nuevo conector, a cada nuevo cable, a cada nuevo botón, o incluso para decir que esa televisión tiene tal cual resolución. Y gente perdida entre millones de pegatinas, entre millones de siglas que no entienden, que se llenan la boca con todo lo que dicen que podrá hacer su futura compra. Al final todo se quedará en nada. Casi toda esa funcionalidad será olvidada y desperdiciada.&lt;/p&gt;&lt;p&gt;Tristes incautos que se compran toda una máquina de cientos o miles de euros, porque el vendedor de ésta o ésa gran superficie les ha convencido de que lo necesitan si quieren escribir o hablar con sus conocidos. Vendedor que es vendedor, pero no sabe lo que vende. Comprador que es comprador, y no sabe lo que compra. Usuario que no usará lo que ha pagado.&lt;/p&gt;&lt;p&gt;Mucha gente lo pasa mal, terriblemente mal, y lo veo continuamente: Se ven ante máquinas alienígenas, llenas de botones, sonidos, e imágenes extrañas, que les da miedo tocar por equivocarse y adentrarse en lo que no conocen. Ya no leen, ya no ven, sólo buscan el botón que les llevará a dónde ya han estado. Es el pánico a perderse. Y algunos, que se aprovechan de esto, tienen la culpa.&lt;/p&gt;&lt;p&gt;Muchas empresas, capitaneadas por ejecutivos decapitados por su ignorancia y avaricia, destrozan el futuro prometedor de la generalización de las máquinas de luces, obligan a sus clientes a elegirlos a ellos, sin ofrecerles lo que necesitan, utilizando mentiras, engaños, extorsión y muchísimo dinero en sobornos y publicidad. Y esos otros aterrados ignorantes, sus clientes, son realmente presos de todo un engranaje, de un móvil perpetuo, que cada día es más grande y monstruoso.&lt;/p&gt;&lt;p&gt;Muchos somos los que nos esforzamos en hacer cosas sencillas, fáciles de usar, que nada más verse te cuenten sin tapujos lo que pueden y lo que no pueden hacer. Pero intentar hacer cosas que no den miedo no es muy efectivo cuando aún hay personas que creen que el exceso es una virtud, desgraciadamente ubicados en la parte superior de los estrictos organigramas empresariales, y no se escandalizan de creerlo. Ellos provienen de la época de las cavernas en esto de la tecnología, y no se han molestado en reciclarse porque por encima de ellos sólo hay gente anclada aún más atrás en el tiempo.&lt;/p&gt;&lt;p&gt;El problema es que empresas antiguas, con planteamientos antiguos a la par de erróneos, intentan hacer lo que han hecho siempre, negocios a la antigua, cerrándose en banda a la innovación o el cambio. Tal vez solo aceptan cambiar las cosas de sitio e incrementar el precio.&lt;/p&gt;&lt;p&gt;Ellas tienen el dinero, ellos controlan la distribución, ellos pueden cercenar los derechos de sus clientes a voluntad, espiarlos, y torturarlos de mil millones de maneras diferentes. Y sus clientes aceptan, de buen grado, todo aquello que les llega. Porque les han enseñado a tener pánico por lo que no conocen, porque no les importa sufrir si ese sufrimiento es conocido, porque les han inculcado una neofobia exagerada.&lt;/p&gt;&lt;p&gt;Vivimos en un mundo cambiante, y nada puede frenarlo, ni siquiera el miedo, las guerras, o los poderosos del pasado. Si las cosas siguen como ahora mucha gente acabará muy mal en el camino, pero tarde o temprano se superará ese miedo, se verán las cosas como son, porque abrazarse a lo antiguo disfrazado de nuevo es una estupidez, y verán que muchas malas personas han estado jugando con ellos para exprimirlos.&lt;/p&gt;&lt;p&gt;No sé lo que pasará después, no tengo miedo al cambio, y personalmente me gustan las sorpresas.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-4636460490776436215?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/4636460490776436215/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/03/el-miedo-al-cambio-y-la-tecnologia.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/4636460490776436215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/4636460490776436215'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/03/el-miedo-al-cambio-y-la-tecnologia.html' title='El miedo al cambio y la tecnología'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-7193712565726834274</id><published>2010-03-14T09:00:00.004Z</published><updated>2010-03-14T09:00:00.324Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='censura'/><title type='text'>¿Libertad de expresión? No en España.</title><content type='html'>&lt;p&gt;Y no lo digo yo, lo dicen &lt;a href="http://en.wikipedia.org/wiki/Nicole_Wong"&gt;Nicole Wong&lt;/a&gt; y &lt;a href="http://peterfleischer.blogspot.com/"&gt;Peter Fleischer&lt;/a&gt;, ambos de Google, en sus comparecencias en la Cámara de Representantes del Congreso de los Estados Unidos, cito:&lt;/p&gt;&lt;blockquote&gt;In the last two years, we have received reports that our blogging platform has been or is being blocked in at least seven countries China, Spain, India, Pakistan, Iran, Myanmar and Ethiopia.&lt;/blockquote&gt;&lt;p&gt;Y traduzco libremente.&lt;/p&gt;&lt;blockquote&gt;En los últimos dos años, hemos recibido informes de que nuestra plataforma de blogs ha estado siendo bloqueada en, al menos, siete países: China, España, India, Pakistán, Irán, Mianmar, y Etiopía.&lt;/blockquote&gt;&lt;p&gt;Cuando se pone un país justo detrás de China en cuanto al tema de la censura en Internet, es el momento de empezar a buscar un trabajo en el extranjero. Porque supongo que nadie querrá vivir otra dictadura (me da igual si fascista, nacional-socialista o bananera) ¿o si?&lt;/p&gt;&lt;p&gt;Pero claro, esto no va a quedarse tal cual. Presiones gubernamentales ya &lt;a href="http://www.publico.es/ciencias/301069/google/rectifica/industria/niega/censura/internet/espana"&gt;han obligado a Google a retractarse&lt;/a&gt;. No, no fué un error, ni un lapsus, ni nada parecido. O si no, tiempo al tiempo.&lt;/p&gt;&lt;p&gt;Esto viene a cuento de los artículos &lt;a href="/2009/03/espana-derechos-humanos.html"&gt;España... ¿derechos humanos?&lt;/a&gt;,&lt;a href="/2010/02/cerramos-en-enero-reabrimos-en-febrero.html"&gt;Cerramos en enero, reabrimos en febrero&lt;/a&gt; o &lt;a href="/2009/12/constitucion-espanola-articulo-20.html"&gt;Constitución Española, Artículo 20&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Vía &lt;/strong&gt;&lt;a href="http://www.enriquedans.com/2010/03/nobody-expects-the-spanish-inquisition.html"&gt;El &lt;strike&gt;ego&lt;/strike&gt;Blog de Enrique Dans&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-7193712565726834274?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/7193712565726834274/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/03/libertad-de-expresion-no-en-espana.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/7193712565726834274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/7193712565726834274'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/03/libertad-de-expresion-no-en-espana.html' title='¿Libertad de expresión? No en España.'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-3102326935986353734</id><published>2010-03-13T09:00:00.002Z</published><updated>2010-03-13T11:09:11.859Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><title type='text'>Ubuntu y Sixaxis (Joypad PS3)</title><content type='html'>&lt;img src="http://lh3.ggpht.com/_XUj14gVcgSo/S5r6qoHOtCI/AAAAAAAAErw/93eAa8wxVCE/sixa.png" alt="" style="float:right;width:250px;height:250px;border:0;"/&gt;&lt;p&gt;EL sixaxis, al menos conectado por USB, es detectado como joystick ( /dev/input/jsN , siendo N un número empezando por 0 ), por lo que ya se puede usar como cualquier otro mando (aunque las luces parpadeen). El problema surge al intentar utilizarlo por Bluetooth.&lt;/p&gt;&lt;p&gt;También aviso que algunos de los programas a utilizar sirven también para otros mandos, si bien las instrucciones específicas no.&lt;/p&gt;&lt;p&gt;Lo primero es comprobar que tanto bluez, bluez-compat, como bluez-tools, se encuentran instalados.&lt;/p&gt;&lt;pre name="code" class="bash"&gt;sudo apt-get install bluez bluez-compat bluez-tools&lt;/pre&gt;&lt;p&gt;El resto es bien sencillo, gracias al proyecto &lt;a href="http://qtsixa.sourceforge.net/"&gt;QtSixA&lt;/a&gt;, sólamente deberemos añadir sus repositorios para descargar los paquetes del demonio bluetooth, y la utilidad gráfica de administración de mandos.&lt;/p&gt;&lt;pre name="code" class="bash"&gt;sudo add-apt-repository ppa:falk-t-j/qtsixa&lt;br /&gt;sudo apt-get update&lt;br /&gt;sudo apt-get install qtsixa&lt;/pre&gt;&lt;p&gt;Ejecutáis qtsixa para que os detecte el mando y listo.&lt;/p&gt;&lt;p&gt;Si además queréis mapear teclas del teclado a botones del mando, y así poder usarlo con juegos que no permitan ser controlados con mando, podréis hacerlo con una aplicación llamada QJoyPad (QtSixA permite hacer algo parecido desde sus preferencias, pero de manera mucho menos flexible), que aparecerá en la barra de notificación del sistema, y os permitirá seleccionar la tecla asignada a cada botón o sensor del mando, así como guardar o cargar configuraciones de este tipo.&lt;/p&gt;&lt;p&gt;Para instalar &lt;a href="http://qjoypad.sourceforge.net/"&gt;QJoyPad&lt;/a&gt;, podéis hacerlo desde los repositorios de playdeb.&lt;/p&gt;&lt;pre name="code" class="bash"&gt;echo "deb http://archive.getdeb.net/ubuntu karmic-getdeb games" | sudo tee -a /etc/apt/sources.list&lt;br /&gt;wget -q -O- http://archive.getdeb.net/getdeb-archive.key | sudo apt-key add -&lt;br /&gt;sudo apt-get update&lt;br /&gt;sudo apt-get install qjoypad&lt;/pre&gt;&lt;p&gt;Por último, os dejo con la lista de sensores y botones del mando tal cual son reconocidos&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Axis (sensores con detección de posición o presión)&lt;ul&gt;&lt;li&gt;0 LX&lt;/li&gt;&lt;li&gt;1 LY&lt;/li&gt;&lt;li&gt;2 RX&lt;/li&gt;&lt;li&gt;3 RY&lt;/li&gt;&lt;li&gt;4 Rotación lateral (eje X)&lt;/li&gt;&lt;li&gt;5 Rotación posicional (no sé que dirección)&lt;/li&gt;&lt;li&gt;6 Rotación arriba abajo (eje Y)&lt;/li&gt;&lt;li&gt;8 Arriba&lt;/li&gt;&lt;li&gt;9 Derecha&lt;/li&gt;&lt;li&gt;10 Abajo&lt;/li&gt;&lt;li&gt;11 Izquierda&lt;/li&gt;&lt;li&gt;12 L2&lt;/li&gt;&lt;li&gt;13 R2&lt;/li&gt;&lt;li&gt;14 L1&lt;/li&gt;&lt;li&gt;15 R1&lt;/li&gt;&lt;li&gt;16 Triángulo&lt;/li&gt;&lt;li&gt;17 Círculo&lt;/li&gt;&lt;li&gt;18 Equis&lt;/li&gt;&lt;li&gt;19 Cuadrado&lt;/li&gt;&lt;li&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Botones&lt;ul&gt;&lt;li&gt;0 Select&lt;/li&gt;&lt;li&gt;1 L3&lt;/li&gt;&lt;li&gt;2 R3&lt;/li&gt;&lt;li&gt;3 Start&lt;/li&gt;&lt;li&gt;4 Arriba&lt;/li&gt;&lt;li&gt;5 Derecha&lt;/li&gt;&lt;li&gt;6 Abajo&lt;/li&gt;&lt;li&gt;7 Izquierda&lt;/li&gt;&lt;li&gt;8 L2&lt;/li&gt;&lt;li&gt;9 R2&lt;/li&gt;&lt;li&gt;10 L1&lt;/li&gt;&lt;li&gt;11 R1&lt;/li&gt;&lt;li&gt;12 Triángulo&lt;/li&gt;&lt;li&gt;13 Círculo&lt;/li&gt;&lt;li&gt;14 Equis&lt;/li&gt;&lt;li&gt;15 Cuadrado&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Enlaces&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=" http://sixa.danielholm.se/"&gt;Web del proyecto SixA&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://qtsixa.sourceforge.net/"&gt;Web del proyecto QtSixA&lt;/a&gt; (responsables del demonio bluetooth y del gestor de mandos)&lt;/li&gt;&lt;li&gt;&lt;a href="http://qjoypad.sourceforge.net/"&gt;Web del proyecto QJoyPad&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-3102326935986353734?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/3102326935986353734/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/03/ubuntu-y-sixaxis-joypad-ps3.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/3102326935986353734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/3102326935986353734'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/03/ubuntu-y-sixaxis-joypad-ps3.html' title='Ubuntu y Sixaxis (Joypad PS3)'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_XUj14gVcgSo/S5r6qoHOtCI/AAAAAAAAErw/93eAa8wxVCE/s72-c/sixa.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-975388888253201578</id><published>2010-03-12T12:00:00.007Z</published><updated>2010-03-12T12:50:24.602Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='programación'/><title type='text'>Serializador recursivo para Python</title><content type='html'>&lt;p&gt;Un &lt;em&gt;serializador&lt;/em&gt; es un algoritmo capaz de convertir objetos, en este caso de &lt;em&gt;Python&lt;/em&gt;, en cadenas de bits.&lt;/p&gt;&lt;p&gt;Para cierto proyecto en curso, me ha hecho falta serializar objetos complejos para guardarlos en &lt;em&gt;cookies&lt;/em&gt; del navegador, y en este caso &lt;em&gt;Pickle&lt;/em&gt; no es una opción, ya que es inseguro y permitiría ejecutar código arbitrario en el servidor a cualquiera que se le ocurriera modificar dicha &lt;em&gt;cookie&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;Existe otro &lt;em&gt;serializador&lt;/em&gt;, &lt;em&gt;&lt;a href="http://home.gna.org/oomadness/en/cerealizer/"&gt;Cerealizer&lt;/a&gt;&lt;/em&gt;, que permite elegir qué clases son las que permitimos coger del string serializado, además de los tipos básicos del lenguaje, pero alguna razón no me llegó a funcionar. De modo que he tenido que perder una semana de mi vida para crear mi propio algoritmo, recursivo, para tal menester.&lt;/p&gt;&lt;p&gt;Es bastante seguro, ya que obliga registrar todas las clases que puedan ser &lt;em&gt;serializadas&lt;/em&gt;, y dichas clases deben definir sus propios métodos, &lt;em&gt;__getstate__&lt;/em&gt; y &lt;em&gt;__setstate__&lt;/em&gt;, opcionales en &lt;em&gt;Pickle&lt;/em&gt;, que definen qué datos son realmente &lt;em&gt;serializados&lt;/em&gt; y cómo se deben recoger dichos datos por la clase cuando se carguen.&lt;/p&gt;&lt;p&gt;La cadena generada contiene únicamente caracteres &lt;em&gt;imprimibles&lt;/em&gt; (a menos que alguna cadena serializada contenga otra cosa), escapa las cadenas &lt;em&gt;unicode&lt;/em&gt;, es compacta (más que las cadenas de Pickle en sus protocolos 0 y 1, pero menos que su protocolo 2), tienen mejor ratio de compresión y el algoritmo en general es un 35% mas rápido que el mismo &lt;em&gt;Pickle&lt;/em&gt; (&lt;em&gt;cPickle&lt;/em&gt; sería mucho mas rápido, pero no está escrito en &lt;em&gt;Python&lt;/em&gt;, sino en C).&lt;/p&gt;&lt;p&gt;&lt;a href="http://code.google.com/p/s26blog/downloads/detail?name=PRSerializer.py"&gt;Podéis bajarlo&lt;/a&gt; (14.1KiB) de las &lt;a href="http://code.google.com/p/s26blog/downloads/list"&gt;descargas del blog en Google Code&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Usarlo es muy sencillo&lt;/p&gt;&lt;pre name="code" class="python"&gt;from PRSerializer import register, loads, dumps&lt;br /&gt;&lt;br /&gt;class Clase(object):&lt;br /&gt;    atributo1 = True&lt;br /&gt;    atributo2 = None&lt;br /&gt;&lt;br /&gt;    def __init__(self):&lt;br /&gt;        self.atributo2 = xrange(1000)&lt;br /&gt;        # El serializador reconoce xrange nativamente&lt;br /&gt;        # por lo que es preferible usarlo frente a range&lt;br /&gt;&lt;br /&gt;    def __getstate__(self):&lt;br /&gt;        # Requerido. Retorna lo que realmente será serializado&lt;br /&gt;        return (self.atributo1, self.atributo2)&lt;br /&gt;&lt;br /&gt;    def __setstate__(self,o):&lt;br /&gt;        # Requerido. Recoge y utiliza los datos serializados&lt;br /&gt;        self.atributo1 = o[0]&lt;br /&gt;        self.atributo2 = o[1]&lt;br /&gt;&lt;br /&gt;# Registramos la clase para el serializador&lt;br /&gt;register(Clase)&lt;br /&gt;&lt;br /&gt;# Creamos una instancia de la clase y trabajamos con ella normalmente&lt;br /&gt;instancia = Clase()&lt;br /&gt;instancia.atributo1 = "Cadena de texto" &lt;br /&gt;&lt;br /&gt;# Serializamos la instancia&lt;br /&gt;a = dumps(instancia)&lt;br /&gt;print "Cadena:",a&lt;br /&gt;&lt;br /&gt;# Deserializamos la instancia&lt;br /&gt;b = loads(a)&lt;br /&gt;print "Instancia:",repr(b)&lt;/pre&gt;&lt;p&gt;Os dejo los resultados de una prueba de rendimiento, incluida en el módulo, en un dual core de 2.80Ghz.&lt;/p&gt;&lt;pre name="code" class="bash"&gt;Performance test: serializing, unserializing, zlib compression and pickle&lt;br /&gt;  1 dict&lt;br /&gt;    2000 lists (1000 are empty)&lt;br /&gt;      100000 integers (1000 are dictionary keys)&lt;br /&gt;      100000 strings&lt;br /&gt;      51000 objects&lt;br /&gt;      100000 booleans&lt;br /&gt;&lt;br /&gt;Serializing time:   5.641000s ( 5463337 bytes )&lt;br /&gt;Unserializing time: 3.328000s ( 1641627.670456 B/s )&lt;br /&gt;Zlib compress time: 0.140000s ( 26580 bytes )&lt;br /&gt;&lt;br /&gt;Pickling time:      9.703000s ( 5268354 bytes )&lt;br /&gt;Unpickling time:    4.312000s ( 1221788.950771 B/s )&lt;br /&gt;Zlib compress time: 1.344000s ( 506233 bytes )&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-975388888253201578?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/975388888253201578/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/03/serializador-recursivo-para-python.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/975388888253201578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/975388888253201578'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/03/serializador-recursivo-para-python.html' title='Serializador recursivo para Python'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-6353554250232935263</id><published>2010-03-12T10:00:00.002Z</published><updated>2010-03-15T12:14:32.621Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='programación'/><title type='text'>Métodos estáticos en Python</title><content type='html'>&lt;p&gt;Los ejemplos de la siguiente guía puede ejecutarse en el intérprete interactivo de &lt;em&gt;Python&lt;/em&gt; (que aparece cuando llamamos a su ejecutable sin parámetros desde consola) o en &lt;em&gt;Python IDLE&lt;/em&gt;, su intérprete interactivo con coloreado de sintaxis y autocompletado implementado con &lt;em&gt;Tkinter&lt;/em&gt; (Tk/Tcl para &lt;em&gt;Python&lt;/em&gt;).&lt;/p&gt;&lt;p&gt;Pongamos como ejemplo la siguiente clase.&lt;/p&gt;&lt;pre name="code" class="python"&gt;class Clase(object):&lt;br /&gt;    atributo = True&lt;br /&gt;    def __init__(self):&lt;br /&gt;        self.atributo = False&lt;br /&gt;&lt;br /&gt;    def getAtributo(self):&lt;br /&gt;        return self.atributo&lt;/pre&gt;&lt;p&gt;Para poder trabajar con ella, deberemos instanciarla y, al hacerlo, se ejecutará el método &lt;em&gt;__init__&lt;/em&gt;&lt;/p&gt;&lt;pre name="code" class="python"&gt;# Instanciamos, se ejecutará __init__, y atributo será False&lt;br /&gt;instancia = Clase()&lt;br /&gt;# Y el ejecutamos el método, que nos devolverá False, y lo mostramos&lt;br /&gt;print instancia.getAtributo()&lt;/pre&gt;&lt;p&gt;Y así funcionan normalmente las clases en &lt;em&gt;Python&lt;/em&gt;, recibiendo su instancia como primer parámetro.&lt;/p&gt;&lt;p&gt;Sin embargo, en otros lenguajes (e incluso muchos módulos de &lt;em&gt;Python&lt;/em&gt;) no se necesitan instanciar todas las clases para poder acceder a sus métodos, que en este caso se denominan estáticos. Si intentamos acceder al método del ejemplo anterior sin instanciar la clase, tal cual, nos encontraremos con que requiere que le especifiquemos la instancia, manualmente, para su primer parámetro &lt;em&gt;self&lt;/em&gt;.&lt;pre name="code" class="python"&gt;# Esto da error&lt;br /&gt;print Clase.getAtributo()&lt;/pre&gt;&lt;p&gt;Python para definir que métodos de una clase son estáticos, dispone de dos decoradores (una característica de su sintaxis): &lt;em&gt;@staticmethod&lt;/em&gt; y &lt;em&gt;@classmethod&lt;/em&gt;, con una serie de diferencias entre ambos.&lt;/p&gt;&lt;pre name="code" class="python"&gt;class OtraClase(object):&lt;br /&gt;    atributo = True&lt;br /&gt;    def __init__(self):&lt;br /&gt;        self.atributo = False&lt;br /&gt;    &lt;br /&gt;    @staticmethod&lt;br /&gt;    def getAtributoStaticmethod(self):&lt;br /&gt;        return self.atributo&lt;br /&gt;&lt;br /&gt;    @classmethod&lt;br /&gt;    def getAtributoClassmethod(self):&lt;br /&gt;        return self.atributo&lt;/pre&gt;&lt;p&gt;La diferencia, entre el método estático y el método de clase en &lt;em&gt;Python&lt;/em&gt;, es que mientras el método estático no recibe por defecto ningún parámetro, el método de clase recibe como primer argumento el objeto &lt;em&gt;classtype&lt;/em&gt;, esto es, la referencia a la declaración de la clase.&lt;/p&gt;&lt;pre name="code" class="python"&gt;# El método estático, recibiendo la clase, retorna True&lt;br /&gt;print OtraClase.getAtributoStaticmethod(OtraClase)&lt;br /&gt;# Mientras que el método de clase ya recibe la clase, y retorna True&lt;br /&gt;print OtraClase.getAtributoClassmethod()&lt;/pre&gt;&lt;p&gt;Como podréis ver, en el ejemplo anterior se retorna &lt;em&gt;True&lt;/em&gt;, ya que el método &lt;em&gt;__init__&lt;/em&gt;, que contiene la asignación a &lt;em&gt;False&lt;/em&gt;, sólo se ejecuta cuando se instancia la clase.&lt;/p&gt;&lt;p&gt;Y por probar, veremos que si no adjuntamos la instancia de la clase al método estático, veremos que le falta un parámetro.&lt;/p&gt;&lt;pre name="code" class="python"&gt;# Error, falta un parámetro&lt;br /&gt;print OtraClase.getAtributoStaticmethod()&lt;/pre&gt;&lt;p&gt;Sin entrar a saco con el resto de decoradores de &lt;em&gt;Python&lt;/em&gt;, estos dos de los que hemos hablado, son sumamente útiles, sobretodo para los que os dediquéis a modularizar vuestros programas o estéis acostumbrados a usar métodos estáticos tal cual aparecen en otros lenguajes de programación &lt;em&gt;menos flexibles&lt;/em&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-6353554250232935263?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/6353554250232935263/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/03/metodos-estaticos-en-python.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/6353554250232935263'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/6353554250232935263'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/03/metodos-estaticos-en-python.html' title='Métodos estáticos en Python'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-8100540572622359317</id><published>2010-03-10T09:30:00.005Z</published><updated>2010-03-10T11:54:04.715Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='juegos'/><title type='text'>DJL</title><content type='html'>&lt;p&gt;DJL es un gestor de juegos para GNU/Linux, al más estilo Synaptic (sistema de búsqueda, gestor de descargas e instalador todo integrado), además de lanzador.&lt;/p&gt;&lt;p&gt;Está programado en Python, lo que garantiza su ágil desarrollo, y con él es tremendamente fácil descubrir e instalar una buena cantidad de títulos.&lt;/p&gt;&lt;a style="text-align:center;display:block;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_XUj14gVcgSo/S5ddrP6qfNI/AAAAAAAAErk/dRt4-I6m3HQ/s1600-h/djl_depot.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 235px;" src="http://4.bp.blogspot.com/_XUj14gVcgSo/S5ddrP6qfNI/AAAAAAAAErk/dRt4-I6m3HQ/s400/djl_depot.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5446925271916248274" /&gt;&lt;small&gt;(No os preocupéis, también está en español)&lt;/small&gt;&lt;/a&gt;&lt;p&gt;A día de hoy, permite instalar:&lt;/p&gt;&lt;ul class="2columnlist"&gt;&lt;li&gt;555-Boom!&lt;/li&gt;&lt;li&gt;A Tale in the Desert IV&lt;/li&gt;&lt;li&gt;A7Xpg&lt;/li&gt;&lt;li&gt;Alien Arena&lt;/li&gt;&lt;li&gt;Ardentryst&lt;/li&gt;&lt;li&gt;Armagetron Advanced&lt;/li&gt;&lt;li&gt;Assault Cube&lt;/li&gt;&lt;li&gt;AstroMenace&lt;/li&gt;&lt;li&gt;Auteria&lt;/li&gt;&lt;li&gt;Automanic&lt;/li&gt;&lt;li&gt;Awaker&lt;/li&gt;&lt;li&gt;Battle Jump&lt;/li&gt;&lt;li&gt;Battle Tanks&lt;/li&gt;&lt;li&gt;Biniax&lt;/li&gt;&lt;li&gt;Blob Wars - Blob And Conquer&lt;/li&gt;&lt;li&gt;Blood Frontier&lt;/li&gt;&lt;li&gt;BosWars&lt;/li&gt;&lt;li&gt;BygFoot&lt;/li&gt;&lt;li&gt;BZFlag&lt;/li&gt;&lt;li&gt;CounterStrike 2D&lt;/li&gt;&lt;li&gt;Coup de foot&lt;/li&gt;&lt;li&gt;Cube&lt;/li&gt;&lt;li&gt;Dark Horizons&lt;/li&gt;&lt;li&gt;Defcon&lt;/li&gt;&lt;li&gt;Digital Paint Paintball&lt;/li&gt;&lt;li&gt;Dwarf Fortress&lt;/li&gt;&lt;li&gt;Empty Clip&lt;/li&gt;&lt;li&gt;Endgame: Singularity&lt;/li&gt;&lt;li&gt;Excalibur&lt;/li&gt;&lt;li&gt;F-1 Spirit Remake&lt;/li&gt;&lt;li&gt;FooBillard&lt;/li&gt;&lt;li&gt;Freeciv&lt;/li&gt;&lt;li&gt;FreeCol&lt;/li&gt;&lt;li&gt;FreeDroidRPG&lt;/li&gt;&lt;li&gt;FreeSynd&lt;/li&gt;&lt;li&gt;Freetennis&lt;/li&gt;&lt;li&gt;&lt;a href="/2007/11/frozen-bubble-2.html"&gt;FrozenBubble&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Gargoyle&lt;/li&gt;&lt;li&gt;Glest&lt;/li&gt;&lt;li&gt;GlestAD&lt;/li&gt;&lt;li&gt;Globulation2&lt;/li&gt;&lt;li&gt;Gridwars&lt;/li&gt;&lt;li&gt;Gunroar&lt;/li&gt;&lt;li&gt;Hedgewars&lt;/li&gt;&lt;li&gt;Hive Rise&lt;/li&gt;&lt;li&gt;Kimboot&lt;/li&gt;&lt;li&gt;Landes eternelles&lt;/li&gt;&lt;li&gt;Legends&lt;/li&gt;&lt;li&gt;Lemming Ball Z&lt;/li&gt;&lt;li&gt;LinCityNG&lt;/li&gt;&lt;li&gt;Lupercalia&lt;/li&gt;&lt;li&gt;Ma princesse adoree&lt;/li&gt;&lt;li&gt;Machine ball&lt;/li&gt;&lt;li&gt;Mad Skills Motocross&lt;/li&gt;&lt;li&gt;Maniadrive&lt;/li&gt;&lt;li&gt;Monsterz&lt;/li&gt;&lt;li&gt;Morpyon&lt;/li&gt;&lt;li&gt;MTP target&lt;/li&gt;&lt;li&gt;NetPanzer&lt;/li&gt;&lt;li&gt;NeverBall&lt;/li&gt;&lt;li&gt;Nevernoid&lt;/li&gt;&lt;li&gt;NeverPutt&lt;/li&gt;&lt;li&gt;Nexuiz&lt;/li&gt;&lt;li&gt;Nimuh&lt;/li&gt;&lt;li&gt;Njam&lt;/li&gt;&lt;li&gt;Numptyphysics&lt;/li&gt;&lt;li&gt;Oolite&lt;/li&gt;&lt;li&gt;Open Sonic&lt;/li&gt;&lt;li&gt;OpenAlchemist&lt;/li&gt;&lt;li&gt;OpenAnno&lt;/li&gt;&lt;li&gt;OpenArena&lt;/li&gt;&lt;li&gt;OpenCity&lt;/li&gt;&lt;li&gt;Pang Zero&lt;/li&gt;&lt;li&gt;Parsec47&lt;/li&gt;&lt;li&gt;Planeshift&lt;/li&gt;&lt;li&gt;&lt;a href="/2010/02/pokerth.html"&gt;PokerTH&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Postal 2: Share The Pain&lt;/li&gt;&lt;li&gt;Racer&lt;/li&gt;&lt;li&gt;&lt;a href="/2007/11/review-regnum-online.html"&gt;Regnum online&lt;/a&gt;&lt;/li&gt;&lt;li&gt;RRootage&lt;/li&gt;&lt;li&gt;RTChess&lt;/li&gt;&lt;li&gt;&lt;a href="/2007/11/sauerbraten-cube-2.html"&gt;Sauerbraten&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Savage&lt;/li&gt;&lt;li&gt;Savage 2 : A Tortured Soul&lt;/li&gt;&lt;li&gt;Scorched3D&lt;/li&gt;&lt;li&gt;Scourge&lt;/li&gt;&lt;li&gt;SDL-Ball&lt;/li&gt;&lt;li&gt;Simutrans&lt;/li&gt;&lt;li&gt;Skulltag&lt;/li&gt;&lt;li&gt;Slime volley&lt;/li&gt;&lt;li&gt;Smokin guns&lt;/li&gt;&lt;li&gt;SoulFu&lt;/li&gt;&lt;li&gt;Spring&lt;/li&gt;&lt;li&gt;Stepmania&lt;/li&gt;&lt;li&gt;Stormbaancoureur&lt;/li&gt;&lt;li&gt;SuperTux&lt;/li&gt;&lt;li&gt;SuperTux Kart&lt;/li&gt;&lt;li&gt;Tarot Club&lt;/li&gt;&lt;li&gt;TeeWorlds&lt;/li&gt;&lt;li&gt;Tile Racer&lt;/li&gt;&lt;li&gt;Titanion&lt;/li&gt;&lt;li&gt;Toribash&lt;/li&gt;&lt;li&gt;&lt;a href="/2009/04/review-torus-trooper.html"&gt;Torus Trooper&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Tremulous&lt;/li&gt;&lt;li&gt;Tumiki Fighters&lt;/li&gt;&lt;li&gt;UFO&lt;/li&gt;&lt;li&gt;Urban Terror&lt;/li&gt;&lt;li&gt;Vdrift&lt;/li&gt;&lt;li&gt;VegaStrike&lt;/li&gt;&lt;li&gt;Virtual Jay Peak&lt;/li&gt;&lt;li&gt;&lt;a href="/2007/11/warsow-031.html"&gt;Warsow&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="/2009/03/review-warzone-2100.html"&gt;Warzone 2100&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Wesnoth&lt;/li&gt;&lt;li&gt;Widelands&lt;/li&gt;&lt;li&gt;Wolfenstein : Enemy Territory&lt;/li&gt;&lt;li&gt;World of Padman&lt;/li&gt;&lt;li&gt;Wormux&lt;/li&gt;&lt;li&gt;&lt;a href="/2010/02/xmoto.html"&gt;XMoto&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Xrick&lt;/li&gt;&lt;li&gt;Yo Frankie!&lt;/li&gt;&lt;li&gt;Yoda Soccer&lt;/li&gt;&lt;li&gt;Z-Lock&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Si habéis hecho &lt;em&gt;scroll&lt;/em&gt; hasta aquí, os diré que podéis bajar el &lt;a href="http://www.playdeb.net/software/djl"&gt;paquete desde playdeb.net&lt;/a&gt; o el instalador de la &lt;a href="http://en.djl-linux.org/"&gt;página oficial&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Y ahora, casi sin querer, me he topado con varios juegos de los que tengo un análisis pendiente.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Créditos:&lt;/strong&gt; La captura de pantalla es de la página oficial.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-8100540572622359317?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/8100540572622359317/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/03/djl.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/8100540572622359317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/8100540572622359317'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/03/djl.html' title='DJL'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_XUj14gVcgSo/S5ddrP6qfNI/AAAAAAAAErk/dRt4-I6m3HQ/s72-c/djl_depot.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-8387071824947852438</id><published>2010-03-09T08:00:00.004Z</published><updated>2010-03-09T08:00:03.612Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux en general'/><title type='text'>Open-PC</title><content type='html'>&lt;img style="float:left;border:0;width: 250px;height: 152px;" src="http://3.bp.blogspot.com/_XUj14gVcgSo/S5TWOlUaIVI/AAAAAAAAErU/7s-Lh45nXAg/s400/side.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5446213395421995346" /&gt;&lt;p&gt;Open-PC es un proyecto para comercializar un ordenador dotado únicamente con software libre, porque si bien cualquiera puede instalar Linux en un ordenador comprado (y pedir la devolución del impuesto del sistema por defecto), suelen incluir &lt;em&gt;hardware&lt;/em&gt; cuyos fabricantes no han publicado &lt;em&gt;drivers&lt;/em&gt; libres, o si lo han hecho no son funcionales.&lt;/p&gt;&lt;p&gt;El proyecto, promovido por la gente de OpenDesktop.org, pretende un PC suficiente para tareas cotidianas y de bajo consumo,  OpenSUSE (modificado) con KDE4 listo para usar, por 364 euros, de los cuales 10 irán destinados al proyecto KDE.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_XUj14gVcgSo/S5Tn08nYpsI/AAAAAAAAErc/ytElkGb-KRI/s1600-h/1.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 276px;" src="http://2.bp.blogspot.com/_XUj14gVcgSo/S5Tn08nYpsI/AAAAAAAAErc/ytElkGb-KRI/s400/1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5446232746208306882" /&gt;&lt;/a&gt;&lt;p&gt;Las especificaciones finales son:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Procesador Intel Atom N330 a 1.6 Ghz (procesador Atom de dos núcleos)&lt;/li&gt;&lt;li&gt;3GiB de RAM&lt;/li&gt;&lt;li&gt;Disco duro de 160GiB&lt;/li&gt;&lt;li&gt;Intel GMA950 (la típica de Atom)&lt;/li&gt;&lt;li&gt;Carcasa mini-ITX y placa base ASRock con espacio para más componentes&lt;/li&gt;&lt;li&gt;Fuente de alimentación de 250 vatios&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Ofrecen soporte técnico para la instalación a través de teléfono y email, pero sólo en inglés americano, al menos en principio.&lt;/p&gt;&lt;p&gt;El ordenador está listo para comercializar desde finales del mes pasado, si bien están buscando ensambladores que apoyen el proyecto. Pero por lo que veo, todavía no llevan muy bien lo de los distribuidores, así que no se sabe nada de envíos a Europa. Seguiré informando.&lt;/p&gt;&lt;p&gt;Más información en la &lt;a href="http://open-pc.com/"&gt;página web del proyecto&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-8387071824947852438?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/8387071824947852438/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/03/open-pc.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/8387071824947852438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/8387071824947852438'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/03/open-pc.html' title='Open-PC'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_XUj14gVcgSo/S5TWOlUaIVI/AAAAAAAAErU/7s-Lh45nXAg/s72-c/side.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-1320021234585983306</id><published>2010-03-08T08:00:00.002Z</published><updated>2010-03-08T08:00:00.408Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='descargas'/><category scheme='http://www.blogger.com/atom/ns#' term='programas'/><title type='text'>Abiword</title><content type='html'>&lt;img style="border:0;float:right;width:256px;height:256px;" src="http://lh4.ggpht.com/_XUj14gVcgSo/S5PB_BrYs-I/AAAAAAAAErM/si8AUtDaADs/AbiWord.png" alt="" /&gt;&lt;p&gt;Abiword es un potente procesador de texto, con soporte para complementos, diseñado especialmente para quienes estamos cansados de la mastodóntica proporción de OpenOffice en cuanto a su consumo de recursos. Como excusa, podríamos decir que OpenOffice está desarrollado en Java, cuyo intérprete es un devorador de RAM consumado, por motivos comerciales de Sun Microsystems, pero la verdad es que, si bien, usando GCJ (GNU Java) suele gastar alrededor de 20 megas de RAM menos, sigue siendo lento, pesado, y ciertamente feo.&lt;/p&gt;&lt;p&gt;Abiword por su lado, está desarrollado principalmente en C++, mucho más rápido y eficiente, tiene una interfaz sencilla, clara, y perfectamente integrada, es versátil y extensible con toda una serie de complementos, que añaden desde un imprescindible visor de fórmulas matemáticas, diccionarios, traductores, hasta edición colaborativa en línea usando el protocolo XMPP (que por cierto es estándar, en contra de ciertas cosas que hay por ahí).&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_XUj14gVcgSo/S5O9vxxAVFI/AAAAAAAAErE/yTyF2YhssOQ/s1600-h/Pantallazo-*Sin+t%C3%ADtulo1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 275px;" src="http://1.bp.blogspot.com/_XUj14gVcgSo/S5O9vxxAVFI/AAAAAAAAErE/yTyF2YhssOQ/s400/Pantallazo-*Sin+t%C3%ADtulo1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5445905002931442770" /&gt;&lt;/a&gt;&lt;p&gt;Puede abrir y guardar en una gran cantidad de formatos, de echo, fué uno de los primeros en soportar OpenXML, famoso por ser el estándar ISO con más sobornos de la historia, y ciertos complementos agregan otros nuevos.&lt;/p&gt;&lt;p&gt;Si bien es cierto que en los repositorios oficiales de Ubuntu incluyen una versión realmente antigua, así como del cretácico superior, los desarrolladores de Abiword mantienen un repositorio Launchpad, que podréis añadir a vuestro gestor de paquetes con el siguiente comando:&lt;/p&gt;&lt;pre name="code" class="bash"&gt;echo "deb http://ppa.launchpad.net/abiword-stable/ppa/ubuntu `lsb_release -c -s` main" | sudo tee /etc/apt/sources.list.d/abiword-stable.list&lt;br /&gt;sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 2382D57E&lt;br /&gt;sudo aptitude update&lt;br /&gt;sudo aptitude install abiword&lt;/pre&gt;&lt;p&gt;Para más información podéis pasaros por &lt;a href="http://abisource.com/wiki/Main_Page"&gt;su wiki&lt;/a&gt;, &lt;a href="http://abisource.org/"&gt;la página web del proyecto&lt;/a&gt;, o por &lt;a href="https://launchpad.net/~abiword-stable"&gt;su página en el Launchpad&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Un saludo.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-1320021234585983306?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/1320021234585983306/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/03/abiword.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/1320021234585983306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/1320021234585983306'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/03/abiword.html' title='Abiword'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_XUj14gVcgSo/S5PB_BrYs-I/AAAAAAAAErM/si8AUtDaADs/s72-c/AbiWord.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-9104890671151683169</id><published>2010-03-07T08:00:00.007Z</published><updated>2010-03-07T15:49:14.534Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='programación'/><title type='text'>Python2.6: Generar strings aleatorios</title><content type='html'>&lt;p&gt;El generar strings aleatorios es algo muy importante en implementaciones de todo tipo de sistemas seguros, y desde siempre me ha sorprendido que Python no disponga de un generador nativo de cadenas aleatorias cuando presumen de que viene con "pilas incluidas", refiriéndose a su extensa librería estándar.&lt;/p&gt;&lt;p&gt;Por otro lado, también es sorprendente lo poco que se ha tratado este tema, o al menos, lo difícil que es, relativamente, encontrar lugares en internet donde se trate este tema.&lt;/p&gt;&lt;p&gt;Dada la necesidad de encontrar el algoritmo óptimo, para implementar claves aleatorias en un servidor, mi primera implementación, basada en el código que encontré en &lt;a href="http://ostas.blogspot.com/2006/12/python-generate-random-strings.html#c6033016737183722956"&gt;un comentario&lt;/a&gt; del &lt;a href="http://ostas.blogspot.com"&gt;blog de Stas Ostapenko&lt;/a&gt;.&lt;/p&gt;&lt;pre name="code" class="python"&gt;def simpleSample(chars, length):&lt;br /&gt;    return "".join( random.sample( chars*length, length ))&lt;/pre&gt;&lt;p&gt;Pero me entró la duda de si existiría una forma más eficiente, de modo que hice la prueba con el siguiente código.&lt;/p&gt;&lt;pre name="code" class="python"&gt;# Random string generation time&lt;br /&gt;from time import time&lt;br /&gt;import string&lt;br /&gt;import random&lt;br /&gt;&lt;br /&gt;def classic(chars, length):&lt;br /&gt;    # Classic&lt;br /&gt;    tr=[]&lt;br /&gt;    l = len(chars)-1&lt;br /&gt;    for i in xrange(length):&lt;br /&gt;        tr.append( chars[ random.randint(0,l) ] )&lt;br /&gt;    return "".join(tr)&lt;br /&gt;&lt;br /&gt;def simpleSample(chars, length):&lt;br /&gt;    # derived from&lt;br /&gt;    # http://ostas.blogspot.com/2006/12/python-generate-random-strings.html#c6033016737183722956&lt;br /&gt;    return "".join( random.sample( chars*length, length ))&lt;br /&gt;    &lt;br /&gt;def choice(chars, length):&lt;br /&gt;    # http://ostas.blogspot.com/2006/12/python-generate-random-strings.html#c9062709590606913845&lt;br /&gt;    return "".join([random.choice(chars) for x in xrange(length)]) &lt;br /&gt;&lt;br /&gt;if __name__=="__main__":&lt;br /&gt;    chars = string.letters + string.digits&lt;br /&gt;    times = 100&lt;br /&gt;    print ("Random string generators comparison.\n" +&lt;br /&gt;            "Dictionary length: %s\n" +&lt;br /&gt;            "Times to test every algorithm: %s\n") % (len(chars), times)&lt;br /&gt;    &lt;br /&gt;    for size in (8,16,32,64,128,256,512,1024):&lt;br /&gt;        print "String size: %s" % size&lt;br /&gt;        winnertime = None&lt;br /&gt;        winner = None&lt;br /&gt;        for i in (classic, simpleSample, choice):&lt;br /&gt;            tf = 0&lt;br /&gt;            tmin = None&lt;br /&gt;            tmax = None&lt;br /&gt;            for j in xrange(times):&lt;br /&gt;                t0 = time()&lt;br /&gt;                text = i(chars, size)&lt;br /&gt;                t1 = time()&lt;br /&gt;                t = t1-t0&lt;br /&gt;                tf += t/times&lt;br /&gt;                if not tmin or t &lt; tmin:&lt;br /&gt;                    tmin = t&lt;br /&gt;                if not tmax or t &gt; tmax:&lt;br /&gt;                    tmax = t&lt;br /&gt;            #print "Algorithm: %s\nTime: %s\nGenerated: %s\n" % ( str(i), t1-t0, text )&lt;br /&gt;            print "  %s\n  (%fs, min %fs, max %fs)" % ( repr(i), tf, tmin, tmax )&lt;br /&gt;            if not winnertime or tf &lt; winnertime:&lt;br /&gt;                winnertime = tf&lt;br /&gt;                winner = i&lt;br /&gt;        print "  Winner: %s (%f seconds)" % (winner, winnertime)&lt;/pre&gt;&lt;p&gt;Los resultados serían, con mi AMD Sempron 1.6Ghz:&lt;/p&gt;&lt;pre name="code" class="bash"&gt;Random string generators comparison.&lt;br /&gt;Dictionary length: 62&lt;br /&gt;Times to test every algorithm: 100&lt;br /&gt;&lt;br /&gt;String size: 8&lt;br /&gt;  &amp;lt;function classic at 0xb7683614&amp;gt; (0.000224s, min 0.000037s, max 0.018489s)&lt;br /&gt;  &amp;lt;function simpleSample at 0xb7683ae4&amp;gt; (0.000025s, min 0.000023s, max 0.000069s)&lt;br /&gt;  &amp;lt;function choice at 0xb7683b1c&amp;gt; (0.000149s, min 0.000018s, max 0.013031s)&lt;br /&gt;  Winner: &amp;lt;function simpleSample at 0xb7683ae4&amp;gt; (0.000025 seconds)&lt;br /&gt;String size: 16&lt;br /&gt;  &amp;lt;function classic at 0xb7683614&amp;gt; (0.000187s, min 0.000070s, max 0.011462s)&lt;br /&gt;  &amp;lt;function simpleSample at 0xb7683ae4&amp;gt; (0.000035s, min 0.000033s, max 0.000070s)&lt;br /&gt;  &amp;lt;function choice at 0xb7683b1c&amp;gt; (0.000169s, min 0.000032s, max 0.013551s)&lt;br /&gt;  Winner: &amp;lt;function simpleSample at 0xb7683ae4&amp;gt; (0.000035 seconds)&lt;br /&gt;String size: 32&lt;br /&gt;  &amp;lt;function classic at 0xb7683614&amp;gt; (0.000151s, min 0.000135s, max 0.001198s)&lt;br /&gt;  &amp;lt;function simpleSample at 0xb7683ae4&amp;gt; (0.000317s, min 0.000054s, max 0.026029s)&lt;br /&gt;  &amp;lt;function choice at 0xb7683b1c&amp;gt; (0.000064s, min 0.000062s, max 0.000098s)&lt;br /&gt;  Winner: &amp;lt;function choice at 0xb7683b1c&amp;gt; (0.000064 seconds)&lt;br /&gt;String size: 64&lt;br /&gt;  &amp;lt;function classic at 0xb7683614&amp;gt; (0.000698s, min 0.000267s, max 0.017400s)&lt;br /&gt;  &amp;lt;function simpleSample at 0xb7683ae4&amp;gt; (0.000224s, min 0.000095s, max 0.008380s)&lt;br /&gt;  &amp;lt;function choice at 0xb7683b1c&amp;gt; (0.000268s, min 0.000116s, max 0.013866s)&lt;br /&gt;  Winner: &amp;lt;function simpleSample at 0xb7683ae4&amp;gt; (0.000224 seconds)&lt;br /&gt;String size: 128&lt;br /&gt;  &amp;lt;function classic at 0xb7683614&amp;gt; (0.001032s, min 0.000529s, max 0.021555s)&lt;br /&gt;  &amp;lt;function simpleSample at 0xb7683ae4&amp;gt; (0.000198s, min 0.000182s, max 0.001264s)&lt;br /&gt;  &amp;lt;function choice at 0xb7683b1c&amp;gt; (0.000534s, min 0.000229s, max 0.013713s)&lt;br /&gt;  Winner: &amp;lt;function simpleSample at 0xb7683ae4&amp;gt; (0.000198 seconds)&lt;br /&gt;String size: 256&lt;br /&gt;  &amp;lt;function classic at 0xb7683614&amp;gt; (0.001496s, min 0.001052s, max 0.014621s)&lt;br /&gt;  &amp;lt;function simpleSample at 0xb7683ae4&amp;gt; (0.000634s, min 0.000344s, max 0.017386s)&lt;br /&gt;  &amp;lt;function choice at 0xb7683b1c&amp;gt; (0.000928s, min 0.000451s, max 0.013740s)&lt;br /&gt;  Winner: &amp;lt;function simpleSample at 0xb7683ae4&amp;gt; (0.000634 seconds)&lt;br /&gt;String size: 512&lt;br /&gt;  &amp;lt;function classic at 0xb7683614&amp;gt; (0.003289s, min 0.002106s, max 0.023516s)&lt;br /&gt;  &amp;lt;function simpleSample at 0xb7683ae4&amp;gt; (0.001210s, min 0.000693s, max 0.014664s)&lt;br /&gt;  &amp;lt;function choice at 0xb7683b1c&amp;gt; (0.001481s, min 0.000901s, max 0.011516s)&lt;br /&gt;  Winner: &amp;lt;function simpleSample at 0xb7683ae4&amp;gt; (0.001210 seconds)&lt;br /&gt;String size: 1024&lt;br /&gt;  &amp;lt;function classic at 0xb7683614&amp;gt; (0.005419s, min 0.004200s, max 0.023496s)&lt;br /&gt;  &amp;lt;function simpleSample at 0xb7683ae4&amp;gt; (0.002135s, min 0.001389s, max 0.014853s)&lt;br /&gt;  &amp;lt;function choice at 0xb7683b1c&amp;gt; (0.002663s, min 0.001804s, max 0.013014s)&lt;br /&gt;  Winner: &amp;lt;function simpleSample at 0xb7683ae4&amp;gt; (0.002135 seconds)&lt;/pre&gt;&lt;p&gt;Por otro lado, en &lt;a href="http://stackoverflow.com/questions/785058/random-strings-in-python-2-6-is-this-ok"&gt;una entrada de stakoverflow&lt;/a&gt;, &lt;a href="http://stackoverflow.com/users/64941/mikelikespie"&gt;mikelikespie&lt;/a&gt; aporta el código siguiente.&lt;/p&gt;&lt;pre name="code" class="python"&gt;def rand1(leng):&lt;br /&gt;    nbits = leng * 6 + 1&lt;br /&gt;    bits = random.getrandbits(nbits)&lt;br /&gt;    uc = u"%0x" % bits&lt;br /&gt;    newlen = (len(uc) / 2) * 2 # we have to make the string an even length&lt;br /&gt;    ba = bytearray.fromhex(uc[:newlen])&lt;br /&gt;    return base64.urlsafe_b64encode(str(ba))[:leng]&lt;/pre&gt;&lt;p&gt;Este último algoritmo desbanca sin dificultad a simpleSample, salvo con cadenas de 8 bytes (los cálculos iniciales no compensa en ese caso), en las mismas condiciones que los anteriores, pero que no permite controlar, exactamente, que diccionario de caracteres queremos para la cadena aleatoria generada, ya que el base64 de Python utiliza caracteres de la A a la Z (mayúsculas y minúsculas), dígitos del 0 al 9, / y + (o - y _ si especificamos que sea seguro para urls), y el carácter = como relleno.&lt;/p&gt;&lt;p&gt;No se con lo que me quedaré al final, pero supongo que la enorme diferencia de rendimiento del último podría compensar la falta de flexibilidad en determinados casos.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-9104890671151683169?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/9104890671151683169/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/03/python26-generar-strings-aleatorios.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/9104890671151683169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/9104890671151683169'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/03/python26-generar-strings-aleatorios.html' title='Python2.6: Generar strings aleatorios'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-7226188672842464328</id><published>2010-03-06T08:00:00.001Z</published><updated>2010-03-15T12:19:29.215Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='programación'/><title type='text'>Control de versiones</title><content type='html'>&lt;img src="http://lh5.ggpht.com/_XUj14gVcgSo/S5ERiio5wuI/AAAAAAAAEqY/zOxzIOuX6-w/Revision_controlled_project_visualization-2010-24-02.png" style="border:0;float:right;width:200px;height:521px;" alt="Ejemplo de árbol de versiones"/&gt;&lt;p&gt;La gente que nos dedicamos al desarrollo de software requerimos constantemente el manipular varias versiones del mismo código, o colaborar activamente con otros desarrolladores en el desarrollo de las aplicaciones. En este último caso, puede darse comúnmente que varias personas escriban código incompatible entre sí, a causa de sobrescribir el trabajo de otros o trabajar sobre versiones antiguas de dicho código.&lt;/p&gt;&lt;p&gt;Para evitar esto, existen los llamados sistemas de control de versiones o de gestión de código fuente (SCM, de sus siglas en inglés), como SVN, GIT, CVS, Mercurial, etc.&lt;/p&gt;&lt;p&gt;Pero ¿Cómo funcionan? Resumiendo mucho, se podría decir que alguien crea un repositorio de código, y todos los programadores actualizan sus versiones desde allí, trabajan con el código, y lo vuelven a subir al repositorio.&lt;/p&gt;&lt;p&gt;Estos sistemas ya se encargarán de notificar posibles problemas de ediciones del mismo fichero (si no se han modificado las mismas líneas, el sistema detecta los cambios y los fusiona), intentos de subir versiones antiguas, o fusionar varias ramas de desarrollo paralelas.&lt;/p&gt;&lt;p&gt;A mí, personalmente, me encanta SVN, que es el sistema que ofrecen los servidores gratuitos (para código abierto) &lt;a href="http://code.google.com"&gt;code.google.com&lt;/a&gt;, &lt;a href="http://sourceforge.net/"&gt;sourceforge.net&lt;/a&gt;, aunque también existen Git, con &lt;a href="http://www.github.com"&gt;github.com&lt;/a&gt;, Bazaar con &lt;a href="http://launchpad.com"&gt;launchpad.com&lt;/a&gt;, sólo por citar unos ejemplos.&lt;/p&gt;&lt;p&gt;Para empezar a usarlos, deberemos crearnos una cuenta para dichos servicios, y descargar una aplicación cliente que se encargará de comunicar los ficheros que modifiquemos localmente con los del servidor. Mi preferida es, sin duda, &lt;a href="http://rapidsvn.org"&gt;RapidSVN&lt;/a&gt;. Configuraremos una copia local, en la que haremos &lt;em&gt;Checkout&lt;/em&gt; para bajarnos los archivos, programar normalmente con nuestro editor de toda la vida, y cuando terminemos añadiremos los nuevos que hayamos creados y los subiremos, junto con los modificados, al servidor, usando la misma aplicación.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_XUj14gVcgSo/S5EO_PKW40I/AAAAAAAAEpw/07bEzvYCZEs/s1600-h/rapidsvn.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 279px;" src="http://2.bp.blogspot.com/_XUj14gVcgSo/S5EO_PKW40I/AAAAAAAAEpw/07bEzvYCZEs/s400/rapidsvn.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5445149904032162626" /&gt;&lt;/a&gt;&lt;p&gt;Aunque bueno, como muchas otras cosas, en la variedad está el gusto. De hecho, tanto &lt;a href="http://netbeans.org/"&gt;NetBeans&lt;/a&gt; como &lt;a href="http://www.eclipse.org/"&gt;Eclipse&lt;/a&gt; disponen de clientes SVN integrados, pero personalmente prefiero las aplicaciones sencillas que simplemente cumplen su cometido a los grandes del todo incluido.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Créditos:&lt;/strong&gt; La imagen de las ramas &lt;a href="http://en.wikipedia.org/wiki/File:Revision_controlled_project_visualization-2010-24-02.svg"&gt;ha sido robada vilmente de la Wikipedia&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-7226188672842464328?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/7226188672842464328/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/03/control-de-versiones.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/7226188672842464328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/7226188672842464328'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/03/control-de-versiones.html' title='Control de versiones'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_XUj14gVcgSo/S5ERiio5wuI/AAAAAAAAEqY/zOxzIOuX6-w/s72-c/Revision_controlled_project_visualization-2010-24-02.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-6950768178607976485</id><published>2010-03-05T08:00:00.003Z</published><updated>2010-03-08T12:07:03.705Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='juegos'/><title type='text'>Mechanical Tower</title><content type='html'>&lt;p&gt;Hoy es viernes: viernes de vicio. Y por eso hoy os enseño el juego más adictivo, con diferencia, de todos los que he jugado nunca.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_j9zteU9csE8/S47nccRB7EI/AAAAAAAAADo/zJXy4WsFV8M/s1600-h/Pantallazo-Ventana+sin+t%C3%ADtulo-1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://3.bp.blogspot.com/_j9zteU9csE8/S47nccRB7EI/AAAAAAAAADo/zJXy4WsFV8M/s400/Pantallazo-Ventana+sin+t%C3%ADtulo-1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5444543475347483714" /&gt;&lt;/a&gt;&lt;p&gt;Mechanical Tower es un juego del tipo "defender la torre". Para ello dispondremos de créditos limitados, que se incrementarán mientras destruimos enemigos, que servirán para construir las defensas que se encargarán de eliminarlos. Ellos serán muchos, cada vez más numerosos, resistentes y, sobre todo, persistentes.&lt;/p&gt;&lt;p&gt;Conforme vamos avanzando y acabando con las oleadas de enemigos, podremos aplicar diversas mejoras a las trampas, dispondremos de más "pisos" que los enemigos deberán recorrer, y nosotros llenar de obstáculos, para acabar con ellos antes de que ellos lo hagan con nosotros.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_j9zteU9csE8/S47nb_y0wyI/AAAAAAAAADg/2dfTwzTfBz0/s1600-h/Pantallazo-Ventana+sin+t%C3%ADtulo.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://4.bp.blogspot.com/_j9zteU9csE8/S47nb_y0wyI/AAAAAAAAADg/2dfTwzTfBz0/s400/Pantallazo-Ventana+sin+t%C3%ADtulo.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5444543467704599330" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;Podéis descargarlo en su &lt;a href="http://www.tdb.fi/mechtower.shtml"&gt;página web&lt;/a&gt;, listo para descomprimir y jugar (si os va lento, lanzadlo con --lowgfx, y usará efectos de partículas en vez de volumétricos para las explosiones).&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-6950768178607976485?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/6950768178607976485/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/03/mechanical-tower.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/6950768178607976485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/6950768178607976485'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/03/mechanical-tower.html' title='Mechanical Tower'/><author><name>Conxura</name><uri>http://www.blogger.com/profile/01315463064316936804</uri><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/_j9zteU9csE8/S47nccRB7EI/AAAAAAAAADo/zJXy4WsFV8M/s72-c/Pantallazo-Ventana+sin+t%C3%ADtulo-1.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-5869405652540656332</id><published>2010-03-04T08:00:00.001Z</published><updated>2010-03-04T08:00:04.472Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='xhtml'/><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='programación'/><category scheme='http://www.blogger.com/atom/ns#' term='css'/><title type='text'>Utilidades imprescindibles para desarrollo web</title><content type='html'>&lt;p&gt;A la hora de meteros en el mundo del desarrollo web, muchos optan por grandes entornos de programación, otros nos contentamos con simples editores con resaltado de sintaxis, pero todos necesitamos de herramientas para comprobar errores en el código final, tanto en el CSS, XHTML e incluso Javascript que generen nuestros proyectos, y ahí entran en juego las siguientes utilidades.&lt;/p&gt;&lt;dl&gt;&lt;dt&gt;&lt;a href="https://addons.mozilla.org/es-ES/firefox/addon/60"&gt;Web developer&lt;/a&gt; toolbar (Firefox)&lt;/dt&gt;&lt;dd&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_XUj14gVcgSo/S4509yEIYLI/AAAAAAAAEo4/LkIxSTJmC-U/s1600-h/devtoolbar.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 224px;" src="http://4.bp.blogspot.com/_XUj14gVcgSo/S4509yEIYLI/AAAAAAAAEo4/LkIxSTJmC-U/s400/devtoolbar.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5444417604297449650" /&gt;&lt;/a&gt;Web developer toolbar es una extensión que agrega una barra a Mozilla Firefox, con la que se puede validar el código, desactivar ciertas funcionalidades del navegador, facilitar el ver los elementos de la página... Muy útil para comprobar la calidad del resultado, la accesibilidad, y que el Javascript no es obstrusivo.&lt;/dd&gt;&lt;dt&gt;&lt;a href="https://addons.mozilla.org/es-ES/firefox/addon/1843"&gt;FireBug&lt;/a&gt; (Firefox)&lt;/dt&gt;&lt;dd&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_XUj14gVcgSo/S450-er-pmI/AAAAAAAAEpI/oeITmeht33Y/s1600-h/firebug.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 124px;" src="http://4.bp.blogspot.com/_XUj14gVcgSo/S450-er-pmI/AAAAAAAAEpI/oeITmeht33Y/s400/firebug.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5444417616275744354" /&gt;&lt;/a&gt;La más famosa utilidad de este tipo. Permite analizar el código tanto HTML como CSS y editarlos en tiempo real, y hacer &lt;em&gt;debug&lt;/em&gt; de Javascript usando puntos de interrupción, observando variables, etc. Además de poder ver y analizar, en tiempo real, las peticiones al servidor. Es un devorador recursos y hace algunas cosas de forma poco ortodoxa, pero es un imprescindible.&lt;/dd&gt;&lt;dt&gt;Developer tools (incluido en navegadores webkit)&lt;/dt&gt;&lt;dd&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_XUj14gVcgSo/S450-PJbgRI/AAAAAAAAEpA/7m9jrLCnCqs/s1600-h/devtools.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 297px;" src="http://4.bp.blogspot.com/_XUj14gVcgSo/S450-PJbgRI/AAAAAAAAEpA/7m9jrLCnCqs/s400/devtools.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5444417612104302866" /&gt;&lt;/a&gt;Dependiendo del navegador puede funcionar bien o no, pero pasa a ser, junto con FireBug, una de las herramientas más potentes, con análisis y edición del marcado y sintaxis de HTML y CSS, además de un completo &lt;em&gt;debugger&lt;/em&gt; para Javascript (aunque yo sigo prefiriendo el de FireBug). También dispone de análisis de peticiones a servidor, cookies, etc.&lt;/dd&gt;&lt;/dl&gt;&lt;p&gt;Además, no puedo dejar de recomendar las siguientes utilidades web para ayudaros a trabajar con javascript.&lt;/p&gt;&lt;dl&gt;&lt;dt&gt;&lt;a href="https://www.squarefree.com/shell/"&gt;Javascript Shell&lt;/a&gt; y &lt;a href="https://www.squarefree.com/jsenv/"&gt;Javascript Development Environment&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;Un intérprete interactivo para javascript, cuyo &lt;em&gt;bookmarklet&lt;/em&gt; lo abre utilizando la página actual como ámbito, y un editor de Javascript, algo limitado, pero que permite ejecutar directamente el código editado en el intérprete del navegador.&lt;/dd&gt;&lt;dt&gt;&lt;a href="http://www.jslint.com/"&gt;JSLint&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;Utilidad que valida la calidad del código javascript, comprobación de errores, e incluye un modo de calidad de la sintaxis.&lt;/dd&gt;&lt;/dl&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-5869405652540656332?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/5869405652540656332/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/03/utilidades-imprescindibles-para.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/5869405652540656332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/5869405652540656332'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/03/utilidades-imprescindibles-para.html' title='Utilidades imprescindibles para desarrollo web'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_XUj14gVcgSo/S4509yEIYLI/AAAAAAAAEo4/LkIxSTJmC-U/s72-c/devtoolbar.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-877891856594270971</id><published>2010-03-03T08:00:00.012Z</published><updated>2010-03-15T14:21:42.048Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='programación'/><title type='text'>Eventos Javascript multinavegador</title><content type='html'>&lt;p&gt;&lt;strong&gt;Editado 15.03.2010: He eliminado el soporte específico a navegadores no estándares. No obstante, en dichos navegadores seguirá funcionando gracias al código general para navegadores antiguos.&lt;/strong&gt; Además, se ha añadido una función para facilitar el añadir eventos que sólo se ejecuten una vez (ver más abajo). Las descargas están actualizadas.&lt;/p&gt;&lt;p&gt;Siempre que me dedico a diseñar interfaces asistidas con javascript, me encuentro con el mismo problema: ¿cómo manejar los eventos eficientemente y mantener la compatibilidad multinavegador?&lt;/p&gt;&lt;p&gt;La solución sencilla, y la más compatible&lt;sup&gt;1&lt;/sup&gt; (DOM 0), consiste en los atributos de evento, como &lt;em&gt;onclick&lt;/em&gt; u &lt;em&gt;onmouseover&lt;/em&gt;, pero tiene serias limitaciones: sólo admite una función (aunque podemos concatenar varias), y si optamos por concatenar funciones ni podríamos eliminar alguna, aparte de que la cancelación de eventos con &lt;em&gt;return&lt;/em&gt; se vuelve una pesadilla.&lt;/p&gt;&lt;p&gt;Sin embargo, los navegadores estándares (motores mozilla, webkit, khtml...) disponen de &lt;strong&gt;&lt;em&gt;elemento&lt;/em&gt;.addEventListener( nombre_evento, función, capturar )&lt;/strong&gt;, que simplifica mucho el proceso de asignar varias funciones y elegir si capturan el evento por completo con un booleano, junto con &lt;strong&gt;&lt;em&gt;elemento&lt;/em&gt;.removeEventListener( nombre_evento, función,  capturaba )&lt;/strong&gt; para borrar funciones asignadas al elemento.&lt;/p&gt;&lt;p&gt;Por otro lado, navegadores no estándares&lt;sup&gt;2&lt;/sup&gt; (motor trident) recurren a &lt;strong&gt;&lt;em&gt;elemento&lt;/em&gt;.attachEvent( &lt;em&gt;on&lt;/em&gt;evento, función )&lt;/strong&gt;, que funciona como addEventListener pero con nombres de eventos de HTML, y no permite establecer si se captura el evento o no, y para eliminar la función del evento tenemos &lt;strong&gt;&lt;em&gt;elemento&lt;/em&gt;.detachEvent( &lt;em&gt;on&lt;/em&gt;evento, función)&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Crear una función para simplificar el proceso de asignación y desasignación de funciones a eventos, que sirva para los tres casos anteriores, nos lleva a renunciar a la posibilidad de definir si el evento se captura al momento de asignarlo, pero aún queda la posibilidad de capturar el evento dentro de la función asignada.&lt;/p&gt;&lt;p&gt;Pero de nuevo, existe una forma estándar y varias no estándar de capturar el evento, además de que los navegadores más antiguos sólo lo detendrán si la función asignada retorna false. En este último caso tendremos la fortuna&lt;sup&gt;3&lt;/sup&gt; de que dichos navegadores tampoco aceptan las formas modernas de asignación.&lt;/p&gt;&lt;p&gt;Teniendo todo esto en cuenta, he malgastado unas preciosas horas de mi vida en diseñar tres útiles funciones auxiliares (que empezaré a usar en todos lados). Podéis &lt;a href="http://code.google.com/p/s26blog/downloads/detail?name=xbe_es.js"&gt;descargar este mismo código (3.2 KiB)&lt;/a&gt; a o &lt;a href="http://code.google.com/p/s26blog/downloads/detail?name=xbe_min.js"&gt;la versión minificada (1 KiB)&lt;/a&gt;.&lt;/p&gt;&lt;pre name="code" class="javascript"&gt;/* Mi función auxiliar preferida, recibe un nombre de propiedad&lt;br /&gt; * y un objeto, y retorna true o false dependiendo de si existe en&lt;br /&gt; * el objeto o no. Si no se recibe un objeto se asume window */&lt;br /&gt;function def(p,o){return (typeof((o||window)[p])!="undefined");}&lt;br /&gt;function attEvent(o,e,f){&lt;br /&gt;    /* Función de asignación de evento, recibe objeto, nombre de evento&lt;br /&gt;     * (p.ej. click, no onclick) y función de callback */&lt;br /&gt;    var w3="addEventListener",a="attachedEvents",cp="cancel",nf,of,nr;&lt;br /&gt;    if(def(w3,o)){o[w3](e,f,false);} // Estándar&lt;br /&gt;    else{ // Funcionalidad para navegadores antiguos&lt;br /&gt;        if(!def(a,o)){o[a]={};} // Objeto auxiliar&lt;br /&gt;        if(!def(e,o[a])){o[a][e]={};} // Objeto evento &lt;br /&gt;        if(!def(f,o[a][e])){ // No agregar dos veces la misma función&lt;br /&gt;            nf=function(){&lt;br /&gt;                /* Detección de funciones bloqueadas por detEvent:&lt;br /&gt;                 * si ha sido bloqueada, no se ejecuta la función */&lt;br /&gt;                if(o[a][e][f]){f.apply(this,arguments);}&lt;br /&gt;                };&lt;br /&gt;            nr=function(v){&lt;br /&gt;                // Retorna false si se ha ejecutado stopEvent&lt;br /&gt;                return !(def(cp,(v||window.event))&amp;&amp;(v[cp]==true));&lt;br /&gt;                };&lt;br /&gt;            if(o["on"+e]){&lt;br /&gt;                /* Si hay funciones previamente asignadas, asignamos&lt;br /&gt;                 * una función que las ejecutará junto con la nueva */&lt;br /&gt;                of=o["on"+e]; // Funciones previas&lt;br /&gt;                o["on"+e]=function(){&lt;br /&gt;                    // Ejecutamos:&lt;br /&gt;                    of.apply(this,arguments); // 1. funciones previas&lt;br /&gt;                    nf.apply(this,arguments); // 2. nueva función&lt;br /&gt;                    // Retornamos false si se ha ejecutado stopEvent&lt;br /&gt;                    return nr.apply(this,arguments);&lt;br /&gt;                    };&lt;br /&gt;                }&lt;br /&gt;            else{o["on"+e]=nf;} // Agregar la primera función&lt;br /&gt;            }&lt;br /&gt;        /* Asignamos 1 en la función para el evento, si el valor&lt;br /&gt;         * pasa a ser 0 (por detEvent), la función no se ejecutará */&lt;br /&gt;        o[a][e][f]=1;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;function attEventOnce(o,e,f){&lt;br /&gt;    attEvent(o,e,function(){&lt;br /&gt;        f.apply(this,arguments);&lt;br /&gt;        detEvent(this,e,arguments.callee); &lt;br /&gt;        });&lt;br /&gt;    }&lt;br /&gt;function detEvent(o,e,f){&lt;br /&gt;    /* Función de desasignación de evento, recibe objeto, nombre de&lt;br /&gt;     * evento, y función a eliminar (o bloquear en el último caso) */&lt;br /&gt;    var w3="removeEventListener",a="attachedEvents";&lt;br /&gt;    if(def(w3,o)){o[w3](e,f,false);} // Estándar&lt;br /&gt;    else if(def(a,o)&amp;&amp;def(e,o[a])&amp;&amp;def(f,o[a][e])){&lt;br /&gt;        // Modo para navegadores antiguos (no borra, sólo desactiva)&lt;br /&gt;        o[a][e][f]=0;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;function stopEvent(e){&lt;br /&gt;    /* Función de detención de eventos, recibe la instancia del evento&lt;br /&gt;     * por parámetro. */&lt;br /&gt;    var w3="stopPropagation",mz="preventDefault",e=(e||window.event);&lt;br /&gt;    /* Para navegadores que cumplen los estándares */&lt;br /&gt;    if(def(w3,e)){e[w3]();}&lt;br /&gt;    /* Evitamos la acción por defecto (mozilla) */&lt;br /&gt;    if(def(mz,e)){e[mz]();}&lt;br /&gt;    /* Para navegadores antiguos y no estándares: establecemos cancel y&lt;br /&gt;     * cancelBubble a true, returnValue a false, y retornamos false&lt;br /&gt;     * por si queremos usarlo en eventos asignados directamente. */&lt;br /&gt;    return e.returnValue=!(e.cancel=e.cancelBubble=true);&lt;br /&gt;    }&lt;/pre&gt;&lt;p&gt;Usando estos métodos, agregar varias funciones al mismo evento sería bastante simple.&lt;/p&gt;&lt;pre name="code" class="javascript"&gt;attEvent(window,"load",function(){alert("Primera vez.");});&lt;br /&gt;attEvent(window,"load",function(){alert("Segunda vez.");});&lt;/pre&gt;&lt;p&gt;O incluso podríamos asignar una función que se desasignara a sí misma y detuviera el evento cuando se ejecutase.&lt;/p&gt;&lt;pre name="code" class="javascript"&gt;attEvent(document,"click",function(e){&lt;br /&gt;    alert("¡Cliclí por primera vez, capturado!");&lt;br /&gt;    // Desasignamos la propia función (callee) del elemento (this)&lt;br /&gt;    detEvent(this,"click", arguments.callee); &lt;br /&gt;    // Detenemos el evento&lt;br /&gt;    stopEvent(e); &lt;br /&gt;    });&lt;/pre&gt;&lt;strong&gt;Editado 15.03.2010:&lt;/strong&gt; Ahora existe la posibilidad, a petición popular, de añadir eventos de un sólo uso de forma más sencilla: con attEventOnce.&lt;/p&gt;&lt;pre name="code" class="javascript"&gt;attEventOnce(document,"click",function(){&lt;br /&gt;    alert("¡Cliclí una única vez (sin capturar)!");&lt;br /&gt;});&lt;/pre&gt;&lt;p&gt;Sí, ya sé que frameworks mastodónticos, como jQuery o Mootools, ya han ideado formas de hacer todo esto, listas para usar, pero ¿qué tiene eso de divertido?&lt;/p&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Hay que decirlo: Chrome "se olvida" de los &lt;em&gt;onsubmit&lt;/em&gt; de los formularios.&lt;/li&gt;&lt;li&gt;Es tan obvio cuál que, tal cual, obviaré su nombre.&lt;/li&gt;&lt;li&gt;Muy relativo todo, eso sí.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Créditos:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="https://developer.mozilla.org/en/DOM/element.addEventListener"&gt;Mozilla Developer Center&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Inspirado en el &lt;a href="http://phrogz.net/js/AttachEvent_js.txt"&gt;horrible código&lt;/a&gt; de &lt;a href="http://phrogz.net"&gt;Gavin Kistner&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-877891856594270971?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/877891856594270971/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/03/eventos-javascript-multinavegador.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/877891856594270971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/877891856594270971'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/03/eventos-javascript-multinavegador.html' title='Eventos Javascript multinavegador'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-4982625353187230217</id><published>2010-03-02T08:00:00.007Z</published><updated>2010-03-02T14:04:12.086Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='cosas sin importancia'/><title type='text'>Febrero ha acabado</title><content type='html'>&lt;p&gt;Ha finalizado el mes febrero, y con él un pequeño experimento: publicar una entrada diaria.&lt;/p&gt;&lt;p&gt;Después del &lt;a href="/2010/02/cerramos-en-enero-reabrimos-en-febrero.html"&gt;cierre en enero&lt;/a&gt;, me pregunté si las estadísticas variarían sensiblemente multiplicando por 7 el número de entradas publicadas al mes, con el aliciente de tener contenido nuevo todos los días.&lt;/p&gt;&lt;p&gt;Puede parecer lógico, sobre el papel, el aumento, al fin y al cabo a mayor contenido mayor posibilidad de ser enlazado y más páginas en los motores de búsqueda. Pero teniendo en cuenta que el 90% de las visitas nuevas vienen buscando los tutoriales, razón por la cual mantengo un índice, me preguntaba si dicho porcentaje variaría. Y no lo ha hecho (salvo por el puntual &lt;a href="http://www.meneame.net/story/quien-invento-el-blu-ray"&gt;meneo de Conxura&lt;/a&gt;).&lt;/p&gt;&lt;p style="text-align:center"&gt;&lt;img style="width:644px;height:146px;" src="http://lh5.ggpht.com/_XUj14gVcgSo/S4u2hZ98NEI/AAAAAAAAEoU/dYa8ZMFY2uE/grafico.png" alt=""/&gt;&lt;/p&gt;&lt;p&gt;Conclusión: Publicar juegos, programas, consejos, y artículos sobre programación (sección recién estrenada) no incrementan la relevancia del blog. Los tutoriales sí, lo que lleva a otra pregunta.&lt;/p&gt;&lt;p&gt;¿De verdad hay tanta gente con problemas?&lt;/p&gt;&lt;p&gt;&lt;strong&gt;La frase&lt;/strong&gt;&lt;/p&gt;&lt;blockquote&gt;Lo importante es no dejar de hacerse preguntas.&lt;/blockquote&gt;&lt;p&gt;(&lt;a href="http://es.wikipedia.org/wiki/Einstein"&gt;Albert Einstein&lt;/a&gt;)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-4982625353187230217?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/4982625353187230217/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/03/febrero-ha-acabado.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/4982625353187230217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/4982625353187230217'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/03/febrero-ha-acabado.html' title='Febrero ha acabado'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_XUj14gVcgSo/S4u2hZ98NEI/AAAAAAAAEoU/dYa8ZMFY2uE/s72-c/grafico.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-7003988543514114455</id><published>2010-03-01T08:00:00.004Z</published><updated>2010-03-20T18:54:03.972Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sucesos'/><title type='text'>Gmail registra y censura tus adjuntos</title><content type='html'>&lt;p&gt;Google lo ha hecho: me ha sacado de mis casillas.&lt;/p&gt;&lt;p&gt;Intentando mandar un fichero de Abiword adjuntado por correo electrónico, el destinatario me avisó de que no le estaban llegando. Reenvié, igual, ningún mensaje de error, y  no llegaban (luego descubrí que la culpa es de Chromium).&lt;/p&gt;&lt;p&gt;Meto el fichero .abw en un zip, envío, y ¡tachán! mensaje de error.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_XUj14gVcgSo/S4qD8KfJybI/AAAAAAAAEnk/OrofglXyj5A/s1600-h/um.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 228px;" src="http://2.bp.blogspot.com/_XUj14gVcgSo/S4qD8KfJybI/AAAAAAAAEnk/OrofglXyj5A/s400/um.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5443308169261074866" /&gt;&lt;/a&gt;&lt;p&gt;¡Que no me deja enviar un fichero adjunto! ¡Que han registrado el fichero y creen que un documento de abiword es un ejecutable de windows! ¡Que para proteger a los idiotas que usan ese sistema inseguro no me dejan enviar lo que me sale de mis santos cojones!&lt;/p&gt;&lt;p&gt;Supongo que aunque sea inevitable que los de la NSA, la CIA, y demás registren nuestros correos, pero que algún lumbreras crea que nos protege con un algoritmo que registre mis adjuntos (y confunda un fichero de abiword con un virus) me parece impresentable. Yo alucino.&lt;/p&gt;&lt;p&gt;Conclusiones:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Abiword es el enemigo público número uno, hay que bloquearlo a toda costa, y Google viene a protegernos.&lt;/li&gt;&lt;li&gt;Es hora de empezar a cifrar los correos con PGP. Y yo que tachaba de paranoico a más de uno...&lt;/li&gt;&lt;li&gt;Como decían en &lt;a href="http://es.wikipedia.org/wiki/Los_Justicieros"&gt;Los Justicieros&lt;/a&gt;: Quien a buen árbol se arrima, buena horca le cobija.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;PD:&lt;/strong&gt; Y sí, ya les envié un reporte nada agradable quejándome de lo sucedido.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-7003988543514114455?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/7003988543514114455/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/03/gmail-registra-y-censura-tus-adjuntos.html#comment-form' title='5 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/7003988543514114455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/7003988543514114455'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/03/gmail-registra-y-censura-tus-adjuntos.html' title='Gmail registra y censura tus adjuntos'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_XUj14gVcgSo/S4qD8KfJybI/AAAAAAAAEnk/OrofglXyj5A/s72-c/um.png' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-2210553368674034566</id><published>2010-02-28T08:00:00.002Z</published><updated>2010-02-28T08:00:01.797Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='descargas'/><category scheme='http://www.blogger.com/atom/ns#' term='programas'/><title type='text'>reKonq</title><content type='html'>&lt;img style="float:right; margin:0 0 10px 10px;border:0;width: 128px; height: 128px;" src="http://1.bp.blogspot.com/_XUj14gVcgSo/S4klWgQbStI/AAAAAAAAEnc/QNBxnGNN3YQ/s400/hi128-app-rekonq.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5442922693200136914" /&gt;&lt;p&gt;ReKonq es lo que Konqueror nunca debió dejar de ser, un moderno navegador para KDE4.&lt;/p&gt;&lt;p&gt;Utilizando el motor webkit, en vez de KHTML, es mucho más rápido y moderno, además de incluir sus geniales herramientas para desarrolladores. Importa los marcadores de Konqueror, y en vez de éste es fácil de configurar y tiene una interfaz muy clara y limpia.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_XUj14gVcgSo/S4kec_at9UI/AAAAAAAAEm8/t5_B3ZI-0uc/s1600-h/Pantallazo-s.26.blog+-+rekonq.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 298px;" src="http://4.bp.blogspot.com/_XUj14gVcgSo/S4kec_at9UI/AAAAAAAAEm8/t5_B3ZI-0uc/s400/Pantallazo-s.26.blog+-+rekonq.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5442915108062623042" /&gt;&lt;/a&gt;&lt;p&gt;Por cierto, se ve que KDE4 sigue, en Ubuntu, plagado de Bugs. De modo que si os gusta este escritorio os aconsejaré que &lt;a href="http://tobal.cymaho.com/?p=1215"&gt;hagáis como Cristóbal de Linux Music&lt;/a&gt; pasándoos a &lt;a href="http://www.mandriva.com/"&gt;Mandriva&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Si sois de esos que os gustan las aplicaciones de QT4 en escritorios GTK pero os molesta su apariencia, &lt;a href="/2009/01/aplicaciones-qt-integradas-con-gtk.html"&gt;tenéis un tutorial para que adopten el estilo del escritorio&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;La versión 0.3 está en backports y la 0.2 en universe de Ubuntu Karmic. Su página web es &lt;a href="http://rekonq.sourceforge.net/"&gt;rekonq.sourceforge.net&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-2210553368674034566?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/2210553368674034566/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/02/rekonq.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/2210553368674034566'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/2210553368674034566'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/02/rekonq.html' title='reKonq'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_XUj14gVcgSo/S4klWgQbStI/AAAAAAAAEnc/QNBxnGNN3YQ/s72-c/hi128-app-rekonq.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-8625597028331281144</id><published>2010-02-27T08:00:00.002Z</published><updated>2010-03-01T11:57:14.192Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='django'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='programación'/><title type='text'>Jugando con __getattribute__ y Django</title><content type='html'>&lt;p&gt;Siguiento &lt;a href="/2010/02/pseudoclases-en-tiempo-de-ejecucion-con.html"&gt;mi pequeño experimento de pseudoclases-dicionario&lt;/a&gt; para facilitarme la vida con Django, se me ocurrió una forma de poder establecer y recoger valores de variable directamente desde las plantillas de Django.&lt;/p&gt;&lt;p&gt;El motor de plantillas de Django, por una acertada decisión de diseño, hizo a bien de no incluir la posibilidad de establecer variables o ejecutar métodos en su motor de plantillas, al igual que ocurre por ejemplo con Smarty (motor de plantillas para PHP).&lt;/p&gt;&lt;p&gt;Sin embargo, dada la gran potencia de Python, existe una forma de hacerlo, muy limitada pero efectiva, sobrecargando el método __getattribute__ .&lt;/p&gt;&lt;pre name="code" class="python"&gt;# Importamos compile del modulo de expresiones regulares&lt;br /&gt;from re import compile as rec&lt;br /&gt;&lt;br /&gt;# Declaramos la expresion regular que identifica los nombres de propiedad&lt;br /&gt;gs = rec("^(get_(.*))|(set_(.*)_(.*))|(setn_(.*)_(\d+))|(setb_(.*)_(true|True|false|False|0|1|-1))$")&lt;br /&gt;class Strangelet(dict):&lt;br /&gt;    ''' Clase que permite la asignacion con nombres de propiedad '''&lt;br /&gt;    def __getattribute__(self,x):&lt;br /&gt;        # Sobrecargamos el metodo que pide los atributos&lt;br /&gt;        a = gs.match(x)&lt;br /&gt;        if a: # Si cumple la expresion regular&lt;br /&gt;            a=a.groups()&lt;br /&gt;            if a[0]:&lt;br /&gt;                # Primer caso, devolvemos valor&lt;br /&gt;                return dict.__getitem__(self, a[1])&lt;br /&gt;            elif a[2]:&lt;br /&gt;                # Segundo caso, establecemos valor como cadena&lt;br /&gt;                dict.__setitem__(self, a[3], a[4])&lt;br /&gt;            elif a[5]:&lt;br /&gt;                # Tercer caso, establecemos valor como entero&lt;br /&gt;                dict.__setitem__(self, a[6], int(a[7]))&lt;br /&gt;            elif a[8]:&lt;br /&gt;                # Cuarto caso, establecemos valor como booleano&lt;br /&gt;                # muy util para trabajar con los IF de Django&lt;br /&gt;                dict.__setitem__(self, a[9], a[10] in ("true","True","1","-1"))&lt;br /&gt;            # Retornamos cadena vacia, para no mostrar nada&lt;br /&gt;            return ""&lt;br /&gt;            # se podria retornar None, pero Django los muestra.&lt;br /&gt;        else:&lt;br /&gt;            # Si no se cumple la expresion regular, usamos el metodo heredado&lt;br /&gt;            return dict.__getattribute__(self,x)&lt;br /&gt;&lt;br /&gt;if __name__ == "__main__":&lt;br /&gt;    # Test de unidad&lt;br /&gt;    a = Strangelet()&lt;br /&gt;    a.setb_var_0&lt;br /&gt;    print a.get_var&lt;br /&gt;    a.setb_var_True&lt;br /&gt;    print a.get_var&lt;br /&gt;    a.setn_var_1&lt;br /&gt;    print a.get_var&lt;br /&gt;    a.set_text_EstoEsUnTexto&lt;br /&gt;    print a.get_text&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;Y podríamos usarlo para asignar variables en Django:&lt;/p&gt;&lt;pre name="code" class="xml"&gt;{{ instancia_strangelet.setn_variable_1 }}&lt;br /&gt;{% ifequal instancia_strangelet.get_variable 1 %}¡Es igual a uno!{% endifequal %}&lt;br /&gt;{{ instancia_strangelet.setb_variable_false }}&lt;br /&gt;{% if instancia_strangelet.get_variable %}No pasará por aquí.{% else %}¡Y ahora es False!{% endif %}&lt;/pre&gt;&lt;p&gt;Que en efecto mostraría:&lt;/p&gt;&lt;blockquote&gt;¡Es igual a uno! ¡Y ahora es False!&lt;/blockquote&gt;&lt;p&gt;Todo esto es posible porque Django respeta los __getattribute__ de las clases, al ser puramente Python. ¿Divertido, eh?&lt;/p&gt;&lt;p&gt;Python no tiene getters ni setters, pero ni falta que le hace.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Aviso que este experimento es sólo eso, un experimento&lt;/strong&gt;, no apto para entornos de producción o proyectos serios, y es una aberración contra la naturaleza tanto de Python como del motor de plantillas de Django. Pero es curioso, eso sí.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-8625597028331281144?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/8625597028331281144/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/02/jugando-con-getattribute-y-django.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/8625597028331281144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/8625597028331281144'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/02/jugando-con-getattribute-y-django.html' title='Jugando con __getattribute__ y Django'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-1528876651153883669</id><published>2010-02-26T08:00:00.002Z</published><updated>2010-02-26T08:00:06.986Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='descargas'/><category scheme='http://www.blogger.com/atom/ns#' term='juegos'/><title type='text'>XMoto</title><content type='html'>&lt;p&gt;He de confesar que este tipo de juegos no me resultan muy atractivos, pero me he animado comentarlo después de ver cómo lo disfrutando tanto mi padre (él mismo lo descubrió navegando por el Synaptic) como mi hermano, al que se lo instalé para que no sufriera con otro parecido en Flash con el penoso rendimiento del plugin de Adobe.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_XUj14gVcgSo/S4ZpHGOTZbI/AAAAAAAAEm0/kXEN0lucNeI/s1600-h/Xmoto01.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_XUj14gVcgSo/S4ZpHGOTZbI/AAAAAAAAEm0/kXEN0lucNeI/s400/Xmoto01.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5442152770374428082" /&gt;&lt;/a&gt;&lt;p&gt;XMoto es el clásico juego de motocross, en dos dimensiones, con tintes de plataformas, de los que llevan existiendo desde finales de los 80 (todavía me acuerdo de uno de carreras para la GameBoy). Destaca por su vistosidad y el motor de físicas, que hacen que tanto la moto como el conductor reaccionen a los impactos.&lt;/p&gt;&lt;p&gt;Tiene un decente apartado sonoro, pero lo que destaca es la gran cantidad de niveles y la oportunidad de descargar puntuaciones y nuevos niveles a través de internet, desde el mismo juego.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_XUj14gVcgSo/S4ZpG4H1UFI/AAAAAAAAEms/euJg48HCfjk/s1600-h/Screenshot0005.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_XUj14gVcgSo/S4ZpG4H1UFI/AAAAAAAAEms/euJg48HCfjk/s400/Screenshot0005.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5442152766589194322" /&gt;&lt;/a&gt;&lt;p&gt;La última versión a día de hoy, 0.5.2 se encuentra en los repositorios Universe de Ubuntu y en los repositorios oficiales de muchas otras.&lt;/p&gt;&lt;p&gt;La página web del proyecto está en &lt;a href="http://xmoto.tuxfamily.org/"&gt;xmoto.tuxfamily.org&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Créditos: &lt;/strong&gt; Las capturas del juego están sacadas de &lt;a href="http://wiki.xmoto.tuxfamily.org/index.php?title=Screenshots"&gt;la página web oficial de Xmot&lt;/a&gt;o.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-1528876651153883669?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/1528876651153883669/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/02/xmoto.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/1528876651153883669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/1528876651153883669'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/02/xmoto.html' title='XMoto'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_XUj14gVcgSo/S4ZpHGOTZbI/AAAAAAAAEm0/kXEN0lucNeI/s72-c/Xmoto01.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-2373895307185762532</id><published>2010-02-25T08:00:00.003Z</published><updated>2010-02-25T09:08:35.559Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='cultura libre'/><title type='text'>Daniel Bautista</title><content type='html'>&lt;p&gt;Tal vez no os suene su nombre, es normal, ni siquiera si eres de ese ínfimo porcentaje de canariones que visitan el blog. No me extraña. Daniel Bautista no es de esos señores que, idiotas de ellos, se convierten en esclavos de las mafias de explotación artístico-comercial: las mal llamadas productoras.&lt;/p&gt;&lt;p&gt;Este señor hace música, y bastante decente, que aprovecho pare recomendaros encarecidamente.&lt;/p&gt;&lt;div style="text-align:center;"&gt;&lt;div style="display:inline-block;width:600px;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_XUj14gVcgSo/S4RQPa301zI/AAAAAAAAEmk/MDHxMlSdRPE/s1600-h/s7320_disp512.jpg"&gt;&lt;img style="float:left;cursor:pointer;margin-right:10px; cursor:hand;width: 240px; height: 320px;" src="http://4.bp.blogspot.com/_XUj14gVcgSo/S4RQPa301zI/AAAAAAAAEmk/MDHxMlSdRPE/s320/s7320_disp512.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5441562475612133170" /&gt;&lt;/a&gt;&lt;object width="200" height="300" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" align="middle"&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;param name="wmode" value="transparent" /&gt;&lt;param name="movie" value="http://widgets.jamendo.com/es/album/?album_id=27602&amp;playertype=2008&amp;refuid=268973" /&gt;&lt;param name="quality" value="high" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed src="http://widgets.jamendo.com/es/album/?album_id=27602&amp;playertype=2008&amp;refuid=268973" quality="high" wmode="transparent" bgcolor="#FFFFFF" width="200" height="300" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"&gt;[Reproductor Jamendo]&lt;/embed&gt;&lt;/object&gt;&lt;div style="clear:both"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Podéis encontrar su música &lt;a href="http://www.jamendo.com/es/artist/daniel.bautista"&gt;en jamendo&lt;/a&gt; y en su &lt;a href="http://www.danielbautista.com"&gt;sitio web personal&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.gulic.org/node/1238"&gt;Vía Gulic.&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Nota:&lt;/strong&gt; Antes de que empecéis a reventarme el correo con peticiones para que haga propaganda de cualquier tipo, que sepáis que a este señor se la hago gratis porque: es linuxero de Gentoo, canario, &lt;a href="/2009/03/sobre-jamendo-y-pyjama.html"&gt;está en jamendo y publica su música bajo licencias libres&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-2373895307185762532?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/2373895307185762532/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/02/daniel-bautista.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/2373895307185762532'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/2373895307185762532'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/02/daniel-bautista.html' title='Daniel Bautista'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_XUj14gVcgSo/S4RQPa301zI/AAAAAAAAEmk/MDHxMlSdRPE/s72-c/s7320_disp512.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-7023077051045750186</id><published>2010-02-24T08:00:00.000Z</published><updated>2010-02-24T08:00:11.051Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='juegos'/><title type='text'>PokerTH</title><content type='html'>&lt;p&gt;Un genial juego de Póker Texas Hold'em, para jugar sólo, a través de Internet (usando sus servidores centralizados) o a través de LAN, aunque con éste último modo se puede jugar también a través de Internet redirigiendo los puertos del router.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_XUj14gVcgSo/S4Lq2j8wGkI/AAAAAAAAElo/f9InmM7M_No/s1600-h/Pantallazo-PokerTH+0.7.1+-+El+motor+de+Texas+Holdem+de+c%C3%B3digo+abierto.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 242px;" src="http://3.bp.blogspot.com/_XUj14gVcgSo/S4Lq2j8wGkI/AAAAAAAAElo/f9InmM7M_No/s400/Pantallazo-PokerTH+0.7.1+-+El+motor+de+Texas+Holdem+de+c%C3%B3digo+abierto.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5441169522900867650" /&gt;&lt;/a&gt;&lt;p&gt;Tiene miles de &lt;a href="http://www.pokerth.net/styles-gallery.html"&gt;temas gráficos&lt;/a&gt; para descargar, y es tremendamente divertido, pero sobretodo contra oponentes que sean capaz de pasar el test &lt;a href="http://en.wikipedia.org/wiki/Voight-Kampff_machine"&gt;Voight-Kampff&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pokerth.net/download.html"&gt;Instrucciones de descarga&lt;/a&gt; (incluyendo paquetes para ubuntu) en su página oficial&lt;a href="http://www.pokerth.net/"&gt; pokerth.net.&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-7023077051045750186?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/7023077051045750186/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/02/pokerth.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/7023077051045750186'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/7023077051045750186'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/02/pokerth.html' title='PokerTH'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_XUj14gVcgSo/S4Lq2j8wGkI/AAAAAAAAElo/f9InmM7M_No/s72-c/Pantallazo-PokerTH+0.7.1+-+El+motor+de+Texas+Holdem+de+c%C3%B3digo+abierto.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-2696126021139354397</id><published>2010-02-23T08:00:00.000Z</published><updated>2010-02-23T08:00:00.723Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='descargas'/><category scheme='http://www.blogger.com/atom/ns#' term='programas'/><title type='text'>Comix</title><content type='html'>&lt;img style="float:right; margin:0 0 10px 10px;border:0;width: 256px; height: 256px;" src="http://4.bp.blogspot.com/_XUj14gVcgSo/S4LeMhl1JDI/AAAAAAAAElY/-6tQ2O-uCz8/s400/comix256.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5441155606573818930" /&gt;&lt;p&gt;Comix es un útil visor de imágenes, especializado en la visualización de cómics.&lt;/p&gt;&lt;p&gt;Funciona a la perfección, y reconoce ZIP, TAR, y RAR (si unrar está instalado), con los que comúnmente se comprimen los ficheros .CBR, comúnmente usados por visores de cómics.&lt;/p&gt;&lt;p&gt;Incluye mil opciones de visualización, modo japonés para la página doble, zoom, navegador de páginas y colección...&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_XUj14gVcgSo/S4Lf2CcUHVI/AAAAAAAAElg/RbnEAAVkZNM/s1600-h/Pantallazo-%5B1,2+-+30%5D++2000AD_1669__27-01-10___John_Williams-DCP_.cbr+-+Comix-1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 280px;" src="http://1.bp.blogspot.com/_XUj14gVcgSo/S4Lf2CcUHVI/AAAAAAAAElg/RbnEAAVkZNM/s400/Pantallazo-%5B1,2+-+30%5D++2000AD_1669__27-01-10___John_Williams-DCP_.cbr+-+Comix-1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5441157419278540114" /&gt;&lt;/a&gt;&lt;p&gt;Página web: &lt;a href="http://comix.sourceforge.net/"&gt;comix.sourceforge.net&lt;/a&gt;&lt;/p&gt;&lt;p&gt;La versión 4.0.4 (la última a día de este artículo) está en los repositorios.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-2696126021139354397?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/2696126021139354397/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/02/comix.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/2696126021139354397'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/2696126021139354397'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/02/comix.html' title='Comix'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_XUj14gVcgSo/S4LeMhl1JDI/AAAAAAAAElY/-6tQ2O-uCz8/s72-c/comix256.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-4843574730308019439</id><published>2010-02-22T10:00:00.003Z</published><updated>2010-02-25T09:20:25.391Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='cosas sin importancia'/><title type='text'>¿Netbook o subnotebook?</title><content type='html'>&lt;img src="http://lh3.ggpht.com/_XUj14gVcgSo/SVk5hxQK87I/AAAAAAAADTM/uElp4ko5bU0/kscreensaver.png" style="border:0;float:left;width:128px;height:128px;"/&gt;&lt;p&gt;Lejos de debates absurdos sobre el tamaño de la pantalla o del teclado, y sus posibles problemas de ergonomía, cuando desde hace años existen dispositivos mucho más reducidos, que permiten hablar con gente a distancia y sin cables, y reciben el nombre de teléfonos móviles.&lt;/p&gt;&lt;p&gt;Mucho ha cambiado desde que los netbooks, ultraportátiles o microportátiles irrumpieron el mercado hace año y medio, alentados por el Atom de Intel. Ciertamente podrían haber optado por un procesador ARM que con mucho menos consumo consigue mejores resultados, pero claro, ciertos usuarios ignorantes no podrían comprender porqué ciertos programas estúpidos no funcionan en su cacharro recién comprado.&lt;/p&gt;&lt;p&gt;Intel Atom es lento, muy lento, excesivamente lento. Y por limitaciones impuestas por Intel, sólo puede emparejarse con chips gráficos muy antiguos, al menos hasta que Nvidia sacó al mercado su propia placa base integrada para Atom, la Nvidia ION.&lt;/p&gt;&lt;p&gt;Pero, ¿de verdad necesitáis un portátil de 5,6 o 9 pulgadas con la potencia de una tostadora? Volved a leer la pregunta. Hacedlo otra vez. ¿Y porqué en vez de uno de 9 pulgadas os hacéis con un portátil de 10 u 11 pulgadas?&lt;/p&gt;&lt;p&gt;Si atendemos al precio, mirando concienzudamente las especificaciones de un netbook y un subnotebook, nos damos cuenta de que el precio es muy similar, teniendo en cuenta que el netbook usará Atom y el subnotebook un procesador irremediablemente mejor, al igual que sucederá con sus chips gráficos, y su cantidad de memoria RAM.&lt;/p&gt;&lt;img src="http://lh4.ggpht.com/_XUj14gVcgSo/SsDPFI__6EI/AAAAAAAAEIE/9jOAslC_nkA/ASONE_751.png" style="display:block;border:0;margin:0 auto;width:245px;height:163px;"/&gt;&lt;p&gt;A todo esto hay que sumar que, aunque al principio era relativamente fácil encontrar un netbook con Linux, normalmente de la más baja gama, a raíz del lanzamiento de Hasefroch-Vista-pero-con-la-barra-más-grande, y por presiones de Hasecorp, han ido desapareciendo hasta su extinción. De modo que ya solo queda comprarlo, pagar el impuesto, &lt;a href="http://devolucion.org/"&gt;y luego pedir que te lo devuelvan&lt;/a&gt;. Cuando dadas las limitaciones de estos equipos, tanto por el hardward, como por la necesidad de adaptar la interfaz, Linux es especialmente adecuado para ellos, con el aliciente de la mejorada conectividad y el no necesitar miles de "soluciones de seguridad" que gasten recursos innecesarios para paliar fallos del diseño.&lt;/p&gt;&lt;a href="http://2.bp.blogspot.com/_XUj14gVcgSo/SR8H7Ig40rI/AAAAAAAADLY/SaRXTxgrSks/s1600-h/11112008481.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_XUj14gVcgSo/SR8H7Ig40rI/AAAAAAAADLY/SaRXTxgrSks/s400/11112008481.jpg" alt="" id="BLOGGER_PHOTO_ID_5268938801525871282" border="0" /&gt;&lt;/a&gt;&lt;p&gt;Mi opinión: si encontráis un &lt;a href="http://www.nvidia.com/object/IO_73301.html"&gt;netbook con Nvidia ION&lt;/a&gt;, y un Atom N330 a buen precio, pues avisad, pero de lo contrario siempre optad por el subnotebook, con un AMD Athlon, Athlon Neo o Sempron, o incluso Intel Celeron, y siempre siempre comprobad que no tenga un &lt;a href="http://en.wikipedia.org/wiki/Poulsbo_(chipset)"&gt;Intel Poulsbo (GMA 500)&lt;/a&gt; como chip gráfico: son un despropósito, no son realmente de Intel, y ni ellos ni su fabricante real les dan soporte.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Edito 25.02.2010:&lt;/strong&gt; &lt;a href="http://www.meneame.net/story/acer-devuelve-importe-sistema-operativo-windows-portatiles-no"&gt;Vía menéame&lt;/a&gt; me entero de que &lt;a href="http://www.apemit.org/modules/news/article.php?storyid=59"&gt;Apemit ha ido recopilando los fabricantes que permiten devolver el impuesto Windows&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-4843574730308019439?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/4843574730308019439/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/02/netbook-o-subnotebook.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/4843574730308019439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/4843574730308019439'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/02/netbook-o-subnotebook.html' title='¿Netbook o subnotebook?'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_XUj14gVcgSo/SVk5hxQK87I/AAAAAAAADTM/uElp4ko5bU0/s72-c/kscreensaver.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-2370341872896339040</id><published>2010-02-21T08:00:00.003Z</published><updated>2010-03-02T14:05:38.318Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='django'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='programación'/><title type='text'>Pseudoclases en tiempo de ejecución con Python</title><content type='html'>&lt;p&gt;Trasteando con mi código, en cierto momento (culpa de las plantillas de Django) me dí cuenta de que perdía una gran cantidad de tiempo declarando clases "auxiliares", que solo iba a usar una vez. Tiempo después, y quizás influenciado por la filosofía del Javascript, encontré una rápida solución: implementar clases a partir de diccionarios.&lt;/p&gt;&lt;pre name="code" class="python"&gt;class DictClass(dict):&lt;br /&gt;    def __getattribute__(self,i):&lt;br /&gt;        if i[0:2] != "__" and self.__contains__(i):&lt;br /&gt;            return self.__getitem__(i)&lt;br /&gt;        return dict.__getattribute__(self,i)&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;Se usa muy fácilmente, en cualquier momento que quieras instanciar una clase, tan sólo tenemos que tratarlo como un diccionario. Pero sus atributos y método serán accesibles como si de una clase se tratase.&lt;/p&gt;&lt;pre name="code" class="python"&gt;aux = DictClass({&lt;br /&gt;    "texto": "hola",&lt;br /&gt;    "method": lambda x:x+1,&lt;br /&gt;    })&lt;br /&gt;aux["texto"] = "hasta la vista"&lt;br /&gt;print(aux.texto)&lt;/pre&gt;&lt;p&gt;Además, me he creado otra clase dinámica pero a partir de una lista, cuyos elementos son accesibles como si fuesen atributos (su utilidad se comenta al final).&lt;/p&gt;&lt;pre name="code" class="python"&gt;import re&lt;br /&gt;reitem = re_compile("^item_\d+$")&lt;br /&gt;class ListClass(list):&lt;br /&gt;    def __getattribute__(self,i):&lt;br /&gt;        if reitem.match(i):&lt;br /&gt;            return self.__getitem__( int(i[5:]) )&lt;br /&gt;        return list.__getattribute__(self,i)&lt;/pre&gt;&lt;p&gt;Y se usaría como una lista, cuyos valores son a su vez atributos.&lt;/p&gt;&lt;pre name="code" class="python"&gt;lista = ListClass([1,2,3])&lt;br /&gt;lista.append(4)&lt;br /&gt;print(lista.item_4)&lt;/pre&gt;&lt;p&gt;Tened en cuenta que esta técnica es menos eficiente que declarar las clases "tradicionales" desde el punto de vista del rendimiento, pero permite programar mucho mas rápido, y saltarse ciertas limitaciones del motor de plantillas de Django 1.0, que no permite acceder a las propiedades de los diccionarios y acceder a determinados valores de una lista, si no es a través de bucles.&lt;/p&gt;&lt;pre name="code" class="xml"&gt;&amp;lt;p&amp;gt;Valor de propiedad de DictClass: {{ clase.atributo }}&amp;lt;/p&amp;gt;&lt;br /&gt;&amp;lt;p&amp;gt;Valor de la primera posición de una lista: {{ lista.item_0 }}&amp;lt;/p&amp;gt;&lt;/pre&gt;&lt;p&gt;Espero que os haya sido de utilidad, no he descubierto la pólvora, y seguro que hay formas mejores o mas rápidas de ahorrarse tiempo de desarrollo (¿He oido Ruby por algún lado?), pero esto me ha sido muy útil ahorrándome un tercio de dicho tiempo, y por eso lo comparto.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-2370341872896339040?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/2370341872896339040/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/02/pseudoclases-en-tiempo-de-ejecucion-con.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/2370341872896339040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/2370341872896339040'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/02/pseudoclases-en-tiempo-de-ejecucion-con.html' title='Pseudoclases en tiempo de ejecución con Python'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-3537074421131089338</id><published>2010-02-20T08:00:00.006Z</published><updated>2010-03-05T12:11:49.825Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='programación'/><title type='text'>Parser xHTML para Javascript</title><content type='html'>&lt;p&gt;Basándome en el intérprete de HTML para javascript de John Resig, y aplicándole un par de cambios para hacerlo más adecuado para tratar con XHTML, he acabado haciendo una clase muy útil que a mas de uno os gustará.&lt;/p&gt;&lt;p&gt;Está bajo la &lt;a href="http://www.mozilla.org/MPL/MPL-1.1.html"&gt;Mozilla Public License&lt;/a&gt; por exigencia del código empleado.&lt;/p&gt;&lt;p&gt;Métodos:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;HTMLParser&lt;/strong&gt;: recibe una cadena con código HTML, y un diccionario (hashtable) con callbacks, al estilo SAX de Java, "start" para el inicio de una etiqueta, "end" para el final de una etiqueta, "chars" para texto y "comment" para comentarios html.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;escapeXHTML&lt;/strong&gt; y &lt;strong&gt;unescapeXHTML&lt;/strong&gt;: reciben una cadena de HTML o XHTML y convierte los caracteres no permitidos por el estándar XHTML por sus códigos, y al revés, respectivamente.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;HTMLtoXML&lt;/strong&gt;: recibe una cadena de HTML o XHTML, y retorna otra de XHTML, intentando corregir los errores del código como etiquetas sin cerrar.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;HTMLtoNODE&lt;/strong&gt;: Recibe una cadena de HTML o XHTML y un nodo, y construye el árbol DOM a partir de la cadena en el nodo dado.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;HTMLtoDOM&lt;/strong&gt;: recibe una cadena de HTML o XHTML, y opcionalmente un nodo de tipo documento, y retorna el árbol DOM construído a partir de la cadena.&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;¿Qué utilidad tiene?&lt;/h3&gt;&lt;p&gt;La técnica más usada, a día de hoy, para escribir código HTML en el documento sigue siendo innerHTML. innerHTML nunca fué estándar, es sucio, y tira por suelo la lógica de todo el DOM (Modelo del Objeto Documento, o Document Object Model), que es la forma en la que Javascript de comunica con el intérprete HTML del navegador.&lt;/p&gt;&lt;p&gt;Uno de dichos efectos secundarios es que, mientras construyendo nodos del DOM por javascript cualquier error en la manipulación árbol resulta en un fallo del intérprete, y no llega a reflejarse en el documento, si usamos innerHTML cualquier código malformado puede, y de hecho muy comúnmente sucede, destrozar la página web.&lt;/p&gt;&lt;p&gt;Utilizar un traductor de cadenas de HTML a DOM mediante javascript es una buena solución, y aunque sea menos eficiente que innerHTML, que recordemos está integrado en el navegador, es mucho más fiable y estándar.&lt;/p&gt;&lt;p&gt;Yo lo uso para escribir en el documento todo el HTML recibido con técnicas AJAX, y me ha ahorrado muchos dolores de cabeza con el código malformado.&lt;/p&gt;&lt;h3&gt;El código&lt;/h3&gt;&lt;p&gt;Podéis &lt;a href="http://code.google.com/p/s26blog/downloads/detail?name=rhp.js"&gt;descargar este mismo código (6.59 KiB)&lt;/a&gt; a o &lt;a href="http://code.google.com/p/s26blog/downloads/detail?name=rhp_min.js"&gt;la versión minificada (4.93 KiB)&lt;/a&gt;.&lt;/p&gt;&lt;pre name="code" class="js"&gt;/*&lt;br /&gt; * Raw xHTML parser&lt;br /&gt; * A pure JavaScript SAX-like HTML/XHTML parser.&lt;br /&gt; * &lt;br /&gt; * Felipe A. Hernández - http://spayder26.blogspot.com&lt;br /&gt; * John Resig - http://ejohn.org/blog/pure-javascript-html-parser/&lt;br /&gt; * Erik Arvidsson - http://erik.eae.net/archives/2004/11/20/12.18.31/&lt;br /&gt; * Licensed under Mozilla Public License &lt;br /&gt; */&lt;br /&gt;window.rhp=(function(){&lt;br /&gt;    /* Raw xHTML parser */&lt;br /&gt;    var $def=function(a,b){return typeof((b||window)[a])!=&amp;quot;undefined&amp;quot;;},&lt;br /&gt;        makeMap=function(a){&lt;br /&gt;             var r={},b=a.split(&amp;quot;,&amp;quot;);&lt;br /&gt;             for(var i=0,j=b.length;i&amp;lt;j;i++){r[b[i]]=1;}&lt;br /&gt;             return r;&lt;br /&gt;             },&lt;br /&gt;        startTag=/^&amp;lt;(\w+)((?:\s+\w+(?:\s*=\s*(?:(?:&amp;quot;[^&amp;quot;]*&amp;quot;)|(?:&amp;apos;[^&amp;apos;]*&amp;apos;)|[^&amp;gt;\s]+))?)*)\s*(\/?)&amp;gt;/,&lt;br /&gt;        endTag=/^&amp;lt;\/(\w+)[^&amp;gt;]*&amp;gt;/,&lt;br /&gt;        attr=/(\w+)(?:\s*=\s*(?:(?:&amp;quot;((?:\\.|[^&amp;quot;])*)&amp;quot;)|(?:&amp;apos;((?:\\.|[^&amp;apos;])*)&amp;apos;)|([^&amp;gt;\s]+)))?/g,&lt;br /&gt;        me={},&lt;br /&gt;        esc=[[&amp;quot;&amp;amp;&amp;quot;,&amp;quot;&amp;amp;amp;&amp;quot;],[&amp;quot;&amp;gt;&amp;quot;,&amp;quot;&amp;amp;gt;&amp;quot;],[&amp;quot;&amp;lt;&amp;quot;,&amp;quot;&amp;amp;lt;&amp;quot;],[&amp;quot;\&amp;quot;&amp;quot;,&amp;quot;&amp;amp;quot;&amp;quot;],[&amp;quot;&amp;apos;&amp;quot;,&amp;quot;&amp;amp;apos;&amp;quot;]],&lt;br /&gt;  esr=[],unesr=[],esl,&lt;br /&gt;        getDoc=function(node){&lt;br /&gt;            if(node.nodeType==9){return node;}&lt;br /&gt;            return (node.ownerDocument||(node.getOwnerDocument&amp;amp;&amp;amp;node.getOwnerDocument())||document);};&lt;br /&gt;    esl=esc.length;&lt;br /&gt; for(var i=0;i&amp;lt;esl;i++){esr[i]=new RegExp(esc[i][0],&amp;quot;g&amp;quot;);unesr[i]=new RegExp(esc[i][1],&amp;quot;g&amp;quot;);}&lt;br /&gt;    var empty=makeMap(&amp;quot;area,base,basefont,br,col,frame,hr,img,input,isindex,link,meta,param,embed&amp;quot;),&lt;br /&gt;        block=makeMap(&amp;quot;address,applet,blockquote,button,center,dd,del,dir,div,dl,dt,fieldset,form,frameset,hr,iframe,ins,isindex,li,map,menu,noframes,noscript,object,ol,p,pre,script,table,tbody,td,tfoot,th,thead,tr,ul&amp;quot;),&lt;br /&gt;        inline=makeMap(&amp;quot;a,abbr,acronym,applet,b,basefont,bdo,big,br,button,cite,code,del,dfn,em,font,i,iframe,img,input,ins,kbd,label,map,object,q,s,samp,script,select,small,span,strike,strong,sub,sup,textarea,tt,u,var&amp;quot;),&lt;br /&gt;        closeSelf=makeMap(&amp;quot;colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr&amp;quot;),&lt;br /&gt;        fillAttrs=makeMap(&amp;quot;checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected&amp;quot;),&lt;br /&gt;        special=makeMap(&amp;quot;script,style&amp;quot;);&lt;br /&gt;    me.HTMLParser=function(html,handler){&lt;br /&gt;  // SAX-like HTML parser&lt;br /&gt;        var stack=[];&lt;br /&gt;        var parseEndTag=function(tag,tagName){&lt;br /&gt;            var pos,i;&lt;br /&gt;            if(!tagName){pos=0;}&lt;br /&gt;            else{for(pos=stack.length-1;pos&amp;gt;-1;pos--){&lt;br /&gt;                if(stack[pos]==tagName){break;}}}&lt;br /&gt;            if(pos&amp;gt;=0){&lt;br /&gt;                for(i=stack.length-1;i&amp;gt;=pos;i--){&lt;br /&gt;                    if(handler.end){handler.end(stack[i]);}}&lt;br /&gt;                stack.length=pos;}};&lt;br /&gt;        var parseStartTag=function(tag,tagName,rest,unary){&lt;br /&gt;            if(block[tagName]){&lt;br /&gt;                while(stack.last()&amp;amp;&amp;amp;$def(stack.last(),inline)){&lt;br /&gt;                    parseEndTag(&amp;quot;&amp;quot;,stack.last());}}&lt;br /&gt;            if(closeSelf[tagName]&amp;amp;&amp;amp;stack.last()==tagName){&lt;br /&gt;                parseEndTag(&amp;quot;&amp;quot;,tagName);}&lt;br /&gt;            unary=(empty[tagName]||!!unary);&lt;br /&gt;            if(!unary){stack.push(tagName);}&lt;br /&gt;            if(handler.start){&lt;br /&gt;                var attrs=[];&lt;br /&gt;                rest.replace(attr,&lt;br /&gt;                    function(match,name){&lt;br /&gt;                        var value=arguments[2]?arguments[2]:(arguments[3]?arguments[3]:(arguments[4]?arguments[4]:(fillAttrs[name]?name:&amp;quot;&amp;quot;)));&lt;br /&gt;                        attrs.push({&lt;br /&gt;                            name:name,&lt;br /&gt;                            value:value,&lt;br /&gt;                            escaped:value.replace(/(^|[^\\])&amp;quot;/g,&amp;apos;$1\\\&amp;quot;&amp;apos;)});});&lt;br /&gt;                if(handler.start){handler.start(tagName,attrs,unary);}}},&lt;br /&gt;            last=html,index,chars,match;&lt;br /&gt;  stack.last=function(){return (this.length)?this[this.length-1]:null;};&lt;br /&gt;  while(html){&lt;br /&gt;   chars=true;&lt;br /&gt;   if(!stack.last()||!special[stack.last()]){&lt;br /&gt;    if(html.indexOf(&amp;quot;&amp;lt;!--&amp;quot;)===0){&lt;br /&gt;     index=html.indexOf(&amp;quot;--&amp;gt;&amp;quot;);&lt;br /&gt;     if(index&amp;gt;=0){&lt;br /&gt;      if(handler.comment){handler.comment(html.substring(4,index));}&lt;br /&gt;      html=html.substring(index+3);chars=false;}}&lt;br /&gt;    else if(html.indexOf(&amp;quot;&amp;lt;/&amp;quot;)===0){&lt;br /&gt;     match=html.match(endTag);&lt;br /&gt;     if(match){html=html.substring(match[0].length);&lt;br /&gt;      match[0].replace(endTag,parseEndTag);&lt;br /&gt;      chars=false;}}&lt;br /&gt;    else if(html.indexOf(&amp;quot;&amp;lt;&amp;quot;)===0){&lt;br /&gt;     match=html.match(startTag);&lt;br /&gt;     if(match){&lt;br /&gt;      html=html.substring(match[0].length);&lt;br /&gt;      match[0].replace(startTag,parseStartTag);&lt;br /&gt;      chars=false;}}&lt;br /&gt;    if(chars){&lt;br /&gt;     index=html.indexOf(&amp;quot;&amp;lt;&amp;quot;);&lt;br /&gt;     var text=(index&amp;lt;0)?html:html.substring(0,index);&lt;br /&gt;     html=(index&amp;lt;0)?&amp;quot;&amp;quot;:html.substring(index);&lt;br /&gt;     if(handler.chars){handler.chars(text);}}}&lt;br /&gt;   else{&lt;br /&gt;    html=html.replace(new RegExp(&amp;quot;(.*)&amp;lt;\/&amp;quot;+stack.last()+&amp;quot;[^&amp;gt;]*&amp;gt;&amp;quot;),&lt;br /&gt;     (function(){&lt;br /&gt;      return function(all,text){&lt;br /&gt;       text=text.replace(/&amp;lt;!--(.*?)--&amp;gt;/g,&amp;quot;$1&amp;quot;).replace(/&amp;lt;!\[CDATA\[(.*?)\]\]&amp;gt;/g,&amp;quot;$1&amp;quot;);&lt;br /&gt;       if(handler.chars){handler.chars(text);}&lt;br /&gt;       return &amp;quot;&amp;quot;;};})());&lt;br /&gt;    parseEndTag(&amp;quot;&amp;quot;,stack.last());}&lt;br /&gt;   if(html==last){throw &amp;quot;Parse Error: &amp;quot;+html;}&lt;br /&gt;   last=html;}&lt;br /&gt;  parseEndTag();};&lt;br /&gt; me.escapeXHTML=function(html){&lt;br /&gt;  // Escape XHTML characters&lt;br /&gt;  for(var i=0;i&amp;lt;esl;i++){&lt;br /&gt;   html=html.replace(esr[i],esc[i][1]);}&lt;br /&gt;  return html;};&lt;br /&gt; me.unescapeXHTML=function(html){&lt;br /&gt;  // Unescape XHTML characters&lt;br /&gt;  for(var i=esl-1;i&amp;gt;-1;i--){&lt;br /&gt;   html=html.replace(unesr[i],esc[i][0]);}&lt;br /&gt;  return html;};&lt;br /&gt; me.HTMLtoXML=function(html){&lt;br /&gt;  // Parses HTML string to XML string (XHTML)&lt;br /&gt;  var results=&amp;quot;&amp;quot;;&lt;br /&gt;  me.HTMLParser(html,{&lt;br /&gt;   start:function(tag,attrs,unary){&lt;br /&gt;    results+=&amp;quot;&amp;lt;&amp;quot;+tag.toLowerCase();&lt;br /&gt;    for(var i=0,il=attrs.length;i&amp;lt;il;i++){&lt;br /&gt;     results+=&amp;quot; &amp;quot;+attrs[i].name.toLowerCase()+&amp;apos;=&amp;quot;&amp;apos;+attrs[i].escaped+&amp;apos;&amp;quot;&amp;apos;;}&lt;br /&gt;    results+=(unary?&amp;quot;/&amp;quot;:&amp;quot;&amp;quot;)+&amp;quot;&amp;gt;&amp;quot;;},&lt;br /&gt;   end:function(tag){&lt;br /&gt;    results+=&amp;quot;&amp;lt;/&amp;quot;+tag.toLowerCase()+&amp;quot;&amp;gt;&amp;quot;;},&lt;br /&gt;   chars:function(text){results+=text;},&lt;br /&gt;   comment:function(text){results+=&amp;quot;&amp;lt;!--&amp;quot;+text+&amp;quot;--&amp;gt;&amp;quot;;}});&lt;br /&gt;  return results;};&lt;br /&gt; me.HTMLtoNODE=function(html,node){&lt;br /&gt;  // Writes an HTML string to DOM&amp;apos;s node&lt;br /&gt;  var elems=[node],doc=getDoc(node),cur=node;&lt;br /&gt;  me.HTMLParser(html,{&lt;br /&gt;   start:function(tagName,attrs,unary){&lt;br /&gt;    var elem=doc.createElement(tagName);&lt;br /&gt;    for(var i=0,il=attrs.length;i&amp;lt;il;i++){&lt;br /&gt;     elem.setAttribute(attrs[i].name,me.unescapeXHTML(attrs[i].value));}&lt;br /&gt;    if(cur&amp;amp;&amp;amp;cur.appendChild){&lt;br /&gt;     cur.appendChild(elem);}&lt;br /&gt;    if(!unary){elems.push(elem);cur=elem;}},&lt;br /&gt;   end:function(tag){&lt;br /&gt;    elems.length-=1;&lt;br /&gt;    cur=elems[elems.length-1];},&lt;br /&gt;   chars:function(text){&lt;br /&gt;    cur.appendChild(doc.createTextNode(me.unescapeXHTML(text)));},&lt;br /&gt;   comment:function(text){&lt;br /&gt;    if(doc.createComment){cur.appendChild(doc.createComment(text));}}});};&lt;br /&gt; me.HTMLtoDOM=function(html,doc){&lt;br /&gt;  // HTML string to DOM&amp;apos;s document node&lt;br /&gt;  if(!doc){doc=document;}&lt;br /&gt;  else{doc=getDoc(doc);}&lt;br /&gt;  var n=doc.createElement(&amp;quot;div&amp;quot;);&lt;br /&gt;  me.HTMLtoNODE(html,n);&lt;br /&gt;  return n.childNodes;};&lt;br /&gt; return me;}());&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Créditos&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://ejohn.org/blog/pure-javascript-html-parser/"&gt;John Resig&lt;/a&gt;, autor de la mayor parte del código auxiliar.&lt;/li&gt;&lt;li&gt;&lt;a href="http://erik.eae.net/archives/2004/11/20/12.18.31/"&gt;Erik Arvidsson&lt;/a&gt;, autor del código del intérprete estilo SAX.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-3537074421131089338?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/3537074421131089338/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/02/parser-xhtml-para-javascript.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/3537074421131089338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/3537074421131089338'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/02/parser-xhtml-para-javascript.html' title='Parser xHTML para Javascript'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-4953101066644904440</id><published>2010-02-19T08:00:00.001Z</published><updated>2010-02-19T08:00:07.112Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='cosas sin importancia'/><title type='text'>Android en netbooks</title><content type='html'>&lt;p&gt;Ayer me pasé por mi macrosuperficie de electrónica más cercana&lt;sup&gt;TM&lt;/sup&gt; (os sigo recomendando que antes de comprar nada en ese tipo de establecimientos, vayáis a otras tiendas para comparar precios para que no os den gato por liebre). Yo soy de esos que aunque la blogosfera se haga eco de cualquier noticia, hasta que no lo veo no lo creo, y ayer me topé con mi primer portátil con arranque doble con Android y Hasefroch-Vista-Pero-Con-La-Barra-Más-Gorda, y bien de precio, oiga. Lástima que el impuestazo del segundo sistema ya venga en el precio.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_XUj14gVcgSo/S32tdkYtGmI/AAAAAAAAEjw/bDHLoMp3Ts0/s1600-h/18022010662.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_XUj14gVcgSo/S32tdkYtGmI/AAAAAAAAEjw/bDHLoMp3Ts0/s400/18022010662.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5439694648428534370" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_XUj14gVcgSo/S32td_POwNI/AAAAAAAAEj4/d57JVLQkE7U/s1600-h/18022010663.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_XUj14gVcgSo/S32td_POwNI/AAAAAAAAEj4/d57JVLQkE7U/s400/18022010663.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5439694655636553938" /&gt;&lt;/a&gt;&lt;p&gt;Pero a la vuelta de la esquina...&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_XUj14gVcgSo/S32teQW-04I/AAAAAAAAEkA/T9WOB2ZD5KA/s1600-h/18022010668.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 400px;" src="http://3.bp.blogspot.com/_XUj14gVcgSo/S32teQW-04I/AAAAAAAAEkA/T9WOB2ZD5KA/s400/18022010668.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5439694660232467330" /&gt;&lt;/a&gt;&lt;p&gt;¡Qué confianza! ¡Qué fiabilidad! ¡Que buen rollito en general!&lt;/p&gt;&lt;img style="display:block; margin:0px auto;border:0;width: 400px; height: 67px;" src="http://spayder26.appspot.com/file/kb4m96n0i742b47wzbpx/Comprar+una+PS3.gif" border="0" alt="" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-4953101066644904440?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/4953101066644904440/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/02/android-en-netbooks.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/4953101066644904440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/4953101066644904440'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/02/android-en-netbooks.html' title='Android en netbooks'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_XUj14gVcgSo/S32tdkYtGmI/AAAAAAAAEjw/bDHLoMp3Ts0/s72-c/18022010662.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-6075581267011810874</id><published>2010-02-18T08:00:00.019Z</published><updated>2010-02-18T09:00:30.348Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='programación'/><title type='text'>Python: ágil y elegante</title><content type='html'>&lt;p&gt;Nota: aunque Python ya va por la versión 3.1, dado que muchas librerías no están todavía adaptadas, los ejemplos de esta entrada están enfocadas a rama 2.6.&lt;/p&gt;&lt;img style="border:0;float:right; margin:0 0 10px 10px;width: 256px; height: 310px;" src="http://3.bp.blogspot.com/_XUj14gVcgSo/S3utDuV7njI/AAAAAAAAEjo/hFGovBqBj3A/s400/pylogo.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5439131254471237170" /&gt;&lt;p&gt;&lt;em&gt;Python&lt;/em&gt; (pronúnciese &lt;em&gt;paiton&lt;/em&gt; o &lt;em&gt;paizon&lt;/em&gt;), es un lenguaje de programación interpretado (o de &lt;em&gt;scripting&lt;/em&gt;) muy rápido de trabajar y con una muy suave curva de aprendizaje.&lt;/p&gt;&lt;p&gt;El típico &lt;em&gt;hola mundo&lt;/em&gt; (mostar un texto en la salida estándar, comúnmente la consola):&lt;/p&gt;&lt;pre name="code" class="python"&gt;print "Hola mundo"&lt;/pre&gt;&lt;p&gt;Con este lenguaje, se pueden dar comúnmente esos casos de programas muy completos en menos de 100 líneas de código, programados en un tiempo ínfimo (se suele incluir un intérprete interactivo para hacer pruebas), siendo el código muy legible, y por eso es uno de los lenguajes preferidos para programar en linux (donde Python viene comúnmente incluido en muchas distribuciones).&lt;/p&gt;&lt;p&gt;Ejemplo de sintaxis:&lt;/p&gt;&lt;pre name="code" class="python"&gt;# Esto es un comentario&lt;br /&gt;'''&lt;br /&gt;Esto es un comentario multilínea&lt;br /&gt;'''&lt;br /&gt;&lt;br /&gt;class Padre:&lt;br /&gt;    ''' Clase Padre, con atributos y métodos '''&lt;br /&gt;    pelo = "negro" # Atributo de Padre, de tipo cadena de texto o str&lt;br /&gt;    ojos = "marrones"&lt;br /&gt;    dedos = 21 # Atributo de padre, de tipo número entero o int&lt;br /&gt;&lt;br /&gt;    def colorPelo(self):&lt;br /&gt;        ''' Método, retorna el atributo pelo de la clase.&lt;br /&gt;            En Python, el primer argumento de un método es la&lt;br /&gt;            instancia de la propia clase, y sólo es necesario si&lt;br /&gt;            no se llama a través de una instancia.&lt;br /&gt;        '''&lt;br /&gt;        return self.pelo # Retorna un valor&lt;br /&gt;&lt;br /&gt;class Hijo(Padre):&lt;br /&gt;    ''' Clase Hijo, hereda los atributos y métodos de padre. '''&lt;br /&gt;    ojos = "verdes" # Sobreescribimos un atributo heredado con un nuevo valor&lt;br /&gt;&lt;br /&gt;instancia = Hijo() # Instancia de una clase&lt;br /&gt;print instancia.colorPelo() # Mostramos lo que nos retorna el método heredado&lt;br /&gt;print Hijo.colorPelo(instancia) # Igual que el anterior&lt;br /&gt;&lt;br /&gt;def pruebaFor(numero):&lt;br /&gt;    ''' Función, recibe un valor por parámetro '''&lt;br /&gt;    for i in range(numero+1):&lt;br /&gt;        ''' La función range devuelve una lista de números, que parten desde&lt;br /&gt;            cero o un valor dado, hasta el anterior al pasado por parámetro.&lt;br /&gt;                p.ej. range(0,5) es igual a range(5) y es igual a [0,1,2,3,4]&lt;br /&gt;            El for, en python, recorre todos los valores, asignándolos a&lt;br /&gt;            la variable, i en este caso (como hace foreach en otros lenguajes).&lt;br /&gt;        '''&lt;br /&gt;        print i # Muestro el valor de i&lt;br /&gt;&lt;br /&gt;lista = [1, 2, "a", instancia] # Lista de valores (array en otros lenguajes)&lt;br /&gt;pruebaFor(5) # Ejecuto la función, dándole el valor 5 por parámetro&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;Incluye una gran serie de librerías por defecto, incluyendo Tkinter, una utilería de ventanas basada en el vetusto Tk/Tcl.&lt;/p&gt;&lt;p&gt;Por suerte, existen PyGTK y Glade. El primero son las librerías para nuestro lenguaje, con el que poder operar con las librerías GTK, las utilizadas por Gnome, Xfce, y demás, siendo muy ligeras y bien diseñadas.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_XUj14gVcgSo/S3up9xx9ulI/AAAAAAAAEjg/y_t-N2pRPVM/s1600-h/glade-main-page.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_XUj14gVcgSo/S3up9xx9ulI/AAAAAAAAEjg/y_t-N2pRPVM/s400/glade-main-page.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5439127853780023890" /&gt;&lt;/a&gt;&lt;p&gt;Glade, por su parte, permite desarrollar ventanas de forma sencilla, guardadas en formato XML (lenguaje de etiquetas), y utilizables por las librerías GTK para cualquier lenguaje.&lt;/p&gt;&lt;p&gt;Usando Python y Glade, crear un programa que tan sólo muestre una ventana es muy sencillo:&lt;/p&gt;&lt;pre name="code" class="python"&gt;# Importamos las librerías&lt;br /&gt;import gtk&lt;br /&gt;import gtk.glade&lt;br /&gt;&lt;br /&gt;# Cargamos el fichero de glade&lt;br /&gt;xml = gtk.glade.XML("interfaz.glade") &lt;br /&gt;&lt;br /&gt;# Elegimos la ventana&lt;br /&gt;ventana = xml.get_widget("window1") # Si la ventana se llama window1&lt;br /&gt;&lt;br /&gt;# Creamos la función de cierre&lt;br /&gt;def cerrar():&lt;br /&gt;    print "Ventana cerrada, salimos del bucle de GTK"&lt;br /&gt;    # Cerramos el bucle de GTK para devolver el control a Python&lt;br /&gt;    gtk.main_quit() &lt;br /&gt;&lt;br /&gt;# Conectamos el evento "destroy" de la ventana con nuestra función cerrar&lt;br /&gt;ventana.connect("destroy", cerrar)&lt;br /&gt;&lt;br /&gt;# Mostramos la ventana&lt;br /&gt;ventana.show()&lt;br /&gt;&lt;br /&gt;# Iniciamos el bucle principal de GTK&lt;br /&gt;gtk.main()&lt;/pre&gt;&lt;p&gt;Ya tenéis lo básico para programar con Python.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Enlaces útiles:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://docs.python.org/2.6"&gt;Documentación de Python2.6&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://pygtk.org/docs/pygtk/"&gt;Guía de referencia (clases y propiedades) de PyGTK&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Créditos:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;La captura de glade está sacada de su web oficial: &lt;a href="http://glade.gnome.org/"&gt;glade.gnome.org&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-6075581267011810874?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/6075581267011810874/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/02/python-agil-y-elegante.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/6075581267011810874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/6075581267011810874'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/02/python-agil-y-elegante.html' title='Python: ágil y elegante'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_XUj14gVcgSo/S3utDuV7njI/AAAAAAAAEjo/hFGovBqBj3A/s72-c/pylogo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-320571847544892091</id><published>2010-02-17T09:00:00.002Z</published><updated>2010-02-17T09:00:03.536Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='cosas sin importancia'/><title type='text'>La entrada del miércoles</title><content type='html'>&lt;img style="display:block;float:right;width: 256px;height:256px;" src="http://3.bp.blogspot.com/_XUj14gVcgSo/S3ukp75a8SI/AAAAAAAAEjY/KsiDx1X6ufY/s400/Notepad___by_Spayder26.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5439122015340130594" /&gt;&lt;p&gt;Esta entrada es una chorrada, señor autor, bórrela y escriba una de verdad. O no.&lt;/p&gt;&lt;p&gt;Un servidor, desde que era chiquitín, o chiquitón, de mayor tenía para elegir dibujante (profesión con futuro ¿eh?) o desarrollador de videojuegos, ambas dos profesiones molonas, bohemias, e interesantes. Al final, dada mi escasa paciencia por el dibujo, porque algo se me daba, me encaminé a lo segundo, aunque viendo lo "divertida" que es la vida universitaria en las facultades de Bellas Artes, me arrepiento un poco.&lt;/p&gt;&lt;p&gt;Estudié desarrollo de aplicaciones informáticas en un momento algo convulso de mi vida, y durante el proceso conocí a mi actual &lt;em&gt;señorita pareja sentimental&lt;/em&gt;, pero llegado a ese punto, mi sueño de dedicarme al mundo del ocio multimedia ya se había desvanecido. El mercado es algo difícil. Y no me quejo, poder hacer &lt;a href="/2008/12/mis-motivaciones-software-felicidad-y.html"&gt;software que ayuda a la gente&lt;/a&gt; no es algo que me disguste, pero sí que hay demasiadas empresas que lo que verdaderamente les interesa es crear software-saca-cuartos, que haga la vida imposible a sus usuarios, y es muy complicado no caer en una de esas.&lt;/p&gt;&lt;p&gt;Si alguno de vosotros piensa dedicarse a esto, al mundo del desarrollo de software, debéis saber que nunca terminaréis de estudiar, es más, cuando acabéis cualquier tipo de estudio, os daréis cuenta que aún no sabéis prácticamente nada (aunque tengáis una buena base de la que partir), este mundo evoluciona muy rápido, y lo que hace meses era dogma, ya está  desfasado. Todavía me acuerdo de un jefe, que presumía de haber estudiado con tarjetas perforadas y haber programado un poco en Cobol, y desde entonces no había escrito ni una sóla línea de código. Reciclarse continuamente, descubrir o redescubrir la tecnología es el pan de cada día, y es algo que os tiene que gustar.&lt;/p&gt;&lt;p&gt;Yo seguiré haciendo mis experimentos, algunos orientados al ocio, otros al web, pero siempre tendré a mi novia dándome caña para que no abandone mi sueño de hacer juegos. Si algún día me animo, subiré mis experimentos.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-320571847544892091?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/320571847544892091/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/02/la-entrada-del-miercoles.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/320571847544892091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/320571847544892091'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/02/la-entrada-del-miercoles.html' title='La entrada del miércoles'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_XUj14gVcgSo/S3ukp75a8SI/AAAAAAAAEjY/KsiDx1X6ufY/s72-c/Notepad___by_Spayder26.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-6947523052821728989</id><published>2010-02-16T08:00:00.000Z</published><updated>2010-02-16T08:00:04.381Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='minipost'/><title type='text'>Minipost: Ahora soy millonario gracias a Adsense</title><content type='html'>&lt;table style="border:1px solid black"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Impresiones&lt;/th&gt;&lt;th&gt;Clicks&lt;/th&gt;&lt;th&gt;CTR de la página&lt;/th&gt;&lt;th&gt;eCPM de la página&lt;/th&gt;&lt;th&gt;Ingresos estimados&lt;/th&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;22.834&lt;/td&gt;&lt;td&gt;14&lt;/td&gt;&lt;td&gt;0,06%&lt;/td&gt;&lt;td&gt;€ 0,16&lt;/td&gt;&lt;td&gt;€ 3,65&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;¿En el mundo real un anuncio para 22000 personas cuesta 3.65 €? Vamos, esto es un atraco a mano armada.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-6947523052821728989?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/6947523052821728989/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/02/minipost-ahora-soy-millonario-gracias.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/6947523052821728989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/6947523052821728989'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/02/minipost-ahora-soy-millonario-gracias.html' title='Minipost: Ahora soy millonario gracias a Adsense'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-7928641909176295884</id><published>2010-02-15T08:00:00.003Z</published><updated>2010-02-15T13:58:05.070Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='juegos'/><title type='text'>Encuesta de jugador a jugador</title><content type='html'>&lt;p&gt;Esta encuesta lleva tiempo entre los borradores, pero ya puestos a sincerarme, ahí va.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tu primera consola de videojuegos:&lt;/strong&gt; Una GameBoy Pocket&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tu primer ordenador:&lt;/strong&gt; Un 386 a 80Mhz.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;La primera vez que jugaste a Street Fighter 2:&lt;/strong&gt; Pues con un Diskette prestado con una copia para PC... hace muchos años. Y todavía lo conservo.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Algún truco de un juego que todavía recuerdes:&lt;/strong&gt; set JCDentonMale bCheatsEnabled True , de Deus Ex, sensible a mayúsculas, necesario ponerlo en cada misión, antes de cualquier otro truco.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_XUj14gVcgSo/S3J_T1x9s5I/AAAAAAAAEio/lT7PER91wN0/s1600-h/deusex_1.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_XUj14gVcgSo/S3J_T1x9s5I/AAAAAAAAEio/lT7PER91wN0/s400/deusex_1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5436547679020495762" /&gt;&lt;/a&gt;&lt;p&gt;&lt;strong&gt;Tu peor momento como gamer:&lt;/strong&gt; 6 horas de juego jugando al Final Fantasy VIII sin guardar, y se fué la luz.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;¿Prefieres jugar solo o acompañado?&lt;/strong&gt; Acompañadísmo, la compañía convierte juegos insulsos en fábricas de diversión.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;¿Mario o Sonic?&lt;/strong&gt; Dura decisión... me gusta más Jazz Jackrabbit. Mario, pero sólo por el Mario Land original para el ladrillazo de Nintendo.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;¿Sony, Nintendo o Microsoft?&lt;/strong&gt; De vieja generación Sony, de la nueva Nintendo.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;¿Has jugado a World of Warcraft?&lt;/strong&gt;Sí, mucho, gracias a que funciona con wine a las mil maravillas.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;¿Has jugado a algún Roguelike?&lt;/strong&gt; He "intentado" jugar a un port de nethack... infructuosamente.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tu primera revista de videojuegos:&lt;/strong&gt; PC para juegos y jugadores (o Juegos y jugadores para PC) la versión española de PC Gamer, una revista de enorme calidad, con CDs de demos, pero que acabó siendo muy cara.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Videojuego al que más horas le has dedicado&lt;/strong&gt;: Difícil elección, creo que StarCraft.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_XUj14gVcgSo/S3KA35mzPVI/AAAAAAAAEjA/NRwaPnAWQbo/s1600-h/20090325184337!Zerg_colony_(StarCraft).png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 301px;" src="http://3.bp.blogspot.com/_XUj14gVcgSo/S3KA35mzPVI/AAAAAAAAEjA/NRwaPnAWQbo/s400/20090325184337!Zerg_colony_(StarCraft).png" border="0" alt=""id="BLOGGER_PHOTO_ID_5436549398034333010" /&gt;&lt;/a&gt;&lt;p&gt;&lt;strong&gt;Aventura gráfica preferida:&lt;/strong&gt; Monkey Island, el original, me lo he pasado 100 veces, y voy a por otra (lo tengo en el móvil con el ScummVM).&lt;/p&gt;&lt;p&gt;&lt;strong&gt;¿Utilizas emuladores?:&lt;/strong&gt; Por supuesto.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;¿Has creado tú mismo un videojuego?:&lt;/strong&gt; Sí, con el primero (con RPGMaker) gané un concurso hace 5 años y me fui un fin de semana a Bruselas por la patilla. Actualmente hago mis pinitos con pygame, Javascript+XHTML+CSS, Mono con SDL...&lt;/p&gt;&lt;p&gt;&lt;strong&gt;¿Tu género preferido?&lt;/strong&gt; Un buen juego de estrategia, que cada vez salen menos, o un buen RPG.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;¿Mejor consola?&lt;/strong&gt; Un ultraportátil lleno de emuladores.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;¿2D ó 3D?&lt;/strong&gt; Un 2D de calidad, hace que te olvides de... ¿cuál era la otra opción?&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Último juego que has comprado (ojo, comprado!):&lt;/strong&gt; Casi no me acuerdo... puede que el Final Fantasy Chronicles para la Gameboy Advance.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Profesión medieval fantástica que eliges en este tipo de videojuegos: &lt;/strong&gt; Ladrón, invocador, guerrero... depende de lo divertido que resulte el juego.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_XUj14gVcgSo/S3J_7KFdltI/AAAAAAAAEi4/pKbl80t03_o/s1600-h/192px-6-locke-a.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 249px;" src="http://2.bp.blogspot.com/_XUj14gVcgSo/S3J_7KFdltI/AAAAAAAAEi4/pKbl80t03_o/s400/192px-6-locke-a.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5436548354485884626" /&gt;&lt;/a&gt;&lt;p&gt;&lt;strong&gt;FIFA o Pro: &lt;/strong&gt; Odio los juegos de fútbol. Pero en su día me gustó el PCFútbol 6, de Dinamic.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;El dinero peor invertido en ocio electrónico:&lt;/strong&gt; Chaos Legion, no me malinterpretéis, es un juego muy bueno, pero me lo pasé en un día, y encima luego me lo robaron.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;¿Y el dinero mejor invertido?:&lt;/strong&gt; Puede sonar raro, pero el Final Fantasy VI para la primera PlayStation, con sus vídeos y sus extras, y con el vídeo del Aria di Mezzo.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;¿Conseguiste que tus padres jugaran a videojuegos? &lt;/strong&gt;Por supuesto, mi padre jugaba antes que yo, todavía me acuerdo de esas partidas por turnos al Duke Nukem 3D. Y hoy en día al Frozen-Bubble, estuvo enganchadísimo. En cuanto a mi madre, ha jugado muy poco, se le da fatal.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;¿Te has pasado algún Final Fantasy?&lt;/strong&gt; Pareceré un raro, pero me he pasado II, III, VI, VII, VIII, IX, X, XII ¡Bingo!&lt;/p&gt;&lt;p&gt;&lt;strong&gt;¿Qué títulos que te interesan no llegaste a jugar?&lt;/strong&gt; Runaway, Halo y Gears of War.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_XUj14gVcgSo/S3J_UEPIICI/AAAAAAAAEiw/hz0ATCwv4so/s1600-h/RUNAWAY99.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 234px;" src="http://1.bp.blogspot.com/_XUj14gVcgSo/S3J_UEPIICI/AAAAAAAAEiw/hz0ATCwv4so/s400/RUNAWAY99.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5436547682900910114" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-7928641909176295884?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/7928641909176295884/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/02/encuesta-de-jugador-jugador.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/7928641909176295884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/7928641909176295884'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/02/encuesta-de-jugador-jugador.html' title='Encuesta de jugador a jugador'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_XUj14gVcgSo/S3J_T1x9s5I/AAAAAAAAEio/lT7PER91wN0/s72-c/deusex_1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-4960720668203914264</id><published>2010-02-14T08:00:00.002Z</published><updated>2010-02-14T08:00:09.233Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='minipost'/><title type='text'>Adiós, querido anonimato</title><content type='html'>&lt;p&gt;Si soy lectores asiduos del blog &lt;sup&gt;1&lt;/sup&gt; os habréis percatado de que ha pasado de ser uno de esos millones de blogs anónimos, para convertirse en uno de esos con autor de nombre feo y apellidos poco originales&lt;sup&gt;2&lt;/sup&gt;.&lt;/p&gt;&lt;p&gt;Muchos aprovecharán para buscarme, encontrarme, identificarme y llevarme a algún sótano oscuro para hacer que me retracte de las opiniones aquí vertidas&lt;sup&gt;3&lt;/sup&gt; usando métodos de probada efectividad, pero creo que si uno trabaja en este mundo, es bueno hacerse un poco visible.&lt;/p&gt;&lt;p&gt;He actualizado mi &lt;a href="http://spayder26.appspot.com"&gt;sitio web&lt;/a&gt;, &lt;a href="http://spayder26.appspot.com/es/curriculum"&gt;mi currículo&lt;/a&gt;, estoy en Infojobs y Tecnoempleo.&lt;ol&gt;&lt;li&gt;Improbable, según las estadísticas.&lt;/li&gt;&lt;li&gt;Así se comienza un artículo, sí señor.&lt;/li&gt;&lt;li&gt;Espero que la proporción de los que intenten sobornarme sea mayor.&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-4960720668203914264?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/4960720668203914264/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/02/adios-querido-anonimato.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/4960720668203914264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/4960720668203914264'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/02/adios-querido-anonimato.html' title='Adiós, querido anonimato'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-7794209558732804748</id><published>2010-02-13T08:00:00.003Z</published><updated>2010-02-13T08:00:03.460Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='cosas sin importancia'/><title type='text'>¿Phishing? Ni falta que hace</title><content type='html'>&lt;p&gt;&lt;strong&gt;Advertencia:&lt;/strong&gt; Este post no es más que una pataleta infantil de nulo interés. No llaméis a la Buaaaaambulancia, ya viene de camino.&lt;/p&gt;&lt;p&gt;Me he hartado de mi banco, como si ya fuera poco complicado el tener un trabajo, ahora les ha dado a estos señores muchimillonarios de la Banca March por cobrarme por todo todo: me está cosiendo a comisiones, después de prometerme que no lo harían, después supuestamente haberlo "arreglado" hace unos meses, lo vuelven a hacer, y la única solución es cambiar de banco, obviamente.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_XUj14gVcgSo/S21xzDKtLiI/AAAAAAAAEdU/Hks8jfid0MM/s1600-h/bm.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 206px;" src="http://1.bp.blogspot.com/_XUj14gVcgSo/S21xzDKtLiI/AAAAAAAAEdU/Hks8jfid0MM/s400/bm.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5435125447143534114" /&gt;&lt;/a&gt;&lt;p&gt;Y he ido raudo y veloz a la de ING Direct, que seguramente algún idiota habrá hecho con el Frontpeich, creyendo, iluso de mí, que me podría crear una cuenta allí. Pero el Mundo Real&lt;sup&gt;®&lt;/sup&gt; nunca deja de sorprenderme: la web falla más que una escopeta de feria, me lleva a lugares a donde no debería llevarme, oculta botones necesarios y muestra errores de código. Vamos, una joya.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_XUj14gVcgSo/S21tyjxBH-I/AAAAAAAAEdM/zfM7kbBe-qo/s1600-h/ing2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 291px; height: 133px;" src="http://3.bp.blogspot.com/_XUj14gVcgSo/S21tyjxBH-I/AAAAAAAAEdM/zfM7kbBe-qo/s400/ing2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5435121040667779042" /&gt;&lt;/a&gt;&lt;p&gt;Sus señores programadores tienen en su buen haber el escoger la peor de las tecnologías posibles, ASP, plagada de errores irresolubles, ademán de tortuoso diseño. Siendo una corporación que factura miles de millones de euros, ¿qué te cuesta contratar un profesional? Aunque sólo sea uno, que verifique que tu sitio web no sea tan  horrible.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_XUj14gVcgSo/S21tyrqA7VI/AAAAAAAAEdE/jwcafDA-Hys/s1600-h/Pantallazo-2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 355px;" src="http://2.bp.blogspot.com/_XUj14gVcgSo/S21tyrqA7VI/AAAAAAAAEdE/jwcafDA-Hys/s400/Pantallazo-2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5435121042785889618" /&gt;&lt;/a&gt;&lt;div style="text-align:center;font-size:small"&gt;(¿Una clave con 5 dígitos para elegir? ¡No me jodas!)&lt;/div&gt;&lt;p&gt;Al final resultó que, aunque fallase el proceso, han registrado mis datos, y he podido cambiar la contraseña, acceder a la gestión online, y descubrir las opiniones de quienes han sufrido este banco. Y no me dan ninguna confianza. Dicen que no hay forma de darse de baja, y aunque yo no he firmado nada, se hartarán a enviarme correos ordinarios para pedirme la firma y la cuenta corriente de la que van a traspasar los recibos. Total, mientras no me cobren, que envíen todo el papel que quieran.&lt;/p&gt;&lt;p&gt;Miro la competencia:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Para iBanesto, los que cobran menos de 800 euros no son personas, ni tienen nómina, no es problema para mí, pero esto deja muy claro cual es su actitud.&lt;/li&gt;&lt;li&gt;Los del Santander no dejan las cosas demasiado claras, pero parece que me coserán a comisiones en cuanto me quede otra vez sin trabajo. Cosa inevitable en estos tiempos.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Que se le va a hacer, &lt;em&gt;Spain is different&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;Al final, me voy a un banco endémico de mi provincia, que me prometen el oro y el moro, hasta que deje de ser menor de 26 años. Al final Conxurita siempre acaba teniendo la razón.&lt;/p&gt;&lt;p&gt;Fin de la pataleta.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-7794209558732804748?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/7794209558732804748/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/02/phishing-ni-falta-que-hace.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/7794209558732804748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/7794209558732804748'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/02/phishing-ni-falta-que-hace.html' title='¿Phishing? Ni falta que hace'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_XUj14gVcgSo/S21xzDKtLiI/AAAAAAAAEdU/Hks8jfid0MM/s72-c/bm.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-2793716118358724385</id><published>2010-02-12T08:00:00.000Z</published><updated>2010-02-12T08:00:05.666Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='juegos'/><title type='text'>Especial emuladores</title><content type='html'>&lt;p&gt;A todos aquellos que &lt;strike&gt;creéis&lt;/strike&gt; sabéis que cualquier tiempo pasado fué mejor, os dedico este...&lt;/p&gt;&lt;p style="text-align:center"&gt;&lt;img style="border:0;width: 400px; height: 400px;" src="http://3.bp.blogspot.com/_XUj14gVcgSo/St4ubbDFNyI/AAAAAAAAEME/UtzXrJszC-c/s400/viejo.png" alt="Especial emuladores; para revivir esos clásicos imprescindibles." id="BLOGGER_PHOTO_ID_5394800452288460578" /&gt;&lt;br/&gt;&lt;small&gt;Definitivamente, este blog no es nada serio.&lt;/small&gt;&lt;/p&gt;&lt;h3&gt;Snes9x-gtk&lt;/h3&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_XUj14gVcgSo/S3BYsfwXG6I/AAAAAAAAEhw/HZmIte2jkHA/s1600-h/snes9x.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 373px;" src="http://3.bp.blogspot.com/_XUj14gVcgSo/S3BYsfwXG6I/AAAAAAAAEhw/HZmIte2jkHA/s400/snes9x.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5435942271698017186" /&gt;&lt;/a&gt;&lt;p&gt;Snes9x es un emulador para Super Nintendo Entertainment System, SNES ó Super Famicom, sin interfaz gráfica (esto es, mediante comandos), no libre pero gratuito para uso personal, y bastante bueno. Recientemente Brandon Wright, alias bearoso, creó un frontend en gtk para hacerlo más fácil de usar, y que a mí personalmente me encanta. Es fácil de usar, se integra bastante bien y la emulación es prácticamente perfecta.&lt;/p&gt;&lt;p&gt;Podéis conseguirlo en la &lt;a href="http://code.google.com/p/snes9x-gtk/"&gt;página del proyecto en google code&lt;/a&gt; y entre los &lt;a href="https://launchpad.net/~bearoso/+archive/ppa"&gt;paquetes del Launchpad de bearoso&lt;/a&gt;.&lt;/p&gt;&lt;h3&gt;Zsnes&lt;/h3&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_XUj14gVcgSo/S3BYtMCyqMI/AAAAAAAAEiA/5v4NTVRiKK8/s1600-h/zsnes.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 309px;" src="http://1.bp.blogspot.com/_XUj14gVcgSo/S3BYtMCyqMI/AAAAAAAAEiA/5v4NTVRiKK8/s400/zsnes.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5435942283586480322" /&gt;&lt;/a&gt;&lt;p&gt;Zsnes es, probablemente, el emulador de SNES para linux con más solera. Posee una interfaz propia (bastante arcaica) que cumple su cometido, y una emulación rozando la perfección, ademas de varios filtros y bastantes opciones para mejorar el aspecto gráfico final del juego. En contrapartida se puede decir que, para conseguir los mismos resultados que Snes9x, consume más recursos de procesador. Pero se merece estar aquí.&lt;/p&gt;&lt;p&gt;Está disponible en los repositorios de debian y ubuntu como znes. Su web oficial es &lt;a href="http://www.zsnes.com/"&gt;www.znes.com&lt;/a&gt;.&lt;/p&gt;&lt;h3&gt;Fceux&lt;/h3&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_XUj14gVcgSo/S3BhOEe9MHI/AAAAAAAAEiI/2VKst-EVx6Y/s1600-h/fceux.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 363px;" src="http://4.bp.blogspot.com/_XUj14gVcgSo/S3BhOEe9MHI/AAAAAAAAEiI/2VKst-EVx6Y/s400/fceux.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5435951644585832562" /&gt;&lt;/a&gt;&lt;p&gt;Este es un ligero emulador de Nintendo Entertainment System (NES), o Famicom. Para jugar a los juegos que ahora sólo se ven en las consolas de los chinos, pero sin pasar vergüenza.&lt;/p&gt;&lt;p&gt;Está en los repositorios. Pero no todo puede ser bueno, la interfaz gráfica, gfceux, no funciona si no tenéis python2.5 como versión de Python por defecto (al menos en la versión de los repos), pero tiene solución fácil, teniendo python2.5 instalado, ejecutándolo como "python2.5 $(which gfceux)".&lt;/p&gt;&lt;p&gt;&lt;a href="http://fceux.com/"&gt;Web de fceux&lt;/a&gt;.&lt;/p&gt;&lt;h3&gt;Epsxe&lt;/h3&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_XUj14gVcgSo/S3BYG6PLmAI/AAAAAAAAEhQ/NqHdpqTcqSw/s1600-h/epsxe.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 309px;" src="http://1.bp.blogspot.com/_XUj14gVcgSo/S3BYG6PLmAI/AAAAAAAAEhQ/NqHdpqTcqSw/s400/epsxe.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5435941625971578882" /&gt;&lt;/a&gt;&lt;p&gt;Es cerrado, luce feo, y &lt;a href="/2008/01/ejemplo-el-cdigo-cerrado-del-epsxe.html"&gt;está más caducado que un yogur en una cápsula del tiempo&lt;/a&gt;. Pero está aquí, porque sigue siendo el emulador de PlayStation, la primera, que mejor lo hace. Es cierto que hay que &lt;a href="/2008/02/epsxe-en-ubuntu-gutsy-710-y-amd64.html"&gt;estar haciendo piruetas que para hacerlo andar&lt;/a&gt; pero bueno, sigue siendo el mejor.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.epsxe.com/"&gt;Web oficial de epsxe&lt;/a&gt;.&lt;/p&gt;&lt;h3&gt;Gens&lt;/h3&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_XUj14gVcgSo/S3BYHiJ8nqI/AAAAAAAAEhY/2xdc4_h-j_E/s1600-h/gens.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 327px;" src="http://1.bp.blogspot.com/_XUj14gVcgSo/S3BYHiJ8nqI/AAAAAAAAEhY/2xdc4_h-j_E/s400/gens.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5435941636687044258" /&gt;&lt;/a&gt;&lt;p&gt;Emulador de Sega Genesis, o como la conocemos a este lado de ése charco, Sega Megadrive. Porque jugar al Sonic 3 con filtros, a todo color, y con un sonido excelente es algo que no se puede pagar con dinero, puede que con sexo sí, pero no con dinero.&lt;/p&gt;&lt;p&gt;Paquetes precompilados para Debian (y Ubuntu) y Red Hat en &lt;a href="http://gens.sourceforge.net/"&gt;la web de Gens en sourceforge&lt;/a&gt;.&lt;/p&gt;&lt;h3&gt;DesMuMe&lt;/h3&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_XUj14gVcgSo/S3BYGpSAd3I/AAAAAAAAEhI/mBH0B8uYnl4/s1600-h/desmume.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 237px; height: 400px;" src="http://1.bp.blogspot.com/_XUj14gVcgSo/S3BYGpSAd3I/AAAAAAAAEhI/mBH0B8uYnl4/s400/desmume.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5435941621420029810" /&gt;&lt;/a&gt;&lt;p&gt;Los emuladores del último despropósito portátil de Nintendo, adalid de juegazos como "Imagina ser... idiota", "CanguroZ" y "Barbie visita el huerto por enésima vez, de rosa y montada a caballo hermafrodita", ambos de Ubisoft.&lt;/p&gt;&lt;p&gt;Vale, tiene juegos decentes, pocos, muy pocos, poquísimos, poquitísimos, pero haberlos haylos. Como la consola está algo recién salida del horno (es un decir) la emulación dista de ser perfecta, aunque se está trabajando en ello, y muchos juegos son jugables, incluso alguno lo he disfrutado (durante 30 segundos), así que aquí queda eso.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.desmume.com/"&gt;Web del proyecto&lt;/a&gt;.&lt;/p&gt;&lt;h3&gt;Mame&lt;/h3&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_XUj14gVcgSo/S3BYIF4KMPI/AAAAAAAAEhg/qjGTmN4Im0Q/s1600-h/mame.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 310px;" src="http://1.bp.blogspot.com/_XUj14gVcgSo/S3BYIF4KMPI/AAAAAAAAEhg/qjGTmN4Im0Q/s400/mame.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5435941646276112626" /&gt;&lt;/a&gt;&lt;p&gt;La archiconocida quimera de la emulación de máquinas recreativas, y funciona, aunque sin 3D. Aunque tiempo al tiempo. Nada como jugar al King Of Fighters o el Street Fighter 2 como japón los trajo al mundo.&lt;/p&gt;&lt;p&gt;En los repositorios como xmame o sdlmame (este último es preferido), con sus frontends kxmame y gmameui. La web de xmame ha desaparecido y aquí está la &lt;a href="http://rbelmont.mameworld.info/?page_id=163"&gt;web de sdlmame&lt;/a&gt;.&lt;br /&gt;&lt;h3&gt;VisualBoyAdvance&lt;/h3&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_XUj14gVcgSo/S3BYsvA3YeI/AAAAAAAAEh4/ZAeRN-_QWfo/s1600-h/vba.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 302px;" src="http://4.bp.blogspot.com/_XUj14gVcgSo/S3BYsvA3YeI/AAAAAAAAEh4/ZAeRN-_QWfo/s400/vba.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5435942275793773026" /&gt;&lt;/a&gt;&lt;p&gt;El emulador por excelencia de GameBoy Advance, permitiendo jugar también a los de Gameboy y Gameboy Color. Sí, se que los juegos diseñados para la portátil pueden considerarse "poco atractivos" para jugar en un ordenador pero, ¿y si estamos hablando de un netbook? ¿Y si estamos hablando de imprescindibles como Golden Sun y su secuela o Final Fantasy Chrystal Chronicles? Pues eso, a jugar.&lt;/p&gt;&lt;p&gt;En los repositorios: visualboyadvance y visualboyadvace-gtk (el ejecutable se llama gvba).&lt;/p&gt;&lt;p&gt;&lt;a href="http://vba.ngemu.com/"&gt;Página web del proyecto&lt;/a&gt;.&lt;/p&gt;&lt;h3&gt;ScummVM&lt;/h3&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_XUj14gVcgSo/S3BYImUq5lI/AAAAAAAAEho/ODDm7LifReU/s1600-h/scummvm.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_XUj14gVcgSo/S3BYImUq5lI/AAAAAAAAEho/ODDm7LifReU/s400/scummvm.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5435941654985631314" /&gt;&lt;/a&gt;&lt;p&gt;Supongo que no esperábais el SCUMMVM aquí. ¿Es un emulador? ¿Un pájaro? ¿Un avión? Aclaro. No es un emulador al uso, ya que no se dedica a traducir instrucciones de memoria, procesadores, y chips gráficos. Es mas bien un motor que, sustituyendo a los originales de las aventuras gráficas de LucasArts, Sierra, y otras, permite usar sus archivos y jugarlas tal cual lo harías normalmente y normalmente no puedes, porque son muy antiguas, no son para tu arquitectura de procesador o sistema operativo... Pero merece estar aquí, porque hace para nosotros exactamente lo mismo que un emulador: permitirnos jugar en nuestro ordenador, PSP, GP2X, o incluso en nuestro móvil, a juegos para otras plataformas, en definitiva, permitirnos revivir esos clásicos imprescindibles.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://scummvm.org/"&gt;Página web del proyecto&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://scummvm.org/compatibility/"&gt;Lista de aventuras gráficas soportadas&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://scummvm.org/downloads/#extras"&gt;Juegos liberados para scummvm y archivos requeridos para otros&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-2793716118358724385?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/2793716118358724385/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/02/especial-emuladores.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/2793716118358724385'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/2793716118358724385'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/02/especial-emuladores.html' title='Especial emuladores'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_XUj14gVcgSo/St4ubbDFNyI/AAAAAAAAEME/UtzXrJszC-c/s72-c/viejo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-5134031313240193535</id><published>2010-02-11T08:00:00.000Z</published><updated>2010-02-11T08:00:04.781Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='minipost'/><title type='text'>El costo de haber cerrado en Enero</title><content type='html'>&lt;p&gt;En Enero cerramos, y tal como me esperaba, ha habido consecuencias en cuanto a visitas,que han descendido un 8%. Pero no pasa nada, &lt;a href="http://spayder26.blogspot.com/2010/02/cerramos-en-enero-reabrimos-en-febrero.html"&gt;ha sido por una buena causa&lt;/a&gt;.&lt;/p&gt;&lt;div style="text-align:center"&gt;&lt;br /&gt;&lt;img src="http://chart.apis.google.com/chart?chtt=Visitas&amp;amp;chts=000000,16&amp;amp;chs=400x300&amp;amp;chf=bg,s,fbf9f4|c,s,ffffff&amp;amp;chxt=x,y&amp;amp;chxl=0:|Oct|Nov|Dic|Ene|1:|0|263|526|789|1052&amp;amp;cht=bvs&amp;amp;chd=t:100.00|0.00,99.04|0.00,0.00,97.33|0.00,0.00,0.00,89.82&amp;amp;chdl=Octubre,+1052+visitas|Noviembre,+1042+visitas|Diciembre,+1024+visitas|Enero,+945+visitas&amp;amp;chco=00cc00,cc9900,6666cc,ff9900&amp;amp;chbh=50" alt="Google Chart"/&gt;&lt;/div&gt;&lt;p&gt;Un 8% no parece una bajada tan pronunciada, pero la verdad es que teniendo en cuenta que la mayoría de las visitas van encaminadas a unos pocos tutoriales, guiados por Google, es una caída importante de lectores asiduos, los que de verdad importan.&lt;/p&gt;&lt;p&gt;Pero no todo va a ser malo, el hecho de descansar un poco de la bitácora, ha hecho que vuelva con las pilas recargadas, y con más ganas de escribir que nunca. A ver cuánto me dura...&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-5134031313240193535?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/5134031313240193535/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/02/el-costo-de-haber-cerrado-en-enero.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/5134031313240193535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/5134031313240193535'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/02/el-costo-de-haber-cerrado-en-enero.html' title='El costo de haber cerrado en Enero'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-8573133211602464786</id><published>2010-02-10T08:00:00.000Z</published><updated>2010-02-10T08:00:04.049Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='información relevante'/><title type='text'>Trabajar en la nube</title><content type='html'>&lt;p&gt;Mucho se habla de las soluciones de la nube, y más concretamente los servicios en línea que vienen a sustituir aplicaciones de escritorio, pero su grado de penetración de mercado es residual. Cierto es que trabajo entre usuarios informáticos de muy baja capacitación, pero me sigue sorprendiendo que prefieran la inoperancia de vetustos programas a la agilidad de trabajo de estas nuevas herramientas.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_XUj14gVcgSo/S21qM_H-7bI/AAAAAAAAEcs/4urF2k0sSv0/s1600-h/gdocs.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 318px;" src="http://1.bp.blogspot.com/_XUj14gVcgSo/S21qM_H-7bI/AAAAAAAAEcs/4urF2k0sSv0/s400/gdocs.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5435117096641949106" /&gt;&lt;/a&gt;&lt;p&gt;Por otro lado, sé que a muchos de vosotros os asusta que Google tenga tanta información sobre vosotros, es comprensible, pero aunque tome como ejemplo a Google Docs, será extrapolable a otras soluciones de otras empresas, como Zoho.&lt;/p&gt;&lt;p&gt;Si no trabajáis en la nube, al crear, por ejemplo, un documento de texto con formato, creáis un archivo en vuestro disco duro. Sí, únicamente en vuestro disco duro. Y esto no está mal en absoluto.&lt;/p&gt;&lt;p&gt;Si alguien os pide ese documento porque, al fin y al cabo, ni vivís, ni trabajáis o estudiáis solos, lo normal es hacer un email y se lo adjuntas o, siendo muy optimista, usáis un servicio de almacenamiento online como un FTP público. Hasta ahí todo bien.&lt;/p&gt;&lt;p&gt;El documento, será susceptible de correcciones y modificaciones, por varias personas, y cada uno acabará teniendo una decena de versiones irreconciliables del mismo documento original en cada unas de las bandejas de vuestros correos.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_XUj14gVcgSo/S21qNK1uI9I/AAAAAAAAEc0/6Yw6nh9pl_A/s1600-h/zwriter.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 268px;" src="http://2.bp.blogspot.com/_XUj14gVcgSo/S21qNK1uI9I/AAAAAAAAEc0/6Yw6nh9pl_A/s400/zwriter.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5435117099786576850" /&gt;&lt;/a&gt;&lt;p&gt;Cuando se trabaja en la nube, solo hay un documento, en la nube, y si además usáis un editor colaborativo, todos vosotros podréis modificar, a la vez, el mismo documento y ver todos los cambios que vayáis realizando en el mismo, teniendo y trabajando siempre sobre la versión actualizada.&lt;/p&gt;&lt;p&gt;Ello no evita que en un momento dado, si queréis, hagáis una copia sólo para vosotros, o creéis un documento que no queréis compartir. Pero en cualquier caso, vuestros documentos siempre estarán accesibles desde cualquier ordenador con conexión a Internet.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_XUj14gVcgSo/S21qNdbB7jI/AAAAAAAAEc8/yYCFrYTAWUo/s1600-h/gdocs2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 337px;" src="http://2.bp.blogspot.com/_XUj14gVcgSo/S21qNdbB7jI/AAAAAAAAEc8/yYCFrYTAWUo/s400/gdocs2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5435117104774901298" /&gt;&lt;/a&gt;&lt;p&gt;La aparente falta de funcionalidad de muchos de los servicios, muchas de ellas absolutamente superfluas, de las que los usuarios menos capacitados usualmente abusan, no son tanto por las limitaciones de las tecnologías usadas para desarrollar estas herramientas (juntar XHTML, Javascript y un navegador que no sea una &lt;strike&gt;puta mierda como Internet Explorer&lt;/strike&gt; porquería, tiene un potencial prácticamente ilimitado) sino por la decisión unilateral de no añadir funcionalidades "basura", que no hacen más que complicar la interfaz de cualquier aplicación.&lt;/p&gt;&lt;p&gt;Mucho podría hablar sobre el mal diseño de interfaces, y la adicción a las mismas de usuarios de bajo nivel. Pero este no es el tema y, como podéis comprobar, los beneficios son muchos.&lt;/p&gt;&lt;strong&gt;Aquí tenéis una lista de editores colaborativos&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://docs.google.com"&gt;Google Docs&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://writer.zoho.com"&gt;Zoho writer&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.adobe.com/acom/buzzword/"&gt;Adobe Buzzword&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.beweevee.com/"&gt;beweevee&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.showdocument.com/"&gt;showdocument&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.zhura.com/"&gt;Zhura&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-8573133211602464786?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/8573133211602464786/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/02/trabajar-en-la-nube.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/8573133211602464786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/8573133211602464786'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/02/trabajar-en-la-nube.html' title='Trabajar en la nube'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_XUj14gVcgSo/S21qM_H-7bI/AAAAAAAAEcs/4urF2k0sSv0/s72-c/gdocs.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-8100738401930044655</id><published>2010-02-09T08:00:00.004Z</published><updated>2010-02-09T19:27:49.569Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='monografías'/><title type='text'>Fotos de la lluvia de febrero</title><content type='html'>&lt;p&gt;A principios de febrero, en Canarias, ha caído agua, mucha agua, y una amiga me ha enviado una recopilación de fotos de la correspondiente inundación de Santa Cruz.&lt;/p&gt;&lt;div style="text-align:center"&gt;&lt;embed type="application/x-shockwave-flash" src="http://picasaweb.google.com/s/c/bin/slideshow.swf" width="400" height="267" flashvars="host=picasaweb.google.com&amp;captions=1&amp;noautoplay=1&amp;hl=es&amp;feat=flashalbum&amp;RGB=0x000000&amp;feed=http%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2Fspayder26%2Falbumid%2F5435800652497422609%3Falt%3Drss%26kind%3Dphoto%26hl%3Des" pluginspage="http://www.macromedia.com/go/getflashplayer"&gt;&lt;/embed&gt;&lt;/div&gt;&lt;p&gt;¿Porqué cada vez que llueve, Santa Cruz de inunda? Es normal cuando la planificación urbana de una ciudad de realiza conforme a amiguismos, falsos concursos públicos adjudicados a dedo y se desvían dinero destinado a obras públicas a bolsillos privados. Ale, a seguir votando a los mismos.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;EDITO&lt;/strong&gt;, que se me había olvidado:&lt;/p&gt;&lt;object width="425" height="344" style="width:425px;margin:0 auto;display:block;"&gt;&lt;param name="movie" value="http://www.youtube-nocookie.com/v/rmCpOKtN8ME&amp;hl=es_ES&amp;fs=1&amp;rel=0"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube-nocookie.com/v/rmCpOKtN8ME&amp;hl=es_ES&amp;fs=1&amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-8100738401930044655?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/8100738401930044655/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/02/fotos-de-la-lluvia-de-febrero.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/8100738401930044655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/8100738401930044655'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/02/fotos-de-la-lluvia-de-febrero.html' title='Fotos de la lluvia de febrero'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-7674357143924008623</id><published>2010-02-08T08:00:00.002Z</published><updated>2010-02-08T08:00:01.973Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='cine'/><title type='text'>Cine: The Road (La carretera)</title><content type='html'>&lt;p&gt;De entrada aclarar que no soy yo muy de hacer propaganda gratuita a productos meramente comerciales como puede ser el cine americano (y ni hablar de la basura hipersubvencionada española).&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_XUj14gVcgSo/S27Qocx6UhI/AAAAAAAAEdc/cvQZ2UrGuFk/s1600-h/MV5BMTc1ODQxMDI1NF5BMl5BanBnXkFtZTcwMjI5NTUwMw%40%40._V1._SX360_SY360_.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 360px; height: 360px;" src="http://4.bp.blogspot.com/_XUj14gVcgSo/S27Qocx6UhI/AAAAAAAAEdc/cvQZ2UrGuFk/s400/MV5BMTc1ODQxMDI1NF5BMl5BanBnXkFtZTcwMjI5NTUwMw%40%40._V1._SX360_SY360_.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5435511193621647890" /&gt;&lt;/a&gt;&lt;p&gt;Esta película de 111 minutos es una por las que vale la pena pagar. Un argumento sólido, y un buen enfoque al manido tema postapocalíptico: la lucha por la supervivencia cuando la supervivencia es poco más que imposible.&lt;/p&gt;&lt;p&gt;No esperéis otro Resident Evil, ni una chorrada del estilo 2012, esta película tiene más que ver con Gorilas en la niebla. Es un drama, no una película de acción.&lt;/p&gt;&lt;p&gt;Muy bien actuada, hasta el punto que el papel de Viggo Mortensen queda eclipsado por actores de reparto como Robert Duvall (que hace del viejo Eli) o Michael K. Williams (el ladrón). Con una fotografía y efectos especiales maravillosos, y un buen guión increíblemente desarrollado, de verdad que te crees que el mundo se ha acabado, y después solo quedan hambre, locura y muerte.&lt;/p&gt;&lt;p&gt;Por si no ha quedado claro, la recomiendo para todo aquel que quiera ver una buena película.&lt;/p&gt;&lt;p&gt;Entrada de la &lt;a href="http://www.imdb.es/title/tt0898367/"&gt;película en el imdb&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-7674357143924008623?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/7674357143924008623/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/02/cine-road-la-carretera.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/7674357143924008623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/7674357143924008623'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/02/cine-road-la-carretera.html' title='Cine: The Road (La carretera)'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_XUj14gVcgSo/S27Qocx6UhI/AAAAAAAAEdc/cvQZ2UrGuFk/s72-c/MV5BMTc1ODQxMDI1NF5BMl5BanBnXkFtZTcwMjI5NTUwMw%40%40._V1._SX360_SY360_.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-8476253420513661975</id><published>2010-02-07T08:00:00.025Z</published><updated>2010-02-09T20:19:43.608Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='monografías'/><title type='text'>¿Quien inventó el Blu-ray?</title><content type='html'>&lt;p&gt;Esta entrada no va de patentes. Las patentes frenan el desarrollo tecnológico y dan un poder inmenso a grandes multinacionales que usarán única y exclusivamente para extorsionar a empresas mas pequeñas. Pero esto no va sobre patentes.&lt;/p&gt;&lt;p&gt;Esta entrada viene de un genio, científico, que ha logrado grandes cosas que han pasado demasiado desapercibidas entre la mayoría de vosotros. Pero primero os contextualizaré.&lt;/p&gt;&lt;p&gt;Recién estrenados los años noventa, la electrónica, circuitos integrados de una escala que a día de hoy serían considerados gigantescos, sus enormes y vetustos controladores integrados, y por supuesto, sus diodos.&lt;/p&gt;&lt;p&gt;El diodo emisor de luz, o LED, es decir, un semiconductor con dos estados uno de ellos con la peculiaridad de emitir luz, dados los avances en materia de semiconductores, por limitaciones físicas, sólo podía emitir luz roja. Al igual que cualquier tipo de láser en ese momento. Lo que limitaba enormemente sus aplicaciones, puesto que la luz roja tiene la mayor longitud de onda y la menor frecuencia de todo el espectro visible por el hombre, lo que inevitablemente la convierte en la menos precisa. No obstante, parecía ser suficiente, como evidencia el desarrollo de la tecnología de almacenamiento óptico, CD  (1985) y DVD (1996), usando esta tecnología.&lt;/p&gt;&lt;p&gt;&lt;a href="http://3.bp.blogspot.com/_XUj14gVcgSo/S2anlAseSYI/AAAAAAAAEbM/M1ukdIQUS3c/s1600-h/led.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_XUj14gVcgSo/S2anlAseSYI/AAAAAAAAEbM/M1ukdIQUS3c/s320/led.jpg" /&gt;&lt;/a&gt;Entonces fué cuando Shūji Nakamura, ingeniero electrónico japonés y empleado de la corporación Nichia, desarrolló el LED de nitruro de galio con luz azul. Si bien las propiedades lumínicas del nitruro de galio se conocían desde los 60, nunca se habían considerado aprovechables. Además, este LED azul, con una cobertura extra de fósforo, se convirtió en el primer LED de luz blanca, un hito histórico, presentado en 1993, y que le ha valido a Nakamura un gran reconocimiento internacional por sentar las bases de lo que hoy conocemos como "bombillas" LED (aunque el término bombilla sea muy incorrecto), muy eficientes y con una potencia lumínica muy superior a los tubos fosforescentes.&lt;/p&gt;&lt;p&gt;Toda esta tecnología, que sentó las bases que hicieron posibles el desarrollo de las grandes pantallas LED, del LCD+LED, que incrementan espectacularmente la nitidez del LCD; del OLED, LED orgánicos que posibilitan pantallas muy finas y flexibles; y del Blu-ray.&lt;/p&gt;&lt;p&gt;El Blu-ray, originalmente BD-Rom, fué diseñado por Sony, y paralelamente por Pioneer, aprovechando que un láser de luz azul, siendo este espectro el de más frecuencia y menor longitud de onda, es muchísimo más preciso que el rojo. Si a esto añadimos los avances tecnológicos que permitían crear lentes más pequeñas, resultó que ahora se podía grabar y leer más datos en un espacio menor, siendo además esta capacidad multiplicada al poseer más de una capa de datos.&lt;/p&gt;&lt;p&gt;Sony se considera creadora del Blu-ray, y de hecho fué corriendo a la oficina de patentes incluso sin haberlo creado todavía, como si mereciese algún mérito el cambiarle el nombre a algo que ya existía.&lt;/p&gt;&lt;p&gt;El auténtico creador de la tecnología fué Shūji Nakamura, un genio de la electrónica, en su etapa en Echi Corporation. Hoy es profesor en la Universidad de California Santa Bárvara (UCSB) y ha recibido diversos galardones: Society for Information Display (1996), Rank Prize (Reino Unido, 1998), Premio de Electrónica Cuántica del Instituto de Ingenieros Eléctricos y Electrónicos de EEUU. (2002), a Medalla Benjamin Franklin (2002), Premio de Tecnología del Milenio de Finlandia (2006), el premio Príncipe de Asturias de Investigación Científica y Técnica (2008), Doctor Honorario de Ingeniería por la Universidad de Hong Kong (2008) y el Premio Harvey Prize por la Technion de Israel (2009).&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_XUj14gVcgSo/S2asNYPP-DI/AAAAAAAAEbU/ApDIpC1JNW0/s1600-h/NakamuraShuji.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/_XUj14gVcgSo/S2asNYPP-DI/AAAAAAAAEbU/ApDIpC1JNW0/s320/NakamuraShuji.jpg" width="256" /&gt;&lt;/a&gt;&lt;br /&gt;Lo dicho, Shūji Nakamura, un genio.&lt;/div&gt;&lt;blockquote&gt;Fiat lux&lt;/blockquote&gt;&lt;p style="text-align: right;"&gt;(Anónimo. Proverbio del latín y lema de la UCSB. Hágase la luz.)&lt;/p&gt;&lt;strong&gt;Créditos:&lt;/strong&gt;&lt;ul&gt;&lt;li&gt;La foto de Shuji Nakamura es de &lt;a href="http://engineering.ucsb.edu/news/179/image/157/"&gt;Randy Lamb, UCSB&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Fuentes:&lt;/strong&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.time.com/time/magazine/article/0,9171,1604891,00.html"&gt;Shuji Nakamura en la revista Time&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Shuji_Nakamura"&gt;Shuji Nakamura en la wikipedia&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Si queréis saber más, tenéis &lt;a href="http://www.amazon.com/gp/product/1591024625"&gt;Brilliant!: Shuji Nakamura And the Revolution in Lighting Technology&lt;/a&gt;, un libro de &lt;a href="http://www.amazon.com/Bob-Johnstone/e/B001IYXA8Q"&gt;Bob Johnstone&lt;/a&gt;, o ir a estudiar electronica en la Universidad de Santa Barbara y preguntarle.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-8476253420513661975?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/8476253420513661975/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/02/quien-invento-el-blu-ray.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/8476253420513661975'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/8476253420513661975'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/02/quien-invento-el-blu-ray.html' title='¿Quien inventó el Blu-ray?'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_XUj14gVcgSo/S2anlAseSYI/AAAAAAAAEbM/M1ukdIQUS3c/s72-c/led.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-4350181040896862470</id><published>2010-02-06T08:00:00.001Z</published><updated>2010-02-06T08:00:06.844Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='juegos'/><title type='text'>Syntensity</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_XUj14gVcgSo/S2Q6lDqgL6I/AAAAAAAAEbE/jLOWMbNn21I/s1600-h/screenshot_lobby.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_XUj14gVcgSo/S2Q6lDqgL6I/AAAAAAAAEbE/jLOWMbNn21I/s320/screenshot_lobby.jpg" /&gt;&lt;/a&gt;&lt;p&gt;De vez en cuando, un par de alemanes locos, Wouter van Oortmerssen y Lee Salzman, crean el motor 3D definitivo en cuanto a deleite visual y rendimiento, Cube2 Engine, y como prueba de concepto crean un juego de disparos del montón, &lt;a href="http://spayder26.blogspot.com/2007/11/sauerbraten-cube-2.html"&gt;Sauerbraten&lt;/a&gt;, que aunque bonito, jugable, y divertido no resulta para nada innovador. Eventualmente se les ocurre crear un mmorpg con el motor, Eisensterm, que luce increíblemente bien, pero cuyo desarrollo se toman con &lt;em&gt;demasiada&lt;/em&gt; paciencia.&lt;/p&gt;&lt;p&gt;Pero no todo va a ser malo porque, eventualmente, de la comunidad de &lt;em&gt;modders&lt;/em&gt; surgen varios locos capaces de convertir una buena idea en una idea aún mejor, Syntesity: un metaverso (todavía verde), construido sobre Cube 2 Engine (reciclando Sauerbraten), sobre el que construir y acceder a diferentes juegos, por ahora prototipos de varios juegos de disparos, uno de pintar otro de carreras.&lt;/p&gt;&lt;a href="http://4.bp.blogspot.com/_XUj14gVcgSo/S2Q6cPFFJSI/AAAAAAAAEa8/xtjALylTLBc/s1600-h/screenshot_430540.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_XUj14gVcgSo/S2Q6cPFFJSI/AAAAAAAAEa8/xtjALylTLBc/s320/screenshot_430540.jpg" /&gt;&lt;/a&gt;&lt;p&gt;Es mandatario seguir la pista a este juego, ya que de él, de entrada, pueden surgir tanto el primer juego de carreras realmente divertido para linux (excluyendo a Supertuxkart, claro), como toda una nueva serie de minijuegos y juegos realmente innovadores, y quien sabe, tal vez ese esperadísimo MMORPG ambientado en medio de la guerra entre Decapod 10 y la Tierra&lt;sup&gt;1&lt;/sup&gt;.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.syntensity.com/"&gt;Página de Syntensity&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://sauerbraten.org/"&gt;Página de Sauerbraten&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://eisenstern.com/"&gt;Página de Eisenstern&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;ol&gt;&lt;li&gt;No creo que a Matt Groening le haga mucha gracia, pero siempre podremos soñar...&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-4350181040896862470?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/4350181040896862470/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/02/syntensity.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/4350181040896862470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/4350181040896862470'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/02/syntensity.html' title='Syntensity'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_XUj14gVcgSo/S2Q6lDqgL6I/AAAAAAAAEbE/jLOWMbNn21I/s72-c/screenshot_lobby.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-6538235022282989581</id><published>2010-02-05T08:00:00.000Z</published><updated>2010-02-05T08:00:06.854Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='descargas'/><title type='text'>Gnome Schedule</title><content type='html'>&lt;p&gt;Para los adictos a la eficiencia, tareas programadas, o esos extraños señores obsesionados con ejecutar acciones repetitivas, existe un demonio (de los que se ejecutan en segundo plano, no de esos rojos con cuernos) llamado cron, y una utilidad llamada at.&lt;/p&gt;&lt;p&gt;Cron, aunque simple, no es muy amigo de los novatos, quizás sea porque la sintaxis del crontab (su fichero de configuración) luzca extraña o porque, todo hay que decirlo, es tímido, hace lo que tiene que hacer, y como viene, se va, en silencio, cabizbajo, directo a su agujero. At es mas sencillo, siendo un comando que permite que el comando dado se ejecute a una hora determinada.&lt;/p&gt;&lt;p&gt;Ambos son la pareja perfecta para planificar, retrasar, o definir intervalos para la ejecución de comandos, y para facilitarnos la vida, &lt;a href="http://gaute.vetsj.com/"&gt;Gaute Hope&lt;/a&gt; &lt;strike&gt;el amigo de los niños&lt;/strike&gt;, ha creado una completa y agradable aplicación que simplifica enormemente lo anterior: &lt;a href="ttp://gnome-schedule.sourceforge.net/"&gt;Gnome Schedule&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Podéis encontrar &lt;a href="http://gnome-schedule.sourceforge.net/"&gt;su página en Sourceforge&lt;/a&gt;, &lt;a href="http://packages.ubuntu.com/karmic/gnome-schedule"&gt;su entrada en packages.ubuntu.com&lt;/a&gt;, o instalarlo desde el repositorio 'universe', de Ubuntu, teniéndolo activado como origen de software, con vuestro gestor de paquetes preferido (Packagekit, Synaptic, aptitude, apt-get...) o usando &lt;a href="apt://gnome-schedule"&gt;apturl&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-6538235022282989581?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/6538235022282989581/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/02/gnome-schedule.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/6538235022282989581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/6538235022282989581'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/02/gnome-schedule.html' title='Gnome Schedule'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-2859095209342595195</id><published>2010-02-04T08:00:00.002Z</published><updated>2010-02-04T08:00:05.830Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='cultura libre'/><title type='text'>Sintel: Durian Blender Open Movie Project</title><content type='html'>Los chicos de Blender, después de deleitarnos con Elephant's Dream y Big Buck Bunny, vuelven a hacerlo con una nueva obra maestra de la animación por ordenador, utilizando únicamente herramientas de software libre, y su talento.&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_XUj14gVcgSo/S1QxzYrcbaI/AAAAAAAAEZ0/nyRMUL3vXmU/s1600-h/sintel-paintover-wip05.jpeg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5428018209756048802" src="http://4.bp.blogspot.com/_XUj14gVcgSo/S1QxzYrcbaI/AAAAAAAAEZ0/nyRMUL3vXmU/s400/sintel-paintover-wip05.jpeg" style="cursor: hand; cursor: pointer; display: block; height: 400px; margin: 0px auto 10px; text-align: center; width: 285px;" /&gt;&lt;/a&gt;&lt;br /&gt;Para quien no lo sepa, Blender es, desde el punto de vista técnico, una potente aplicación de de modelado 3D, animación 3D, con soporte para &lt;em&gt;shaders&lt;/em&gt;, iluminación multifocal y difuminada, texturizados, físicas, motor para videojuegos, y Python como lenguaje &lt;em&gt;scripting&lt;/em&gt;. En la práctica, es uno de los principales adalides de las altas cotas de calidad del software libre, algo que la Fundación Blender, está empeñada en demostrar a todos, como ya ha venido haciendo, con los siguientes proyectos:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Proyecto Orange: Elephant's Dream, un corto onírico con estética &lt;em&gt;steampunk&lt;/em&gt; en la que un joven y un anciano se adentran en el mundo de los sueños.&lt;/li&gt;&lt;li&gt;Proyecto Peach: Big Buck Bunny, otro corto, con estética mucho más vistosa, divertido, en la que un enorme conejo demuestra quién manda a un grupo de ardillas.&lt;/li&gt;&lt;li&gt;Proyecto Apricot: Yo! Frankie, un videojuego de gran calidad gráfica (no opinaré sobre el aspecto jugable) que toma como protagonista a una de las ardillas de Big Buck Bunny, enfocado a demostrar la potencia del motor para videojuegos de Blender.&lt;/li&gt;&lt;li&gt;Proyecto Durian: Sintel, el corto actualmente en proceso de producción, destinado a un público adolescente, y ambientado en un mundo fantástico.&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://2.bp.blogspot.com/_XUj14gVcgSo/S1QxzrdpoNI/AAAAAAAAEZ8/VbgZXwNHNUY/s1600-h/dsc00098.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" style="display: block; text-align: center;"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5428018214798467282" src="http://2.bp.blogspot.com/_XUj14gVcgSo/S1QxzrdpoNI/AAAAAAAAEZ8/VbgZXwNHNUY/s400/dsc00098.jpg" style="cursor: hand; cursor: pointer; display: block; height: 300px; margin: 0px auto; text-align: center; width: 400px;" /&gt;&lt;small&gt;Lee Salvemini&lt;/small&gt;&lt;/a&gt;&lt;br /&gt;De hecho, el numeroso equipo, apoyados económicamente por la misma Fundación Blender y varios patrocinadores (a los que cualquiera puede sumarse), han participado también en proyectos anteriores, aspiran a realizar el proyecto con el mínimo presupuesto posible (casi todos colaboran en su tiempo libre), y son profesionales, muchos trabajando para empresas importantes del sector. Iba a copiarlos a todos aquí pero son muchos y podéis verlos, algunos con portafolio, &lt;a href="http://durian.blender.org/about/"&gt;en la página del proyecto, sección &lt;em&gt;About&lt;/em&gt;, apartado &lt;em&gt;Core Team&lt;/em&gt;&lt;/a&gt;.&lt;br /&gt;Más información en &lt;a href="http://durian.blender.org/"&gt;durian.blender.org&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;Crédito:&lt;/strong&gt; Las imágenes son propiedad de  Blender Foundation, y están licenciadas bajo &lt;a href="http://creativecommons.org/licenses/by/3.0/"&gt;Creative Commons Attribution 3.0&lt;/a&gt;.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-2859095209342595195?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/2859095209342595195/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2009/12/sintel-durian-blender-open-movie.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/2859095209342595195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/2859095209342595195'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2009/12/sintel-durian-blender-open-movie.html' title='Sintel: Durian Blender Open Movie Project'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_XUj14gVcgSo/S1QxzYrcbaI/AAAAAAAAEZ0/nyRMUL3vXmU/s72-c/sintel-paintover-wip05.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-5517464989999488659</id><published>2010-02-03T08:00:00.008Z</published><updated>2010-02-03T08:00:03.055Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='descargas'/><title type='text'>Videos y musica del PC a la PS3</title><content type='html'>&lt;p&gt;Ojeando por internet sobre como montar un servidor multimedia y acceder al contenido de mi ordenador desde mi nueva PlayStation3, me topé con PS3 Media Server, que no sólo cumple su cometido con creces, permitiendo ver mis fotos, vídeos, e incluso escuchar la música almacenada en mi disco duro, todo ello a través de la WIFI en mi televisor; sino que además permite transcoding, esto es conversión en tiempo real, para aquellos formatos que la consola de Sony sea incapaz de reproducir (cosas del software privativo).&lt;/p&gt;&lt;p&gt;Está programado en Java (nada es perfecto), es multiplataforma, y es libre.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_XUj14gVcgSo/S1Quz1hO6II/AAAAAAAAEZs/4oOgzhtaYXY/s1600-h/linux.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 232px;" src="http://4.bp.blogspot.com/_XUj14gVcgSo/S1Quz1hO6II/AAAAAAAAEZs/4oOgzhtaYXY/s320/linux.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5428014918962964610" /&gt;&lt;/a&gt;&lt;p&gt;Podéis encontrarlo en &lt;a href="http://code.google.com/p/ps3mediaserver/"&gt;su página en Google Code&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Créditos&lt;/strong&gt;: La captura de pantalla me la he fusilado de la web del proyecto.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-5517464989999488659?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/5517464989999488659/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/02/videos-y-musica-del-pc-la-ps3.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/5517464989999488659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/5517464989999488659'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/02/videos-y-musica-del-pc-la-ps3.html' title='Videos y musica del PC a la PS3'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_XUj14gVcgSo/S1Quz1hO6II/AAAAAAAAEZs/4oOgzhtaYXY/s72-c/linux.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-528375648328072899</id><published>2010-02-02T08:00:00.003Z</published><updated>2010-02-02T08:00:02.992Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='cultura libre'/><title type='text'>¿Qué es el iPad?</title><content type='html'>&lt;p&gt;Sí, sé que esta entrada viene con retraso, pero el blog estaba cerrado en contra de la censura, se siente.&lt;/p&gt;&lt;p&gt;Respondiendo a la pregunta: el iPad es muchas cosas:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Si preguntas a los señores de Marketing, incluyendo a Steve Jobs, de la empresa más cerrada, obtusa, y enemiga de las libertad del software, te dirán que es una revolución, algo que hay que tener, un Mac pero mejor que un Mac, la nueva forma de conectarse a internet...&lt;/li&gt;&lt;li&gt;Si preguntas a alguien independiente, te dirá que es un iPhone, grande, más caro o muchísimo más caro dependiendo de la versión, con todas sus limitaciones heredadas de su obtuso y cerradísimo sistema operativo, diseñado por Apple para encontrar otro producto blindado a terceros con los que ganar mucho dinero.&lt;/li&gt;&lt;li&gt;Si preguntas a cualquiera de los que apoyamos el software libre, te diremos que es una piedra con una bonita carcasa, con la que la empresa que mejor sabe hacer sentir a sus esclavizados usuarios pretende exprimir los bolsillos de esa gente que cree guay por tener algo inútil de diseño que vale una fortuna.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Y como este es mi blog, y no voy a comisión (si alguien de Apple quiere sobornarme, mejor que me compre un Nexus One libre), toca desarrollar este tercer planteamiento.&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_XUj14gVcgSo/S2LzMiIahMI/AAAAAAAAEa0/cQsbBS8HMog/s1600-h/ichorrada.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="285" src="http://1.bp.blogspot.com/_XUj14gVcgSo/S2LzMiIahMI/AAAAAAAAEa0/cQsbBS8HMog/s400/ichorrada.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;El iPhoneOS, el sistema operativo común entre iPad e iPhone, es un software limitado por diseño, cerradísimo, que sólo puede ejecutar las aplicaciones que Apple quiere que ejecute. Si eventualmente Apple cambia de opinión sobre una aplicación que has instalado, desaparecerá mágicamente de tu terminal. Única y exclusivamente puedes instalar aplicaciones pasando por su tienda, Apple App Store, y única y exclusivamente podrás escuchar y ver la música y vídeos que Apple te venda. Punto.&lt;/p&gt;&lt;p&gt;Apple no aceptó el plugin de Flash para su navegador, por lo que no se puede ver ningún contenido que use esta tecnología, que por cierto odio, ni en el iPhone ni el iPad. Y Steve Jobs hablaba de una forma nueva e innovadora de acceder a Internet, cuando en realidad se refería al 80% de Internet.&lt;/p&gt;&lt;p&gt;Un iPhone, pero más grande y caro, con el que no se puede llamar ni recibir SMS, a pesar de incluir conexión 3G con algunos de sus modelos. Al fin y al cabo, también quieren que compres unos de esos cacharros multitáctiles que renuevan cada año, y ciertos "genios" vuelven a comprarse.&lt;/p&gt;&lt;p&gt;Tiene lector de libros electrónicos al igual que cualquier ordenador, pero tardará años en dejar de estar limitado a Estados Unidos de América, cansará la vista (no es de tinta electrónica), y obviamente los libros los tendrás que comprar, entre un catálogo "preseleccionado" y con los precios bastante inflados, en la tienda de Apple.&lt;/p&gt;&lt;p&gt;Tiene un procesador de un gigaherz de frecuencia de reloj, pero sólo puede tener una aplicación funcionando al mismo tiempo (no soporta &lt;em&gt;multitasking&lt;/em&gt;). Admite la mayoría de aplicaciones de iPhone, pero la mayoría de esas aplicaciones no están preparadas para una pantalla tan grande, que por cierto es LED, pantalla de cristal líquido (LCD) retroiluminada con diodos luminosos, y no OLED, en la que cada &lt;em&gt;pixel&lt;/em&gt; de la imagen es un diodo orgánico en sí mismo y emite su propia luz.&lt;/p&gt;&lt;p&gt;Sí, es multitáctil, pero mi perro también lo es.&lt;/p&gt;&lt;p&gt;El control de Apple sobre el iPad llega hasta el punto de que, de la misma forma que Amazon hace con el Kindle, eventualmente bloqueará noticias que a sus socios e inversores no les guste que leas, borrarán contenido de tu terminal que no les guste que tengas, y en definitiva, tu terminal no sea tuyo, sino suyo, e imbécil de ti que has pagado una fortuna a cambio de que te controlen, monitoricen, y elijan lo que puedes hacer o no.&lt;/p&gt;&lt;p&gt;Pero todo no va a ser malo, puesto que iPad es una marca registrada desde hace años por Toshiba, al igual que ocurrió con el iPhone propiedad de Cisco Systems e Infogear, al menos tendremos un interesante culebrón legal que seguir. Y gratis, pero no para los de la manzanita.&lt;/p&gt;&lt;p&gt;Compraos una tableta de Nokia, que viene con Maemo, alguna de las tabletas que próximamente aparecerán con Android o un Netbook, que están tirados de precio; podréis aprovecharlo mejor, ya que podréis hacer con él lo que os de la gana, porque es vuestro, porque lo habréis pagado, y esto es algo que los &lt;em&gt;fanboyeros de la manzana&lt;/em&gt; no comprenden. Y aunque, en el caso de Android, Google sea dueño de tus datos, ¿no es ya demasiado tarde?&lt;/p&gt;&lt;strong&gt;Créditos&lt;/strong&gt;&lt;ul&gt;&lt;li&gt;Inspirado por &lt;a href="http://www.defectivebydesign.org/ipad"&gt;defectivebydesign.org&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-528375648328072899?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/528375648328072899/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/02/que-es-el-ipad.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/528375648328072899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/528375648328072899'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/02/que-es-el-ipad.html' title='¿Qué es el iPad?'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_XUj14gVcgSo/S2LzMiIahMI/AAAAAAAAEa0/cQsbBS8HMog/s72-c/ichorrada.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-8065749228620992657</id><published>2010-02-01T01:00:00.017Z</published><updated>2010-12-08T12:08:32.620Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='#manifiesto'/><title type='text'>Cerramos en enero, reabrimos en febrero</title><content type='html'>&lt;div style="background:#CCC;border:1px solid #888;margin:5px;padding:5px;text-align:center"&gt;Ante la iniciativa inmoral y pro fascista del Gobierno de España de &lt;a href="http://red-sostenible.net/" title="Iniciativa Red SOStenible"&gt;reinstaurar la censura en Internet&lt;/a&gt;, a petición de la mafia de la cultura basura; este blog ha permanecido cerrado durante el mes de enero como protesta.&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_XUj14gVcgSo/S1AvJjFfHVI/AAAAAAAAEZc/fbdjkk27XPY/s1600-h/15463_102782879743992_100000368426650_69333_2345650_n.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 276px;" src="http://4.bp.blogspot.com/_XUj14gVcgSo/S1AvJjFfHVI/AAAAAAAAEZc/fbdjkk27XPY/s400/15463_102782879743992_100000368426650_69333_2345650_n.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5426889392065027410" /&gt;&lt;/a&gt;&lt;p&gt;Esta bitácora ha permanecida en silencio durante "la Cuesta de Enero" como protesta a un artículo que el Ejecutivo-Legislativo Español (en España, la separación de poderes es mentira) pretende incluir en la Ley de Economía Sostenible. Dicho artículo permite, sin orden judicial, que una Comisión Administrativa dependiente del Ministerio de Cultura pueda cerrar, bloquear o censurar cualquier web por cualquier razón que ellos consideren oportuna.&lt;/p&gt;&lt;p&gt;Dicha decisión ha sido tomada ante la negativa de los jueces españoles de aceptar a trámite el cierre de páginas web, y en algunos casos obligar a las gestoras de derechos de autor a pagar las costas del proceso e indemnizaciones a los administradores de dichas webs por mala fe procesal. Ante este panorama, el Ministerio de Cultura, en su rol de garante del negocio no regulado, inmoral y mafioso que realizan las gestoras de derechos de autor, ha optado por modificar la ley y eliminar de un plumazo esos molestos derechos elementales, tipificados en la Constitución, que son la Presunción de Inocencia y Libertad de Expresión, y contradecir a la misma, base de nuestra democracia, que advierte que sólo mediante orden judicial podría secuestrarse un medio de comunicación.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_XUj14gVcgSo/S1AwtxjeszI/AAAAAAAAEZk/E4wKZwr61rs/s1600-h/12466_1148144435255_1576900886_331884_1567286_n.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 361px;" src="http://4.bp.blogspot.com/_XUj14gVcgSo/S1AwtxjeszI/AAAAAAAAEZk/E4wKZwr61rs/s400/12466_1148144435255_1576900886_331884_1567286_n.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5426891113935844146" /&gt;&lt;/a&gt;&lt;p&gt;El hecho que una comisión administrativa reciba tal poder, por que los jueces no contentan a las gestoras, atenta directamente contra la separación de poderes, e instaura un estado de excepción en Internet al estar formada tal coalición por representantes de sociedades que continuamente vierten insultos, amenazas y extorsiones a ya no sólo a los que publicamos contenidos en Internet, sino a todos los medios de comunicación.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_XUj14gVcgSo/S1Au9YV7MOI/AAAAAAAAEZU/AhUJSUA3erw/s1600-h/13942_1297647478602_1152818327_938673_1589983_n.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 308px;" src="http://3.bp.blogspot.com/_XUj14gVcgSo/S1Au9YV7MOI/AAAAAAAAEZU/AhUJSUA3erw/s400/13942_1297647478602_1152818327_938673_1589983_n.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5426889183022756066" /&gt;&lt;/a&gt;&lt;p&gt;La última vez que algo parecido sucedió en España ocurrió con la instauración del Órgano Censor, también dependiente de un Ministerio de Cultura a manos de un gobierno no democrático. Ahora un gobierno autodenominado democrático quiere hacer lo mismo, censurar medios de comunicación en base a cualquier criterio arbitrario a su propia elección y discreción, tal como se viene haciendo en Cuba, China, Corea del Norte...&lt;/p&gt;&lt;p&gt;Una de las razones que se han esgrimido, según he leído en la blogosfera, son las presiones que el Gobierno Estadounidense ha estado realizando después de ver informes sobre la piratería en España, falsificados por Promomusicae, otra gestora de derechos, que por cierto se ha llevado varios millones de Euros en concepto de subvenciones, incluyendo una para la realización de un inoperativo portal web que no visita nadie). Una vez más, se premia a los causantes de los problemas, y el resto se convierten "mágicamente" en culpables.&lt;/p&gt;&lt;p&gt;Éste y otros sucesos anteriores, como la instauración del Canon Digital, nos hacen pensar que las actuaciones del Ejecutivo español no van tan encaminadas a beneficiar a la población o defender una creación sociocultural (a la que Internet está beneficiando enormemente), sino que están llevándose a cabo, junto con el desvío de grandes sumas de dinero en concepto de subvenciones, en concepto de contraprestación a los favores de propaganda y apoyo realizado por ciertos colectivos durante pasadas elecciones.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_XUj14gVcgSo/S1AupwrSRiI/AAAAAAAAEZM/v8pYgWnuP2Y/s1600-h/18479_250443875698_788420698_3207764_2931990_n.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 133px;" src="http://4.bp.blogspot.com/_XUj14gVcgSo/S1AupwrSRiI/AAAAAAAAEZM/v8pYgWnuP2Y/s400/18479_250443875698_788420698_3207764_2931990_n.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5426888845957416482" /&gt;&lt;/a&gt;&lt;p&gt;Los "amigos de la ceja" nunca hubieran estado tan contentos: Mientras a los piratas que matan, violan, y amenazan se les pagan grandes sumas de dinero, a los piratas que creamos cultura se nos &lt;strike&gt;mata, viola, y&lt;/strike&gt; amenaza. El país en quiebra, la clase media, considerada baja en el resto de Europa, sufriendo la crisis y estos corruptísimos señores, como siempre, legislando a la carta para sus corruptísimos amigos.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_XUj14gVcgSo/S1AtuUdqRAI/AAAAAAAAEZE/IaiEZjffGl8/s1600-h/11452_203766983393_820253393_2998016_3280353_n.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 283px; height: 400px;" src="http://2.bp.blogspot.com/_XUj14gVcgSo/S1AtuUdqRAI/AAAAAAAAEZE/IaiEZjffGl8/s400/11452_203766983393_820253393_2998016_3280353_n.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5426887824771793922" /&gt;&lt;/a&gt;&lt;strong&gt;Créditos:&lt;/strong&gt;&lt;ul&gt;&lt;li&gt;Las imágenes están sacadas de Facebook y sus autores prefieren mantenerse en el anonimato.&lt;strong&gt;Edito 08.12.2010:&lt;/strong&gt; El autor de la &lt;a href="http://luvataciousskull.deviantart.com/art/GOVERNMENT-CENSORSHIP-137270461"&gt;primera imagen&lt;/a&gt; se hace llamar &lt;a href="http://luvataciousskull.deviantart.com/"&gt;Larry West&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;La última imagen, la de la estatua de la no-libertad, es mía.&lt;/li&gt;&lt;li&gt;Estos señores hablaron de lo mismo antes que yo: &lt;a href="http://alt1040.com/2010/01/guia-basica-de-insurreccion-contra-la-normativa-para-cerrar-webs-en-espana"&gt;Guía básica de insurrección contra la normativa para cerrar webs en España&lt;/a&gt; de Elías Notario, &lt;a href="http://despuesdegoogle.com/2010/01/12/ciudadanos-digitales-culpables-mientras-aunque-no-se-demuestre-lo-contrario/"&gt;Ciudadanos digitales: culpables mientras (aunque) se demuestre lo contrario&lt;/a&gt; de Emili Gené, &lt;a href="http://www.error500.net/articulo/proximo-google-creara-espana-efectos-colaterales-ley-sinde"&gt;El próximo Google no se creará en España: efectos colaterales de la ley Sinde&lt;/a&gt; de Antonio Ortiz, &lt;a href="http://gallir.wordpress.com/2010/01/08/tienen-razon-la-sgae-la-coalicion-y-el-ministerio-de-cultura/"&gt;Tienen razón la SGAE, la Coalición y el Ministerio de Cultura&lt;/a&gt; de Ricardo Galli...&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Más información&lt;/strong&gt; en &lt;a href="http://red-sostenible.net/"&gt;Red-Sostenible.net&lt;/a&gt;.&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Edito 27.03.2010:&lt;/strong&gt; &lt;a href="http://buscon.rae.es/dpdI/SrvltGUIBusDPD?lema=may%FAsculas&amp;origen=RAE#6"&gt;Según la RAE&lt;/a&gt;, los nombres de los meses van en minúscula.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-8065749228620992657?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/8065749228620992657/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2010/02/cerramos-en-enero-reabrimos-en-febrero.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/8065749228620992657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/8065749228620992657'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2010/02/cerramos-en-enero-reabrimos-en-febrero.html' title='Cerramos en enero, reabrimos en febrero'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_XUj14gVcgSo/S1AvJjFfHVI/AAAAAAAAEZc/fbdjkk27XPY/s72-c/15463_102782879743992_100000368426650_69333_2345650_n.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-5316951844788462601</id><published>2009-12-31T20:00:00.000Z</published><updated>2009-12-31T21:55:48.992Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='cosas sin importancia'/><title type='text'>Feliz año nuevo</title><content type='html'>&lt;img style="float:right;width:300px;height:255px;border:0;" src="http://3.bp.blogspot.com/_XUj14gVcgSo/SzzFc891F1I/AAAAAAAAEY8/9D10b7bv2LM/s400/cup.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5421425152639702866" /&gt;&lt;p&gt;No soy yo muy de cumplir este tipo de obligaciones, a lo que hay que sumar que a muchos este año que dejamos a atrás no nos ha hecho jodida la gracia. Pero precisamente por esto hay que celebrar que se acaba, desear con fuerza y trabajar duro para que todo este despropósito cenagoso que ha sido 2009 no vuelva a repetirse. Complicado lo veo, pero quien tenga esperanza... que aproveche para venderla y sacarse un dinero que siempre viene bien.&lt;/p&gt;&lt;p&gt;Y aquí mis blogopropósitos:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Dejar de utilizar la palabra blog y usar bitácora, que es fea pero al menos no suena a escupitajo.&lt;/li&gt;&lt;li&gt;Cambiar el nombre de este b... esta bitácora, por otro más original, descriptivo, y &lt;strike&gt;menos narcisista&lt;/strike&gt; más  "impersonal".&lt;/li&gt;&lt;li&gt;Publicar la última tira de mi chica geek. Y la penúltima, si me animo.&lt;/li&gt;&lt;li&gt;Cambiar el sistema de comentarios por otro que luzca mejor, e incluya el formulario en las mismas entradas, aunque lo veo complicado, consultaré por ahí.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Parecen simples, pero mi procastinación los convertirá en una ardua tarea. Todo se andará no obstante. Tiempo al tiempo, feliz 2010, y que os sea leve.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-5316951844788462601?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/5316951844788462601/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2009/12/feliz-ano-nuevo.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/5316951844788462601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/5316951844788462601'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2009/12/feliz-ano-nuevo.html' title='Feliz año nuevo'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_XUj14gVcgSo/SzzFc891F1I/AAAAAAAAEY8/9D10b7bv2LM/s72-c/cup.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-4505175501928607806</id><published>2009-12-28T15:34:00.002Z</published><updated>2009-12-28T16:13:39.139Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux en general'/><category scheme='http://www.blogger.com/atom/ns#' term='Noticias'/><title type='text'>Felicidades, Torvalds</title><content type='html'>&lt;p&gt;Tal día como hoy, de 1969, surgía en Helsinki, de entre las vergüenzas de su señora madre para máxima exactitud geográfica, un esbozo de lo que posteriormente pasaría a llamarse, oficialmente, Linux Benedict Torvalds.&lt;/p&gt;&lt;p&gt;Durante su infancia se hizo evidente su espíritu conciliador y sosegado, interviniendo en una discusión pingüiniril del que salió mal herido.&lt;/p&gt;&lt;p&gt;A los 11 años fue atraído por el lado oscuro a manos de un anciano Lord Sith que, usando un Commodore, logró plantar la semilla del mal en el rubísimo muchacho, que acabaría 8 años mas tarde ingresando en la noble institución de la Universidad de Helsinki para cursar Ciencias de la Computación Prehistórica. Fué entonces en un arrebato, de los que nunca han caracterizado a este finlandísimo señor, en  los que decidió programar un kernel, para poder usar en su máquina de cómputo casero, osease ordenador, un clon de Minix, un Unix para ordenadores de la potencia de un pollo con una polea en medio pero no mucho peor que los de las grandes empresas. Decidió hacerlo libre. Y lo llamó Linux en un arrebato de originalidad, luego intentó buscar un nombre menos egocéntrico, pero ya era demasiado tarde.&lt;/p&gt;&lt;p&gt;El resto es historia: en 1992 varias malas personas lo combinan con el proyecto GNU, las tortugas que programaban el núcleo HURD deciden tomárselo con paciencia, un tal Stallman se enfada años después porque su sistema operativo entero es llamado comúnmente como el kernel de este señor...&lt;/p&gt;&lt;div&gt;&lt;p&gt;Felicidades.&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align:center"&gt;&lt;img src="http://lh3.ggpht.com/_XUj14gVcgSo/Sr36fkJvX0I/AAAAAAAAEGQ/31GAOgAQgio/450px-Linus_in_SCUBA_gear.jpg" alt="Torvalds en neopreno" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-4505175501928607806?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/4505175501928607806/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2009/12/felicidades-torvalds.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/4505175501928607806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/4505175501928607806'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2009/12/felicidades-torvalds.html' title='Felicidades, Torvalds'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_XUj14gVcgSo/Sr36fkJvX0I/AAAAAAAAEGQ/31GAOgAQgio/s72-c/450px-Linus_in_SCUBA_gear.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-6916713793805768681</id><published>2009-12-25T16:00:00.004Z</published><updated>2009-12-26T12:51:37.298Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='descargas'/><category scheme='http://www.blogger.com/atom/ns#' term='programas propios'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><title type='text'>Nseries, Ubuntu 9.10, y obexFS vía USB</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_XUj14gVcgSo/SzTeAjmDpHI/AAAAAAAAEYA/WZlXMpwrDkU/s1600-h/439501G"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 173px;" src="http://4.bp.blogspot.com/_XUj14gVcgSo/SzTeAjmDpHI/AAAAAAAAEYA/WZlXMpwrDkU/s200/439501G" border="0" alt="" id="BLOGGER_PHOTO_ID_5419200352769778802" /&gt;&lt;/a&gt;&lt;p&gt;Para los que no os guste (o funcione) el tutorial "&lt;a href="http://spayder26.blogspot.com/2008/01/mi-n70-y-ubuntu-la-senda-del-obex.html"&gt;Mi N70 y Ubuntu, la senda del OBEX...&lt;/a&gt;", bien porque Obexfs es bastante engorroso (y luego tener que cambiar los permisos de los archivos descargados) o porque puede que algún bug lo dificulte, tenéis ahora la posibilidad de montar el sistema de archivos del móvil usando obexfs, de forma muy sencilla usando comandos de consola.&lt;/p&gt;&lt;p&gt;Antes de nada comprobad que tenéis instalados los paquetes necesarios:&lt;/p&gt;&lt;blockquote&gt;sudo apt-get install fuse-utils obexftp obexfs obextool&lt;/blockquote&gt;&lt;p&gt;Primero creamos una carpeta donde queramos, como por ejemplo en el escritorio:&lt;/p&gt;&lt;blockquote&gt;mkdir ~/Escritorio/movil&lt;/blockquote&gt;&lt;p&gt;Para ver los canales disponibles, en este caso para USB:&lt;/p&gt;&lt;blockquote&gt;obexls -u&lt;/blockquote&gt;&lt;p&gt;Para montar el sistema de archivos (-i para infrarrojos, -b para bluetooth especificando el dispositivo o el canal con -B, y -u para usb especificando la interfaz), vía usb por el canal 1:&lt;/p&gt;&lt;blockquote&gt;obexfs -u 1 ~/Escritorio/movil&lt;/blockquote&gt;&lt;p&gt;Y ya lo tendríamos acceso, si los datos están bien, al sistema de ficheros del móvil.&lt;/p&gt;&lt;p&gt;Por último, y antes de desconectar el teléfono, sería recomendable desmontar el sistema de ficheros.&lt;/p&gt;&lt;blockquote&gt;fusermount -u ~/Escritorio/movil&lt;/blockquote&gt;&lt;p&gt;Y ya podríais desconectarlo, sin peligro de corrupción del sistema de archivos, y borrar la carpeta sin miedo.&lt;/p&gt;&lt;p&gt;Como podéis ver es muy sencillo, aunque debido a las posibles dificultades de cara a principiantes, he creado un pequeño programa gráfico que simplifica el proceso. Lo tenéis en &lt;a href="http://code.google.com/p/obexfs-gtk/"&gt;http://code.google.com/p/obexfs-gtk/&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-6916713793805768681?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/6916713793805768681/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2009/12/nseries-ubuntu-910-y-obexfs-via-usb.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/6916713793805768681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/6916713793805768681'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2009/12/nseries-ubuntu-910-y-obexfs-via-usb.html' title='Nseries, Ubuntu 9.10, y obexFS vía USB'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_XUj14gVcgSo/SzTeAjmDpHI/AAAAAAAAEYA/WZlXMpwrDkU/s72-c/439501G' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-2379574658731576187</id><published>2009-12-24T12:00:00.001Z</published><updated>2009-12-24T12:00:04.088Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Noticias'/><category scheme='http://www.blogger.com/atom/ns#' term='compiz fusion'/><title type='text'>Apple plagia y patenta a Compiz</title><content type='html'>&lt;p&gt;No es la primera vez que a la oficina de patentes le cuelan algo que ya había sido inventado por terceras personas, ni esta será la última mientras haya suficiente dinero de por medio (OpenXML de Microsoft violaba una decena de patentes previas), pero esta vez es algo tan descarado que clama a los cuatro vientos. Aunque en Europa no existan las patentes de software, no estoy yo muy seguro de que podamos librarnos de este tipo de "patentes alegales".&lt;/p&gt;&lt;p&gt;Esta son las imágenes de la patente de Apple, plagiada a al control de perspectiva de interfaz de usuario, de Compiz, usando el Wiimote, que a su vez está basada en &lt;a href="http://www.youtube.com/watch?v=Jd3-eiid-Uw"&gt;una idea&lt;/a&gt; de &lt;a href="http://johnnylee.net/"&gt;Johny Lee&lt;/a&gt;.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_XUj14gVcgSo/SzNOSIRxbRI/AAAAAAAAEX4/4owkoANBxAM/s1600-h/050903-look3_800.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 148px;" src="http://3.bp.blogspot.com/_XUj14gVcgSo/SzNOSIRxbRI/AAAAAAAAEX4/4owkoANBxAM/s400/050903-look3_800.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5418760850023476498" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_XUj14gVcgSo/SzNORlVjFUI/AAAAAAAAEXw/ZzpV964Nf-s/s1600-h/051335-look4_800.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 145px;" src="http://3.bp.blogspot.com/_XUj14gVcgSo/SzNORlVjFUI/AAAAAAAAEXw/ZzpV964Nf-s/s400/051335-look4_800.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5418760840644072770" /&gt;&lt;/a&gt;&lt;p&gt;Y aquí los vídeos de Compiz, el primero de dos meses antes de la patente:&lt;/p&gt;&lt;div style="text-align:center"&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ZYLNprRplmc&amp;amp;hl=es_ES&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/ZYLNprRplmc&amp;amp;hl=es_ES&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br/&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/askKFSe3aLk&amp;hl=es_ES&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/askKFSe3aLk&amp;hl=es_ES&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;p&gt;Ya no sólo es que las patentes sirvan para frenar exageradamente el desarrollo tecnológico de la humanidad, sino que en mano de las grandes corporaciones, también sirve para apropiarse de ideas de otras personas que, ésta y otras veces, lo hacen por la vocación del software libre.&lt;/p&gt;&lt;p&gt;Seguiremos informando&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Créditos:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Vía &lt;a href="http://blog.phpwnage.com/article.php?id=116"&gt;blog.phpwnage.com&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Patente de apple publicada en &lt;a href="http://www.macrumors.com/2009/12/17/apple-working-on-3d-hyper-reality-displays/"&gt;MacRumors&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-2379574658731576187?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/2379574658731576187/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2009/12/apple-plagia-y-patenta-compiz.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/2379574658731576187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/2379574658731576187'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2009/12/apple-plagia-y-patenta-compiz.html' title='Apple plagia y patenta a Compiz'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_XUj14gVcgSo/SzNOSIRxbRI/AAAAAAAAEX4/4owkoANBxAM/s72-c/050903-look3_800.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-452403649338785295</id><published>2009-12-10T12:00:00.000Z</published><updated>2009-12-10T12:00:17.441Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='cosas sin importancia'/><title type='text'>El espán es divertido</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_XUj14gVcgSo/SyBLrlITTfI/AAAAAAAAEWI/KuGY6mYuCUQ/s1600-h/london_underground.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 174px; height: 320px;" src="http://4.bp.blogspot.com/_XUj14gVcgSo/SyBLrlITTfI/AAAAAAAAEWI/KuGY6mYuCUQ/s320/london_underground.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5413409964172725746" /&gt;&lt;/a&gt;&lt;p&gt;O cómo vengarse satisfactoriamente de alguien que ha hecho SPAM donde no debía mientras te entretienes un par de horas.&lt;/p&gt;&lt;p&gt;Para ponernos en situación: entre las imágenes de un grupo de facebook, de determinada temática colgaron una imagen que nada tenía que ver de Metropolitano de Madrid quejándose de una subida del precio de billetes (información en &lt;a href="http://www.elpais.com/articulo/espana/bono/viajes/costara/euros/elpepuesp/20091204elpepunac_20/Tes5"&gt;El País&lt;/a&gt; y &lt;a href="http://www.elmundo.es/elmundo/2009/12/06/madrid/1260110669.html"&gt;El Mundo&lt;/a&gt; por si a alguien le interesa) y la url de otro grupo. Yo me quejo:&lt;/p&gt;&lt;blockquote&gt;Yo: Esto es SPAM.&lt;/blockquote&gt;&lt;blockquote&gt;Pocomucho: lo que tú digas, pero no deja de ser una salvajada a la que nadie (i.e. la prensa, políticos, etc) le está dando publicidad. Creo que los madrileños tienen derecho a saber lo que se está planeando para su dinero antes de que sea demasiado tarde. si no eres madrileño, o si te sobra el dinero y te da igual, pues no te des por aludido y ya está.&lt;/blockquote&gt;&lt;blockquote&gt;Pocomucho: y ahí va otra vez, para el que no se haya enterado: [ He censurado el enlace por espán ] &lt;/blockquote&gt;&lt;blockquote&gt;Yo: Os quejáis de vicio, no tenéis ni idea de lo que cuesta el transporte público en otros lados.&lt;/blockquote&gt;&lt;blockquote&gt;Pocomucho: tengo perfecta idea. ya sé que el metro en londres o en munich es mucho más caro - también los salarios medios allí son mucho más elevados. Y no hay mileuristas!&lt;/blockquote&gt;&lt;p&gt;¡Ale! Ya se me fué para Europa... ¿se olvidará del resto de España? Nótese el tono jocoso de lo que sigue:&lt;/p&gt;&lt;blockquote&gt;Yo: España no se limita a Madrid, concepto que por lo que veo no lo tienes demasiado claro al irte tan lejos a buscar un ejemplo.&lt;/blockquote&gt;&lt;blockquote&gt;Pocomucho: he ido tan lejos porque son los ejemplos que ponen al dar la noticia los del mundo/el país. Lo sabrías si te hubieses molestado en leer la noticia antes de intentar insultarme tontamente. Por cierto, por qué te lo tomas por lo personal? Tienes algún familiar en el consorcio de transportes de madrid o qué?&lt;/blockquote&gt;&lt;p&gt;Por lo visto he sido demasiado sutil, bueno, del agua derramada aprovecha la que puedas.&lt;/p&gt;&lt;blockquote&gt;Yo: Yo no insulto, no hace falta, ya dejas bastante clara tu completa falta de educación al colar esta imagen, con su respectivo enlace a tu grupo, en este otro grupo que nada tiene que ver. Y mira, he encontrado un par de ciudades españolas en las que el transporte público es más caro: &lt;a href="http://www.numbeo.com/cost-of-living/compare_cities.jsp?country1=Spain&amp;amp;country2=Spain&amp;amp;city1=Madrid&amp;amp;city2=Pamplona"&gt;http://www.numbeo.com/cost-of-living/compare_cities.jsp?country1=Spain&amp;amp;country2=Spain&amp;amp;city1=Madrid&amp;amp;city2=Pamplona&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;He estado muchas veces en Madrid, y tenéis una de las mejores redes de metro de Europa (no digo que sea una de las 5, 10 o 20 mejores, pero al menos tenéis trayectos), en muchos otros sitios nos tenemos que conformar con una red de autobuses bastante deficitaria y cara (bono de 12€ por 4-11 trayectos, trayectos sin bono de 1.20 a 4.50 que cubren un área no superior al extrarradio de Madrid), y es esta última razón, junto con que, reitero, esto es SPAM, justifican mi tono.&lt;br /&gt;&lt;br /&gt;Y no, Madrid me queda demasiado lejos como para que algún familiar o amigo trabaje por la zona.&lt;/blockquote&gt;&lt;p&gt;3, 2, 1... ¡Fight!&lt;/p&gt;&lt;blockquote&gt;Pocomucho on fire: Que no insultas? Y encima te jactas de buena educación? Pero tú de dónde has salido?&lt;br /&gt;&lt;br /&gt;Nada justifica tu tono ni tu arrogancia. Si no estás de acuerdo con lo que se comenta en el grupo, perfecto. Nadie te obliga a apoyarlo. Pero no me descalifiques por pasar una información que interesa y afecta a millones de personas de esta ciudad. O descalifícame (como estás haciendo) si te da la gana, faltaría más. Pero no vayas encima dando lecciones de buena educación.&lt;br /&gt;&lt;br /&gt;Y ahí va un consejo gratis: ya que tú no eres ni siquiera de madrid, y aseguras que en tu ciudad (sea donde sea, me da lo mismo) os timan más que aquí con el transporte, mejor harías entonces en preocuparte de tus derechos en esa ciudad en vez de atacar a los que sí nos preocupamos en la nuestra.&lt;/blockquote&gt;&lt;p&gt;¡Jajaja! Prueba superada. Además, me encantan los consejos gratis, son tan... económicos. Pero esperad, que de entre los matorrales surge un aguafiestas:&lt;/p&gt;&lt;blockquote&gt;Polizonte: Yo hace relativamente poco viaje a Barceona, y me asombre de lo caro que es el cercanias con respecto a madrid, y lo pauperrimo que es su servicio en algunos puntos. Y en un par de lineas de metro, los vagones son bastante antiguos. Vamos, en uno de los viajes me veia sacando el Winchester para repeler el ataque de los indios y todo. ¿Que es caro alli en comparacion?. Pues si, pero tampoco justifica aqui un desorbitado aumento del precio asi de repente. ¿Que es spam?. Pues tambien, ya que de forma directa y sin vaselina cuelas el enlace a otro grupo (que lo veo muy justificado y al que me metere) en otro tema, que aunque tambien es sobre una denuncia, hasta ahi acaban sus similitudes.&lt;/blockquote&gt;&lt;p&gt;Ale, alguien con sentido común, ya se me acabó la diversión. Pues nada, a otra cosa mariposa.&lt;/p&gt;&lt;blockquote&gt;Yo: Querido Pocomucho, no creo haber sido arrogante ni haberte descalificado directamente, salvo por el hecho de llamarte irrespetuoso, pero reitero que me he preocupado de no caer en descalificaciones personales (aunque me resultó insultante el hecho de que salieses fuera de España a buscar comparaciones, como si "los periféricos" no existiésemos).&lt;br /&gt;&lt;br /&gt;Pese a esto último, y puesto que has encontrado apoyo popular, me retracto, bendito SPAM: me he divertido mucho desempolvando mi dialéctica. Mis agradecimientos a todos los participantes xD&lt;/blockquote&gt;&lt;p&gt;De todo esto saco varias conclusiones:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Facebook es muy divertido, sin tener que añadir chorradas en flash.&lt;/li&gt;&lt;li&gt;Me aburro mucho, y me entretengo de formas retorcidas.&lt;/li&gt;&lt;li&gt;Este señor no entiende que me queje de su SPAM. Os juro que si no llega a intervenir Polizonte, les clavo en su grupo un SPAM de las cacas de perro en las aceras de mi barrio.&lt;/li&gt;&lt;li&gt;O bien la gente no entiende lo de &lt;a href="http://dontfeedthetroll.com/"&gt;Don't feed the troll&lt;/a&gt;, o este señor tenía ganas de discutir con un imbécil (osease, un servidor).&lt;/li&gt;&lt;li&gt;Los madrileños están demasiado quemados o directamente su fama de tener mala leche es merecida.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;strong&gt;Nota: &lt;/strong&gt;He reinventado los nombres, porque estas pobres personas no tienen culpa de haberse cruzado conmigo en el momento y lugar equivocados: ¡No hagáis SPAM, niños!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-452403649338785295?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/452403649338785295/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2009/12/el-espan-es-divertido.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/452403649338785295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/452403649338785295'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2009/12/el-espan-es-divertido.html' title='El espán es divertido'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_XUj14gVcgSo/SyBLrlITTfI/AAAAAAAAEWI/KuGY6mYuCUQ/s72-c/london_underground.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-6516190985241373791</id><published>2009-12-06T20:00:00.003Z</published><updated>2009-12-08T00:19:26.929Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='#manifiesto'/><title type='text'>D.E.P. CONSTITUCIÓN ESPAÑOLA DE 1978</title><content type='html'>&lt;style type="text/css"&gt;.blt_wrapper{text-align:center;font-family:Georgia,"Times New Roman",serif;color:white;background-color:#000;padding:10px 0;}&lt;br /&gt;.blt{text-align:center;margin:40px;border:5px solid #fff;}&lt;br /&gt;.blt h1{font-family:Helvetica,Geneva,Arial,sans-serif;font-weight:bold;font-size:3.2em;}&lt;br /&gt;.blt_wrapper{background:black!important;color:white!important;}&lt;br /&gt;.blt .texto1{font-size:1.8em;}&lt;br /&gt;.blt .texto2{margin:30px;font-size:1.5em;}&lt;br /&gt;.blt .texto3{margin:40px;font-size:1.1em;font-weight:normal;text-align:justify;}&lt;br /&gt;&lt;/style&gt;&lt;div class="blt_wrapper"&gt;&lt;div class="blt"&gt;&lt;br/&gt;&lt;br/&gt;&lt;img style="border:0" alt="descanse en paz" src="http://lh4.ggpht.com/_XUj14gVcgSo/Sxt_14FVpAI/AAAAAAAAESA/_xwhU3OGTCY/epitafio.png"/&gt;&lt;br/&gt;&lt;span class="texto1"&gt;D.E.P.&lt;/span&gt;&lt;br/&gt;&lt;h1&gt;CONSTITUCIÓN ESPAÑOLA DE 1978&lt;/h1&gt; &lt;p class="texto2"&gt;Fallecida tras una larga agonía ante la inclusión hasta tres veces del artículo 17 bis y en última instancia en el Anteproyecto de Ley de Economía sostenible de modificaciones legislativas que afectan al libre ejercicio de las libertades de expresión, información y el derecho de acceso a la cultura a través de Internet&lt;/p&gt;&lt;p class="texto3"&gt;Todos los ciudadanos, pequeñas, medianas y grandes empresas de informática, profesionales, operadoras, fabricantes, industrias tecnológicas, administraciones públicas, ayuntamientos, asociaciones, etc..  agradecen las muestras de cariño recibidas y comunican que, con espíritu renovado, no permitirán que caiga en el olvido cómo ha fallecido, los culpables de tan execrable acto (que esperamos que la higiene demócrática los lleve a la cárcel) y lo recordarán hasta el momento de la resurrección de los muertos.&lt;/p&gt;&lt;p class="texto3"&gt;Se avisa que al Sepelio acudirán también Doña Crisis y Doña Falta de Transparencia. Han comunicado su ausencia por motivos políticos: Don Interés General y Don Estado de Derecho.&lt;/p&gt;&lt;p&gt;Los afectados no nos resignamos a esta pérdida.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-6516190985241373791?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/6516190985241373791/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2009/12/dep-constitucion-espanola-de-1978.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/6516190985241373791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/6516190985241373791'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2009/12/dep-constitucion-espanola-de-1978.html' title='D.E.P. CONSTITUCIÓN ESPAÑOLA DE 1978'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_XUj14gVcgSo/Sxt_14FVpAI/AAAAAAAAESA/_xwhU3OGTCY/s72-c/epitafio.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-4518841656531973255</id><published>2009-12-06T12:15:00.000Z</published><updated>2009-12-06T20:02:28.095Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='#manifiesto'/><title type='text'>Constitución Española, Artículo 20</title><content type='html'>&lt;ol&gt;&lt;li&gt;Se reconocen y protegen los derechos:&lt;ol&gt;&lt;li&gt;A expresar y difundir libremente los pensamientos, ideas y opiniones mediante la palabra, el escrito o cualquier otro medio de reproducción.&lt;/li&gt;&lt;li&gt;A la producción y creación literaria, artística, científica y técnica.&lt;/li&gt;&lt;li&gt;A la libertad de cátedra.&lt;/li&gt;&lt;li&gt;A comunicar o recibir libremente información veraz por cualquier medio de difusión. La Ley regulará el derecho a la cláusula de conciencia y al secreto profesional en el ejercicio de estas libertades.&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;El ejercicio de estos derechos no puede restringirse mediante ningún tipo de censura previa.&lt;/li&gt;&lt;li&gt;La Ley regulará la organización y el control parlamentario de los medios de comunicación social dependientes del Estado o de cualquier ente público y garantizará el acceso a dichos medios de los grupos sociales y políticos significativos, respetando el pluralismo de la sociedad y de las diversas lenguas de España.&lt;/li&gt;&lt;li&gt;Estas libertades tienen su límite en el respeto a los derechos reconocidos en este Título, en los preceptos de las Leyes que lo desarrollan y, especialmente, en el derecho al honor, a la intimidad, a la propia imagen y a la protección de la juventud y de la infancia.&lt;/li&gt;&lt;li&gt;Solo podrá acordarse el secuestro de publicaciones, grabaciones y otros medios de información en virtud de resolución judicial.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Vía:&lt;/strong&gt; &lt;a href="http://docs.google.com/viewer?url=www.gva.es%2Fcidaj%2Fpdf%2Fconstitucion.pdf"&gt;Constitución Española de 1978&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-4518841656531973255?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/4518841656531973255/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2009/12/constitucion-espanola-articulo-20.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/4518841656531973255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/4518841656531973255'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2009/12/constitucion-espanola-articulo-20.html' title='Constitución Española, Artículo 20'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-6267082590351362438</id><published>2009-12-05T15:30:00.002Z</published><updated>2009-12-05T15:50:47.831Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='videos'/><category scheme='http://www.blogger.com/atom/ns#' term='#manifiesto'/><title type='text'>La cultura está en La Red</title><content type='html'>&lt;p&gt;Basta ya de la demagogia de los defensores de los vetustos sistemas de distribución y sus grupos de presión gubernamental, &lt;a href="http://spayder26.blogspot.com/2009/12/no-la-ley-de-economia-sostenible.html"&gt;que además lo hacen intentando acabar con nuestros derechos&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;He aquí unos buenos ejemplos de que Internet no destruye la cultura, &lt;a href="http://spayder26.blogspot.com/2009/12/leyes-que-chocan-contra-la-realidad.html"&gt;sino que la democratiza&lt;/a&gt;, porque esos que antes eran simples consumidores de los medios masivos, controlados por estos esperpénticos personajes, ahora generan y divulgan cultura por sí mismos&lt;sup&gt;1&lt;/sup&gt;.&lt;/p&gt;&lt;h3&gt;Big Buck Bunny&lt;/h3&gt;&lt;p&gt;Creado por la gente del proyecto Blender, publicada en 2008, bajo licencia Creative Commons &lt;a href="http://creativecommons.org/licenses/by/3.0/"&gt;CC-BY&lt;/a&gt;.&lt;/p&gt;&lt;div style="text-align:center"&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/XSGBVzeBUbk&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;hl=en_US&amp;amp;feature=player_embedded&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/XSGBVzeBUbk&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;hl=en_US&amp;amp;feature=player_embedded&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;h3&gt;Born of Hope&lt;/h3&gt;&lt;p&gt;Creado por aficionados, con un resultado muy profesional, estrenado este 1 de diciembre. &lt;a href="http://www.bornofhope.com/Disclaimer.html"&gt;Copyright permisivo "por y para aficionados"&lt;/a&gt;.&lt;/p&gt;&lt;div style="text-align:center"&gt;&lt;object width="420" height="339"&gt;&lt;param name="movie" value="http://www.dailymotion.com/swf/xbc5ut"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;embed src="http://www.dailymotion.com/swf/xbc5ut" type="application/x-shockwave-flash" width="420" height="339" allowfullscreen="true" allowscriptaccess="always"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;h3&gt;The Hunt for Gollum&lt;/h3&gt;&lt;p&gt;Y otro, esta vez siendo un corto de 40 minutos. &lt;a href="http://www.thehuntforgollum.com/about.htm"&gt;Copyright permisivo "por y para aficionados"&lt;/a&gt;.&lt;/p&gt;&lt;div style="text-align:center"&gt;&lt;object width="420" height="339"&gt;&lt;param name="movie" value="http://www.dailymotion.com/swf/x93zji"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;embed src="http://www.dailymotion.com/swf/x93zji" type="application/x-shockwave-flash" width="420" height="339" allowfullscreen="true" allowscriptaccess="always"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;p&gt;Aviso que, para los vídeos de Daily Motion, tenéis los subtítulos en el menú del reproductor. Los enlaces a sus webs están más abajo.&lt;/p&gt;&lt;h3&gt;Música Creative Commons&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.jamendo.com/es/artist/amelie"&gt;Amélie&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.jamendo.com/es/artist/urbancastlemagic"&gt;Urban Castle Magic&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.jamendo.com/es/artist/poxfil"&gt;Poxfil&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.jamendo.com/es/artist/pornophonique"&gt;Pornophonique&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Pongo éstos porque son los que he encontrado, y algún grupo ha logrado cierta fama llegando incluso a realizar girar internacionales. Hay mucha mas música por ahí, en &lt;a href="http://www.jamendo.com/"&gt;jamendo.com&lt;/a&gt; por ejemplo.&lt;/p&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Es lo que realmente les molesta.&lt;/li&gt;&lt;/ol&gt;&lt;strong&gt;Enlaces&lt;/strong&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.bigbuckbunny.org/"&gt;Web de Big Buck Bunny&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/www.bornofhope.com"&gt;Web de Born of Hope&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.thehuntforgollum.com/"&gt;Web de The Hunt of Gollum&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-6267082590351362438?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/6267082590351362438/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2009/12/la-cultura-esta-en-la-red.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/6267082590351362438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/6267082590351362438'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2009/12/la-cultura-esta-en-la-red.html' title='La cultura está en La Red'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-1861463040083674381</id><published>2009-12-03T21:00:00.001Z</published><updated>2009-12-05T15:24:50.691Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='videos'/><category scheme='http://www.blogger.com/atom/ns#' term='cultura libre'/><category scheme='http://www.blogger.com/atom/ns#' term='#manifiesto'/><title type='text'>Leyes que chocan contra la realidad</title><content type='html'>&lt;p&gt;Una de las geniales charlas TED, obra de &lt;a href="http://es.wikipedia.org/wiki/Lawrence_Lessig"&gt;Larry Lessig&lt;/a&gt;, con subtítulos en Castellano (desactivados por defecto, pero que podéis activar).&lt;/p&gt;&lt;object style="margin:0 auto;display:block;width:446px;height:326px"&gt;&lt;param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;param name="bgColor" value="#ffffff"&gt;&lt;/param&gt; &lt;param name="flashvars" value="vu=http://video.ted.com/talks/dynamic/LarryLessig_2007-medium.flv&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/LarryLessig-2007.embed_thumbnail.jpg&amp;vw=432&amp;vh=240&amp;ap=0&amp;ti=187&amp;introDuration=16500&amp;adDuration=4000&amp;postAdDuration=2000&amp;adKeys=talk=larry_lessig_says_the_law_is_strangling_creativity;year=2007;theme=not_business_as_usual;theme=presentation_innovation;theme=tales_of_invention;event=TED2007;&amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;" /&gt;&lt;embed src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" pluginspace="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" style="width:446px;height:326px;background:white;" allowFullScreen="true" flashvars="vu=http://video.ted.com/talks/dynamic/LarryLessig_2007-medium.flv&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/LarryLessig-2007.embed_thumbnail.jpg&amp;vw=432&amp;vh=240&amp;ap=0&amp;ti=187&amp;introDuration=16500&amp;adDuration=4000&amp;postAdDuration=2000&amp;adKeys=talk=larry_lessig_says_the_law_is_strangling_creativity;year=2007;theme=not_business_as_usual;theme=presentation_innovation;theme=tales_of_invention;event=TED2007;"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;p&gt;Nuevamente, quienes realmente necesitan ver esto no lo harán, seguramente por estar muy ocupados robando, extorsionando y &lt;a href="http://spayder26.blogspot.com/2009/12/no-la-ley-de-economia-sostenible.html"&gt;colando, de incógnito, leyes anticonstitucionales&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Vía:&lt;/strong&gt; &lt;a href="http://sinergiasincontrol.blogspot.com/2009/12/estan-intentando-vendernos-al-mejor.html"&gt;Sinergia sin Control&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-1861463040083674381?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/1861463040083674381/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2009/12/leyes-que-chocan-contra-la-realidad.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/1861463040083674381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/1861463040083674381'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2009/12/leyes-que-chocan-contra-la-realidad.html' title='Leyes que chocan contra la realidad'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-4790350152944622721</id><published>2009-12-02T15:00:00.002Z</published><updated>2009-12-05T15:24:40.784Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='información relevante'/><category scheme='http://www.blogger.com/atom/ns#' term='#manifiesto'/><title type='text'>Manifiesto: En defensa de los derechos fundamentales en Internet</title><content type='html'>&lt;div style="width:auto;float:rightMpadding:2px;text-align:center;"&gt;&lt;img style="border:0;width:252px;height:400px;margin:0;padding-left:35px;" src="http://4.bp.blogspot.com/_XUj14gVcgSo/SxZ9DDgnb_I/AAAAAAAAEQ4/sQ4ykEC4fi4/s400/pistol.png" alt=""id="BLOGGER_PHOTO_ID_5410649493767417842" /&gt;&lt;br/&gt;&lt;small&gt;Mismo tema, mismo dibujo.&lt;/small&gt;&lt;/div&gt;&lt;p&gt;Ante la inclusión en el Anteproyecto de Ley de Economía sostenible de modificaciones legislativas que afectan al libre ejercicio de las libertades de expresión, información y el derecho de acceso a la cultura a través de Internet, los periodistas, bloggers, usuarios, profesionales y creadores de internet manifestamos nuestra firme oposición al proyecto, y declaramos que...&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Los derechos de autor no pueden situarse por encima de los derechos fundamentales de los ciudadanos, como el derecho a la privacidad, a la seguridad, a la presunción de inocencia, a la tutela judicial efectiva y a la libertad de expresión.&lt;/li&gt;&lt;li&gt;La suspensión de derechos fundamentales es y debe seguir siendo competencia exclusiva del poder judicial. Ni un cierre sin sentencia. Este anteproyecto, en contra de lo establecido en el artículo 20.5 de la Constitución, pone en manos de un órgano no judicial -un organismo dependiente del ministerio de Cultura-, la potestad de impedir a los ciudadanos españoles el acceso a cualquier página web.&lt;/li&gt;&lt;li&gt;La nueva legislación creará inseguridad jurídica en todo el sector tecnológico español, perjudicando uno de los pocos campos de desarrollo y futuro de nuestra economía, entorpeciendo la creación de empresas, introduciendo trabas a la libre competencia y ralentizando su proyección internacional.&lt;/li&gt;&lt;li&gt;La nueva legislación propuesta amenaza a los nuevos creadores y entorpece la creación cultural. Con Internet y los sucesivos avances tecnológicos se ha democratizado extraordinariamente la creación y emisión de contenidos de todo tipo, que ya no provienen prevalentemente de las industrias culturales tradicionales, sino de multitud de fuentes diferentes.&lt;/li&gt;&lt;li&gt;Los autores, como todos los trabajadores, tienen derecho a vivir de su trabajo con nuevas ideas creativas, modelos de negocio y actividades asociadas a sus creaciones. Intentar sostener con cambios legislativos a una industria obsoleta que no sabe adaptarse a este nuevo entorno no es ni justo ni realista. Si su modelo de negocio se basaba en el control de las copias de las obras y en Internet no es posible sin vulnerar derechos fundamentales, deberían buscar otro modelo.&lt;/li&gt;&lt;li&gt;Consideramos que las industrias culturales necesitan para sobrevivir alternativas modernas, eficaces, creíbles y asequibles y que se adecuen a los nuevos usos sociales, en lugar de limitaciones tan desproporcionadas como ineficaces para el fin que dicen perseguir.&lt;/li&gt;&lt;li&gt;Internet debe funcionar de forma libre y sin interferencias políticas auspiciadas por sectores que pretenden perpetuar obsoletos modelos de negocio e imposibilitar que el saber humano siga siendo libre.&lt;/li&gt;&lt;li&gt;Exigimos que el Gobierno garantice por ley la neutralidad de la Red en España, ante cualquier presión que pueda producirse, como marco para el desarrollo de una economía sostenible y realista de cara al futuro.&lt;/li&gt;&lt;li&gt;Proponemos una verdadera reforma del derecho de propiedad intelectual orientada a su fin: devolver a la sociedad el conocimiento, promover el dominio público y limitar los abusos de las entidades gestoras.&lt;/li&gt;&lt;li&gt;En democracia las leyes y sus modificaciones deben aprobarse tras el oportuno debate público y habiendo consultado previamente a todas las partes implicadas. No es de recibo que se realicen cambios legislativos que afectan a derechos fundamentales en una ley no orgánica y que versa sobre otra materia.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;(Lo mismo que en &lt;a href="http://spayder26.blogspot.com/2009/12/no-la-ley-de-economia-sostenible.html"&gt;mi anterior envío&lt;/a&gt;, pero con muchísima menos mala leche)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-4790350152944622721?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/4790350152944622721/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2009/12/manifiesto-en-defensa-de-los-derechos.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/4790350152944622721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/4790350152944622721'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2009/12/manifiesto-en-defensa-de-los-derechos.html' title='Manifiesto: En defensa de los derechos fundamentales en Internet'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_XUj14gVcgSo/SxZ9DDgnb_I/AAAAAAAAEQ4/sQ4ykEC4fi4/s72-c/pistol.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-3027512468703067041</id><published>2009-12-01T22:00:00.002Z</published><updated>2009-12-05T15:24:17.683Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='información relevante'/><category scheme='http://www.blogger.com/atom/ns#' term='#manifiesto'/><title type='text'>No a la Ley de Economía Sostenible</title><content type='html'>&lt;div style="width:auto;float:right;text-align:center"&gt;&lt;img style="width: 300px; height: 495px;" src="http://lh4.ggpht.com/_XUj14gVcgSo/SxWDYZ61BeI/AAAAAAAAEQU/ZsYkiVa72ck/pistol.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5410374982653248994" /&gt;&lt;br/&gt;&lt;small&gt;Bienvenidos al nuevo mundo libre.&lt;/small&gt;&lt;/div&gt;&lt;p&gt;No suelo meterme en política, al fin y al cabo, mis opiniones son mías, pero esto ya pasa de castaño oscuro.&lt;/p&gt;&lt;p&gt;Ante los absurdos palos de ciego de los impresentables que conforman casi la totalidad de la clase política de esta república bananera, mal llamada España, tan solo quedaba una última estocada a nuestros ya sentenciados derechos.&lt;/p&gt;&lt;p&gt;El ZP, la Sinde y sus amiguetes, intentan una vez más, desde su vetusto, obsoleto e ignorante punto de vista de integrales analfabetos digitales (analfabetismo que, supongo, será extensible a cualquier tecnología aparecida después de los 90), ahogarnos aún más y estrechar el cerco a nuestra demacrada libertad, ya herida de muerte (ya ocupamos el puesto número 66 en el &lt;a href="http://www.rsf.org/es-classement1002-2009.html"&gt;ranking de libertad de expresión&lt;/a&gt; de Reporteros sin Fronteras, por detrás de Bosnia-Herzegovina, Malí, Ghana, Namibia...).&lt;/p&gt;&lt;p&gt;No contentos con hundir España (incumpliendo de paso la mayor parte de sus mentiras electoralistas) ahora quieren otorgar poder censor a los muertos en vida representantes de un método obsoleto de distribución de cultura, que ellos eligen, escogen, para finalmente dilapidar parasitando a los mismos creadores que suelen defenderlos, otra vez por ignorancia de que hay un modelo mejor, un modelo que no ha surgido de mano de políticos corruptos y sus amigas las megacorporaciones, sino de ingenieros, matemáticos, físicos e idealistas: la verdadera sociedad del conocimiento.&lt;/p&gt;&lt;p&gt;Pero claro, el conocimiento que no pueden controlar, esto es, el que no asegure el fabricar votantes zombis descerebrados, no interesa.&lt;/p&gt;&lt;p&gt;Si la Ley de Economía Sostenible (por favor, si hasta su nombre es casposo a la par de estúpido) llega a aprobarse, se otorgará poder censor, sin justicia de por medio, a la SGAE, CEDRO, o cualquier defensora de la gestión arcaica de copiar y vender información protegida por medios físicos, porque eso es lo que hacen, simplemente permanecer sentados mientras sus sicarios se encargan de pedir dinero a diestro y siniestro por un trabajo de creación, distribución, o simplemente copia que no han realizado, para luego dedicar un pequeño porcentaje de todo el dinero que llenan sus bolsillos para silenciar a los creadores con suficiente solera como para alzarse al opresor. Y el resto no recibirá nada, jamás.&lt;/p&gt;&lt;p&gt;Cualquier web que permita la descarga de lo que ellos consideren protegido por derechos de autor (ningún tribunal deberá decidir nada), o enlace alguna web de este tipo (¿cerrarán Google?) podrá ser cerrada, desconectada, y su autor supongo que incinerado.&lt;/p&gt;&lt;p&gt;Muy bien señores... muy bien.&lt;/p&gt;&lt;p&gt;Dentro de poco sí que podremos decir eso de que cualquier tiempo pasado fue mejor, aunque sea 40 años en el pasado, tiempo al tiempo.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Vía:&lt;/strong&gt; &lt;a href="http://alt1040.com/2009/12/el-ministerio-de-cultura-de-espana-quiere-desconectar-las-paginas-de-enlaces-p2p"&gt;Alt1040&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;PD:&lt;/strong&gt; Sí, ya sé, el dibujo es un poco &lt;strike&gt;plagio&lt;/strike&gt; homenaje a Left 4 Dead.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-3027512468703067041?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/3027512468703067041/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2009/12/no-la-ley-de-economia-sostenible.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/3027512468703067041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/3027512468703067041'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2009/12/no-la-ley-de-economia-sostenible.html' title='No a la Ley de Economía Sostenible'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_XUj14gVcgSo/SxWDYZ61BeI/AAAAAAAAEQU/ZsYkiVa72ck/s72-c/pistol.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-6589423796523320107</id><published>2009-11-29T23:52:00.001Z</published><updated>2009-11-29T23:53:14.745Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='información relevante'/><title type='text'>Inkscape 0.47</title><content type='html'>&lt;img style="border:0;float:right; margin:0 0 10px 10px;width: 128px; height: 128px;" src="http://1.bp.blogspot.com/_XUj14gVcgSo/SxK6BqIGSKI/AAAAAAAAEQI/3SGUC4mGT88/s400/Inkscape.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5409590640076277922" /&gt;&lt;p&gt;Me entero por el blog de Jesús David que desde el día 25 de este mes está disponible la nueva versión estable del que, casi con toda seguridad, sea el mejor programa de dibujo vectorial que existe: Inkscape.&lt;/p&gt;&lt;p&gt;Una imagen vectorial se diferencia respecto a una de mapa de bits en que mientras la primera utiliza figuras geométricas, filtros, y fundamentos matemáticos para dar forma a una imagen, las imágenes de mapa de bits guardan la información de color de todos y cada uno de los píxeles que compondrían una imagen. Esto significa que mientras una imagen vectorial es tan sólo una serie de instrucciones (texto xml en el caso de los svg), y es escalable (puede aumentarse y disminuirse su tamaño, en teoría infinitamente, sin que se distorsione), las imágenes de mapa de bits ocupan mucho espacio, y su tamaño no puede ser variado sin que se pierda información o se pixelize, si disminuimos o aumentamos su resolución respectivamente.&lt;/p&gt;&lt;p&gt;Además, cualquier línea, polígono u objeto, puede ser modificado al momento con tan sólo editar sus nodos o las propiedades de estilo, por lo que he de confesar que es ésta mi forma favorita de abordar cualquier tarea de diseño gráfico (como podéis comprobar en mi &lt;a href="http://www.blogger.com/search/label/webc%C3%B3mic"&gt;sección de webcómic&lt;/a&gt;).&lt;/p&gt;&lt;div style="text-align:center"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_XUj14gVcgSo/SxKwjYoW98I/AAAAAAAAEP4/5uPnO-TZQCc/s1600/inkscape-0.47-photorealism.png"&gt;&lt;img style="width: 400px; height: 250px;" src="http://4.bp.blogspot.com/_XUj14gVcgSo/SxKwjYoW98I/AAAAAAAAEP4/5uPnO-TZQCc/s400/inkscape-0.47-photorealism.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5409580224379025346" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_XUj14gVcgSo/SxKwjCR7vfI/AAAAAAAAEPw/QgyqnVcZEg0/s1600/inkscape-0.47-font-design.png"&gt;&lt;img style="width: 400px; height: 225px;" src="http://4.bp.blogspot.com/_XUj14gVcgSo/SxKwjCR7vfI/AAAAAAAAEPw/QgyqnVcZEg0/s400/inkscape-0.47-font-design.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5409580218379386354" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;No he encontrado ningún paquete deb oficial (&lt;a href="http://inkscape.org/download/?lang=es"&gt;en la web oficial están disponibles en autopackage&lt;/a&gt;) pero &lt;a href="https://launchpad.net/~popey"&gt;Alan Pope&lt;/a&gt; se ha tomado la molestia de compilarlos para Karmic y aquí os los dejo.&lt;dl&gt;&lt;dt&gt;i386&lt;/dt&gt;&lt;dd&gt;&lt;a href="http://ppa.launchpad.net/popey/inkscape/ubuntu/pool/main/i/inkscape/inkscape_0.47-0ubuntu1_i386.deb"&gt;inkscape_0.47-0ubuntu1_i386.deb&lt;/a&gt;&lt;/dd&gt;&lt;dt&gt;amd64&lt;/dt&gt;&lt;dd&gt;&lt;a href="http://ppa.launchpad.net/popey/inkscape/ubuntu/pool/main/i/inkscape/inkscape_0.47-0ubuntu1_amd64.deb"&gt;inkscape_0.47-0ubuntu1_amd64.deb&lt;/a&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Créditos&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Vía &lt;a href="http://www.jesusda.com/blog/index.php?id=391"&gt;Bitácora de jEsuSdA&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;El logo de inkscape es obra de &lt;a href="http://identi.ca/andyfitz"&gt;Andy Fitzsimon&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Las capturas están sacadas de &lt;a href="http://www.inkscape.org/screenshots/index.php?lang=es"&gt;la página oficial de Inkscape&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-6589423796523320107?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/6589423796523320107/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2009/11/inkscape-047.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/6589423796523320107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/6589423796523320107'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2009/11/inkscape-047.html' title='Inkscape 0.47'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_XUj14gVcgSo/SxK6BqIGSKI/AAAAAAAAEQI/3SGUC4mGT88/s72-c/Inkscape.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-3056110277807827251</id><published>2009-11-28T12:00:00.001Z</published><updated>2009-11-28T12:56:55.941Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='videos'/><title type='text'>The Guild</title><content type='html'>&lt;p&gt;Hace un tiempo, ojeando el lector de feeds, acabé, sin saber muy bien cómo (es una forma de hablar, realmente sí que lo sé) viendo una serie llamada The Guild. Hoy, ojeando mis borradores y aprovechando que ahora Google tiene traducción automática de subtítulos (la serie es británica), os la presento.&lt;/p&gt;&lt;p&gt;La serie trata sobre una serie de inadaptados sociales (cada uno a su modo) que juegan a un MMORPG en grupo, y que de repente se ven obligados a relacionarse entre ellos en el Mundo Real&lt;sup&gt;TM&lt;/sup&gt;&lt;/p&gt;&lt;p&gt;La serie es muy fresca e interesante, y aún con su bajo presupuesto (al menos durante la primera temporada), XBOX Live llegó a un acuerdo en su día para emitir la primera y segunda temporada, y la tercera en primicia, con una semana de ventaja.&lt;/p&gt;&lt;p&gt;Aquí tenéis uno de los vídeos promocionales de la tercera temporada.&lt;/p&gt;&lt;br /&gt;&lt;div style="text-align:center"&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube-nocookie.com/v/urNyg1ftMIU&amp;amp;hl=es_ES&amp;amp;fs=1&amp;amp;rel=0"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube-nocookie.com/v/urNyg1ftMIU&amp;amp;hl=es_ES&amp;amp;fs=1&amp;amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Enlaces de interés:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.watchtheguild.com/"&gt;Página oficial de The Guild&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.watchtheguild.com/"&gt;Canal en youtube&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Créditos&lt;/strong&gt;&lt;br /&gt;&lt;a href="http://alt1040.com/2009/08/do-you-wanna-date-my-avatar"&gt;Do You Wanna Date My Avatar en Alt1040&lt;/a&gt; (el envío es bastante viejo; esta entrada llevaba en borradores  demasiado tiempo).&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-3056110277807827251?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/3056110277807827251/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2009/11/guild.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/3056110277807827251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/3056110277807827251'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2009/11/guild.html' title='The Guild'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-9165710564658881768</id><published>2009-11-28T03:18:00.005Z</published><updated>2009-11-28T03:24:15.706Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='minipost'/><title type='text'>Minipost sin importancia en cuanto al diseño del blog</title><content type='html'>&lt;img style="float:right;border:0" src="http://lh3.ggpht.com/_XUj14gVcgSo/SQn9YLV5prI/AAAAAAAADJI/kRutOsYTN2g/fire.png" alt="PC en llamas" /&gt;&lt;p&gt;Me he cargado la plantilla (que ya de por sí era un asco en cuanto código), de modo que para realizar los cambios que quería tendré que rehacerla desde cero. Así que no os asustéis, que aunque luce muy feo, es temporal (eso sí, no sé exactamente cuan temporal será).&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-9165710564658881768?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/9165710564658881768/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2009/11/minipost-sin-importancia.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/9165710564658881768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/9165710564658881768'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2009/11/minipost-sin-importancia.html' title='Minipost sin importancia en cuanto al diseño del blog'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_XUj14gVcgSo/SQn9YLV5prI/AAAAAAAADJI/kRutOsYTN2g/s72-c/fire.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-6008999618041740448</id><published>2009-11-18T16:00:00.004Z</published><updated>2009-11-26T17:31:58.100Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='eventos'/><title type='text'>Taller sobre Estándares Web W3C - 25 Nov</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_XUj14gVcgSo/SwQPnL3v6MI/AAAAAAAAEOk/G6uK8UMJAJ4/s1600/ull_blanco.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 250px; height: 75px;" src="http://2.bp.blogspot.com/_XUj14gVcgSo/SwQPnL3v6MI/AAAAAAAAEOk/G6uK8UMJAJ4/s400/ull_blanco.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5405462618627369154" /&gt;&lt;/a&gt;&lt;p&gt;El próximo miércoles, día 25 de Noviembre de 2009, se celebrará en la Universidad de La Laguna el Taller sobre Estándares Web W3C, de 15:00 a 19:20 horas, con la participación de Martín Álvarez, de la &lt;a href="http://www.w3.org/"&gt;W3C&lt;/a&gt;, Carlos de la Fuente de la &lt;a href="www.fundacionctic.org"&gt;Fundación CTIC&lt;/a&gt; y Juan Francisco Hernández Ballesteros, Gerente del Instituto de Informática y Comunicaciones del Cabildo Insular de Tenerife y coautor de &lt;a href="http://www.libreriadelauned.es/esp/ficha_libro.aspx?ida=2999&amp;id=5086"&gt;La Calidad del Software y su Medida&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Es gratuito, pero hay que inscribirse antes del 20 de Noviembre, &lt;a href="http://www.w3c.es/Eventos/2009/Talleres/Tenerife/Inscripcion/"&gt;cumplimentando este formulario&lt;/a&gt;. &lt;a href="http://www.w3c.es/Eventos/2009/Talleres/Tenerife/"&gt;Aquí tenéis más información&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;strike&gt;Aunque como suele ocurrir, quien más necesita este tipo de talleres es quien nunca está interesado en ellos.&lt;/strike&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;EDITO 26.11.2009:&lt;/strong&gt; Finalmente Juan Francisco Hernández Ballesteros no pudo asistir. Os dejo las diapositivas para quienes les pillaba lejos o quieran verlas de nuevo: &lt;a href="http://www.w3c.es/Presentaciones/2009/1125-introduccionULL-MA"&gt;Introducción W3C y Estándares Web&lt;/a&gt; y &lt;a href="http://www.w3c.es/Presentaciones/2009/1125-estandaresULL-MA/"&gt;Construyendo la web del mañana: Movilidad, Semántica, nuevas tecnologías Web&lt;/a&gt; por &lt;a href="http://www.w3c.es/Personal/Martin/"&gt;Martín Álvarez Espinar (Oficina W3C España)&lt;/a&gt;. No he encontrado el keynote de Carlos de la Fuente.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-6008999618041740448?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/6008999618041740448/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2009/11/taller-sobre-estandares-web-w3c-25-nov.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/6008999618041740448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/6008999618041740448'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2009/11/taller-sobre-estandares-web-w3c-25-nov.html' title='Taller sobre Estándares Web W3C - 25 Nov'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_XUj14gVcgSo/SwQPnL3v6MI/AAAAAAAAEOk/G6uK8UMJAJ4/s72-c/ull_blanco.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-6035656053961134657</id><published>2009-11-12T13:54:00.000Z</published><updated>2009-11-12T13:54:44.861Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='hasefroch'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Boot time!</title><content type='html'>&lt;p&gt;Sin bilis&lt;sup&gt;1&lt;/sup&gt;: tiempos de arranque de los dos últimos hasefroch (aunque en realidad sean el mismo&lt;sup&gt;2&lt;/sup&gt;) y las dos últimas versiones de Ubuntu.&lt;/p&gt;&lt;div style="text-align:center"&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/88aal60AqBs&amp;rel=0&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;&lt;embed  src="http://www.youtube.com/v/88aal60AqBs&amp;rel=0&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;La entradilla que escribí en primer momento no era tan condescendiente&lt;/li&gt;&lt;li&gt;Mismo núcleo, mismos drivers en el 99.9% de los casos, mismo diseño, mismas capas de DRM, mismo gestor de ventanas (con algunos errores menos, eso sí)... y sigue &lt;a href="http://alt1040.com/2009/11/windows-7-es-vulnerable-a-8-de-los-10-virus-mas-famosos-de-la-actualidad"&gt;fallando como una escopeta de feria&lt;/a&gt; en cuanto a seguridad informática.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;strong&gt;Créditos&lt;/strong&gt;&lt;br/&gt;Vía &lt;a href="http://www.gulic.org/node/1208"&gt;GULIC&lt;/a&gt; y &lt;a href="http://www.tuxradar.com/content/vista-windows-7-ubuntu-904-and-910-boot-speed-comparison"&gt;TuxRadar&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-6035656053961134657?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/6035656053961134657/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2009/11/boot-time.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/6035656053961134657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/6035656053961134657'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2009/11/boot-time.html' title='Boot time!'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-6900659135010319895</id><published>2009-11-11T02:59:00.003Z</published><updated>2009-11-11T03:07:41.983Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='b2b'/><title type='text'>¿Porqué uso GNU/Linux?</title><content type='html'>&lt;blockquote&gt;Supongo que porque es software libre… En realidad es algo mucho más complejo: Soy programador (supuestamente laboralmente, pero sobretodo por afición) y usando GNU/Linux todo es mucho mas fácil. Todo componente del sistema está mucho más cohesionado, integrado, y ordenado. Está bien diseñado (en parte es culpa de la especificación POSIX) y da posibilidades que en otros OSes simplemente no existen, y uno de sus efectos “secundarios” es la inherente seguridad que aporta todo lo anterior.&lt;br /&gt;&lt;br /&gt;Linux está programado por profesores de universidad, profesionales con mucha solera, y tanto aficionados como empresas a las que no le importa colaborar para mejorar el mundo haciendo lo que mejor saben hacer: fabricar software. Esto es lo que me convenció, lejos de estupideces sobre si el escritorio está en tresdé, sobre si tal o cual cosa es semitransparente o un reprimido deseo de ser un rebelde social en un mundo dominado por otras alternativas (que realmente han sido impuestas).&lt;br /&gt;&lt;br /&gt;Sin acritud.&lt;/blockquote&gt;Ésta es mi respuesta, &lt;a href="http://120linux.com/%C2%BFpor-que-usas-gnulinux/3"&gt;la pregunta es cosa de 120% linux&lt;/a&gt; (&lt;a href="http://120linux.com/%C2%BFpor-que-usas-gnulinux/#comment-31233"&gt;mi comentario&lt;/a&gt;).&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-6900659135010319895?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/6900659135010319895/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2009/11/porque-uso-gnulinux.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/6900659135010319895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/6900659135010319895'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2009/11/porque-uso-gnulinux.html' title='¿Porqué uso GNU/Linux?'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-2135652123870881722</id><published>2009-10-31T13:52:00.010Z</published><updated>2009-10-31T14:55:55.491Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='cine'/><category scheme='http://www.blogger.com/atom/ns#' term='política'/><category scheme='http://www.blogger.com/atom/ns#' term='Noticias'/><title type='text'>Las cosas del cine español...</title><content type='html'>&lt;img style="float:right; margin:0 0 5px 5px;width: 128px; height: 128px;" src="http://3.bp.blogspot.com/_XUj14gVcgSo/SuxNud6jzPI/AAAAAAAAEM8/T6ag0okiZ44/s400/movie.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5398775514009947378" /&gt;&lt;p&gt;...o debería decir ¿egpañol? Sea como fuere, esto es bastante desternillante. Tanta queja de culturetas llorando por más dinero público, por la descargas (legales por cierto), tanta desinformación, y tanta mafia al fin y al cabo, cuyos tentáculos infectan&lt;sup&gt;1&lt;/sup&gt; hasta el mismo órdago&lt;sup&gt;2&lt;/sup&gt; legislativo, y al final, resulta que cuando una película es buena, no necesita ni mendigar dinero a las arcas públicas para gastárselo fabricando bodrios infumables, ni necesita culpar al P2P de la mala recaudación, que si bien es cierto que nadie en su sano juicio pagaría por ver este tipo de despropósitos, y menos con la fortuna que supone ir al cine (ya ronda los 8 euros), tampoco sé de nadie que malgastara su ancho de banda en bajárselo, y ya ni digo verlo.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_XUj14gVcgSo/SuxNCpodJDI/AAAAAAAAEM0/7d4gwwsyBSM/s1600-h/rec-2-2.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 230px; height: 320px;" src="http://2.bp.blogspot.com/_XUj14gVcgSo/SuxNCpodJDI/AAAAAAAAEM0/7d4gwwsyBSM/s320/rec-2-2.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5398774761240994866" /&gt;&lt;/a&gt;&lt;p&gt;Pero antes de que me vaya por las ramas más de lo debido, me ha entrado curiosidad por ver las "semillas" de &lt;a href="http://www.imdb.com/title/tt1245112/"&gt;REC 2&lt;/a&gt;  &lt;a href="http://thepiratebay.org/search/rec%202"&gt;según The Pirate Bay&lt;/a&gt;, que aunque &lt;a href="http://alt1040.com/2009/10/the-pirate-bay-tendra-que-sacar-todos-sus-torrents-que-tengan-copyright"&gt;tenga su muerte anunciada&lt;/a&gt;, todavía tiene vidilla. Una sorpresa, 3240 semillas (a ojo, entre los torrents que he visto) a día de hoy. Teniendo en cuenta de la fugacidad de las fuentes (el tiempo de vida de una fuente no suele exceder de varias horas), y de que la mayoría de esta gente (según he leído en los comentarios de la misma web) son angloparlantes y se quejan de lo difícil que se les ha hecho bajar los subtítulos, nos topamos con una realidad: Si la película es mala mala malísima, la mayoría, a nadie le interesa. Si la película es buena (en el sentido comercial), quien sea, aunque no esté en su idioma, hará lo que sea para verla. El primer caso es el que abunda, y es el realmente representativo. El segundo caso, donde se podría enmarcar la primera &lt;a href="http://www.imdb.com/title/tt1038988/"&gt;REC&lt;/a&gt;, &lt;a href="http://www.imdb.com/title/tt0464141/"&gt;el Orfanato&lt;/a&gt;, &lt;a href="http://www.imdb.com/title/tt0230600/"&gt;Los Otros&lt;/a&gt;, &lt;a href="http://www.imdb.com/title/tt0395119/"&gt;Alatriste&lt;/a&gt;, &lt;a href="http://www.imdb.com/character/ch0023097/"&gt;los diferentes Torrentes&lt;/a&gt;&lt;sup&gt;3&lt;/sup&gt;, etcétera&lt;sup&gt;4&lt;/sup&gt;.&lt;/p&gt;&lt;p&gt;Esto nos lleva a otra realidad, las buenas películas que van apareciendo entre nuestro tristemente patético cine nacional no provienen de esa clase de culturetas, asentada a base de manifestación, evento social, e insulto para el séptimo arte, las producciones frescas, innovadoras, vienen de directores igualmente frescos, innovadores, y frecuentemente desconocidos. Basta ya de culpar a los astros de un mal resultado en taquilla, simplemente: haced buenas películas. Es posible.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Sutil pero apropiado adjetivo.&lt;/li&gt;&lt;li&gt;No puede considerarse órgano en virtud de a lo que realmente se dedica. Definición:&lt;blockquote&gt;7. m. Der. Persona o conjunto de personas que actúan en representación de una organización o persona jurídica en un ámbito de competencia determinado.&lt;/blockquote&gt;(&lt;a href="http://buscon.rae.es/draeI/SrvltConsulta?TIPO_BUS=3&amp;amp;LEMA=organo"&gt;RAE&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;Se hace un poco redundante buscar Torrente en un Tracker de Torrents. Personalmente no me gustan las películas de Santiago Segura, por muy majete que me parezca, siempre tratan, en mi opinión, un humor demasiado escatológico.&lt;/li&gt;&lt;li&gt;No hablaré de Ágora porque no la he visto. Y puede que no la vea porque intuyo que no me va  a gustar, soy imparcial, pero sin verla no puedo juzgar si considero que es o no una buena película. Por ejemplo: no me gustó el Laberinto del Fauno, más por la forma que por el argumento, pero es una película muy buena sin lugar a dudas. No la incluyo porque, obviamente, Guillermo del Toro es Mexicano.&lt;/li&gt;&lt;/ol&gt;&lt;strong&gt;La frase que no viene a cuento ¿o sí?&lt;/strong&gt;&lt;blockquote&gt;Fue Jesús, señor. Ahí estaba yo como si nada, cuando de pronto aparece y me cura. Un minuto soy un leproso de oficio, y al minuto siguiente me encuentro desempleado. "Estás curado, amigo". ¡Estúpido bienhechor!&lt;/blockquote&gt;&lt;div&gt;(Ex-leproso, &lt;a href="http://www.imdb.com/title/tt0079470/"&gt;La Vida de Brian&lt;/a&gt;)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-2135652123870881722?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/2135652123870881722/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2009/10/las-cosas-del-cine-espanol.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/2135652123870881722'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/2135652123870881722'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2009/10/las-cosas-del-cine-espanol.html' title='Las cosas del cine español...'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_XUj14gVcgSo/SuxNud6jzPI/AAAAAAAAEM8/T6ag0okiZ44/s72-c/movie.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-3209932495116990787</id><published>2009-10-27T23:00:00.002Z</published><updated>2009-12-14T00:05:17.366Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sucesos'/><category scheme='http://www.blogger.com/atom/ns#' term='juegos'/><title type='text'>¿Las "protecciones" del software?</title><content type='html'>&lt;p&gt;Mucha gente, atendiendo a mis viejos posts sobre &lt;a href="http://spayder26.blogspot.com/2007/11/mmorpgs-con-wine.html"&gt;wine y videojuegos&lt;/a&gt;, me pregunta acerca de porqué tal o cual juego online, generalmente juegos de rol masivos multijugador, no funciona.&lt;/p&gt;&lt;div style="text-align:center"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_XUj14gVcgSo/SuTkJYnnb2I/AAAAAAAAEMk/kgMKEO1HtC4/s1600-h/xtrap.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 100px;" src="http://3.bp.blogspot.com/_XUj14gVcgSo/SuTkJYnnb2I/AAAAAAAAEMk/kgMKEO1HtC4/s400/xtrap.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5396689103375265634" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;De modo que aprovecharé la ocasión para hablaros de la falta de ética de muchos productores de software de entretenimiento, que prefieren añadir malware a sus creaciones frente corregir los errores que permiten modificar el funcionamiento de sus programas por parte de tramposos avezados, y de dónde proviene esta mala praxis.&lt;/p&gt;&lt;p&gt;Es cierto que la utilización de ciertas tecnologías de terceros imposibilitan arreglar esos errores&lt;sup&gt;1&lt;/sup&gt;, que es justamente el caso de NCsoft, Aeria games, gpotato... Si una tecnología tiene errores, no puede arreglarse porque es propietaria y sus creadores se niegan a darte ningún tipo de garantía, señores desarrolladores: la solución no es añadir porquería a vuestro trabajo, la solución es buscar alternativas a dichas tecnologías.&lt;/p&gt;&lt;p&gt;El problema es mucho mas profundo de lo que parece a simple vista: Desde un principio las licencias de prácticamente cualquier software (de obligada aceptación y cumplimiento para poder usar el programa legalmente) eximen a sus creadores de cualquier tipo de responsabilidad.&lt;/p&gt;&lt;p&gt;Por ejemplo, si un software hace perder miles de millones de dólares a una empresa, aunque le haga entrar en quiebra, sus creadores no son legalmente responsables (la responsabilidad moral es otra historia). Es algo que ocurre continuamente.&lt;/p&gt;&lt;div style="text-align:center"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_XUj14gVcgSo/SuTkI8k1foI/AAAAAAAAEMc/QeR7IWl9AwI/s1600-h/softprotectq.png"&gt;&lt;img style="border:0;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 240px;" src="http://3.bp.blogspot.com/_XUj14gVcgSo/SuTkI8k1foI/AAAAAAAAEMc/QeR7IWl9AwI/s400/softprotectq.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5396689095847411330" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;Si además el citado software es propietario, significa que sus creadores, los cuales no te han dado ningún tipo de garantía, son los únicos que tienen la posibilidad de arreglarlo sin violar la ley. Pero ojo, ellos ya han recibido su dinero y ya no tienen razón alguna arreglar nada. Si eventualmente solucionan el error, obviamente se aprovecharán de él para ganar aún más dinero. Y esta es la principal razón por la que el software propietario es tan inseguro por diseño, y por la que los parches o correcciones a errores solo arreglan un ínfimo porcentaje de los fallos de los programas, tratándose generalmente de los referentes a cuestiones de seguridad informática (término arbitrario donde los hayan), relegando el resto a futuras "versiones" para hacer pagar nuevamente a sus clientes.&lt;/p&gt;&lt;p&gt;En este vacío práctico, muchas empresas han encontrado su nicho: Me refiero a las desarrolladoras de soluciones de "seguridad". Ellas producen programas que se encargan de que los posibles, y remotamente conocidos errores que plagan el software irreparable y privativo no puedan ser aprovechados por "malas personas", y confían en la suerte y ciertas técnicas muy deficitarias a la par que intrusivas para proteger también de errores que aún son desconocidos. Para ello algunos se valen de las mismas sucias tretas que el software considerado dañino que consideraremos, optimistamente, su enemigo: escalada de privilegios (rootkits), análisis de procesos, control e intoxicación de procesos en ejecución...&lt;/p&gt;&lt;p&gt;En este marco recién dibujado, podrían ser incluidos los antivirus, cortafuegos y software de los mas variopinto.&lt;/p&gt;&lt;div style="text-align:center"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_XUj14gVcgSo/SuTkIkG0eVI/AAAAAAAAEMU/493gPXZwvso/s1600-h/gameguard.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 142px;" src="http://1.bp.blogspot.com/_XUj14gVcgSo/SuTkIkG0eVI/AAAAAAAAEMU/493gPXZwvso/s400/gameguard.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5396689089279064402" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;Pero agazapado entre el software de seguridad, existe un subconjunto que engloba distintas formas de protección del software, para las que el usuario es, en realidad, el enemigo a abatir, en las que se incluyen los gestores de DRM, Gameguard, Gameshield, Xtrap, e incluso el tristemente famoso Windows&lt;sup&gt;2&lt;/sup&gt; Genuine Advantage.&lt;/p&gt;&lt;p&gt;En este último caso ya no es el usuario el que instala, conscientemente, un software que se vale de sucias artimañas para paliar errores humanos que no interesa corregir, en este caso es el propio creador del software el que, en un acto de completo desprecio hacia sus clientes, añade una funcionalidad secreta que, teniendo al citado usuario en el punto de mira, comprueba y juzga todo lo que ocurre en el sistema en el que se aloja, para decidir si tal o cual programa debería estar ejecutándose, en definitiva, tomando el control del sistema en el que se ejecuta. Esto provoca que mucho software de seguridad bloquee este, ya por definición, software malicioso, y provoque quebraderos de cabeza a los ya de por sí maltratados usuarios.&lt;/p&gt;&lt;div style="text-align:center"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_XUj14gVcgSo/SuTmrSGvDGI/AAAAAAAAEMs/0SGVgjLwivQ/s1600-h/avg.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 197px;" src="http://3.bp.blogspot.com/_XUj14gVcgSo/SuTmrSGvDGI/AAAAAAAAEMs/0SGVgjLwivQ/s400/avg.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5396691884765547618" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;En el mundo del software libre, en discordancia con todo lo anterior, los errores detectados son corregidos porque, y en esto radica el crecimiento orgánico del software libre, cualquiera puede corregir errores; esto hace innecesario de un software extra que se base en métodos sucios para tapar agujeros de diseño. Y es la inexistencia de estos errores, de los que se vale el citado software malicioso incluido en estos juegos, la razón por la que Wine es incapaz de hacer funcionar la mayor parte de las mal llamadas "protecciones" en sistemas POSIX (FreeBSD, Linux, MacOS...).&lt;/p&gt;&lt;p&gt;No os dejéis engañar: Gameguard, Gameshield, y demás parafernalia son sólo eufemismos para referirse a virus, troyanos y malware. Pero no todo es negativo: todavía hay empresas que no despojan de su dignidad a sus usuarios, y que se niegan&lt;sup&gt;3&lt;/sup&gt; fervientemente a incluir este tipo de porquerías en sus juegos, incluso otras&lt;sup&gt;4&lt;/sup&gt; que finalmente han optado por retirar estos "extras" en vista a los problemas generados a sus usuarios y su mas que dudosa efectividad porque, aunque lo haya dejado entrever, no he puesto de manifiesto la más que dudosa efectividad de estos sucios métodos... porque esa, es otra historia.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Algunos, los mas graves, provenientes del mismo sistema operativo.&lt;/li&gt;&lt;li&gt;¡Maldición! ¡He nombrado al Hasefroch! ¡El Fin se acerca!&lt;/li&gt;&lt;li&gt;Blizzard.&lt;/li&gt;&lt;li&gt;Aion online.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;strong&gt;Créditos&lt;/strong&gt;&lt;br /&gt;Las capturas de los errores, obviamente, están sacados de los respectivos foros de los juegos afectados: hay ciertos sistemas &lt;strike&gt;des&lt;/strike&gt;operativos con los prefiero no tratar directamente.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-3209932495116990787?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/3209932495116990787/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2009/10/las-protecciones-del-software.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/3209932495116990787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/3209932495116990787'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2009/10/las-protecciones-del-software.html' title='¿Las &quot;protecciones&quot; del software?'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_XUj14gVcgSo/SuTkJYnnb2I/AAAAAAAAEMk/kgMKEO1HtC4/s72-c/xtrap.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-1841696851274943140</id><published>2009-10-25T12:00:00.001Z</published><updated>2009-10-25T12:00:01.663Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='webcómic'/><category scheme='http://www.blogger.com/atom/ns#' term='mi chica geek'/><title type='text'>Mi chica geek, nº 7</title><content type='html'>&lt;p&gt;Ese fatídico día que a todos nos llega... Como de costumbre, levemente basado en hechos reales. Cliclí para ampliar.&lt;/p&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_XUj14gVcgSo/SuHdWZ2YR8I/AAAAAAAAEMM/oKtpGx3MAsk/s1600-h/7.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 162px; height: 200px;" src="http://1.bp.blogspot.com/_XUj14gVcgSo/SuHdWZ2YR8I/AAAAAAAAEMM/oKtpGx3MAsk/s200/7.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5395837205532395458" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;He aquí mi guiño a la obra de &lt;a href="http://es.wikipedia.org/wiki/Akira_Toriyama"&gt;Toriyama&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-1841696851274943140?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/1841696851274943140/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2009/10/mi-chica-geek-n-7.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/1841696851274943140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/1841696851274943140'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2009/10/mi-chica-geek-n-7.html' title='Mi chica geek, nº 7'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_XUj14gVcgSo/SuHdWZ2YR8I/AAAAAAAAEMM/oKtpGx3MAsk/s72-c/7.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-6021465146529878170</id><published>2009-10-20T15:00:00.000Z</published><updated>2009-10-20T15:00:00.321Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><title type='text'>Una programadora de vuelta al colegio...</title><content type='html'>&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_XUj14gVcgSo/St2_gKuhO_I/AAAAAAAAEL8/6M0Bm02JSDI/s1600-h/school.gif"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 131px;" src="http://1.bp.blogspot.com/_XUj14gVcgSo/St2_gKuhO_I/AAAAAAAAEL8/6M0Bm02JSDI/s400/school.gif" border="0" alt="" id="BLOGGER_PHOTO_ID_5394678488015911922" /&gt;&lt;/a&gt;&lt;br /&gt;Sí, definitivamente este tipo de chorradas lucen especialmente bien en una bitácora de actualización diaria pero... ¿ocurrirá así cuando el período actualización es tan errático como el de éste?&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Créditos&lt;/strong&gt;&lt;br /&gt;Vilmente extraído del &lt;a href="http://juliasegal.tumblr.com/post/216880672"&gt;blog de Julia Segal&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-6021465146529878170?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/6021465146529878170/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2009/10/una-programadora-de-vuelta-al-colegio.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/6021465146529878170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/6021465146529878170'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2009/10/una-programadora-de-vuelta-al-colegio.html' title='Una programadora de vuelta al colegio...'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_XUj14gVcgSo/St2_gKuhO_I/AAAAAAAAEL8/6M0Bm02JSDI/s72-c/school.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-3790293594233832039</id><published>2009-10-19T13:27:00.003Z</published><updated>2009-10-19T13:42:01.594Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><title type='text'>Error del nivel de volumen de PulseAudio tras reiniciar</title><content type='html'>&lt;p&gt;En ubuntu, bajo determinadas condiciones (en mi caso por haber ido usando el update-manager para actualizad la distribución) PulseAudio se vuelve incapaz de recordar el nivel de volumen tras  los reinicios. Pero mirando por la sección de bugs del su launchpad, resulta que la culpa es realmente de lo scripts de inicio de Alsa, de modo que arreglarlo ha resultado ser de lo más sencillo (en la consola):&lt;/p&gt;&lt;blockquote&gt;sudo update-rc.d -f alsa-utils remove&lt;br /&gt;sudo update-rc.d alsa-utils start 50 2 S .&lt;/blockquote&gt;&lt;p&gt;&lt;strong&gt;Créditos:&lt;/strong&gt;&lt;br /&gt;&lt;a href="https://launchpad.net/~darkandor2003"&gt;Andrew Smart&lt;/a&gt; por &lt;a href="https://bugs.launchpad.net/pulseaudio/+bug/315809/comments/19"&gt;su comentario en el launchpad con la solución&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;a href="http://spayder26.blogspot.com/"&gt;El blog de Spayder26&lt;/a&gt;&lt;br/&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/es/" rel="license"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://lh3.ggpht.com/spayder26/SCGNjneXQgI/AAAAAAAABtc/9YlEa_Wnoyo/88x31.png"/&gt;&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3688028495600140878-3790293594233832039?l=spayder26.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://spayder26.blogspot.com/feeds/3790293594233832039/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://spayder26.blogspot.com/2009/10/error-del-nivel-de-volumen-de.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/3790293594233832039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3688028495600140878/posts/default/3790293594233832039'/><link rel='alternate' type='text/html' href='http://spayder26.blogspot.com/2009/10/error-del-nivel-de-volumen-de.html' title='Error del nivel de volumen de PulseAudio tras reiniciar'/><author><name>Felipe A. Hernandez</name><uri>http://www.blogger.com/profile/18271198033537981807</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_XUj14gVcgSo/S47vUyYqojI/AAAAAAAAEpQ/Wi3vJmRZwXY/S220/prrf.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3688028495600140878.post-951453133107526856</id><published>2009-10-07T12:00:00.000Z</published><updated>2009-10-23T16:49:19.155Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='webcómic'/><category scheme='http://www.blogger.com/atom/ns#' term='mi chica geek'/><title type='text'>Mi chica geek, nº 6</title><content type='html'>&lt;p&gt;Hoy me he atrevido a mancillar el obtuso formato de la tira en varios aspectos... pero ser estricto es problemático a veces.&lt;/p&gt;&lt;p&gt;Como siempre haced click para verlo en grande.&lt;/p&g
