<?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-26809589</id><updated>2011-11-28T02:06:59.633+01:00</updated><category term='desarollo'/><category term='chocobo'/><category term='final fantasy'/><category term='passenger'/><category term='bug'/><category term='howto'/><category term='rails'/><category term='macosx'/><category term='juego'/><category term='curiosidad'/><category term='video'/><category term='ruby development'/><category term='programas'/><category term='jruby'/><category term='ubuntu'/><category term='ti-83'/><category term='netbeans'/><category term='freak'/><title type='text'>Oleguer's thoughts</title><subtitle type='html'>Programación y divagaciones varias</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://olegueret.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://olegueret.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>olegueret</name><uri>http://www.blogger.com/profile/00473281143896821000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://olegueret.googlepages.com/shinchan.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>29</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-26809589.post-7858749188983103742</id><published>2010-02-05T12:20:00.013+01:00</published><updated>2010-02-05T12:27:50.312+01:00</updated><title type='text'>El CEO de Symbian envía un recadito a @billgates y @stevejobs, con fallos incluídos</title><content type='html'>Se confirma que Noki..., digo Symbian &lt;a href="http://eliax.com/index.php?/archives/7451-Nokia-hace-a-Symbian-Open-Source-desde-hoy.-Opinion.html" target="_blank"&gt;va a la desesperada&lt;/a&gt;, no les basta con &lt;a href="http://www.wired.com/gadgetlab/2010/02/symbian-operating-system-now-open-source-and-free/" target="_blank"&gt;adelantar 4 meses&lt;/a&gt; la &lt;a href="http://www.symbian.org/news-and-media/2010/02/04/symbian-completes-biggest-open-source-migration-project-ever" target="_blank"&gt;liberación del código&lt;/a&gt; de Symbian.&lt;br /&gt;&lt;br /&gt;Muy grandes las agallas de Lee Williams, jefazo de Symbian:&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/KmtiJb5GpYI&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/KmtiJb5GpYI&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="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;El mensaje dice "&lt;i&gt;@billgates @stevejobs Wanted to let you know that we have £4.5 Billion worth of free @symbian code available. Hugs and kisses. Lee&lt;/i&gt;".&lt;br /&gt;&lt;br /&gt;Viene a decir algo así como "&lt;i&gt;@billgates @stevejobs Quiero hacerles saber tenemos disponible gratuitamente código de @symbian por valor de 4.5 millones de libras. Besos y abrazos. Lee&lt;/i&gt;".&lt;br /&gt;&lt;br /&gt;No se trata de un fake como se podría pensar, pues&amp;nbsp;el vídeo aparece en la web de &lt;a href="http://www.symbian.org/" target="_blank"&gt;Symbian&lt;/a&gt;, en el destacado "From CEO Lee Williams".&lt;br /&gt;&lt;br /&gt;La idea es genial, seguro que consigue un efecto viral muy bueno por "meterse" directamente con los respectivos jefazos de su competencia via twitter, pero le veo un par de fallos de producción:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Primero&lt;/b&gt;: si te metes con Steve Jobs (jefazo de Apple), por lo menos no lo hagas desde un &lt;a href="http://store.apple.com/us/product/MB110LL/A" target="_blank"&gt;teclado&lt;/a&gt;&amp;nbsp;y ordenador hecho por su compañía, que canta mucho (aunque la pantalla no parece de Apple):&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_gR-RXWlf5pU/S2v5ZDEhyMI/AAAAAAAAAHU/4L_Qqfq7bHc/s1600-h/Imagen+7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img border="0" height="321" src="http://3.bp.blogspot.com/_gR-RXWlf5pU/S2v5ZDEhyMI/AAAAAAAAAHU/4L_Qqfq7bHc/s640/Imagen+7.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Tanto opensource que se han vuelto, pues podrían haber usado alguna &lt;a href="http://www.ubuntu.com/" target="_blank"&gt;alternativa&lt;/a&gt; a sistemas operativos propietarios...&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;b&gt;Segundo&lt;/b&gt;: aclárate con la tecnología que usas: si en el vídeo muestras que twitteas desde &lt;a href="http://www.tweetdeck.com/" target="_blank"&gt;TweetDeck&lt;/a&gt; (programa de escritorio, versión para Mac), no acabes poniendo &lt;a href="http://twitter.com/leemwilliams/status/8638502561" target="_blank"&gt;el tweet&lt;/a&gt; con otro programa.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://3.bp.blogspot.com/_gR-RXWlf5pU/S2v99X6gzjI/AAAAAAAAAHc/fU_rJL3Y4g4/s1600-h/Imagen+8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img border="0" height="326" src="http://3.bp.blogspot.com/_gR-RXWlf5pU/S2v99X6gzjI/AAAAAAAAAHc/fU_rJL3Y4g4/s640/Imagen+8.png" width="640" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Al menos ha sido consecuente y ha usado &lt;a href="http://mobileways.de/products/gravity/gravity/" target="_blank"&gt;Gravity&lt;/a&gt;, un cliente twitter para Symbian al publicar el tweet...&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://4.bp.blogspot.com/_gR-RXWlf5pU/S2v-CmZc9LI/AAAAAAAAAHk/IznS3yM-iWA/s1600-h/Imagen+9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" target="_blank"&gt;&lt;img border="0" height="235" src="http://4.bp.blogspot.com/_gR-RXWlf5pU/S2v-CmZc9LI/AAAAAAAAAHk/IznS3yM-iWA/s400/Imagen+9.png" width="400" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26809589-7858749188983103742?l=olegueret.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://olegueret.blogspot.com/feeds/7858749188983103742/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26809589&amp;postID=7858749188983103742' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/7858749188983103742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/7858749188983103742'/><link rel='alternate' type='text/html' href='http://olegueret.blogspot.com/2010/02/el-ceo-de-symbian-envia-un-recadito.html' title='El CEO de Symbian envía un recadito a @billgates y @stevejobs, con fallos incluídos'/><author><name>olegueret</name><uri>http://www.blogger.com/profile/00473281143896821000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://olegueret.googlepages.com/shinchan.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_gR-RXWlf5pU/S2v5ZDEhyMI/AAAAAAAAAHU/4L_Qqfq7bHc/s72-c/Imagen+7.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26809589.post-9190841799025710507</id><published>2009-12-05T00:06:00.005+01:00</published><updated>2011-07-19T20:47:19.122+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby development'/><title type='text'>Determine file type with Ruby and libmagic (aka how the hell get the correct content-type from a browser-uploaded file)</title><content type='html'>At &lt;a href="http://woices.com/"&gt;woices&lt;/a&gt;, we needed something to determine the file type of a file in Ruby, as content-type provided by browsers is, well, not the best out there :D&lt;br /&gt;&lt;br /&gt;We wanted something like the command &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;file -b --mime-type&lt;/span&gt;&amp;nbsp;but without executing this command&amp;nbsp;from ruby (starting a process from ruby is expensive for our needs).&lt;br /&gt;&lt;br /&gt;So, libmagic to the rescue! This is the lib which the &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;file&lt;/span&gt; command is based on. For ruby, there is a binding in the&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt; ruby-filemagic&lt;/span&gt; gem, but we need to install first &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;libmagic-dev&lt;/span&gt; package to let the gem install properly:&lt;br /&gt;&lt;pre&gt;$ sudo apt-get install libmagic-dev&lt;br /&gt;$ sudo gem install ruby-filemagic&lt;br /&gt;&lt;/pre&gt;Now we can determine mime-type like this:&lt;br /&gt;&lt;br /&gt;&lt;script src="http://gist.github.com/249438.js?file=determine_content_type.rb"&gt;&lt;/script&gt;&lt;br /&gt;This script will set the value&amp;nbsp;"audio/mpeg" to the &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;content_type&lt;/span&gt; variable.&lt;br /&gt;&lt;br /&gt;The syntax is strange and ugly, but the param to the &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;open&lt;/span&gt; method is a flag (or a ORed set of flags) that affect behaviour of other libmagic functions. As we needed only the mime type, we pass the&amp;nbsp;MAGIC_MIME_TYPE flag (if not, a textual description of the file will be returned by the &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;file&lt;/span&gt; function).&lt;br /&gt;&lt;br /&gt;The rest of the flags are explained in libmagic&amp;nbsp;manpage:&lt;br /&gt;&lt;pre&gt;$ man libmagic&lt;/pre&gt;This was tested with &lt;a href="http://www.ubuntu.com/"&gt;Ubuntu 9.10 Karmic Koala&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26809589-9190841799025710507?l=olegueret.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://olegueret.blogspot.com/feeds/9190841799025710507/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26809589&amp;postID=9190841799025710507' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/9190841799025710507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/9190841799025710507'/><link rel='alternate' type='text/html' href='http://olegueret.blogspot.com/2009/12/determine-file-type-with-ruby-and.html' title='Determine file type with Ruby and libmagic (aka how the hell get the correct content-type from a browser-uploaded file)'/><author><name>olegueret</name><uri>http://www.blogger.com/profile/00473281143896821000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://olegueret.googlepages.com/shinchan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26809589.post-8610086436854089926</id><published>2009-09-23T23:39:00.003+02:00</published><updated>2009-09-24T00:39:01.633+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><title type='text'>Configuración MMS e Internet en Nokia N85 con Simyo</title><content type='html'>&lt;div&gt;El Nokia N85 lleva como sistema operativo Symbian OS v9.3 y como interfaz de usuario un S60 3rd Edition, Feature Pack 2, con lo cual, las opciones de configuración están algo cambiadas respecto a 3rd Ed original o el FP1. Estas instrucciones deberían servir para otros S60 3rd Ed. FP2.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;Configuración de los MMS&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Menu &gt; Herramientas &gt; Ajustes &gt; Conexión &gt; Destinos &gt; Punto de acceso &gt; Paquete de datos &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;En el paso "Punto de acceso", si os pide comprobar automáticamente si hay puntos de acceso disponibles, decid que "No".&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Nombre de punto de acceso de paquetes de datos: Simyo MMS.&lt;/div&gt;&lt;div&gt;Cuando pregunte "Seleccionar destino" escogemos "Mens. multimed.". Esto creará un punto de acceso con el nombre "Simyo MMS" dentro de Destinos &gt; Mens. multimed.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Entramos en Destinos &gt; Mens. multimed., seleccionamos "Simyo MMS" y escogemos "Editar". Los valores a poner son:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Nombre de conexión: &lt;b&gt;Simyo MMS&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Portador de datos: &lt;b&gt;Paquetes de datos&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Nombre de punto de acceso: &lt;b&gt;gprs-service.com&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Nombre de usuario: &lt;b&gt;Ninguno&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Petición de contraseña: &lt;b&gt;No&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Contraseña: &lt;b&gt;Vacía  &lt;/b&gt;(aunque entremos, y la dejemos vacía, al volver al menú de edición aparecerá como **** por seguridad, pero realmente estará vacía)&lt;/div&gt;&lt;div&gt;Autentificación: &lt;b&gt;Normal&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Página de inicio: &lt;b&gt;http://217.18.32.180:8080&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Usar punto de acceso: &lt;b&gt;Después de confirmar&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Sin salir de la pantalla de edición, escogemos Opciones &gt; Ajustes avanzados&lt;/div&gt;&lt;div&gt;Tipo de red: &lt;b&gt;IPv4&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Dirección IP de teléfono: &lt;b&gt;Automática&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Direcciones de DNS: &lt;b&gt;Automáticas&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Dirección servidor proxy: &lt;b&gt;http://217.18.32.181&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Nº de puerto de proxy: &lt;b&gt;8080&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ahora sólo queda indicarle a la aplicación de mensajes, el punto de acceso que debe utilizar:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Menu &gt; Mensajes &gt; Opciones &gt; Ajustes &gt; Mensaje multimedia &gt; Punto de acceso en uso: Simyo MMS&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Recordad que para poder recibir MMS, primero tienes que haber enviado uno tú.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;Configuración de Internet&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Menu &gt; Herramientas &gt; Ajustes &gt; Conexión &gt; Destinos &gt; Punto de acceso &gt; Paquete de datos &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;En el paso "Punto de acceso", si os pide comprobar automáticamente si hay puntos de acceso disponibles, decid que "No".&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Nombre de punto de acceso de paquetes de datos: Simyo Internet.&lt;/div&gt;&lt;div&gt;Cuando pregunte "Seleccionar destino" escogemos "Servicios de WAP". Esto creará un punto de acceso con el nombre "Simyo Internet" dentro de Destinos &gt; Servicios de WAP&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Entramos en Destinos &gt;  Servicios de WAP, seleccionamos "Simyo Internet" y escogemos "Editar". Los valores a poner son:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Nombre de conexión: &lt;b&gt;Simyo Internet&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Portador de datos: &lt;b&gt;Paquetes de datos&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Nombre de punto de acceso: &lt;b&gt;gprs-service.com&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Nombre de usuario: &lt;b&gt;Ninguno&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Petición de contraseña: &lt;b&gt;No&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Contraseña: &lt;b&gt;Vacía  &lt;/b&gt;(aunque entremos, y la dejemos vacía, al volver al menú de edición aparecerá como **** por seguridad, pero realmente estará vacía)&lt;/div&gt;&lt;div&gt;Autentificación: &lt;b&gt;Normal&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Página de inicio: &lt;b&gt;http://wap-start&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Usar punto de acceso: &lt;b&gt;Después de confirmar&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Cuando ejecutemos el navegador (Menu &gt; Web) y necesite conexión, nos preguntará cuál deseamos usar, allí deberemos escoger "Simyo Internet" que estará en el destino "Servicios de WAP" si deseamos usar la conexión a Internecs de Simyo.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Es recomendable indicarle al navegador que nos pregunte siempre qué punto de acceso utilizar, para de esta forma no llevarnos sorpresas con la factura y poder escoger si deseamos utilizar otro punto de acceso como una conexión WiFi. Esto se puede cambiar en:&lt;/div&gt;&lt;div&gt;Menu &gt; Web &gt; Opciones &gt; Ajustes &gt; Generales &gt; Punto de acceso &gt; Preguntar siempre&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26809589-8610086436854089926?l=olegueret.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://olegueret.blogspot.com/feeds/8610086436854089926/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26809589&amp;postID=8610086436854089926' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/8610086436854089926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/8610086436854089926'/><link rel='alternate' type='text/html' href='http://olegueret.blogspot.com/2009/09/configuracion-mms-e-internet-en-nokia.html' title='Configuración MMS e Internet en Nokia N85 con Simyo'/><author><name>olegueret</name><uri>http://www.blogger.com/profile/00473281143896821000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://olegueret.googlepages.com/shinchan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26809589.post-4342040202957285037</id><published>2009-09-07T14:35:00.000+02:00</published><updated>2009-09-07T14:35:00.463+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='juego'/><title type='text'>El Circuit de Catalunya en Forza Motorsport 3</title><content type='html'>Alucinado me he quedado al ver el siguiente video de una carrera en &lt;a href="http://www.circuitcat.com/catalan/index.asp"&gt;El Circuit de Catalunya&lt;/a&gt; en el próximo &lt;a href="http://forzamotorsport.net/en-us/game/default.htm"&gt;FM3&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/z24VK3lSSaI&amp;hl=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/z24VK3lSSaI&amp;hl=es&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Muy conseguidos los detalles como la publicidad de LKXA o RACC.&lt;br /&gt;&lt;br /&gt;Por cierto, el coche que aparece es ni mas ni menos que un &lt;a href="http://en.wikipedia.org/wiki/Lamborghini_Gallardo"&gt;Lamborghini Gallardo&lt;/a&gt;. Ahí es ná...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://upload.wikimedia.org/wikipedia/commons/thumb/2/24/Lamborghini_Gallardo_silver.jpg/250px-Lamborghini_Gallardo_silver.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 250px; height: 134px;" src="http://upload.wikimedia.org/wikipedia/commons/thumb/2/24/Lamborghini_Gallardo_silver.jpg/250px-Lamborghini_Gallardo_silver.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26809589-4342040202957285037?l=olegueret.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://olegueret.blogspot.com/feeds/4342040202957285037/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26809589&amp;postID=4342040202957285037' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/4342040202957285037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/4342040202957285037'/><link rel='alternate' type='text/html' href='http://olegueret.blogspot.com/2009/09/el-circuit-de-catalunya-en-forza.html' title='El Circuit de Catalunya en Forza Motorsport 3'/><author><name>olegueret</name><uri>http://www.blogger.com/profile/00473281143896821000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://olegueret.googlepages.com/shinchan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26809589.post-4278694426564832632</id><published>2009-09-05T12:21:00.007+02:00</published><updated>2009-09-24T00:49:08.074+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><category scheme='http://www.blogger.com/atom/ns#' term='bug'/><category scheme='http://www.blogger.com/atom/ns#' term='programas'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Arreglando problemas de fuentes con Chromium en Ubuntu Jaunty 9.04</title><content type='html'>&lt;div&gt;&lt;b&gt;Problema&lt;/b&gt;: Si tenemos en Ubuntu seleccionada como fuente de aplicación la &lt;i&gt;Bitstream Vera Sans&lt;/i&gt;, Chromium tendrá problemas detectándola y no se iniciará correctamente:&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span style="font-family: 'courier new';"&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'courier new';"&gt;&lt;span style="font-size: small;"&gt;oleguer@imhotep:~$ chromium-browser&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'courier new';"&gt;&lt;span style="font-size: small;"&gt;[7085:7085:2011175710:FATAL:/build/buildd/chromium-browser-4.0.207.0~svn20090904r25449/build-tree/src/app/gfx/font_skia.cc(90)] Check failed: tf. Could not find font: Bitstream Vera Sans&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'courier new';"&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Este es un &lt;a href="http://code.google.com/p/chromium/issues/detail?id=12530" target="_blank"&gt;problema conocido&lt;/a&gt; y aunque lo han marcado como resuelto, a mi sigue sin funcionarme correctamente.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Solución&lt;/b&gt;: Hay que cambiar la fuente de aplicación de Gnome, por ejemplo a Devjavu Sans (yo he usado el estilo Book)&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Menú &lt;b&gt;Sistema -&amp;gt; Preferencias -&amp;gt; Apariencia -&amp;gt; Tipografías -&amp;gt; Tipografía para la aplicación&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26809589-4278694426564832632?l=olegueret.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://olegueret.blogspot.com/feeds/4278694426564832632/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26809589&amp;postID=4278694426564832632' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/4278694426564832632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/4278694426564832632'/><link rel='alternate' type='text/html' href='http://olegueret.blogspot.com/2009/09/arreglando-problemas-de-fuentes-con.html' title='Arreglando problemas de fuentes con Chromium en Ubuntu Jaunty 9.04'/><author><name>olegueret</name><uri>http://www.blogger.com/profile/00473281143896821000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://olegueret.googlepages.com/shinchan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26809589.post-4994153251220561010</id><published>2009-07-18T14:48:00.004+02:00</published><updated>2009-07-18T15:00:20.344+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='curiosidad'/><title type='text'>Curiosidad - WTF: 5 captchas en 1 formulario</title><content type='html'>Habitualmente se utiliza un &lt;a href="http://es.wikipedia.org/wiki/Captcha"&gt;captcha&lt;/a&gt; (Completely Automated Public Turing test to tell Computers and Humans Apart) para proteger los formularios de registro y evitar los registros automatizados por bots.&lt;br /&gt;&lt;br /&gt;Pero lo de esta gente ya es pasarse un poco: tienen 5 captchas en una misma página!!&lt;br /&gt;Las pruebas para demostrar nuestra humanidad son:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Verificación visual (el más habitual)&lt;/li&gt;&lt;li&gt;Pregunta: ¿Vives en el planeta tierra?&lt;/li&gt;&lt;li&gt;Test matemático: una suma sencilla&lt;/li&gt;&lt;li&gt;Deja este campo sin rellenar (este es particularmente bueno, aquí pican todos los bots)&lt;/li&gt;&lt;li&gt;Pregunta: ¿Eres un humano?&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_gR-RXWlf5pU/SmHGjbCmVII/AAAAAAAAAFo/FgENwNSyOnU/s1600-h/Pantallazo-Register+-+Mozilla+Firefox.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 282px;" src="http://3.bp.blogspot.com/_gR-RXWlf5pU/SmHGjbCmVII/AAAAAAAAAFo/FgENwNSyOnU/s400/Pantallazo-Register+-+Mozilla+Firefox.png" alt="" id="BLOGGER_PHOTO_ID_5359783343403979906" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Imagino que será efectivo al 120%: no entrará ningún robot y puede que tampoco algunos humanos...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26809589-4994153251220561010?l=olegueret.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://olegueret.blogspot.com/feeds/4994153251220561010/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26809589&amp;postID=4994153251220561010' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/4994153251220561010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/4994153251220561010'/><link rel='alternate' type='text/html' href='http://olegueret.blogspot.com/2009/07/curiosidad-wtf-5-captchas-en-1.html' title='Curiosidad - WTF: 5 captchas en 1 formulario'/><author><name>olegueret</name><uri>http://www.blogger.com/profile/00473281143896821000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://olegueret.googlepages.com/shinchan.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_gR-RXWlf5pU/SmHGjbCmVII/AAAAAAAAAFo/FgENwNSyOnU/s72-c/Pantallazo-Register+-+Mozilla+Firefox.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26809589.post-6347775737214809599</id><published>2009-07-13T10:01:00.004+02:00</published><updated>2009-09-24T00:49:12.955+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programas'/><title type='text'>"Bueno, esto es embarazoso."</title><content type='html'>Un curioso error de Firefox 3.5 que me ha mostrado al no poder recuperar las pestañas y ventanas que tenía abiertas tras una saliza forzosa.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_gR-RXWlf5pU/Slrq3t8_K-I/AAAAAAAAAFI/Xb9ycDqN_EQ/s1600-h/Imagen+9.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5357852949659724770" src="http://2.bp.blogspot.com/_gR-RXWlf5pU/Slrq3t8_K-I/AAAAAAAAAFI/Xb9ycDqN_EQ/s400/Imagen+9.png" style="cursor: pointer; height: 276px; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;Al menos reconocen que es embarazoso, cosa que pocos desarrolladores dirían de pasarles en sus programas XD&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26809589-6347775737214809599?l=olegueret.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://olegueret.blogspot.com/feeds/6347775737214809599/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26809589&amp;postID=6347775737214809599' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/6347775737214809599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/6347775737214809599'/><link rel='alternate' type='text/html' href='http://olegueret.blogspot.com/2009/07/bueno-esto-es-embarazoso.html' title='&quot;Bueno, esto es embarazoso.&quot;'/><author><name>olegueret</name><uri>http://www.blogger.com/profile/00473281143896821000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://olegueret.googlepages.com/shinchan.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_gR-RXWlf5pU/Slrq3t8_K-I/AAAAAAAAAFI/Xb9ycDqN_EQ/s72-c/Imagen+9.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26809589.post-7304714074167375914</id><published>2009-06-09T18:52:00.010+02:00</published><updated>2009-06-09T19:36:20.117+02:00</updated><title type='text'>Tomaduras de pelo by Apple -y de empresas americanas en general-</title><content type='html'>Ayer fue la WWDC de Apple, donde presentaron iPhone 3G S y los nuevos Mac Book Pro entre otras cosas.&lt;br /&gt;&lt;br /&gt;Una de las novedades fueron los precios más baratos para los portátiles, acorde con los tiempos de crisis...&lt;br /&gt;&lt;br /&gt;Veamos el esquema de precios USA-España (precios "a partir de...", como no) para los MBP:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Mac Book Pro 13":&lt;/li&gt;&lt;ul&gt;&lt;li&gt;USA: $1199 (€855 al cambio*)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;SPA: €1549  -&gt; el "transporte" cuesta &lt;span style="font-weight: bold;"&gt;€694&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Mac Book Pro 15":&lt;/li&gt;&lt;ul&gt;&lt;li&gt;USA: $1699 (€1211 al cambio)&lt;/li&gt;&lt;li&gt;SPA: €1749 -&gt; sobrecosto de &lt;span style="font-weight: bold;"&gt;€538&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Mac Book Pro 17":&lt;/li&gt;&lt;ul&gt;&lt;li&gt;USA: $2499 (€1782 al cambio)&lt;/li&gt;&lt;li&gt;SPA: €2249 -&gt; sobrecosto de &lt;span style="font-weight: bold;"&gt;€467&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;Se ve que el transporte está muuuuy caro o que pretenden hacer pagar la rebaja que disfrutaran los americanos a los pringaos de los europeos... Espera, oh whait!!&lt;br /&gt;&lt;br /&gt;Lo alarmante es que estos precios no son tan siquiera una conversión 1$ = 1€ a la que nos tienen acostumbrados los americanos, sinó que -exceptuando el MBP de 17"- &lt;span style="font-weight: bold;"&gt;el valor numérico del precio oficial en EUR es superior al valor de numerico del precio americano&lt;/span&gt; a pesar de que el dólar está más devaluado respecto al euro. ALUCINANTE.&lt;br /&gt;&lt;br /&gt;fuentes:&lt;br /&gt;&lt;a href="http://www.apple.com/macbookpro/"&gt;http://www.apple.com/macbookpro/&lt;/a&gt; (USA)&lt;br /&gt;&lt;a href="http://www.apple.com/es/macbookpro/"&gt;http://www.apple.com/es/macbookpro/&lt;/a&gt; (España)&lt;br /&gt;&lt;br /&gt;* Tomada como base de conversión: 1 € = 1.40250 USD, a fecha del post.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26809589-7304714074167375914?l=olegueret.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://olegueret.blogspot.com/feeds/7304714074167375914/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26809589&amp;postID=7304714074167375914' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/7304714074167375914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/7304714074167375914'/><link rel='alternate' type='text/html' href='http://olegueret.blogspot.com/2009/06/tomaduras-de-pelo-by-apple-y-de.html' title='Tomaduras de pelo by Apple -y de empresas americanas en general-'/><author><name>olegueret</name><uri>http://www.blogger.com/profile/00473281143896821000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://olegueret.googlepages.com/shinchan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26809589.post-5640683065179977492</id><published>2009-04-10T20:22:00.006+02:00</published><updated>2009-09-24T00:49:22.094+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><category scheme='http://www.blogger.com/atom/ns#' term='programas'/><title type='text'>Arreglando audacity en Ubuntu 8.10 Intrepid Ibex</title><content type='html'>El paquete que trae Ubuntu 8.10 para &lt;a href="http://audacity.sourceforge.net/"&gt;audacity&lt;/a&gt; no funciona correctamente con el nuevo servidor de sonido &lt;a href="http://www.pulseaudio.org/"&gt;PulseAudio&lt;/a&gt;: cuando se carga cualquier audio y se intenta reproducir, la barra de progreso se mueve, pero no se escucha sonido alguno por los altavoces. Y tratándose de un editor de sonido, pues no es plan... XD&lt;br /&gt;&lt;br /&gt;Buscando por el internete, he encontrado otra versión del paquete de audacity empaquetada por un tal David Henningsson en su &lt;a href="https://launchpad.net/%7Ediwic/+archive/ppa"&gt;Launchpad's Personal Package Archives (PPA)&lt;/a&gt; que sí funciona.&lt;br /&gt;&lt;br /&gt;Los pasos para instalar dicha versión son:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;PASO 1&lt;/span&gt;: Añadimos el origen del PPA al final del sources.list. Para ello, abrimos este fichero con gedit, (como root) poniendo esta línea en la consola:&lt;br /&gt;&lt;pre&gt;$ gksudo gedit /etc/apt/sources.list&lt;/pre&gt;Al final del fichero, añadimos esta línea, guardamos y cerramos gedit:&lt;br /&gt;&lt;pre&gt;deb http://ppa.launchpad.net/diwic/ppa/ubuntu intrepid main&lt;/pre&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;PASO 2&lt;/span&gt;: Añadir las claves del PPA de David en nuestro sistema. Ponemos esta línea en una consola:&lt;br /&gt;&lt;pre&gt;$ sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com F62476D8&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;PASO 3&lt;/span&gt;: Actualizamos los paquetes. Si usamos Synaptic sólo debemos abrirlo, darle al botón &lt;span style="font-weight: bold;"&gt;"Recargar"&lt;/span&gt; primero, luego a &lt;span style="font-weight: bold;"&gt;"Marcar todas las actualizaciones"&lt;/span&gt; y finalmente &lt;span style="font-weight: bold;"&gt;"Aplicar"&lt;/span&gt;. Podemos abrir Synaptic desde el menú &lt;span style="font-weight: bold;"&gt;Sistema -&amp;gt; Administración -&amp;gt; Gestor de paquetes Synaptic&lt;/span&gt; o poniendo esto en la consola:&lt;br /&gt;&lt;pre&gt;$ gksudo synaptic&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;PASO 4&lt;/span&gt;: Abrimos audacity, escogemos &lt;span style="font-weight: bold;"&gt;Editar -&amp;gt; Preferencias&lt;/span&gt; en el menú. Luego, vamos a la pestaña &lt;span style="font-weight: bold;"&gt;Audio E/S&lt;/span&gt; y escogemos el dispositivo &lt;span style="font-weight: bold;"&gt;ALSA: pulse&lt;/span&gt; dentro del recuadro &lt;span style="font-weight: bold;"&gt;Reproducción&lt;/span&gt;. Escogemos el mismo dispositivo en el recuadro &lt;span style="font-weight: bold;"&gt;Grabación&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Con esto deberíamos poder abrir cualquier audio soportado por audacity y escucharlo correctamente al reproducirlo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26809589-5640683065179977492?l=olegueret.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://olegueret.blogspot.com/feeds/5640683065179977492/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26809589&amp;postID=5640683065179977492' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/5640683065179977492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/5640683065179977492'/><link rel='alternate' type='text/html' href='http://olegueret.blogspot.com/2009/04/arreglando-audacity-en-ubuntu-810.html' title='Arreglando audacity en Ubuntu 8.10 Intrepid Ibex'/><author><name>olegueret</name><uri>http://www.blogger.com/profile/00473281143896821000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://olegueret.googlepages.com/shinchan.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26809589.post-4300219005545602321</id><published>2009-03-06T11:46:00.005+01:00</published><updated>2009-09-24T00:47:07.286+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><title type='text'>Instalar JMF 2.1.1 Linux Performance Pack en Ubuntu</title><content type='html'>Este tutorial es para la version 2.1.1e de JMF en su versión Linux Performance Pack (fichero con el nombre jmf-2_1_1e-linux-i586.bin).&lt;br /&gt;&lt;br /&gt;Resulta que el instalador oficial no funciona correctamente en Ubuntu, dando el siguiente error:&lt;br /&gt;&lt;pre&gt;Unpacking...&lt;br /&gt;tail: no se puede abrir «+309» para lectura: No existe el fichero ó directorio&lt;br /&gt;Extracting...&lt;br /&gt;./install.sfx.30138: 1: cannot open ==: No such file&lt;br /&gt;./install.sfx.30138: 1: ==: not found&lt;br /&gt;./install.sfx.30138: 3: Syntax error: ")" unexpected&lt;br /&gt;&lt;/pre&gt;La solución es simple:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;PASO 1&lt;/span&gt;: Bajamos el Java Media Framework de &lt;a href="http://java.sun.com/javase/technologies/desktop/media/jmf/2.1.1/download.html"&gt;su web&lt;/a&gt; y  lo guardamos por ejemplo en /home/usuario/jmf-2_1_1e-linux-i586.bin&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;PASO 2:&lt;/span&gt; Arreglar el instalador: a este le falta el parámetro "-n" al comando tail que usa internamente. Mejor usar sed que editores interactivos como vim o gedit, pues estos pueden alterar el instalador:&lt;br /&gt;&lt;pre&gt;$ cd /home/usuario&lt;br /&gt;$ cat jmf-2_1_1e-linux-i586.bin | sed 's/tail +309 $0 &amp;gt; $outname/tail -n +309 $0 &amp;gt; $outname/' &amp;gt; jmf-2_1_1e-linux-i586.bin.fixed &lt;/pre&gt;&lt;span style="font-weight: bold;"&gt;PASO 3&lt;/span&gt;: Ejecutar el instalador arreglado concediéndole antes permisos de ejecución:&lt;br /&gt;&lt;pre&gt;$ chmod u+x jmf-2_1_1e-linux-i586.bin.fixed&lt;br /&gt;$ cd /directorio/donde/queremos/instalar/jmf&lt;br /&gt;$ /home/usuario/jmf-2_1_1e-linux-i586.bin.fixed&lt;br /&gt;&lt;/pre&gt;Luego podemos pasar a configurar JMF siguiendo los pasos de &lt;a href="http://java.sun.com/javase/technologies/desktop/media/jmf/2.1.1/setup-linux.html"&gt;este enlace&lt;/a&gt; (esta entrada cubre solamente el paso que falla 2: &lt;span style="font-style: italic;"&gt;Run the Installation program to extract JMF to a directory&lt;/span&gt;).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26809589-4300219005545602321?l=olegueret.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://olegueret.blogspot.com/feeds/4300219005545602321/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26809589&amp;postID=4300219005545602321' title='9 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/4300219005545602321'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/4300219005545602321'/><link rel='alternate' type='text/html' href='http://olegueret.blogspot.com/2009/03/instalar-jmf-211-linux-performance-pack.html' title='Instalar JMF 2.1.1 Linux Performance Pack en Ubuntu'/><author><name>olegueret</name><uri>http://www.blogger.com/profile/00473281143896821000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://olegueret.googlepages.com/shinchan.jpg'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26809589.post-512160955855943982</id><published>2009-01-31T16:11:00.016+01:00</published><updated>2009-01-31T16:55:59.718+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bug'/><title type='text'>Google ha roto Internet...</title><content type='html'>Señor@s, el caos se ha apoderado del mundo el día de hoy (al menos durante un ratito, hacia las 16:10 CET) :&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;¡&lt;/span&gt;&lt;a style="font-weight: bold;" href="http://www.google.com/"&gt;El buscador&lt;/a&gt;&lt;span style="font-weight: bold;"&gt; de Google no funcionaba correctamente!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Parece que alguien la ha liado parda con el servicio que tienen para la detección de sitios fraudulentos o peligrosos, pues durante un rato todos los resultados de las búsquedas aparecían como sitios dañinos:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_gR-RXWlf5pU/SYRtY7tAXNI/AAAAAAAAACk/kTsto_Mampg/s1600-h/google-loco.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 142px;" src="http://2.bp.blogspot.com/_gR-RXWlf5pU/SYRtY7tAXNI/AAAAAAAAACk/kTsto_Mampg/s400/google-loco.png" alt="" id="BLOGGER_PHOTO_ID_5297479336805293266" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;¡OMG, &lt;a href="http://woices.com/"&gt;woices&lt;/a&gt; puede dañar mi equipo!&lt;br /&gt;(que raro,  no recuerdo haber implementado esa &lt;span style="font-style: italic;"&gt;feature&lt;/span&gt;...)&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Al hacer clic sobre los resultados aparecía una página como esta (pongo la de ejemplo de google, no he pensado en capturar la versión española):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_gR-RXWlf5pU/SYRwelPgsbI/AAAAAAAAACs/Gcs7UGt1JoM/s1600-h/search_45449b_en.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 189px;" src="http://1.bp.blogspot.com/_gR-RXWlf5pU/SYRwelPgsbI/AAAAAAAAACs/Gcs7UGt1JoM/s400/search_45449b_en.gif" alt="" id="BLOGGER_PHOTO_ID_5297482732390101426" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Bueno no es para tanto, pero no deja de ser curioso cómo se le puede haber colado semejante&lt;br /&gt;bug al todopoderoso Google, y encima en su producto estrella, el buscador.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_gR-RXWlf5pU/SYRycgboDSI/AAAAAAAAADE/3Ctegu8KQao/s1600-h/google-ta-loco.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 234px;" src="http://1.bp.blogspot.com/_gR-RXWlf5pU/SYRycgboDSI/AAAAAAAAADE/3Ctegu8KQao/s400/google-ta-loco.png" alt="" id="BLOGGER_PHOTO_ID_5297484895762255138" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;Vaya, sólo con mencionar &lt;span style="font-weight: bold;"&gt;woices&lt;/span&gt;, una página se vuelve peligrosa...&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:85%;"&gt;Mmm, interesante...&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Para más inri, y mientras algún ingeniero reconstruía cierto índice -sudando la gota gorda se entiende-, resulta que o este problemilla no afectaba a los productos de Google o que estos tenian prioridad para ser arreglados (fijaos que los únicos enlaces no dañinos son los de Youtube):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_gR-RXWlf5pU/SYRxgFV1j_I/AAAAAAAAAC8/kEW1Hni8rxM/s1600-h/interneee.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 225px;" src="http://4.bp.blogspot.com/_gR-RXWlf5pU/SYRxgFV1j_I/AAAAAAAAAC8/kEW1Hni8rxM/s400/interneee.png" alt="" id="BLOGGER_PHOTO_ID_5297483857698066418" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Conspiranoias a parte, con sucesos como este uno se da cuenta de la "dependencia" que llega a adquirir con ciertos servicios de internete, menos mal que siempre nos queda &lt;a href="http://yahoo.com/"&gt;la competencia&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Cierro el post citando una reflexión de un filósofo-genio moderno:&lt;br /&gt;&lt;blockquote&gt;¡&lt;a href="http://es.youtube.com/watch?gl=ES&amp;amp;v=2OBZHB5I89A"&gt;Interneeeeeeeeeeeeeeeeeeeeeeeeee&lt;/a&gt;!....&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26809589-512160955855943982?l=olegueret.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://olegueret.blogspot.com/feeds/512160955855943982/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26809589&amp;postID=512160955855943982' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/512160955855943982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/512160955855943982'/><link rel='alternate' type='text/html' href='http://olegueret.blogspot.com/2009/01/google-ha-roto-internet.html' title='Google ha roto Internet...'/><author><name>olegueret</name><uri>http://www.blogger.com/profile/00473281143896821000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://olegueret.googlepages.com/shinchan.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_gR-RXWlf5pU/SYRtY7tAXNI/AAAAAAAAACk/kTsto_Mampg/s72-c/google-loco.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26809589.post-8698394681869393168</id><published>2009-01-05T14:38:00.003+01:00</published><updated>2009-01-05T14:42:29.556+01:00</updated><title type='text'>Nueva e inesperada versión de Firefox !!!</title><content type='html'>Ahora incluye un firewall de serie...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_gR-RXWlf5pU/SWIN5-6tvoI/AAAAAAAAAB8/wyh6Qo_UxJg/s1600-h/CC000005.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 240px; height: 320px;" src="http://1.bp.blogspot.com/_gR-RXWlf5pU/SWIN5-6tvoI/AAAAAAAAAB8/wyh6Qo_UxJg/s320/CC000005.jpg" alt="" id="BLOGGER_PHOTO_ID_5287804202279353986" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26809589-8698394681869393168?l=olegueret.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://olegueret.blogspot.com/feeds/8698394681869393168/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26809589&amp;postID=8698394681869393168' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/8698394681869393168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/8698394681869393168'/><link rel='alternate' type='text/html' href='http://olegueret.blogspot.com/2009/01/nueva-e-inesperada-versin-de-firefox.html' title='Nueva e inesperada versión de Firefox !!!'/><author><name>olegueret</name><uri>http://www.blogger.com/profile/00473281143896821000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://olegueret.googlepages.com/shinchan.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_gR-RXWlf5pU/SWIN5-6tvoI/AAAAAAAAAB8/wyh6Qo_UxJg/s72-c/CC000005.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26809589.post-6570151293874922089</id><published>2008-12-09T14:35:00.000+01:00</published><updated>2008-12-09T14:35:01.240+01:00</updated><title type='text'>Una de ActionScript 3: cómo configurar un CellRender correctamente</title><content type='html'>Bug tonto del dia: Flash (AS3) no es Java...&lt;br /&gt;&lt;br /&gt;Este código que intenta cambiar el cellRenderer de un componente List de ActionScript 3 &lt;span style="font-style: italic;"&gt;parece &lt;/span&gt;funcionar (de hecho compila), pero &lt;span style="font-weight: bold;"&gt;NO &lt;/span&gt;funciona correctamente (sólo renderiza el último componente de la List, los otros no):&lt;br /&gt;&lt;br /&gt;&lt;code&gt;playlist_mc.setStyle("cellRenderer", new MyCellRenderer());&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Este es el código que sí funciona:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;playlist_mc.setStyle("cellRenderer", MyCellRenderer);&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;¿Que cual era el problema? Pues hay que pasar una CLASE (estilo AS3) y no un OBJETO (estilo Java) al setStyle... Cuanto daño causas &lt;a href="http://java.sun.com/javase/6/docs/api/javax/swing/JList.html#renderer"&gt;Swing&lt;/a&gt; XD.&lt;br /&gt;&lt;br /&gt;Dejo una buena referencia sobre los cellRenderers de &lt;a href="http://help.adobe.com/es_ES/ActionScript/3.0_UsingComponentsAS3/WS5b3ccc516d4fbf351e63e3d118a9c65b32-7fd4.html"&gt;regalo&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26809589-6570151293874922089?l=olegueret.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://olegueret.blogspot.com/feeds/6570151293874922089/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26809589&amp;postID=6570151293874922089' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/6570151293874922089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/6570151293874922089'/><link rel='alternate' type='text/html' href='http://olegueret.blogspot.com/2008/12/una-de-actionscript-3-cmo-configurar-un.html' title='Una de ActionScript 3: cómo configurar un CellRender correctamente'/><author><name>olegueret</name><uri>http://www.blogger.com/profile/00473281143896821000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://olegueret.googlepages.com/shinchan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26809589.post-4639680961931923111</id><published>2008-10-30T22:10:00.005+01:00</published><updated>2009-09-24T00:47:15.131+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><category scheme='http://www.blogger.com/atom/ns#' term='programas'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>GPicView 0.1.10 en Ubuntu Gutsy</title><content type='html'>&lt;a href="http://lxde.sourceforge.net/gpicview/" target="_blank"&gt;GPicView&lt;/a&gt; es un rápido visor de imágenes, bastante más rápido que el que incluye &lt;a href="http://www.ubuntu.com/" target="_blank"&gt;Ubuntu&lt;/a&gt; por defecto (&lt;a href="http://www.gnome.org/projects/eog/" target="_blank"&gt;eog&lt;/a&gt;). El problema es que en Gutsy no viene incluido en los repositorios -o yo no he sabido encontrarlo- y hay que instalarlo a mano.&lt;br /&gt;&lt;br /&gt;Nos bajamos pues la última versión des de la &lt;a href="http://lxde.sourceforge.net/gpicview/" target="_blank"&gt;web de gpicview&lt;/a&gt;, en mi caso la 0.1.10.&lt;br /&gt;&lt;br /&gt;Primero hay instalar las dependencias para poder compilarlo:&lt;br /&gt;&lt;pre&gt;$ sudo apt-get install libgtk2.0-dev&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Y luego seguimos el proceso estándar de configure, make y make install (si faltaran más dependencias, configure nos lo indicaría).&lt;br /&gt;&lt;pre&gt;$ tar xvzf gpicview-0.1.10.tar.gz&lt;br /&gt;$ cd gpicview-0.1.10/&lt;br /&gt;$ ./configure&lt;br /&gt;$ make&lt;br /&gt;$ sudo make install&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Podemos ejecutarlo des de la consola con:&lt;br /&gt;&lt;pre&gt;$ gpicview&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;También encontraremos un nuevo lanzador de la aplicación en el menú "Aplicaciones" &amp;gt; "Gráficos".&lt;br /&gt;&lt;br /&gt;Si queremos configurar gpicview como nuestro visor de imágenes por defecto (con los tipos de imagen que tiene actualmente eog):&lt;br /&gt;&lt;pre&gt;$ xdg-mime default gpicview.desktop `grep 'MimeType=' /usr/share/applications/eog.desktop | sed -e 's/.*=//' -e 's/;/ /g'`&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;¡Y listos!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26809589-4639680961931923111?l=olegueret.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://olegueret.blogspot.com/feeds/4639680961931923111/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26809589&amp;postID=4639680961931923111' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/4639680961931923111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/4639680961931923111'/><link rel='alternate' type='text/html' href='http://olegueret.blogspot.com/2008/10/gpicview-0110-en-ubuntu-gutsy.html' title='GPicView 0.1.10 en Ubuntu Gutsy'/><author><name>olegueret</name><uri>http://www.blogger.com/profile/00473281143896821000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://olegueret.googlepages.com/shinchan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26809589.post-56144132209541403</id><published>2008-10-25T00:40:00.004+02:00</published><updated>2008-10-25T00:53:50.940+02:00</updated><title type='text'>Una de ruby: cuidadín con ||= (o cómo destruir una central nuclear sin querer)</title><content type='html'>El operador ||= de ruby, también conocido como operador de &lt;span style="font-weight: bold;"&gt;asignación condicional&lt;/span&gt; (conditional assignment) se suele utilizar para inicializar una variable a un valor por defecto si esta es nil o false.&lt;br /&gt;&lt;br /&gt;Una muestra de cómo &lt;span style="font-style: italic;"&gt;se puede liar parda&lt;/span&gt; si este operador no se usa correctamente:&lt;br /&gt;&lt;pre&gt;def modificar_central_nuclear(accion, opciones={})&lt;br /&gt;  opciones[:avisar_supervisor] ||= false&lt;br /&gt;  opciones[:efectuar_operacion] ||= true&lt;br /&gt;  puts opciones[:avisar_supervisor] ? "Se avisa supervisor de #{accion}" : "No se avisa supervisor de #{accion}"&lt;br /&gt;  puts opciones[:efectuar_operacion] ? "Se realiza accion #{accion}" : "No se realiza accion #{accion}"&lt;br /&gt;end&lt;br /&gt;&lt;/pre&gt;&lt;ul&gt;&lt;li&gt;Esta función realiza una acción en una central nuclear recién inaugurada. Se establece como regla de negocio que siempre que se efectúe una operación, se debe avisar a un supervisor. Si no se realiza no hay que avisarlo (por ejemplo, cuando se hacen pruebas no hay que molestarle). En términos de código esto significa que en el hash opciones, los valores de &lt;span style="font-family:courier new;"&gt;:avisar_supervisor&lt;/span&gt; y &lt;span style="font-family:courier new;"&gt;:efectuar_operacion&lt;/span&gt; tendrán siempre el mismo valor en el momento de llamar a la función.&lt;/li&gt;&lt;li&gt;También se indica que, como caso especial, si se llama a esta función sin opciones, hay que efectuar la acción pero no hay que avisar al operador.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Veamos primero este último punto:&lt;br /&gt;&lt;pre&gt;&gt;&gt; modificar_central_nuclear(:subir_temperatura_core)&lt;br /&gt;No se avisa supervisor de subir_temperatura_core&lt;br /&gt;Se realiza accion subir_temperatura_core&lt;br /&gt;=&gt; nil&lt;br /&gt;&lt;/pre&gt;Funciona bien. Ahora veamos el primer punto (suponemos q desde fuera de este código se cumple que se indican siempre las dos opciones y que estas tienen el mismo valor):&lt;br /&gt;&lt;pre&gt;&gt;&gt; modificar_central_nuclear(:subir_temperatura_core, {:efectuar_operacion =&gt; true, :avisar_supervisor =&gt; true})&lt;br /&gt;Se avisa supervisor de subir_temperatura_core&lt;br /&gt;Se realiza accion subir_temperatura_core&lt;br /&gt;=&gt; nil&lt;br /&gt;&lt;/pre&gt;Perfecto, somos unos cracks! Y ahora hacemos lo mismo pero no queremos bajar la temperatura ni avisar al operador (estamos probando que se crean logs recién introducidos p.ej):&lt;br /&gt;&lt;pre&gt;&gt;&gt; modificar_central_nuclear(:subir_temperatura_core, {:efectuar_operacion =&gt; false, :avisar_supervisor =&gt; false})&lt;br /&gt;No se avisa supervisor de subir_temperatura_core&lt;br /&gt;Se realiza accion subir_temperatura_core&lt;br /&gt;=&gt; nil&lt;br /&gt;&lt;/pre&gt;Ostras!! &lt;a href="http://www.youtube.com/watch?v=AVv4fgEZeMI" target="_blank"&gt;&lt;span style="font-style: italic;"&gt;Parda habemus liada!&lt;/span&gt;&lt;/a&gt; &lt;span style="font-weight: bold;"&gt;Hemos subido la temperatura del core y encima sin avisar al supervisor...&lt;/span&gt; Evidentemente lo que esperábamos era que no se subiera la temperatura y que no se avisara al supervisor...&lt;br /&gt;&lt;br /&gt;Veamos por qué pasa esto:&lt;br /&gt;&lt;pre&gt;x ||= 'valor por defecto'&lt;br /&gt;&lt;/pre&gt;La sentencia anterior asignará el valor 'valor por defecto' a la variable x si:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;La variable no existe (la crea y le asigna 'valor por defecto')&lt;/li&gt;&lt;li&gt;La variable existe y su valor anterior es nil&lt;/li&gt;&lt;li&gt;La variable existe y su valor anterior es &lt;span style="font-weight: bold;"&gt;false&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;El tercer punto es el motivo por el cual "falla" el uso que hacemos de ||= con booleanos. Nosotros inicializamos &lt;span style="font-family:courier new;"&gt;opciones[:efectuar_operacion]&lt;/span&gt; con el valor false antes de ejecutar la función, pero una vez dentro de esta, el operador condicional por la regla 3 considera que no está inicializada (existe la variable pero su valor anterior es false) y le da el valor a la derecha del ||= (o sea, true).&lt;br /&gt;&lt;br /&gt;Resumiendo: &lt;span style="font-weight: bold;"&gt;nunca de los jamases usar ||= con booleanos, especialmente si el valor anterior puede ser false&lt;/span&gt;. En el caso que nos ocupa es preferible hacer esto:&lt;br /&gt;&lt;pre&gt;opciones[:efectuar_operacion] = true if opciones[:efectuar_operacion].nil?&lt;br /&gt;&lt;/pre&gt;El código final quedaría:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;def modificar_central_nuclear(accion, opciones={})&lt;br /&gt;  opciones[:avisar_supervisor] = false if opciones[:avisar_supervisor].nil?&lt;br /&gt;  opciones[:efectuar_operacion] = true if opciones[:efectuar_operacion].nil?&lt;br /&gt;  puts opciones[:avisar_supervisor] ? "Se avisa supervisor de #{accion}" : "No se avisa supervisor de #{accion}"&lt;br /&gt;  puts opciones[:efectuar_operacion] ? "Se realiza accion #{accion}" : "No se realiza accion #{accion}"&lt;br /&gt;end&lt;br /&gt;&lt;/pre&gt;Y ahora sí que obtenemos el resultado esperado:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&gt;&gt;modificar_central_nuclear(:subir_temperatura_core, {:efectuar_operacion =&gt; false, :avisar_supervisor =&gt; false})&lt;br /&gt;No se avisa supervisor de subir_temperatura_core&lt;br /&gt;No se realiza accion subir_temperatura_core&lt;br /&gt;=&gt; nil&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26809589-56144132209541403?l=olegueret.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://olegueret.blogspot.com/feeds/56144132209541403/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26809589&amp;postID=56144132209541403' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/56144132209541403'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/56144132209541403'/><link rel='alternate' type='text/html' href='http://olegueret.blogspot.com/2008/10/una-de-ruby-cuidadn-con-o-cmo-destruir.html' title='Una de ruby: cuidadín con ||= (o cómo destruir una central nuclear sin querer)'/><author><name>olegueret</name><uri>http://www.blogger.com/profile/00473281143896821000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://olegueret.googlepages.com/shinchan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26809589.post-3150141616307801688</id><published>2008-07-13T00:25:00.023+02:00</published><updated>2009-09-24T00:47:25.070+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='desarollo'/><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><category scheme='http://www.blogger.com/atom/ns#' term='rails'/><category scheme='http://www.blogger.com/atom/ns#' term='passenger'/><title type='text'>Instalando Passenger (modrails) con Ubuntu 8.04 (aka Hardy Heron)</title><content type='html'>Voy a explicar los pasos que he seguido para instalar &lt;a href="http://www.modrails.com/"&gt;Passenger&lt;/a&gt; en &lt;a href="http://start.ubuntu.com/8.04/"&gt;Ubuntu 8.04&lt;/a&gt;, puesto que los "oficiales" que explica el instalador de &lt;a href="http://www.modrails.com/"&gt;Passenger&lt;/a&gt; no funcionan sin antes retocar algunos sencillos aspectos de la configuración de &lt;a href="http://httpd.apache.org/"&gt;Apache&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Para empezar, doy por hecho que ya tenemos instalado en nuestro sistema los ingredientes previos necesarios, o sea &lt;a href="http://www.ruby-lang.org/"&gt;Ruby&lt;/a&gt;, &lt;a href="http://www.rubygems.org/"&gt;RubyGems&lt;/a&gt; y &lt;a href="http://www.rubyonrails.org/"&gt;Rails&lt;/a&gt;. En caso contrario, sólo hay que seguir estos &lt;a href="http://lobotuerto.com/blog/2008/01/26/como-instalar-ruby-rubygems-y-rails-en-ubuntu-710-gutsy-gibbon/"&gt;pasos&lt;/a&gt; (se explica para Ubuntu 7.10, pero imagino que no cambia casi nada para 8.04).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Paso 0&lt;/span&gt;: Evidentemente, debemos tener instalado Apache 2:&lt;br /&gt;&lt;blockquote&gt;$ sudo apt-get install apache2&lt;br /&gt;&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;Paso 0,5&lt;/span&gt;: Además, necesitaremos las librerías de desarrollo de este, para que el instalador de Passenger pueda compilar el módulo:&lt;br /&gt;&lt;blockquote&gt;$ sudo apt-get install apache2-prefork-dev&lt;br /&gt;&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;Paso 1&lt;/span&gt;: Instalar Passenger, con el "método fácil":&lt;br /&gt;&lt;blockquote&gt;$ sudo gem install passenger&lt;br /&gt;$ sudo passenger-install-apache2-module&lt;br /&gt;&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;Paso 2&lt;/span&gt;: Configurar Apache 2:&lt;br /&gt;El segundo comando del paso anterior lanza el instalador del módulo de Passenger para Apache, que busca dónde está este, compila el módulo y lo instala. Además nos indica que debemos añadir las siguientes líneas al fichero de configuración de Apache, cosa que haremos con nuestro editor favorito y con permisos de root (el contenido de las líneas puede variar ligeramente):&lt;br /&gt;&lt;blockquote&gt;$ sudo vim /etc/apache2/apache2.conf&lt;br /&gt;&lt;/blockquote&gt;Las lineas a añadir (al final del fichero) son:&lt;br /&gt;&lt;blockquote&gt;# Passenger (modrails) module:&lt;br /&gt;LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.0.1/ext/apache2/mod_passenger.so&lt;br /&gt;PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.0.1&lt;br /&gt;PassengerRuby /usr/bin/ruby1.8&lt;br /&gt;&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;Paso 3&lt;/span&gt;: Probarlo con una aplicación Rails que sea über-cool.&lt;br /&gt;Creamos nuestra aplicación rails con:&lt;br /&gt;&lt;blockquote&gt;$ rails /home/usuario/my_fantastic_blog&lt;br /&gt;$ cd /home/usuario/my_fantastic_blog&lt;br /&gt;$ rake db:create&lt;br /&gt;$ rake db:migrate&lt;br /&gt;&lt;/blockquote&gt;Ahora tenemos 2 opciones: modificar la configuración del sitio por defecto que trae Apache en ubuntu (/etc/apache2/sites-available/default) creamos un virtual host aparte como nos recomienda el instalador de Passenger. Yo he optado por esta última opción (¡atención a poner como DocumentRoot el directorio &lt;span style="font-style: italic;"&gt;public&lt;/span&gt; de nuestra aplicación Rails!):&lt;br /&gt;&lt;blockquote&gt;$ sudo vim /etc/apache2/sites-available/my_fantastic_blog&lt;br /&gt;&lt;/blockquote&gt;Ponemos esto:&lt;br /&gt;&lt;blockquote&gt;&amp;lt;VirtualHost 127.0.0.1:8000&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ServerName localhost&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;DocumentRoot /home/usuario/my_fantastic_blog/public&lt;br /&gt;&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;&lt;/blockquote&gt;Y creamos un enlace simbólico que le indica a Apache que el nuevo virtual host está disponible:&lt;br /&gt;&lt;blockquote&gt;$ sudo ln -s /etc/apache2/sites-available/my_fantastic_blog /etc/apache2/sites-enabled/001-my_fantastic_blog&lt;br /&gt;&lt;/blockquote&gt;E indicamos que nuestra aplicación estará disponible en el puerto 8000:&lt;br /&gt;&lt;blockquote&gt;$ sudo vim /etc/apache2/ports.conf&lt;br /&gt;&lt;/blockquote&gt;Añadiendo la línea &lt;span style="font-weight: bold;"&gt;Listen 8000&lt;/span&gt; al fichero /etc/apache2/ports.conf de forma que quede tal que así:&lt;br /&gt;&lt;blockquote&gt;Listen 80&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Listen 8000&lt;/span&gt;&lt;br /&gt;&amp;lt;IfModule mod_ssl.c&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Listen 443&lt;br /&gt;&amp;lt;/IfModule&amp;gt;&lt;br /&gt;&lt;/blockquote&gt;Finalmente, recargamos la configuración de Apache y ponemos en el navegador la dirección http://localhost:8000 para ver nuestra flamante aplicación Rails corriendo con Passenger:&lt;br /&gt;&lt;blockquote&gt;$ sudo /etc/init.d/apache2 force-reload&lt;br /&gt;&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;PD&lt;/span&gt;: Con una prueba rápida (y para nada científica :) he comparado Passenger + Apache2 contra 1  único Mongrel (corriendo en el puerto 3000 y con entorno de producción) usando para ello la herramienta httperf y la configuración por defecto tanto de Mongrel como de Passenger y Apache, resultando que: &lt;span style="font-style: italic;"&gt;modrails es la leche&lt;/span&gt;! XDD. Para ser justos, debería haber utilizado nginx + un cluster de mongrels, pero daba una pereza de configurar.... Se aprecia en los resultados que un único Mongrel simplemente no puede con tantas conexiones, de ahí los errores de timeout. El PC es un Pentium 4 HT @ 2.6 GHz, con 1 GB de RAM.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Resultados para mongrel:&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;$ httperf --port 3000 --rate 300 --num-conn 2700 --num-call 1 --timeout 5&lt;br /&gt;&lt;/blockquote&gt;&lt;blockquote&gt;httperf --timeout=5 --client=0/1 --server=localhost --port=3000 --uri=/ --rate=300 --send-buffer=4096 --recv-buffer=16384 --num-conns=2700 --num-calls=1&lt;br /&gt;Maximum connect burst length: 4&lt;br /&gt;&lt;br /&gt;Total: connections 2700 requests 2366 replies 2354 &lt;span style="font-weight: bold;"&gt;test-duration 13.031 s&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Connection rate: 207.2 conn/s (4.8 ms/conn, &amp;lt;=752 concurrent connections) Connection time [ms]: min 1.6 avg 1250.2 max 7995.8 median 704.5 stddev 1265.8 Connection time [ms]: connect 716.3 Connection length [replies/conn]: 1.000  &lt;span style="font-weight: bold;"&gt;Request rate: 181.6 req/s&lt;/span&gt; (5.5 ms/req)&lt;br /&gt;Request size [B]: 60.0&lt;br /&gt;&lt;br /&gt;Reply rate [replies/s]: min 197.8 avg 199.9 max 202.0 stddev 2.9 (2 samples)&lt;br /&gt;Reply time [ms]: response 537.9 transfer 0.0&lt;br /&gt;Reply size [B]: header 197.0 content 7557.0 footer 0.0 (total 7754.0)&lt;br /&gt;Reply status: 1xx=0 2xx=2354 3xx=0 4xx=0 5xx=0&lt;br /&gt;&lt;br /&gt;CPU time [s]: user 0.68 system 11.69 (user 5.2% system 89.7% total 95.0%)&lt;br /&gt;Net I/O: 1378.5 KB/s (11.3*10^6 bps)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Errors: total 346 client-timo 346 &lt;/span&gt;socket-timo 0 connrefused 0 connreset 0&lt;br /&gt;Errors: fd-unavail 0 addrunavail 0 ftab-full 0 other 0&lt;br /&gt;&lt;/blockquote&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Resultados para Passenger:&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;$ httperf --port 8000 --rate 300 --num-conn 2700 --num-call 1 --timeout 5&lt;br /&gt;&lt;/blockquote&gt;&lt;blockquote&gt;httperf --timeout=5 --client=0/1 --server=localhost --port=8000 --uri=/ --rate=300 --send-buffer=4096 --recv-buffer=16384 --num-conns=2700 --num-calls=1&lt;br /&gt;Maximum connect burst length: 1&lt;br /&gt;&lt;br /&gt;Total: connections 2700 requests 2700 replies 2700 &lt;span style="font-weight: bold;"&gt;test-duration 8.998 s&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Connection rate: 300.1 conn/s (3.3 ms/conn, &amp;lt;=3 concurrent connections) Connection time [ms]: min 0.1 avg 0.6 max 8.6 median 0.5 stddev 0.3 Connection time [ms]: connect 0.0 Connection length [replies/conn]: 1.000  &lt;span style="font-weight: bold;"&gt;Request rate: 300.1 req/s&lt;/span&gt; (3.3 ms/req)&lt;br /&gt;Request size [B]: 60.0&lt;br /&gt;&lt;br /&gt;Reply rate [replies/s]: min 300.0 avg 300.0 max 300.0 stddev 0.0 (1 samples)&lt;br /&gt;Reply time [ms]: response 0.6 transfer 0.0&lt;br /&gt;Reply size [B]: header 260.0 content 7557.0 footer 0.0 (total 7817.0)&lt;br /&gt;Reply status: 1xx=0 2xx=2700 3xx=0 4xx=0 5xx=0&lt;br /&gt;&lt;br /&gt;CPU time [s]: user 1.88 system 6.46 (user 20.8% system 71.8% total 92.6%)&lt;br /&gt;Net I/O: 2308.2 KB/s (18.9*10^6 bps)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Errors: total 0 client-timo 0&lt;/span&gt; socket-timo 0 connrefused 0 connreset 0&lt;br /&gt;Errors: fd-unavail 0 addrunavail 0 ftab-full 0 other 0&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Actualización&lt;/b&gt;&lt;br /&gt;Acabo de encontrar este &lt;a href="http://www.railsgarden.com/2008/04/12/configurating-passenger-mod_rails-on-slicehost-with-ubuntu-710/"&gt;enlace&lt;/a&gt; donde explica este mismo procedimiento para Ubuntu 7.10 (eso sí, en inglés) junto con una bonita tarea de Capistrano que hace automáticamente un touch del fichero my_fantastic_blog/tmp/restart.txt (el cual reinicia la aplicación Rails) y además elimina el fichero my_fantastic_blog/tmp/public/.htaccess que según el puede causar problemas.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26809589-3150141616307801688?l=olegueret.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://olegueret.blogspot.com/feeds/3150141616307801688/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26809589&amp;postID=3150141616307801688' title='6 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/3150141616307801688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/3150141616307801688'/><link rel='alternate' type='text/html' href='http://olegueret.blogspot.com/2008/07/instalando-passenger-modrails-con.html' title='Instalando Passenger (modrails) con Ubuntu 8.04 (aka Hardy Heron)'/><author><name>olegueret</name><uri>http://www.blogger.com/profile/00473281143896821000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://olegueret.googlepages.com/shinchan.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26809589.post-6543428625935043245</id><published>2008-06-21T22:36:00.003+02:00</published><updated>2008-12-11T08:54:17.477+01:00</updated><title type='text'>Google también se cae...</title><content type='html'>Pues sí, al Todopoderoso Google también le toca hacer tareas de mantenimiento de vez en cuando, por más servidores y replicación que tengan...&lt;br /&gt;&lt;br /&gt;En concreto, el servicio que ha dejado de funcionar (temporalmente, claro) es Adsense (a las 22:36 @ 21-06-08):&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_gR-RXWlf5pU/SF1nY8nVjII/AAAAAAAAABI/aJUYZKG1gzg/s1600-h/Pantallazo-Google+AdSense+-+Mozilla+Firefox.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_gR-RXWlf5pU/SF1nY8nVjII/AAAAAAAAABI/aJUYZKG1gzg/s320/Pantallazo-Google+AdSense+-+Mozilla+Firefox.png" alt="" id="BLOGGER_PHOTO_ID_5214437621850541186" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Fijaros en la URL: &lt;span style="font-weight: bold;"&gt;.../system_down.html&lt;/span&gt;. Como pillen al que le ha dado al Power sin querer, se le cae el pelo! XD&lt;br /&gt;&lt;br /&gt;Y para que quede clarito, te lo dicen en 27 idiomas&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26809589-6543428625935043245?l=olegueret.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://olegueret.blogspot.com/feeds/6543428625935043245/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26809589&amp;postID=6543428625935043245' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/6543428625935043245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/6543428625935043245'/><link rel='alternate' type='text/html' href='http://olegueret.blogspot.com/2008/06/google-tambin-se-cae.html' title='Google también se cae...'/><author><name>olegueret</name><uri>http://www.blogger.com/profile/00473281143896821000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://olegueret.googlepages.com/shinchan.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_gR-RXWlf5pU/SF1nY8nVjII/AAAAAAAAABI/aJUYZKG1gzg/s72-c/Pantallazo-Google+AdSense+-+Mozilla+Firefox.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26809589.post-7662943391997733310</id><published>2008-06-15T20:51:00.009+02:00</published><updated>2009-09-24T00:47:31.049+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='desarollo'/><category scheme='http://www.blogger.com/atom/ns#' term='jruby'/><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><category scheme='http://www.blogger.com/atom/ns#' term='rails'/><category scheme='http://www.blogger.com/atom/ns#' term='netbeans'/><title type='text'>Una de rails: usando lockdown con JRuby (y Netbeans)</title><content type='html'>Ahora mismo estoy trasteando con &lt;a href="http://www.rubyonrails.org/"&gt;RubyOnRails 2.1&lt;/a&gt; + &lt;a href="http://jruby.codehaus.org/"&gt;JRuby&lt;/a&gt; + &lt;a href="http://www.netbeans.org/"&gt;Netbeans 6.1&lt;/a&gt; creando una pequeña aplicación Rails para ver cuan diferente es el desarrollo con ruby nativo (MRI) vs. JRuby. La idea es que esta aplicación funcione en un servidor de aplicaciones Java via JRuby.&lt;br /&gt;&lt;br /&gt;Por otro lado, una parte fundamental de las aplicaciones web es la autenticación de usuarios. Para ello he decidido aplicarme el principio de &lt;a href="http://en.wikipedia.org/wiki/Don%27t_repeat_yourself"&gt;DRY&lt;/a&gt; (o no reinventar la rueda) y usar algun sistema ya existente para RoR. El elegido ha sido &lt;a href="http://stonean.com/projects/show/lockdown"&gt;Lockdown&lt;/a&gt; (web &lt;a href="http://lockdown.rubyforge.org/"&gt;anterior&lt;/a&gt;) pues su filosofía es simple: cierra el acceso a una aplicación Rails de forma global y permite dar determinados permisos a diferentes grupos de usuarios para realizar tareas concretas.&lt;br /&gt;&lt;br /&gt;Y aquí viene el primer problema: el JRuby integrado en Netbeans utiliza un directorio propio para almacenar las gemas, de forma que las que tengamos instaladas en el ruby "nativo" del sistema no las podemos utilizar. Hay que instalar las gemas que vayamos a usar en el proyecto con la herramienta que encontraremos en el menú "Tools -&amp;gt; Ruby Gems" de Netbeans, asegurándonos que tenemos escogida la plataforma "Built-in JRuby" en el momento de la instalación.&lt;br /&gt;&lt;br /&gt;Según el web de Lockdown, estos son los pasos para utilizarlo en un proyecto rails con ruby nativo:&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: courier new;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: courier new;"&gt;$ sudo gem install lockdown&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: courier new;"&gt;$ cd ~/code/rails/miproyecto&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: courier new;"&gt;$ lockdown .&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;span style="font-size: 85%;"&gt;&lt;/span&gt;Como esto no nos sirve para el desarrollo con Netbeans, aquí van los pasos equivalentes:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Instalar la gema lockdown en el JRuby de Netbeans: Abrir "Tools -&amp;gt; Ruby Gems", escoger la plataforma ruby "Built-in JRuby", ir a la pestaña "New Gems" e introducir en "Search" la palabra "lockdown" + la tecla intro. Seleccionar la gema "lockdown" de la lista de resultados y pulsar el botón "Install".&lt;/li&gt;&lt;li&gt;Abrir una consola e ir al directorio del proyecto rails:&lt;/li&gt;&lt;ul style="font-family: courier new;"&gt;&lt;li&gt;&lt;span style="font-size: 85%;"&gt;cd ~/code/rails/miproyecto&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Ahora la triquiñuela: ejecutar el lockdown instalado en Netbeans (averiguando antes dónde está instalado el Netbeans) con este comando:&lt;/li&gt;&lt;ul style="font-family: courier new;"&gt;&lt;li&gt;&lt;span style="font-size: 85%;"&gt;PATH=/opt/java/netbeans-6.1/ruby2/jruby-1.1/bin:$PATH lockdown .&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ol&gt;Si todo ha ido bien, veremos la siguiente salida en la consola:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: courier new;"&gt;    ------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    Installing Lockdown&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    create lib/lockdown&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    create lib/lockdown/session.rb&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    create lib/lockdown/init.rb&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    ------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    ------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    Modified config/environment.rb by adding:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    require "lockdown/init"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    ------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    ------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    You are now locked down. To open up access to your&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    application please modify lib/lockdown/init.rb. This is&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    where you'll add permissions and create user groups.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    To modify the contents of your session and to add access&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    methods, modify lib/lockdown/session.rb.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    For the wiki, news, forum and issue tracker please visit:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    http://stonean.com/projects/show/lockdown&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    ------------------------------------------------------------&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Ahora hay que utilizar el generador que proporciona lockdown para crear sus controladores, modelos, vistas y migrations específicos. En teoría, el generador debería aparecer en Netbeans clicando con el botón derecho sobre el proyecto, opción "Generate..." y entonces bajo el desplegable "Generate:". Como a mí no me ha aparecido, he usado la consola (ojo a utilizar el jruby correcto!):&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: courier new;"&gt;$ /opt/java/netbeans-6.1/ruby2/jruby-1.1/bin/jruby ./script/generate lockdown -all&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Se ejecutan las migrations con: click botón derecho sobre el proyecto, opción "Migrate Database" -&amp;gt; "To Current Version" y se elimina el fichero de índice "public/index.html" creado por defecto por Rails.&lt;br /&gt;&lt;br /&gt;Arrancamos el servidor (tecla F6 o icono del "play" en Netbeans), y ya podemos acceder a nuestra aplicación rails con las credenciales admin/password en la página de login que aparecerá.&lt;br /&gt;&lt;br /&gt;Podemos ver los usuarios en &lt;a href="http://localhost:3000/users"&gt;http://localhost:3000/users&lt;/a&gt;, los grupos en &lt;a href="http://localhost:3000/user_groups"&gt;http://localhost:3000/user_groups&lt;/a&gt; y los permisos en &lt;a href="http://localhost:3000/permissions"&gt;http://localhost:3000/permissions&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Y listo. Ahora sólo queda modificar el fichero &lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: courier new;"&gt;lib/lockdown/init.rb&lt;/span&gt;&lt;/span&gt; creando permisos y grupos de usuarios de forma apropiada.&lt;br /&gt;&lt;br /&gt;Para más detalles, consultar la documentación del &lt;a href="http://lockdown.rubyforge.org/generator.html"&gt;generador de lockdown&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26809589-7662943391997733310?l=olegueret.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://olegueret.blogspot.com/feeds/7662943391997733310/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26809589&amp;postID=7662943391997733310' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/7662943391997733310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/7662943391997733310'/><link rel='alternate' type='text/html' href='http://olegueret.blogspot.com/2008/06/una-de-rails-usando-lockdown-con-jruby.html' title='Una de rails: usando lockdown con JRuby (y Netbeans)'/><author><name>olegueret</name><uri>http://www.blogger.com/profile/00473281143896821000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://olegueret.googlepages.com/shinchan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26809589.post-7511262274224566782</id><published>2008-04-19T17:01:00.006+02:00</published><updated>2008-04-19T17:51:01.925+02:00</updated><title type='text'>¡Mi primer libro! (o conociendo Bubok.es)</title><content type='html'>Acabo de publicar mi primer &lt;a href="http://www.bubok.es/libros/377/Simulador-P2P-en-C"&gt;libro&lt;/a&gt;. Y he tardado &lt;span style="font-weight: bold;"&gt;5 minutos&lt;/span&gt; en encontrar editor, escoger la portada y la contraportada y decidir el precio al que quiero venderlo. Además, he escogido publicarlo tanto en formato electrónico como en papel, al "módico" precio de 3.99 € y 11.99 € respectivamente.&lt;br /&gt;&lt;br /&gt;Parece demasiado bonito para ser verdad. Pero lo es: el "editor" no es una persona de carne y huesos, cruel, vil y sin escrúpulos (estoy de coña :P), sino el sitio de nueva creación &lt;a href="http://www.bubok.es/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Bubok&lt;/span&gt;.es&lt;/a&gt;, &lt;span style="font-style: italic;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;made&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;in&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Spain&lt;/span&gt;&lt;/span&gt;, oigan. Por un precio muy competitivo (0 €, o sea, gratis) permiten publicar libros tanto a autores &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;amateurs&lt;/span&gt; como profesionales y darse a conocer de forma muy fácil.&lt;br /&gt;&lt;br /&gt;La versión en papel tiene un precio mínimo de venta (para cubrir costes de producción) que &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_5"&gt;varía&lt;/span&gt; &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_6"&gt;según&lt;/span&gt; el formato, tipo de papel, etc que escojamos para el libro. La electrónica, podemos venderla desde 0 €. En ambos casos se puede poner el precio de venta que se desee al libro, siendo el 80% de las ganancias para el autor y el 20% restante para &lt;a href="http://www.bubok.es/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Bubok&lt;/span&gt;.es&lt;/a&gt;. Los libros se suben en formato &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;PDF&lt;/span&gt; y la portada y contraportada se editan allí mismo con las plantillas &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_9"&gt;proporcionadas&lt;/span&gt; o, cosa que me ha parecido muy de agradecer, subiendo una imagen hecha por uno mismo.&lt;br /&gt;Además ofrecen servicios de valor añadido a los autores (esto sí hay que pagarlo) como maquetación, portadas hechas por diseñadores profesionales, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;publicitación&lt;/span&gt; del libro e incluso la creación de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;pósters&lt;/span&gt; y marcadores de libro personalizados. Lo que más me ha gustado es que todo el proceso -publicación, promoción, venta del libro- se gestiona desde su &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;web&lt;/span&gt;, la cual es &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;usable&lt;/span&gt; a la par que elegante.&lt;br /&gt;&lt;br /&gt;Se nota que esta gente empiezan fuerte y con ganas: han conseguido los favores de mismísimo &lt;a href="http://vazquezfigueroa.bubok.com/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;Alberto&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;Vázquez&lt;/span&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;Figueroa&lt;/span&gt;&lt;/a&gt;, con 18 libros publicados en el sitio (todos se pueden obtener gratuitamente en su versión electrónica y con un precio muy asequible la de papel). No se cómo lo han logrado pero es una gran baza para ellos y su sitio.&lt;br /&gt;&lt;br /&gt;La verdad, no espero que nadie compre mi libro en ninguna de las dos versiones -yo &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_17"&gt;incluido&lt;/span&gt;- pero me ha hecho gracia probarlo y creo que esta va a ser una plataforma revolucionaria para los escritores del &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;MundoReal&lt;/span&gt; (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;TM&lt;/span&gt;). Como una Operación Triunfo, pero con libros, vaya. Una recomendación para los creadores del sitio -que seguro que ya habéis tenido en cuenta-: aprovechad este &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;Sant&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;Jordi&lt;/span&gt; para daros a conocer!!&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;PD&lt;/span&gt;: el libro tan solo es mi proyecto final de carrera que &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_23"&gt;hice&lt;/span&gt; en la &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;ETIG&lt;/span&gt;, o sea que puede interesar como mucho a 2 personas en el mundo &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;xDD&lt;/span&gt;. Estas son fáciles de reconocer: les gusta traducir código fuente de Java a C++, las redes &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;peer&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;to&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;peer&lt;/span&gt; (P2P) y conocen un simulador que responde al nombre de &lt;a href="http://www.planetsim.net/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;PlanetSim&lt;/span&gt;&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26809589-7511262274224566782?l=olegueret.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://olegueret.blogspot.com/feeds/7511262274224566782/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26809589&amp;postID=7511262274224566782' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/7511262274224566782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/7511262274224566782'/><link rel='alternate' type='text/html' href='http://olegueret.blogspot.com/2008/04/mi-primer-libro-o-conociendo-bubokes.html' title='¡Mi primer libro! (o conociendo Bubok.es)'/><author><name>olegueret</name><uri>http://www.blogger.com/profile/00473281143896821000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://olegueret.googlepages.com/shinchan.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26809589.post-6753440512482117032</id><published>2008-01-25T01:09:00.001+01:00</published><updated>2008-12-11T08:54:18.091+01:00</updated><title type='text'>Nuevo coche o ¡Que contento que toooooyyy!!!</title><content type='html'>El título del post no deja lugar a dudas. Me he comprado un coche. Nuevecito del concesionario.&lt;br /&gt;&lt;br /&gt;Sus datos son:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Citroën HDi 92 CV Collection&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Color: Rojo Lucifer nacarado. ¡Como mola el nombre! Y punto.&lt;/li&gt;&lt;li&gt;Motor: Dieselón de 92 CV, sobrado para lo que lo voy a usar.&lt;/li&gt;&lt;li&gt;Extras: Pack Bluetooh Collection (pintura, llantas, pijadas varias y, ¡oh sorpresa!, Bluetooth) y Supercierre.&lt;/li&gt;&lt;li&gt;Fotos de rigor:&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_gR-RXWlf5pU/R5kqbOu5uaI/AAAAAAAAAA0/nZH7EwjVQCk/s1600-h/c4-ole1.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_gR-RXWlf5pU/R5kqbOu5uaI/AAAAAAAAAA0/nZH7EwjVQCk/s320/c4-ole1.jpg" alt="" id="BLOGGER_PHOTO_ID_5159201495429265826" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_gR-RXWlf5pU/R5kqbeu5ubI/AAAAAAAAAA8/n-6KxIy2m5s/s1600-h/c4-ole2.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_gR-RXWlf5pU/R5kqbeu5ubI/AAAAAAAAAA8/n-6KxIy2m5s/s320/c4-ole2.jpg" alt="" id="BLOGGER_PHOTO_ID_5159201499724233138" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26809589-6753440512482117032?l=olegueret.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://olegueret.blogspot.com/feeds/6753440512482117032/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26809589&amp;postID=6753440512482117032' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/6753440512482117032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/6753440512482117032'/><link rel='alternate' type='text/html' href='http://olegueret.blogspot.com/2008/01/nuevo-coche-o-que-contento-que.html' title='Nuevo coche o ¡Que contento que toooooyyy!!!'/><author><name>olegueret</name><uri>http://www.blogger.com/profile/00473281143896821000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://olegueret.googlepages.com/shinchan.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_gR-RXWlf5pU/R5kqbOu5uaI/AAAAAAAAAA0/nZH7EwjVQCk/s72-c/c4-ole1.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26809589.post-7259619069636316207</id><published>2007-07-05T18:45:00.000+02:00</published><updated>2007-07-05T18:45:20.452+02:00</updated><title type='text'>Svnserve y sus cuelgues del demonio...</title><content type='html'>Subversion es un sistema de control de versiones que en general funciona de PM...&lt;br /&gt;&lt;br /&gt;Cuando empieza a dar problemas es, como no, en sistemas Windows ¬¬ cuando se tienen repositorios grandes servidos por svnserve.&lt;br /&gt;&lt;br /&gt;Descripción del problema:&lt;ul&gt;&lt;li&gt;Cuando se hace commit de ficheros grandes (a partir de 1 mega) el cliente se queda colgado indefinidamente al enviar este fichero grande (no parece haber actividad de red). Al pasar mucho tiempo, se muestra un error indicando que no se ha podido completar la operación.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Entorno donde se produce el problema:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Repositorio está en un sistema Windows (XP SP2 para más señas). Sí, seguramente esto no pase en GNU/Linux. Si lo tengo en Windoze es por motivos laborales.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;El repositorio es relativamente grande: 280 megas y unos 160 commits.&lt;/li&gt;&lt;li&gt;El repositorio se sirve a través de un servidor svnserve (los clientes usan por lo tanto protocolo svn://).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Las versiones de subversion son la última disponible (la 1.4.4), tanto en el cliente como en el servidor. Se ha observado este problema en otras versiones anteriores de la rama 1.4.x&lt;/li&gt;&lt;li&gt;Has 2 clientes: uno local (desde la misma máquina del repositorio) y otro remoto (otro PC también con windows). El problema sucede en los dos (todos acceden al repositorio con el protocolo svn://).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;El problema sucede indistintamente al usar clientes de consola (svn) o gráficos (TortoiseSVN).&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Intento de solución 1 [fallido]: Usar Apache + módulos de Subversion en lugar de svnserve.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Esta solución, a parte de ser tediosa (requiere instalar Apache 2, los módulos de subversion, configurarlo todo y hacer un svn switch --relocate en los clientes) NO funciona: se sigue colgando los clientes en hacer commits de ficheros grandes. En este caso, los clientes usan el protocolo subversion http://.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Solución -cutre- al problema [funciona!]:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Parece ser que este problema sólo sucede cuando se accede al repositorio por red. Seguramente sea un fallo en alguna librería que usa el Subversion (como la Apache APR), o algun fallo en el propio Subversion, vete a saber...&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;IDEA brillante: ¡no usar la red entre cliente y el repositorio! :D&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt;En el &lt;span style="font-weight: bold;"&gt;cliente que está en la misma máquina que el repositorio&lt;/span&gt; esto es fácil: sólo hay que hacer un svn switch --relocate en la copia local apuntando como dirección del repositorio una que empiece por file:///C:/ruta/al/repositorio, donde C:/ruta/al/repositorio se corresponde a la ruta real donde se encuentra el repositorio en esa misma máquina y file:/// es el protocolo subversion para acceso local.&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt;En el &lt;span style="font-weight: bold;"&gt;cliente que está en una máquina diferente a la del repositorio&lt;/span&gt; parece ser imposible acceder al repositorio de "forma local" estando estos dos en máquinas diferentes. Pero estando en un sistema Windows, aquí es donde aplicamos la "ingeniería creativa": usamos la compartición de red de Windows que parece soportar Subversion por defecto. En el servidor hacemos que la carpeta del repositorio esté &lt;span style="font-weight: bold;"&gt;compartida por red&lt;/span&gt;. En el cliente tenemos 2 opciones:&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;ul&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt;Usar  mapeo de unidades (no lo recomiendo ya que habría que hacerlo a cada sesión): en el cliente remoto hacemos el svn switch --relocate con una ruta local, donde la unidad Z corresponde a la unidad remota montada localmente con "Conectar a unidad de red" de "Mi PC", p.ej.:  file:///Z:/nombreCarpetaRepositorioCompartida&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;ul&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt;Usar rutas &lt;a href="http://www.answers.com/topic/unc?cat=technology" target="_blank"&gt;UNC&lt;/a&gt;: en el cliente debemos hacer el svn switch --relocate con una ruta del estilo file://nombreDeRedPCServidor/nombreCarpetaRepositorioCompartida. ¡Ojo que aquí el file:// sólo tiene 2 barras! Obviamente el &lt;span style="font-style: italic;"&gt;nombreDeRedPCServidor&lt;/span&gt; corresponde al nombre de red del PC donde está el repositorio y&lt;br /&gt;&lt;span style="font-style: italic;"&gt;nombreCarpetaRepositorioCompartida&lt;/span&gt; es el nombre que le hemos dado a la carpeta del repositorio al compartirla.&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;Esta solución cutre tiene sus ventajas:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;No es necesario tener ningún servidor corriendo en la máquina con el repositorio (ni svnserve ni Apache), puesto que quien "escribe" y modifica los ficheros del repositorio realmente es el cliente, ya sea local o remoto.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Es una solución más "rápida" que las otras de red: no hay un protocolo svn:// o http:// por medio.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Evidentemente, también tiene desventajas:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Sólo sirve para redes locales (supongo que para el caso de redes no locales se podría hacer otro cutre-apaño con túneles VPN).&lt;/li&gt;&lt;li&gt;Es una solución cutre. Lo suyo sería que se solucionase el problema en el propio Subversion.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26809589-7259619069636316207?l=olegueret.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://olegueret.blogspot.com/feeds/7259619069636316207/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26809589&amp;postID=7259619069636316207' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/7259619069636316207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/7259619069636316207'/><link rel='alternate' type='text/html' href='http://olegueret.blogspot.com/2007/07/svnserve-y-sus-cuelgues-del-demonio.html' title='Svnserve y sus cuelgues del demonio...'/><author><name>olegueret</name><uri>http://www.blogger.com/profile/00473281143896821000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://olegueret.googlepages.com/shinchan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26809589.post-2581438862364020934</id><published>2007-07-05T17:12:00.006+02:00</published><updated>2009-09-24T00:47:42.108+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><category scheme='http://www.blogger.com/atom/ns#' term='programas'/><title type='text'>Instalar DBDesigner 4 en Ubuntu Linux (Feisty Fawn y Gutsy Gibbon)</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_gR-RXWlf5pU/Ro0Rtdyco2I/AAAAAAAAAAM/PjIv3QVxxZs/s1600-h/prueba_DBEdit4.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5083739027159163746" src="http://1.bp.blogspot.com/_gR-RXWlf5pU/Ro0Rtdyco2I/AAAAAAAAAAM/PjIv3QVxxZs/s320/prueba_DBEdit4.png" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" /&gt;&lt;/a&gt;&lt;br /&gt;DBDesigner 4 es un sistema de diseño visual de bases de datos que integra diseño, modelado, creación y mantenimiento de estas en un único entorno. Está pensado para crear bases de datos MySQL pero permite algunos sistemas comerciales como Oracle o SQLServer y -con ciertos trapicheos- es posible crear esquemas para otros SGBD libres como PostgreSQL.&lt;br /&gt;&lt;br /&gt;Es un sistema de código libre (GNU GPL) y se pueden obtener sus ejecutables desde la web &lt;a href="http://fabforce.net/dbdesigner4/"&gt;http://fabforce.net/dbdesigner4/&lt;/a&gt;, desde la que se ofrecen versiones para GNU/Linux y Windows.&lt;br /&gt;&lt;br /&gt;Otra cosa es que estos binarios funcionen tal cual en GNU/Linux y... ¡Sorpresa! En Ubuntu no rulan por defecto. La única forma en que están estos empaquetados para Linux es en un fichero .tar.gz&lt;br /&gt;&lt;br /&gt;Tras indagar un poco, estos son los pasos para hacer que el programa vaya como la seda:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Descomprimir el .tar.gz con el programa en un directorio (se recomienda el directorio HOME para un sólo usuario y el directorio /usr/local/bin para una instalación de sistema).&lt;/li&gt;&lt;ul&gt;&lt;li style="font-family: courier new;"&gt;$ cd ~&lt;/li&gt;&lt;li style="font-family: courier new;"&gt;$ tar xvzf ruta/a/la/descarga/DBDesigner4.0.5.4.tar.gz&lt;/li&gt;&lt;li style="font-family: courier new;"&gt;$ cd DBDesigner4&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Instalar paquetes con las librerías necesarias. En una consola, ponemos:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: courier new;"&gt;$ sudo aptitude install libxft1 libstdc++2.10-glibc2.2&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Con los dedos cruzados, probamos si funciona:&lt;/li&gt;&lt;ul style="font-family: courier new;"&gt;&lt;li&gt;./startdbd&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;[Paso estético: cambiar fuentes del programa]&lt;/li&gt;&lt;ul&gt;&lt;li&gt;En el menú "Options -&amp;gt; DBDesigner Options" escogemos la pestaña "Visual Options" y cambiamos la fuente a, por ejemplo, Bitstream Vera Sans con 8 puntos en el desplegable "Application font".&lt;/li&gt;&lt;li&gt;En el menú "Options -&amp;gt; Model Options" escogemos la pestaña "General Options" y en el desplegable "Default Font" cambiamos la fuente a Bitstream Vera Sans.&lt;/li&gt;&lt;/ul&gt;&lt;/ol&gt;&lt;br /&gt;En caso que no arranque el programa, podemos mirar el fichero de log que se creará en ~/.DBDesigner4/DBD4.log para ver qué problema hay.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ACTUALIZACIÓN&lt;/span&gt;: Instalación en Gutsy Gibbon&lt;br /&gt;&lt;br /&gt;Es necesario bajar e instalar la libreria liborqt (adaptado de &lt;a href="http://www.tommyblue.it/2008/01/17/dbdesigner-4-su-ubuntu-710-gutsy-gibbon/"&gt;aqui&lt;/a&gt;):&lt;br /&gt;&lt;pre style="font-family: courier new;"&gt;$ wget ftp://fr2.rpmfind.net/linux/sourceforge/s/sk/skychart/libborqt-6.9.0-2.i386.rpm&lt;br /&gt;$ sudo apt-get install alien&lt;br /&gt;$ sudo alien libborqt-6.9.0-2.i386.rpm&lt;br /&gt;$ sudo dpkg -i libborqt_6.9.0-3_i386.deb&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: georgia;"&gt;Luego le indicamos al programa dónde encontrar la nueva libreria:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier new;"&gt;$ cd ruta/donde/hemos/descomprimido/&lt;/span&gt;&lt;span style="font-family: courier new;"&gt;DBDesigner4&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;$ &lt;/span&gt;cd Linuxlib&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;$ &lt;/span&gt;mv libqt.so.2 libqt.so.2.old&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;$ &lt;/span&gt;ln -s /usr/lib/libborqt-6.9-qt2.3.so ./libqt.so.2&lt;br /&gt;&lt;/pre&gt;En Gutsy ya no existe el paquete &lt;span style="font-family: courier new;"&gt;libxft1&lt;span style="font-family: georgia;"&gt;. En su lugar, se debe instalar el &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: courier new;"&gt;&lt;span style="font-family: georgia;"&gt;libxft2:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; $ sudo apt-get install libxft2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Y crear un enlace simbólico que permite "camuflar" la libxft2 como si fuera la libxft1:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: courier new;"&gt;&lt;span style="font-family: georgia;"&gt;&lt;span style="font-family: courier new;"&gt; $ sudo &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: courier new;"&gt;ln -s /usr/lib/libXft.so.2.1.2 /usr/lib/libXft.so.1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Si con el paso anterior sigue sin arrancar el programa, intentamos esto:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; $ cd &lt;/span&gt;&lt;span style="font-family: courier new;"&gt; ruta/donde/hemos/descomprimido/DBDesigner4&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; $ ln -s /usr/lib/libXft.so.2.1.2 Linuxlib&lt;/span&gt;&lt;span style="font-family: courier new;"&gt;/libXft.so.1&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26809589-2581438862364020934?l=olegueret.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://olegueret.blogspot.com/feeds/2581438862364020934/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26809589&amp;postID=2581438862364020934' title='12 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/2581438862364020934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/2581438862364020934'/><link rel='alternate' type='text/html' href='http://olegueret.blogspot.com/2007/07/instalar-dbdesigner-4-en-ubuntu-linux.html' title='Instalar DBDesigner 4 en Ubuntu Linux (Feisty Fawn y Gutsy Gibbon)'/><author><name>olegueret</name><uri>http://www.blogger.com/profile/00473281143896821000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://olegueret.googlepages.com/shinchan.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_gR-RXWlf5pU/Ro0Rtdyco2I/AAAAAAAAAAM/PjIv3QVxxZs/s72-c/prueba_DBEdit4.png' height='72' width='72'/><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26809589.post-7920098467888855285</id><published>2007-03-07T19:55:00.000+01:00</published><updated>2007-03-08T10:45:34.707+01:00</updated><title type='text'>El video de Gates versus Jobs</title><content type='html'>Genial video de dos freaks. Uno de ellos muy conocido. El otro va por el mismo camino...&lt;br /&gt;¡Hay que verlo!&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/2QW9FCUYcY0"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/2QW9FCUYcY0" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;¡El mundo reclama una versión con Linus y Tux por medio!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26809589-7920098467888855285?l=olegueret.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://olegueret.blogspot.com/feeds/7920098467888855285/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26809589&amp;postID=7920098467888855285' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/7920098467888855285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/7920098467888855285'/><link rel='alternate' type='text/html' href='http://olegueret.blogspot.com/2007/03/el-video-de-gates-versus-jobs.html' title='El video de Gates versus Jobs'/><author><name>olegueret</name><uri>http://www.blogger.com/profile/00473281143896821000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://olegueret.googlepages.com/shinchan.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26809589.post-5099315463887702332</id><published>2007-01-05T17:42:00.001+01:00</published><updated>2008-06-15T19:43:28.164+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='final fantasy'/><category scheme='http://www.blogger.com/atom/ns#' term='ti-83'/><category scheme='http://www.blogger.com/atom/ns#' term='chocobo'/><category scheme='http://www.blogger.com/atom/ns#' term='freak'/><category scheme='http://www.blogger.com/atom/ns#' term='macosx'/><title type='text'>Final Fantasy como siempre lo habías imaginado</title><content type='html'>Vamos a estrenar el año y esta versión ya-no-beta de Blogger (¿aplicaciones Web 2.0 no betas?? fijo, ¡es el fin del mundo!) con un vídeo  hecho por y para freaks, concretamente para los de Final Fantasy. Sólo para los que tengáis 10 minutos para perder. Ojo a lo que utiliza para cargarse al profesor-robot en el minuto 2:37:&lt;br /&gt;&lt;br /&gt;&lt;object height="350" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/gPutYwiiE0o"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/gPutYwiiE0o" type="application/x-shockwave-flash" wmode="transparent" height="350" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=gPutYwiiE0o" target="_blank"&gt;enlace al video&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Hay que tener muuuucho tiempo libre para conseguir curradas/idas-de-olla como ésta...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26809589-5099315463887702332?l=olegueret.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://olegueret.blogspot.com/feeds/5099315463887702332/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26809589&amp;postID=5099315463887702332' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/5099315463887702332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/5099315463887702332'/><link rel='alternate' type='text/html' href='http://olegueret.blogspot.com/2007/01/final-fantasy-como-siempre-lo-habas.html' title='Final Fantasy como siempre lo habías imaginado'/><author><name>olegueret</name><uri>http://www.blogger.com/profile/00473281143896821000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://olegueret.googlepages.com/shinchan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26809589.post-115279403295418198</id><published>2006-07-13T13:44:00.001+02:00</published><updated>2009-09-24T00:47:51.121+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><title type='text'>Instalando openSUSE 10.1 en Virtual PC 2004 SP1</title><content type='html'>Con la aparición de Virtual PC 2004 SP1 en su versión gratuita (que ¿casualmente? ha salido el mismo día que la versión estable de VMWare Server 1.0) me he decidido a darle una oportunidad. El VMWare Server me pareció en su momento demasiado lento, debido quizás a que era una beta.&lt;br /&gt;&lt;br /&gt;La excusa era probar el programa Java que desarrollo en el curro en Linux, pues el desarrollo lo hago en el @#?* equispé. Con ello puedo trastearlo tanto en Win como en Lin sin tener que reiniciar el -un poco lento- sistema.&lt;br /&gt;&lt;br /&gt;Pues bien, el primer candidato era Ubuntu 6.06 LTS, pero debido a un raro error en la instalación de este dentro del Virtual PC he decidido pasarme al lado oscuro de openSUSE 10.1.&lt;br /&gt;&lt;br /&gt;He bajado la ISO del DVD de openSUSE (3.49 Gb descargados en 1 hora! Viva la manga, digooo banda ancha) y...&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Primer fallo: el Virtual PC no lo quiere montar como imagen por no ser múltiplo de 2 el tamaño de esta... WTF! Mirando en la ayuda del programa (lo sé, algo que nadie hace y menos un informático ¬¬) he encontrado el problema: Virtual PC sólo acepta imágenes ISO de hasta 2.2 Gb. Vaya truño. ¿Qué le costaba a M$ llegar a los 4.7 Gb o a los 8 de un DVD normal/doble capa?&lt;/li&gt;&lt;/ul&gt;Estaba por borrar las imágenes de Ubuntu y openSUSE (esta me iba a doler) cuando se ha encendido la bombillita: en la ayuda no decía que la unidad física de DVD tuviera esa limitación. Vamos a grabarlo en un DVD pues!&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Segundo fallo (este de mi PC del curro): No tengo ni grabadora de DVD's a mano ni tampoco lector de DVD's en el PC...&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Esto si que era un problemón. Entonces se ha encendido la segunda bombillita del dia: con DAEMON Tools se puede crear unidades virtuales que montan imágenes ISO y se comportan como unidades de CD/DVD físicas. Mmmm... Podría funcionar. Aunque con dos emulaciones de DVD's (la que hace el DAEMON tools y la que hace el Virtual PC) la cosa tiene que ir leeeeeentaaa de c****es.&lt;br /&gt;&lt;br /&gt;Efectivamente la cosa va algo lenta pero funciona, que es lo que cuenta. Ahora se está instalando el openSUSE dentro del VirtualPC. Lleva un buen rato "Evaluando la selección de paquetes".&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;RESUMEN PARA INSTALAR IMÁGENES ISO DE DVD'S EN VIRTUAL PC&lt;/span&gt;&lt;br /&gt;1) Instalar &lt;a href="http://www.daemon-tools.cc/"&gt;DAEMON Tools 4&lt;/a&gt; (gratuito). Si pide reiniciar, pues a reiniciar. De verdad, hacedme caso...&lt;br /&gt;2) Instalar &lt;a href="http://www.microsoft.com/windows/virtualpc/default.mspx"&gt;Virtual PC 2004 SP1&lt;/a&gt; (gratuito, de momento no requiere registro ni validación del Güindows).&lt;br /&gt;3) En DAEMON Tools montar la imagen ISO del DVD. Fijarse en qué unidad la monta (D:\, E:\, etc)&lt;br /&gt;4) En Virtual PC crear una configuración de máquina virtual nueva. Indicar tipo de SO "other" si instalaremos algo que no sea de M$ (GNU/Linux, *BSD, etc).&lt;br /&gt;5) Arrancar la configuración creada y cuando aparezca la ventana de esta hacer clic -rápidamente- sobre el menú "CD" y -ya no tan rápido- sobre "Use Physical Drive X:", sustituyendo X: por la unidad del paso 3).  Con esto arrancará desde la imagen de DVD sin necesidad de que la tengamos que quemar en un DVD sobrevalorado por la aplicación de un &lt;a href="http://www.todoscontraelcanon.es/"&gt;canon injusto&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26809589-115279403295418198?l=olegueret.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://olegueret.blogspot.com/feeds/115279403295418198/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26809589&amp;postID=115279403295418198' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/115279403295418198'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/115279403295418198'/><link rel='alternate' type='text/html' href='http://olegueret.blogspot.com/2006/07/instalando-opensuse-101-en-virtual-pc.html' title='Instalando openSUSE 10.1 en Virtual PC 2004 SP1'/><author><name>olegueret</name><uri>http://www.blogger.com/profile/00473281143896821000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://olegueret.googlepages.com/shinchan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26809589.post-114811948477623433</id><published>2006-05-20T11:49:00.000+02:00</published><updated>2006-05-20T12:04:44.786+02:00</updated><title type='text'>Downloadinggggggg!!!!</title><content type='html'>Final de exámenes (a falta de uno, eso si).&lt;br /&gt;&lt;br /&gt;Uno empieza a perder el tiempo y a postear chorradas. Pues aqui va una:&lt;br /&gt;&lt;br /&gt;Estaba bajando el nuevo &lt;a href="http://damnsmalllinux.org" target="_blank"&gt;DSL 2.4&lt;/a&gt; (desde la uni), cuando he pensado:&lt;br /&gt;&lt;blockquote&gt;¡Voy a tirar un cable de red desde alguna roseta de la uni a mi casa!&lt;/blockquote&gt;&lt;br /&gt;Esto no es normal. Ojo a la velocidad de descarga (qué envidia-rabia que da...):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/681/2810/1600/fast.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/681/2810/400/fast.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Esto parecía una carrera entre lo que daba la red y lo que podia aguantar el disco duro del portátil. Tiempo que ha tardado en descargar 50 Mb: 41 segundos. Ni uno más, ni uno menos:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/681/2810/1600/time.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/681/2810/400/time.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Por si no se ha notado, este post incluye publicidad subliminal de &lt;a href="http://damnsmalllinux.org" target="_blank"&gt;Damn Small Linux&lt;/a&gt; :P&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26809589-114811948477623433?l=olegueret.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://olegueret.blogspot.com/feeds/114811948477623433/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26809589&amp;postID=114811948477623433' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/114811948477623433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/114811948477623433'/><link rel='alternate' type='text/html' href='http://olegueret.blogspot.com/2006/05/downloadinggggggg.html' title='Downloadinggggggg!!!!'/><author><name>olegueret</name><uri>http://www.blogger.com/profile/00473281143896821000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://olegueret.googlepages.com/shinchan.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26809589.post-114669942385726588</id><published>2006-05-03T23:57:00.000+02:00</published><updated>2006-05-04T02:34:03.713+02:00</updated><title type='text'>Probando VMware Server</title><content type='html'>Hoy me he decidido a probar por vez primera la herramienta de virtualización conocida como VMware (la versión para &lt;a href="http://es.wikipedia.org/wiki/Hasefroch"&gt;Hasefroch&lt;/a&gt; para más señas). Concretamente he trasteado con la versión Server, "liberada" recientemente. Y no, no es de código libre (que yo sepa), pero sí que desde hace pocos días ha pasado a ser gratuita, cosa que a su vez ha obligado a M$ dar también gratis su alternativa, el M$ Virtual Server. Todo sea por mantener la cuota de mercado. ¿Para cuando M$ Office gratis -legal, quiero decir- que compita con OpenOffice y su formato recién estandarizado por ISO?&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/681/2810/1600/knoppix.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/681/2810/320/knoppix.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;p style="margin-bottom: 0cm;"&gt;    Lo que me parece raro es que se hayan decidido a dar gratis a los pesos pesados de sus respectivas líneas de productos, en vez de empezar por las versiones supuestamente inferiores (VMware Workstation y M$ Virtual PC respectivamente). Hay gato encerrado. Fijo.&lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;    Bueno que me voy por los cerros de Úbeda, a lo que iba: he usado de sistemas operativos guest (los que corren dentro de VMware) un par de los “complicados” para este tipo de programas:&lt;/p&gt;  &lt;ul&gt;&lt;li&gt;Knoppix 5.0 DVD (no instalado, arrancado desde imagen LiveCD iso)&lt;/li&gt;&lt;li&gt;OpenBSD 3.9 (sólo imagen cd39.iso, resto de sistema instalado por FTP)&lt;/li&gt;&lt;/ul&gt;  &lt;p style="margin-bottom: 0cm;"&gt;    Y digo complicados porque uno es un GNU/Linux LiveDVD y el otro es un sistema no tan habitual (un BSD) además de ser los dos recién saliditos del horno.&lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;    El resultado es que VMWare puede correr sin problemas los dos sistemas a la vez, sin ralentizar el sistema operativo host que corre por encima. Y eso es decir mucho, teniendo en cuenta que el Knoppix solito consume una barbaridad (LiveDVD, descompresión al vuelo, etc). Además es capaz de suspender los sistemas arrancados y resumirlos donde estaban. Los sistemas host se ejecutan medianamente fluidos (Knoppix lógicamente menos) y en general se tiene un consumo de memoria aceptable. Hay que tener en cuenta que las versiones Server no están pensadas para usos interactivos o de escritorio.&lt;/p&gt;&lt;p style="margin-bottom: 0cm;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/681/2810/1600/vmware_mem_use.1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/681/2810/200/vmware_mem_use.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;    La conectividad de los guests hacia fuera del VMware Server por red es sencillamente genial. Se le indica que use NAT y los guests reciben automáticamente una IP por DHCP y a navegar! ¡Esto sí que es Plug&amp;amp;Play!. Por supuesto también funcionan perfectamente las conexiones por red entre diferentes guests.&lt;br /&gt;&lt;p style="margin-bottom: 0cm;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/681/2810/1600/openbsd.0.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/681/2810/320/openbsd.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;Lo interesante es que soporta sistemas operativos guest de 64 bits, multiprocesamiento virtual (SMP) y la tecnologia de virtualización de Intel (sea lo que sea esto último).  &lt;p style="margin-bottom: 0cm;"&gt;    Por cierto, OpenBSD tiene uno de los instaladores más espartanos -pero efectivos, eso sí- que he visto en muuuuucho tiempo. Todo en línea de comandos, estilo pregunta-respuesta, SIN ncurses. Más espartano incluso que el make menuconfig del kernel Linux para los que lo hayan sufrido.&lt;/p&gt;    &lt;p style="margin-bottom: 0cm;"&gt;    En resumen, se trata de una buena opción a considerar siempre que queramos probar sistemas operativos nuevos sin hacer particiones al PC y, objetivamente, es más fácil de configurar todo que con el resto de alternativas libres (como Bochs o Qemu) y no libres.&lt;/p&gt;  &lt;p style="margin-bottom: 0cm; font-weight: bold;"&gt;Nota: 7/10&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26809589-114669942385726588?l=olegueret.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://olegueret.blogspot.com/feeds/114669942385726588/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26809589&amp;postID=114669942385726588' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/114669942385726588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/114669942385726588'/><link rel='alternate' type='text/html' href='http://olegueret.blogspot.com/2006/05/probando-vmware-server.html' title='Probando VMware Server'/><author><name>olegueret</name><uri>http://www.blogger.com/profile/00473281143896821000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://olegueret.googlepages.com/shinchan.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26809589.post-114626453548256723</id><published>2006-04-29T00:28:00.000+02:00</published><updated>2006-04-29T00:57:27.550+02:00</updated><title type='text'>Reproducir MP3 en Ubuntu 6.06 (Dapper Drake)</title><content type='html'>Para reproducir archivos mp3 correctamente en Ubuntu Dapper Drake es necesario instalar un par de plugins (o codecs para l@s puritan@s) . Esto lo hacen porque en algunos paises el software para reproducir MP3's no es legal o está protegido por patentes .&lt;br /&gt;&lt;br /&gt;Atención, estas instrucciones son específicas de Ubuntu 6.06 !!!&lt;br /&gt;&lt;br /&gt;Al tajo pues:&lt;br /&gt;&lt;br /&gt;PASO 1: Activar los repositorios universe y multiverse si no lo hemos hecho ya. &lt;a href="https://wiki.ubuntu.com/AddingRepositoriesHowto"&gt;Aquí&lt;/a&gt; explican cómo se hace gráficamente (en inglés) y &lt;a href="http://www.guia-ubuntu.org/breezy/repositorios#como_anadir_repositorios_extra"&gt;aquí&lt;/a&gt; editando  los ficheros a mano (castellano). NOTA: en los dos casos, sustituir "hoary" o "breezy" por "dapper" donde aparezcan.&lt;br /&gt;&lt;br /&gt;PASO 2: Instalar los paquetes necesarios&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;blockquote&gt;    sudo aptitude install gstreamer0.10-plugins-ugly&lt;/blockquote&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;Si usamos amarok, se debe instalar también:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-family:courier new;"&gt;    sudo aptitude install libxine-extracodecs&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-family:georgia;"&gt;PASO 3:  Instalar paquetes extras si queremos otros formatos no libres:&lt;/span&gt;&lt;br /&gt;&lt;pre style="font-family: courier new;"&gt;&lt;blockquote&gt;sudo aptitude install gstreamer0.10-ffmpeg&lt;br /&gt;gstreamer0.10-gl gstreamer0.10-plugins-base&lt;br /&gt;gstreamer0.10-plugins-good gstreamer0.10-plugins-ugly&lt;br /&gt;gstreamer0.10-plugins-ugly-multiverse libxine-main1&lt;br /&gt;libxine-extracodecs ffmpeg lame faad sox mjpegtools &lt;/blockquote&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26809589-114626453548256723?l=olegueret.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://olegueret.blogspot.com/feeds/114626453548256723/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26809589&amp;postID=114626453548256723' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/114626453548256723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/114626453548256723'/><link rel='alternate' type='text/html' href='http://olegueret.blogspot.com/2006/04/reproducir-mp3-en-ubuntu-606-dapper.html' title='Reproducir MP3 en Ubuntu 6.06 (Dapper Drake)'/><author><name>olegueret</name><uri>http://www.blogger.com/profile/00473281143896821000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://olegueret.googlepages.com/shinchan.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-26809589.post-114583132223236850</id><published>2006-04-24T00:09:00.000+02:00</published><updated>2006-04-24T01:08:51.983+02:00</updated><title type='text'>Primera bloggeada (y 2)</title><content type='html'>Si señores/as (en adelante peñ@), esta es mi primera -en realidad segunda- incursión en el mundo del "periodismo" de Internete.&lt;br /&gt;&lt;br /&gt;Y digo segunda porqué ya empecé un blog de estos con cierto proveedor de espacio web gratuito/plagado-de-publicidad que, muy educadamente, se encargaron de borrar por "inactividad del site". Mea culpa. Por escoger ese sitio. Por no entrar nadie -yo mismo incluído- un mínimo de 2 veces al mes. Por pretender tener algo gratis -y perdurable- en Internet.&lt;br /&gt;&lt;br /&gt;Me presento: me llamo Oleguer Huguet y soy Informático (técnico de gestión y cursando la superior, para más señas), y pretendo llenar este espacio principalmente con temática sobre informática, &lt;a href="http://es.wikipedia.org/wiki/GNU/Linux"&gt;GNU/Linux&lt;/a&gt;, &lt;a href="http://es.wikipedia.org/wiki/Windows"&gt;Windows&lt;/a&gt; o lo que se me ocurra. Bueno, siendo sinceros también me sirve para tener 3 enlaces en mi recién estrenada"&lt;a href="http://olegueret.googlepages.com"&gt;web&lt;/a&gt;" (por llamarla de alguna manera). XD&lt;br /&gt;&lt;br /&gt;Hasta aquí el primer post, con aviso para navegantes gratuito: Nadie les obliga a leerme, ni yo me siento obligado a escribir, así que no esperen mucha actividad por aquí (ya se que no es un buen comienzo, pero al menos yo aviso, no?).&lt;br /&gt;&lt;br /&gt;PD: perdonen las faltas, como ya he dicho soy informático. Lástima que en Blogger no haya un corrector ortográfico (al menos no lo he sabido encontrar).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/26809589-114583132223236850?l=olegueret.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://olegueret.blogspot.com/feeds/114583132223236850/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=26809589&amp;postID=114583132223236850' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/114583132223236850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/26809589/posts/default/114583132223236850'/><link rel='alternate' type='text/html' href='http://olegueret.blogspot.com/2006/04/primera-bloggeada-y-2.html' title='Primera bloggeada (y 2)'/><author><name>olegueret</name><uri>http://www.blogger.com/profile/00473281143896821000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://olegueret.googlepages.com/shinchan.jpg'/></author><thr:total>1</thr:total></entry></feed>
