<?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-6800128</id><updated>2011-10-30T10:29:39.662+01:00</updated><title type='text'>Zootropo</title><subtitle type='html'>Diario del mundo geek.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://zootropo.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default?start-index=101&amp;max-results=100'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>264</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6800128.post-109415513094880445</id><published>2004-09-02T21:51:00.000+02:00</published><updated>2004-09-02T22:00:41.353+02:00</updated><title type='text'>Actualizad vuestros marcadores/favoritos</title><content type='html'>Hemos cambiado de servidor web, por favor, actualizad vuestros marcadores/favoritos.&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;a href="http://zootropo.f2o.org"&gt;&lt;strong&gt;&lt;span style="font-size: 3em;color:red"&gt;http://zootropo.f2o.org&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109415513094880445?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109415513094880445'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109415513094880445'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/09/actualizad-vuestros.html' title='Actualizad vuestros marcadores/favoritos'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109243106182617453</id><published>2004-08-13T22:55:00.000+02:00</published><updated>2004-08-13T23:04:21.826+02:00</updated><title type='text'>De mudanza</title><content type='html'>&lt;p&gt;Noticias noticiosas como dirían los lechones de &lt;a href="http://www.gomaespuma.com/"&gt;Gomaespuma&lt;/a&gt;. El blog se traslada al servidor de &lt;a href="http://f2o.org/index.php"&gt;f2o.org&lt;/a&gt; (gracias &lt;a href="http://nkieto.f2o.org/"&gt;Nkieto&lt;/a&gt; por la recomendación) lo cual me permitirá usar un cms decente; en este caso en principio &lt;a href="http://wordpress.org/"&gt;Wordpress&lt;/a&gt;, aunque ya veremos si algún día de estos me da por crear mi CMS o pasarme a otro.&lt;/p&gt;&lt;p&gt;La nueva dirección: &lt;a href="http://zootropo.f2o.org/"&gt;&lt;span style="font-weight:bold;"&gt;http://zootropo.f2o.org/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109243106182617453?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109243106182617453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109243106182617453'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/08/de-mudanza.html' title='De mudanza'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109231893165325690</id><published>2004-08-12T15:46:00.000+02:00</published><updated>2004-08-12T15:55:31.653+02:00</updated><title type='text'>Venkman en Firefox</title><content type='html'>&lt;p&gt;Si desarrollas con Javascript te sonará Venkman (y si no lo conoces ya estas tardando), el debugger de Javascript ofrecido por Mozilla. Pues bien, ya puedes utilizar Venkman desde Firefox 0.9.x, sin tener que instalar Mozilla gracias a &lt;a href="http://update.mozilla.org/extensions/moreinfo.php?application=firefox&amp;id=216&amp;vid=512"&gt;esta extensión&lt;/a&gt; desarrollada por James Ross.&lt;/p&gt;&lt;p&gt;Si quereis información sobre el funcionamiento de Venkman leed &lt;a href="http://www.svendtofte.com/code/learning_venkman/"&gt;este tutorial&lt;/a&gt; y este &lt;a href="http://www.hacksrus.com/~ginda/venkman/faq/venkman-faq.html"&gt;faq&lt;/a&gt;.&lt;/p&gt;      &lt;a href='http://photos1.blogger.com/img/147/1178/1024/Venkman.jpg'&gt;&lt;img border='0' style='border:2px solid #000066; margin:2px' src='http://photos1.blogger.com/img/147/1178/320/Venkman.jpg'&gt;&lt;/a&gt;&lt;br /&gt;Venkman&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109231893165325690?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109231893165325690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109231893165325690'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/08/venkman-en-firefox.html' title='Venkman en Firefox'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109231592985104613</id><published>2004-08-12T14:59:00.000+02:00</published><updated>2004-08-12T15:30:41.916+02:00</updated><title type='text'>La bestía tenía siete coronas en sus siete cabezas y su nombre era meme</title><content type='html'>&lt;p&gt;Otro meme mas en la blogosfera. Parece que proliferan como setas cuando a la gente no se le ocurre sobre que escribir. En este caso el meme consiste en una especie de cadena para mejorar la visibilidad en los buscadores de los blogs pequeños.&lt;/p&gt;&lt;p&gt;A mi no me parece muy buena idea, porque si ya es dificil encontrar lo que te interesa en google tanto mas lo sera si se adulteran sus resultados. En este sentido la blogosfera esta haciendo daño a los buscadores con los memes o los google-bombing, pero en fin, ya que el meme se extiende seguire al rebaño.&lt;/p&gt;&lt;blockquote&gt;	&lt;p&gt;There are by some estimates more than a million weblogs. But most of them get no visibility in search engines. Only a few &amp;#8220;A-List&amp;#8221; blogs get into the top search engine results for a given topic, while the majority of blogs just don&amp;#8217;t get noticed. The reason is that the smaller blogs don&amp;#8217;t have enough links pointing to them. But this posting could solve that. Let&amp;#8217;s help the smaller blogs get more visibility!&lt;/p&gt;&lt;p&gt;This posting is GoMeme 4.0. It is part of an experiment to see if we can create a blog posting that helps 1000&amp;#8217;s of blogs get higher rankings in Google. So far we have tried 3 earlier variations. Our first test, GoMeme 1.0, spread to nearly 740 blogs in 2.5 days. This new version 4.0 is shorter, simpler, and fits more easily into your blog.&lt;/p&gt;&lt;p&gt;Why are we doing this? We want to help thousands of blogs get more visibility in Google and other search engines. How does it work? Just follow the instructions below to re-post this meme in your blog and add your URL to the end of the Path List below. As the meme spreads onwards from your blog, so will your URL. Later, when your blog is indexed by search engines, they will see the links pointing to your blog from all the downstream blogs that got this via you, which will cause them to rank your blog higher in search results. Everyone in the Path List below benefits in a similar way as this meme spreads. Try it!&lt;/p&gt;&lt;p&gt;Instructions: Just copy this entire post and paste it into your blog. Then add your URL to the end of the path list below, and pass it on! (Make sure you add your URLs as live links or HTML code to the Path List below.)&lt;/p&gt;&lt;p&gt;Path List&lt;br /&gt;1. &lt;a href="http://www.mindingtheplanet.net/"&gt;Minding the Planet&lt;/a&gt;&lt;br /&gt;2. &lt;a href="http://www.ecuaderno.com/"&gt;eCuaderno&lt;/a&gt;&lt;br /&gt;3. &lt;a href="http://www.proyectoisla.com/mangasverdes"&gt;Mangas Verdes&lt;/a&gt;&lt;br /&gt;4. &lt;a href="http://xeoweb.bitacoras.com"&gt;Xeoweb&lt;/a&gt;&lt;br /&gt;5. &lt;a href="http://zootropo.blogspot.com"&gt;Zootropo. Diario del Mundo Geek&lt;/a&gt;&lt;br /&gt;6. (your URL goes here! But first, please copy this line and move it down to the next line for the next person)&lt;/p&gt;&lt;p&gt;(NOTE: Be sure you paste live links for the Path List or use HTML code.)&lt;/p&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109231592985104613?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109231592985104613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109231592985104613'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/08/la-besta-tena-siete-coronas-en-sus.html' title='La bestía tenía siete coronas en sus siete cabezas y su nombre era meme'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109230594254005096</id><published>2004-08-12T11:53:00.000+02:00</published><updated>2004-08-12T12:19:02.540+02:00</updated><title type='text'>XForms</title><content type='html'>&lt;p&gt;La gente de la fundación Mozilla cada día me sorprende mas. Están involucrados en todos los proyectos relacionados con el desarrollo web mas importantes de la actualidad. La última es la implementación de la &lt;a href="http://www.w3.org/TR/xforms/"&gt;recomendación XForms de la W3C&lt;/a&gt;, en la que trabajarán conjuntamente con Novell e IBM.&lt;/p&gt;&lt;p&gt;XForms es el módulo de formularios de XHTML 2, algo así como el hermano mayor de los formularios HTML actuales (estoy simplificando, en realidad los formularios es solo una de las cosas para las que puede ser usado) y que puede acabar con la dependencia de Activex de Microsoft.&lt;/p&gt;&lt;p&gt;Podeis encontrar mas información sobre XForms en &lt;a href="http://www.infoescena.es/achuter/web/w3cdocs/xforms-for-html-authors_es.html"&gt;'XForms para desarrolladores HTML'&lt;/a&gt;, traducido al castellano por &lt;a href="http://www.infoescena.es/achuter/acceso/default.asp"&gt;Alan Chuter&lt;/a&gt; y leer la &lt;a href="http://www.mozilla.org/press/mozilla-2004-08-10.html"&gt;nota de prensa&lt;/a&gt; en la web de Mozilla.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109230594254005096?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109230594254005096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109230594254005096'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/08/xforms.html' title='XForms'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109223766109754054</id><published>2004-08-11T16:46:00.000+02:00</published><updated>2004-08-11T17:21:01.096+02:00</updated><title type='text'>Paint.NET</title><content type='html'>&lt;img src="http://photos1.blogger.com/img/147/1178/1024/PaintDotNetLogo.jpg" align="left"&gt;&lt;p&gt;&lt;span style="font-weight:bold;"&gt;Pregunta&lt;/span&gt;: ¿Que haces cuando necesitas un programa de retoque fotográfico en Windows pero Paint se te queda pequeño (como con cualquier cosa que quieras hacer) y Photoshop o Paint Shop Pro te queda grande?&lt;/p&gt;&lt;p&gt;&lt;span style="font-weight:bold;"&gt;Respuesta&lt;/span&gt;: Usar un Paint con esteroides.&lt;/p&gt;&lt;a href='http://photos1.blogger.com/img/147/1178/1024/pdn10_blurring.jpg'&gt;&lt;img border='0' style='border:2px solid #000066; margin:2px' align="right" src='http://photos1.blogger.com/img/147/1178/320/pdn10_blurring.jpg'&gt;&lt;/a&gt;&lt;p&gt;Eso es lo que es basicamente Paint.NET, una aplicación de retoque fotográfico programada en C# con .NET. Paint.NET no tiene nada que envidiar a sus hermanos mayores e incluso añade algunas cosas interesantes que estos no tienen, como el que las ventanas (de capas, de herramientas,...) sean transparentes para no desperdiciar espacio para la imagen a retocar, o como el hecho de poder continuar trabajando con la imagen mientras se aplica un filtro que sea costoso en tiempo (en lugar de mostrar un relojito y hacer esperar al usuario el filtro se aplica en segundo plano, actualizando la pantalla cada cierto tiempo, y permitiendo al usuario continuar editando la imagen).&lt;/p&gt;&lt;p&gt;El programa esta licenciado bajo una versión modificada de la licencia del MIT, necesita tener instalado el framework .NET y Windows XP SP1 o Windows Server 2003. Podeis descargar el programa o el código fuente desde &lt;a href="http://www.winisp.net/rbrewster/pdn.html" title="Paint.NET"&gt;esta página web&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109223766109754054?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109223766109754054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109223766109754054'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/08/paintnet.html' title='Paint.NET'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109223328367698709</id><published>2004-08-11T16:06:00.000+02:00</published><updated>2004-08-11T16:08:03.676+02:00</updated><title type='text'>¡Gracias! :)</title><content type='html'>&lt;p&gt;Una simple entrada para agradecer a la gente que me lee, a los que comentan y a la gente que me enlaza. Siempre es de agradecer el saber que hay gente interesada en lo que tengas que decir.&lt;/p&gt;&lt;p&gt;En fin, si teneis alguna idea sobre como mejorar el blog, sugerencias sobre algún tema del que hablar o simplemente quereis criticar el horrible diseño y contenido del sitio :P los comentarios están ahí abajo, donde dice 'Co-men-ta-rios'.&lt;/p&gt;&lt;p&gt;Gracias de nuevo :)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109223328367698709?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109223328367698709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109223328367698709'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/08/gracias.html' title='¡Gracias! :)'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109216700319416698</id><published>2004-08-10T21:36:00.000+02:00</published><updated>2004-08-10T21:43:23.193+02:00</updated><title type='text'>Copia de seguridad de los marcadores en Firefox</title><content type='html'>&lt;p&gt;Nueva funcionalidad en las últimas nightly build de Firefox, que hace una copia de seguridad de los marcadores cada vez que halla algún cambio (que ya teniamos gracias a la extensión &lt;a href="http://update.mozilla.org/extensions/moreinfo.php?id=13&amp;vid=14&amp;category=Bookmarks" title="Bookmark Backup"&gt;Bookmark Backup&lt;/a&gt;, pero siempre es bueno incluir las funciones mas útiles). Las nightly build pueden ser descargadas desde &lt;a href="http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2004-08-10-08-0.9/" title="Nightly Build del 10 de agosto"&gt;la web de Mozilla&lt;/a&gt; como es habitual.&lt;/p&gt;&lt;p&gt;Corto y cambio.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109216700319416698?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109216700319416698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109216700319416698'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/08/copia-de-seguridad-de-los-marcadores.html' title='Copia de seguridad de los marcadores en Firefox'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-10921479288210959</id><published>2004-08-10T16:00:00.000+02:00</published><updated>2004-08-10T21:23:43.760+02:00</updated><title type='text'>Javascript: El objeto window</title><content type='html'>&lt;p&gt;Como ya comentamos en la entrada dedicada a DOM, el objeto window y sus propiedades y métodos asociados nos permiten la interacción con el navegador, mientras que los objetos de la jerarquía DOM (los qe están por debajo del objeto document en la jerarquía) nos permiten interactuar con el documento en si.&lt;/p&gt;&lt;p&gt;También comentamos que el objeto window es la raíz de la jerarquía, lo cual significa que todos los objetos de la jerarquía 'derivan' de window y que las variables globales se consideran propiedades de window.&lt;/p&gt;&lt;p&gt;Cada una de las ventanas (y de los marcos) en un navegador web esta representado por un objeto window que es la raíz de su propia jerarquía y el objeto global. El que window sea el objeto global significa que cuando no se indica que una propiedad o método pertenece a un objeto se comprueba si pertenece a window, por lo que si tenemos una propiedad window.propiedad por ejemplo, podemos ahorranos el indicar que propiedad pertenece al objeto window y escribir simplemente propiedad.&lt;/p&gt;&lt;p&gt;Vamos a ver algunos de los métodos y propiedades mas interesantes de window através de ejemplos. Lo primero que vamos a ver es como interactuar con el usuario mediante tres métodos de window: alert(&lt;i&gt;texto a mostrar&lt;/i&gt;) que simplemente muestra un diálogo con el texto que se le paso como parámetro, prompt(&lt;i&gt;texto a mostrar&lt;/i&gt;, &lt;i&gt;valor inicial&lt;/i&gt;) que de igual forma que alert muestra un texto al usuario, pero incluye una caja de texto para permitir al usuario introducir una respuesta (y devuelve como valor de retorno lo que halla escrito el usuario) y confirm(&lt;i&gt;texto a mostrar&lt;/i&gt;) que muestra una ventana de confirmación y devuelve true o false dependiendo de si el usuario pulsó aceptar o cancelar respectivamente. Veamos un ejemplo:&lt;/p&gt;&lt;div class="codigo"&gt;Código&lt;/div&gt;&lt;div class="codigomain"&gt;"window.alert("Esto es un ejemplo del metodo alert");&lt;br /&gt;window.alert("Encantado de conocerte " + window.prompt("Y este de prompt, para preguntarte por ejemplo como te llamas","Este texto será el que se verá en la caja de texto por defecto"));&lt;br /&gt;/*Cuando los métodos o propiedades pertenecen al objeto global no hace falta poner el nombre del objeto antes. Podemos escribir simplemente el nombre del método o propiedad*/&lt;br /&gt;if(confirm("¿Sabías que para window se puede omitir el objeto sobre el que se hace la llamada? Esto es así porque window es el objeto global"))&lt;br /&gt;   alert("¿Si lo sabías? Que inteligente");&lt;br /&gt;else&lt;br /&gt;   alert("Bueno, pues ya lo sabes.");&lt;/div&gt;&lt;p&gt;Para ver este pequeño script en acción pulsa &lt;a onclick="window.alert('Esto es un ejemplo del metodo alert');window.alert('Encantado de conocerte ' + window.prompt('Y este de prompt, para preguntarte por ejemplo como te llamas','Este texto será el que se verá en la caja de texto por defecto'));if(confirm('¿Sabías que para window se puede omitir el objeto sobre el que se hace la llamada? Esto es así porque window es el objeto global')) alert('¿Si lo sabías? Que inteligente');else alert('Bueno, pues ya lo sabes.');"&gt;aquí&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Podemos crear ventanas usando el método open del objeto window actual&lt;/p&gt;&lt;div class="codigo"&gt;Código&lt;/div&gt;&lt;div class="codigomain"&gt;window.open(URL, nombre de la ventana, características, reemplazar entrada actual del historial);&lt;/div&gt;&lt;p&gt;que crea una ventana con las propiedades definidas en sus parámetros y devuelve una referencia a la ventana creada. Las características son una lista de valores separados por comas para los siguientes atributos (no son todos los que son, IE por ejemplo tiene left y top para especificar las coordenadas en que se mostrará la ventana):&lt;/p&gt;&lt;ul&gt;&lt;li&gt;location, determina si la nueva ventana debe o no tener una barra de dirección (yes o no)&lt;li&gt;menubar, determina si la nueva ventana debe o no tener una barra de menú (yes o no)&lt;li&gt;scrollbars, mostrar o no las barras de desplazamiento (yes o no)&lt;br /&gt;status, mostrar o no la barra de estado (yes o no)&lt;li&gt;toolbar, le indicamos si queremos que la ventana tenga barra de herramientas (yes o no)&lt;li&gt;resizable, establecemos si la ventana puede redimensionarse por el usuario (yes o no)&lt;li&gt;height, alto de la ventana en pixels.&lt;li&gt;width, ancho de la ventana en pixels.&lt;/ul&gt;&lt;p&gt;Todos los argumentos del método open son opcionales. Si no especificamos una dirección URL, simplemente se abrirá una ventana vacía; si no especificamos las características de la ventana se le dará un tamaño, posición y características estándar.&lt;/p&gt;&lt;p&gt;En el caso de que el segundo argumento, el nombre de la ventana (cuidado porque el nombre de la ventana &lt;b&gt;no&lt;/b&gt; se refiere al título. Se usa como target para enlaces o formularios), sea el nombre de una ventana que ya existe, simplemente se devolverá una referencia a la ventana ya existente, no se creará una nueva ventana. El cuarto argumento de open solo tiene sentido en este caso y especifica si se debe crear una nueva entrada en el historial (false) o reemplazar la entrada actual (true). Veamos un ejemplo:&lt;/p&gt;&lt;div class="codigo"&gt;Código&lt;/div&gt;&lt;div class="codigomain"&gt;var ventanaGoogle = window.open('http://www.google.com/','','location=no, menubar=no, scrollbars=no, status=no, toolbar=no, resizable=no, height=100, width=100');&lt;br /&gt;//ventanaGoogle también es un objeto de tipo window, por lo que también tiene un método open&lt;br /&gt;ventanaGoogle.open('http://zootropo.blogspot.com/');&lt;/div&gt;&lt;p&gt;Para mover o redimensionar una ventana una vez ha sido creada se utilizan los métodos moveBy(&lt;i&gt;desplazamientoX&lt;/i&gt;, &lt;i&gt;desplazamientoY&lt;/i&gt;) para desplazar la ventana la cantidad de pixeles especificados como argumentos; moveTo(&lt;i&gt;x&lt;/i&gt;, &lt;i&gt;y&lt;/i&gt;) para desplazar la ventana a las coordenadas especificadas y resizeBy(&lt;i&gt;diferenciaAncho&lt;/i&gt;, &lt;i&gt;diferenciaAlto&lt;/i&gt;) y resizeTo(&lt;i&gt;ancho&lt;/i&gt;, &lt;i&gt;alto&lt;/i&gt;) para redimensionar la ventana indicando en el primer caso la diferencia en pixeles con el tamaño actual (positivo si queremos agrandarla y negativo si queremos hacerla mas pequeña) y en el segundo caso las medidas exactas. Además window.sizeToContent() redimensionaría la ventana según el contenido de la misma.&lt;/p&gt;&lt;p&gt; Como ejemplo, si hacemos click sobre &lt;a onclick="resizeTo(300,300);" title="resizeTo(300,300);"&gt;este enlace&lt;/a&gt; el tamaño de la ventana cambiará a 300x300, es decir el código es resizeTo(300,300). Si pulsamos sobre &lt;a onclick="moveBy(100,100);" title="moveBy(100,100);"&gt;este otro&lt;/a&gt; que ejecuta el código moveBy(100,100); la ventana se moverá 100 pixeles hacia abajo y 100 hacia la derecha.&lt;/p&gt;&lt;p&gt;Para terminar con los métodos de window, algunos de los mas interesantes que aún no hemos comentado son blur(), que quita el foco de la ventana actual; focus(), que hace lo contrario, nos da el foco; back() y forward() con los que nos movemos hacia atrás y hacia delante en el historial y por último close(), que cierra la ventana.&lt;/p&gt;&lt;p&gt;Una vez vistos los métodos mas importantes, vamos ahora con las propiedades. Una de las mas importantes es el objeto navigator, que encapsula información sobre el navegador que utiliza el usuario. Sus propiedades mas importantes son appName, una cadena que representa el nombre del navegador; appVersion, la versión del navegador, userAgent, cookieEnabled, un booleano que informa si las cookies están activadas; language, que devuelve una cadena compuesta por un par de caracteres que identifica el idioma; oscpu, el sistema operativo que el usuario utiliza y plugins, un array de objetos plugin en el que se indican los plugins soportados por el navegador.&lt;/p&gt;&lt;p&gt;Veamos un ejemplo que simplemente muestre en pantalla la información del usuario:&lt;/p&gt;&lt;div class="codigo"&gt;Código&lt;/div&gt;&lt;div class="codigomain"&gt;var texto = "Utilizas el navegador " + window.navigator.appName + " versión " + navigator.appVersion + " bajo el sistema operativo " + navigator.oscpu;&lt;br /&gt;alert(texto);&lt;/div&gt;&lt;p&gt;Para ver que mostraría ese alert pulsa &lt;a onclick="alert('Utilizas el navegador ' + window.navigator.appName + ' versión ' + navigator.appVersion + ' bajo el sistema operativo ' + navigator.oscpu);"&gt;aquí&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Otro objeto interesante es screen, que nos proporciona información sobre la resolución (mediante las propiedades width y height) y profundidad de color (con la propiedad colorDepth) del usuario. &lt;a onclick="alert('La resolución de la pantalla es de ' + window.screen.width + 'x' + screen.height + ' con una profundidad de color de ' + screen.colorDepth + ' bits');"&gt;Por ejemplo&lt;/a&gt;:&lt;/p&gt;&lt;div class="codigo"&gt;Código&lt;/div&gt;&lt;div class="codigomain"&gt;alert('La resolución de la pantalla es de ' + window.screen.width + 'x' + screen.height + ' con una profundidad de color de ' + screen.colorDepth + ' bits');&lt;/div&gt;&lt;p&gt;Tenemos también entre los objetos 'derivados' de window el objeto location, que nos permite obtener o modificar la dirección web en la que se encuentra el usuario:&lt;/p&gt;&lt;div class="codigo"&gt;Código&lt;/div&gt;&lt;div class="codigomain"&gt;alert('Ahora estamos en la web ' + window.location);&lt;br /&gt;//y ahora nos movemos a google&lt;br /&gt;window.location = 'http://www.google.com/';&lt;/div&gt;&lt;p&gt;&lt;a onclick="alert('Ahora estamos en la web ' + window.location);window.location = 'http://www.google.com/';"&gt;Ejemplo&lt;/a&gt; (cuidado, si pulsas te llevará a google)&lt;/p&gt;&lt;p&gt;Para terminar con esta pequeña introducción a las propiedades y métodos de window las últimas propiedades que quedaban en el tintero:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;document, raíz de la jerarquía DOM y que veremos en próximas entradas. Es una referencia al documento que muestra la ventana del navegador correspondiente.&lt;br /&gt;&lt;li&gt;opener, una referencia al objeto de tipo window que creó la ventana actual.&lt;br /&gt;&lt;li&gt;parent, si la ventana es un marco (los marcos también son objetos window) devuelve una referencia a la ventana o marco en que está contenido. Si es una ventana devuelve una referencia a si mismo.&lt;br /&gt;&lt;li&gt;self, una referencia a la propia ventana.&lt;br /&gt;&lt;li&gt;status, texto de la barra de estado.&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-10921479288210959?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/10921479288210959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/10921479288210959'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/08/javascript-el-objeto-window.html' title='Javascript: El objeto window'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109212383739249335</id><published>2004-08-10T09:40:00.000+02:00</published><updated>2004-08-10T09:43:57.393+02:00</updated><title type='text'>Firefox 0.9.3 y Thunderbird 0.7.3 en castellano</title><content type='html'>&lt;p&gt;Ya están disponibles en castellano las versiones 0.9.3 de Firefox y 0.7.3 de Thunderbird gracias al proyecto Nave. Por lo que veo funciona bastante bien, al contrario que versiones anteriores cuando se recomendaba utilizar la traducción argentina :(&lt;/p&gt;&lt;p&gt;Si quereis probarlo podeis descargar la nueva versión desde la &lt;a href="http://nave.escomposlinux.org/productos/descargas.php" title="Sección de descargas de la web del proyecto nave"&gt;web del proyecto Nave&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109212383739249335?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109212383739249335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109212383739249335'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/08/firefox-093-y-thunderbird-073-en.html' title='Firefox 0.9.3 y Thunderbird 0.7.3 en castellano'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109205538057561084</id><published>2004-08-09T14:02:00.000+02:00</published><updated>2004-08-09T23:32:38.603+02:00</updated><title type='text'>Configurando Foobar2000</title><content type='html'>&lt;p&gt;Foobar ofrece unos niveles de personalización increibles comparado con otros reproductores. Pero debido a que la gran cantidad de opciones que tienes, el personalizarlo a tu gusto puede resultar una tarea complicada. Si te apetece descubrir algo mas de este reproductor, en lugar de quedarte con la configuración por defecto (aunque no tengo nada en contra de ella, simplemente me gusta que los programas se adapten a mi, y no al reves) sigue esta pequeña guía sobre Foobar.&lt;/p&gt;&lt;p&gt;Lo primero es descargar el programa. La última versión es la 0.8.3 que puede ser descargada en la &lt;a href="http://www.foobar2000.org/download.html"&gt;página de descargas de la web de Foobar&lt;/a&gt;. Como ya comentamos existen tres versiones, la &lt;a href="http://www.foobar2000.org/foobar_lite.exe"&gt;lite&lt;/a&gt; (836KB), &lt;a href="http://www.foobar2000.org/foobar.exe"&gt;normal&lt;/a&gt; (1.29MB) y &lt;a href="http://www.foobar2000.org/foobar_special.exe"&gt;special&lt;/a&gt; (2.38MB) que incluye casi todos los componentes oficiales y algunos de los componentes programados por terceras personas mas populares. En el proceso de instalación te preguntará donde quieres instalar el programa y que formatos asociar con Foobar.&lt;/p&gt;&lt;p&gt;Una vez instalado, lo primero que vamos a hacer es instalar el componente &lt;a href="http://www.foobar2000.org/foo_albumlist.zip"&gt;Album List&lt;/a&gt;, si no estaba incluido en la versión de foobar que descargamos de la web (esta incluido en la versión normal y special) que no es mas que una ventana en la que se despliega la lista de los albums que tenemos en la base de datos en forma de árbol, ordenada según el criterio que elijamos. Para ello basta descargar el archivo, descomprimirlo y nos encontraremos con una dll, cerramos foobar si está abierto y copiamos la dll al directorio componentes de foobar (este es el proceso normal de instalación para cualquier componente de Foobar2000).&lt;/p&gt;&lt;a href='http://photos1.blogger.com/img/147/1178/1024/album%20list.jpg'&gt;&lt;img border='0' style='border:2px solid #000066; margin:2px' src='http://photos1.blogger.com/img/147/1178/320/album%20list.jpg'&gt;&lt;/a&gt;&lt;br /&gt;Album List&lt;p&gt;Album list incluye como criterios para ordenar el árbol de albums artista, género, album, año, artista/año y según la estructura de directorios en el disco duro, pero podemos definir nuevos criterios utilizando un lenguaje de script con el que se puede configurar casi todo en foobar.&lt;/p&gt;&lt;p&gt;Para poder utilizar la lista de albums tenemos que tener una base de datos de la música que tenemos disponible, para ello tendremos que activar la base de datos de foobar llendo al menú Foobar2000 -&gt; Preferences. Seleccionamos Database y dentro de las opciones para la base de datos marcamos 'Database enabled'. En 'Restrict directories to' introducimos la ruta a cada una de la carpetas de música que tengamos, separándolas con un punto y coma. En 'Restrict file types' introducimos * si queremos que añada a la base de datos cualquier tipo de archivo, *.mp3 para añadir solo archivos con extensión mp3, '*.mp3;*.ogg' para añadir archivos con extensión mp3 u ogg, etc. Ahora para añadir los archivos a la base de datos podemos hacer click sobre el botón scan, o simplemente empezar a reproducir música y foobar2000 irá añadiendo a la base de datos los archivos que reproduzcamos.&lt;/p&gt;&lt;a href='http://photos1.blogger.com/img/147/1178/1024/database.jpg'&gt;&lt;img border='0' style='border:2px solid #000066; margin:2px' src='http://photos1.blogger.com/img/147/1178/320/database.jpg'&gt;&lt;/a&gt;&lt;br /&gt;Data base&lt;p&gt;Vamos a configurar ahora las teclas de acceso directo para lo cual entramos dentro de Core entramos en Keyboard Shortcuts. Seleccionamos todos los atajos que se muestran y pulsamos sobre Remove (borrar), tras lo cual estamos listos para añadir los nuestros propios. Pulsamos primero sobre Key, pulsando la combinación de teclas que queramos asociar con el atajo, por ejemplo Alt+W. Después seleccionamos que acción ejecutar cuando se pulse la combinación especificada, por ejemplo '[main] Playback/Play or pause' que hace que cuando se pulse comience la reproducción o se pause si ya se estaba reproduciendo. Si queremos que se pueda utilizar el atajo sin que la ventana activa sea la de Foobar, marcaremos en cada opción Global hotkey (tecla de acceso directo global). En caso de que hagamos esto último hay que tener cuidado con no asociar las acciones a combinaciones de teclas que se utilicen normalmente en otros programas. Yo suelo utilizar los siguientes:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;[main] Components/Album list (Alt+Z): Abre la lista de albums.&lt;li&gt;[main] Components/On-Screen Display pop-up (Alt+C): Muestra información sobre la canción actual en pantalla.&lt;li&gt;[main] Foobar2000/Activate or hide (Alt+X): Muestra u oculta la ventana de Foobar.&lt;li&gt;[main] Playback/Play or pause (Alt+W): Reproducir o Pausar la reproducción.&lt;li&gt;[main] Playback/Previous (Alt+Q): Nos movemos a la canción anterior.&lt;li&gt;[main] Playback/Next (Alt+E): Reproduce la siguiente canción.&lt;li&gt;[main] Playlist/Previous Album (Shift+Alt+Q): Nos movemos al disco anterior.&lt;li&gt;[main] Playlist/Next Album (Shift+Alt+E): Reproduce el siguiente album.&lt;li&gt;[main] Playback/Volume down (Alt+A): Bajar el volumen.&lt;li&gt;[main] Playback/Volume up (Alt+D): Subir el volumen.&lt;li&gt;[main] Playback/Volume mute (Alt+S): Sin volumen.&lt;/ul&gt;&lt;p&gt;Para que las opciones de album siguiente y anterior aparezcan tenemos que tener instalado el componente &lt;a href="http://members.chello.nl/p.shrubsole2/software/foo_pl_hopper.zip"&gt;playlist hopper&lt;/a&gt; y para que aparezca la opción de on-screen display, el componente &lt;a href="http://www.cqasys.com/projects/kode54/index.php?v"&gt;foo_osd&lt;/a&gt;.&lt;/p&gt;&lt;a href='http://photos1.blogger.com/img/147/1178/1024/keys.jpg'&gt;&lt;img border='0' style='border:2px solid #000066; margin:2px' src='http://photos1.blogger.com/img/147/1178/320/keys.jpg'&gt;&lt;/a&gt;&lt;br /&gt;Atajos&lt;p&gt;Si instalamos foo_osd, como todas las cosas de Foobar, también podemos configurar como se verá en pantalla mediante el lenguaje de script de Foobar. Primero marcamos la casilla enable para activarlo, y autopopup si queremos que se abra automáticamente al comenzar una nueva canción. Display time indica cuantos segundos se verá en pantalla y con position left y top indicamos la distancia con el borde de la pantalla izquierdo y superior respectivamente.&lt;/p&gt;&lt;p&gt;En format es donde podemos introducir la cadena de formateo que prefiramos, habiendo &lt;a href="http://pelit.koillismaa.fi/fb2k/"&gt;webs&lt;/a&gt; dedicadas simplemente a recopilar las cadenas de formateo preferidas de la gente.&lt;/p&gt;&lt;p&gt;Otras opciones son font (la fuente que se usará al mostrar el display), background color (el color del fondo del display), outline (añade un contorno a las letras), transparency (transparencias, de la ventana y del fondo) y fade in/out o dissolve, que son efectos a aplicar al mostrar la ventana o a la hora de ocultarla. La cadena de formateo que yo utilizo es la siguiente:&lt;/p&gt;&lt;blockquote&gt;002ad4|000000[%artist%]$char(10)&lt;br /&gt;16b3f5|000000$if(%title%,['['%album%[ #[%disc%/]$num(%tracknumber%,2)]'] ']$char(10)&lt;br /&gt;9e8a7b|000000%title%,%_filename%)[ '['%_time_elapsed%']']$if(%_ispaused%,' [paused]')&lt;br /&gt;228b69|000000[$char(10)cfa923|4b2b10Next: %_next%]&lt;br /&gt;&lt;/blockquote&gt;&lt;p&gt;y el aspecto del display:&lt;/p&gt;      &lt;a href='http://photos1.blogger.com/img/147/1178/1024/osd.jpg'&gt;&lt;img border='0' style='border:2px solid #000066; margin:2px' src='http://photos1.blogger.com/img/147/1178/320/osd.jpg'&gt;&lt;/a&gt;&lt;br /&gt;OSD&lt;p&gt;Antes de comenzar con lo importante, que son los ajustes de sonido, vamos a cambiar la interfaz de Foobar para adaptarla a nuestro gusto. Aquí tenemos varias opciones. Los amantes de los skins tienen &lt;a href="http://www.btinternet.com/~sean.m.kelly/foo_looks/"&gt;Foo_looks&lt;/a&gt;, los amantes de Itunes tienen &lt;a href="http://www.hydrogenaudio.org/forums/index.php?s=5f45c1f9bd84a1fd053da47404398212&amp;showtopic=14913&amp;st=0&amp;p=150009&amp;#entry150009"&gt;foo_tunes &lt;/a&gt; y a los que prefieren la sobriedad les gustará &lt;a href="http://members.lycos.co.uk/musicf/"&gt;foo_ui_columns&lt;/a&gt; o simplemente la interfaz normal de Foobar.&lt;/p&gt;&lt;p&gt;Si hemos elegido Foo_ui_columns o la interfaz por defecto volvemos al asunto de las cadenas de formateo. Con las cadenas de formateo podemos establecer como se verán las canciones en el reproductor. Una buena web que recopila cadenas de formateo es &lt;a href="http://pelit.koillismaa.fi/fb2k/index.php"&gt;Foobar2000 Formatting&lt;/a&gt;, ya mencionada antes, o &lt;a href="http://foobar.nub4life.net/columns/pafiledb.php"&gt;Columns_ui&lt;/a&gt; para foo_ui_colums.&lt;/p&gt;&lt;p&gt;Utilizar una cadena de formateo para dar un color diferente a las canciones del mismo album por ejemplo o cosas similares facilita ver la relación entre las canciones en la lista de reproducción en un solo golpe de vista. Por ejemplo el aspecto de mi Foobar:&lt;/p&gt;      &lt;a href='http://photos1.blogger.com/img/147/1178/1024/Foobar.jpg'&gt;&lt;img border='0' style='border:2px solid #000066; margin:2px' src='http://photos1.blogger.com/img/147/1178/320/Foobar.jpg'&gt;&lt;/a&gt;&lt;br /&gt;Foobar&lt;br /&gt;&lt;p&gt;Por último vamos a ocuparnos de los ajustes de sonido. En Playback, en la lista 'Output data format' seleccionamos el mayor soportado por nuestra tarjeta de sonido (si no lo sabes, selecciona 32bits, si no funciona prueba con 24 y si sigue sin funcionar bajalo a 16. Casi todo el mundo está limitado a 16bits). En el caso de que el formato de salida sea de 16bits marcamos la casilla Dither y como modo seleccionamos 'Strong ATH noise shaping', el recomendado y 'Show Clipping Warnings' si queremos que nos muestre avisos cuando exista clipping.&lt;/p&gt;&lt;p&gt;Configuramos ahora el postprocesado. Dentro de Playback seleccionamos DSP Manager donde veremos una lista de los DSPs activos en este momento y los disponibles. Hay que tener cuidado en que orden se colocan los DSPs activos, ya que determina el orden en que se aplicarán al sonido, y esto afecta bastante a la calidad del sonido y al consumo de cpu. También hay que tener en cuenta el que cada DSP que activemos añade carga de trabajo al PC, por lo que no es conveniente la típica técnica 'añado todo por si acaso'.&lt;/p&gt;&lt;p&gt;Activaremos al menos 'Volume Control' para poder controlar el volumen usando el programa, Equalizer si nos gusta usar un ecualizador y Advanced Limiter que debe situarse siempre al final de la lista de los dsp que elijamos y que ayuda a prevenir el clipping comprobando si existe riesgo de clipping y en caso de que lo halla limitando la señal, de forma que solo funciona cuando se necesita.&lt;/p&gt;&lt;p&gt;En el caso de que tengamos una tarjeta de sonido como algunas sound blaster, que hacen un resampleado malisimo podemos activar 'Resampler (SSRC)' para activar el resampleado por software (en el caso de que no sepas que tal hace el resampleado tu tarjeta, simplemente prueba la calidad de sonido con el resampleado por software activado y desactivado y decide, teniendo en cuenta que puede consumir bastantes recursos de tu máquina). En las opciones de Resampler establecemos como 'Target sampling rate' 48000Hz, que es el valor que viene por defecto.&lt;/p&gt;&lt;p&gt;La lista de DSPs al final debe tener este aspecto (y este orden):&lt;/p&gt;&lt;blockquote&gt;[Resampler (SSRC)] =&gt; [Otros DSPs] =&gt; Volume Control =&gt; Advanced Limiter&lt;/blockquote&gt;&lt;p&gt;Por último en Playback -&gt; Input -&gt; Standard Input seleccionamos para 'tag type to write' 'ID3V2 and ID3V1' y en Output como valor para Output seleccionamos Direct Sound si usamos Windows XP, 2000 o 2003 y WaveOut si utilizamos Windows 9x o Me (la calidad de sonido no debería variar, pero si el consumo de recursos). La otra opción es &lt;a href="http://www.foobar2000.org/foo_out_ks.zip"&gt;Kernel Streaming&lt;/a&gt; (solo para XP, 2000 y 2003) pero es experimental y puede dar problemas, aunque hay gente que afirma que suena mejor.&lt;/p&gt;&lt;p&gt;Una vez que hemos terminado con la configuración de Foobar sería conveniente guardar la carpeta de plugins y el archivo de configuración (foobar.cfg) antes de reinstalar otras versiones para no perder la configuración. Además nos puede interesar cambiar los drivers de la tarjeta de sonido por los &lt;a href="http://kxproject.lugosoft.com/index.php?language=en"&gt;Kx drivers&lt;/a&gt; en el caso de que nuestra tarjeta esté soportada (ver una lista completa &lt;a href="http://kxproject.lugosoft.com/faq.php?language=en#Q15"&gt;aquí&lt;/a&gt;) ya que consigue un sonido de mejor calidad y nos permite un mayor control. También podría interesarnos aplicar &lt;a href="http://www.replaygain.org/"&gt;replay gain&lt;/a&gt; sobre nuestra colección de música, cosa que se puede hacer desde el mismo Foobar.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109205538057561084?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109205538057561084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109205538057561084'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/08/configurando-foobar2000.html' title='Configurando Foobar2000'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109203984784095214</id><published>2004-08-09T10:00:00.000+02:00</published><updated>2004-08-09T10:24:07.840+02:00</updated><title type='text'>Orkut (e invitaciones)</title><content type='html'>&lt;p&gt;Hablando sobre mas cosas olvidadas en el cajón de ex-novedades por la blogosfera hoy vamos a recordar a Orkut.&lt;/p&gt;&lt;p&gt;Para quien todavía no lo sepa &lt;a href="http://www.orkut.com/"&gt;Orkut&lt;/a&gt; es una red social (de amistad, negocios o romance) que sirve para encontrar gente con tus mismas aficiones o gustos. Basta rellenar una serie de datos sobre ti y comenzar a añadir amigos, que a su vez añadirán a sus amigos y podrás buscar gente con tus mismas aficiones entre los amigos de tus amigos, los amigos de los amigos de tus amigos,...&lt;/p&gt;&lt;p&gt;También puedes unirte a comunidades con algún interés en común (por ejemplo existen comunidades sobre blogs, java, linux, bricolaje, kamasutra,...) que tienen asociadas foros de discusión y encontrar mas gente con tus aficiones.&lt;/p&gt;&lt;p&gt;¿Por qué tanto jaleo con Orkut y que tiene de diferente de otras redes sociales? Pues la verdad es que no hay demasiada diferencia. Supongo que el interés vendría de saber que no todo el mundo puede entrar en Orkut, es necesario que te invite alguien que ya esté dentro, con lo cual se produjo un fenómeno parecido a lo que ha ocurrido con Gmail.&lt;/p&gt;&lt;p&gt;En fin, si alguien no lo ha probado todavía y quiere una invitación, que deje un comentario.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109203984784095214?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109203984784095214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109203984784095214'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/08/orkut-e-invitaciones.html' title='Orkut (e invitaciones)'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109198953728360785</id><published>2004-08-08T19:54:00.000+02:00</published><updated>2004-08-08T20:29:53.156+02:00</updated><title type='text'>Neowin color amarillo chillón</title><content type='html'>&lt;p&gt;Muy triste lo que está pasando ultimamente con los fuds contra Firefox y la prensa amarilla en noticias de seguridad informática. Parece que lo que se intenta es crear noticias donde no las hay en lugar de informar. La última en Neowin, que hace que Neowin pierda el poco crédito que le quedaba a mis ojos. Un título como &lt;a href="http://neowin.net/comments.php?id=23124&amp;category=main" title="Cuando no se sabe sobre que escribir, prensa amarilla"&gt;'Firefox has more security holes than Internet Explorer?'&lt;/a&gt; (¿Tiene Firefox mas fallos de seguridad que Internet Explorer?) ya nos pone sobre aviso de que es poco probable que el autor sepa de que está hablando o que le interese otra cosa que buscar polémica.&lt;/p&gt;&lt;p&gt;Y cuando se ve que el autor simplemente busca una franja de tiempo en que en Firefox hallan aparecido mas bugs que en IE (dejando de lado que unos sean mas graves o no que otros, ya que lo que interesa no es la verdad) no puedes sino acordarte de otros &lt;i&gt;amigos&lt;/i&gt; (pagados o no) de Bill Gates como SCO, otro grupo de artistas de circo (payasos) que han llegado a decir cosas como que Linux es inconstitucional o equiparar Linux con el terrorismo.&lt;/p&gt;&lt;p&gt;En el artículo se afirma que en los últimos cuatro meses han aparecido 10 fallos de seguridad en Firefox, por 7 en Internet Explorer, pero se cuidan mucho de comentar que actualmente hay 16 fallos de seguridad en Internet Explorer, frente a 10 de Firefox y que de esos 10 fallos, la mayoría no son de riesgo alto, al contrario que en IE; sin contar el tiempo que se tarda en arreglar los fallos en uno y en otro caso.&lt;/p&gt;&lt;blockquote&gt;Mozilla: 0% Riesgo Extremo, 10% Riesgo Alto, 60% Riesgo Moderado&lt;br /&gt;IE: 15% Riesgo Extremo, 33% Riesgo Alto, 23% Riesgo Moderado&lt;/blockquote&gt;      &lt;a href='http://photos1.blogger.com/img/147/1178/1024/firefox.jpg'&gt;&lt;img border='0' style='border:2px solid #000066; margin:2px' src='http://photos1.blogger.com/img/147/1178/320/firefox.jpg'&gt;&lt;/a&gt;&lt;br /&gt;      &lt;a href='http://photos1.blogger.com/img/147/1178/1024/ie.jpg'&gt;&lt;img border='0' style='border:2px solid #000066; margin:2px' src='http://photos1.blogger.com/img/147/1178/320/ie.jpg'&gt;&lt;/a&gt;&lt;p&gt;Como vemos, casi la mitad de los avisos de seguridad para IE son de riesgo muy alto o extremo, cuando bastante mas de la mitad de los fallos de Mozilla son de riesgo moderado (y absolutamente ninguno de riesgo extremo).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109198953728360785?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109198953728360785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109198953728360785'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/08/neowin-color-amarillo-chilln.html' title='Neowin color amarillo chillón'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109198594927045375</id><published>2004-08-08T19:04:00.000+02:00</published><updated>2004-08-08T19:25:49.270+02:00</updated><title type='text'>Resaltando los términos de las búsquedas de Google</title><content type='html'>&lt;p&gt;Una novedad sin el menor interés excepto para la gente que entra al blog através de google o para otros bloggers si no lo conocían. He añadido al blog un pequeño script javascript vía &lt;a href="http://kryogenix.org/"&gt;Kryogenix&lt;/a&gt; que resalta las palabras que se buscaron en google y por las que se ha llegado al sitio llamado &lt;a href="http://kryogenix.org/code/browser/searchhi/"&gt;Searchhi&lt;/a&gt;.&lt;br /&gt;Es cierto que la barra de búsqueda de google para firefox (no se si la de internet explorer) permite hacer esto, así como también lo hace el ver la página desde la caché de google, pero todo sea por la usabilidad.&lt;/p&gt;&lt;p&gt;Para la gente que prefiera php existe un equivalente, &lt;a href="http://www.textism.com/tools/google_hilite/"&gt;Google Hilite&lt;/a&gt; de la gente de &lt;a href="http://textism.com/"&gt;Textism&lt;/a&gt; y para los que quieran ver un ejemplo, probad por ejemplo con el primer resultado para la &lt;a href="http://www.google.com/search?sourceid=mozclient&amp;ie=utf-8&amp;oe=utf-8&amp;q=zootropo"&gt;búsqueda en google del término Zootropo.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109198594927045375?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109198594927045375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109198594927045375'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/08/resaltando-los-trminos-de-las-bsquedas.html' title='Resaltando los términos de las búsquedas de Google'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109171012391594353</id><published>2004-08-05T14:36:00.000+02:00</published><updated>2004-08-05T14:50:54.996+02:00</updated><title type='text'>La bruja Lola del Pagerank</title><content type='html'>&lt;p&gt;Navegando por la red he encontrado una herramienta web llamada &lt;a href="http://www.rustybrick.com/pagerank-prediction.php" title="Google PageRank Prediction"&gt;Google PageRank Prediction&lt;/a&gt;, que lanza una predicción del pagerank que tendrás en la próxima actualización de Google. No es que sea muy de fiar porque algunos blogs me ha dado resultados como pasar de pagerank 5 a 10, pero es entretenido para pasar el rato (¿y tal vez para crear un meme? xD).&lt;/p&gt;&lt;p&gt;Mi resultado es que el blog se mantiene con pagerank 4, bajando un 11.46% :( y como el que no se consuela es porque no quiere, decir que al menos ayer el blog pasó del puesto 24 al 11 (¡wow! ¡casi en top ten! en el que está gente del nivel de &lt;a href="http://www.minid.net/" title="Minid"&gt;Minid&lt;/a&gt;, &lt;a href="http://www.escolar.net/" title="escolar"&gt;escolar&lt;/a&gt; o &lt;a href="http://www.error500.net/" title="error500"&gt;Error500&lt;/a&gt;) en la &lt;a href="http://www.nedstatbasic.net/s?tab=4&amp;link=3&amp;country=ES&amp;id=3103104&amp;findid=1&amp;category=3016" title="Clasificación de blogs en castellano de Nedstat"&gt;clasificación de Nedstat&lt;/a&gt; de los blogs que tienen un contador con ellos, aunque no espero que se mantenga :P hay que ser realista :P&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109171012391594353?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109171012391594353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109171012391594353'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/08/la-bruja-lola-del-pagerank.html' title='La bruja Lola del Pagerank'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109166115829289151</id><published>2004-08-05T01:08:00.000+02:00</published><updated>2004-08-05T01:38:47.176+02:00</updated><title type='text'>Last.fm + Audioscrobbler, escucha la música que te gusta</title><content type='html'>&lt;p&gt;Seguramente casi todo el mundo conocerá ya &lt;a href="http://www.audioscrobbler.com/"&gt;Audioscrobbler&lt;/a&gt;, del que hablaron hace poco por ejemplo &lt;a href="http://manuls.inopia.net/index.php?p=212"&gt;Manuls&lt;/a&gt; y &lt;a href="http://www.kalendas.net/weblog/"&gt;Zheileman&lt;/a&gt;, una web que mediante un plugin para tu reproductor de música mantiene una lista de tus gustos musicales, comparándolos con gente con gustos parecidos y dándote una lista de posibles candidatos a englosar tu lista de canciones preferidas.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.last.fm/"&gt;Last.fm&lt;/a&gt; es el último invento de la gente de Audioscrobbler, que lleva un poco mas allá la idea en que se basa Audioscrobbler, en lugar de mostrarte una lista de grupos y canciones parecidas a tus favoritos crea una radio online para poder escucharlos directamente.&lt;/p&gt;&lt;p&gt;Son dos servicios que se complementan, ya que cuando no estes escuchando la emisora conociendo nuevos grupos que añadir a tu colección, el plugin de Audioscrobber estara construyendo la base de datos de tus favoritos, de forma que la proxima vez que entres en Last.fm los grupos que escuches se parecerán cada vez más al tipo de música que prefieres.&lt;/p&gt;&lt;p&gt;Ya hay ideas parecidas en que para averiguar que canciones mostrarte en la radio online se basan en que puntues la canción después de escucharla, pero aquí se basan justo en tus gustos musicales, sin prueba y error durante bastante tiempo para ver los grupos que prefieres.&lt;/p&gt;&lt;p&gt;He escuchado 8 canciones y 7 son canciones que me gustan (o me encantan como Jimi Hendrix, U2 o The White Stripes, ¡wow!); asi que parece que funciona bastante bien :)&lt;/p&gt;&lt;br /&gt;&lt;a href='http://photos1.blogger.com/img/147/1178/1024/Audio.jpg'&gt;&lt;img border='0' style='border:2px solid #000066; margin:2px' src='http://photos1.blogger.com/img/147/1178/320/Audio.jpg'&gt;&lt;/a&gt;&lt;br /&gt;Audioscrobbler&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109166115829289151?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109166115829289151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109166115829289151'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/08/lastfm-audioscrobbler-escucha-la-msica.html' title='Last.fm + Audioscrobbler, escucha la música que te gusta'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109164618903685659</id><published>2004-08-04T20:54:00.000+02:00</published><updated>2004-08-04T21:03:09.036+02:00</updated><title type='text'>Firefox 0.9.3 ya disponible</title><content type='html'>&lt;p&gt;Parece que las noticias andan muy mozilleras ultimamente. La última, es que ya han aparecido las versiones 0.9.3 de &lt;a href="http://www.mozilla.org/products/firefox/"&gt;Firefox&lt;/a&gt;, 0.7.3 de &lt;a href="http://www.mozilla.org/products/thunderbird/"&gt;Thunderbird&lt;/a&gt; y 1.7.2 de &lt;a href="http://www.mozilla.org/"&gt;Mozilla&lt;/a&gt;, que arreglan &lt;a href="http://bugzilla.mozilla.org/buglist.cgi?bug_id=251381,249004,250906,253121"&gt;cuatro problemas de seguridad&lt;/a&gt; (entre los que no está &lt;a href="http://zootropo.blogspot.com/2004/08/la-conjura-de-los-necios-o-sobre-bugs.html"&gt;el método de phising&lt;/a&gt; comentado los últimos días, no).&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109164618903685659?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109164618903685659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109164618903685659'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/08/firefox-093-ya-disponible.html' title='Firefox 0.9.3 ya disponible'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109164341999335017</id><published>2004-08-04T20:10:00.000+02:00</published><updated>2004-08-04T20:16:59.993+02:00</updated><title type='text'>XUL Revolutions</title><content type='html'>&lt;p&gt;Ahora que tan de moda esta &lt;a href="http://www.mozilla.org/projects/xul/"&gt;XUL&lt;/a&gt; (lamentablemente) por la cuestión del &lt;a href="http://zootropo.blogspot.com/2004/08/la-conjura-de-los-necios-o-sobre-bugs.html" title="Esto NO es una vulnerabilidad"&gt;phising con Firefox&lt;/a&gt; aprovecho para hacerme publicidad gratuita de manera descarada recordando que hace un tiempo escribí una serie de entradas de introducción a XUL titulada &lt;a href=""&gt;Construye tu propia extensión para Firefox con Zootropo&lt;/a&gt; (¡ahí, ahí! el nick bien grande para alimentar la faceta narcisista superdesarrollada).&lt;/p&gt;&lt;p&gt;En esta especie de tutorial descafeinado se tocan temas como los widgets básicos en XUL, el layout manager, el registro chrome o la modularidad en XUL, terminando con un pequeño ejemplo de una extensión para ver el funcionamiento del sistema de instalación cross platform de Firefox, xpi.&lt;/p&gt;&lt;br /&gt;&lt;img src="http://www.iespana.es/zootropo/extension.gif"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109164341999335017?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109164341999335017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109164341999335017'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/08/xul-revolutions.html' title='XUL Revolutions'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109162287181720101</id><published>2004-08-04T14:21:00.000+02:00</published><updated>2004-08-04T14:34:31.816+02:00</updated><title type='text'>Javascript: DOM</title><content type='html'>&lt;p&gt;Hasta ahora hemos estado viendo el núcleo de Javascript, que es independiente de si se ejecuta en servidor o en el cliente. Ahora vamos a ver una serie de objetos definidos para el uso de Javascript del lado del cliente, utilizando navegadores web.&lt;/p&gt;&lt;p&gt;Los navegadores con soporte para Javascript nos proporcionan un API (Application Program Interface o Interfaz para programas de aplicación) que nos permita interactuar con el mismo, y con los documentos que se encarga de renderizar.&lt;/p&gt;&lt;p&gt;Basicamente tenemos un objeto window, con una serie de propiedades y métodos para la interacción con el navegador y un objeto document, propiedad también de window, con propiedades y métodos para la interacción con el documento, formando una jerarquía que define la API.&lt;/p&gt;&lt;p&gt;Los objetos que tenemos por debajo del objeto document en la la jerarquía y sus métodos y propiedades, definen una API llamada DOM, de Document Object Model o Modelo de Objetos del Documento, que según nos sugiere su nombre modela el documento como un conjunto de objetos, con sus propiedades y métodos y con los que podemos iteractuar. La API DOM puede manipular documentos XML, no solo XHTML y se suele acceder a esta utilizando Javascript, aunque no debemos confundir DOM con Javascript, ya que también se puede utilizar DOM en otros lenguajes como Java o C++.&lt;/p&gt;&lt;p&gt;Tenemos 4 niveles DOM por ahora. DOM nivel 0 fue el primero, creado por Netscape y que se incluyó por primera vez en Netscape 2, permitía el acceso a imágenes, enlaces y campos de formularios. IE cuya cuota de mercado era mucho mas baja que la de Netscape por aquellos días tuvo que adaptarse y por ello DOM Nivel 0 se estableció un estándar de facto. Más tarde, cuando comenzo la guerra de los navegadores en las versiones 4 y comenzó el auge de DHTML (Dinamic HTML) cada uno propuso un modelo diferente de acceder a los elementos, con lo que nos encontramos con dos DOMs completamente incompatibles y aumento de trabajo para los desarrolladores web en su intento de dar soporte a ambos (por supuesto había mas diferencias, pero no vienen al caso). Fue entonces cuando el W3C propuso un estándar, DOM nivel 1, en el que accedemos a un elemento através del método getElementById del objeto document y que es soportado por IE 5+ y Netscape 6. Pero mientras que Netscape se olvidó de su antiguo DOM (que usaba document.layers), IE no dejó de dar soporte a su implementación (en el que se accede a cada elemento a través de una matriz asociativa, document.all). Veamos como se accedería a un elemento con id &lt;i&gt;miElemento&lt;/i&gt; usando el modelo propietario de IE y DOM Nivel 1:&lt;/p&gt;&lt;blockquote&gt;//DOM Nivel 1&lt;br /&gt;document.getElementById('miElemento');&lt;br /&gt;//IE&lt;br /&gt;document.all['miElemento'];&lt;/blockquote&gt;&lt;p&gt;DOM Nivel 1 se divide en Dom Nivel 1 núcleo y DOM Nivel 1 HTML. En el núcleo está definida toda la funcionalidad referida a documentos XML; DOM HTML se apoya en el núcleo para definir la funcionalidad relativa a la interacción con documentos HTML.&lt;/p&gt;&lt;p&gt;El estándar ha seguido evolucionando, con lo que ahora tenemos también DOM Nivel 2, soportado completamente por IE y Firefox (no así Opera) y DOM Nivel 3 soportado casi completamente por IE y Firefox (Opera casi 0%).&lt;/p&gt;&lt;p&gt;En el nivel 2 la especificación divide DOM en DOM Nivel 2 Núcleo y DOM Nivel 2 HTML, que son similares a DOM Nivel 1 además de las vistas, que especifica una API para el acceso y modificación de las vistas de un documento de forma dinámica; estilo, un API para el acceso y modificación de las hojas de estilo de forma dinámica; eventos, un API para el acceso a los eventos del documento y navegación y rango, que nos permite navegar de forma dinámica por el documento e identificar un rango de contenido en el documento.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109162287181720101?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109162287181720101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109162287181720101'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/08/javascript-dom.html' title='Javascript: DOM'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109155944005097287</id><published>2004-08-03T20:56:00.000+02:00</published><updated>2004-08-04T17:44:30.186+02:00</updated><title type='text'>La conjura de los necios (o sobre bugs en Firefox que no existen)</title><content type='html'>&lt;p&gt;Hablamos de una &lt;a href="http://www.nd.edu/~jsmith30/xul/test/spoof.html"&gt;'vulnerabilidad'&lt;/a&gt; de Firefox que consiste en desactivar las barras de herramientas de Firefox utilizando Javascript y sustituirlo por una imitación de la interfaz utilizando XUL. Ahora, en cualquier navegador se puede hacer lo mismo pero imitando la interfaz con DHTML en lugar de XUL. Conclusión, esto no es una vulnerabilidad, es algo que se puede hacer con cualquier navegador que tenga habilitado Javascript. Por lo tanto, si esto es una vulnerabilidad &lt;b&gt;todos&lt;/b&gt; los navegadores del mercado con Javascript son vulnerables, se utilice XUL o HTML para imitar la interfaz.&lt;/p&gt;&lt;p&gt;¿La solución? En Internet Explorer tienes que desactivar Javascript totalmente para que no te hagan algo parecido. En Firefox puedes indicar a Javascript que puede y que no puede hacer. Tenemos primero un simpático diálogo en Tools -&gt; Options -&gt; Web Features -&gt; Advanced para desactivar o activar algunas opciones, entre ellas el permitir a Javascript ocultar la barra de estado, con lo que simplemente desactivando esta opción sería sencillo darse cuenta de que es una imitación, ya que tendríamos dos barras de estado, la verdadera y la falsa. Pero podemos deshabilitar bastantes mas opciones de lo que puede hacer Javascript (através de la jerarquía derivada del objeto Document; usando DOM) otras opciones que no se muestran en ese diálogo através de about:config (escribimos about:config en la barra de direcciones y pulsamos enter) o editando el archivo user.js.&lt;/p&gt;&lt;p&gt;Hace un tiempo publiqué en la bitácora mi archivo user.js, en una entrada que llamé &lt;a href="http://zootropo.blogspot.com/2004/05/userjs-tuneando-firefox-con-zootropo.html"&gt;Tuneando Firefox con Zootropo&lt;/a&gt; que no permite tan siquiera el que Javascript oculte la barra de navegación, con lo que sería incluso mas sencillo el darnos cuenta de que es una imitación. Recomiendo a todos descargarlo y utilizarlo, o editarlo para ajustarlo a vuestras necesidades. Las opciones que interesan en este caso son todas las opciones que comienzan con &lt;i&gt;dom.&lt;/i&gt;, ya que el user.js incluye otras opciones relativas a rendimiento y velocidad del navegador y similares. El archivo esta comentado para facilitar las cosas. (&lt;b&gt;Nota&lt;/b&gt;: el directorio en que se guarda el perfil en Firefox ha cambiado en las últimas versiones desde que escribí esa entrada, echad un vistazo a &lt;a href="http://texturizer.net/firefox/edit.html"&gt;esto&lt;/a&gt; para ver donde se encuentra ahora, según vuestro sistema operativo).&lt;/p&gt;&lt;p&gt;Para que veais la diferencia, asi es como vereis la página que pretende ser el navegador al utilizar mi user.js:&lt;/p&gt;&lt;a href='http://photos1.blogger.com/img/147/1178/1024/falso.jpg'&gt;&lt;img border='0' style='border:2px solid #000066; margin:2px' src='http://photos1.blogger.com/img/147/1178/320/falso.jpg'&gt;&lt;/a&gt;&lt;br /&gt;Firefox Falso&lt;br /&gt;&lt;p&gt;&lt;b&gt;Editado:&lt;/b&gt; cuando he dicho gilipollas me referia a la gente que menosprecia la seguridad de Firefox, porque he llegado a ver gente que recomendaba pasarse de nuevo a IE o a MyIE2, que al fin y al cabo utiliza el mismo motor, en páginas sobre seguridad informática, increible pero ¡100% real! :/. No me refería a la gente que dice que es una vulnerabilidad. Rectifico porque parece ser que hay gente que se lo ha tomado a mal :/.&lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109155944005097287?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109155944005097287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109155944005097287'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/08/la-conjura-de-los-necios-o-sobre-bugs.html' title='La conjura de los necios (o sobre bugs en Firefox que no existen)'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109155171387453187</id><published>2004-08-03T18:35:00.000+02:00</published><updated>2004-08-03T18:48:33.873+02:00</updated><title type='text'>Firefox 0.9.3 y otras delicatessens</title><content type='html'>&lt;p&gt;Leo en &lt;a href="http://www.neilturner.me.uk/2004/Aug/03/firefox_tell_a_friend_feature.html" title="Artículo en Neil's World sobre la 0.9.3 y la característica 'tell a friend' en Firefox 1.0"&gt;Neil's World&lt;/a&gt; que ya existe una &lt;a href="ftp://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-0.9.3/"&gt;compilación de test&lt;/a&gt; de la versión 0.9.3 de Firefox para Windows en la web de Mozilla, para los curiosos e impacientes. A primera vista parece que solo arregla &lt;a href="http://zootropo.blogspot.com/2004/08/firefox-093.html"&gt;los errores que ya se comentaron&lt;/a&gt; sin añadir ninguna característica.&lt;/p&gt;&lt;p&gt;Y aprovechando la entrada sobre Firefox, también comentar que la nightly build de hoy añade dos nuevas entradas en el menú de ayuda, 'Tell a Friend' que nos lleva al sitio &lt;a href="http://www.spreadfirefox.com/"&gt;Spreadfirefox.com&lt;/a&gt;, aún en blanco y 'Promote Firefox'. Es una alegría que la fundación Mozilla se empiece a preocupar mas del marketing, ya que el &lt;i&gt;&lt;a href="http://www.microsoft.com/"&gt;enemigo&lt;/a&gt;&lt;/i&gt; no es un experto de la informática ;-) pero si de la publicidad.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109155171387453187?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109155171387453187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109155171387453187'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/08/firefox-093-y-otras-delicatessens.html' title='Firefox 0.9.3 y otras delicatessens'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109153989808721851</id><published>2004-08-03T15:16:00.000+02:00</published><updated>2004-08-03T15:31:38.086+02:00</updated><title type='text'>Algunos componentes no oficiales útiles para tu Foobar2000</title><content type='html'>&lt;h3&gt;General&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://members.lycos.co.uk/musicf/" title="Web de musicmusic"&gt;Text writer&lt;/a&gt;, crea un archivo txt con información sobre la cancion que se esta reproduciendo. Util para utilizar en conjuncion con programas como Samurize.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.stud.uni-karlsruhe.de/~uzbs/fb2k/html/"&gt;Database Search&lt;/a&gt; permite realizar busquedas en la base de datos de canciones, asi como en las listas de reproduccion.&lt;/li&gt;&lt;li&gt;&lt;a href="http://65.17.81.165/foobar/foo_playcount.dll"&gt;Play Counter&lt;/a&gt;, añade una etiqueta a la base de datos con el numero de veces que se ha escuchado una cancion. Necesario si usas una cadena de formateo que muestre este dato.&lt;/li&gt;&lt;li&gt;&lt;a href="http://foobar2000.free.fr/generaux/foo_playlistfind.zip"&gt;Playlist Find&lt;/a&gt;, se mueve a la zona de la lista en que se encuentra la cancion que buscas, introduciendo las primeras letras del titulo, el artista, el album o cualquier otro criterio.&lt;/li&gt;&lt;li&gt;&lt;a href="http://members.chello.nl/p.shrubsole2/software/foo_pl_hopper.zip"&gt;playlist hopper&lt;/a&gt;, permite saltar desde el artista, album o directorio actual al siguiente o al previo en la lista de reproduccion apartir de una entrada de menu o con teclas de acceso directo.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.wombatinvasion.com/download.html"&gt;Wombat share&lt;/a&gt; permite compartir la base de datos con cualquier persona de la lan de forma que puedan ver y reproducir tus canciones desde su pc.&lt;/li&gt;&lt;li&gt;&lt;a href="http://members.chello.pl/b.sieradzka/foobar/"&gt;freedb support&lt;/a&gt; nos permite conectarnos al servidor freedb para obtener información con la que etiquetar nuestros archivos.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.cqasys.com/projects/kode54/index.php?v"&gt;foo_osd&lt;/a&gt; muestra informacion sobre la cancion que se reproduce con osd.&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Interfaz de usuario&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://members.lycos.co.uk/musicf/" title="Web de musicmusic"&gt;Colums UI&lt;/a&gt;, sustituye a la interfaz de usuario clásica añadiendo soporte para columnas reales. Permite tambien cambiar los botones de la barra de herramientas de foobar y mas cosas. Se puede encontrar algunas cadenas de formato y botones en &lt;a href="http://foobar.nub4life.net/columns/" title="Web de cadenas de formato para Colums UI"&gt;http://foobar.nub4life.net/columns/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.btinternet.com/~sean.m.kelly/foo_looks/"&gt;Foo Looks&lt;/a&gt; permite aplicar skins (looks) a foobar.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.hydrogenaudio.org/forums/index.php?act=Attach&amp;type=post&amp;id=176"&gt;fooTunes&lt;/a&gt; interfaz de usuario alternativa con un explorador integrado, imagenes de las caratulas,... Solo para Windows XP/2k&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Entrada&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www20.brinkster.com/escapesjunkyard/foo_wma.zip"&gt;FooWMA&lt;/a&gt;, añade soporte para la lectura del formato de microsoft wma (windows media audio).&lt;/li&gt;&lt;li&gt;&lt;a href="http://members.chello.pl/b.sieradzka/foobar/"&gt;HTTP reader with stream saving&lt;/a&gt; modificacion del componente HTTP reader oficial que nos permite guardar en disco el streaming.&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/6800128-109153989808721851?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109153989808721851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109153989808721851'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/08/algunos-componentes-no-oficiales-tiles.html' title='Algunos componentes no oficiales útiles para tu Foobar2000'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109146266603086436</id><published>2004-08-02T17:38:00.000+02:00</published><updated>2004-08-02T18:05:15.460+02:00</updated><title type='text'>Las chicas decentes no enseñan mas de lo que deben</title><content type='html'>&lt;p&gt;Me ha gustado &lt;a href="http://weblogs.asp.net/cazzu/archive/2004/08/02/204889.aspx"&gt;esta idea&lt;/a&gt; de &lt;a href="http://weblogs.asp.net/cazzu/"&gt;Daniel Cazzulino&lt;/a&gt;. En un blog como el mio en el que muchas veces las entradas son bastante largas porque se escribe código fuente, por ejemplo, los usuarios a los que no les interese esa entrada de la bitácora en concreto tendrán que desplazarse bastante hacia abajo para comprobar si existen otras entradas que le interesen. Muchos usuarios que entran por primera vez simplemente echan un vistazo, sin tan si quiera usar la barra de desplazamiento para ver la página completa y ver si les interesa alguno otro de los posts, así que ven mucho código que no les interesa y no vuelven.&lt;/p&gt;&lt;p&gt;Una solución es la incluir solo un resumen del contenido del post y un enlace a la entrada completa, pero además de no poder implementarlo en Blogger, tampoco me gusta obligar al usuario a tener que esperar a que cargue otra página, o tener que abrir mas de una ventana si utilizan un navegador sin pestañas.&lt;/p&gt;&lt;p&gt;La solución que propone Daniel consiste en descargar toda la página web pero mostrar solo un resumen e incluir el resto de la entrada en un div que estará oculto hasta que se pulse sobre un elemento concreto, cuando se cambiará la propiedad de display para que el usuario vea el resto.&lt;/p&gt;&lt;blockquote&gt;&amp;lt;div&gt;Este texto es el que se ve hasta que se pulsa sobre leer mas &amp;lt;br/&gt;&amp;lt;span style="font-weight: bold; color: white; background-color: blue; cursor: pointer" onclick="var div=document.getElementById('oculto'); if(div.style.display=='none'){div.style.display='block'; }else{div.style.display='none'; }"&gt;Leer más&amp;lt;/span&gt; &amp;lt;div id="oculto" style="display:none"&gt; Este es el texto que estaba oculto&amp;lt;/div&gt; &amp;lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;Este texto es el que se ve hasta que se pulsa sobre leer mas &lt;br/&gt;&lt;span style="font-weight: bold; color: white; background-color: blue; cursor: pointer" onclick="var div=document.getElementById('oculto');if(div.style.display=='none'){div.style.display='block';}else{div.style.display='none';}"&gt;Leer más&lt;/span&gt; &lt;div id="oculto" style="display:none"&gt; Este es el texto que estaba oculto&lt;/div&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109146266603086436?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109146266603086436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109146266603086436'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/08/las-chicas-decentes-no-ensean-mas-de.html' title='Las chicas decentes no enseñan mas de lo que deben'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109145828645715409</id><published>2004-08-02T16:44:00.000+02:00</published><updated>2004-08-02T22:43:13.706+02:00</updated><title type='text'>Componentes de Foobar2000</title><content type='html'>&lt;p&gt;Existen tres versiones del instalador de Foobar2000, la &lt;a href="http://www.foobar2000.org/foobar_lite.exe"&gt;lite&lt;/a&gt; (836KB), con los componentes básicos; la &lt;a href="http://www.foobar2000.org/foobar.exe"&gt;normal&lt;/a&gt; (1.29MB) y la versión &lt;a href="http://www.foobar2000.org/foobar_special.exe"&gt;special&lt;/a&gt; (2.38MB) que incluye casi todos los componentes oficiales y algunos de los componentes programados por terceras personas mas populares.&lt;/p&gt;&lt;p&gt;Incluso la versión special tiene un consumo de recursos ínfimo, pero si no quieres tener mas componentes de los que vayas a utilizar puedes instalar la versión Lite y añadir los componentes que necesites basándote en esta lista de componentes. (traducción libre de la &lt;a href="http://www.foobar2000.org/components.html" title="Lista de componentes oficiales para Foobar2000"&gt;lista de componentes&lt;/a&gt; de la web de Foobar)&lt;/p&gt;Una lista de componentes no oficiales se puede encontrar en &lt;a href="http://pelit.koillismaa.fi/plugins/"&gt;http://pelit.koillismaa.fi/plugins/&lt;/a&gt;.&lt;h3&gt;Entrada:&lt;/h3&gt;&lt;ul class="bulletlist"&gt;&lt;li&gt;&lt;a href="#foo_input_std"&gt;Matriz de entrada estándar &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#foo_cdda"&gt;Soporte CDDA&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#foo_flac"&gt;Decodificador FLAC&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#foo_ape"&gt;Decodificador Monkey's Audio&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#foo_wavpack"&gt;Decodificador WavPack&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#foo_speex"&gt;Decodificador Speex&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#foo_mod"&gt;Decodificador de Módulos&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#foo_spc"&gt;Decodificador SPC &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#foo_tfmx"&gt;Decodificador TFMX&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#foo_matroska"&gt;Matroska&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Salida:&lt;/h3&gt;&lt;ul class="bulletlist"&gt;&lt;li&gt;&lt;a href="#foo_output_std"&gt;Matriz de salida estándar&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#foo_out_dsound_ex"&gt;DirectSound v2.0&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#foo_out_ks"&gt;Kernel Streaming&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;General:&lt;/h3&gt;&lt;ul class="bulletlist"&gt;&lt;li&gt;&lt;a href="#foo_console"&gt;Consola&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#foo_read_http"&gt;Lector HTTP&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#foo_rgscan"&gt;Escaner ReplayGain&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#foo_diskwriter"&gt;Escritura a disco (Diskwriter)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#foo_albumlist"&gt;Lista de Albums (Album List)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#foo_masstag"&gt;Masstagger&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#foo_unpack"&gt;Lector de Archivos&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#foo_stfu"&gt;Barra de Búsqueda&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#foo_burninate"&gt;Grabación de CDs de audio&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#foo_abx"&gt;Comparador ABX&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#foo_bitcompare"&gt;Comparador Binario&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#foo_infobox_simple"&gt;Visor simple de información de archivo&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#foo_search_ex"&gt;Búsqueda Extendida&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#foo_id3v2"&gt;Soporte de etiquetas ID3v2&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#foo_mpeg4u"&gt;Utilidades MPEG-4&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;DSP:&lt;/h3&gt;&lt;ul class="bulletlist"&gt;&lt;li&gt;&lt;a href="#foo_dsp_extra"&gt;Matriz DSP estándar&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#foo_convolve"&gt;Convolución&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#foo_dynamics"&gt;Compresor de Dinámicos&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Formatos de salida para la escritura a disco (Diskwriter):&lt;/h3&gt;&lt;ul class="bulletlist"&gt;&lt;li&gt;&lt;a href="#foo_vorbisenc"&gt;Codificador Vorbis&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Interfaz de Usuario:&lt;/h3&gt;&lt;ul class="bulletlist"&gt;&lt;li&gt;&lt;a href="#foo_ui_std"&gt;UI por defecto&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#foo_ui_notepad"&gt;UI Oldskool (vieja escuela)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;a id="input"&gt;&lt;/a&gt;&lt;h3&gt;Entrada&lt;/h3&gt;&lt;a id="foo_input_std"&gt;&lt;/a&gt;&lt;h4&gt;Matriz de entrada estándar&lt;/h4&gt;Maneja la reproducción de archivos de formato MP3, MP2, Musepack, Ogg Vorbis, WAV, AIFF, VOC, AU y SND.&lt;br /&gt;Es un componente esencial, incluido en todos los instaladores.&lt;a id="foo_cdda"&gt;&lt;/a&gt;&lt;h4&gt;Soporte CDDA&lt;/h4&gt;Añade soporte para la reproducción de CDs de audio.&lt;br /&gt;Incluido en el instalador normal.&lt;br /&gt;&lt;a href="http://www.foobar2000.org/foo_cdda.zip"&gt;Descargar&lt;/a&gt; - tamaño 16.9KB&lt;a id="foo_flac"&gt;&lt;/a&gt;&lt;h4&gt;Decodificador FLAC&lt;/h4&gt;Decodificador para Free Lossless Audio Codec (codec libre de compresión de audio sin pérdida de calidad).&lt;br /&gt;Incluido en el instalador normal.&lt;br /&gt;&lt;a href="http://www.foobar2000.org/foo_flac.zip"&gt;Descargar&lt;/a&gt; - tamaño 51.1KB&lt;a id="foo_ape"&gt;&lt;/a&gt;&lt;h4&gt;Decodificador Monkey's Audio&lt;/h4&gt;Decodificador para el compresor de audio sin perdida de calidad Monkey's Audio.&lt;br /&gt;Incluido en el instalador normal.&lt;br /&gt;&lt;a href="http://www.foobar2000.org/foo_ape.zip"&gt;Descargar&lt;/a&gt; - tamaño 52.9KB&lt;a id="foo_wavpack"&gt;&lt;/a&gt;&lt;h4&gt;Decodificador WavPack&lt;/h4&gt;Decodificador para el formato de audio sin perdida de calidad WavPack.&lt;br /&gt;Incluido en el instalador normal.&lt;br /&gt;&lt;a href="http://www.foobar2000.org/foo_wavpack.zip"&gt;Descargar&lt;/a&gt; - tamaño 31.1KB&lt;a id="foo_speex"&gt;&lt;/a&gt;&lt;h4&gt;Decodificador Speex&lt;/h4&gt;Decodificador para el codec de voz Speex.&lt;br /&gt;Incluido en el instalador normal.&lt;br /&gt;&lt;a href="http://www.foobar2000.org/foo_speex.zip"&gt;Descargar&lt;/a&gt; - tamaño 50.4KB&lt;a id="foo_mod"&gt;&lt;/a&gt;&lt;h4&gt;Decodificador de Módulos&lt;/h4&gt;Soporte para alguno de los formatos de módulos de trackers mas comunes. Actualmente soporta XM, IT, S3M, MOD, MTM, UMX, MDZ, S3Z, ITZ, XMZ y MO3.&lt;br /&gt;Incluido en el instalador normal.&lt;br /&gt;&lt;a href="http://www.foobar2000.org/foo_mod.zip"&gt;Descargar&lt;/a&gt; - tamaño 105KB&lt;a id="foo_spc"&gt;&lt;/a&gt;&lt;h4&gt;Decodificador SPC&lt;/h4&gt;Decodificador para el formato de musica de la SNES, .SPC.&lt;br /&gt;Incluido en el instalador normal.&lt;br /&gt;&lt;a href="http://www.foobar2000.org/foo_spc.zip"&gt;Descargar&lt;/a&gt; - tamaño 23.3KB&lt;a id="foo_tfmx"&gt;&lt;/a&gt;&lt;h4&gt;Decodificador TFMX&lt;/h4&gt;Permite la reproducción de el formato de música para juegos de Amiga, 'The Final Musicsystem eXtended'.&lt;br /&gt;&lt;a href="http://www.foobar2000.org/foo_tfmx.zip"&gt;Descargar&lt;/a&gt; - tamaño 15.6KB&lt;a id="foo_matroska"&gt;&lt;/a&gt;&lt;h4&gt;Matroska&lt;/h4&gt;Procesador para reproducir arhivos de audio envuelto en un contenedor Matroska.&lt;br /&gt;&lt;a href="http://www.foobar2000.org/foo_matroska.zip"&gt;Descargar&lt;/a&gt; - tamaño 87.6KB&lt;br /&gt;&lt;a id="output"&gt;&lt;/a&gt;&lt;h3&gt;Salida&lt;/h3&gt;&lt;a id="foo_output_std"&gt;&lt;/a&gt;&lt;h4&gt;Matriz de salida estándar&lt;/h4&gt;Incluye salida waveOut y DirectSound.&lt;br /&gt;Este es un componente esencial y está incluido en todos los instaladores.&lt;a id="foo_out_dsound_ex"&gt;&lt;/a&gt;&lt;h4&gt;DirectSound v2.0&lt;/h4&gt;Salida DirectSound con fades al buscar, pausa y parada.&lt;br /&gt;&lt;a href="http://www.foobar2000.org/foo_out_dsound_ex.zip"&gt;Descargar&lt;/a&gt;- tamaño 11.1KB&lt;a id="foo_out_ks"&gt;&lt;/a&gt;&lt;h4&gt;Kernel Streaming&lt;/h4&gt;Soporte para el Experimental WDM Kernel Streaming. Requiere Windows 2000 / XP / 2003 Server.&lt;br /&gt;&lt;a href="http://www.foobar2000.org/foo_out_ks.zip"&gt;Descargar&lt;/a&gt; - tamaño 15.5KB&lt;br /&gt;&lt;a id="general"&gt;&lt;/a&gt;&lt;h3&gt;General&lt;/h3&gt;&lt;a id="foo_console"&gt;&lt;/a&gt;&lt;h4&gt;Consola&lt;/h4&gt;Este componente es necesario para ser poder ver los errores, las advertencias y otros mensajes de salida de los componentes.&lt;br /&gt;Incluido en todos los instaladores.&lt;a id="foo_read_http"&gt;&lt;/a&gt;&lt;h4&gt;Lector HTTP&lt;/h4&gt;Añade soporte para streaming HTTP.&lt;br /&gt;Incluido en todos los instaladores.&lt;a id="foo_rgscan"&gt;&lt;/a&gt;&lt;h4&gt;Escaner ReplayGain&lt;/h4&gt;Analiza el volumen de tus archivos de audio, esta información puede ser usada para reproducir todos los archivos con un volumen de audio similar.&lt;br /&gt;Incluido en todos los instaladores.&lt;a id="foo_diskwriter"&gt;&lt;/a&gt;&lt;h4&gt;Escritura a disco (Diskwriter)&lt;/h4&gt;Convierte archivos a formato WAV. Se puede convertir a otros formatos utilizando &lt;a href="http://www.foobar2000.org/#diskwriter"&gt;componentes adicionales&lt;/a&gt;.&lt;br /&gt;Incluido en el instalador normal.&lt;br /&gt;&lt;a href="http://www.foobar2000.org/screens/foo_diskwriter.png"&gt;Captura de pantalla&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.foobar2000.org/foo_diskwriter.zip"&gt;Descargar&lt;/a&gt; - tamaño 30.4KB&lt;a id="foo_albumlist"&gt;&lt;/a&gt;&lt;h4&gt;Lista de Albums (Album List)&lt;/h4&gt;Proporciona acceso rápido a todos los albums con una vista en árbol modificable por el usuario.&lt;br /&gt;Incluido en el instalador normal.&lt;br /&gt;&lt;a href="http://www.foobar2000.org/screens/foo_albumlist.png"&gt;Captura de pantalla&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.foobar2000.org/foo_albumlist.zip"&gt;Descargar&lt;/a&gt; - tamaño 18.5KB&lt;a id="foo_masstag"&gt;&lt;/a&gt;&lt;h4&gt;Masstagger&lt;/h4&gt;Permite la edición rápida de las etiquetas de los archivos y el renombrado de archivos.&lt;br /&gt;Incluido en el instalador normal.&lt;br /&gt;&lt;a href="http://www.foobar2000.org/screens/foo_masstag.png"&gt;Captura de pantalla&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.foobar2000.org/foo_masstag.zip"&gt;Descargar&lt;/a&gt; - tamaño 30.5KB&lt;a id="foo_unpack"&gt;&lt;/a&gt;&lt;h4&gt;Lector de Archivos&lt;/h4&gt;Permite la reproducción directa de archivos ZIP, 7-ZIP, GZIP y RAR.&lt;br /&gt;Incluido en el instalador normal.&lt;br /&gt;&lt;a href="http://www.foobar2000.org/foo_unpack.zip"&gt;Descargar&lt;/a&gt; - tamaño 86.6KB&lt;a id="foo_stfu"&gt;&lt;/a&gt;&lt;h4&gt;Barra de Búsqueda&lt;/h4&gt;Barra de búsqueda.&lt;br /&gt;Incluido en el instalador normal.&lt;br /&gt;&lt;a href="http://www.foobar2000.org/screens/foo_stfu.png"&gt;Captura de pantalla&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.foobar2000.org/foo_stfu.zip"&gt;Descargar&lt;/a&gt; - tamaño 5.68KB&lt;a id="foo_burninate"&gt;&lt;/a&gt;&lt;h4&gt;Grabación de CDs de audio&lt;/h4&gt;Permite la grabación directa de CDs de audio apartir de cualquier formato de audio soportado. Utiliza el engine de Nero Burning Rom por lo que este debe estar instalado.&lt;br /&gt;&lt;a href="http://www.foobar2000.org/screens/foo_burninate.png"&gt;Captura de pantalla&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.foobar2000.org/foo_burninate.zip"&gt;Descargar&lt;/a&gt; - tamaño 20.2KB&lt;a id="foo_abx"&gt;&lt;/a&gt;&lt;h4&gt;Comparador ABX&lt;/h4&gt;Componente ABX para la realización de Double Blind Listening Tests (DBTs).&lt;br /&gt;&lt;a href="http://www.foobar2000.org/screens/foo_abx.png"&gt;Captura de pantalla&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.foobar2000.org/foo_abx.zip"&gt;Descargar&lt;/a&gt; - tamaño 17.3KB&lt;a id="foo_bitcompare"&gt;&lt;/a&gt;&lt;h4&gt;Comparador Binario&lt;/h4&gt;Realiza una comparación binaria entre la información decodificada de dos pistas.&lt;br /&gt;&lt;a href="http://www.foobar2000.org/screens/foo_bitcompare.png"&gt;Captura de pantalla&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.foobar2000.org/foo_bitcompare.zip"&gt;Descargar&lt;/a&gt; - tamaño 10.6KB&lt;a id="foo_infobox_simple"&gt;&lt;/a&gt;&lt;h4&gt;Visor simple de información de archivo&lt;/h4&gt;Versión mas simple del visor/editor de etiquetas.&lt;br /&gt;&lt;a href="http://www.foobar2000.org/screens/foo_infobox_simple.png"&gt;Captura de pantalla&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.foobar2000.org/foo_infobox_simple.zip"&gt;Descargar&lt;/a&gt; - tamaño 6.65KB&lt;a id="foo_search_ex"&gt;&lt;/a&gt;&lt;h4&gt;Búsqueda Extendida&lt;/h4&gt;Permite la búsqueda avanzada desde la base de datos y la lista de reproducción.&lt;br /&gt;&lt;a href="http://www.foobar2000.org/screens/foo_search_ex.png"&gt;Captura de pantalla&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.foobar2000.org/foo_search_ex.zip"&gt;Descargar&lt;/a&gt; - tamaño 9.1KB&lt;a id="foo_id3v2"&gt;&lt;/a&gt;&lt;h4&gt;Soporte de etiquetas ID3v2&lt;/h4&gt;Añade soporte para la lectura y escritura de etiquetas ID3v2.x.&lt;br /&gt;&lt;a href="http://www.foobar2000.org/foo_id3v2.zip"&gt;Descargar&lt;/a&gt; - tamaño 88.5KB&lt;a id="foo_mpeg4u"&gt;&lt;/a&gt;&lt;h4&gt;Utilidades MPEG-4&lt;/h4&gt;Utilidades para optimizar los archivos MP4 y convertir MP3/AAC a MP4 y viceversa.&lt;br /&gt;&lt;a href="http://www.foobar2000.org/foo_mpeg4u.zip"&gt;Descargar&lt;/a&gt; - tamaño 66.8KB&lt;br /&gt;&lt;a id="dsp"&gt;&lt;/a&gt;&lt;h3&gt;DSP&lt;/h3&gt;&lt;a id="foo_dsp_extra"&gt;&lt;/a&gt;&lt;h4&gt;Matriz DSP estándar&lt;/h4&gt;Ecualizador, Resampleador (SSRC), Limitador Avanzado, Conversión de 5.1 a estereo, Convesión de mono a estereo, Conversión de estereo a 4 canales, Downmix de canales a mono, Mover estereo a los canales posteriores, inversión de canales estereo, Simple surround y limitador del clipping por software.&lt;br /&gt;Se recomienda su instalación, el Resampleador es necesario para el componente &lt;a href="http://www.foobar2000.org/#foo_burninate"&gt;Grabación de CDs de audio&lt;/a&gt; y el Escaner ReplayGain cuando se procesan tasas no soportadas de sampleo.&lt;br /&gt;Incluido en el instalador normal.&lt;br /&gt;&lt;a href="http://www.foobar2000.org/foo_dsp_extra.zip"&gt;Descargar&lt;/a&gt; - tamaño 36.5KB&lt;a id="foo_convolve"&gt;&lt;/a&gt;&lt;h4&gt;Convolución&lt;/h4&gt;Convolución de la respuesta al impulso.&lt;br /&gt;&lt;a href="http://www.foobar2000.org/impulses.zip"&gt;Descargar impulsos&lt;/a&gt; - tamaño 169KB&lt;br /&gt;&lt;a href="http://www.foobar2000.org/foo_convolve.zip"&gt;Descargar&lt;/a&gt; - tamaño 63.5KB&lt;a id="foo_dynamics"&gt;&lt;/a&gt;&lt;h4&gt;Compresor de Dinámicos&lt;/h4&gt;Ecualizador de la  intensidad del sonido comprimiendo los dinámicos.&lt;br /&gt;&lt;a href="http://www.foobar2000.org/foo_dynamics.zip"&gt;Descargar&lt;/a&gt; - tamaño 6.93KB&lt;br /&gt;&lt;a id="diskwriter"&gt;&lt;/a&gt;&lt;h3&gt;Formatos de salida para la escritura a disco (Diskwriter)&lt;/h3&gt;&lt;a id="foo_vorbisenc"&gt;&lt;/a&gt;&lt;h4&gt;Codificador Vorbis&lt;/h4&gt;Codificador para Ogg Vorbis.&lt;br /&gt;&lt;a href="http://www.foobar2000.org/foo_vorbisenc.zip"&gt;Descargar&lt;/a&gt; - tamaño 144KB&lt;br /&gt;&lt;a id="ui"&gt;&lt;/a&gt;&lt;h3&gt;Interfaz de usuario&lt;/h3&gt;&lt;a id="foo_ui_std"&gt;&lt;/a&gt;&lt;h4&gt;UI por defecto&lt;/h4&gt;Interfaz de usuario estándar.&lt;br /&gt;Incluido en todos los instaladores.&lt;br /&gt;&lt;a id="foo_ui_notepad"&gt;&lt;/a&gt;&lt;h4&gt;UI Oldskool (vieja escuela)&lt;/h4&gt;Interfaz de usuario que imita al viejo foobar.&lt;br /&gt;&lt;a href="http://www.foobar2000.org/foo_ui_notepad.zip"&gt;Descargar&lt;/a&gt; - tamaño 19.5KB&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109145828645715409?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109145828645715409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109145828645715409'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/08/componentes-de-foobar2000.html' title='Componentes de Foobar2000'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109144997688724744</id><published>2004-08-02T14:25:00.000+02:00</published><updated>2004-08-02T14:35:28.740+02:00</updated><title type='text'>¿Firefox 0.9.3?</title><content type='html'>&lt;p&gt;Leo en &lt;a href="http://forums.mozillazine.org/viewtopic.php?t=108543" title="Hilo en Mozillazine sobre la posible versión 0.9.3"&gt;este hilo del foro de Mozillazine&lt;/a&gt; que se ha creado una nueva rama que se supone arreglará tres problemas de seguridad aparecidos desde que se liberó la versión 0.9.2 (Bugs &lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=249004" title="Bug 249004 en Bugzilla"&gt;249004&lt;/a&gt;, &lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=253121" title="Bug 253121 en Bugzilla"&gt;253121&lt;/a&gt; y &lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=250906" title="Bug 250906 en Bugzilla"&gt;250906&lt;/a&gt;).&lt;/p&gt;&lt;p&gt;Parece ser que habrá también una versión 1.7.2 de Mozilla (1.4.3 para la rama 1.4.x) también para arreglar estos problemas.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109144997688724744?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109144997688724744'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109144997688724744'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/08/firefox-093.html' title='¿Firefox 0.9.3?'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109144363483410797</id><published>2004-08-02T11:51:00.000+02:00</published><updated>2004-08-02T12:47:14.833+02:00</updated><title type='text'>Estadísticas de Julio</title><content type='html'>&lt;p&gt;Durante este mes escribí 71 entradas nuevas, lo que hace una media de unas dos entradas por día.&lt;/p&gt;&lt;p&gt;Ha habido unas 3450 visitas unicas, según Site Meter y unas 8000 páginas vistas, lo que hace un total de 8,423 visitas y 17,459 páginas vistas, o lo que es lo mismo, una media de 152 visitas al día y 318 páginas vistas (siempre según SiteMeter, con Nedstat tengo una media de 312 visitas por día. Pero me fio mas de SiteMeter).&lt;/p&gt;&lt;p&gt;El navegador mas utilizado para acceder a la web es Mozilla con un 60% de las visitas, aunque está claro que no es un dato significativo respecto de la tendencia general en los otros sitios. El sistema operativo mas utilizado es Windows XP, con un 72% de las visitas. Linux alcanza un 5% y MacOS un 2%.&lt;/p&gt;&lt;p&gt;El sitio tiene 240 comentarios, (sin contar los comentarios que se postearon antes de que me pasara a haloscan) de los cuales 148 se postearon este mes. Entre los que mas comentarios tienen tenemos (sin contarme a mi, claro :P):&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://nuno21.com/lebyrus/"&gt;Lebyrus&lt;/a&gt; 9&lt;li&gt;&lt;a href="http://cek.bitacoras.com/"&gt;Cek&lt;/a&gt; 7&lt;li&gt;&lt;a href="http://bardegera.blogspot.com/"&gt;Gera&lt;/a&gt; 7&lt;li&gt;&lt;a href="http://godsea.dsland.org/"&gt;Jordi Rivero&lt;/a&gt; 7&lt;li&gt;&lt;a href="http://www.ralfaonline.com/"&gt;Ralfa&lt;/a&gt; 7&lt;li&gt;&lt;a href="http://juliuscaro.blogspot.com/"&gt;Julius&lt;/a&gt; 5&lt;li&gt;Urizen 3&lt;li&gt;&lt;a href="http://dmnet.bitacoras.com/"&gt;David&lt;/a&gt; 3&lt;li&gt;&lt;a href="http://www.peorth.com.ar/blog/"&gt;Andrea&lt;/a&gt; 3&lt;li&gt;&lt;a href="http://guti.bitacoras.com/"&gt;Javier Gutierrez&lt;/a&gt; 3&lt;/ol&gt;&lt;p&gt;Lo que hace un total de 45 comentarios entre los 10 primeros de la lista, que curiosamente son un 90% bloggers. No son unas estadísticas demasiado impresionantes. Las entradas mas comentadas fueron el &lt;a href="http://zootropo.blogspot.com/2004/07/gmailerxp.html"&gt;post sobre GmailerXP&lt;/a&gt;, con doce comentarios y el de &lt;a href="http://zootropo.blogspot.com/2004/07/y-otra-invitacin-de-gmail.html"&gt;'Y otra invitación de Gmail'&lt;/a&gt;, también con doce (aquí si no regalas algo la gente no comenta ¬¬).&lt;/p&gt;&lt;p&gt;Nos han hecho cinco trackbacks, dos a la &lt;a href="http://zootropo.blogspot.com/2004/07/feedburner.html"&gt;entrada sobre feedburner&lt;/a&gt;, dos a la primera entrada del &lt;a href="http://zootropo.blogspot.com/2004/07/qu-es-javascript.html"&gt;tutorial de Javascript&lt;/a&gt; y otro más a &lt;a href="http://zootropo.blogspot.com/2004/07/eliminar-items-del-men-contextual-de.html"&gt;'Eliminar items del menú contextual de Firefox'&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Además nos enlazaron 24 veces desde otros blogs, según Technorati, lo que hace un total de 29 enlaces desde 21 páginas.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109144363483410797?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109144363483410797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109144363483410797'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/08/estadsticas-de-julio.html' title='Estadísticas de Julio'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109139985732237520</id><published>2004-08-01T23:44:00.000+02:00</published><updated>2004-08-02T00:39:08.763+02:00</updated><title type='text'>La SGAE, fan de los hermanos Marx</title><content type='html'>&lt;img border='0' align="right" style='border:2px solid #000066; margin:2px' src='http://photos1.blogger.com/img/147/1178/320/groucho.jpg'&gt;&lt;p&gt;¿Porque he llegado a esta conclusión? Leamos esta mini biografía del dirigente de la SGAE, Teddy Bautista:&lt;/p&gt;&lt;blockquote&gt;(La Vanguardia) Tengo 60 anos y nací en Las Palmas de Gran Canaria. Soy músico, estuve en Los Canarios, pero hace 20 anos que me dedico a defender los derechos de los autores desde la SGAE (Sociedad General de Autores de Espana). Estoy casado y tengo tres hijos (20, 14, 10 anos). Soy un marxista en fase de descompresión anarquista.&lt;/blockquote&gt;&lt;p&gt;Aquí se nos plantea dos posibilidades claramente diferenciadas.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Teddy Bautista es un fan de los &lt;a href="http://es.wikipedia.org/wiki/Hermanos_Marx" title="Artículo sobre los hermanos Marx en wikipedia"&gt;hermanos Marx&lt;/a&gt;, artistas cómicos estadounidenses, que tuvieron gran éxito entre los años 30 y 50.&lt;li&gt;Teddy Bautista se considera simpatizante de las teorías de &lt;a href="http://es.wikipedia.org/wiki/Karl_Marx"&gt;Karl Marx&lt;/a&gt;, filósofo, economista y revolucionario del siglo XIX. Un hombre que apoyó el socialismo y el comunismo, con ideales que están bastante lejos del de cobrar por la cultura.&lt;/ol&gt;&lt;p&gt;Con lo cual podemos suponer que Teddy tiene la colección completa de las películas de los hermanos Marx en DVD (aunque no sabremos si se las habrá bajado de internet) porque Marx está un poco mas cerca de una afirmación del tipo 'el proletariado debe ser el único beneficio del los «frutos de su trabajo»' y del tipo 'acabemos con el burguesismo y trabajemos todos por un mundo mejor' que la actitud que tienen &lt;i&gt;algunos&lt;/i&gt; de dedicarse a vivir del cuento y de los demás.&lt;/p&gt;&lt;p&gt;Y porque igual que nadie en su sano juicio diría que el Papa es una persona violenta o que Adolf Hitler estaba adscrito a 'Judios por la libertad', llegaremos a la conclusión de que este hombre al menos sabe de cine. Pero citando a &lt;a href="http://es.wikipedia.org/wiki/Groucho_Marx"&gt;esa persona que tanto admiras&lt;/a&gt;, Teddy:&lt;/p&gt;&lt;blockquote&gt;'Nunca pertenecería a un club que admitiera como socio a alguien como yo'&lt;/blockquote&gt;&lt;p&gt;Cuanto sabes, Groucho.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109139985732237520?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109139985732237520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109139985732237520'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/08/la-sgae-fan-de-los-hermanos-marx.html' title='La SGAE, fan de los hermanos Marx'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109135804858929255</id><published>2004-08-01T12:51:00.000+02:00</published><updated>2004-08-01T13:00:48.590+02:00</updated><title type='text'>Lector de feeds en Thunderbird</title><content type='html'>&lt;p&gt;Y si Firefox mejora día a día, Thunderbird no podía ser menos. En las &lt;a href="http://ftp26moz.newaol.com/pub/mozilla.org/thunderbird/nightly/latest-0.8/" title="Nightly Builds de Thunderbird"&gt;últimas compilaciones&lt;/a&gt; del cliente de correo se ha habilitado al fin el lector de feeds (se puede ver alguna captura de la nueva característica en &lt;a href="http://blog.codefront.net/archives/2004/08/01/rss_integration_enabled_in_yesterdays_thunderbird_nightly_builds.php" title="Artículo sobre Thunderbird en Redemption in a blog"&gt;Redemption in a blog&lt;/a&gt;). El lector soporta tanto RSS como Atom, y parece que funciona bastante bien, aunque aún esta en fase de pruebas.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109135804858929255?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109135804858929255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109135804858929255'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/08/lector-de-feeds-en-thunderbird.html' title='Lector de feeds en Thunderbird'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109135729207535334</id><published>2004-08-01T12:39:00.000+02:00</published><updated>2004-08-01T12:48:23.860+02:00</updated><title type='text'>Cirugía estética en Firefox</title><content type='html'>&lt;p&gt;No es que halla habido grandes cambios en la última nightly build, solo los botones de Ir, Historial, Descargas, Nueva Ventana y Nueva Pestaña en la barra de herramientas y una nueva imagen para las carpetas del administrador de marcadores; así que como mucho podríamos decir que se ha hecho un lifting. Pero creo que es la primera vez que me gusta algún botón de la barra de herramientas en el tema por defecto de Firefox en Windows, Winstripe. Sobre todo me ha encantado que el botón de nueva pestaña deje de parecer una tostadora. Parece que el tema por defecto va mejorando :)&lt;/p&gt;&lt;img style='border:1px solid #000066; margin:2px' src='http://photos1.blogger.com/img/147/1178/320/Botones.jpg'&gt;&lt;br /&gt;Nuevos botones Firefox&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109135729207535334?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109135729207535334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109135729207535334'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/08/ciruga-esttica-en-firefox.html' title='Cirugía estética en Firefox'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109132696252443818</id><published>2004-08-01T04:13:00.000+02:00</published><updated>2004-08-01T04:22:42.523+02:00</updated><title type='text'>Un poco de mala prensa para Technorati</title><content type='html'>&lt;p&gt;&lt;a href="http://www.technorati.com" title="Technorati"&gt;Technorati&lt;/a&gt; es una herramienta muy util, y gratuita, pero también tiene sus defectos. Las últimas veces en que intentabas loguearte en su servicio y simplemente no respondía, sin dar ningún tipo de mensaje de error o alguna explicación, simplemente lo tome como otro de los típicos fallos técnicos por los que pasan siempre este tipo de herramientas. Y por supuesto, al ser un servicio gratuito, tampoco tengo derecho a quejarme. Pero hay gente que aunque sea casi simbólico, por que solo son cinco dolares, si ha pagado por servicios a Technorati. Esa gente si puede quejarse. Pero no lo harían normalmente, porque la gente en internet sabe como son estas cosas, y estamos acostumbrados a que una web se caiga día si y día también o que haga cosas raras.&lt;/p&gt;&lt;p&gt;Pero cuando lees que la principal razón de los problemas han sido por la gente de Technorati anda en tratos con la CNN, y han prestado mas atención a los directivos de la CNN que a sus propios clientes... eso ya es otra cosa. Si nadie hubiera pagado a Technorati por sus servicios, nadie tendría derecho a reclamarles nada. Pero cuando empiezas a cobrar... el simple hecho de cobrar por un servicio lleva asociado una responsabilidad con el cliente.&lt;/p&gt;&lt;p&gt;Y si la gente a la que cabreas son bloggers, mas te valdría que tu negocio no tuviera que ver con internet, mas aún si &lt;a href="http://www.v-2.org/displayArticle.php?article_num=778" title="Críticas de Adam Greenfield a Technorati"&gt;cabreas a Adam Greenfield&lt;/a&gt; y las críticas a tu empresa están en el cuarto puesto de &lt;a href="http://blogdex.net/" title="Blogdex"&gt;blogdex&lt;/a&gt;, que para quien no lo conozca es un sitio dedicado a listar los temas mas comentados del momento en la blogosfera.&lt;/p&gt;&lt;p&gt;Pintan bastos para Technorati.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109132696252443818?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109132696252443818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109132696252443818'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/08/un-poco-de-mala-prensa-para-technorati.html' title='Un poco de mala prensa para Technorati'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109131583226959302</id><published>2004-08-01T00:42:00.000+02:00</published><updated>2004-08-01T01:17:12.270+02:00</updated><title type='text'>Foobar2000</title><content type='html'>&lt;p&gt;Hace bastante tiempo que utilizo como reproductor de audio para Windows &lt;a href="http://www.foobar2000.org/" title="Foobar2000"&gt;foobar2000&lt;/a&gt;. Además de tener un montón de funciones útiles, consume bastante menos recursos que Winamp, sobre todo la versión 5 que consume en mi pc 15MB de memoria o Windows Media Player que consume 13MB, comparados con los 3MB que consume Foobar cuando está minimizado en la barra de tareas. WMP es muy pesado, igual que lo es Winamp, que era un buen programa antes de la versión 3. Solo necesito un reproductor de música, ¿porque le ha dado a la gente de Nullsoft por incluir un reproductor de videos en Winamp? es inecesario, hace el programa mas pesado y además es poco útil por que está lleno de bugs. Winamp no vale nada como reproductor de video, WMP algo mas, pero hay muchisimos programas que se dedican solo a reproducir videos que le superan en todos los aspectos.&lt;/p&gt;&lt;p&gt;Pues bien, Foobar2000 es un reproductor de música y nada mas, es mas pequeño y estable que winamp entre otras cosas porque no está recargado con funciones que no vas a utilizar nunca. Lo cual no quiere decir que sea un programa simple, a pesar de ser sencillo de manejar es muy potente, tiene gran cantidad de opciones, posibilidad de customizar las teclas de accesos directos y es increiblemente flexible. Foobar trabaja con listas de reproducción que ocupan megas y megas sin ningún problema. Si tienes una lista de reproducción con 1000 canciones Winamp se muere. Foobar con 20.000 no se ha tenido que quitar las gafas de sol.&lt;/p&gt;&lt;p&gt;Mas ventajas importantes son el hecho de que intente facilitarte la vida ya que soporta casi todos los formatos de forma nativa como mpc, aac, flac y ogg :) y si no tiene soporte para el formato en cuestión, basta con añadir una simple dll además de las pestañas como listas de reproduccion, una característica que me encanta.&lt;/p&gt;&lt;p&gt;Moviéndonos en terreno poco fiable, mucha gente afirma también que el sonido que se consigue con Foobar es de mejor calidad que el que se consigue con Winamp. No voy a juzgar en ese aspecto. Lo que si puedo decir es que sus &lt;abbr title="Digital Signal Processing"&gt;DSPs&lt;/abbr&gt; tienen una calidad excelente :)&lt;/p&gt;&lt;p&gt;Pero no todo son ventajas con Foobar, logicamente. La principal desventaja que esgriman los detractores de Foobar, y sobre todo la gente para la que prima mas &lt;i&gt;pijadas visuales&lt;/i&gt; del tipo skins antes que el que sea un buen reproductor de música, es su &lt;abbr title="User Interface"&gt;UI&lt;/abbr&gt; simple hasta el extremo. Pero no es que sea un gran problema, la verdad es que se puede cambiar la UI de Foobar, por ejemplo con foo_tunes, que simula una interfaz del tipo Itunes o foo_looks. Las dos únicas desventajas con sentido que se le puede achacar son que no existe una versión en castellano, sino que tendremos que conformarnos con utilizar el programa en la lengua de Shakespeare y que no exista un port para Linux, aunque tampoco lo hay de Winamp (Un programa parecido a Foobar y que si tiene versión para Linux es &lt;a href="http://musik.berlios.de/" title="Musik"&gt;Musik&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;     &lt;a href='http://photos1.blogger.com/img/147/1178/1024/foobar.jpg'&gt;&lt;img border='0' style='border:1px solid #000066; margin:2px' src='http://photos1.blogger.com/img/147/1178/320/foobar.jpg'&gt;&lt;/a&gt;&lt;br /&gt;Foobar&lt;br /&gt;&lt;br /&gt;      &lt;a href='http://photos1.blogger.com/img/147/1178/1024/Foobar2.jpg'&gt;&lt;img border='0' style='border:1px solid #000066; margin:2px' src='http://photos1.blogger.com/img/147/1178/320/Foobar2.jpg'&gt;&lt;/a&gt;&lt;br /&gt;Foobar foo_tunes&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109131583226959302?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109131583226959302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109131583226959302'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/08/foobar2000.html' title='Foobar2000'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109128674043474940</id><published>2004-07-31T16:39:00.000+02:00</published><updated>2004-07-31T17:20:57.633+02:00</updated><title type='text'>Sobre el bloqueador de popups de Firefox</title><content type='html'>&lt;p&gt;La gente de &lt;a href="http://www.popupcheck.com/pop_up_blocker.asp"&gt;Free Pop Up Blocker&lt;/a&gt; (descubierta en &lt;a href="http://weblogs.mozillazine.org/asa/" title="Adot's notblog*"&gt;Adot's notblog*&lt;/a&gt;)tiene una comparativa de los mejores bloqueadores de pop ups gratuitos, ya sean integrados en los navegadores o como herramienta de terceros.&lt;/p&gt;&lt;p&gt;Y como era de esperar, al menos por mi, la mejor puntación entre todos los bloqueadores de popups del mercado, se la lleva Firefox, que tuvo un 100% en todos los tests.&lt;/p&gt;&lt;a href='http://photos1.blogger.com/img/147/1178/1024/popup.2.jpg'&gt;&lt;img border='0' style='border:1px solid #000066; margin:2px' src='http://photos1.blogger.com/img/147/1178/320/popup.2.jpg'&gt;&lt;/a&gt;&lt;br /&gt;Clasificación de bloqueadores&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109128674043474940?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109128674043474940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109128674043474940'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/sobre-el-bloqueador-de-popups-de.html' title='Sobre el bloqueador de popups de Firefox'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109127149704848943</id><published>2004-07-31T12:51:00.000+02:00</published><updated>2004-07-31T12:58:26.813+02:00</updated><title type='text'>Añademe a...</title><content type='html'>&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.newsisfree.com/sources/info/?url=http://zootropo.blogspot.com/atom.xml"&gt;NewsIsFree&lt;/a&gt;&lt;li&gt;&lt;a href="http://fyuze.com/customize/clickthru.php?url=http://zootropo.blogspot.com/atom.xml"&gt;Fyuze&lt;/a&gt;&lt;li&gt;&lt;a href="http://localhost:8900/add_provider?url=http://zootropo.blogspot.com/atom.xml?"&gt;Headline Viewer&lt;/a&gt;&lt;li&gt;&lt;a href="http://localhost:5335/system/pages/subscriptions?url=http%3A%2F%2Fzootropo.blogspot.com%2Fatom.xml"&gt;Radio Userland&lt;/a&gt;&lt;li&gt;&lt;a href="http://127.0.0.1:8888/index.html?add_url=http%3A%2F%2Fzootropo.blogspot.com%2Fatom.xml"&gt;Amphetadesk&lt;/a&gt;&lt;li&gt;&lt;a href="http://localhost:8666/btf?rss=http%3A%2F%2Fzootropo.blogspot.com%2Fatom.xml"&gt;BottomFeeder&lt;/a&gt;&lt;li&gt;&lt;a href="newsmonster-subscription:http://zootropo.blogspot.com/atom.xml"&gt;NewsMonster&lt;/a&gt;&lt;li&gt;&lt;a href="http://127.0.0.1:7810/?action=addform&amp;URL=http%3A%2F%2Fzootropo.blogspot.com%2Fatom.xml"&gt;NNTP-RSS&lt;/a&gt;&lt;li&gt;&lt;a href="http://www.bloglines.com/sub/http://zootropo.blogspot.com/atom.xml"&gt;Bloglines&lt;/a&gt;&lt;li&gt;&lt;a href="feed:http://zootropo.blogspot.com/atom.xml"&gt;Feed:&lt;/a&gt;&lt;li&gt;&lt;a href="http://add.my.yahoo.com/rss?url=http://zootropo.blogspot.com/atom.xml"&gt;My Yahoo&lt;/a&gt;&lt;li&gt;&lt;a href="http://www.feedmania.com/suscribe_feed.php?url=http://zootropo.blogspot.com/atom.xml"&gt;Feedmania&lt;/a&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109127149704848943?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109127149704848943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109127149704848943'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/aademe.html' title='Añademe a...'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109120061801359547</id><published>2004-07-30T17:05:00.000+02:00</published><updated>2004-07-30T17:16:58.013+02:00</updated><title type='text'>Destrozando clásicos del cine lección I: El Retorno del Jedi</title><content type='html'>&lt;p&gt;Supongo (o mas bien espero, porque viniendo de George Lucas se puede esperar cualquier cosa) que &lt;a href="http://waxy.org/random/video/Return_of_the_Jedi_-_New_Ending.mov" title="Nuevo Final de 'El Retorno del Jedi'"&gt;esto&lt;/a&gt; debe ser un fake. Pero en teoría se anuncia como imagenes filtradas de los nuevos DVDs revisados de la Guerra de las Galaxias.&lt;/p&gt;&lt;p&gt;El video en concreto pertenece al final de 'el Retorno del Jedi', en las escenas en que aparece el fantasma de Anakin al lado del de Yoda y Obi-wan. Pues bien, si a George no le pareció suficiente ese insulto a la inteligencia que era 'La Amenaza Fantasma', con el maldito Jar Jar Binks, y después las guerras Clon, ahora se dedica a destrozar también las tres primeras películas de la saga, cambiando en las imagenes mencionadas al actor original, Sebastian Shaw, por el niñato que eligió para interpretar a Anakyn, Hayden Christensen.&lt;/p&gt;&lt;p&gt;Y no es que me importe demasiado, porque no soy fan de la Guerra de las Galaxias, simplemente me gustó la trilogía original, pero un chaval rubito con cara de niña pega mas como modelo de un anuncio de Pantem que como uno de los mejores villanos de la historia del cine.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109120061801359547?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109120061801359547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109120061801359547'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/destrozando-clsicos-del-cine-leccin-i.html' title='Destrozando clásicos del cine lección I: El Retorno del Jedi'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109118198814731827</id><published>2004-07-30T11:25:00.000+02:00</published><updated>2004-07-30T12:25:25.850+02:00</updated><title type='text'>La cosa va de escritorios</title><content type='html'>&lt;p&gt;Si &lt;a href="http://www.chavalina.net/comentar.php?idpost=173"&gt;Chavalina&lt;/a&gt; y &lt;a href="http://dmnet.bitacoras.com/index.php?id=3299#comentarios"&gt;David&lt;/a&gt; enseñan sus escritorios, yo como buen ser envidioso que soy, no podía ser menos, aunque para dar un poco mas de interes al asunto voy a comentar que programas he usado.&lt;/p&gt;&lt;a href='http://photos1.blogger.com/img/147/1178/1024/escritorio.jpg'&gt;&lt;img border='0' style='border:1px solid #000000; margin:2px' src='http://photos1.blogger.com/img/147/1178/320/escritorio.jpg'&gt;&lt;/a&gt;&lt;br /&gt;Mi escritorio&lt;p&gt;El estilo visual es Method, de &lt;a href="http://www.deviantart.com/deviation/6348095/"&gt;Sonus&lt;/a&gt;. Para aplicarlo en lugar de tener que usar un programa que consume recursos y además no es gratuito, como &lt;a href="http://www.tgtsoft.com/prod_sxp.php"&gt;StyleXP&lt;/a&gt; uso &lt;a href="http://www.belchfire.net/article555.html"&gt;MultiPatcher&lt;/a&gt; para parchear la dll que se encarga de los estilos visuales en XP, uxtheme.dll.&lt;/p&gt;&lt;p&gt;Los iconos de tamaño mayor del normal para la barra de inicio se consiguen con &lt;a href="http://www.truelaunchbar.com/"&gt;True Launch Bar&lt;/a&gt;, un programa de pago, aunque tiene una versión de prueba que muestra un texto advirtiendote de que no estas registrado en la barra de inicio. Los iconos, tanto de la barra de inicio como en el escritorio son una mezcla de &lt;a href="http://www.deviantart.com/view/3035321/"&gt;Gant&lt;/a&gt; y &lt;a href="http://www.deviantart.com/deviation/2548823/"&gt;Umicons&lt;/a&gt;, y aunque no se vea, todos los iconos, los diálogos como el de copiar archivos e incluso la pantalla de cierre de Windows tienen aspecto Gant gracias a &lt;a href="http://madd.no-ip.com/"&gt;GUI Replacer&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Una lista de todos los releases de Gant, Umicons, miniGANT,... podeis encontrarla en la sección en &lt;a href="http://mattahan.deviantart.com/"&gt;DevianART&lt;/a&gt; de su creador, Mattahan, así como en su &lt;a href="http://www.insocada.com/mattahan/bckgrd.htm"&gt;página web&lt;/a&gt;, junto a otras cosas como wallpapers.&lt;/p&gt;&lt;p&gt;Por último, el calendario es &lt;a href="http://www.ipi.fi/~rainy/index.php?pn=projects&amp;project=rainlendar"&gt;Rainlendar&lt;/a&gt;, con el skin Shadow y el programa que mide la temperatura &lt;a href="http://www.samurize.com/modules/news/"&gt;Samurize&lt;/a&gt; (esto en concreto ya expliqué como hacerlo en &lt;a href="http://zootropo.blogspot.com/2004/04/el-tiempo-en-tu-escritorio-con.html"&gt; El tiempo en tu escritorio con Samurize&lt;/a&gt;&lt;/p&gt;&lt;p&gt;El escritorio Linux ya lo enseñaré cuando termine de luchar con &lt;a href="http://netdragon.sourceforge.net/"&gt;SuperKaramba&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109118198814731827?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109118198814731827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109118198814731827'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/la-cosa-va-de-escritorios.html' title='La cosa va de escritorios'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109117769662957015</id><published>2004-07-30T10:19:00.000+02:00</published><updated>2004-07-30T10:54:56.630+02:00</updated><title type='text'>Las peores canciones de la historia</title><content type='html'>&lt;p&gt;&lt;a href="http://cek.bitacoras.com/"&gt;Cek&lt;/a&gt; y &lt;a href="http://revistes.upc.es/~topopardo/weblog"&gt;Topopardo&lt;/a&gt; publican listas de las canciones que mas les gustan en sus respectivos blogs (topopardo solo lleva dos, pero porque incluye los mp3s :P). Yo la publicaré de las que odio. Por que es mas facil, porque no te sientes mal por dejar algún clásico sin mencionar si la haces de las mejores, y sobre todo porque me gusta llevar la contraria.&lt;/p&gt;&lt;p&gt;Así que aquí está, the Zootropo's top ten de las peores canciones de la historia.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Los del Río - Macarena, ese virus auditivo que llegó a contagiar a medio planeta.&lt;li&gt;Las Ketchup - Aserejé, demostrando que para triunfar en verano solo se necesita una melodía  machacona, una letra con el menor sentido posible y un baile para la canción.&lt;li&gt;Georgie Dann - La Barbacoa, otro representante de las canciones del verano, que arrasan en el top ten. Este es de la escuela 'repite una frase un minimo de 200 veces en la canción'.&lt;li&gt;Melody - El Baile del Gorila, otra que sabe que si la canción tiene baile el éxito está asegurado. Tiene menos crimen (o mas depende de como se mire) que el aserejé porque esta niña al menos se molesto en crear una letra, por muy estúpida que sea.&lt;li&gt;Enrique Iglesias - Héroe, esa grabación que salió con el chico desafinando suena casi mejor que el original.&lt;li&gt;Mª Jesús (con su inseparable acordeón) - El baile de los pajaritos, los animales hacen furor en nuestra lista.&lt;li&gt;Paco Pil - Viva la fiesta, no se que habrá sido de este joven pastillero, himno de masas cuando aparecieron los primeros pseudo bakalas en el pais.&lt;li&gt;King Africa - La Bomba, acabé tan harto de esta canción que todavía lloro por las noches al recordarla.&lt;li&gt;'Britney Spears - Ups, I did Again', lo malo es que lo hizo una vez, y otra, y otra, y desde que llegó no ha parado (de hacer canciones pésimas, se entiende).&lt;li&gt;Demmis Rousso - Triki triki, otro que no se le entendía la letra, pero al menos era griego o algo así (creo).&lt;/ol&gt;&lt;p&gt;Faltan bastantes canciones, pero como ya he dicho, es una de las ventajas de hacer listas de las peores, que no te dan remordimientos de dejar alguna sin poner.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109117769662957015?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109117769662957015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109117769662957015'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/las-peores-canciones-de-la-historia.html' title='Las peores canciones de la historia'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109117494715391026</id><published>2004-07-30T10:00:00.000+02:00</published><updated>2004-07-30T10:16:04.073+02:00</updated><title type='text'>Code Colorizer</title><content type='html'>&lt;p&gt;&lt;a href="http://www.chami.com/colorizer/"&gt;CodeColorizer&lt;/a&gt; convierte el código fuente de lenguajes como ASP, C/C++, Clipper, Delphi/Pascal, HTML, Java, JavaScript y Visual Basic a documentos HTML con coloreado de sintaxis. Estuve buscando ayer algún programa o herramienta web que sirviera para eso, mas que nada porque ya había visto alguno y sabía que existía y no tenía que crear el mío propio :P y estoy contento con los resultados :)&lt;/p&gt;&lt;p&gt;Un ejemplo usando código Javascript del tutorial que estoy escribiendo:&lt;/p&gt;&lt;div class="codigo"&gt;function departamento(){&lt;br /&gt;this.personal = new Array();&lt;br /&gt;this.anyadir = anyadir;&lt;br /&gt;this.calcularNomina = calcularNominaDept;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function empleado(nomina){&lt;br /&gt;this.nomina = nomina;&lt;br /&gt;this.calcularNomina = calcularNominaEmpl;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function anyadir(objeto){&lt;br /&gt;this.personal.push(objeto);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function calcularNominaDept(){&lt;br /&gt;var nomina = 0;&lt;br /&gt;for(var i = 0; i &lt; this.personal.length; i++){&lt;br /&gt;nomina += this.personal[i].calcularNomina();&lt;br /&gt;}&lt;br /&gt;return nomina;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function calcularNominaEmpl(){&lt;br /&gt;return this.nomina;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;empresa = new departamento();&lt;br /&gt;empresa.anyadir(new empleado(200));&lt;br /&gt;empresa.anyadir(new empleado(100));&lt;br /&gt;contabilidad = new departamento();&lt;br /&gt;contabilidad.anyadir(new empleado(120));&lt;br /&gt;empresa.anyadir(contabilidad);&lt;br /&gt;document.write(empresa.calcularNomina());&lt;/div&gt;&lt;div class="codigo"&gt;&lt;FONT COLOR=RED&gt;&lt;B&gt;function&lt;/B&gt;&lt;/FONT&gt; departamento&lt;FONT COLOR=BLUE&gt;&lt;B&gt;(&lt;/B&gt;&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;)&lt;/B&gt;&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;{&lt;/B&gt;&lt;/FONT&gt;&lt;br /&gt;&lt;FONT COLOR=BLUE&gt;this&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;.&lt;/B&gt;&lt;/FONT&gt;personal &lt;FONT COLOR=BLUE&gt;=&lt;/FONT&gt; &lt;FONT COLOR=BLUE&gt;new&lt;/FONT&gt; Array&lt;FONT COLOR=BLUE&gt;&lt;B&gt;(&lt;/B&gt;&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;)&lt;/B&gt;&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;;&lt;/B&gt;&lt;/FONT&gt;&lt;br /&gt;&lt;FONT COLOR=BLUE&gt;this&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;.&lt;/B&gt;&lt;/FONT&gt;anyadir &lt;FONT COLOR=BLUE&gt;=&lt;/FONT&gt; anyadir&lt;FONT COLOR=BLUE&gt;&lt;B&gt;;&lt;/B&gt;&lt;/FONT&gt;&lt;br /&gt;&lt;FONT COLOR=BLUE&gt;this&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;.&lt;/B&gt;&lt;/FONT&gt;calcularNomina &lt;FONT COLOR=BLUE&gt;=&lt;/FONT&gt; calcularNominaDept&lt;FONT COLOR=BLUE&gt;&lt;B&gt;;&lt;/B&gt;&lt;/FONT&gt;&lt;br /&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;}&lt;/B&gt;&lt;/FONT&gt;&lt;br /&gt;&lt;br /&gt;&lt;FONT COLOR=RED&gt;&lt;B&gt;function&lt;/B&gt;&lt;/FONT&gt; empleado&lt;FONT COLOR=BLUE&gt;&lt;B&gt;(&lt;/B&gt;&lt;/FONT&gt;nomina&lt;FONT COLOR=BLUE&gt;&lt;B&gt;)&lt;/B&gt;&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;{&lt;/B&gt;&lt;/FONT&gt;&lt;br /&gt;&lt;FONT COLOR=BLUE&gt;this&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;.&lt;/B&gt;&lt;/FONT&gt;nomina &lt;FONT COLOR=BLUE&gt;=&lt;/FONT&gt; nomina&lt;FONT COLOR=BLUE&gt;&lt;B&gt;;&lt;/B&gt;&lt;/FONT&gt;&lt;br /&gt;&lt;FONT COLOR=BLUE&gt;this&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;.&lt;/B&gt;&lt;/FONT&gt;calcularNomina &lt;FONT COLOR=BLUE&gt;=&lt;/FONT&gt; calcularNominaEmpl&lt;FONT COLOR=BLUE&gt;&lt;B&gt;;&lt;/B&gt;&lt;/FONT&gt;&lt;br /&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;}&lt;/B&gt;&lt;/FONT&gt;&lt;br /&gt;&lt;br /&gt;&lt;FONT COLOR=RED&gt;&lt;B&gt;function&lt;/B&gt;&lt;/FONT&gt; anyadir&lt;FONT COLOR=BLUE&gt;&lt;B&gt;(&lt;/B&gt;&lt;/FONT&gt;objeto&lt;FONT COLOR=BLUE&gt;&lt;B&gt;)&lt;/B&gt;&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;{&lt;/B&gt;&lt;/FONT&gt;&lt;br /&gt;&lt;FONT COLOR=BLUE&gt;this&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;.&lt;/B&gt;&lt;/FONT&gt;personal&lt;FONT COLOR=BLUE&gt;&lt;B&gt;.&lt;/B&gt;&lt;/FONT&gt;push&lt;FONT COLOR=BLUE&gt;&lt;B&gt;(&lt;/B&gt;&lt;/FONT&gt;objeto&lt;FONT COLOR=BLUE&gt;&lt;B&gt;)&lt;/B&gt;&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;;&lt;/B&gt;&lt;/FONT&gt;&lt;br /&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;}&lt;/B&gt;&lt;/FONT&gt;&lt;br /&gt;&lt;br /&gt;&lt;FONT COLOR=RED&gt;&lt;B&gt;function&lt;/B&gt;&lt;/FONT&gt; calcularNominaDept&lt;FONT COLOR=BLUE&gt;&lt;B&gt;(&lt;/B&gt;&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;)&lt;/B&gt;&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;{&lt;/B&gt;&lt;/FONT&gt;&lt;br /&gt;&lt;FONT COLOR=RED&gt;&lt;B&gt;var&lt;/B&gt;&lt;/FONT&gt; nomina &lt;FONT COLOR=BLUE&gt;=&lt;/FONT&gt; &lt;FONT COLOR=BROWN&gt;0&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;;&lt;/B&gt;&lt;/FONT&gt;&lt;br /&gt;&lt;FONT COLOR=RED&gt;&lt;B&gt;for&lt;/B&gt;&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;(&lt;/B&gt;&lt;/FONT&gt;&lt;FONT COLOR=RED&gt;&lt;B&gt;var&lt;/B&gt;&lt;/FONT&gt; i &lt;FONT COLOR=BLUE&gt;=&lt;/FONT&gt; &lt;FONT COLOR=BROWN&gt;0&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;;&lt;/B&gt;&lt;/FONT&gt; i &lt;FONT COLOR=BLUE&gt;&amp;lt;&lt;/FONT&gt; &lt;FONT COLOR=BLUE&gt;this&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;.&lt;/B&gt;&lt;/FONT&gt;personal&lt;FONT COLOR=BLUE&gt;&lt;B&gt;.&lt;/B&gt;&lt;/FONT&gt;length&lt;FONT COLOR=BLUE&gt;&lt;B&gt;;&lt;/B&gt;&lt;/FONT&gt; i&lt;FONT COLOR=BLUE&gt;&lt;FONT COLOR=BLUE&gt;+&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;+&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;)&lt;/B&gt;&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;{&lt;/B&gt;&lt;/FONT&gt;&lt;br /&gt;nomina &lt;FONT COLOR=BLUE&gt;+&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;=&lt;/FONT&gt; &lt;FONT COLOR=BLUE&gt;this&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;.&lt;/B&gt;&lt;/FONT&gt;personal&lt;FONT COLOR=BLUE&gt;&lt;B&gt;[&lt;/B&gt;&lt;/FONT&gt;i&lt;FONT COLOR=BLUE&gt;&lt;B&gt;]&lt;/B&gt;&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;.&lt;/B&gt;&lt;/FONT&gt;calcularNomina&lt;FONT COLOR=BLUE&gt;&lt;B&gt;(&lt;/B&gt;&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;)&lt;/B&gt;&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;;&lt;/B&gt;&lt;/FONT&gt;&lt;br /&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;}&lt;/B&gt;&lt;/FONT&gt;&lt;br /&gt;&lt;FONT COLOR=RED&gt;&lt;B&gt;return&lt;/B&gt;&lt;/FONT&gt; nomina&lt;FONT COLOR=BLUE&gt;&lt;B&gt;;&lt;/B&gt;&lt;/FONT&gt;&lt;br /&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;}&lt;/B&gt;&lt;/FONT&gt;&lt;br /&gt;&lt;br /&gt;&lt;FONT COLOR=RED&gt;&lt;B&gt;function&lt;/B&gt;&lt;/FONT&gt; calcularNominaEmpl&lt;FONT COLOR=BLUE&gt;&lt;B&gt;(&lt;/B&gt;&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;)&lt;/B&gt;&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;{&lt;/B&gt;&lt;/FONT&gt;&lt;br /&gt;&lt;FONT COLOR=RED&gt;&lt;B&gt;return&lt;/B&gt;&lt;/FONT&gt; &lt;FONT COLOR=BLUE&gt;this&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;.&lt;/B&gt;&lt;/FONT&gt;nomina&lt;FONT COLOR=BLUE&gt;&lt;B&gt;;&lt;/B&gt;&lt;/FONT&gt;&lt;br /&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;}&lt;/B&gt;&lt;/FONT&gt;&lt;br /&gt;empresa &lt;FONT COLOR=BLUE&gt;=&lt;/FONT&gt; &lt;FONT COLOR=BLUE&gt;new&lt;/FONT&gt; departamento&lt;FONT COLOR=BLUE&gt;&lt;B&gt;(&lt;/B&gt;&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;)&lt;/B&gt;&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;;&lt;/B&gt;&lt;/FONT&gt;&lt;br /&gt;empresa&lt;FONT COLOR=BLUE&gt;&lt;B&gt;.&lt;/B&gt;&lt;/FONT&gt;anyadir&lt;FONT COLOR=BLUE&gt;&lt;B&gt;(&lt;/B&gt;&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;new&lt;/FONT&gt; empleado&lt;FONT COLOR=BLUE&gt;&lt;B&gt;(&lt;/B&gt;&lt;/FONT&gt;&lt;FONT COLOR=BROWN&gt;200&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;)&lt;/B&gt;&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;)&lt;/B&gt;&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;;&lt;/B&gt;&lt;/FONT&gt;&lt;br /&gt;empresa&lt;FONT COLOR=BLUE&gt;&lt;B&gt;.&lt;/B&gt;&lt;/FONT&gt;anyadir&lt;FONT COLOR=BLUE&gt;&lt;B&gt;(&lt;/B&gt;&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;new&lt;/FONT&gt; empleado&lt;FONT COLOR=BLUE&gt;&lt;B&gt;(&lt;/B&gt;&lt;/FONT&gt;&lt;FONT COLOR=BROWN&gt;100&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;)&lt;/B&gt;&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;)&lt;/B&gt;&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;;&lt;/B&gt;&lt;/FONT&gt;&lt;br /&gt;contabilidad &lt;FONT COLOR=BLUE&gt;=&lt;/FONT&gt; &lt;FONT COLOR=BLUE&gt;new&lt;/FONT&gt; departamento&lt;FONT COLOR=BLUE&gt;&lt;B&gt;(&lt;/B&gt;&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;)&lt;/B&gt;&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;;&lt;/B&gt;&lt;/FONT&gt;&lt;br /&gt;contabilidad&lt;FONT COLOR=BLUE&gt;&lt;B&gt;.&lt;/B&gt;&lt;/FONT&gt;anyadir&lt;FONT COLOR=BLUE&gt;&lt;B&gt;(&lt;/B&gt;&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;new&lt;/FONT&gt; empleado&lt;FONT COLOR=BLUE&gt;&lt;B&gt;(&lt;/B&gt;&lt;/FONT&gt;&lt;FONT COLOR=BROWN&gt;120&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;)&lt;/B&gt;&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;)&lt;/B&gt;&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;;&lt;/B&gt;&lt;/FONT&gt;&lt;br /&gt;empresa&lt;FONT COLOR=BLUE&gt;&lt;B&gt;.&lt;/B&gt;&lt;/FONT&gt;anyadir&lt;FONT COLOR=BLUE&gt;&lt;B&gt;(&lt;/B&gt;&lt;/FONT&gt;contabilidad&lt;FONT COLOR=BLUE&gt;&lt;B&gt;)&lt;/B&gt;&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;;&lt;/B&gt;&lt;/FONT&gt;&lt;br /&gt;document&lt;FONT COLOR=BLUE&gt;&lt;B&gt;.&lt;/B&gt;&lt;/FONT&gt;write&lt;FONT COLOR=BLUE&gt;&lt;B&gt;(&lt;/B&gt;&lt;/FONT&gt;empresa&lt;FONT COLOR=BLUE&gt;&lt;B&gt;.&lt;/B&gt;&lt;/FONT&gt;calcularNomina&lt;FONT COLOR=BLUE&gt;&lt;B&gt;(&lt;/B&gt;&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;)&lt;/B&gt;&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;)&lt;/B&gt;&lt;/FONT&gt;&lt;FONT COLOR=BLUE&gt;&lt;B&gt;;&lt;/B&gt;&lt;/FONT&gt;&lt;/div&gt;&lt;p&gt;Está claro que el código es mas legible (y mas bonito :P) después de pasarlo por el colorizer.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109117494715391026?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109117494715391026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109117494715391026'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/code-colorizer.html' title='Code Colorizer'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109117374906877152</id><published>2004-07-30T09:41:00.000+02:00</published><updated>2004-07-30T09:49:09.070+02:00</updated><title type='text'>Nedstat</title><content type='html'>&lt;p&gt;Ayer añadí un nuevo contador aparte del de &lt;a href="http://www.sitemeter.com"&gt;Site Meter&lt;/a&gt; que tenía antes, el de &lt;a href="http://www.nedstatbasic.net"&gt;Nedstat&lt;/a&gt; que es mas conocido y utiliza mas gente, mas que nada para comparar el número de visitas que me daban Site Meter y este. Y la verdad es que menudo cambio... no se como medirán cada uno, puede que Nedstat tenga un límite de tiempo entre páginas vistas menor que Site Meter para que sea considerado otra visita, pero el número de visitas es bastante mayor según Nedstat que según Site Meter. En concreto 242 según el primero, y 162 según el segundo, ¡lo cual supone una diferencia de 80 visitas!, que es bastante para un sitio que está sobre las 200.&lt;/p&gt;&lt;p&gt;Otra cosa interesante, y que aunque sea una tontería quieras que no hace algo de ilusión, es que me coloqué en el puesto 37 de los blogs mas visitados (de entre los que tienen contador Nedstat) según el &lt;a href="http://www.nedstatbasic.net/s?tab=4&amp;link=3&amp;country=ES&amp;id=3103104&amp;findid=1&amp;category=3016"&gt;Top 1000 de Nedstat&lt;/a&gt; :)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109117374906877152?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109117374906877152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109117374906877152'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/nedstat.html' title='Nedstat'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109112295536809197</id><published>2004-07-29T19:38:00.000+02:00</published><updated>2004-07-29T19:42:35.370+02:00</updated><title type='text'>Etiquetando los correos no leidos en Gmail</title><content type='html'>&lt;p&gt;Parece mentira que cosas tan tontas sean tan útiles :) Leo en &lt;a href="http://blog.lidan.net/"&gt;TimeLine&lt;/a&gt; un truco sacado de &lt;a href="http://www.gmailwiki.com/"&gt;gmailwiki&lt;/a&gt; que consiste simplemente en crear una etiqueta (label) &lt;i&gt;Unread&lt;/i&gt; en Gmail. Sin necesidad de crear ningún filtro ni similares Gmail marcará todo el correo no leido con esta etiqueta.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109112295536809197?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109112295536809197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109112295536809197'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/etiquetando-los-correos-no-leidos-en.html' title='Etiquetando los correos no leidos en Gmail'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109111040129559215</id><published>2004-07-29T14:37:00.000+02:00</published><updated>2004-07-29T16:14:13.753+02:00</updated><title type='text'>Javascript: Expresiones Regulares</title><content type='html'>&lt;p&gt;Las expresiones regulares son una forma de describir cadenas de caracteres que sirven para comparaciones y reemplazos complejos. Por ejemplo si escribimos en la línea de comandos de windows dir *.exe, eso es una expresión regular que define todas las cadenas de caracteres que empiecen con cualquier cosa seguida de .exe, es decir, todos los archivos .exe. La acción de comparar la cadena de texto con el patrón que le hemos dado (la expresión regular) se denomina reconocimiento de patrones (pattern matching).&lt;/p&gt;&lt;p&gt;En Javascript las expresiones regulares se basan en las de Perl, de forma que son muy muy parecidas y se representan por el objeto RegExp (de REGular EXPresion). Para crear una expresión regular podemos usar el constructor del objeto RegExp, pero es mas conveniente utilizar una sintaxis especialmente pensado para ello. Veamos un ejemplo, el mas simple posible.&lt;/p&gt;&lt;blockquote&gt;var patron = /pato/;&lt;/blockquote&gt;&lt;p&gt;Este es el patrón mas sencillo. En una comparación con una cadena devolvería true en el caso de la cadena con la que se compara sea "pato". Todos los patrones se escriben entre barras invertidas, así como las cadenas de texto se escriben entrecomilladas. La otra forma de crear el objeto RegExp es como deciamos utilizando su constructor.&lt;/p&gt;&lt;blockquote&gt;var patron = new RegExp("pato");&lt;/blockquote&gt;&lt;p&gt;Pero en este caso lo que le pasamos al constructor es una cadena, por lo tanto en lugar de usar / lo entrecomillamos. Para complicar un poco mas las cosas supongamos que queremos comprobar si la cadena que nos pasan es pato, pata o pate. Entonces usariamos los corchetes, que indican opción, es decir, al comparar con /[aeo]/ devolvería cierto en caso de que la cadena fuera la letra a, la e o la letra o.&lt;/p&gt;&lt;blockquote&gt;var patron = /pat[aeo]/;&lt;/blockquote&gt;&lt;p&gt;¿Y si quisieramos comprobar si la cadena es pat0, pat1, pat2, ..., pat9? En lugar de tener que encerra los 10 dígitos dentro de los corchetes podemos utilizar el guión, que sirve para indicar rangos. Por ejemplo 0-9 serían todos los números de 0 a 9 inclusive.&lt;/p&gt;&lt;blockquote&gt;var patron = /pat[0-9]/;&lt;/blockquote&gt;&lt;p&gt;Si quisieramos por ejemplo que el último caracter fuera o un dígito (0-9) o una letra minúscula (a-z) simplemente se escribirían dentro de los corchetes un criterio detras de otro.&lt;/p&gt;&lt;blockquote&gt;//pat seguido de un número o letra minúscula&lt;br /&gt;var patron = /pat[0-9a-z]/;&lt;br /&gt;//ahora también puede estar seguido de una A mayúscula&lt;br /&gt;var patron2 = /pat[0-9a-zA]/;&lt;/blockquote&gt;&lt;p&gt;¿Y que ocurriría si en lugar de tener solo un número o una letra minúscula quisieramos que pudieran haber varias, pero siempre minúsculas o números? Entonces recurrimos a +, *, ? y {}. + indica que lo que tiene a su izquierda puede estar 1 o mas veces, * indica que puede estar 0 o mas veces (en el caso de + el número o la minúscula tendría que aparecer al menos una vez, con * pat también se aceptaría), ? indica opcionalidad, es decir, lo que tenemos a la izquierda puede o no aparecer (puede aparecer 0 o 1 veces) y por último {} sirve para indicar exactamente el número de veces o que puede aparecer o un rango. Por ejemplo {3} indicaría que tiene que aparecer exactamente 3 veces, {3,8} indicaría que tiene que aparecer de 3 a 8 veces y {3,} tres veces o mas (las que sean). Hay que tener cuidado porque {} exige que se repite lo último, cuando no se esté seguro de lo que va a hacer usamos (). Para ilustrar esto vamos a ver un primer ejemplo real con expresiones regulares:&lt;/p&gt;&lt;blockquote&gt;&amp;lt;script&gt;&lt;br /&gt;var patron = /pat[ao]{2}/;&lt;br /&gt;document.write("patopata".search(patron));&lt;br /&gt;document.write("patoa".search(patron));&lt;br /&gt;patron = /(pat[ao]){2}/;&lt;br /&gt;document.write("patopata".search(patron));&lt;br /&gt;document.write("patoa".search(patron));&lt;br /&gt;&amp;lt;/script&gt;&lt;/blockquote&gt;&lt;p&gt;La función search del tipo de objeto de String (asociado a las cadenas de caracteres) comprueba si la cadena representada por el patrón que le pasamos como argumento se encuentra dentro de la cadena sobre la que se llama a search. En el caso de que así sea devuelve la posición (por ejemplo para la cadena pato con el patron /p/ devolvería 0, 1 si el patrón es a, 2 si es t,...) y -1 si no se encuentra. Otra función útil que merece la pena comentar es &lt;i&gt;cadena.replace(patron, sustituto)&lt;/i&gt;, que sustituye en la cadena sobre la que se llamó las ocurrencias del patrón por la cadena especificada&lt;/p&gt;&lt;p&gt;Si ejecutamos el programa anterior la salida por pantalla será -100-1, es decir, la primera y última llamada a search devuelven no encontrado y la segunda y las otras dos encuentran la cadena en la posición 0. Si nos fijamos vemos que esto es obvio. El patrón que definimos primero, /pat[ao]{2}/ incluye las cadenas "pataa", "patao", "patoo" y "patoa", ya que lo que indica {2} que debe repetirse dos veces es [ao], no pat[ao]. Sin embargo cuando redefinimos el valor del patron utilizamos los paréntesis de forma que {2} se aplique sobre pat[ao].&lt;/p&gt;&lt;p&gt;Otro elemento interesante en las expresiones regulares es la especificación de las posiciones en que se tiene que encontrar la cadena, esa es la utilidad de ^ y $, que indican que el elemento sobre el que actúa debe ir al principio de la cadena o al final de esta.&lt;/p&gt;&lt;blockquote&gt;//buscamos "oo" y que se encuentre al principio de la cadena en la que esté&lt;br /&gt;var patron = /^aa/;&lt;br /&gt;//buscamos uu al final de la cadena&lt;br /&gt;patron = /uu$/;&lt;/blockquote&gt;&lt;p&gt;Otros elementos a tener en cuenta son:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;\d un dígito. Equivale a [0-9]&lt;li&gt;\D cualquier caracter que no sea un dígito.&lt;li&gt;\w  	Cualquier caracter alfanumérico. Equivalente a [a-zA-Z0-9_].&lt;li&gt;\W cualquier caracter no alfanumérico&lt;li&gt;\s espacio&lt;li&gt;\t tabulador&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109111040129559215?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109111040129559215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109111040129559215'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/javascript-expresiones-regulares.html' title='Javascript: Expresiones Regulares'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109109449778314135</id><published>2004-07-29T11:25:00.000+02:00</published><updated>2004-07-29T11:52:24.920+02:00</updated><title type='text'>Eliminar items del menú contextual de Firefox</title><content type='html'>&lt;p&gt;Interesante este truco que he visto en el &lt;a href="http://forums.mozillazine.org/viewtopic.php?t=30260"&gt;foro de Mozillazine&lt;/a&gt;. Como la apariencia de Firefox se define con archivos css, basta editarlos para modificar la apariencia de Firefox. En este caso para eliminar entradas del menú contextual. Tenemos que editar userChrome.css y establecer display a none para los items que no queremos que se muestren. Por ejemplo:&lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;#context-setWallpaper, #context-blockimage{&lt;br /&gt;   display: none;&lt;br /&gt;}&lt;/pre&gt;&lt;/blockquote&gt;&lt;p&gt;Una lista de las entradas posibles:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;#context-back: "Back" (atras)&lt;li&gt;#context-blockimage: "Block images…" (bloquear imágenes)&lt;li&gt;#context-bookmarklink: "Bookmark this Link…" (añadir enlace a marcadores)&lt;li&gt;#context-bookmarkpage: "Bookmark this Page…" (añadir página a marcadore)&lt;li&gt;#context-copy: "Copy" (copiar)&lt;li&gt;#context-copyemail: "Copy Email Address" (copiar dirección de correo)&lt;li&gt;#context-copyimg: "Copy Image Location" (copiar dirección de la imagen)&lt;li&gt;#context-copylink: "Copy Link Location" (copiar dirección del enlace)&lt;li&gt;#context-cut: "Cut" (cortar)&lt;li&gt;#context-delete: "Delete" (borrar)&lt;li&gt;#context-forward: "Forward" (adelante)&lt;li&gt;#context-metadata: "Properties" (propiedades)&lt;li&gt;#context-openlink: "Open Link in New Window" (abrir enlace en nueva ventana)&lt;li&gt;#context-openlinkintab: "Open Link in New Tab" (abrir enlace en nueva pestaña)&lt;li&gt;#context-paste: "Paste" (pegar)&lt;li&gt;#context-reload: &lt;br /&gt;"Reload" (recargar)&lt;li&gt;#context-saveimage: "Save Image As…" (guardar imagen como)&lt;li&gt;#context-savelink: "Save Link As…" (guardar enlace como)&lt;li&gt;#context-savepage: "Save Page As…" (guardar página como)&lt;li&gt;#context-searchselect: "Web Search for…" (buscar en la web)&lt;li&gt;#context-selectall: "Select All" (seleccionar todo)&lt;li&gt;#context-stop: "Stop" (parar)&lt;li&gt;#context-setWallpaper: "Set As Wallpaper" (establecer como imagen de fondo)&lt;li&gt;#context-undo: "Undo" (deshacer)&lt;li&gt;#context-viewbgimage: "View Background Image" (ver imagen de fondo)&lt;li&gt;#context-viewimage: "View Image" (ver imagen)&lt;li&gt;#context-viewinfo: "View Page Info" (ver información de la página)&lt;li&gt;#context-viewpartialsource-mathml&lt;li&gt;&lt;li&gt;#context-viewpartialsource-selection: &lt;br /&gt;"View Selection Source" (ver código fuente de la selección)&lt;li&gt;#context-viewsource: "View Source" (ver código fuente)&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109109449778314135?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109109449778314135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109109449778314135'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/eliminar-items-del-men-contextual-de.html' title='Eliminar items del menú contextual de Firefox'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109108975503086902</id><published>2004-07-29T09:54:00.000+02:00</published><updated>2004-07-29T10:29:15.030+02:00</updated><title type='text'>Porno Infantil</title><content type='html'>&lt;p&gt;He estado echando un vistazo a las estadísticas de las búsquedas y los referers de los blogs mas visitados según nedstat y lo que he visto me ha parecido curioso. Es impresionante que para un blog como el gran &lt;a href="http://www.escolar.net/"&gt;escolar&lt;/a&gt; el segundo resultado de búsqueda a estas horas sea 'porno' con 16 búsquedas. El primero es infantil y lo que estareis pensando muchos se confirma al ver los referers. Seis búsquedas en google con el texto 'porno infantil'. Cuando ves que otras búsquedas son: 'las torturas de soldados americanos en Iraq' empiezas a preguntarte si esta gente esta bien del coco, aunque queda la duda de si será gente buscando información sobre el tema y no fotos, que esperemos que sea eso :/&lt;/p&gt;&lt;p&gt;La entrada de escolar a la que lleva el enlace en google es un &lt;a href="http://www.google.com/url?sa=U&amp;start=1&amp;q=http://www.escolar.net/MT/archives/000349.html&amp;e=747"&gt;artículo&lt;/a&gt; sobre la conveniencia o no de que sea delito el distribuir porno infantil, que Nacho compara con prohibir Lolita, de Navokob y en los comentarios se compara con prohibir CSI porque se ven asesinatos. Quitando el hecho de que no este de acuerdo, porque en CSI no se asesina de verdad y en el porno infantil si se esta cometiendo un delito es un artículo que te hace pensar.&lt;/p&gt;&lt;p&gt;Y siguiendo con lo que vamos, en los comentarios al artículo se encuentran joyas como:&lt;/p&gt;&lt;blockquote&gt;me gusta que los niños me chupen el guebo&lt;br /&gt;mientras mas pequeños mejor&lt;br /&gt;&lt;br /&gt;soy una persona NORMALLLLLLLLL&lt;br /&gt;&lt;br /&gt;me los voy a cojer a todos&lt;/blockquote&gt;&lt;p&gt;Suena a coña. Si el tío lo dice en serio está bastante mal.&lt;/p&gt;&lt;blockquote&gt;ME GUSTARIA FOLLAR A ESAS MUCHACHITAS, MANDENME FOTOS PARA MASTURBARME A MI CORREO YA QUE TAMBIEN ME FROTARE EL CHORIZO, SI ALGUNA CHICA DESEA VERME EN CAM INSCRIBASE A MI MSN PERO QUE TENGAN TAMBIEN FOTOS O CAM, ME DESPIDO CON UN PENETRAZO A TODAS EN EL CULO BYEEEEEEEEEEEEEEEE&lt;br /&gt;DIOGO 100$$&lt;/blockquote&gt;&lt;p&gt;Otro gilipollas mas aburrido que el primero.&lt;/p&gt;&lt;blockquote&gt;yo pienso que esta bien lo que hacen porque a mi me facina ver como tienen relaciones sexuales los menores de edad&lt;/blockquote&gt;&lt;p&gt;Este si puede que este diciendo lo que piensa pero me inclino por la teoría 'me aburro, voy a poner un comentario estúpido para buscar bronca'. Y luego tenemos los payasos varios que habrán llegado buscando porno infantil en google.&lt;/p&gt;&lt;blockquote&gt;quiero que me manden fotos de niñas yo tengo desnudas intercambio&lt;/blockquote&gt;&lt;blockquote&gt;mandame fotos te intercambio&lt;/blockquote&gt;&lt;blockquote&gt; Yo creo que la sexo es lo mas hermoso que puede haber esto lo digo en forma personal.&lt;br /&gt;Me gustaria conseguir videos de niñas infantiles menores de 15 años. No se si podrian darme informacion en donde conseguier.&lt;br /&gt;blancos teodoro&lt;br /&gt;E-mail blancosvenancio@latinmail.com&lt;br /&gt;PERU&lt;/blockquote&gt;&lt;blockquote&gt;me gustaria ver videos pornos con niñas menores de quince mandenme aunque sean cortos les voy a agradecer son lo maximo sigan no hagan caso la vida es asi escribanme nos vemos&lt;/blockquote&gt;&lt;blockquote&gt;me parece que enseñarles un poco no esta mal&lt;br /&gt;por q son tan tiernas q da ganas de chuparsela todita mandame fotos te intercambio&lt;/blockquote&gt;&lt;blockquote&gt;quiero que me manden fotos y videos de pornografia infantil porfisssssss a emma1870@hotmail.com&lt;/blockquote&gt;&lt;blockquote&gt;quiero que me mande paginas de niñas cogiendo a gato_76_2004@hotmail.com porfa&lt;/blockquote&gt;&lt;p&gt;Bastante repugnante, la verdad. Si yo fuera Nacho mandaría las IPs a la policia aunque solo sea para que las investiguen.&lt;/p&gt;&lt;p&gt;En fin, si por casualidad google indexa esta página entre los primeros resultados para 'porno infantil', si quereis fotos de niños, solo teneis que entrar en &lt;a href="http://www.mir.es/policia/index.htm"&gt;http://www.mir.es/policia/index.htm&lt;/a&gt; y pulsar donde dice 'denuncias'. En pocas horas unos amables señores vestidos de azul llegarán a vuestra casa con todo el porno infantil que querais.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109108975503086902?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109108975503086902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109108975503086902'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/porno-infantil.html' title='Porno Infantil'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109102341182144210</id><published>2004-07-28T15:57:00.000+02:00</published><updated>2004-07-28T16:03:31.820+02:00</updated><title type='text'>Instalador de plugins para Firefox</title><content type='html'>&lt;p&gt;Doron Rosenberg, de &lt;a href="http://weblogs.mozillazine.org/doron/"&gt;doron's blaahg&lt;/a&gt; está escribiendo un wizard para firefox que ayude a instalar los plugins para los usuarios mas inexpertos. Podeis seguir su progreso en el &lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=253046"&gt;bug 253046&lt;/a&gt; de bugzilla y ver algunas capturas de pantalla en &lt;a href="http://www.nexgenmedia.net/ff/screenshots/"&gt;http://www.nexgenmedia.net/ff/screenshots/&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109102341182144210?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109102341182144210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109102341182144210'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/instalador-de-plugins-para-firefox.html' title='Instalador de plugins para Firefox'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109101916574538641</id><published>2004-07-28T14:37:00.000+02:00</published><updated>2004-07-28T14:52:45.746+02:00</updated><title type='text'>GmailerXP</title><content type='html'>&lt;img border='0' style='border:1px solid #000000; margin:2px' src='http://photos1.blogger.com/img/147/1178/320/gmailer.jpg'&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://gmailerxp.sourceforge.net/index.html"&gt;GmailerXP&lt;/a&gt; pretende ser la única aplicación que necesites para manejar el correo de Gmail desde tu pc. Con ella se puede hacer todo lo que se puede hacer desde la página web de Gmail y además incluye las caraceterístitcas de otras aplicaciones como &lt;a href="http://www.marklyon.org/gmail/"&gt;Gmail Loader&lt;/a&gt; o &lt;a href="http://zootropo.blogspot.com/2004/06/mas-herramientas-para-los-gmaileros.html"&gt;Gmailto&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;La aplicación aún está en fase beta pero pueden ser descargadas &lt;a href="http://gmailerxp.sourceforge.net/nightly_builds.html"&gt;compilaciones nightly&lt;/a&gt; desde su página web.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109101916574538641?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109101916574538641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109101916574538641'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/gmailerxp.html' title='GmailerXP'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109100705734653279</id><published>2004-07-28T11:26:00.000+02:00</published><updated>2004-07-28T11:49:57.343+02:00</updated><title type='text'>Javascript: Polimorfismo</title><content type='html'>&lt;p&gt;La palabra polimorfismo se refiere al hecho de tener varios métodos con el mismo nombre y la misma implementación. En la programación orientada a objetos el polimorfismo a considerar es el polimorfismo de clases (también pueden implementar otros tipos pero no nos interesa ahora), que consiste en que un objeto de una clase derivada es al mismo tiempo un objeto de la clase padre, de forma que allí donde se utilice un objeto de la clase padre también se puede utilizar uno de la clase hija.&lt;/p&gt;&lt;p&gt;Por ejemplo si tenemos una clase instrumento de la que derivan guitarra y bajo; las guitarras y los bajos son instrumentos así que se puede asociar una referencia instrumento a un objeto de tipo guitarra, porque al fin y al cabo dado que guitarra tiene definidos todos los métodos y propiedades que tenía instrumento (porque los ha heredado) no nos dará ningún problema, lo único que puede cambiar es que se halla sobreescrito la implementación de alguna función.&lt;/p&gt;&lt;p&gt;Por ejemplo supongamos un método tocar en instrumento que imprime en pantalla "Toco un instrumento" y que se sobreescribió en la clase guitarra para que escribiera "Toco una guitarra". Si creamos un objeto de la clase guitarra pero la enlazamos a una referencia de la clase instrumento, entonces guitarra se comportará como un objeto de la clase instrumento, &lt;i&gt;olvidando&lt;/i&gt; que tiene otros métodos y propiedades que no sean los que estaban definidos en la clase instrumento. Sin embargo si llamamos a la función tocar de este objeto, se imprimirá el mensaje "Toco una guitarra", en lugar de "Toco un instrumento". Polimorfismo.&lt;/p&gt;&lt;p&gt;Esto es posible gracias a que se ha utilizado un enlace dinámico o tardío, es decir, se asigna a cada una de las llamadas su implementación correspondiente en tiempo de ejecución, en lugar de hacerlo durante la compilación (enlace estático) que provocaría que quede fijado, con lo que en el ejemplo anterior al ver una referencia de tipo instrumento, la enlazaría con la implementación del método en instrumento, no en guitarra.&lt;/p&gt;&lt;p&gt;Dado que Javascript no tiene herencia basada en clases, muchas veces se considera equivocadamente que Javascript no soporta polimorfismo, porque se confunde polimorfismo con polimorfismo de clases. Vamos a ver un ejemplo. Supongamos una empresa dividida en departamentos, que a su vez puede estar dividida en otros subdepartamentos y así sucesivamente. Tenemos entonces un objeto departamento que a su vez puede incluir otros departamentos, que también pueden incluir otros,... El objetivo es calcular el sueldo total a pagar de todos los trabajadores. El sueldo de un departamento es la suma de todos los sueldos de los objetos que lo conforman, ya sean trabajadores u otros departamentos.&lt;/p&gt;&lt;p&gt;Para calcular el sueldo total de la empresa podríamos recorrer la matriz que representa la empresa comprobando si el objeto es un departamento o un empleado y llamando al método correspondiente según el tipo de objeto. Sin embargo, podemos aprovecharnos del polimorfismo. Si llamamos al método de la misma forma, por ejemplo calcularNomina, y recorremos el array llamando a calcularNomina para cada objeto, el intérprete se encargará de ver si la implementación que le corresponde es la de departamento o la de empleado:&lt;/p&gt;&lt;div class="codigo"&gt;&amp;lt;script&gt;&lt;br /&gt;function departamento(){&lt;br /&gt;   this.personal = new Array();&lt;br /&gt;   this.anyadir = anyadir;&lt;br /&gt;   this.calcularNomina = calcularNominaDept;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function empleado(nomina){&lt;br /&gt;   this.nomina = nomina;&lt;br /&gt;   this.calcularNomina = calcularNominaEmpl;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function anyadir(objeto){&lt;br /&gt;   this.personal.push(objeto);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function calcularNominaDept(){&lt;br /&gt;   var nomina = 0;&lt;br /&gt;   for(var i = 0; i &lt; this.personal.length; i++){&lt;br /&gt;      nomina += this.personal[i].calcularNomina();&lt;br /&gt;   }&lt;br /&gt;   return nomina;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function calcularNominaEmpl(){&lt;br /&gt;   return this.nomina;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;empresa = new departamento();&lt;br /&gt;empresa.anyadir(new empleado(200));&lt;br /&gt;empresa.anyadir(new empleado(100));&lt;br /&gt;contabilidad = new departamento();&lt;br /&gt;contabilidad.anyadir(new empleado(120));&lt;br /&gt;empresa.anyadir(contabilidad);&lt;br /&gt;document.write(empresa.calcularNomina());&lt;br /&gt;&amp;lt;/script&gt;&lt;/div&gt;&lt;p&gt;En resumen, tenemos varios métodos con el mismo nombre y distinta implementación y el intérprete se encarga de decidir como enlazarlos según el caso.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109100705734653279?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109100705734653279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109100705734653279'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/javascript-polimorfismo.html' title='Javascript: Polimorfismo'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109096027787671109</id><published>2004-07-27T22:06:00.000+02:00</published><updated>2004-07-28T11:47:56.346+02:00</updated><title type='text'>Javascript: Encapsulación</title><content type='html'>&lt;p&gt;La encapsulación se refiere a impedir el acceso a determinados métodos y propiedades de los objetos estableciendo así que métodos y propiedades de estos pueden ser utilizados desde el resto del código. Esto se consigue en otros lenguajes de programación utilizando modificadores de acceso, que definen si cualquiera puede acceder a esa función o variable (public) o si está restringido el acceso a la propia clase (private). Para acceder al valor de las variables private o modificar su valor se añaden también funciones cuyo único cometido es este, y a las que normalmente se les da el nombre de get&lt;i&gt;Variable&lt;/i&gt; y set&lt;i&gt;Variable&lt;/i&gt;.&lt;/p&gt;&lt;p&gt;En Javascript se carece de estos modificadores de acceso, de forma que nos valemos del ámbito de la variable (en que parte del programa puede ser accedida) para emularlo. Para establecer una variable como 'privada' usamos var para que sea local a la función constructora en lugar de hacer 'this.&lt;i&gt;variable&lt;/i&gt; = ...'. Además tenemos que incluir las funciones get y set dentro de la misma función constructora ya que la variable es ahora local y si estas estuvieran fuera de la función constructora no podrían acceder a ella.&lt;div class="codigo"&gt;&amp;lt;script&gt;&lt;br /&gt;function objeto(){&lt;br /&gt;   var numero = 22;&lt;br /&gt;   var texto = "Hola";&lt;br /&gt;   this.setNumero = setNumero;&lt;br /&gt;   this.setTexto = setTexto;&lt;br /&gt;   this.getNumero = getNumero;&lt;br /&gt;   this.getTexto = getTexto; &lt;br /&gt;&lt;br /&gt;   function getNumero(){&lt;br /&gt;      return numero;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   function getTexto(){&lt;br /&gt;      return texto;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   function setNumero(nnumero){&lt;br /&gt;       numero = nnumero;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   function setTexto(ntexto){&lt;br /&gt;       texto = ntexto;&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;var miObjeto = new objeto();&lt;br /&gt;&lt;br /&gt;/*numero es local a objeto, por lo tanto esto daria error quejandose de que numero no esta definido*/&lt;br /&gt;//document.write(numero);&lt;br /&gt;/*como no hemos asociado numero al objeto con this.numero esto tampoco funciona y nos imprime undefined*/&lt;br /&gt;document.write(miObjeto.numero + "&amp;lt;br/&gt;");&lt;br /&gt;//Esta es la forma correcta de acceder&lt;br /&gt;document.write(miObjeto.getTexto() + "&amp;lt;br/&gt;");&lt;br /&gt;//y esta la de modificar su valor&lt;br /&gt;miObjeto.setTexto("Adios");&lt;br /&gt;document.write(miObjeto.getTexto());&lt;br /&gt;&amp;lt;/script&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109096027787671109?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109096027787671109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109096027787671109'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/javascript-encapsulacin.html' title='Javascript: Encapsulación'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109095309999059838</id><published>2004-07-27T20:25:00.000+02:00</published><updated>2004-07-27T20:32:17.646+02:00</updated><title type='text'>WebLog Pinger</title><content type='html'>&lt;p&gt;En &lt;a href="http://www.foxcorp.org/"&gt;Foxcorp&lt;/a&gt; he encontrado una pequeña aplicación (21KB) llamada &lt;a href="http://www.foxcorp.org/data/downloads/weblogpinger.zip"&gt;Weblog Pinger&lt;/a&gt; y que como su nombre indica sirve para hacer ping a los sitios como &lt;a href="http://bitacoras.net/"&gt;bitacoras.net&lt;/a&gt;, &lt;a href="http://bitacoras.com/"&gt;bitacoras.com&lt;/a&gt; o &lt;a href="http://www.weblogs.com/"&gt;weblogs.com&lt;/a&gt; que incluyen listas de las últimas bitacoras actualizadas.&lt;/p&gt;&lt;p&gt;No están todos los sitios a los que solía hacer ping (los de &lt;a href="http://ping-o-matic.com/"&gt;ping-o-matic&lt;/a&gt; además de bitacoras.com y .net) pero es mas comodo que andar de web en web.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109095309999059838?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109095309999059838'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109095309999059838'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/weblog-pinger.html' title='WebLog Pinger'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-10909501595800650</id><published>2004-07-27T17:18:00.000+02:00</published><updated>2004-07-28T20:42:09.193+02:00</updated><title type='text'>Javascript: La herencia</title><content type='html'>&lt;p&gt;Hay tres conceptos que son básicos para cualquier lenguaje de programación orientado a objetos: el encapsulamiento, la herencia y el polimorfismo. Aunque no estén soportados directamente por el lenguaje vamos a ver como podemos lograr estas tres cosas en Javascript. Empecemos por la herencia.&lt;/p&gt;&lt;p&gt;En un lenguaje orientado a objetos cuando establecemos que una clase (subclase) hereda de otra clase (superclase) estamos haciendo que la subclase contenga todas las propiedades y métodos que tenía la superclase.&lt;/p&gt;&lt;p&gt;Veamoslo con un ejemplo. Supongamos que queremos modelar los instrumentos musicales de una banda. Vamos a tener un tipo de objeto guitarra, otro tipo batería, bajo,... cada uno con sus propias propiedades y métodos, pero ocurre que puede que halla métodos y/o propiedades comunes a todos ellos por el hecho de ser instrumentos musicales, por ejemplo un método tocar. Podríamos crear un tipo de objeto &lt;i&gt;instrumento&lt;/i&gt; que sería el que tuviera el método e indicar al programa que guitarra, batería y bajo son tipos de instrumentos, haciendo que hereden de instrumento y que obtengan todos sus propiedades y métodos (en este caso solo el método tocar).&lt;/p&gt;&lt;p&gt;En Javascript hay dos formas de implementar la herencia. La primera forma consiste en llamar al constructor del tipo padre dentro del constructor del tipo hijo. Abrimos el bloc de notas, escribimos lo siguiente y guardamos con extensión htm (no es un archivo html válido porque ni tan si quiera tenemos la etiqueta html o el body).&lt;/p&gt;&lt;div class="codigo"&gt;&amp;lt;script type="text/javascript"&gt;&lt;br /&gt;//Constructores&lt;br /&gt;function persona (nombre, dni){&lt;br /&gt;   this.nombre = nombre;&lt;br /&gt;   this.dni = dni;&lt;br /&gt;   this.toString = toString;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function alumno (nombre, dni, asignaturas){&lt;br /&gt;   this.heredar = persona;&lt;br /&gt;   this.heredar(nombre, dni);&lt;br /&gt;   this.asignaturas = asignaturas;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function profesor (nombre, dni, sueldo){&lt;br /&gt;   this.heredar = persona;&lt;br /&gt;   this.heredar(nombre, dni);&lt;br /&gt;   this.sueldo = sueldo;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//Otras funciones&lt;br /&gt;function toString (){&lt;br /&gt;   return this.nombre + " " + this.dni;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//Inicio del programa&lt;br /&gt;var pepe = new alumno("Pepe Botijos", 343234569, new Array("Matematicas", "Fisica", "Quimica"));&lt;br /&gt;document.write(pepe.nombre + "&amp;lt;br/&gt;");&lt;br /&gt;document.write(pepe.dni + "&amp;lt;br/&gt;");&lt;br /&gt;document.write(pepe.asignaturas + "&amp;lt;br/&gt;");&lt;br /&gt;document.write(pepe.toString() + "&amp;lt;br/&gt;");&lt;br /&gt;&amp;lt;/script&gt;&lt;/div&gt;&lt;p&gt;En este ejemplo tenemos un tipo de objeto persona de la que heredan alumno y profesor (alumno y profesor son personas), por lo tanto estos dos subtipos tendrán las propiedades (nombre y dni) y los métodos (toString) que se hallan definido para el tipo persona, mas los que se definan en el subtipo (asignaturas en el caso del alumno y sueldo en el caso del profesor).&lt;/p&gt;&lt;p&gt;En este ejemplo hay un par de cosas que aún no habíamos visto, el hecho de que el operador + cuando actúa sobre cadenas, las concatena; y la función document.write que escribe un texto en el navegador. Además la palabra clave this, se refiere al objeto actual, de forma que this.toString() significa 'llama a la función toString del objeto actual' y this.sueldo significa la variable sueldo del objeto, en lugar de la variable sueldo que nos pasan como argumento.&lt;/p&gt;&lt;p&gt;La segunda forma de implementar la herencia se basa en la propiedad prototype, que existe por defecto para todos los objetos. Lo único que hay que hacer asignar a la propiedad prototype del tipo hijo el objeto padre.&lt;/p&gt;&lt;div class="codigo"&gt;function instrumento (){&lt;br /&gt;   this.tocar = tocar;&lt;br /&gt;   this.romper = romper;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function guitarra (){&lt;br /&gt;}&lt;br /&gt;guitarra.prototype = new instrumento();&lt;br /&gt;&lt;br /&gt;function bateria (){&lt;br /&gt;   this.romper = romperBateria;&lt;br /&gt;}&lt;br /&gt;bateria.prototype = new instrumento();&lt;br /&gt;&lt;br /&gt;function tocar (){&lt;br /&gt;   document.write("Estamos tocando musica&amp;lt;br/&gt;");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function romper (){&lt;br /&gt;   document.write("Eso lo pagas tu&amp;lt;br/&gt;");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function romperBateria (){&lt;br /&gt;   document.write("Rompiendo bateria, por favor espere.&amp;lt;br/&gt;");&lt;br /&gt;}&lt;/div&gt;&lt;p&gt;Esto funciona porque cuando se intenta acceder a una propiedad de un objeto, primero se comprueba si la propiedad existe entre las propiedades definidas para ese objeto. En el caso de que no se encuentre se comprueba si el objeto al que apunta la propiedad prototype tiene esa propiedad. En el caso de que este tampoco la tenga se comprueba para el objeto de la propiedad prototype de este y así sucesivamente (cada objeto tiene otro objeto que es su prototipo y hereda todas las propiedades de este).&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-10909501595800650?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/10909501595800650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/10909501595800650'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/javascript-la-herencia.html' title='Javascript: La herencia'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109092834482942610</id><published>2004-07-27T13:24:00.000+02:00</published><updated>2004-07-27T13:41:07.000+02:00</updated><title type='text'>Gravatares</title><content type='html'>&lt;p&gt;&lt;a href="http://www.gravatar.com"&gt;Gravatar&lt;/a&gt;, el nuevo servicio ofrecido por &lt;a href="http://www.mojombo.com/archives/000054.html"&gt;Tom Werner&lt;/a&gt; y &lt;a href="http://www.ridingtheclutch.com/entry.cfm?id=39"&gt;Rob Cameron&lt;/a&gt; puede parecer una tonteria a primera vista de simple que es :P pero es una buena idea :) .&lt;/p&gt;&lt;p&gt;Un gravatar es algo parecido a los avatares de los foros de discursión, una imagen que identifica al usuario. De esta forma cuando otro usuario te asocia con tu avatar no tiene que leer el nombre del usuario que ha escrito el post, sino que le basta con echar un vistazo a los avatares, lo cual mejora la palabra con U mayúscula, Usabilidad.&lt;/p&gt;&lt;p&gt;Un gravatar pretende ser el hermano pequeño de los avatares en la blogosfera, una simple imagen asociada con el usuario que escribe un comentario en un blog. ¿Y cual es la innovación y el servicio que ofrece esta gente? porque no sería dificil implementar el que el usuario pudiera añadir una imagen para identificarse. Bienvenido a los Globally Recognized Avatar o Gravatar, avatares globalmente reconocidos. Es decir, el objetivo de esta gente es que los bloggers utilicen el plugin para su cms proporcionado por ellos que hará que al lado del comentario se muestre el gravatar del usuario, pero el usuario no tendrá que añadir el avatar para cada blog que visite, si no que añade su gravatar en gravatar.com y el blog tomará la imagen desde allí.&lt;/p&gt;&lt;p&gt;En resumen, el usuario crea una cuenta en gravatar.com seleccionando una imagen como gravatar y dado que los gravatares se toman de un único servidor, el de gravatar.com, solo se tiene que registrar una vez, mostrandose su gravatar en todos los blogs que tengan activado este servicio.&lt;/p&gt;&lt;p&gt;Lástima que no se pueda utilizar con Blogger, aunque puede que tengamos una sorpresa dentro de poco tiempo porque están discutiendo con la gente de Blogger la posibilidad de añadirlo :) .&lt;/p&gt;      &lt;a href='http://photos1.blogger.com/img/147/1178/640/gravatares.jpg'&gt;&lt;img border='0' style='border:1px solid #000000; margin:2px' src='http://photos1.blogger.com/img/147/1178/320/gravatares.jpg'&gt;&lt;/a&gt;&lt;br /&gt;gravatares&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109092834482942610?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109092834482942610'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109092834482942610'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/gravatares.html' title='Gravatares'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109086891824843995</id><published>2004-07-26T20:56:00.000+02:00</published><updated>2004-07-26T21:10:19.096+02:00</updated><title type='text'>FolderBox y Command Prompt Explorer Bar</title><content type='html'>&lt;p&gt;Un par de capturas de los programas &lt;a href="http://www.baxbex.com/products.html"&gt;FolderBox&lt;/a&gt; y &lt;a href="http://www.codeproject.com/csharp/CommandBar.asp"&gt;Command Prompt Explorer Bar&lt;/a&gt;, que comente de pasada en la entrada sobre los &lt;a href="http://zootropo.blogspot.com/2004/07/reemplazos-del-explorador-de-windows.html"&gt;reemplazos del explorador de windows&lt;/a&gt; para que se vea a que me estaba refiriendo.&lt;/p&gt;&lt;p&gt;      &lt;a href='http://photos1.blogger.com/img/147/1178/640/FolderBox.jpg'&gt;&lt;img border='0' style='border:1px solid #000000; margin:2px' src='http://photos1.blogger.com/img/147/1178/320/FolderBox.jpg'&gt;&lt;/a&gt;&lt;br /&gt;FolderBox añade un panel a la parte inferior del explorador en el que podemos abrir otra carpeta, para ver el contenido de dos carpetas a la vez. Además permite tener hasta cinco carpetas abiertas (mostrando solo una, claro) usando pestañas. Existe una versión de pago con la que se pueden abrir hasta 10 ventanas y que añade un botón a la barra de menús para abrir el programa mas rapidamente.&lt;/p&gt;&lt;p&gt;&lt;a href='http://photos1.blogger.com/img/147/1178/640/Dos.jpg'&gt;&lt;img border='0' style='border:1px solid #000000; margin:2px' src='http://photos1.blogger.com/img/147/1178/320/Dos.jpg'&gt;&lt;/a&gt;&lt;br /&gt;Command Prompt Explorer Bar añade un panel con una línea de comandos al explorador. Pero es mucho mas que una simple ventana de cmd.exe, ya que esta consola cambia automáticamente de directorio cuando nos desplazamos en el explorador de windows y añade una barra de menús a la izquierda con diferentes comandos para mejorar nuestra productividad.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109086891824843995?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109086891824843995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109086891824843995'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/folderbox-y-command-prompt-explorer.html' title='FolderBox y Command Prompt Explorer Bar'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109085608920535932</id><published>2004-07-26T17:25:00.000+02:00</published><updated>2004-07-26T17:34:49.206+02:00</updated><title type='text'>Extensiones</title><content type='html'>&lt;p&gt;Un par de extensiones interesantes vía &lt;a href="http://www.extensionsmirror.nl/"&gt;My Extensions Mirror&lt;/a&gt;:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://derbrowsertimer.mozdev.org/"&gt;Der Browser Timer&lt;/a&gt;: permite establecer alarmas (visuales o sonaras).&lt;li&gt;&lt;a href="http://cgi29.plala.or.jp/mozzarel/addon/firefox0_9/faviconpicker/"&gt;Favicon Picker&lt;/a&gt;: Añade la opción de cambiar el favicon de un marcador.&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109085608920535932?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109085608920535932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109085608920535932'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/extensiones.html' title='Extensiones'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109084810165149972</id><published>2004-07-26T15:11:00.000+02:00</published><updated>2004-07-26T15:21:41.650+02:00</updated><title type='text'>FeedBurner</title><content type='html'>&lt;p&gt;Acabo de crear una cuenta en &lt;a href="http://www.feedburner.com"&gt;FeedBurner&lt;/a&gt; para mejorar el feed Atom que proporciona Blogger. Entre otras cosas Feed Burner permite (estas son las opciones que yo he elegido):&lt;/p&gt;&lt;ul&gt;&lt;li&gt;SmartFeed: En caso de que alguien se intente suscribir a tu feed con un lector de feeds que no soporte el formato de tu feed, FeedBurner lo convierte a un formato que si reconozca automáticamente.&lt;/li&gt;&lt;li&gt;El feed tendrá un icono asociado.&lt;/li&gt;&lt;li&gt;Si se intenta ver el feed desde un navegador en lugar de mostrar un montón de código XML sin sentido, el usuario verá un preview del feed.&lt;/li&gt;&lt;li&gt;Estadísticas sobre el uso de tu feed.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Además una vez creado el nuevo feed mejorado, te dan varias opciones de como se verá el enlace al feed en tu página web. En lugar de la simple imagen indicando el formato del feed o de un simple texto del tipo &lt;i&gt;'Sindica este sitio'&lt;/i&gt; puedes usar por ejemplo su Headline Animator, una imagen gif que muestra los títulos de las últimas entradas de tu bitacora.&lt;/p&gt;&lt;a href="http://feeds.feedburner.com/Zootropo"&gt;&lt;img src="http://feeds.feedburner.com/Zootropo.gif" height="67" width="200" style="border:0" alt="Zootropo"/&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109084810165149972?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109084810165149972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109084810165149972'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/feedburner.html' title='FeedBurner'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109084380869544022</id><published>2004-07-26T13:33:00.000+02:00</published><updated>2004-07-26T14:10:08.696+02:00</updated><title type='text'>Reemplazos del explorador de Windows</title><content type='html'>&lt;p&gt;Ayer estuve probando unos cuantos programas para reemplazar el explorador de Windows. Entre ellos los mas destacados:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.netez.com/xplorer2/"&gt;xplorer2&lt;/a&gt;: vista con dos paneles para ver el contenido de dos carpetas a la vez. Nos permite también escribir comandos MS-DOS. La versión completa es de pago, pero existe una versión gratuita para uso no comercial.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.explorerxp.com/"&gt;ExplorerXP&lt;/a&gt; gratuito, permite navegación con pestañas.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.enriva.com/"&gt;Magellan Explorer&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.ghisler.com/"&gt;Total Commander&lt;/a&gt;: parece el mas completo de todos pero tiene un look a lo Windows 3.11 insoportable.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Las características mas destacadas que ofrecen respecto del explorador de Windows son la posibilidad de dividir el explorador en dos paneles para ver dos carpetas a la vez, pero también puede hacerse con el explorador de Windows usando &lt;a href="http://www.baxbex.com/products.html"&gt;FolderBox&lt;/a&gt;; y escribir comandos MS-DOS para tareas de gestión de los archivos mas complejas, cosa que también se puede hacer con el navegador de Windows gracias a &lt;a href="http://www.codeproject.com/csharp/CommandBar.asp"&gt;Command Prompt Explorer Bar&lt;/a&gt; que permite crear un panel con una línea de comandos en la ventana del explorador.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109084380869544022?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109084380869544022'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109084380869544022'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/reemplazos-del-explorador-de-windows.html' title='Reemplazos del explorador de Windows'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109083823367927600</id><published>2004-07-26T12:31:00.000+02:00</published><updated>2004-07-26T12:37:13.680+02:00</updated><title type='text'>Contra los problemas DNS: DNSLint</title><content type='html'>&lt;p&gt;DNSLint es una utilidad de Microsoft que ayuda que diagnosticar los problemas habituales de resolución de nombres DNS.&lt;/p&gt;&lt;p&gt;El programa puede ser descargado desde la &lt;a href="http://download.microsoft.com/download/win2000srv/Utility/Q321045/NT5XP/EN-US/dnslint.exe"&gt;web de Microsoft&lt;/a&gt;. Una descripción del funcionamiento del programa se puede encontrar en  la &lt;a href="http://support.microsoft.com/default.aspx?scid=kb;es-es;321045"&gt;Microsoft Knowledge Base&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109083823367927600?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109083823367927600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109083823367927600'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/contra-los-problemas-dns-dnslint.html' title='Contra los problemas DNS: DNSLint'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109069703487053193</id><published>2004-07-24T21:19:00.000+02:00</published><updated>2004-07-24T21:23:54.870+02:00</updated><title type='text'>Javascript: Funciones. Orden superior</title><content type='html'>&lt;p&gt;Una función se define en javascript mediante la palabra clave &lt;b&gt;function&lt;/b&gt; seguida del nombre de la función y de los argumentos de esta entre paréntesis y separados por comas.&lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;function &lt;i&gt;nombre&lt;/i&gt; (&lt;i&gt;argumentos&lt;/i&gt;) {&lt;br /&gt;   &lt;i&gt;cuerpo de la funcion&lt;/i&gt;&lt;br /&gt;}&lt;/pre&gt;&lt;/blockquote&gt;&lt;p&gt;Para devolver el valor de retorno de la función se utiliza la palabra clave &lt;b&gt;return&lt;/b&gt;. Como vemos no difiere mucho de las funciones de otros lenguajes de programación.&lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;function multiplica (x, y) {&lt;br /&gt;   return x * y;&lt;br /&gt;}&lt;/pre&gt;&lt;/blockquote&gt;&lt;p&gt;Una vez que la función ha sido definida puede llamarse desde cualquier punto del programa pasándole los argumentos correspondientes:&lt;/p&gt;&lt;blockquote&gt;//miVar toma como valor el producto de 3 por 2, 6&lt;br /&gt;var miVar = multiplica(3,2);&lt;br /&gt;//ahora miVar vale 60&lt;br /&gt;miVar = multiplica(miVar,10);&lt;/blockquote&gt;&lt;p&gt;Nada perturbador de momento. Veamos ahora las características funcionales de javascript. Para ello vamos a usar una construcción típica en los lenguajes funcionales como es la función recursiva map. map recorre una matriz aplicando una función a cada uno de los elementos de la matriz.&lt;/p&gt;&lt;blockquote&gt;function map (funcion,matriz) {&lt;br /&gt;   if (matriz.length==0)&lt;br /&gt;      return matriz;&lt;br /&gt;   else {&lt;br /&gt;      return new Array().concat(car = funcion(matriz.shift())).concat(map(funcion,matriz));&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;function cuadrado (x) {&lt;br /&gt;   return x * x;&lt;br /&gt;}&lt;br /&gt;var miArray = new Array(1,2,3,4,5,6);&lt;br /&gt;/*map devolvera una matriz cuyos elementos son el cuadrado de los elementos de miArray*/&lt;br /&gt;var resultado = map(cuadrado,miArray);&lt;br /&gt;&lt;/blockquote&gt;&lt;p&gt;Este programa hace uso de las funciones de orden superior para recorrer una lista de valores y aplicar la función cuadrado a cada uno de los valores. El funcionamiento en si de map no nos importa demasiado ahora mismo, no tiene que ver con el lenguaje, pero lo explicaré de todas formas para que se vea mas claramente.&lt;/p&gt;&lt;p&gt;La función recursiva map funciona tomando en cada paso el primer elemento de la matriz y aplicando la función que nos pasan como argumento a ese elemento. Después se toma el nuevo elemento en la cabecera de la matriz, que ahora será el que era segundo elemento antes, volviendo quitar este del array y a aplicar la función sobre este. El proceso se repite hasta que el array este vacio, momento en que se vuelve atras en la recursión y se va añadiendo a la izquierda los elementos que se transformaron con la función pasada como argumento.&lt;/p&gt;&lt;p&gt;Ahora bien, lo que de verdad nos interesa de este ejemplo es que le estamos pasando una función como argumento a map. Las funciones son valores normales, que pueden ser pasados como argumentos o ser el valor de retorno de una función y que pueden ser también guardados en variables. Veamos un ejemplo mas sencillo que ilustre esto.&lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;function componer (f, g, x) {&lt;br /&gt;   return f(g(x));&lt;br /&gt;}&lt;/pre&gt;&lt;/blockquote&gt;&lt;p&gt;Este es un ejemplo bastante tonto y sin utilidad pero ya hemos visto con map las posibilidades que nos dan las funciones de orden superior.&lt;/p&gt;&lt;p&gt;Veamos ahora como un ejemplo en el que devolvemos una función:&lt;/p&gt;&lt;blockquote&gt;function operar (operacion) {&lt;br /&gt;   switch (operacion){&lt;br /&gt;      case "rep":&lt;br /&gt;         return reponer;&lt;br /&gt;      case "ven":&lt;br /&gt;         return vender;&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function reponer (cantidad) {&lt;br /&gt;   dinero = dinero - (cantidad * 5);&lt;br /&gt;   unidades = unidades + cantidad;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function vender (cantidad) {&lt;br /&gt;   dinero = dinero + (cantidad * 10);&lt;br /&gt;   unidades = unidades - cantidad;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;var dinero = 1000;&lt;br /&gt;var unidades = 100;&lt;br /&gt;//Ahora tenemos 990 euros y 102 unidades&lt;br /&gt;operar("rep")(2);&lt;br /&gt;//y despues de vender 50, 1490 euros y 52 unidades&lt;br /&gt;operar("ven")(50);&lt;br /&gt;&lt;/blockquote&gt;&lt;p&gt;Si llamamos a la función operar con "rep" como argumento nos devuelve la función reponer, de forma que operar("rep")(2) es equivalente a llamar directamente a reponer(2) e igualmente al pasar como argumento "ven", se nos devuelve la función vender, con lo que operar("ven")(50) es equivalente a vender(50).&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109069703487053193?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109069703487053193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109069703487053193'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/javascript-funciones-orden-superior.html' title='Javascript: Funciones. Orden superior'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109069334950898882</id><published>2004-07-24T20:00:00.000+02:00</published><updated>2004-07-24T20:27:53.446+02:00</updated><title type='text'>Javascript: Matrices</title><content type='html'>&lt;p&gt;Un array o matriz es una estructura de datos que almacena una serie de elementos (que no tienen porque ser del mismo tipo, en Java por ejemplo si) a los que se accede atraves de un número que indica su posición en la matriz que se conoce con el nombre de índice.&lt;/p&gt;&lt;p&gt;Las matrices en Javascript son objetos de tipo Array, por lo tanto se crean usando el constructor Array():&lt;/p&gt;&lt;blockquote&gt;//creamos una matriz vacia&lt;br /&gt;a = new Array();&lt;br /&gt;//también podemos crear una matriz vacia pero reservar espacio para n elementos&lt;br /&gt;b = new Array(10);&lt;br /&gt;//o especificar sus elementos a la hora de crear el array&lt;br /&gt;personajes = new Array("Ricenwind","Mort","Tata Ogg");&lt;/blockquote&gt;&lt;p&gt;Además las matrices no son estáticas, una vez creadas podemos cambiar los elementos que contiene así como acceder a los elementos de cualquier posición, ambas cosas gracias al operador [].&lt;/p&gt;&lt;blockquote&gt;/*Obtenemos el valor del primer elemento de la matriz y lo metemos en la variable protagonista*/&lt;br /&gt;var protagonista = personajes[0];&lt;br /&gt;/*Para modificar o añadir valores se usa también []*/&lt;br /&gt;personajes[3] = "La Muerte";&lt;/blockquote&gt;&lt;p&gt;Es importante darse cuenta de que el primer elemento de la matriz tiene como índice 0, no 1, como sucede en Java o C++.&lt;/p&gt;&lt;p&gt;Ahora, recordando lo que vimos sobre los objetos y sabiendo que las matrices son objetos, es razonable suponer que el objeto Array tendrá propiedades y métodos que nos ayuden a la hora de programar. Vamos a ver los mas interesantes.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Propiedades&lt;/b&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;length: contiene el tamaño de la matriz.&lt;blockquote&gt;/*Tenemos 4 elementos en personajes, por lo tanto el tamaño de la matriz es 4*/&lt;br /&gt;tamanyo = personajes.length;&lt;/blockquote&gt;&lt;/ul&gt;&lt;p&gt;&lt;b&gt;Métodos&lt;/b&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;concat: devuelve el resultado de concatenar las matrices que se pasan como argumento a la matriz sobre el que se llama, sin afectar a ninguna de las matrices involucradas.&lt;blockquote&gt;/*ahora tendriamos la matriz que tiene como elementos los elementos de personajes dos veces*/&lt;br /&gt;var personajes = personajes.concat(personajes);&lt;/blockquote&gt;&lt;/li&gt;&lt;li&gt;pop: retira el el primer elemento de la matriz y devuelve este como valor de retorno.&lt;blockquote&gt;/*ultimo contendria "La Muerte" y personajes pasaria a ser la matriz con los elementos que tenía antes menos el último elemento*/&lt;br /&gt;var ultimo = personajes.pop();&lt;/blockquote&gt;&lt;/li&gt;&lt;li&gt;push: añade los elementos que se pasan como argumento a la función a la matriz.&lt;blockquote&gt;/*Ahora personajes contiene al final de la matriz los numeros 1,2 y 3*/&lt;br /&gt;personajes.push(1,2,3);&lt;/blockquote&gt;&lt;/li&gt;&lt;li&gt;shift: similar a pop, pero en este caso elimina y devuelve el primer elemento de la matriz, no el último.&lt;/li&gt;&lt;li&gt;toString: devuelve la representación de la matriz como una cadena de texto.&lt;blockquote&gt;/*cadena contendría "Rincewind, Mort, Tata Ogg, La Muerte, Rincewind, Mort, Tata Ogg, 1, 2, 3"*/&lt;br /&gt;var cadena = personajes.toString();&lt;/blockquote&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109069334950898882?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109069334950898882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109069334950898882'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/javascript-matrices.html' title='Javascript: Matrices'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109068816555986422</id><published>2004-07-24T18:21:00.000+02:00</published><updated>2004-07-24T18:58:45.503+02:00</updated><title type='text'>Javascript: Objetos</title><content type='html'>&lt;p&gt;Un objeto agrupa variables referidas a ese objeto, llamadas propiedades y funciones (las funciones las veremos después, si no sabes que es una función olvidalo por ahora) asociadas al objeto y que manipulan sus variables, llamadas métodos. Por ejemplo un objeto coche podría tener como propiedades su marca, el número de puertas, el tipo de carburante,... y como métodos arrancar, parar,...&lt;/p&gt;&lt;p&gt;En lenguajes de programación mas orientados a objetos, como Java, además de los objetos tenemos lo que se llaman clases que definen que propiedades y métodos tienen los objetos de esa clase y apartir de las cuales instanciamos los objetos. Un ejemplo sería una clase coche; en la vida real hay un conjunto de objetos a los que llamamos coches y que tienen un conjunto de propiedades comunes, esto es lo que se llamaría la clase. Sin embargo, mi coche no es igual que el coche de mi vecino, pertenecen a la misma clase (ambos tienen propiedades como la marca, el número de caballos,... y métodos comunes como arrancar, parar,...) pero son objetos distintos. En Javascript como hemos dicho, no existen las clases (aunque en algunos sitios se les llama de forma incorrecta clases al tipo del objeto, lo cual puede ser confuso), de forma que al crear un objeto no se está instanciando una clase, como ocurre en Java. Al crear objetos en Javascript, no tenemos un molde del que sacar los objetos, que sería la clase.&lt;/p&gt;&lt;p&gt;Para crear un objeto en Javascript se puede utilizar una función que se encargue de inicializar las variables y esa clase de cosas, a la que se llama constructor. El nombre de esta función será el que se le dé al tipo de objeto resultante:&lt;/p&gt;&lt;blockquote&gt;/*creamos objetos utilizando el operador new que llama al constructor*/&lt;br /&gt;var miPc = new PC();&lt;br /&gt;/*el constructor es una función como cualquier otra y puede tener argumentos*/&lt;br /&gt;var miCPU = new CPU("AMD","Athlon",1400);&lt;/blockquote&gt;&lt;p&gt;Otra forma de crear un objeto, menos intuitiva para programadores Java son los inicializadores, que es parecido a definir una función constructor pero en la que solo se va a asignar valores a variables y nada mas. La sintaxis es la siguiente:&lt;/p&gt;&lt;blockquote&gt;nombreObjeto = {propiedad1:valor1, propiedad2:valor2, ..., propiedadN:valorN};&lt;/blockquote&gt;&lt;p&gt;Además los inicializadores se pueden anidar, creando objetos como propiedades de otros objetos:&lt;/p&gt;&lt;blockquote&gt;pc = {cpu:{fabricante:"AMD", modelo:"Athlon", velocidad:1400}, memoria:512, MB:Asus 7532"};&lt;/blockquote&gt;&lt;p&gt;Una vez creado el objeto para acceder a las propiedades o los métodos de un objeto se utiliza el operador punto (.), y usamos el mismo procedimiento al asignar un valor a estos. Dado que Javascript declara directamente las nuevas variables al asignarlas un valor si estas no estaban antes declaradas nos basta dar un valor a una variable de un objeto para definir una nueva propiedad del objeto (para definir un nuevo método también  basta hacer algo del tipo &lt;i&gt;objeto.nombreMetodo = nombreFuncion;&lt;/i&gt;). Además conviene hacer notar que dado que los objetos también son datos, pueden definirse como propiedades de otro objeto. Veamos un ejemplo de todo esto.&lt;/p&gt;&lt;blockquote&gt;/*Accedemos a la propiedad fabricante de mi objeto fabricante, que habremos asociado previamente con el valor que nos pasaron como parámetro al crear el objeto en nuestro constructor. Ahora fab contiene la cadena "AMD"*/&lt;br /&gt;var fab = miCPU.fabricante;&lt;br /&gt;/*También podemos cambiar el valor de una propiedad de la misma forma*/&lt;br /&gt;miCPU.fabricante = "Intel";&lt;br /&gt;/*o definir nuevas propiedades*/&lt;br /&gt;miCPU.precio = 120;&lt;br /&gt;/*y como ya hemos mencionado, establecer un objeto como propiedad de otro objeto*/&lt;br /&gt;miPC.cpu = miCPU;&lt;br /&gt;/*para acceder a una propiedad de un objeto que sea a su vez propiedad de otro objeto utilizamos también el operador punto*/&lt;br /&gt;var precio = miPC.miCPU.precio;&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109068816555986422?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109068816555986422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109068816555986422'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/javascript-objetos.html' title='Javascript: Objetos'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109066948799320974</id><published>2004-07-24T13:25:00.000+02:00</published><updated>2004-07-24T13:44:47.993+02:00</updated><title type='text'>document.all en Mozilla/Firefox</title><content type='html'>&lt;p&gt;Las proximas versiones de Mozilla y Firefox &lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=248549"&gt;soportarán&lt;/a&gt; la colección propietaria de &lt;acronym title="Internet Explorer"&gt;IE&lt;/acronym&gt; &lt;i&gt;document.all&lt;/i&gt;, el equivalente a la estándar &lt;i&gt;document.getElementById&lt;/i&gt;, lo que provocará que alguno de los sitios que no funcionaban con Firefox ahora si funcionen.&lt;/p&gt;&lt;p&gt;Sin embargo si se comprueba la presencia de la propiedad&lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;if (document.all)&lt;br /&gt;   alert("Existe la propiedad");&lt;/pre&gt;&lt;/blockquote&gt;&lt;p&gt;la comprobación devolverá false, es decir, se añade el soporte a document.all pero no es detectable, de forma que solo se utilizará si el desarrollador no fue lo bastante inteligente para comprobar antes si existía soporte para document.all en el navegador del usuario, dando por supuesto que el usuario utilizaba IE como navegador.&lt;/p&gt;&lt;p&gt;Esto es así porque si se comprobó si existía document.all, el código debería comprobar también si existe soporte para getElementById, de forma que se ejecutaría el código correspondiente al segundo y no se afectaría a los estándares.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109066948799320974?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109066948799320974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109066948799320974'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/documentall-en-mozillafirefox.html' title='document.all en Mozilla/Firefox'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109066690068964077</id><published>2004-07-24T12:59:00.000+02:00</published><updated>2004-07-24T13:01:40.690+02:00</updated><title type='text'>This Page Intentionally Left Blank</title><content type='html'>&lt;p&gt;&lt;a href="http://www.this-page-intentionally-left-blank.org/whythat.html"&gt;This Page Intentionally Left Blank&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109066690068964077?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109066690068964077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109066690068964077'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/this-page-intentionally-left-blank.html' title='This Page Intentionally Left Blank'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109066576472323341</id><published>2004-07-24T12:32:00.000+02:00</published><updated>2004-07-24T12:42:44.723+02:00</updated><title type='text'>Nuevas características en Thunderbird 0.8</title><content type='html'>&lt;p&gt;En &lt;a href="http://blog.codefront.net/archives/2004/07/24/new_features_in_mozilla_thunderbird_08.php"&gt;Redemption in a Blog&lt;/a&gt; publican hoy un review del nuevo Mozilla Thunderbird 0.8 que se espera para dentro de poco, con un repaso imagen a imagen de las nuevas características. Entre lo mas destacado tenemos:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Integración RSS y Atom (aún no se puede probar en las últimas compilaciones pero se supone que funcionará de manera similar a la extensión &lt;a href="http://forumzilla.mozdev.org/"&gt;Forumzilla&lt;/a&gt;, ya que la mayor parte del código está tomado de esta)&lt;li&gt;Las imagenes de los correos se bloquearán por defecto (tipo Gmail) de forma que no avises involuntariamente a los spammers de que tu cuenta de correo está activa&lt;li&gt;Cuando se añade una nueva cuenta POP3 ahora existe la posibilidad de tener un solo conjunto de carpetas para todas las cuentas&lt;li&gt;Se ha añadido una nueva opción para descargar el correo de todas las cuentas&lt;li&gt;Se ha modificado algo la barra de búsqueda. Ahora nos permite seleccionar en que campos se quiere buscar&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109066576472323341?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109066576472323341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109066576472323341'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/nuevas-caractersticas-en-thunderbird.html' title='Nuevas características en Thunderbird 0.8'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109060857110010906</id><published>2004-07-23T20:45:00.000+02:00</published><updated>2004-07-23T21:14:26.430+02:00</updated><title type='text'>Vacas del Universo</title><content type='html'>&lt;p&gt;La verdad es que no se porque estoy escribiendo un post para comentar una página en la que solo hay cuatro imagenes y nada mas. Pero me han encantado las imagenes y ya tengo una puesta como wallpaper. El sitio en cuestión es &lt;a href="http://www.cowsoftheuniverse.com/"&gt;Cows of the Universe&lt;/a&gt; (Vacas del Universo).&lt;/p&gt;&lt;p&gt;Tiene tan poco sentido como este post.&lt;/p&gt;&lt;blockquote&gt;The cows munch grass, they do this a lot, a simple life one might say.. but there is always the danger, NINJAS&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109060857110010906?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109060857110010906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109060857110010906'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/vacas-del-universo.html' title='Vacas del Universo'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109059745954826135</id><published>2004-07-23T17:27:00.000+02:00</published><updated>2004-07-23T17:47:25.696+02:00</updated><title type='text'>Bill Withers</title><content type='html'>&lt;img src="http://photos1.blogger.com/img/147/1178/640/Bill%2BWithers.jpg" align="right"&gt;&lt;p&gt;&lt;a href="http://www.billwithersmusic.com/index1.cfm"&gt;Bill Withers&lt;/a&gt; es uno de esos famosos desconocidos de la música, el tipo de artista del que todos conocemos alguna de sus canciones pero que al ver su nombre simplemente no los relacionas.&lt;/p&gt;&lt;p&gt;Withers es uno de los grandes de la música negra con éxitos como 'Ain't no Sunshine', su primer hit con el que ganó su primer gramy en 1971 y que ha sido versionado entre otros por gente como Sting, Michael Bolton o The Temptations y que ha sido incluida en películas como Notting hill o 'Just the Two of Us' por la que ganó un gramy en 1981 y fue nominado a otros tres por la misma canción ese año y que ha sido versionada entre otros por Will Smith.&lt;/p&gt;&lt;p&gt;Otras canciones recomendables de Bill Withers son 'Lean on Me', 'Use Me Up' o 'Lovely Day'.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109059745954826135?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109059745954826135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109059745954826135'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/bill-withers.html' title='Bill Withers'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109059058573829947</id><published>2004-07-23T15:43:00.000+02:00</published><updated>2004-07-23T15:49:45.736+02:00</updated><title type='text'>Y otra invitación de Gmail</title><content type='html'>&lt;p&gt;AlmaOscura de &lt;a href="http://www.sferazero.com/afterdusk/archivos/2004/07/invitaciones-de-gmail"&gt;AfterDusk &lt;/a&gt; comenta hoy la escasez de invitaciones de Gmail que se está dando ultimamente. Como yo soy mas chulo que nadie regalo una invitación al primero que pueda decirme como se llama el grupo del protagonista de la película 'School of Rock'. Y me refiero al grupo de rock que tiene en la vida real, no a como se llamaba el grupo de la película 8-)&lt;/p&gt;&lt;p&gt;Ala, poneos las pilas que según la ley de la oferta y la demanda ahora debería estar muy cotizada :P&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109059058573829947?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109059058573829947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109059058573829947'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/y-otra-invitacin-de-gmail.html' title='Y otra invitación de Gmail'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109058987855094566</id><published>2004-07-23T15:00:00.000+02:00</published><updated>2004-07-27T16:59:40.796+02:00</updated><title type='text'>Javascript: Incluyendo el código javascript en documentos html</title><content type='html'>&lt;p&gt;El código javascript puede ejecutarse en el pc del cliente o en el servidor. Hay dos formas de incluir un código Javascript en una página web de forma que el código se ejecute en el pc del cliente através de su navegador, embebido dentro de la propia página web o escribirlo en un archivo .js aparte e importarlo después. Usando la primera forma tendríamos un código parecido a este dentro de nuestro documento html:&lt;/p&gt;&lt;blockquote&gt;&amp;lt;script language="javascript" type="text/javascript"&gt;&lt;br /&gt;&amp;lt;!--&lt;br /&gt;&lt;br /&gt;&lt;i&gt;codigo javascript&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;// --&gt;&lt;br /&gt;&amp;lt;/script&gt;&lt;/blockquote&gt;&lt;p&gt;Como vemos el código javascript se incluye dentro de una etiqueta de html llamada script con atributos language, que define que lenguaje de script estamos utilizando (y también la versión si queremos, aunque no es aconsejable ya que puede dar problemas) y type, que define el tipo MIME. language y type tienen la misma función, identificar que tipo de script vamos a escribir, de forma que no es necesario escribir ambos. En principio si solo queremos escribir uno de ellos es recomendable utilizar type, ya que es el estándar según la W3C, aunque no está de mas escribir ambos por los navegadores antiguos.&lt;/p&gt;&lt;p&gt;Es aconsejable que el código javascript se incluya dentro de un comentario html (entre &amp;lt;!-- y --&gt;) de forma que los navegadores antiguos que no reconocen la etiqueta script no impriman el código javascript como texto de la página web. Además tenemos que añadir // que se utiliza como un comentario de una sola línea en javascript (para comentarios de varias líneas se utiliza /* &lt;i&gt;mi comentario&lt;/i&gt; */ como en Java o C++) antes del --&gt; ya que javascript reconoce &amp;lt;!-- como un comentario de una sola línea al igual que //, pero no ocurre así con --&gt;. Finalmente cerramos la etiqueta con &amp;lt;/script&gt;.&lt;/p&gt;&lt;p&gt;La otra forma de incluir el código javascript que comentamos, el de importar el archivo js tiene como ventajas la claridad al separar html y el código además de mejora en la rapidez de carga de la página, ya que el navegador normalmente añadirá el archivo js a la caché. Para incluir el código de esta forma utilizamos el atributo src (de source, fuente) de la etiqueta script con el que indicamos la url del archivo javascript:&lt;/p&gt;&lt;blockquote&gt;&amp;lt;script src="http://zootropo.blogspot.com/miarchivo.js"&gt;&lt;br /&gt;&amp;lt;/script&gt;&lt;/blockquote&gt;&lt;p&gt;Una última cosa a comentar al respecto es el uso de la etiqueta &amp;lt;noscript&gt; que incluye contenido que se mostrará a los navegadores que no soporten javascript o en los que se halla desactivado javascript.&lt;/p&gt;&lt;blockquote&gt;&amp;lt;script&gt;&lt;br /&gt;&lt;i&gt;codigo javascript&lt;/i&gt;&lt;br /&gt;&amp;lt;/script&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;noscript&gt;&lt;br /&gt;Su navegador no soporta Javascript&lt;br /&gt;&amp;lt;/noscript&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109058987855094566?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109058987855094566'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109058987855094566'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/javascript-incluyendo-el-cdigo.html' title='Javascript: Incluyendo el código javascript en documentos html'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109051626579288393</id><published>2004-07-22T18:41:00.000+02:00</published><updated>2004-07-22T19:11:05.793+02:00</updated><title type='text'>Javascript: Control de Flujo</title><content type='html'>&lt;b&gt;Condicionales&lt;/b&gt;&lt;blockquote&gt;&lt;pre&gt;if (&lt;i&gt;condicion&lt;/i&gt;) {&lt;br /&gt;   &lt;i&gt;expr1&lt;/i&gt;;&lt;br /&gt;}&lt;br /&gt;else {&lt;br /&gt;   &lt;i&gt;expr2&lt;/i&gt;;&lt;br /&gt;}&lt;/pre&gt;&lt;/blockquote&gt;&lt;p&gt;En el caso de que &lt;i&gt;condición&lt;/i&gt; sea cierto se evalua &lt;i&gt;expr1&lt;/i&gt;, en caso contrario &lt;i&gt;expr2&lt;/i&gt;.&lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;switch (expresion){&lt;br /&gt;   case valor1 :&lt;br /&gt;      expr1;&lt;br /&gt;      break;&lt;br /&gt;   case valor2 :&lt;br /&gt;      expr2;&lt;br /&gt;      break;&lt;br /&gt;   ...&lt;br /&gt;   default : exprN;&lt;br /&gt;}&lt;/pre&gt;&lt;/blockquote&gt;&lt;p&gt;Si &lt;i&gt;expresión&lt;/i&gt; evalua a &lt;i&gt;valor1&lt;/i&gt; se ejecuta &lt;i&gt;expr1&lt;/i&gt;, si evalua a &lt;i&gt;valor2&lt;/i&gt; se evalua &lt;i&gt;expr2&lt;/i&gt;,... &lt;i&gt;default&lt;/i&gt; se ejecuta si no evalúa a ninguno de los demás. break hace que salgamos del switch, es similar en su uso a Java o C++. Además tenemos tamién el continue de Java que hace que pasemos a la siguiente iteracción del bucle.&lt;/p&gt;&lt;b&gt;Bucles&lt;/b&gt;&lt;pre&gt;&lt;blockquote&gt;for (&lt;i&gt;inicializacion&lt;/i&gt;; &lt;i&gt;condicion&lt;/i&gt;; &lt;i&gt;incremento&lt;/i&gt;) {&lt;br /&gt;   exprs&lt;br /&gt;}&lt;/pre&gt;&lt;/blockquote&gt;&lt;p&gt;Antes de comenzar el bucle se ejecuta la expresión definida en &lt;i&gt;inicializacion&lt;/i&gt; (normalmente la definición de una variable que será el índice del bucle). Mientras se cumpla &lt;i&gt;condicion&lt;/i&gt; se evalúan las expresiones &lt;i&gt;exprs&lt;/i&gt; y al final del bucle se ejecuta &lt;i&gt;incremento&lt;/i&gt;.&lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;while (condicion) {&lt;br /&gt;   exprs&lt;br /&gt;}&lt;/pre&gt;&lt;/blockquote&gt;&lt;p&gt;Mientras &lt;i&gt;condicion&lt;/i&gt; sea cierta se evalúan las expresiones &lt;i&gt;exprs&lt;/i&gt;.&lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;do {&lt;br /&gt;   exprs&lt;br /&gt;} while (condicion);&lt;/pre&gt;&lt;/blockquote&gt;&lt;p&gt;Similar a while pero como la condición se comprueba al final del bucle &lt;i&gt;exprs&lt;/i&gt; siempre se ejecutarán al menos una vez.&lt;/p&gt;&lt;blockquote&gt;&lt;pre&gt;for (&lt;i&gt;variable&lt;/i&gt; in &lt;i&gt;objeto&lt;/i&gt;) {&lt;br /&gt;   exprs&lt;br /&gt;}&lt;/pre&gt;&lt;/blockquote&gt;&lt;p&gt;En cada paso del bucle se asigna como valor a &lt;i&gt;variable&lt;/i&gt; la siguiente propiedad de &lt;i&gt;objeto&lt;/i&gt;. Por ejemplo si &lt;i&gt;objeto&lt;/i&gt; fuera una matriz con los días de la semana &lt;i&gt;variable&lt;/i&gt; valdría primero lunes, luego martes,... Es similar al for-in de Perl.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109051626579288393?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109051626579288393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109051626579288393'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/javascript-control-de-flujo.html' title='Javascript: Control de Flujo'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109051309388468028</id><published>2004-07-22T17:36:00.000+02:00</published><updated>2004-07-22T18:18:13.883+02:00</updated><title type='text'>Javascript: Operadores Básicos</title><content type='html'>&lt;p&gt;Los operadores en Javascript son similares a los de sus primos mayores Java o C++, por lo tanto solo los comentaré de pasada.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Operadores Aritméticos&lt;/b&gt;&lt;/p&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;Operador&lt;/td&gt;&lt;td&gt;Significado&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;+&lt;/td&gt;&lt;td&gt;Suma&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;Resta&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;*&lt;/td&gt;&lt;td&gt;Multiplicación&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;/&lt;/td&gt;&lt;td&gt;División&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%&lt;/td&gt;&lt;td&gt;Módulo&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;++&lt;/td&gt;&lt;td&gt;Incremento&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;--&lt;/td&gt;&lt;td&gt;Decremento&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;-&lt;/td&gt;&lt;td&gt;Negación (unario)&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;Todos los operadores son binarios (se aplican sobre dos argumentos) menos los tres últimos. La operación de módulo &lt;i&gt;a % b&lt;/i&gt; devolvería el resto resultante de dividir a entre b. El incremento y decremento suman o restan la unidad al operando sobre el que se aplica y tienen diferente efecto dependiendo de si se coloca antes o después del operando, tal como ocurre en Java o C++, en el caso de que se coloque ante del operando primero se sumará/restará la unidad y luego se evaluará la expresión y en caso de que se coloque después del operando ocurrirá al reves.&lt;/p&gt;&lt;p&gt;Además de estos operadores existen otras funciones del objeto Math que definen funciones matemáticas clásicas como el seno, el coseno o la raíz cuadrada.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Operadores Relacionales&lt;/b&gt;&lt;/p&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;Operador&lt;/td&gt;&lt;td&gt;Significado&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;==&lt;/td&gt;&lt;td&gt;Devuelve true si los dos operandos son iguales (si son de distinto tipo se hace una conversión primero)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;===&lt;/td&gt;&lt;td&gt;Devuelve true si los dos operandos son iguales &lt;b&gt;y son del mismo tipo&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;!=&lt;/td&gt;&lt;td&gt;Devuelve false si los dos operandos son iguales (si son de distinto tipo se hace una conversión primero)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;!==&lt;/td&gt;&lt;td&gt;Devuelve true si los dos operandos son iguales y son del mismo tipo&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&gt;&lt;/td&gt;&lt;td&gt;Mayor que&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&gt;=&lt;/td&gt;&lt;td&gt;Mayor o igual que&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;&lt;/td&gt;&lt;td&gt;Menor que&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;=&lt;/td&gt;&lt;td&gt;Menor o igual que&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;Aquí hay que notar que las comparaciones de igualdad entre objetos se realizan por referencia, es decir, se compara si los dos objetos son exactamente el mismo objeto (si tienen la misma dirección en memoria) no si representan el mismo valor.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Operadores Condicionales&lt;/b&gt;&lt;/p&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;Operador&lt;/td&gt;&lt;td&gt;Significado&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&amp;&amp;&lt;/td&gt;&lt;td&gt;And (devuelve true si ambos operandos evalúan a true)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;||&lt;/td&gt;&lt;td&gt;Or (Devuelve true si alguno de los operandos evalúa a true)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;!&lt;/td&gt;&lt;td&gt;Not (unario, devuelve true si la expresión evalúa a false)&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;&lt;b&gt;Operadores a nivel de bit&lt;/b&gt;&lt;/p&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;Operador&lt;/td&gt;&lt;td&gt;Significado&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&amp;&lt;/td&gt;&lt;td&gt;And&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;|&lt;/td&gt;&lt;td&gt;Or&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;^&lt;/td&gt;&lt;td&gt;Xor&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;~&lt;/td&gt;&lt;td&gt;Not&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;&lt;&lt;/td&gt;&lt;td&gt;Desplazamiento a la izquierda&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&gt;&gt;&lt;/td&gt;&lt;td&gt;Desplazamiento a la derecha&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&gt;&gt;&gt;&lt;/td&gt;&lt;td&gt;Desplazamiento a la derecha (sin signo)&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;Los operadores de desplazamiento desplazan a derecha o izquierda el número de bits indicado por el segundo operando&lt;/p&gt;&lt;p&gt;Además de todos estos operadores tenemos los operadores de asignación, que realizan una asignación y una operación con un solo operador. Por ejemplo el operador &lt;i&gt;+=&lt;/i&gt; asigna como valor al primer operando el valor que se obtiene de sumar el primer y el segundo operando, entonces la expresión &lt;i&gt;a += b;&lt;/i&gt; sería equivalente a &lt;i&gt;a = a + b;&lt;/i&gt;. Existe un operador de asignación para cada uno de los operadores aritméticos y operadores a nivel de bit.&lt;/p&gt;&lt;p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109051309388468028?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109051309388468028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109051309388468028'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/javascript-operadores-bsicos.html' title='Javascript: Operadores Básicos'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109050628237490090</id><published>2004-07-22T15:55:00.000+02:00</published><updated>2004-07-22T16:24:42.376+02:00</updated><title type='text'>Javascript: Variables, Constantes y Tipos de Datos</title><content type='html'>&lt;p&gt;Tenemos como tipos de datos básicos los números (como 3 o 15.57), las cadenas (como "Hola Mundo") y los valores booleanos (true, cierto o false, falso) además de el valor especial null, que indica un valor nulo y undefined, que indica que no se definió ningún valor para la variable.&lt;/p&gt;&lt;p&gt;Además de los tipos de datos básicos tenemos las matrices, matrices asociativas (hashes, se accede a una posición de la matriz atraves de una cadena llamada su clave en lugar de un número índice que indica su posición en la matriz) y las funciones y los objetos, que funcionan como una especie de matrices asociativas.&lt;/p&gt;&lt;p&gt;En Javascript, al igual que ocurre en otros lenguajes como Lisp, la definición de los tipos de los datos se hace de forma dinámica, es decir, una variable no está limitada a contener el tipo de dato que se indicó al declarar la variable, sino que puede contener primero un número y mas tarde pasar a contener una cadena de texto, por ejemplo. De hecho en Javascript al declarar las variables (con la palabra clave &lt;i&gt;var&lt;/i&gt;) no se define un tipo para esa variable. Por ejemplo en Java o C++ para declarar e inicializar variables haríamos algo parecido a esto:&lt;/p&gt;&lt;blockquote&gt;int miNumero=7;&lt;br /&gt;String miCadena="Hola Mundo";&lt;/blockquote&gt;&lt;p&gt;es decir, indicamos el tipo de la variable, el nombre y su valor. Sin embargo en Javascript se usaría:&lt;/p&gt;&lt;blockquote&gt;var miVariable=7;&lt;br /&gt;miVariable="Hola Mundo";&lt;/blockquote&gt;&lt;p&gt;indicando simplemente el nombre y el valor de inicio, sin necesidad de especificar el tipo de la variable. O incluso podríamos prescindir de declarar la variable, ya que si al intentar asignar un valor a una variable Javascript comprueba que esta no ha sido declarada la declara automáticamente:&lt;/p&gt;&lt;blockquote&gt;miNumero=7;&lt;br /&gt;miCadena="Hola Mundo";&lt;/blockquote&gt;&lt;p&gt;Por último, en Javascript también se pueden declarar constantes como en C++ o Java mediante la palabra clave const&lt;/p&gt;&lt;blockquote&gt;const pi = 3.14159;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109050628237490090?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109050628237490090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109050628237490090'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/javascript-variables-constantes-y.html' title='Javascript: Variables, Constantes y Tipos de Datos'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109050403973547226</id><published>2004-07-22T15:32:00.000+02:00</published><updated>2004-07-22T15:47:19.736+02:00</updated><title type='text'>¿Qué es Javascript?</title><content type='html'>&lt;p&gt;Javascript es un lenguaje de scripts multiplataforma creado por Netscape actualmente en su versión 1.5, totalmente compatible con &lt;a href="http://www.ecma-international.org/publications/files/ecma-st/ECMA-262.pdf"&gt;ECMA-262, Edición 3&lt;/a&gt;. Contrariamente a lo que nos podría hacer suponer su nombre, no tiene nada que ver con Java, o al menos tiene tanto que ver como lo tiene por ejemplo con C++, ya que la sintaxis de los tres es parecida y tienen en común cosas como los bucles o estructuras de control. De hecho en principio el nuevo lenguaje se bautizó como Livescript pero se cambió su nombre a Javascript &lt;a href="http://wp.netscape.com/newsref/pr/newsrelease67.html"&gt;por cuestiones de marketing&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Javascript permite tanto programación imperativa como funcional, ya que incluye características de los lenguajes funcionales como las &lt;a href="http://w3future.com/html/stories/hop.xml"&gt;funciones de orden superior&lt;/a&gt; (high order programming, el uso de funciones como si de otro valor se tratara, posibilitando el pasar funciones como argumento a otras funciones o devolver funciones como valor de retorno) o las funciones lambda (funciones anónimas), por lo tanto está tan próximo a Java como lo está de leguajes funcionales como Lisp o Scheme. Así mismo permite tanto programación procedural como orientada a objetos, aunque no incluye características de lenguajes mas puros en su orientación a objetos como Java o Smalltalk como pueden ser las clases o la herencia.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109050403973547226?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109050403973547226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109050403973547226'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/qu-es-javascript.html' title='¿Qué es Javascript?'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109049770800702145</id><published>2004-07-22T13:41:00.000+02:00</published><updated>2004-07-22T14:01:48.006+02:00</updated><title type='text'>Firefox Rama 21 Julio 2004</title><content type='html'>&lt;ul class="correcciones"&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=238331" target="_blank" class="postlink"&gt;238331&lt;/a&gt; El tooltip del botón Clean Up debería decir "and" (y), no "or" (o) [Todos]&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=246500" target="_blank" class="postlink"&gt;246500&lt;/a&gt; El tooltip del botón Use Theme del gestor de temas acaba con un punto a diferencia de los demas tooltips [Windows]&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=251248" target="_blank" class="postlink"&gt;251248&lt;/a&gt; La entrada de menú "New Message..." no muestra el atajo asociado, Ctrl+M [Windows]&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=251258" target="_blank" class="postlink"&gt;251258&lt;/a&gt; Tools-&gt;Read Mail no muestra el contador de mensajes no leidos cuando el icono de correo no esta en la barra de herramientas [Windows]&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=251767" target="_blank" class="postlink"&gt;251767&lt;/a&gt; El atajo Ctrl+Shift+I para el DOM Inspector no se muestra en el menú [Windows]&lt;/ul&gt;&lt;ul class="errores"&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=76525" target="_blank" class="postlink"&gt;76525 &lt;/a&gt;El árbol en el diálogo de marcadores no debería mostrar el icono de que es expandible para las carpetas vacías [Todos]&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=237766" target="_blank" class="postlink"&gt;237766 &lt;/a&gt;la imagen de fondo se pinta dos veces al quitar el puntero de un enlace.[Windows]&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=246754" target="_blank" class="postlink"&gt;246754 &lt;/a&gt;Los enlaces que deberían instalar un tema automaticamente   no funcionan al usar redirecciones HTTP.&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=247960" target="_blank" class="postlink"&gt;247960 &lt;/a&gt;Los dos paneles del administrador de marcadores no interactúan [Windows].(parche revisándose)&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=249004" target="_blank" class="postlink"&gt;249004 &lt;/a&gt;Sobreescribir el certificado incorporado en Firefox conduce al error -8182 (DoS), explotable via correos electrónicos [Todos] (Parche en super revisión)&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=134260" target="_blank" class="postlink"&gt;134260 &lt;/a&gt;[meta] Cambio de tema dinámico (cambiar skin) [Todos]&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=225281" target="_blank" class="postlink"&gt;225281 &lt;/a&gt;en la ventana del instalador que informa de que se completó la instalación el fondo de "Install Complete" debería ser blanco, como el resto del marco&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=245327" target="_blank" class="postlink"&gt;245327 &lt;/a&gt;cambiar de tema hace que se borren todas las pestañas, se deshabilite su historial y no se puedan cerrar estas pestañas [Todos].(parche listo)&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=246078" target="_blank" class="postlink"&gt;246078 &lt;/a&gt;URLs de otras aplicaciones hacen que se abran dos ventanas de Firefox o una venatana y un diálogo de error [Windows].(ver comentario &lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=246078#c26" target="_blank" class="postlink"&gt;#26&lt;/a&gt;)&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=248423" target="_blank" class="postlink"&gt;248423 &lt;/a&gt;config.trim_on_minimize ya no funciona [Windows].(parche en revisión)&lt;br /&gt;&lt;li&gt;&lt;a href=""&gt;250411&lt;/a&gt; La barra de búsqueda aparece cuando se utiliza Midas, haciendo que no se pueda utilizar la barra espaciadora y la tecla de borrado [Win]&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=251421" target="_blank" class="postlink"&gt;251421 &lt;/a&gt;El nuevo control de popups no funciona correctamente [Windows]&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=251802"&gt;251802&lt;/a&gt; Refresh Livemark no funciona desde la barra de herramientas de marcadores o desde el menú de marcadores [Todos]&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=251891" target="_blank" class="postlink"&gt;251891 &lt;/a&gt;Desde que se implementó la barra de búsqueda, FAYT no funciona con caracteres internacionales (no ASCII) [Todos]&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=251988"&gt;251988&lt;/a&gt; El botón RSS no funciona en una página que contenga un RSS si la última página que visité no tenía RSS e hice click de todas formas sobre "page has no feeds for Livemark" [Windows]&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=252288"&gt;252288&lt;/a&gt; los favicons de los marcadores aún no funcionan [Windows]&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=252412"&gt;252412&lt;/a&gt; un livemark en una carpeta de marcadores hace que la carpeta se colapse la primera vez que se abre [Windows] &lt;br /&gt;&lt;/ul&gt;&lt;img src="http://photos1.blogger.com/img/147/1178/640/windows.jpg"&gt;&lt;a href="http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2004-07-21-09-0.9/Firefox-win32.zip"&gt;Version Windows&lt;/a&gt; &lt;a href="http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2004-07-21-09-0.9/FirefoxSetup.exe"&gt;Instalador de Windows&lt;/a&gt;&lt;br /&gt;&lt;img src="http://photos1.blogger.com/img/147/1178/640/linux.jpg"&gt;&lt;a href="http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2004-07-21-11-0.9/firefox-i686-linux-gtk2+xft.tar.gz"&gt;Versión Linux&lt;/a&gt; &lt;a href="http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2004-07-21-11-0.9/firefox-i686-linux-gtk2+xft-installer.tar.gz"&gt;Instalador de Linux&lt;/a&gt;&lt;br /&gt;&lt;img src="http://photos1.blogger.com/img/147/1178/640/mac.jpg"&gt;Versión Mac no disponible&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109049770800702145?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109049770800702145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109049770800702145'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/firefox-rama-21-julio-2004.html' title='Firefox Rama 21 Julio 2004'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109049532109599678</id><published>2004-07-22T13:08:00.000+02:00</published><updated>2004-07-22T13:22:01.096+02:00</updated><title type='text'>Nuevo ClearType en Windows Longhorn</title><content type='html'>&lt;p&gt;Cuando la gente de Microsoft hace las cosas bien también se admite. &lt;a href="http://www.interact-sw.co.uk/iangblog/2004/07/22/longhorncleartype"&gt;Ian Griffiths&lt;/a&gt; habla hoy sobre la nueva implementación de Clear Type en Windows Longhorn comparada con la implementación en Windows XP sobre el que ha mejorado bastante.&lt;/p&gt;&lt;p&gt;El problema es que ClearType no produce ninguna mejora en el texto verticalmente, sino que incrementa la resolución horizontal en un factor de 3. En la última compilación de Longhorn, sin embargo, Microsoft añadide además antialiasing, que  disimula los bordes pronunciados que tenían los textos con ClearType en XP.&lt;/p&gt;&lt;p&gt;Podeis ver un ejemplo en &lt;a href="http://www.interact-sw.co.uk/graphics/ClearTypeEvolution.png"&gt;esta imagen&lt;/a&gt; del blog de Ian Griffiths, en la que se muestra una letra O con la fuente Arial con el ClearType de XP, con una implementación alternativa ideada por Ian llamada IanType y en el nuevo Longhorn. En la imagen correspondiente a XP se ven claramente bordes de sierra en la parte superior e inferior lo cual no ocurre en Longhorn.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109049532109599678?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109049532109599678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109049532109599678'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/nuevo-cleartype-en-windows-longhorn.html' title='Nuevo ClearType en Windows Longhorn'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109049381060354961</id><published>2004-07-22T12:46:00.000+02:00</published><updated>2004-07-22T12:56:50.603+02:00</updated><title type='text'>Secure Shell Filesystem (Shfs)</title><content type='html'>&lt;p&gt;Si usas Linux como sistema operativo y utilizas ssh para acceder a tus archivos en otros PCs puede resultarte util &lt;a href="http://shfs.sourceforge.net/"&gt;este programa&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Shfs es un módulo para el kernel de Linux que nos permite montar el sistema de archivos remoto vía ssh como si fueran archivos locales.&lt;/p&gt;&lt;p&gt;Puedes compilar tu mismo el &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=72997&amp;package_id=93905"&gt;código fuente&lt;/a&gt; o utilizar los &lt;a href="http://www.aaltonen.us/archives/2004/07/download_secure.html"&gt;rpm&lt;/a&gt; creados por &lt;a href="http://www.aaltonen.us/"&gt;Oliver Aaltonen&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109049381060354961?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109049381060354961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109049381060354961'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/secure-shell-filesystem-shfs.html' title='Secure Shell Filesystem (Shfs)'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109043294663958694</id><published>2004-07-21T19:52:00.000+02:00</published><updated>2004-07-21T20:08:17.256+02:00</updated><title type='text'>Stumble Upon</title><content type='html'>&lt;p&gt;Entre las muchas formas de matar el tiempo cuando te aburres está la de la busca y captura de sitios web interesantes utilizando &lt;a href="http://www.stumbleupon.com/"&gt;Stumble Upon&lt;/a&gt;, una barra que se añade al navegador y con la que se puede puntuar sitios web y encontrar sitios que le gustaron a gente con tus mismos intereses.&lt;/p&gt;&lt;p&gt;La idea no es nueva, y Stumble Upon tampoco (llevan funcionando sobre un par de años) pero se me ha ocurrido comentarlo en un momento de aburrimiento por si alguien no lo conocía.&lt;/p&gt;&lt;p&gt;Es entretenido para pasar una tarde si tu novia y/o amig@s tienen cosas mejores que hacer que perder el tiempo contigo (joder que triste, ¿no? ¿has considerado el suicidio?) y no echan nada en la televisión. Además la gente de Stumble Upon se preocupó de crear una versión para Firefox/Mozilla/Netscape, no como la gente de Google con su Google Toolbar ¬¬.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109043294663958694?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109043294663958694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109043294663958694'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/stumble-upon.html' title='Stumble Upon'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109042569279730397</id><published>2004-07-21T17:57:00.000+02:00</published><updated>2004-07-21T18:01:32.796+02:00</updated><title type='text'>Web de la semana: La Zona Oscura</title><content type='html'>La Zona Oscura&lt;br /&gt;&lt;a href="http://www.lazonaoscura.com/lzo1.0/"&gt;&lt;img src="http://photos1.blogger.com/img/147/1178/640/La%20zona%20oscura.jpg" alt="La Zona Oscura"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109042569279730397?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109042569279730397'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109042569279730397'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/web-de-la-semana-la-zona-oscura.html' title='Web de la semana: La Zona Oscura'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109041378071272215</id><published>2004-07-21T14:34:00.000+02:00</published><updated>2004-07-21T14:43:00.713+02:00</updated><title type='text'>El Service Pack 2 de Microsoft limitará el número máximo de conexiones</title><content type='html'>&lt;p&gt;La última idea brillante de Bill Gates y sus chicos consiste en que el Service Pack 2 para Windows XP limitará el número máximo de conexiones por segundo, según ellos para reducir las posibilidades de distribución de los virus.&lt;/p&gt;&lt;p&gt;Según Microsoft, están trabajando para que esta nueva característica no interfiera con el funcionamiento normal de aplicaciones legítimas, pero por ahora la gente con el SP2 instalado tiene problemas al utilizar programas del tipo eMule que utiliza multitud de conexiones para buscar nuevas fuentes. Habrá que ver que considera esta gente aplicaciones legítimas, y si utilizarán esto para evitar la distribución de los virus o tamién contra los programas P2P 8-)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109041378071272215?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109041378071272215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109041378071272215'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/el-service-pack-2-de-microsoft-limitar.html' title='El Service Pack 2 de Microsoft limitará el número máximo de conexiones'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109040932881627944</id><published>2004-07-21T13:08:00.000+02:00</published><updated>2004-07-21T13:28:48.816+02:00</updated><title type='text'>Firefox Compilación de Rama 20 Julio 2004</title><content type='html'>&lt;ul class="correcciones"&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=243931"&gt;243931&lt;/a&gt; compilación GTK2 en AIX: el cursor no se sitúa en la posición correcta al insertar texto RTL (de idiomas en que se escribe de derecha a izquierda) en un texto LTR (idiomas en los que se escribe de izquierda a derecha) [AIX]&lt;/li&gt;&lt;/ul&gt;&lt;ul class="errores"&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=76525" target="_blank" class="postlink"&gt;76525 &lt;/a&gt;El árbol en el diálogo de marcadores no debería mostrar el icono de que es expandible para las carpetas vacías [Todos]&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=237766" target="_blank" class="postlink"&gt;237766 &lt;/a&gt;la imagen de fondo se pinta dos veces al quitar el puntero de un enlace.[Windows]&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=246754" target="_blank" class="postlink"&gt;246754 &lt;/a&gt;Los enlaces que deberían instalar un tema automaticamente   no funcionan al usar redirecciones HTTP.&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=247960" target="_blank" class="postlink"&gt;247960 &lt;/a&gt;Los dos paneles del administrador de marcadores no interactúan [Windows].(parche revisándose)&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=249004" target="_blank" class="postlink"&gt;249004 &lt;/a&gt;Sobreescribir el certificado incorporado en Firefox conduce al error -8182 (DoS), explotable via correos electrónicos [Todos] (Parche revisándose)&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=134260" target="_blank" class="postlink"&gt;134260 &lt;/a&gt;[meta] Cambio de tema dinámico (cambiar skin) [Todos]&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=225281" target="_blank" class="postlink"&gt;225281 &lt;/a&gt;en la ventana del instalador que informa de que se completó la instalación el fondo de "Install Complete" debería ser blanco, como el resto del marco&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=245327" target="_blank" class="postlink"&gt;245327 &lt;/a&gt;cambiar de tema hace que se borren todas las pestañas, se deshabilite su historial y no se puedan cerrar estas pestañas [Todos].(parche listo)&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=246078" target="_blank" class="postlink"&gt;246078 &lt;/a&gt;URLs de otras aplicaciones hacen que se abran dos ventanas de Firefox o una venatana y un diálogo de error [Windows].(ver comentario &lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=246078#c26" target="_blank" class="postlink"&gt;#26&lt;/a&gt;)&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=248423" target="_blank" class="postlink"&gt;248423 &lt;/a&gt;config.trim_on_minimize ya no funciona [Windows].(parche en revisión)&lt;br /&gt;&lt;li&gt;&lt;a href=""&gt;250411&lt;/a&gt; La barra de búsqueda aparece cuando se utiliza Midas, haciendo que no se pueda utilizar la barra espaciadora y la tecla de borrado [Win]&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=251421" target="_blank" class="postlink"&gt;251421 &lt;/a&gt;El nuevo control de popups no funciona correctamente [Windows]&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=251891" target="_blank" class="postlink"&gt;251891 &lt;/a&gt;Desde que se implementó la barra de búsqueda, FAYT no funciona con caracteres internacionales (no ASCII) [Todos]&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;img src="http://photos1.blogger.com/img/147/1178/640/windows.jpg"&gt;&lt;a href="http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2004-07-20-11-0.9/Firefox-win32.zip"&gt;Version Zip Windows&lt;/a&gt; &lt;a href="http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2004-07-20-11-0.9/FirefoxSetup.exe"&gt;Instalador de Windows&lt;/a&gt;&lt;br /&gt;&lt;img src="http://photos1.blogger.com/img/147/1178/640/linux.jpg"&gt;&lt;a href="http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2004-07-20-13-0.9/firefox-i686-linux-gtk2+xft.tar.gz"&gt;Versión Linux&lt;/a&gt;&lt;br /&gt;&lt;img src="http://photos1.blogger.com/img/147/1178/640/mac.jpg"&gt;&lt;a href="http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2004-07-20-10-0.9/Firefox-mac.dmg.gz"&gt;Versión Mac&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109040932881627944?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109040932881627944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109040932881627944'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/firefox-compilacin-de-rama-20-julio.html' title='Firefox Compilación de Rama 20 Julio 2004'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109032876678236684</id><published>2004-07-20T14:09:00.000+02:00</published><updated>2004-07-20T15:06:06.783+02:00</updated><title type='text'>Firefox Rama 19 Julio</title><content type='html'>&lt;ul class="correcciones"&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=229503" target="_blank" class="postlink"&gt;229503 &lt;/a&gt;no se pueden cambiar las opciones de auto detección en el menú view-&gt;character encoding al examinar el código fuente de una página [Windows]&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=250104" target="_blank" class="postlink"&gt;250104 &lt;/a&gt;Actualizada la documentación de ayuda para Firefox 1.0 [Windows]&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=251165" target="_blank" class="postlink"&gt;251165 &lt;/a&gt;La tecla F1 en Windows/*nix, y la tecla de ayuda de Mac ahora muestran la ayuda de Firefox al ser pulsadas [Todos]&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=251846" target="_blank" class="postlink"&gt;251846 &lt;/a&gt;Arreglados About:, Help-&gt;About y Help-&gt;Release Notes que muestran información sobre la versión y el cuadro de diálogo Acerca de [Todos]&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=251906" target="_blank" class="postlink"&gt;251906 &lt;/a&gt;&lt;span style="font-weight: bold"&gt;Arreglado el error en el instalador de Windows &lt;i&gt;Error occurred during installation - US Region Pack: -208 INVALID_ARGUMENTS&lt;/i&gt; [Windows]&lt;/span&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=252063" target="_blank" class="postlink"&gt;252063 &lt;/a&gt;No se puede iniciar Firefox [Todos]&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=252006" target="_blank" class="postlink"&gt;252006 &lt;/a&gt;Si la url del favicon de una página cambia no se muestra la imagen del favicon, ni tan siquiera la imagen por defecto [Linux]&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=252077"&gt;252077 &lt;/a&gt;Arreglado el error introducido al corregir el bug &lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=240845"&gt;240485&lt;/a&gt; [Todos]&lt;/ul&gt;&lt;ul class="errores"&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=76525" target="_blank" class="postlink"&gt;76525 &lt;/a&gt;El árbol en el diálogo de marcadores no debería mostrar el icono de que es expandible para las carpetas vacías [Todos]&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=237766" target="_blank" class="postlink"&gt;237766 &lt;/a&gt;la imagen de fondo se pinta dos veces al quitar el puntero de un enlace.[Windows]&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=246754" target="_blank" class="postlink"&gt;246754 &lt;/a&gt;Los enlaces que deberían instalar un tema automaticamente   no funcionan al usar redirecciones HTTP.&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=247960" target="_blank" class="postlink"&gt;247960 &lt;/a&gt;Los dos paneles del administrador de marcadores no interactúan [Windows].(parche revisándose)&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=249004" target="_blank" class="postlink"&gt;249004 &lt;/a&gt;Sobreescribir el certificado incorporado en Firefox conduce al error -8182 (DoS), explotable via correos electrónicos [Todos] (Parche revisándose)&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=134260" target="_blank" class="postlink"&gt;134260 &lt;/a&gt;[meta] Cambio de tema dinámico (cambiar skin) [Todos]&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=225281" target="_blank" class="postlink"&gt;225281 &lt;/a&gt;en la ventana del instalador que informa de que se completó la instalación el fondo de "Install Complete" debería ser blanco, como el resto del marco&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=245327" target="_blank" class="postlink"&gt;245327 &lt;/a&gt;cambiar de tema hace que se borren todas las pestañas, se deshabilite su historial y no se puedan cerrar estas pestañas [Todos].(parche listo)&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=246078" target="_blank" class="postlink"&gt;246078 &lt;/a&gt;URLs de otras aplicaciones hacen que se abran dos ventanas de Firefox o una venatana y un diálogo de error [Windows].(ver comentario &lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=246078#c26" target="_blank" class="postlink"&gt;#26&lt;/a&gt;)&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=248423" target="_blank" class="postlink"&gt;248423 &lt;/a&gt;config.trim_on_minimize ya no funciona [Windows].(parche en revisión)&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=251421" target="_blank" class="postlink"&gt;251421 &lt;/a&gt;El nuevo control de popups no funciona correctamente [Windows]&lt;br /&gt;&lt;li&gt;&lt;a href="http://bugzilla.mozilla.org/show_bug.cgi?id=251891" target="_blank" class="postlink"&gt;251891 &lt;/a&gt;Desde que se implementó la barra de búsqueda, FAYT no funciona con caracteres internacionales (no ASCII) [Todos]&lt;br /&gt;&lt;/ul&gt;&lt;a href="http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2004-07-19-10-0.9/Firefox-win32.zip"&gt;Version  Zip Windows&lt;/a&gt; &lt;a href="http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2004-07-19-10-0.9/FirefoxSetup.exe"&gt;Instalador de Windows&lt;/a&gt;&lt;br /&gt;Versión Linux no disponible&lt;br /&gt;&lt;a href="http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2004-07-19-10-0.9/Firefox-mac.dmg.gz"&gt;Versión Mac&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109032876678236684?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109032876678236684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109032876678236684'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/firefox-rama-19-julio.html' title='Firefox Rama 19 Julio'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109032333430720090</id><published>2004-07-20T13:13:00.000+02:00</published><updated>2004-07-20T13:35:34.306+02:00</updated><title type='text'>Como asociar programas de correo diferentes para usuarios diferentes en XP</title><content type='html'>&lt;p&gt;Seguramente a mas de uno le habrá pasado el que dos usuarios del mismo PC quieran tener como programa de correo por defecto dos programas diferentes. El problema es que en XP esto no se puede hacer ya que la opción de programa de correo por defecto no esta asociado con el usuario, solo puede existir un programa por defecto para todos los usuarios. Aunque se puede cambiar el enlace de correo electrónico del menú de inicio según el usuario, no se puede asociar programas de correo diferentes para usuarios diferentes, sino que si un usuario con privilegios de administrador establece un programa de correo como el programa por defecto este se asociará a todos los usuarios. Asi mismo, si el usuario no tiene privilegios de administrador el cambio simplemente no tendrá lugar. Esto se describe en el artículo &lt;a href="http://support.microsoft.com/default.aspx?scid=kb;ES-ES;315240"&gt;315240&lt;/a&gt; de la Microsoft Knowledge Base.&lt;/p&gt;&lt;p&gt;Para resolver este problema se puede utilizar una aplicación llamada &lt;a href="http://www.mvps.org/sramesh2k/utils/DefaultMail.zip"&gt;DefaultMail&lt;/a&gt; que solo ocupa 11KB y del que podeis ver una imagen &lt;a href="http://www.mvps.org/sramesh2k/images/defaultmail.JPG"&gt;aquí&lt;/a&gt; y que hará que se abra el programa especificado al pulsar sobre enlaces mailto, cuando lo indiquen programas que usen llamadas MAPI (Messaging Application Programming Interface) o al pulsar sobre Enviar Página por Correo Electrónico en Internet Explorer.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109032333430720090?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109032333430720090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109032333430720090'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/como-asociar-programas-de-correo.html' title='Como asociar programas de correo diferentes para usuarios diferentes en XP'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109025973446083558</id><published>2004-07-19T19:47:00.000+02:00</published><updated>2004-07-19T19:55:34.460+02:00</updated><title type='text'>Controlando Foobar con accesos directos</title><content type='html'>&lt;p&gt;Un pequeño apunte que puede resultar interesante para los que utilicen Foobar como reproductor de música es que la reproducción se puede controlar añadiendo un parámetro al llamar al ejecutable. Por ejemplo:&lt;/p&gt;&lt;p&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;g:\foobar2000\foobar.exe /play&lt;/i&gt; Reproducir&lt;/li&gt;&lt;li&gt;&lt;span style="font-style:italic;"&gt;g:\foobar2000\foobar.exe /stop&lt;/span&gt; Parar&lt;/li&gt;&lt;li&gt;&lt;span style="font-style:italic;"&gt;g:\foobar2000\foobar.exe /pause&lt;/span&gt; Pausar&lt;/li&gt;&lt;li&gt;&lt;span style="font-style:italic;"&gt;g:\foobar2000\foobar.exe /next&lt;/span&gt; Siguiente Canción&lt;/li&gt;&lt;li&gt;&lt;span style="font-style:italic;"&gt;g:\foobar2000\foobar.exe /prev&lt;/span&gt; Canción Anterior&lt;/li&gt;&lt;li&gt;&lt;span style="font-style:italic;"&gt;g:\foobar2000\foobar.exe /rand&lt;/span&gt; Modo de reproducción aleatorio&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Puede ser util para por ejemplo añadir estos accesos directos a la barra de inicio rápido y poder controlar el reproductor desde ahí.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109025973446083558?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109025973446083558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109025973446083558'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/controlando-foobar-con-accesos.html' title='Controlando Foobar con accesos directos'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109025801570692402</id><published>2004-07-19T19:23:00.000+02:00</published><updated>2004-07-19T19:26:55.706+02:00</updated><title type='text'>Album Art Tool</title><content type='html'>&lt;p&gt;Los vagos tenemos la suerte de que exista gente como el creador de &lt;a href="http://str8dog.com/default.aspx"&gt;Str8dog&lt;/a&gt;, que nos ofrece una herramienta para descargar las imágenes de los albunes mp3 de nuestro PC desde Amazon llamada &lt;a href="http://www.str8dog.com/uploads/AlbumArtTool.zip"&gt;AlbumArtTool&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;La aplicación es GPL, pero solo esta disponible para Windows y da buenos resultados siempre y cuando los mp3s tengan sus correspondientes ID tags rellenados para identificar los albums. En mi caso en concreto identificó correctamente un 90% de mi música :)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109025801570692402?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109025801570692402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109025801570692402'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/album-art-tool.html' title='Album Art Tool'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109025134485787718</id><published>2004-07-19T17:30:00.000+02:00</published><updated>2004-07-19T17:35:44.856+02:00</updated><title type='text'>Es hora de buscar una alternativa a IE</title><content type='html'>&lt;p&gt;Me he perdido unas cuantas cosas durante las vacaciones, entre ellas un artículo con un par de pequeñas reviews de Mozilla Firefox y Opera de PC Magazine llamada &lt;a href="http://www.pcmag.com/article2/0%2C1759%2C1622107%2C00.asp"&gt;Time to Find an IE Alternative?&lt;/a&gt; en la que se otorga a Firefox 4 puntos sobre 5 (lo cual es muy alentador teniendo en cuenta que estamos en una versión 0.9) frente a los 3.5 puntos de Opera.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109025134485787718?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109025134485787718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109025134485787718'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/es-hora-de-buscar-una-alternativa-ie.html' title='Es hora de buscar una alternativa a IE'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109023595554749186</id><published>2004-07-19T13:11:00.000+02:00</published><updated>2004-07-19T13:19:15.546+02:00</updated><title type='text'>Bookmarklets</title><content type='html'>&lt;p&gt;El primer post después de las vacaciones es para hablar de un par de bookmarklets interesantes, es decir, pequeños fragmentos de código javascript que pueden ser añadido al navegador en forma de marcador (favoritos en terminología IE).&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.jmesnil.net/weblog/2004/07/bookmarklet-to-split-html-document.html"&gt;El primer bookmarklet&lt;/a&gt;, de &lt;a href="http://www.jmesnil.net/weblog/index.html"&gt;Jeff Mesnil&lt;/a&gt; nos permite dividir una página HTML en dos marcos, horizontal o verticalmente; &lt;a href="http://www.squarefree.com/archives/000511.html"&gt;el segundo&lt;/a&gt;, de &lt;a href="http://www.squarefree.com/"&gt;Jesse Ruderman&lt;/a&gt; añade una barra de desplazamiento y un botón de pausa a las animaciones Flash y funciona en Mozilla e IE.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109023595554749186?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109023595554749186'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109023595554749186'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/bookmarklets.html' title='Bookmarklets'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-109023410060559900</id><published>2004-07-19T12:32:00.000+02:00</published><updated>2004-07-19T12:48:20.606+02:00</updated><title type='text'>De vuelta al trabajo</title><content type='html'>Vengo descansado y morenito después de la semanita de vacaciones :) Mucha playa, mucho sol, muy buena comida, algo de cultura y turismo. En resumen unas buenas vacaciones :)&lt;br /&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-109023410060559900?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109023410060559900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/109023410060559900'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/de-vuelta-al-trabajo.html' title='De vuelta al trabajo'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-108956325662488560</id><published>2004-07-11T18:09:00.000+02:00</published><updated>2004-07-11T18:27:36.626+02:00</updated><title type='text'>Cerrado por vacaciones</title><content type='html'>&lt;p&gt;Lo dicho, hasta el domingo de la semana que viene me toca descansar que me lo merecía. Me voy a Granada y para poner los dientes largos a todo el que pueda, una cita de mi niña sobre su ciudad (a ver, que va a decir ella de su ciudad &lt;img src="http://www.iespana.es/zootropo/lengua.gif"&gt;):&lt;/p&gt;&lt;blockquote&gt;una ciudad llena de encantos y lugares mágicos, con un ambiente de tapeo único en España y el mejor lugar para hacer millones de cosas en tus vacaciones: si quieres playa, la tienes a una hora, que te apetece montaña, no problemo, en media horita estás en la cumbre de la península, que quieres hacer de turista, la ciudad está plagada de monumentos, que lo único que te importa es disfrutar, pues no tienes más que salir por la ciudad.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-108956325662488560?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/108956325662488560'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/108956325662488560'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/cerrado-por-vacaciones.html' title='Cerrado por vacaciones'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-108948386562539755</id><published>2004-07-10T19:54:00.000+02:00</published><updated>2004-07-10T20:24:25.626+02:00</updated><title type='text'>Reemplazando la Línea de Comandos de Windows</title><content type='html'>&lt;p&gt;Aunque la gente que no utilice Linux no lo crea, las aplicaciones para Linux suelen ser mas vistosas (y mas potentes, además de muchas veces de código abierto o gratuitas) que sus contrapartidas en Windows. Ese es el caso de la línea de comandos; la consola de Windows es cuanto menos pobre, tanto en aspecto como en potencia, pero podemos reemplazarla con otras aplicaciones similares.&lt;/p&gt;&lt;p&gt;Un primer ejemplo es &lt;a href="http://www.corion.net/econsole/"&gt;eConsole&lt;/a&gt;, que se parece bastante al &lt;a href="http://www.eterm.org/"&gt;Eterm&lt;/a&gt; de Linux. Si usamos eConsole en lugar del aburrido cmd lo primero que veremos es que eConsole soporta los estilos visuales de Windows XP (la barra y los botones de cmd son siempre los mismos, no se adaptan al estilo que estes utilizando). eConsole nos permite además asignarle una imagen de fondo, hacer la ventana transparente, pegar la ventana al escritorio o auto esconder la ventana.&lt;/p&gt;&lt;p&gt;Otras opciones similares son &lt;a href="http://sourceforge.net/projects/console/"&gt;Console&lt;/a&gt;, basada en eConsole, algo mas rápido y con soporte de transparencias alfa en Windows 2000 y &lt;a href="http://www.redf.net/download.php?view.1"&gt;Console2&lt;/a&gt; que se basa a su vez en Console y tiene soporte de sombras para las letras y de antialiasing.&lt;/p&gt;&lt;p&gt;Pero las opciones que hemos visto hasta ahora solamente mejoran algo el aspecto del cmd de Windows, sin añadirle ninguna otra opción de utilidad. En ese sentido la referencia es &lt;a href="http://www.jpsoft.com/"&gt;JP Software&lt;/a&gt; con 4DOS, Take Command y 4NT o la combinación de la shell que utilicemos, ya sea cmd como cualquiera de las nombradas, con colecciones de comandos unix compilados para Windows como son las &lt;a href="http://unxutils.sourceforge.net/"&gt;GNU utilities for Win32&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Siguiendo esta última aproximación, además, la opción para los fanáticos de Linux es utilizar &lt;a href="http://www.cygwin.com/"&gt;cygwin&lt;/a&gt; con el que podremos hacer cosas como correr bash en Windows.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-108948386562539755?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/108948386562539755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/108948386562539755'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/reemplazando-la-lnea-de-comandos-de.html' title='Reemplazando la Línea de Comandos de Windows'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-108945054874973157</id><published>2004-07-10T11:02:00.000+02:00</published><updated>2004-07-10T17:07:31.226+02:00</updated><title type='text'>Pagerank en tu web</title><content type='html'>&lt;p&gt;PageRank es una tecnología de Google que evalúa la popularidad de tu sitio con una calificación de 0 a 10. El PageRank se puede conocer através de la barra de Google de Internet Explorer o en Firefox a través de la extensión &lt;a href="http://pagerankstatus.mozdev.org/index.html"&gt;Pagerank status&lt;/a&gt; (decubierta gracias a &lt;a href="http://www.chevrel.org/es/noticias/"&gt;Plaza Mozilla&lt;/a&gt;).&lt;/p&gt;&lt;p&gt;Siempre existirán usuarios que utilicen navegadores con los que no se pueda comprobar el Pagerank de una página, por lo que existe otra alternativa que es utilizar el servicio &lt;a href="http://my.rank.online.fr/"&gt;My.Rank.Online&lt;/a&gt; y mostrar tu Pagerank como una imagen en tu sitio web.&lt;/p&gt;&lt;a href="http://my.rank.online.fr" target="_blank" title="pagerank"&gt;&lt;img src="http://my.rank.online.fr/pagerank.php" border=0 width=44 height=15 alt="pagerank"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-108945054874973157?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/108945054874973157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/108945054874973157'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/pagerank-en-tu-web.html' title='Pagerank en tu web'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-108938375460024983</id><published>2004-07-09T16:31:00.000+02:00</published><updated>2004-07-09T16:35:54.600+02:00</updated><title type='text'>Publicitando Firefox</title><content type='html'>&lt;p&gt;La acogida de la iniciativa de &lt;a href="http://weblogs.mozillazine.org/asa/"&gt;Asa Dotzler&lt;/a&gt; y &lt;a href="http://www.blakeross.com/"&gt;Blake Ross&lt;/a&gt; esta siendo impresionante. El objetivo era de 1000 reviews de Firefox en una semana y en menos de 48 horas ya se ha logrado la mitad. Firefox es el producto con mas reviews de esta semana en Download.com y el número crece cada vez mas.&lt;/p&gt;&lt;p&gt;¿Aún no has posteado tu opinión sobre Mozilla Firefox? ¿&lt;a href="http://www.download.com/Mozilla-Firefox/3000-2356-10299359.html?tag=lst-0-1"&gt;A que esperas&lt;/a&gt;?&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-108938375460024983?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/108938375460024983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/108938375460024983'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/publicitando-firefox.html' title='Publicitando Firefox'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-108932851327845965</id><published>2004-07-09T01:04:00.000+02:00</published><updated>2004-07-09T01:18:15.010+02:00</updated><title type='text'>Actualizaciones de los productos Mozilla ya disponibles</title><content type='html'>&lt;p&gt;Como actualizción al último par de posts que he escrito, ya están disponibles las nuevas versiones de los productos afectados por el problema en el protocolo shell de Mozilla, &lt;a href="http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/0.9.2/FirefoxSetup-0.9.2.exe"&gt;Firefox 0.9.2&lt;/a&gt;, &lt;a href="http://www.mozilla.org/products/thunderbird/download.html?http%3A//ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/0.7.2/ThunderbirdSetup-0.7.2.exe"&gt;Thunderbird 0.7.2&lt;/a&gt; y &lt;a href="http://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla1.7.1/mozilla-win32-1.7.1-installer.exe"&gt;Mozilla 1.7.1&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Además se ha publicado un documento sobre el tema en la &lt;a href="http://mozilla.org/security/shell.html"&gt;web de Mozilla&lt;/a&gt;, muy bien hecho, aunque sigo sin entender porque no utilizan el notificador de actualizaciones.&lt;/p&gt;&lt;p&gt;Por cierto, esta confirmado que el bug solo afecta a usuarios de Windows, por lo tanto las nuevas versiones solo han sido publicadas para este sistema operativo.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-108932851327845965?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/108932851327845965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/108932851327845965'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/actualizaciones-de-los-productos.html' title='Actualizaciones de los productos Mozilla ya disponibles'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-108932096885299462</id><published>2004-07-08T22:56:00.000+02:00</published><updated>2004-07-08T23:26:36.010+02:00</updated><title type='text'>La política de seguridad de Mozilla</title><content type='html'>&lt;p&gt;&lt;a href="http://lynggaard.blog-city.com/"&gt;Henrik Lynggaard&lt;/a&gt; hace una &lt;a href="http://lynggaard.blog-city.com/read/721637.htm"&gt;valoración&lt;/a&gt; sobre la información que nos llega por parte de la fundación Mozilla en el tema de la seguridad con la que estoy 100% de acuerdo. Un usuario novel (por los que parece que tanto se preocupan ahora por el tema de quitar el find as you type) esperaría encontrar información sobre actualizaciones de seguridad en algún lugar visible de la página de Mozilla, sin embargo en su web solo se puede encontrar una &lt;a href="http://www.mozilla.org/projects/security/known-vulnerabilities.html"&gt;lista de bugs&lt;/a&gt; actualizada por última vez a finales del 2003, para mas inri incompleta.&lt;/p&gt;&lt;p&gt;Se puede encontrar información sobre el problema en el protocolo shell de Firefox en Bugzilla, pero un usuario normal no solo no sería capaz de encontrarlo sino que ni tan siquiera se enteraría de que este existe.&lt;/p&gt;&lt;p&gt;Debería existir una página dentro del sitio de Mozilla dedicado a la seguridad (¿que tal algo de &lt;a href="http://www.microsoft.com/security/incident/default.mspx"&gt;este estilo&lt;/a&gt;?), y hacer uso de la funcionalidad de actualización automática para avisar a los usuarios de los parches, porque desengañemonos, un usuario que no esté interesado en la informática ni tan siquiera abriría la página de Mozilla para comprobar si existe algún parche.&lt;/p&gt;&lt;p&gt;Siento ser tan crítico con la gente de Mozilla ultimamente pero soy un usuario de sus productos y cuando las cosas no se hacen bien también hay que reconocerlo.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-108932096885299462?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/108932096885299462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/108932096885299462'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/la-poltica-de-seguridad-de-mozilla.html' title='La política de seguridad de Mozilla'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-108931572259415453</id><published>2004-07-08T21:23:00.000+02:00</published><updated>2004-07-09T10:31:38.366+02:00</updated><title type='text'>Actualización de seguridad para Firefox, Thunderbird y Mozilla</title><content type='html'>&lt;p&gt;Acaba de ser descubierta una vulnerabilidad en Firefox, Thunderbird y Mozilla que permite correr ejecutables en nuestro sistema al pulsar sobre un enlace. Para solventarlo se liberará dentro de poco una nueva versión para cada una de estas aplicaciones (Firefox 0.9.2, Thunderbird 0.7.2 y Mozilla 1.7.1), asi que permaneced atentos si os interesa tener siempre cubiertas las espaldas.&lt;/p&gt;&lt;p&gt;Mientras se termina la actualización se puede instalar &lt;a href="http://ftp.mozilla.org/pub/mozilla.org/mozilla/nightly/experimental/shellblock/shellblock.xpi"&gt;este XPI&lt;/a&gt; para desactivar la opción en la que se basa el exploit o desactivarla directamente desde about:config (escribid about:config en la barra de dirección y pulsad enter. La opción en concreto es network.protocol-handler.external.shell, pero parece ser que no existe por defecto. Hay hacer click con el botón derecho y crear un valor de tipo boolean con nombre el indicado y valor false).&lt;/p&gt;&lt;p&gt;Esta claro que Firefox tiene bugs como cualquier otro producto software, la diferencia está en que esta vulnerabilidad se corrige en horas cuando en Internet Explorer hay en vulnerabilidades sin corregir que se descubrieron hace meses. Aún así, deberían haber utilizado la opción de los avisos de actualizaciones que supongo que para algo se ha implementado.&lt;/p&gt;&lt;a href="http://seclists.org/lists/fulldisclosure/2004/Jul/0335.html"&gt;Hilo sobre la vulnerabilidad en seclists.org&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.mozillazine.org/talkback.html?article=4960"&gt;Aviso en MozillaZine&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.mccanless.us/mozilla/mozilla_bugs.htm"&gt;Demostración del exploit&lt;/a&gt; (cuidado, puede colgar el sistema).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-108931572259415453?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/108931572259415453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/108931572259415453'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/actualizacin-de-seguridad-para-firefox.html' title='Actualización de seguridad para Firefox, Thunderbird y Mozilla'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-108929663166464227</id><published>2004-07-08T16:15:00.000+02:00</published><updated>2004-07-08T16:23:51.666+02:00</updated><title type='text'>Ayuda a promocionar Firefox</title><content type='html'>&lt;p&gt;&lt;a href="http://weblogs.mozillazine.org/asa/"&gt;Asa Dotzler&lt;/a&gt; y &lt;a href="http://www.blakeross.com"&gt;Blake Ross&lt;/a&gt; llaman a las armas a los fanáticos, talibanes y evangelistas varios de Firefox. El objetivo es conseguir 1.000 comentarios (positivos supongo) sobre Firefox en &lt;a href="http://www.download.com/Mozilla-Firefox/3000-2356-10299359.html?tag=lst-0-1"&gt;Download.com&lt;/a&gt; durante esta semana, luego seguirán con la toma y captura de rehenes en otras páginas de descarga de software (y mas tarde el mundo, muahahahaha).&lt;/p&gt;&lt;p&gt;Si te aburres puedes &lt;a href="http://www.download.com/Mozilla-Firefox/3000-2356-10299359.html?tag=lst-0-1"&gt;contribuir&lt;/a&gt; a hacer de este mundo un mundo mejor con navegadores que no hagan que explote tu PC.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-108929663166464227?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/108929663166464227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/108929663166464227'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/ayuda-promocionar-firefox.html' title='Ayuda a promocionar Firefox'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-108929198200068227</id><published>2004-07-08T14:51:00.000+02:00</published><updated>2004-07-08T15:38:41.710+02:00</updated><title type='text'>Nueva Barra de Búsqueda en Firefox (o de como Firefox se convirtió en IE)</title><content type='html'>&lt;img src="http://www.iespana.es/zootropo/find%20fx.png"&gt;&lt;br /&gt;&lt;p&gt;Las últimas compilaciones de Firefox incorporan una barra de búsqueda que reemplazará a la barra actual además de a la función &lt;i&gt;find as you type&lt;/i&gt; (buscar un texto simplemente escribiéndolo). Justifican el eliminar find as you type con que resulta confuso para los usuarios mas inexpertos, porque, ¿a quién no le ha pasado que creyendo estar en una caja de texto escribiera algo y comenzara el f.a.y.t? A mi nunca me ha pasado, por ejemplo, para algo tenemos un cursor que indica cuando estas en una caja de texto.&lt;/p&gt;&lt;p&gt;En fin, parece ser que Mozilla tomará el camino de convertirse en un pseudo IE eliminando opciones útiles a cambio de sencillez para usuarios inútiles. Si el destino de Firefox es convertirse en un navegador sin ninguna herramienta útil (porque puede confundir a los usuarios noveles) que me lo digan ahora mismo para ir buscando otro navegador favorito.&lt;/p&gt;&lt;p&gt;Y no es que me moleste que añadan esta barra, me gusta porque tenemos la opción de resaltar todas las ocurrencias del texto en el documento, por ejemplo, (aunque no aporte nada nuevo si tienes instalada la barra de Google) pero ¿que falta hace eliminar cosas tan útiles como fayt?&lt;/p&gt;&lt;p&gt;Deberían pensar en mejorar el navegador en lugar de empeorarlo, pero pasará lo mismo que ocurrió con el tema por defecto, pasamos de un tema al menos resultón (Qute) a esta especie de asesinato al buen gusto con forma de estilo visual de aplicación shareware (Winstripe) y aunque la gente se quejó, como es normal, no se hizo el menor caso. Me pregunto cuando olvidó esta gente que la meta de una aplicación es el usuario final.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-108929198200068227?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/108929198200068227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/108929198200068227'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/nueva-barra-de-bsqueda-en-firefox-o-de.html' title='Nueva Barra de Búsqueda en Firefox (o de como Firefox se convirtió en IE)'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-108921929232280888</id><published>2004-07-07T18:30:00.000+02:00</published><updated>2004-07-19T23:08:08.453+02:00</updated><title type='text'>Soul Music de Terry Pratchett</title><content type='html'>&lt;p&gt;Acabo de terminar oficialmente la decimosexta entrega de la saga de Mundodisco de Terry Pratchett. Un grandísimo libro como nos tiene acostumbrados este mago del humor, del sarcasmo y la ironía :). Si Pratchett ya parodió el mundo del cine y Hollywood en 'Imágenes en Acción', esta vez le toca el turno a la música.&lt;/p&gt;&lt;p&gt;Soul Music es un libro sobre sexo, drogas y &lt;i&gt;música con rocas dentro&lt;/i&gt;, o al menos sobre uno de los tres, un porcentaje que no está nada mal. Un libro con cantantes de &lt;i&gt;música con rocas dentro&lt;/i&gt; muy &lt;i&gt;elvish&lt;/i&gt;, con jovencitas racionales que heredan el trabajo de su abuelo, que casualmente es una figura con túnica negra y guadaña a la que se le conoce cariñosamente como la muerte &lt;img src="http://www.iespana.es/zootropo/muerte.gif"&gt;, y otros desaguisados varios.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-108921929232280888?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/108921929232280888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/108921929232280888'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/soul-music-de-terry-pratchett.html' title='Soul Music de Terry Pratchett'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-108920887318085219</id><published>2004-07-07T15:42:00.000+02:00</published><updated>2004-07-07T16:01:13.180+02:00</updated><title type='text'>Pequeñas Joyas</title><content type='html'>&lt;p&gt;Algunas aplicaciones interesantes que he encontrado navegando hoy:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.tcbmi.com/strokeit/"&gt;Stroke it&lt;/a&gt;: Un programa gratuito para uso no comercial de reconocimiento de gestos del ratón para Windows. Pulsa el botón derecho del ratón, dibuja una M y abres la aplicación de correo, dibuja una W y abres el navegador, haz una línea diagonal y minimiza la ventana,...&lt;/li&gt;&lt;li&gt;&lt;a href="http://virtuawin.sourceforge.net/"&gt;Virtua Win&lt;/a&gt;: Nos permite tener la potencia de los escritorios virtuales de Unix en Windows :). Es GPL.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.workrave.com/download/"&gt;Workrave&lt;/a&gt;: Descubierto vía &lt;a href="http://revistes.upc.es/~topopardo/weblog/"&gt;Punto y Aparte&lt;/a&gt;. Es un programa para Windows y Linux que nos avisa cuando necesitamos un descanso de trabajar con el PC, lo bloquea para impedir que sigamos trabajando si se lo indicamos, y en los descansos largos propone ejercicios para relajar los músculos y la vista :).&lt;/li&gt;&lt;li&gt;&lt;a href="http://sector7g.wurzel6.de/pdfcreator/index_en.htm"&gt;PDFCreator&lt;/a&gt;: Aplicación GPL que como insinúa su nombre, nos permite crear archivos PDF.&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/6800128-108920887318085219?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/108920887318085219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/108920887318085219'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/pequeas-joyas.html' title='Pequeñas Joyas'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-108920244627827645</id><published>2004-07-07T14:07:00.000+02:00</published><updated>2004-07-07T14:15:27.363+02:00</updated><title type='text'>Gmail Agent API v0.5</title><content type='html'>&lt;p&gt;Otro notificador de correo entrante de Gmail para Windows, en esta ocasión escrita sobre el framework .NET por lo que es necesario tener este instalado. La aplicación esta licenciada bajo GPL, por lo que incluye el código fuente. Permite además importar o exportar de la agenda de contactos de Gmail y el uso de varias cuentas.&lt;/p&gt;&lt;p&gt;&lt;a href="http://johnvey.com/features/gmailapi/"&gt;Descripción&lt;/a&gt;&lt;br/&gt;&lt;a href="http://freecache.org/http://johnvey.com/features/gmailapi/GmailAgentSetup.msi"&gt;Descarga&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-108920244627827645?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/108920244627827645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/108920244627827645'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/gmail-agent-api-v05.html' title='Gmail Agent API v0.5'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-108919654567430818</id><published>2004-07-07T11:59:00.000+02:00</published><updated>2004-07-07T12:40:47.143+02:00</updated><title type='text'>El futuro de Gmail</title><content type='html'>&lt;p&gt;Las nuevas características a implementar y errores a corregir en Gmail según su &lt;a href="http://gmail.google.com/support/bin/request.py"&gt;página de feedback&lt;/a&gt; son los siguientes:&lt;/p&gt;&lt;table align="center" width="100%" border="0" cellspacing="0" cellpadding="2" style="font-size:x-small;"&gt;&lt;tr&gt;&lt;td width="2%" bgcolor=#d0dee9 style="BORDER-TOP: #104A7B 1px solid; BORDER-BOTTOM: #104A7B 1px solid"&gt;&amp;nbsp;&lt;/td&gt;&lt;td width="49%" valign="top" colspan="2" bgcolor=#d0dee9 style="BORDER-TOP: #104A7B 1px solid; BORDER-BOTTOM: #104A7B 1px solid"&gt;&lt;a name=features&gt;&lt;/a&gt;&lt;b&gt;Nuevas características&lt;/b&gt;&lt;/td&gt;&lt;td width="49%" valign="top" colspan="2" bgcolor=#d0dee9 style="BORDER-TOP: #104A7B 1px solid; BORDER-BOTTOM: #104A7B 1px solid"&gt;&lt;a name=bugs&gt;&lt;/a&gt;&lt;b&gt;Errores por reparar&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td bgcolor="#efefef"&gt;&lt;a href="http://gmail.google.com/support/bin/answer.py?answer=8301"&gt;&lt;font color="#009900" size="-2"&gt;¡listo!&lt;/font&gt;&lt;/a&gt;&lt;/td&gt;&lt;td bgcolor="#efefef"&gt;importación de la agenda de direcciones&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td bgcolor="#efefef"&gt;Gmail no funciona correctamente en algunos lenguajes&lt;/td&gt;&lt;td nowrap bgcolor="#efefef"&gt;&lt;a href="http://gmail.google.com/support/bin/answer.py?answer=6569"&gt;&lt;font color="#009900" size="-2"&gt;leer mas&lt;/font&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;font color="#009900" size="-2"&gt; se intentará &lt;/font&gt;&lt;/td&gt;&lt;td&gt;posibilidad de mandar los mensajes con formato HTML&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;Algunas veces los correos de Gmail son rechazados o marcados como spam&lt;/td&gt;&lt;td&gt;&lt;a href="http://gmail.google.com/support/bin/answer.py?answer=8766"&gt;&lt;font color="#009900" size="-2"&gt;leer mas&lt;/font&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td bgcolor="#efefef"&gt;&lt;a href="http://gmail.google.com/support/bin/answer.py?answer=8395"&gt;&lt;font color="#009900" size="-2"&gt;¡listo!&lt;/font&gt;&lt;/a&gt;&lt;/td&gt;  &lt;td bgcolor="#efefef"&gt; firmas en los mensajes salientes&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td bgcolor="#efefef"&gt;La pantalla se queda parada en &amp;quot;Loading&amp;quot; &lt;/td&gt;  &lt;td bgcolor="#efefef"&gt;&lt;font color="#009900" size="-2"&gt;&lt;a href="http://gmail.google.com/support/bin/answer.py?answer=8767"&gt;&lt;font color="#009900" size="-2"&gt;leer mas&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;  &lt;td&gt;&lt;font color="#009900" size="-2"&gt; se intentará &lt;/font&gt;&lt;/td&gt;  &lt;td&gt; Acceso POP3&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt; Algunas veces no se pueden añadir archivos grandes al correo&lt;/td&gt;  &lt;td&gt;&lt;font color="#009900" size="-2"&gt;&lt;a href="http://gmail.google.com/support/bin/answer.py?answer=8770"&gt;&lt;font color="#009900" size="-2"&gt;leer mas&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;  &lt;td bgcolor="#efefef"&gt;&lt;font color="#009900" size="-2"&gt; trabajando en ello &lt;/font&gt;&lt;/td&gt;  &lt;td bgcolor="#efefef"&gt; versión de HTML plano de Gmail&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td bgcolor="#efefef"&gt;La comprobación de la ortografía no comprueba las contracciones&lt;/td&gt;  &lt;td bgcolor="#efefef"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;&lt;td&gt;&lt;font color="#009900" size="-2"&gt; trabajando en ello &lt;/font&gt;&lt;/td&gt;  &lt;td&gt;reenvio automático de mensajes&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;Algunas veces los enlaces no funcionan o los mensajes no se abren&lt;/td&gt;  &lt;td&gt;&lt;font color="#009900" size="-2"&gt;&lt;a href="http://gmail.google.com/support/bin/answer.py?answer=8774"&gt;&lt;font color="#009900" size="-2"&gt;leer mas&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;  &lt;td bgcolor="#efefef"&gt;&lt;a href="http://gmail.google.com/support/bin/answer.py?answer=7302"&gt;&lt;font color="#009900" size="-2"&gt;¡listo!&lt;/font&gt;&lt;/a&gt;&lt;/td&gt;  &lt;td bgcolor="#efefef"&gt;compatibilidad con safari&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td bgcolor="#efefef"&gt; La agrupación en conversaciones de los mensajes algunas veces es incorrecta&lt;/td&gt;  &lt;td bgcolor="#efefef"&gt;&lt;font color="#009900" size="-2"&gt;&lt;a href="http://gmail.google.com/support/bin/answer.py?answer=8259"&gt;&lt;font color="#009900" size="-2"&gt;leer mas&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr&gt;  &lt;td&gt;&lt;font color="#009900" size="-2"&gt; se intentará &lt;/font&gt;&lt;/td&gt;&lt;td&gt;posibilidad de guardar drafts&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;Algunas veces los adjuntos se pierden o no pueden abrirse&lt;/td&gt;  &lt;td&gt;&lt;font color="#009900" size="-2"&gt;&lt;a href="http://gmail.google.com/support/bin/answer.py?answer=8773"&gt;&lt;font color="#009900" size="-2"&gt;leer mas&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/td&gt;  &lt;/tr&gt; &lt;tr&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-108919654567430818?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/108919654567430818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/108919654567430818'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/el-futuro-de-gmail.html' title='El futuro de Gmail'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-108910946171155041</id><published>2004-07-06T12:23:00.000+02:00</published><updated>2004-07-06T12:24:21.720+02:00</updated><title type='text'>Problemas con Blogger, again</title><content type='html'>&lt;blockquote&gt;Blogger Status&lt;br /&gt;Monday, July 05, 2004&lt;br /&gt;&lt;br /&gt;One of our machines is having intermittent problems resulting in some slowness and unexpected errors. We're working to correct the situation.&lt;br /&gt;&lt;br /&gt;Posted by Jason at 1:33 PM&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-108910946171155041?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/108910946171155041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/108910946171155041'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/problemas-con-blogger-again.html' title='Problemas con Blogger, again'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-108910999362790741</id><published>2004-07-06T12:22:00.000+02:00</published><updated>2004-07-06T12:33:13.706+02:00</updated><title type='text'>Compilación de Thunderbird para probar la migración</title><content type='html'>&lt;p&gt;Hay una compilación de test para probar una nueva característica para Thunderbird en el camino a la 0.8 final disponible para descargar en el &lt;a href="http://ftp.mozilla.org/pub/mozilla.org/thunderbird/test/migration-test-builds/ThunderbirdSetup-migrationtest-01.exe"&gt;servidor de Mozilla&lt;/a&gt;. Esta compilación incluye un wizard para facilitar la migración desde otros clientes de correo (por ahora solo el de Mozilla Suite) parecido al que tiene ya Firefox.&lt;/p&gt;&lt;p&gt;Podeis comentar impresiones y posibles fallos en &lt;a href="http://forums.mozillazine.org/viewtopic.php?t=92086"&gt;este post&lt;/a&gt; del foro de Mozillazine.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-108910999362790741?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/108910999362790741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/108910999362790741'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/compilacin-de-thunderbird-para-probar.html' title='Compilación de Thunderbird para probar la migración'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-108906817770703198</id><published>2004-07-06T00:52:00.000+02:00</published><updated>2004-07-06T00:56:17.710+02:00</updated><title type='text'>Service Pack 2 para Windows crackeado</title><content type='html'>&lt;p&gt;Aún no ha sido liberado el Service Pack 2 para Windows XP y según &lt;a href="http://www.theinquirer.net/?article=17010"&gt;The Inquirer&lt;/a&gt; los grupos de la scene warez ya han conseguido anular las protecciones contra las copias piratas. La verdad es que visto lo visto no se ni porque se molestan, aunque quien sabe, puede que hayan sido ellos mismos los que hallan dado la información necesaria a los piratas; con las tácticas tan raras que sigue Microsoft vaya usted a saber.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-108906817770703198?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/108906817770703198'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/108906817770703198'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/service-pack-2-para-windows-crackeado.html' title='Service Pack 2 para Windows crackeado'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-108906199958360224</id><published>2004-07-05T23:05:00.000+02:00</published><updated>2004-07-05T23:13:19.583+02:00</updated><title type='text'>Nuevo Windows Update</title><content type='html'>&lt;p&gt;Nueva versión de &lt;a href="http://v5.windowsupdate.microsoft.com/v5consumer/default.aspx?ln=en-us"&gt;Windows Update&lt;/a&gt;, la 5.0 ya. Parece ser que esta versión impide a los Windows con claves piratas el descargar las actualizaciones, lo cual tiene tan poco sentido como las demás políticas de seguridad que suele imponer Microsoft, aún mas cuando se barajó la posibilidad de que ni tan siquiera el SP2 tuviera medidas de protección antipiratas como las tuvo el SP1.&lt;/p&gt;&lt;img src="http://www.iespana.es/zootropo/update.png"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-108906199958360224?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/108906199958360224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/108906199958360224'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/nuevo-windows-update.html' title='Nuevo Windows Update'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-6800128.post-108902479872736667</id><published>2004-07-05T12:49:00.000+02:00</published><updated>2004-07-05T12:53:18.726+02:00</updated><title type='text'>¿Carne o pescado? La metáfora del software libre</title><content type='html'>&lt;p&gt;Me ha encantado &lt;a href="http://revistes.upc.es/~topopardo/weblog/archives/000036.html"&gt;este post&lt;/a&gt; del blog &lt;a href="http://revistes.upc.es/~topopardo/weblog/"&gt;Punto y Aparte&lt;/a&gt; titulado '¿Carne o pescado? La metáfora del software libre'. Interesante como parábola a la hora de evangelizar &lt;img src="http://www.iespana.es/zootropo/jesus.gif"&gt;.&lt;/p&gt;&lt;p&gt;Lectura recomendada.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6800128-108902479872736667?l=zootropo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/108902479872736667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6800128/posts/default/108902479872736667'/><link rel='alternate' type='text/html' href='http://zootropo.blogspot.com/2004/07/carne-o-pescado-la-metfora-del.html' title='¿Carne o pescado? La metáfora del software libre'/><author><name>Zootropo</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry></feed>
