<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Uninstallme &#187; Cajón de sastre</title>
	<atom:link href="http://uninstallme.com/category/cajon-de-sastre/feed/" rel="self" type="application/rss+xml" />
	<link>http://uninstallme.com</link>
	<description>Desarrollo front-end, estándares web, accesibilidad y más</description>
	<lastBuildDate>Sun, 05 Sep 2010 23:20:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>MySQL por línea de comandos en Mac</title>
		<link>http://uninstallme.com/mysql-por-linea-de-comandos-en-mac/</link>
		<comments>http://uninstallme.com/mysql-por-linea-de-comandos-en-mac/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 01:37:16 +0000</pubDate>
		<dc:creator>kcmr</dc:creator>
				<category><![CDATA[Cajón de sastre]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://uninstallme.com/?p=746</guid>
		<description><![CDATA[Hace un tiempo publicaba un método para poder utilizar comandos SQL desde la consola de Windows, que consiste en añadir el directorio de MySQL a las variables de entorno del sistema. En Mac se puede conseguir escribiendo lo siguiente en la consola: Machine:~ user$ sudo su Password: (tu contraseña...) sh-3.2# echo '/usr/local/mysql/bin' &#62;&#62; /etc/paths.d/mysql sh-3.2# [...]]]></description>
			<content:encoded><![CDATA[<p>Hace un tiempo publicaba un método para poder <a href="http://uninstallme.com/mysql-por-linea-de-comandos-en-windows/">utilizar comandos SQL desde la consola de Windows</a>, que consiste en añadir el directorio de MySQL a las variables de entorno del sistema.</p>
<p>En Mac se puede conseguir escribiendo lo siguiente en la consola:</p>
<pre><code>
Machine:~ user$ sudo su
Password: (tu contraseña...)
sh-3.2# echo '/usr/local/mysql/bin' &gt;&gt; /etc/paths.d/mysql
sh-3.2#
exit
</code></pre>
<p>La primera vez que hice esto funcionó, pero después de la actualización a Snow Leopard (realmente no sé si tiene algo que ver) me he encontrado con la sorpresa de que el directorio /usr/local/mysql no existe:<br />
<code>/usr/local/mysql no such file or directory</code></p>
<p>Para los que utilicen MAMP y se hayan encontrado con este mismo problema, esta solución es la que me ha funcionado (utilizar el directorio de MAMP):</p>
<pre><code>
sh-3.2# echo <strong>'/Applications/MAMP/Library/bin/mysql'</strong> &gt;&gt; /etc/paths.d/mysql
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://uninstallme.com/mysql-por-linea-de-comandos-en-mac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ajustes de color en Photoshop optimizados para Web</title>
		<link>http://uninstallme.com/ajustes-de-color-en-photoshop-optimizados-para-web/</link>
		<comments>http://uninstallme.com/ajustes-de-color-en-photoshop-optimizados-para-web/#comments</comments>
		<pubDate>Mon, 17 Aug 2009 23:28:08 +0000</pubDate>
		<dc:creator>kcmr</dc:creator>
				<category><![CDATA[Cajón de sastre]]></category>
		<category><![CDATA[Photoshop]]></category>

		<guid isPermaLink="false">http://uninstallme.com/?p=685</guid>
		<description><![CDATA[Hace una temporada que estoy usando Mac después de mi paso fugaz por Ubuntu, que murió repentinamente por causas desconocidas, y de &#8220;toda la vida&#8221; usando Windows. No voy a hablar de los pros de uno u otro, que sería tema para otro post, sino de algo que hasta ahora me había pasado desapercibido en [...]]]></description>
			<content:encoded><![CDATA[<p>Hace una temporada que estoy usando Mac después de mi paso fugaz por Ubuntu, que murió repentinamente por causas desconocidas, y de &#8220;toda la vida&#8221; usando Windows. No voy a hablar de los pros de uno u otro, que sería tema para otro post, sino de algo que hasta ahora me había pasado desapercibido en PC: las diferencias de color entre los diseños (psd&#8217;s) y lo que se acaba viendo en el navegador.</p>
<div id="attachment_686" class="wp-caption aligncenter" style="width: 506px"><img class="size-full wp-image-686" src="http://uninstallme.com/wp/wp-content/navegador-photoshop.png" alt="Diferencia de color entre Photoshop y el navegador" width="496" height="105" /><p class="wp-caption-text">Diferencia de color entre Photoshop y el navegador</p></div>
<p>Además de estas diferencias de color entre el navegador y el PSD, tenía otro problema bastante desesperante: en los degradados en Photoshop se apreciaban cambios bruscos de color similares a los que se pueden ver si guardamos un degradado como GIF de 8 colores :S</p>
<p>Estos problemas estaban causados por mis ajustes de color en Photoshop, que permanecían en su configuración por defecto (mal, muy mal hecho)</p>
<p>Después de rebuscar un poco en Internet y algún libro olvidado, he encontrado la combinación que mejor parece funcionar. Hay quien recomienda una de las configuraciones que trae Photoshop (Web/Internet en Europa) y quien recomienda crearse una nueva configuración personalizada. Yo me he quedado con esta última opción.</p>
<p>Podemos encontrar los ajustes de color en el <strong>menú Edición de Photoshop &gt; Ajustes de Color</strong>.</p>
<p>En la ventana Ajustes de color, elegimos en el grupo <strong>Espacios de Trabajo</strong> las siguientes opciones:</p>
<ul>
<li>RGB: sRGB iEC61966-2.1</li>
<li>Gris: Gray Gamma 2.2</li>
</ul>
<p>Dentro del grupo <strong>Normas de gestión de color</strong>:</p>
<ul>
<li>RGB: Convertir a RGB de trabajo</li>
<li>CMYK: Desactivar</li>
<li>Gris: Desactivar</li>
<li>Diferencias de perfil: Preguntar al abrir</li>
</ul>
<div id="attachment_687" class="wp-caption aligncenter" style="width: 510px"><img class="size-full wp-image-687  " src="http://uninstallme.com/wp/wp-content/ajustes-color.gif" alt="Ajustes de color personalizados en Photoshop" width="500" height="434" /><p class="wp-caption-text">Ajustes de color personalizados en Photoshop</p></div>
<p>Sin ningún documento abierto, en el menú <strong>Vista &gt; Ajuste de prueba seleccionamos Monitor RGB</strong>. Al abrir un documento marcamos en el menú Vista la opción Colores de prueba para asegurarnos de que los colores que estamos viendo en Photoshop coinciden con los que se verán en un navegador.</p>
<p>Aquí no acaba todo. A la hora de <strong>guardar para Web</strong> tendremos que desmarcar las opciones Incrustar perfil de color y Convertir en sRGB.</p>
<div id="attachment_688" class="wp-caption aligncenter" style="width: 339px"><img class="size-full wp-image-688 " src="http://uninstallme.com/wp/wp-content/opciones-guardar.gif" alt="Opciones al guardar para Web" width="329" height="236" /><p class="wp-caption-text">Opciones al guardar para Web</p></div>
<p>En este punto hay opiniones contrarias. Yo me he decantado por esta opción porque no todos los navegadores soportan perfiles de color en imágenes, lo que puede dar lugar a diferencias entre unos y otros.</p>
<h3>Más información</h3>
<ul>
<li><a href="http://www.aktivnett.no/weblog_entry/plone/weblog/web-design/photoshop-cs3-web-color-management">Photoshop CS3 Web color management</a></li>
<li><a href="http://www.usabilitypost.com/2008/07/30/photoshop-color-profiles-for-web-images/">How to Use Photoshop Color Profiles for Web Images</a></li>
<li><a href="http://www.dria.org/wordpress/archives/2008/04/29/633/">Firefox 3: Color profile support</a></li>
<li><a href="http://www.viget.com/inspire/the-mysterious-save-for-web-color-shift/">The Mysterious “Save For Web” Color Shift</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://uninstallme.com/ajustes-de-color-en-photoshop-optimizados-para-web/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>MySQL por línea de comandos en Windows</title>
		<link>http://uninstallme.com/mysql-por-linea-de-comandos-en-windows/</link>
		<comments>http://uninstallme.com/mysql-por-linea-de-comandos-en-windows/#comments</comments>
		<pubDate>Mon, 03 Aug 2009 23:57:42 +0000</pubDate>
		<dc:creator>kcmr</dc:creator>
				<category><![CDATA[Cajón de sastre]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://uninstallme.com/?p=680</guid>
		<description><![CDATA[Algo muy útil para aprender la sintaxis SQL o para otros fines como por ejemplo cargar archivos SQL de gran tamaño en Windows, es poder hacer consultas SQL mediante la consola (esa amigable ventana negra) Tenemos dos opciones: en la consola, situarnos en el directorio donde esté la instalación de MySQL o bien añadir este [...]]]></description>
			<content:encoded><![CDATA[<p>Algo muy útil para aprender la sintaxis SQL o para otros fines como por ejemplo <a href="http://blog.patoroco.net/2008/09/cargar-sql-de-gran-tamano-en-windows/">cargar archivos SQL de gran tamaño en Windows</a>, es poder hacer consultas SQL mediante la consola (esa amigable ventana negra)</p>
<p>Tenemos dos opciones: en la consola, situarnos en el directorio donde esté la instalación de MySQL o bien añadir este directorio a las variables de entorno del sistema.</p>
<p>En Windows Vista encontramos las variables de entorno en Inicio &gt; Panel de control &gt; Sistema &gt; Configuración avanzada del sistema.</p>
<p>En la ventana &#8220;Propiedades del sistema&#8221;, dentro de la pestaña &#8220;Opciones avanzadas&#8221; tenemos el botón &#8220;Variables de entorno&#8221;, en donde aparecen dos listados agrupados en &#8220;Variables de usuario&#8221; y &#8220;Variables de sistema&#8221;.</p>
<p>Dentro de &#8220;Variables de usuario&#8221;, editamos la variable PATH, donde añadimos el directorio de la instalación de MySQL. Si el valor no está vacío, separamos el nuevo valor del existente mediante un punto y coma.</p>
<div id="attachment_681" class="wp-caption aligncenter" style="width: 404px"><img class="size-full wp-image-681" src="http://uninstallme.com/wp/wp-content/variables-entorno.png" alt="Captura de la ventana Variables de entorno" width="394" height="434" /><p class="wp-caption-text">Captura de la ventana Variables de entorno</p></div>
<p>La ruta al directorio de MySQL en <a title="WAMP Server (Windows Apache MySQL PHP)" href="http://www.wampserver.com/en/">WAMP</a>, uno de los todo en uno más populares, es algo similar a C:\wamp\bin\mysql\mysql5.1.30\bin según la versión y dónde tengamos instalado WAMP Server.</p>
<p>De esta forma ya podemos loguearnos en MySQL mediante <code>mysql -u root -p</code> sin necesidad de escribir la ruta al directorio.</p>
<div id="attachment_682" class="wp-caption aligncenter" style="width: 527px"><img class="size-full wp-image-682" src="http://uninstallme.com/wp/wp-content/consola-win.png" alt="Mensaje de bienvenida de MySQL en la consola de Windows" width="517" height="333" /><p class="wp-caption-text">Mensaje de bienvenida de MySQL en la consola de Windows</p></div>
<h3>Más información</h3>
<p><a href="http://dev.mysql.com/doc/refman/5.0/es/windows-start-command-line.html">MySQL desde la línea de comandos en Windows</a> (la otra forma de hacerlo)</p>
]]></content:encoded>
			<wfw:commentRss>http://uninstallme.com/mysql-por-linea-de-comandos-en-windows/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Instalación de Internet Explorer 8</title>
		<link>http://uninstallme.com/instalacion-de-internet-explorer-8/</link>
		<comments>http://uninstallme.com/instalacion-de-internet-explorer-8/#comments</comments>
		<pubDate>Sat, 01 Aug 2009 01:16:20 +0000</pubDate>
		<dc:creator>kcmr</dc:creator>
				<category><![CDATA[Cajón de sastre]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[ie]]></category>

		<guid isPermaLink="false">http://uninstallme.com/?p=675</guid>
		<description><![CDATA[Mensaje de error obtenido durante la instalación de Internet Explorer 8 en Windows Vista (completamente original): &#8220;Internet Explorer 8 no es compatible con este sistema operativo.&#8221; Todavía estoy conmocionada.]]></description>
			<content:encoded><![CDATA[<p>Mensaje de error obtenido durante la instalación de Internet Explorer 8 en Windows Vista (completamente original): &#8220;<strong>Internet Explorer 8 no es compatible con este sistema operativo.</strong>&#8221;</p>
<div id="attachment_676" class="wp-caption aligncenter" style="width: 386px"><img class="size-full wp-image-676" src="http://uninstallme.com/wp/wp-content/captura-instalacion-ie8.gif" alt="Captura del mensaje de error " width="376" height="122" /><p class="wp-caption-text">Captura del mensaje de error </p></div>
<p>Todavía estoy conmocionada.</p>
]]></content:encoded>
			<wfw:commentRss>http://uninstallme.com/instalacion-de-internet-explorer-8/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Detección de fuentes disponibles con Javascript</title>
		<link>http://uninstallme.com/deteccion-de-fuentes-disponibles-con-javascript/</link>
		<comments>http://uninstallme.com/deteccion-de-fuentes-disponibles-con-javascript/#comments</comments>
		<pubDate>Sun, 15 Feb 2009 01:30:35 +0000</pubDate>
		<dc:creator>kcmr</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Cajón de sastre]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[fuentes]]></category>
		<category><![CDATA[tipografía]]></category>

		<guid isPermaLink="false">http://uninstallme.com/?p=548</guid>
		<description><![CDATA[He encontrado este script para detectar si una fuente está disponible en un determinado navegador, que nos puede sacar de más de un apuro, por ejemplo, cuando decidimos correr el riesgo de usar Arial Narrow como fuente &#8220;casi de sistema&#8221;. En la web no dejan claro el modo de uso. Para detectar una fuente en [...]]]></description>
			<content:encoded><![CDATA[<p>He encontrado este <a href="http://www.lalit.org/lab/javascript-css-font-detect">script para detectar si una fuente está disponible</a> en un determinado navegador, que nos puede sacar de más de un apuro, por ejemplo, cuando decidimos correr el riesgo de usar Arial Narrow como fuente &#8220;casi de sistema&#8221;.</p>
<p>En la web no dejan claro el modo de uso. Para detectar una fuente en concreto, en este caso la Arial Narrow, se podría usar el siguiente código añadido al script:</p>
<pre><code class="javascript">
function testFont(){
   var inst = new Detector();
   if(!(inst.test('Arial Narrow')[3])) // si la fuente no está disponible...
      {
         // añadimos una clase al body
         document.body.className = 'nonarrow';
      }
}
</code></pre>
<p>En la CSS tendríamos que añadir las reglas alternativas para los navegadores que no tienen la fuente disponible:</p>
<pre><code class="css">
#menu{font-family: "Arial Narrow", arial, tahoma, helvetica, sans-serif; font-size: 1.3em;}
body.nonarrow #menu{font-size: 1.2em; word-spacing: -1px;} /* arréglelo como pueda */
</code></pre>
<p>Para los que usen <strong>jQuery</strong> acabo de descubrir <a href="http://remysharp.com/2008/07/08/how-to-detect-if-a-font-is-installed-only-using-javascript/">otra solución basada sólo en Javascript</a>.</p>
<h3>Información relacionada:</h3>
<ul>
<li><a href="http://support.microsoft.com/kb/837463/es">Fuentes que se instalan con Office</a></li>
<li><a href="http://www.fonttester.com/help/list_of_web_safe_fonts.html">Lista de fuentes seguras para la Web</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://uninstallme.com/deteccion-de-fuentes-disponibles-con-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>El debate del H1</title>
		<link>http://uninstallme.com/el-debate-del-h1/</link>
		<comments>http://uninstallme.com/el-debate-del-h1/#comments</comments>
		<pubDate>Sun, 08 Feb 2009 19:40:22 +0000</pubDate>
		<dc:creator>kcmr</dc:creator>
				<category><![CDATA[Accesibilidad]]></category>
		<category><![CDATA[Cajón de sastre]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[curiosidades]]></category>

		<guid isPermaLink="false">http://uninstallme.com/?p=544</guid>
		<description><![CDATA[Si no teníamos suficiente con el típico debate sobre usar uno o varios encabezados de primer nivel, ahora tenemos otro para la colección: ¿H1 para el título principal de la página o para el logo del sitio? La cosa llega al extremo de tener su propia web, en la que podemos ver los argumentos y [...]]]></description>
			<content:encoded><![CDATA[<p>Si no teníamos suficiente con el típico debate sobre usar uno o varios encabezados de primer nivel, ahora tenemos otro para la colección: <strong>¿H1 para el título principal de la página o para el logo del sitio?</strong></p>
<p>La cosa llega al extremo de tener <a title="The h1 debate" href="http://h1debate.com/">su propia web</a>, en la que podemos ver los argumentos y <a title="The H1 debate en Twitter" href="http://twitter.com/h1debate">votos dados a través de Twitter</a> (me temo que nunca participaré.)</p>
<p>De momento va ganando la opinión de usar H1 para el título principal de la página. Yo comienzo a pensar que da un poco igual mientras se hayan hecho otras cosas bien, como usar un título (elemento &lt;title&gt;) descriptivo y una jerarquía de encabezados con sentido.</p>
]]></content:encoded>
			<wfw:commentRss>http://uninstallme.com/el-debate-del-h1/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Calcular la posición Y de un elemento en pantalla respecto al área visible con Prototype</title>
		<link>http://uninstallme.com/calcular-la-posicion-y-de-un-elemento-en-pantalla-respecto-al-area-visible-con-prototype/</link>
		<comments>http://uninstallme.com/calcular-la-posicion-y-de-un-elemento-en-pantalla-respecto-al-area-visible-con-prototype/#comments</comments>
		<pubDate>Tue, 03 Feb 2009 00:52:26 +0000</pubDate>
		<dc:creator>kcmr</dc:creator>
				<category><![CDATA[Cajón de sastre]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Prototype]]></category>
		<category><![CDATA[framework javascript]]></category>

		<guid isPermaLink="false">http://uninstallme.com/?p=534</guid>
		<description><![CDATA[Supongamos que tenemos las típicas capas emergentes que aparecen al lado de un enlace o icono de ayuda al clicarlo. Uno de nuestros objetivos es que estas capas siempre aparezcan en el área visible de la ventana del navegador, por lo que, según la posición del enlace que las muestra (más o menos cercano al [...]]]></description>
			<content:encoded><![CDATA[<p>Supongamos que tenemos las típicas capas emergentes que aparecen al lado de un enlace o icono de ayuda al clicarlo.</p>
<div id="attachment_536" class="wp-caption aligncenter" style="width: 363px"><img class="size-full wp-image-536" src="http://uninstallme.com/wp/wp-content/capa-emergente.gif" alt="Ejemplo de capa emergente que aparece al hacer click sobre un icono de ayuda" width="353" height="205" /><p class="wp-caption-text">Ejemplo de capa emergente que aparece al hacer click sobre un icono de ayuda</p></div>
<p>Uno de nuestros objetivos es que estas capas siempre aparezcan en el área visible de la ventana del navegador, por lo que, según la posición del enlace que las muestra (más o menos cercano al final de la ventana), deberemos calcular su posición para evitar que puedan aparecer cortadas.</p>
<div id="attachment_537" class="wp-caption aligncenter" style="width: 477px"><img class="size-full wp-image-537" src="http://uninstallme.com/wp/wp-content/capa-cortada.jpg" alt="Ejemplo de capa cortada por la ventana del navegador" width="467" height="364" /><p class="wp-caption-text">Ejemplo de capa cortada por la ventana del navegador</p></div>
<p>La librería Prototype nos ofrece unos cuantos métodos para que esta tarea sea más fácil, pero antes de darle demasiadas vueltas (yo por lo menos se las di&#8230;), lo mejor es hacerse un esquema.</p>
<p><img class="aligncenter size-full wp-image-538" src="http://uninstallme.com/wp/wp-content/esquema.jpg" alt="Esquema de las dimensiones obtenidas mediante los métodos de Prototype" width="550" height="435" /></p>
<dl>
<dt>document.viewport.getScrollOffsets()[1]</dt>
<dd>Devuelve el espacio no visible por encima del área visible (viewport) del documento.</dd>
<dt>element.cumulativeOffset()[1]</dt>
<dd>Devuelve la posición top (posición Y) del elemento, en este caso la capa emergente, respecto al documento.</dd>
<dt>document.viewport.getDimensions().height</dt>
<dd>Devuelve la altura del área visible de la ventana del navegador.</dd>
<dt>element.offsetHeight</dt>
<dd>Devuelve la altura completa del elemento (la capa emergente)</dd>
</dl>
<p>Con estos datos ya tenemos todo lo que necesitamos para saber si la capa emergente podrá mostrarse parcialmente fuera del área visible de la ventana del navegador. Paso a paso&#8230;</p>
<ol>
<li>Si a la posición top del elemento (element.cumulativeOffset()[1])  le restamos el espacio no visible por arriba (document.viewport.getScrollOffsets()[1]) obtenemos la posición top del elemento respecto al área visible.</li>
<li>Si a esta resta le sumamos la altura del elemento, obtendremos la posición Y del borde inferior de la capa emergente.</li>
<li>Si esta medida es mayor que el área visible del documento (document.viewport.getDimensions().height), nuestra capa emergente aparecerá cortada.</li>
</ol>
<p>Una vez que sabemos cuándo va a aparecer cortada la capa emergente, podemos evitarlo modificando su posición top respecto al documento de la siguiente manera:</p>
<p>Posición top de la capa = altura área visible del navegador + altura del espacio no visible por encima del área visible &#8211; altura de la capa.</p>
<p>El código Javascript encargado de hacer todo esto sería:</p>
<pre><code class="javascript">
// posicionTop se ha obtenido previamente mediante element.cumulativeOffset()[1]
// capa hace referencia a la capa emergente (element)

posicionarCapaEnAreaVisible: function(posicionTop, capa){
   var posicionRespectoViewport = posicionTop - document.viewport.getScrollOffsets()[1] + capa.offsetHeight;
   if(posicionRespectoViewport &gt; document.viewport.getDimensions().height){
      posicionTop = document.viewport.getDimensions().height + document.viewport.getScrollOffsets()[1] - capa.offsetHeight;
   }
   return posicionTop;
}
</code></pre>
<p>Supongo que habrá formas más sencillas de hacer lo mismo, y para quien lo quiera &#8220;listo para llevar&#8221;, siempre le puede echar un vistazo a las <a title="Tooltips con Prototype" href="http://www.nickstakenburg.com/projects/prototip2/">capas emergentes y tooltips personalizables de Prototip</a>.</p>
<h3>Más información</h3>
<ul>
<li><a href="http://www.prototypejs.org/api/element">Documentación sobre Element de Prototype</a></li>
<li><a href="http://www.prototypejs.org/api/document/viewport">Documentación sobre document.viewport de Prototype</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://uninstallme.com/calcular-la-posicion-y-de-un-elemento-en-pantalla-respecto-al-area-visible-con-prototype/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Fragmento de &#8220;El Extranjero&#8221; (Off topic total)</title>
		<link>http://uninstallme.com/fragmento-de-el-extranjero-off-topic-total/</link>
		<comments>http://uninstallme.com/fragmento-de-el-extranjero-off-topic-total/#comments</comments>
		<pubDate>Thu, 22 Jan 2009 04:43:06 +0000</pubDate>
		<dc:creator>kcmr</dc:creator>
				<category><![CDATA[Cajón de sastre]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://uninstallme.com/?p=524</guid>
		<description><![CDATA[Aun en el banquillo de los acusados es siempre interesante oír hablar de uno mismo. Durante los alegatos del Procurador y del abogado puedo decir que se habló mucho de mí y quizá más de mí que de mi crimen. ¿Eran muy diferentes, por otra parte, esos alegatos? El abogado levantaba los brazos y defendía [...]]]></description>
			<content:encoded><![CDATA[<p>Aun en el banquillo de los acusados es siempre interesante oír hablar de uno mismo. Durante los alegatos del Procurador y del abogado puedo decir que se habló mucho de mí y quizá más de mí que de mi crimen. ¿Eran muy diferentes, por otra parte, esos alegatos? El abogado levantaba los brazos y defendía mi culpabilidad, pero con excusas. El Procurador tendía las manos y denunciaba mi culpabilidad, pero sin excusas. Una cosa, empero, me molestaba vagamente. Pese a mis preocupaciones estaba a veces tentado de intervenir y el abogado me decía entonces: «Cállese, conviene más para la defensa.» En cierto modo parecían tratar el asunto prescindiendo de mí. Todo se desarrollaba sin mi intervención. Mi suerte se decidía sin pedirme la opinión. De vez en cuando sentía deseos de interrumpir a todos y decir: «Pero, al fin y al caso, ¿quién es el acusado? Es importante ser el acusado. Y yo tengo algo que decir.» Pero pensándolo bien no tenía nada que decir. Por otra parte, debo reconocer que el interés que uno encuentra en atraer la atención de la gente no dura mucho. Por ejemplo, el alegato del Procurador me fatigó muy pronto. Sólo me llamaron la atención o despertaron mi interés fragmentos, gestos o tiradas enteras, pero separadas del conjunto.</p>
<p>Si he comprendido bien, el fondo de su pensamiento es que yo había premeditado el crimen. Por lo menos, trató de demostrarlo. Como él mismo decía: «Lo probaré, señores, y lo probaré doblemente. Bajo la deslumbrante claridad de los hechos, en primer término, y en seguida, en la oscura iluminación que me proporcionará la psicología de esta alma criminal.» Resumió los hechos a partir de la muerte de mamá. Recordó mi insensibilidad, mi ignorancia sobre la edad de mamá, el baño del día siguiente con una mujer, el cine, Fernandel, y, por fin, el retorno con María. Necesité tiempo para comprenderle en ese momento porque decía «su amante» y para mí ella era María. Después se refirió a la historia de Raimundo. Me pareció que su manera de ver los hechos no carecía de claridad. Lo que decía era plausible. De acuerdo con Raimundo yo había escrito la carta que debía atraer a la amante y entregarla a los malos tratos de un hombre de «dudosa moralidad.» Yo había provocado en la playa a los adversarios de Raimundo. Este había resultado herido. Yo le había pedido el revólver. Había vuelto sólo para utilizarlo. Había abatido al árabe, tal como lo tenía proyectado. Había disparado una vez. Había esperado. Y «para estar seguro de que el trabajo estaba bien hecho», había disparado aún cuatro balas, serenamente, con el blanco asegurado, de una manera, en cierto modo, premeditada.</p>
<p>«Y bien, señores», dijo el Abogado General: «Acabo de reconstruir delante de ustedes el hilo de acontecimientos que condujo a este hombre a matar con pleno conocimiento de causa. Insisto en esto», dijo, «pues no se trata de un asesinato común, de un acto irreflexivo que ustedes podrían considerar atenuado por las circunstancias. Este hombre, señores, este hombre es inteligente. Ustedes le han oído, ¿no es cierto? Sabe contestar. Conoce el valor de las palabras. Y no es posible decir que ha actuado sin darse cuenta de lo que hacía».</p>
<p>Yo escuchaba y oía que se me juzgaba inteligente. Pero no comprendía bien cómo las cualidades de un hombre común podían convertirse en cargos aplastantes contra un culpable. Por lo menos, era esto lo que me chocaba y no escuché más al Procurador hasta el momento en que le oí decir: « ¿Acaso ha demostrado por lo menos arrepentimiento? Jamás, señores. Ni una sola vez en el curso de la instrucción este hombre ha parecido conmovido por su abominable crimen.» En ese momento se volvió hacia mí, me señaló con el dedo, y continuó abrumándome sin que pudiera comprender bien por qué. Sin duda no podía dejar de reconocer que tenía razón. No lamentaba mucho mi acto. Pero tanto encarnizamiento me asombraba. Hubiese querido tratar de explicarle cordialmente, casi con cariño, que nunca había podido sentir verdadero pesar por cosa alguna. Estaba absorbido siempre por lo que iba a suceder, por hoy o por mañana. Pero, naturalmente, en el estado en que se me había puesto, no podía hablar a nadie en este tono. No tenía derecho de mostrarme afectuoso, ni de tener buena voluntad.</p>
]]></content:encoded>
			<wfw:commentRss>http://uninstallme.com/fragmento-de-el-extranjero-off-topic-total/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CushyCMS, otra forma de gestionar contenidos</title>
		<link>http://uninstallme.com/cushycms-otra-forma-de-gestionar-contenidos/</link>
		<comments>http://uninstallme.com/cushycms-otra-forma-de-gestionar-contenidos/#comments</comments>
		<pubDate>Sun, 02 Nov 2008 15:21:45 +0000</pubDate>
		<dc:creator>kcmr</dc:creator>
				<category><![CDATA[Buenas ideas]]></category>
		<category><![CDATA[Cajón de sastre]]></category>
		<category><![CDATA[Utilidades]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[gestor contenidos]]></category>

		<guid isPermaLink="false">http://uninstallme.com/?p=338</guid>
		<description><![CDATA[¿Alguna vez te ha tocado hacer una web completamente estática para el conocido del amigo del primo de&#8230;? No es raro hacer una web muy pequeña, lo que antes se solía llamar un site presencial, para la que el &#8220;cliente&#8221; desea poder gestionar él mismo el contenido. En estos casos, usar un gestor de contenido [...]]]></description>
			<content:encoded><![CDATA[<p>¿Alguna vez te ha tocado hacer una web completamente estática para el conocido del amigo del primo de&#8230;? No es raro hacer una web muy pequeña, lo que antes se solía llamar un site presencial, para la que el &#8220;cliente&#8221; desea poder gestionar él mismo el contenido. En estos casos, usar un gestor de contenido suele ser un poco desproporcionado (&#8220;matar moscas a cañonazos&#8221;) y puede causar más problemas que soluciones. Incluso es posible que la web esté alojada en un servidor sin soporte para PHP u otros lenguajes de programación.</p>
<p>Hace poco encontré algo que me pareció una gran idea y la solución perfecta para estos casos. Se trata de <a href="http://www.cushycms.com/">CushyCMS</a>. Un sistema de gestión del contenido que no requiere la instalación de ningún CMS. ¿Cómo? Simplemente proporcionamos los datos de acceso FTP al servidor y añadimos una clase a cada elemento de la página que queramos que sea editable, permitiendo así la modificación del contenido mediante un editor WYSIWYG. En el vídeo que aparece en la web de CushyCMS se puede ver claramente su funcionamiento.</p>
<p>Desde luego que este sistema tiene muchas limitaciones y por ejemplo, para poder editar una página, esta tiene que existir, es decir, no permite la creación de nuevas páginas, sólo su edición. Aun así, su sencillísimo uso, tanto para el desarrollador como para el editor, hace que sea una opción muy a tener en cuenta a la hora de gestionar el contenido de sitios pequeños.</p>
]]></content:encoded>
			<wfw:commentRss>http://uninstallme.com/cushycms-otra-forma-de-gestionar-contenidos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Por qué Internet Explorer se identifica como Mozilla</title>
		<link>http://uninstallme.com/por-que-internet-explorer-se-identifica-como-mozilla/</link>
		<comments>http://uninstallme.com/por-que-internet-explorer-se-identifica-como-mozilla/#comments</comments>
		<pubDate>Sat, 16 Aug 2008 13:36:32 +0000</pubDate>
		<dc:creator>kcmr</dc:creator>
				<category><![CDATA[Cajón de sastre]]></category>
		<category><![CDATA[Navegadores]]></category>
		<category><![CDATA[Programas]]></category>
		<category><![CDATA[curiosidades]]></category>

		<guid isPermaLink="false">http://uninstallme.com/?p=178</guid>
		<description><![CDATA[En el título de este post aparece Internet Explorer como una forma de llamar la atención. La verdad, es que la mayoría de los navegadores modernos, y no sólo Explorer, se identifican como Mozilla, lo que unicamente quiere decir que son posteriores a 1994. Para saber el porqué de esta identificación, hay que remontarse a [...]]]></description>
			<content:encoded><![CDATA[<p>En el título de este post aparece Internet Explorer como una forma de llamar la atención. La verdad, es que la mayoría de los navegadores modernos, y no sólo Explorer, se identifican como Mozilla, lo que unicamente quiere decir que son posteriores a 1994.</p>
<p>Para saber el porqué de esta identificación, hay que remontarse a los tiempos en que los navegadores existentes en el mercado eran Mosaic y Netscape. En aquel momento Netscape era el más avanzado de los dos e incorporaba novedades como la etiqueta <code>&lt;center&gt;</code> o las cookies.</p>
<p><span id="more-178"></span></p>
<p>A alguien se le ocurrió por aquel entonces detectar el navegador usado según el comienzo de la cadena de identificación del navegador. Si empezaba por &#8220;Mozilla/&#8221; el navegador era Netscape y si empezaba por &#8220;Mosaic/&#8221; era obviamente Mosaic.</p>
<p>Cuando Internet Explorer apareció en escena, también soportaba las características más cool de su competidor Netscape, así que, para evitar ser discriminado por la detección de navegadores según la cadena de identificación del navegador, Explorer también usó el literal &#8220;Mozilla/&#8221;.</p>
<p>Así es como Explorer y navegadores posteriores han utilizado el literal de identifcación &#8220;Mozilla/&#8221; precísamente para evitar estas técnicas de detección del navegador.</p>
<p>Dejo a continuación algunos identificadores de navegadores actuales. El sistema operativo es Windows Vista, identificable en el literal como &#8220;Windows NT 6.0&#8243;:</p>
<ul>
<li><strong>Firefox 3.0.1:</strong> Mozilla/5.0 (Windows; U; Windows NT 6.0; es-ES; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1</li>
<li><strong>Internet Explorer 7:</strong> Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Mozilla/4.0 (compatible; MSIE  6.0; Windows NT 5.1; SV1) ; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET  CLR 3.0.04506; Tablet PC 2.0)</li>
<li><strong>Netscape Navigator 9.0.0.6:</strong> Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.1.12) Gecko/20080219 Firefox/2.0.0.12 Navigator/9.0.0.6</li>
<li><strong>Opera 9.51:</strong> Opera/9.51 (Windows NT 6.0; U; es-LA)</li>
<li><strong>Safari / Win:</strong> Mozilla/5.0 (Windows; U; Windows NT 6.0; es-ES) AppleWebKit/525.18 (KHTML, like Gecko) Version/3.1.1 Safari/525.17</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://uninstallme.com/por-que-internet-explorer-se-identifica-como-mozilla/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
