<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Tema: Trucos | Sentido Web</title>
<link>http://sentidoweb.com/</link>
<description>Actualidad y maneras de hacer en Internet (programación, diseño, tendencias, negocios...)</description>
<language>es</language>
<copyright>Copyright 2008</copyright>
<lastBuildDate>Tue, 16 Oct 2007 10:00:00 +0000</lastBuildDate>
<generator>http://www.movabletype.org/?v=3.2</generator>
<docs>http://blogs.law.harvard.edu/tech/rss</docs> 

<item>
<title>Trucos para la creación de un theme para WordPress</title>
<description><![CDATA[<p>Buen artículo en la que se nos cuenta una serie de trucos que usa el autor para realizar sus themes de WordPress. Mi opinión personal es que el código para hacer themes para WordPress no es demasiado bueno, pero claro, seguro que hay alguien que opina todo lo contrario, pero para los que opinen como yo seguro que estos consejos le vienen genial.</p>

<p>Empieza explicando diferentes usos de las <a href="http://codex.wordpress.org/Conditional_Tags">etiquetas condicionales</a>, las cuales nos indican si estamos en el home, visualizando una entrada... Con estas condiciones podemos resaltar dinámicamente los menús según en la opción que estemos, cambiar el título de la página según en la que nos encontremos, añadir contenido y muchas opciones más.</p>

<p>También nos explica cómo crear plantillas para categorías específicas, para lo cual solo deberemos añadir -n a category.php, pudiendo personalizar nuestro diseño dependiendo de la categoría a la que accedamos.</p>

<p>Otro ejemplo que nos cuenta es el modo de añadir la publicidad después del primer post, que quien dice después del primer post dice cada cierto número de posts, si se sigue el mismo método.</p>

<p>Una parte importante del post trata sobre las <a href="http://codex.wordpress.org/Template_Tags/query_posts">query posts</a>, las cuales nos permiten controlar los posts que aparecen. Pudiendo así mostrar los últimos posts, posts específicos o excluir algunos.</p>

<p>Para finalizar también destacar los consejos sobre <a href="http://codex.wordpress.org/Template_Tags/wp_list_pages">wp_list_pages</a>, la plantilla Page o los consejos de configuración de WP.</p>

<p><a href="http://www.webdesignerwall.com/tutorials/wordpress-theme-hacks/">WordPress Theme Hacks</a></p>]]></description>
<link>http://sentidoweb.com/2007/10/16/trucos-para-la-creacion-de-un-theme-para-wordpress.php</link>
<guid>http://sentidoweb.com/2007/10/16/trucos-para-la-creacion-de-un-theme-para-wordpress.php</guid>
<category>Trucos</category>
<pubDate>Tue, 16 Oct 2007 10:00:00 +0000</pubDate>
</item>
<item>
<title>Cómo leer tus correos de Hotmail en Gmail</title>
<description><![CDATA[<p><img alt="gmailhotmail.png" src="http://sentidoweb.com/img/2007/03/gmailhotmail.png" width="143" height="91" class="right"/>Muchos somos los que hemos pasado de Hotmail a Gmail, pero seguro que nos pasa lo mismo, hay gente que aún nos escribe a Hotmail y por mucho que les digas que ahora usas Gmail te siguen llegando los correos a la otra cuenta.</p>

<p>Si te encuentras con esta cuestión, hay un truco para poder leer los correos de Hotmail en Gmail. Para ello es necesaria la opción de GMail de leer otras cuentas POP3, porque aunque Hotmail no ofrece el servicio POP3, podemos usar el servicio <a href="http://pop3hot.com/how.aspx">IzyMail</a> para tener nuestros correos de Hotmail en POP3 y así poder leerlos mediante GMail.</p>

<p><a href="http://javedmandary.blogspot.com/2007/03/reading-your-hotmail-email-directly.html">Reading your Hotmail email directly from Gmail</a></p>

<p>Vía / <a href="http://lifehacker.com/software/gmail/how-to-read-your-hotmail-from-gmail-241120.php">Lifehacker</a></p>]]></description>
<link>http://sentidoweb.com/2007/03/05/como-leer-tus-correos-de-hotmail-en-gmail.php</link>
<guid>http://sentidoweb.com/2007/03/05/como-leer-tus-correos-de-hotmail-en-gmail.php</guid>
<category>Trucos</category>
<pubDate>Mon, 05 Mar 2007 11:00:00 +0000</pubDate>
</item>
<item>
<title>20 consejos para ser un gran diseñador web</title>
<description><![CDATA[<p>Según cuenta el autor, dice que hay una diferencia entre ser un buen diseñador web y un gran diseñador web, que es tomar atajos para hacer más sencillo tu trabajo sin que repercuta en la calidad. Por eso nos da una serie de consejos o trucos a seguir:</p>
<ul><li><strong>Planificación</strong>: aunque parece algo obvio, suele ser algo que no se lleva a cabo.</li>
<li><strong>Hazlo a mano</strong>: yo no podría estar más de acuerdo con este consejo. Existen aplicaciones muy buenas que te crean el código HTML sin tener que escribirlo uno, pero hacerlo tú mismo es algo que te va a dar mayor control sobre el diseño. Con un editor normal que te coloree el código debe ser más que suficiente.</li>
<li><strong>Hojas de estilo, enlazar o importar</strong>: hay dos formas de importar un CSS y no todos los navegadores reconocen las dos formas, por ello se puede usar ambas para que navegadores modernos y antiguos carguen el CSS.</li>
</ul><pre code="code_no"><code>&lt;link rel="stylesheet" href="simple. css" type="text/css" media="screen"&gt;
&lt;style type="text/css" media="screen"&gt;
@import url(simple.css);
&lt;/style&gt;</code></pre>
<ul><li><strong>Usar gradientes como fondo con cuidado</strong>: el uso de imágenes como fondo de pantalla es algo sobre lo que se puede y debe tener mucho control, se puede hacer un degradado vertical de ancho 1px y luego repetirlo solo en el eje x, y que el color de fondo sea el color en que finaliza el gradiente. Yo añadiría que cuidado con los gradientes, ahora están muy de moda, pero tampoco se debe abusar de ellos.</li>
<li><strong>Comentarios</strong>: imprescindibles para cualquier tipo de desarrollo, ya sea para una aplicación en .NET o para una página web. Otra cosa es que lo hagamos siempre.</li>

<li><strong>Usa simples scripts PHP</strong>: no es necesario ser un experto en PHP, pero si tu servidor lo admite, úsalo, sobre todo para incluir trozos de HTML que sean muy utilizados, como por ejemplo el código que crea el menú.</li>

<li><strong>Dimensiona las fuentes con <em>em</em></strong>: a los diseñadores les suele gustar usar <em>px</em> porque se ajusta exactamente al tamaño que quieren, pero el problema es que, por ejemplo, IE no redimensiona las fuentes definidas con <em>px</em> con el consiguiente problema de accesibilidad para los lectores con discapacidad.</li>

<li><strong>Hack en IE del modelo de caja</strong>: quizás no os haya pasado, pero IE tiene un bug con el tamaño de una capa cuando se usa <em>width</em> y <em>margin</em>, <em>padding</em> o <em>border</em>. Esto se soluciona usando el guión bajo delante del estilo (<em>_margin</em>), que IE reconocerá como el propio estilo, mientras que los otros navegadores lo ignorarán. No recomiendo seguir haciendo esto, porque con la nueva versión de IE podríais tener problemas ya que se ajusta más a los estándares.</li>

<li><strong>Espacio en los formularios</strong>: los <em>form</em> aunque no se vean tienen márgenes, cuando crees uno, no olvides quitarles el margen superior e inferior.</li>

<li><strong>Testea</strong>: imprescindible, sobre todo para intentar conseguir que funcione en casi todos los navegadores.</li>

<li><strong>Formato de imágenes</strong>: usa GIF para imágenes con colores planos y JPEG para imagenes tipo fotografía, aunque deberías usar PNG en ambos casos, ya que funciona tanto para colores planos como para tipo fotografia, el problema es que IE no admite el canal alpha, hay que esperar a IE7 para que lo podamos usar.</li>

<li><strong>Atributos <em>alt</em> y <em>title</em></strong>: para que la descripción de las imágenes o enlaces aparezcan correctamente en los dispositivos móviles.</li>
<li><strong>Orden de las pseudoclases</strong>: como ya explicamos en esta <a href="http://sentidoweb.com/2006/03/31/css-mnemotecnia-y-shorthand.php">entrada</a>.</li>
<li><strong>Lenguaje semántico</strong>: separa el contenido de la apariencia, si eliminamos la css de una página se debería ver correctamente.</li>
<li><strong>Favicons</strong>: los iconos que aparecen en los favoritos o en las pestañas, algo sencillo que representa a nuestra web.</li>
<li><strong>Usa máyusculas mediante CSS</strong>: cuando quieras escribir un texto completamente en mayúsculas usa <em>text-transform</em> en vez de escribirlo tú directamente en mayúsculas.</li>
<li><strong>Escribe el texto alrededor de las imagenes</strong>: algo ya comentado en esta <a href="http://sentidoweb.com/2006/06/15/floatutorial.php">entrada</a>.</li>
<li><strong>Usa UTF-8</strong>: no todo el mundo tiene tu idioma o tu juego de caracteres, vuelve a leer esta <a href="http://sentidoweb.com/2006/03/30/especial-utf8-i.php">entrada</a> para obtener más información.</li>
<li><strong>Estilos para impresora</strong>: crea estilos específicos para impresoras (<em>media="print"</em>)</li>
<li><strong>Aprende de otros</strong>: para eso nada mejore que <a href="http://CSSMania.com">CSSMania</a>.</li></ul>
<p><a href="http://www.netmag.co.uk/zine/design-tutorials/20-pro-tips">20 pro tips</a></p>
<p>Vía / <a href="http://digg.com/design/20_Pro_Web_Design_Tips">Digg</a></p>]]></description>
<link>http://sentidoweb.com/2006/07/20/20-consejos-para-ser-un-gran-disenador-web.php</link>
<guid>http://sentidoweb.com/2006/07/20/20-consejos-para-ser-un-gran-disenador-web.php</guid>
<category>Trucos</category>
<pubDate>Thu, 20 Jul 2006 10:30:00 +0000</pubDate>
</item>
<item>
<title>Vídeos sin el elemento embed</title>
<description><![CDATA[<p>Incluir vídeos, del tipo que sean, en nuestras páginas web suele traernos dificultades, sobre todo si queremos que sean vistas en cualquier navegador y si queremos seguir los estándares. Si os encontráis con este problema nada mejor que echarle un ojo a este artículo, en el cual se indica como incluir mediante el uso de la etiqueta <em>object</em> vídeos de distintos formatos, ya que <em>embed</em> no es estándar.</p>

<p>Entre los distintos tipos de vídeos que incluye están los que usa el F<strong>lash Player</strong>, como <strong>YouTube</strong> o <strong>Google Video</strong>, películas en formato <strong>Windows Media</strong> y <strong>QuickTime</strong>.</p>

<p>Ya no tienes excusa para seguir los estándares.</p>

<p><a href="http://www.alistapart.com/articles/byebyeembed">Bye, Bye &lt;embed&gt;</a></p>]]></description>
<link>http://sentidoweb.com/2006/07/11/videos-sin-el-elemento-embed.php</link>
<guid>http://sentidoweb.com/2006/07/11/videos-sin-el-elemento-embed.php</guid>
<category>Trucos</category>
<pubDate>Tue, 11 Jul 2006 17:30:00 +0000</pubDate>
</item>
<item>
<title>Cosas que no hay que hacer cuando usas AJAX</title>
<description><![CDATA[<p>Siempre es bueno aprender de todo, y una de las mejores formas de aprender es de los fallos, si son los tuyos, mejor, pero si son de otros, tambien bien. En este caso, se trata de un estudio sobre <a href="http://Live.com">Live.com</a> y algunas cosas que han encontrado que no son buenas a la hora de seguir.</p>
<ul><li><strong>Cuidado con las comunicaciones</strong>: el que AJAX se conecte al servidor para refrescar la página y no nos demos cuenta, tampoco quita que tengamos que estar conectando todo el tiempo. El número de conexiones repercute en el ancho de banda, lo cual puede ser negativo para el cliente y para el servidor.</li>
<li><strong>Tratar con XML es lento</strong>: cierto que el XML es muy bueno para transmitir datos, es legible para el programador y para el servidor, pero pasearlo nos puede llevar demasiado tiempo. Posible recomendación: <a href="http://www.json.org/">JSON</a>.</li>
<li><strong>Ir cargando la página poco a poco</strong>: las nuevas aplicaciones web suelen requerir de mucha programación, lo cual puede tardar en cargarse, y cuando si no se va mostrando algo, el usuario pensará que la página es lenta, por eso es preferible ir cargando lo necesario y luego ir cargando el resto, así el usuario no se desesperará.</li>
</ul>
<p>Vía / <a href="http://blogs.zdnet.com/Burnette/index.php?p=84">ZDNet.com</a></p>]]></description>
<link>http://sentidoweb.com/2006/06/19/cosas-que-no-hay-que-hacer-cuando-usas-ajax.php</link>
<guid>http://sentidoweb.com/2006/06/19/cosas-que-no-hay-que-hacer-cuando-usas-ajax.php</guid>
<category>AJAX</category>
<pubDate>Mon, 19 Jun 2006 10:48:16 +0000</pubDate>
</item>
<item>
<title>Recopilación de utilidades Javascript</title>
<description><![CDATA[<p>Una interesante lista de utilidades Javascript, agrupadas por acciones sobre <a href="http://www.squarefree.com/bookmarklets/pagelinks.html">enlaces</a> (buscar enlaces, ocultar visitados, eliminar redirecciones, ...), interactuación con <a href="http://www.squarefree.com/bookmarklets/forms.html">formularios</a> (transformar POST en URLs, mostrar ocultos, ...), uso de <a href="http://www.squarefree.com/bookmarklets/pagedata.html">texto y datos</a> (resaltar, ordenar tablas, ...), <a href="http://www.squarefree.com/bookmarklets/zap.htm">reemplazar objetos</a> (mostrar el texto alternativo de las imágenes en lugar de estas, quitar plugins, ...), <a href="http://www.squarefree.com/bookmarklets/webdevel.html">desarrollo web</a> (shell, modificar estilos, ...), <a href="http://www.squarefree.com/bookmarklets/validation.html">validaciones</a> (urls de imágenes incorrectas, validacion de HTML, ...) y por último un grupo de <a href="http://www.squarefree.com/bookmarklets/misc.ht">utilidades varias</a> (traducir la página, editarla, ...).</p>

<p><a href="http://www.squarefree.com/bookmarklets/">Bookmarklets</a></p>

<p>Vía / <a href="http://www.anieto2k.com/2006/06/11/recopilacion-de-utilidades-javascript/">aNieto2K</a></p>]]></description>
<link>http://sentidoweb.com/2006/06/12/recopilacion-de-utilidades-javascript.php</link>
<guid>http://sentidoweb.com/2006/06/12/recopilacion-de-utilidades-javascript.php</guid>
<category>Trucos</category>
<pubDate>Mon, 12 Jun 2006 17:15:00 +0000</pubDate>
</item>
<item>
<title>Cinco consejos sobre CSS</title>
<description><![CDATA[<p>Cada cual tiene su forma de desarrollar y todo aquel que considera que su experiencia puede ser de utilidad, da consejos sobre cómo poder hacer las cosas. Nunca viene mal aprender de otros, por eso os muestro 5 consejos que nos ofrece <a href="http://businesslogs.com/company/">Mike Rundle</a>.</p>
<ul><li>Organiza tus estilos según el siguiente formato: primero reune las que correspondan a los contenedores y layouts, después las cabeceras (<em>&lt;h1&gt;</em>..<em>&lt;h6&gt;</em>), seguido iría los párrafos y los enlaces, y por último todas las listas (navegación, ...).</li>
<li>No uses estilos por defecto, en vez de crear un estilo para todos los enlaces (<em>&lt;a&gt;</em>), defínelo contenido por bloques (por ejemplo: <em>#contenido a {..}</em>).</li>
<li>Utiliza etiquetas HTML para incluir estilos dentro de otros estilos, por ejemplo, si queremos que una línea tenga distintos colores, en vez de usar capas y clases, define estilos para etiquetas tipo &lt;em&gt; para que quede un código más limpio.</li>
<li>En vez de usar capas con un estilo definido, usa etiquetas HTML que representen la misma función que quieres mostrar, por ejemplo, en vez de usar una capa para el título, usa una etiqueta de cabeceras (<em>&lt;h1&gt;</em>..<em>&lt;h6&gt;</em>). No reinventes la rueda.</li>
<li>Nombra los estilos según su funcionalidad, no como aparecen, en vez de crearte un estilo llamado rojo, create uno que se llame error, cuando es precisamente un error lo que quieres mostrar.</li></ul>

<p><a href="http://businesslogs.com/design_and_usability/my_5_css_tips.php">My 5 CSS Tips</a></p>

<p>Vía / <a href="http://www.skimcss.com/skimview/5_Worthy_CSS_Tips">SkimCSS</a><br />
 </p>]]></description>
<link>http://sentidoweb.com/2006/05/31/cinco-consejos-sobre-css.php</link>
<guid>http://sentidoweb.com/2006/05/31/cinco-consejos-sobre-css.php</guid>
<category>CSS</category>
<pubDate>Wed, 31 May 2006 17:00:00 +0000</pubDate>
</item>
<item>
<title>Recomendaciones para una web más rápida</title>
<description><![CDATA[<p>Cal Henderson, desarrollador jefe de Flickr, nos hace una serie de recomendaciones para agilizar nuestra web. Iré explicándolas e intentando aportar mi propio punto de vista sobre ellas, de todas formas, es algo muy recomendable para leer.<br />
</p>]]></description>
<link>http://sentidoweb.com/2006/05/23/recomendaciones-para-una-web-mas-rapida.php</link>
<guid>http://sentidoweb.com/2006/05/23/recomendaciones-para-una-web-mas-rapida.php</guid>
<category>Trucos</category>
<pubDate>Tue, 23 May 2006 15:35:32 +0000</pubDate>
</item>
<item>
<title>Simples optimizaciones para tus aplicaciones MySQL/PHP</title>
<description><![CDATA[<p>Una serie de trucos que podemos utilizar para mejorar nuestras aplicaciones MySQL / PHP, traducido (lo mejor posible) de la fuente:</p>
<h3>MySQL</h3>
<ul><li>MySQL interpreta de derecha a izquierda, por lo que los limitadores más significativos los debes poner lo más a la derecha posible.</li>
<li>Selecciona los campos que vayas a necesitar, no todos (*).</li>
<li>No pongas en datos que se vayan a modificar rara vez, utiliza ficheros de propiedades.</li>
<li>Usa índices para las columnas que aparezcan en el <em>WHERE</em> y en el <em>ORDER BY</em>.</li>
<li>Los índices son buenos cuando la tabla se modifica con frecuencia, pero hace lentas las inserciones.</li>
<li>Usa el comando <em>EXPLAIN</em> para analizar tus índices.</li>
<li>Si solo quieres obtener una fila, usa <em>LIMIT 1</em> así parará de buscar datos.</li>
<li>Si usas <em>$linea = mysql_fetch_array($resultado)</em>, hay dos modos de obtener los datos: <em>$linea[n]</em> y <em>$linea['columna']</em>. Si vas a acceder solo por el nombre de la columna, usa <em>$linea = mysql_fetch_assoc($resultado)</em>, así no se creará el índice numérico.</li>
<li>Algunas veces <em>mysql_free_result()</em> gasta mas memoria que la que salva, comprueba la diferencia con <em>memory_get_usage()</em>.</li>
<li>No hagas siempre la misma consulta en la BD, guarda los resultados.</li>
<li>Usa <em>NOT NULL</em> siempre que puedas, agiliza la ejecución y ahorra un bit.</li>
<li>Usa tipos de datos que se ajusten a las necesidades, por ejemplo, en vez de usar <em>INT</em>, que puede ser muy grande, usa <em>MEDIUMINT</em> o <em>SMALLINT</em> cuando sea posible.</li>
<li>Usa valores por defecto, inserta solo cuando sean diferentes a estos, agilizarás las inserciones.</li>
</ul>
<h3>PHP</h3>
<ul><li>Intenta agrupar bloques de código
<pre><code>&lt;?php
...
...
...
?&gt;</code></pre>
es mas efectivo que
<pre><code>&lt;?php
...
?&gt;
&lt;?php
...
?&gt;
&lt;?php
...
?&gt;</code></pre></li>
<li>No concatenes texto cuando no sea necesario
<pre><code>"SELECT * FROM $tabla ORDER BY campo"</code></pre>
es más efectivo que
<pre><code>"SELECT * FROM ".$tabla." ORDER BY campo"</code></pre></li>
<li>Utiliza la comilla simple (') en vez de la comilla doble (") siempre que no vayas a usar variables dentro, la comilla doble hace que el intérprete analice lo que hay dentro de las comillas.</li>
<li>La forma más rápida de concatenar texto es usando comillas simples.</li>
<li>Cuando uses <em>echo</em>, separa los strings por comas mejor que con puntos, es más rápido. Esto solo funciona con <em>echo</em>.</li>
<li><em>echo</em> es más rápido que <em>print</em>.</li>
<li>Indica el valor máximo para tus bucles <em>for</em> fuera del bucle en vez de dentro del bucle, porque si no, se evaluará la expresión en cada pasada del bucle
<pre><code>$max = 100/10;
for($i=0; $i&lt;$max; $i++){
...
}</code></pre>
es más rápido que
<pre><code>for($i=0; $i&lt;100/10; $i++){
...
}</code></pre>
</li>
<li>Libera variables siempre que puedas, sobre todo arrays pesados.</li></ul>
<p><a href="http://www.dublish.com/articles/10.html">Simple Optimization for PHP and MySQL</a></p>
<p>Vía / <a href="http://digg.com/programming/Simple_Optimization_for_PHP_and_MySQL">Digg</a></p>]]></description>
<link>http://sentidoweb.com/2006/05/05/simples-optimizaciones-para-tus-aplicaciones-mysql/php.php</link>
<guid>http://sentidoweb.com/2006/05/05/simples-optimizaciones-para-tus-aplicaciones-mysql/php.php</guid>
<category>Trucos</category>
<pubDate>Fri, 05 May 2006 17:30:00 +0000</pubDate>
</item>
<item>
<title>30 &apos;chuletas&apos; para desarrolladores</title>
<description><![CDATA[<p>Aunque ahora estamos acostumbrados a buscar directamente en Google cuando tenemos una duda, se suele tardar mucho menos, nunca viene mal tener una "chuleta" con lo que solemos utilizar. Una lista bastante amplia y útil, aunque algunas no son de las "bonitas" que ocupan un folio y alguna que otra es de pago: </p>

<ul><li>Desarrollo web (JavaScript, CSS, códigos hexadecimales, HTML, XHTML, entidades HTML)</li>

<li>Bases de datos (MySQL, Oracle, SQL)</li>

<li>Lenguajes (PHP, Ruby, expresiones regulares, JSP, Java)</li>

<li>Control de versiones (CVS)</li>

<li>Otras (Google, Windows, Unix, Vi, mod_rewrite, códigos de caracteres ASCII, htaccess)</li></ul>

<p><a href="http://www.petefreitag.com/item/455.cfm">Cheat Sheet Roundup - Over 30 Cheatsheets for developers</a></p>

<p>Vía / <a href="http://meneame.net/story.php?id=15616">Menéame</a></p>]]></description>
<link>http://sentidoweb.com/2006/05/04/30-chuletas-para-desarrolladores.php</link>
<guid>http://sentidoweb.com/2006/05/04/30-chuletas-para-desarrolladores.php</guid>
<category>Trucos</category>
<pubDate>Thu, 04 May 2006 12:30:00 +0000</pubDate>
</item>
<item>
<title>Modifica dónde guardar los marcadores de Firefox</title>
<description><![CDATA[<p><img alt="firefox.png" src="http://sentidoweb.com/img/2006/04/firefox.png" width="120" height="120" class="right"/>Hoy me he encontrado con que apagué mal el ordenador ayer, y cuando he ido a poner el Firefox... [tachaaan]... no tenía los marcadores. ¡Socorro!, todos los feeds que tengo con el <a href="http://sage.mozdev.org/">Sage</a> perdidos. Aunque he podido recuperarlos, y aún no sé cómo, lo que sí he querido hacer es guardar los marcadores en otro directorio, en el cual se hacen copias de seguridad.</p>
<p>El método es sencillo:</p>
<ul><li>Cierra Firefox</li>
<li>Copia o mueve el archivo bookmarks.html y el bookmarks.bak que se hayan en el <a href="http://www.mozilla.org/support/firefox/profile">profile</a> en el directorio nuevo</li>
<li>Escribe <em>about:config</em> en la barra de dirección de Firefox</li>
<li>Haz click con el botón derecho del ratón, pulsa en <em>Nuevo->Cadena</em></li>
<li>Escribe como nombre de la preferencia: <em>browser.bookmarks.file</em></li>
<li>Escribe el path completo del archivo bookmarks.html (incluido el nombre del archivo)</li>
</ul>
<p>Listo, ya tenemos cambiada la localización de los marcadores.</p>
<p><a href="http://ilias.ca/blog/2006/04/customize-firefox-bookmarks-location.html">Customize the Firefox Bookmarks location</a></p>]]></description>
<link>http://sentidoweb.com/2006/04/11/modifica-donde-guardar-los-marcadores-de-firefox.php</link>
<guid>http://sentidoweb.com/2006/04/11/modifica-donde-guardar-los-marcadores-de-firefox.php</guid>
<category>Firefox</category>
<pubDate>Tue, 11 Apr 2006 12:00:00 +0000</pubDate>
</item>
<item>
<title>Funciones anónimas y autoejecutables en javascript</title>
<description><![CDATA[<p>¿Sabías que en javascript una función puede contener a otras? Pues ahora ya lo sabes. Fíjate en el siguiente código:</p>

<pre><code>function barrioSesamo() {
    function epi() {
        alert('hola Blas');
    }

    function blas() {
        alert('hola Epi');
    }

    epi();
    blas();
}

barrioSesamo();
// el navegador nos presentará un par
// de alertas, a saber, "hola Blas" y
// "hola Epi"
</code></pre>

<p>Nada impresionante, por el momento. Lo interesante del asunto es que, al definir la función <code>epi</code> dentro de la función <code>barrioSesamo</code>, el ámbito de la misma (<i lang="en" xml:lang="en">scope</i>) queda limitado, de manera que solo podemos llamar a <code>epi</code> desde su propio barrio.</p>

<p>Vale, sigo sin impresionarte.</p>
]]></description>
<link>http://sentidoweb.com/2006/04/05/funciones-anonimas-y-autoejecutables-en-javascript.php</link>
<guid>http://sentidoweb.com/2006/04/05/funciones-anonimas-y-autoejecutables-en-javascript.php</guid>
<category>Trucos</category>
<pubDate>Wed, 05 Apr 2006 14:56:40 +0000</pubDate>
</item>
<item>
<title>Convierte tus scripts de Greasemonkey en extensiones</title>
<description><![CDATA[<p>Para aquellos que les gusten los scripts de <a href="http://greasemonkey.mozdev.org/">Greasemonkey</a>, o para aquellos que no tengan instalado Greasemonkey, pero que les guste alguna funcionalidad, ahora hay un <a href="http://www.arantius.com/misc/greasemonkey/script-compiler.php">script</a> que te crea una extensión para Firefox con el script de Greasemonkey. </p>

<p>Claro, que si eres de los que usas varios scripts en Greasemonkey, no creo que este script sea para ti, porque no es plan de tener muchas extensiones, una para cada script, cuando las puedes gestionar con una sola extensión, supongo que sería más eficiente.</p>

<p>Vía / <a href="http://www.lifehacker.com/software/greasemonkey/turn-your-greasemonkey-scripts-into-firefox-extensions-164741.php">Lifehacker</a></p>]]></description>
<link>http://sentidoweb.com/2006/04/04/convierte-tus-scripts-de-greasemonkey-en-extensiones.php</link>
<guid>http://sentidoweb.com/2006/04/04/convierte-tus-scripts-de-greasemonkey-en-extensiones.php</guid>
<category>Trucos</category>
<pubDate>Tue, 04 Apr 2006 11:00:00 +0000</pubDate>
</item>
<item>
<title>Traducción del botón de FeedBurner al español</title>
<description><![CDATA[<p><img alt="boton-feedburner-castellano.gif" src="http://sentidoweb.com/img/2006/04/boton-feedburner-castellano.gif" width="99" class="right" height="101" /> Hasta Sentido Web, como primera nano que lanzamos en castellano, no habíamos puesto atención a la necesidad de traducir el <strong>readers</strong> de los botones de <a href="http://feedburner.com">FeedBurner</a> que muestran el número de suscriptores.</p>

<p>Como no hay <strike>ninguna referencia "oficial"</strike> (<a href="http://www.burningdoor.com/ardiendo/2006/02/customiza_feedcount_en_tu_idio.html">aviso</a> de <a href="http://www.unblogmas.com">Jordi</a>), y previa consulta a <a href="http://tecnorantes.com">Juan Luis</a> (representante de <a href="http://feedburner.es">FeedBurner en España</a>), ahí va el truco que varios sitios ya aplican... </p>

<p>Solo tienes que añadir en el código del botón justo después de <strong>animo=0"</strong> si tú botón es el estático o <strong>anim=1"</strong> si tienes el animado y asegurándote de borrar la comilla al lado del <strong>0</strong> o del <strong>1</strong> ya que la pondremos luego: <code>&label=lectores"</code>. El <strong>lectores</strong> lo puedes sustituir por un texto de 8 caracteres para respetar el tamaño del botón. Para nosotros, el ideal sería <strong>suscriptores</strong> pero sale cortado.</p>

<p>El código de nuestro botón:</p>

<pre>&#060;a href="http://feeds.feedburner.com/sentidoweb"&#062;&#060;img src="http://feeds.feedburner.com/~fc/sentidoweb?bg=008585&amp;fg=ffffff&amp;anim=0&amp;label=lectores" height="26" width="88" border="0" alt="Feed de Sentido Web" /&#062;&#060;/a&#062;</pre>]]></description>
<link>http://sentidoweb.com/2006/04/03/traduccion-del-boton-de-feedburner-al-espanol.php</link>
<guid>http://sentidoweb.com/2006/04/03/traduccion-del-boton-de-feedburner-al-espanol.php</guid>
<category>Lectores RSS</category>
<pubDate>Mon, 03 Apr 2006 09:30:00 +0000</pubDate>
</item>
<item>
<title>CSS: Mnemotecnia y shorthand</title>
<description><![CDATA[<p>Seguimos <a href="http://sentidoweb.com/2006/03/27/consejos-para-organizar-tus-css.php">organizando las hojas de estilo</a>.</p>

<p>La <a href="http://buscon.rae.es/draeI/SrvltGUIBusUsual?LEMA=mnemotecnia&amp;TIPO_HTML=2&amp;FORMATO=ampliado&amp;sourceid=mozilla-search" title="Definición en el diccionario de la Real Academia Española">mnemotecnia</a> (o nemotecnia) es un proceso de asociación mental destinado a facilitar el recuerdo de algo. Ese algo puede ser, por ejemplo, el orden de declaración de las reglas de presentación para los enlaces (link no visitado, visitado, etc.). Para recodar el orden nos servirán los términos en inglés (mayúsculas especialmente) <acronym title="En castellano, 'amor odio'">LoVe HAte</acronym>.</p>

<h3>LoVe HAte</h3>

<p>Es conveniente recordar que el orden correcto de las declaraciones es este y no otro:</p>

<pre><code>a:link { /* Love hate */
}

a:visited { /* loVe hate */
}

a:hover { /* love Hate */
}

a:active { /* love hAte */
}
</code></pre>

<h3>TRouBLe</h3>

<p>Algunas propiedades CSS se pueden definir en forma taquigráfica (<i lang="en" xml:lang="en">shorthand</i>). </p>

<p>Por ejemplo, para definir los márgenes de un elemento podemos usar <code>margin-top: 0; margin-right: 1em; margin-bottom: 1em; margin-left: 1em</code> o, para ahorrar teclas y bytes, usar la versión corta:</p>

<pre><code>#unSelector {
    margin: 0 1em 1em 1em;
}
</code></pre>

<p>El orden de los valores es el siguiente: arriba, derecha, abajo, izquierda. Esto es, empezamos a asignar valores en sentido de las agujas del reloj (de las doce de la mañana y acabamos a las nueve de la noche). Mnemotécnicamente sería, TRouBLe (top, right, bottom, left).</p>

<p>Estas versiones abreviadas pueden llevar, atención, uno, dos, tres o cuatro valores, ahí es <em>ná</em>. Veamos:</p>

<pre><code>#unSelector {
    margin: 0;
    /* margen 0 por los cuatro costados */
}

#unSelector {
    margin: 0 1em;
    /* márgenes superior e inferior a cero,
       márgenes izquierdo y derecho de 1em */
}

#unSelector {
    margin: 0 1em 2em;
    /* huy, este tiene truco: margen superior, cero;
       margen derecho, 1em; margen inferior, 2em. 
       ¿Y el izquierdo? en caso de tener 
       tres valores, se toma el segundo, esto es el 
       valor es el mismo para los dos laterales */
}

#unSelector {
    margin: 0 1em 2em 1em;
    /* TRouBLe, como ya hemos comentado */
}
</code></pre>

<p>Claro está que lo dicho para los márgenes también es aplicable a <code>padding</code>, <code>border-width</code>, <code>border-style</code>, <code>border-color</code> y seguramente a alguna propiedad más que ahora mismo (¡café!) no está en mi cabeza.</p>

<p>Más sobre <a href="http://www.weblioteca.com.ar/textos/mente/memoriaynemotecnia.htm">Memoria y reglas nemotécnicas</a>.</p>
]]></description>
<link>http://sentidoweb.com/2006/03/31/css-mnemotecnia-y-shorthand.php</link>
<guid>http://sentidoweb.com/2006/03/31/css-mnemotecnia-y-shorthand.php</guid>
<category>Trucos</category>
<pubDate>Fri, 31 Mar 2006 11:00:00 +0000</pubDate>
</item>


</channel>
</rss>