<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2spanishfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.nexoblogs.com/~d/styles/itemcontent.css"?><rss version="2.0">
<!-- Generado by OboLog XML-O-Matic Script -->
<channel>
	<title><![CDATA[Pixelovers]]></title>
	<link>http://www.pixelovers.com</link>
	<description><![CDATA[Diseño web basado en estándares, usabilidad, accesibilidad y otras disciplinas relacionadas con el desarrollo web.]]></description>
	<language>es-es</language>
	<pubDate>Fri, 03 Sep 2010 17:59:05 +0100</pubDate>
	<lastBuildDate>Fri, 03 Sep 2010 17:59:05 +0100</lastBuildDate>
	<docs>http://blogs.law.harvard.edu/tech/rss</docs>
	<generator>OboLog XML-O-Matic Script</generator>
	<managingEditor>webmaster@obolog.com</managingEditor>
	<webMaster>webmaster@obolog.com</webMaster>
	<image><link>http://www.pixelovers.com</link><url>http://www.obolog.com/css/blogs/cobranding/nexoblogs/pixelovers/pixelovers-small.png</url><title>Pixelovers</title></image>
	<feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="pixelovers" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://www.pixelovers.com/index.xml" /><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">Pixelovers</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Fwww.pixelovers.com%2Findex.xml" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.bloglines.com/sub/http://www.pixelovers.com/index.xml" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Fwww.pixelovers.com%2Findex.xml" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://fusion.google.com/add?feedurl=http%3A%2F%2Fwww.pixelovers.com%2Findex.xml" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Fwww.pixelovers.com%2Findex.xml" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://add.my.yahoo.com/content?lg=es&amp;url=http%3A%2F%2Fwww.pixelovers.com%2Findex.xml" src="http://eur.i1.yimg.com/eur.yimg.com/i/es/my/addto1.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.feedness.com/alta/http://www.pixelovers.com/index.xml" src="http://www.feedness.com/ayuda/wp-content/square_b_sh_feed.gif">Subscribe with Feedness</feedburner:feedFlare><item>
		<title>Codificando XHTML y CSS más rapido con Zen-Coding</title>
		<link>http://www.pixelovers.com/codificando-xhtml-css-mas-rapido-zen-coding-867859</link>
		<description>&lt;p&gt;&lt;img style="float: right; margin: 10px;" src="http://static.obolog.net/multimedia/fotos/868000/867859/867859-287152.jpg" alt="" width="100" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Zen Coding&lt;/strong&gt; es un plugin que est&amp;aacute; disponible para casi todos los editores del mercado y con el que podras &lt;strong&gt;codificar HTML/XML/CSS a gran velocidad&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Este plugin nos ofrece dos funcionalidades:&lt;/p&gt;
&lt;ul&gt;
&lt;li style="margin-top:10px;"&gt;&lt;span style="text-decoration: underline;"&gt;Expansi&amp;oacute;n de abreviaciones&lt;/span&gt;:  con unas &lt;a href="http://code.google.com/p/zen-coding/wiki/ZenHTMLElementsEn" target="_blank"&gt;abreviaciones determinadas&lt;/a&gt; (muy sencillas, ya que son muy parecidas a los selectores de CSS) podremos generar gran cantidad c&amp;oacute;digo HTML/XML/CSS con una simple combinaci&amp;oacute;n de teclas.&lt;/li&gt;
&lt;li style="margin-top:10px;"&gt;&lt;span style="text-decoration: underline;"&gt;Selecci&amp;oacute;n de bloques (pares de tags)&lt;/span&gt;: Pudiendo realizar &lt;a href="http://code.google.com/p/zen-coding/wiki/Actions" target="_blank"&gt;una serie de acciones&lt;/a&gt; como seleccionar pares de tags, ir a zonas editables de los tags, envolver (wrap) un bloque con otras abreviaciones, comentar/borrar bloques y m&amp;aacute;s cosas.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Para que veais lo que se puede hacer con este plugin os dejo aqu&amp;iacute; un video.&lt;/p&gt;
&lt;p&gt;
&lt;object width="500" height="344" data="http://vimeo.com/moogaloop.swf?clip_id=7405114&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=00ADEF&amp;amp;fullscreen=1" type="application/x-shockwave-flash"&gt;
&lt;param name="allowfullscreen" value="true" /&gt;
&lt;param name="allowscriptaccess" value="always" /&gt;
&lt;param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=7405114&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=00ADEF&amp;amp;fullscreen=1" /&gt;
&lt;/object&gt;
&lt;/p&gt;
&lt;p&gt;Tambi&amp;eacute;n hay disponible una &lt;a href="http://zen-coding.ru/demo/" target="_blank"&gt;demo online&lt;/a&gt; desde la que podeis probar su funcionamiento via web (CTRL+E para expandir, requiere Javascript)&lt;/p&gt;&lt;h2 style="font-size: 1.5em;"&gt;Ejemplos&lt;/h2&gt;
&lt;p&gt;Veamos un ejemplo sencillo. Esta abreviaci&amp;oacute;n :&lt;/p&gt;
&lt;pre style="color: #000000; font: normal normal normal 12px/1.5em 'Lucida Grande', Helvetica, Arial, sans-serif; background-color: #eaf5fc; margin: 8px;"&gt;&lt;code&gt;
	div#page&amp;gt;div.logo+ul#navigation&amp;gt;li*5&amp;gt;a

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Nos generaria lo siguiente (con una combinaci&amp;oacute;n de teclas que depende del editor, pero normalmente CTRL + ,)&lt;/p&gt;
&lt;pre style="color: #000000; font: normal normal normal 12px/1.5em 'Lucida Grande', Helvetica, Arial, sans-serif; background-color: #ecfcea; margin: 8px;"&gt;&lt;code&gt;
	&amp;lt;div id="page"&amp;gt;
		 &amp;lt;div&amp;gt;&amp;lt;/div&amp;gt;
		 &amp;lt;ul id="navigation"&amp;gt;
		 &amp;lt;li&amp;gt;&amp;lt;a href=""&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
		 &amp;lt;li&amp;gt;&amp;lt;a href=""&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
		 &amp;lt;li&amp;gt;&amp;lt;a href=""&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
		 &amp;lt;li&amp;gt;&amp;lt;a href=""&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
		 &amp;lt;li&amp;gt;&amp;lt;a href=""&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
		 &amp;lt;/ul&amp;gt;
	&amp;lt;/div&amp;gt;

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Otro ejemplo mas completo. La siguiente abreviaci&amp;oacute;n:&lt;/p&gt;
&lt;pre style="color: #000000; font: normal normal normal 12px/1.5em 'Lucida Grande', Helvetica, Arial, sans-serif; background-color: #eaf5fc; margin: 8px;"&gt;&lt;code&gt;
   html:xs&amp;gt;(div#header.header&amp;gt;img.logo[src="http://www.google.es" title="logo" alt=
   "logo"])+(div#content.content&amp;gt;h1+p*5)+(div#footer.footer&amp;gt;ul&amp;gt;li*5&amp;gt;a[href="./"])

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Nos generaria el siguiente c&amp;oacute;digo:&lt;/p&gt;
&lt;pre style="color: #000000; font: normal normal normal 12px/1.5em 'Lucida Grande', Helvetica, Arial, sans-serif; background-color: #ecfcea; margin: 8px;"&gt;&lt;code&gt;

  &amp;lt;!DOCTYPE html PUBLIC 
  "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&amp;gt;
  &amp;lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"&amp;gt;
    &amp;lt;head&amp;gt;
	  &amp;lt;meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /&amp;gt;
	  &amp;lt;title&amp;gt;&amp;lt;/title&amp;gt;
    &amp;lt;/head&amp;gt;
    &amp;lt;body&amp;gt;
	  &amp;lt;div id="header"&amp;gt;
	    &amp;lt;img src="http://www.google.es" alt="logo" class="logo" title="logo" /&amp;gt;
	  &amp;lt;/div&amp;gt;
	  &amp;lt;div id="content"&amp;gt;
		&amp;lt;h1&amp;gt;&amp;lt;/h1&amp;gt;
		&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;
		&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;
		&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;
		&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;
		&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;
	  &amp;lt;/div&amp;gt;
	  &amp;lt;div id="footer"&amp;gt;
		&amp;lt;ul&amp;gt;
			&amp;lt;li&amp;gt;&amp;lt;a href="./"&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
			&amp;lt;li&amp;gt;&amp;lt;a href="./"&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
			&amp;lt;li&amp;gt;&amp;lt;a href="./"&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
			&amp;lt;li&amp;gt;&amp;lt;a href="./"&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
			&amp;lt;li&amp;gt;&amp;lt;a href="./"&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
		&amp;lt;/ul&amp;gt;
	  &amp;lt;/div&amp;gt;
    &amp;lt;/body&amp;gt;
  &amp;lt;/html&amp;gt;

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Mola , eh?&lt;/p&gt;
&lt;h2 style="font-size: 1.5em;"&gt;Editores&lt;/h2&gt;
&lt;p&gt;Hay una serie de plugins oficiales (desarrollados por el equipo de Zen Coding y con todas las caracteristicas de Zen Coding)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Aptana/Eclipse (crossplatform)&lt;/li&gt;
&lt;li&gt;TextMate (Mac).&lt;/li&gt;
&lt;li&gt;Coda (Mac)&lt;/li&gt;
&lt;li&gt;Espresso (Mac)&lt;/li&gt;
&lt;li&gt;Komodo Edit/IDE (crossplatform)&lt;/li&gt;
&lt;li&gt;Notepad++ (Windows)&lt;/li&gt;
&lt;li&gt;PSPad (Windows)&lt;/li&gt;
&lt;li&gt;&amp;lt;textarea&amp;gt; (browser-based)&lt;/li&gt;
&lt;li&gt;editArea (browser-based)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pero ademas hay plugins desarrollados por terceros (en los que no se garantiza que esten disponibles todas las funcionalidades de Zen Coding) como pueden ser los de Dreamweaver o los de Vim&lt;/p&gt;
&lt;p&gt;Puedes acceder a todos los plugins disponibles para los editores desde&amp;nbsp;&lt;a href="http://code.google.com/p/zen-coding/downloads/list" target="_blank"&gt;aqu&amp;iacute;&lt;/a&gt;&amp;nbsp;o desde&amp;nbsp;&lt;a href="http://code.google.com/p/zen-coding/" target="_blank"&gt;aqu&amp;iacute;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style="font-size: 1.5em;"&gt;Enlaces y mas&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.smashingmagazine.com/2009/11/21/zen-coding-a-new-way-to-write-html-code/" target="_blank"&gt;Zen Coding: A Speedy Way To Write HTML/CSS Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://code.google.com/p/zen-coding/" target="_blank"&gt;Zen Coding &amp;mdash; a new way of writing HTML and CSS code&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://zen-coding.googlecode.com/files/ZenCodingCheatSheet.pdf" target="_blank"&gt;Zen Coding cheat sheet (PDF)&amp;nbsp;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://zen-coding.ru/demo/" target="_blank"&gt;Zen Coding Demo&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En definitiva, esta es una herramienta de las que dices &amp;ldquo;&amp;iquest;D&amp;oacute;nde has estado toda mi vida?&amp;rdquo;.&amp;nbsp;Se acostumbra uno muy rapido a utilizarla ya que te ahorra muuuuuucho tiempo a la hora de codificar HTML/XML/CSS. Dentro de poco os vereis haciendo "CTRL + ," en cualquier editor de textos&amp;nbsp;&lt;img style="border: 0px initial initial;" title="Gui&amp;ntilde;o" src="http://www.obolog.com/js/tinymce/plugins/emotions/img/smiley-wink.gif" border="0" alt="Gui&amp;ntilde;o" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;iquest;Qu&amp;eacute; os parece esta herramienta? &amp;iquest;La conoc&amp;iacute;ais? &amp;iquest;Conoceis alguna herramienta similar?&lt;/p&gt;
&lt;p&gt;Esperamos vuestros comentarios.&lt;/p&gt;			&lt;p&gt;
			Leer &lt;strong&gt;&lt;a href="http://www.pixelovers.com/codificando-xhtml-css-mas-rapido-zen-coding-867859" title="Codificando XHTML y CSS más rapido con Zen-Coding"&gt;Codificando XHTML y CSS más rapido con Zen-Coding&lt;/a&gt;&lt;/strong&gt; en &lt;a href="http://www.pixelovers.com" title="Diseño y desarrollo web"&gt;Pixelovers&lt;/a&gt;
			&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/R1y2H_IUNT8fiW2SzL5MBmLtNfM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/R1y2H_IUNT8fiW2SzL5MBmLtNfM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/R1y2H_IUNT8fiW2SzL5MBmLtNfM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/R1y2H_IUNT8fiW2SzL5MBmLtNfM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=swPAvQACKjI:FI8koYCLxus:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=swPAvQACKjI:FI8koYCLxus:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=swPAvQACKjI:FI8koYCLxus:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?i=swPAvQACKjI:FI8koYCLxus:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<author>juanmaguitar</author>
				<category>xhtml</category>
				<category>rapido</category>
				<category>plugin</category>
				<category>html</category>
				<category>fast</category>
				<category>escribir</category>
				<category>css</category>
				<category>coding</category>
				<category>codificar</category>
				<comments>http://www.pixelovers.com/codificando-xhtml-css-mas-rapido-zen-coding-867859#formulario</comments>
		<guid>http://www.pixelovers.com/codificando-xhtml-css-mas-rapido-zen-coding-867859</guid>
		<pubDate>Mon, 30 Aug 2010 09:00:00 +0100</pubDate>
	</item>
	<item>
		<title>Sticky Footer: Como mantener el Footer en la parte inferior del navegador</title>
		<link>http://www.pixelovers.com/sticky-footer-mantener-footer-parte-inferior-navegador-862098</link>
		<description>&lt;p&gt;En la maquetaci&amp;oacute;n de nuestros sitios web nos encontramos muchas veces&amp;nbsp;con que tenemos que solucionar un peque&amp;ntilde;o problema: necesitamos mantener el footer pegado al pie de la pagina sea como sea el contenido de esta.&lt;/p&gt;
&lt;p&gt;Este tipo de problema con el Footer tambien lo puedes encontrar por la red con el nombre de &amp;nbsp;&amp;ldquo;Sticky Footer &amp;ldquo; (Pie de pagina pegajoso) y aunque hay varias soluciones por la red, &amp;nbsp;yo voy a compartir aqu&amp;iacute; una que me funciona muy bien. Y si algo te funciona, &amp;iquest;para que cambiar? &amp;iquest;No?&lt;/p&gt;&lt;p&gt;Asi que, resumiendo&amp;hellip; &amp;iquest;c&amp;oacute;mo se va a comportar nuestro Footer cuando apliquemos esta tecnica?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Que hay mucho contenido&amp;hellip; pues la pagina har&amp;aacute; su Scroll (como mandan los canones) y debajo de todo tendremos a nuestro Footer&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Que hay poco contenido&amp;hellip; pues veremos toda nuestra pagina sin Scroll y ah&amp;iacute; debajo bien situado, pegadito al borde de abajo, veremos a nuestro Footer saludando &lt;img title="Sonrisa" src="http://www.obolog.com/js/tinymce/plugins/emotions/img/smiley-smile.gif" border="0" alt="Sonrisa" /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esta t&amp;eacute;cnica nos viene de la mano de&amp;nbsp;&lt;a href="http://ryanfait.com/" target="_blank"&gt;Ryan Fait&amp;nbsp;&lt;/a&gt;&amp;nbsp;y lo unico que hay que hacer es a&amp;ntilde;adir un DIV de mas.&lt;/p&gt;
&lt;p&gt;Es decir para una estructura HTML como esta&amp;hellip;&lt;/p&gt;
&lt;pre style="color: #000000; font: normal normal normal 12px/1.5em 'Lucida Grande', Helvetica, Arial, sans-serif; background-color: #ecfcea; margin: 8px;"&gt;&lt;code&gt;&lt;br /&gt;  &amp;lt;body&amp;gt;&lt;br /&gt;&lt;br /&gt;    &lt;strong&gt;&amp;lt;div id="container"&amp;gt;&lt;/strong&gt;&lt;br /&gt;      &amp;lt;div id="header"&amp;gt; &amp;hellip; &amp;lt;/div&amp;gt;&lt;br /&gt;      &amp;lt;div id=&amp;rdquo;content&amp;rdquo;&amp;gt; &amp;hellip; &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;      &lt;strong&gt;&amp;lt;div class="push"&amp;gt;&amp;lt;/div&amp;gt;&lt;/strong&gt;&lt;br /&gt;    &lt;strong&gt;&amp;lt;/div&amp;gt;&lt;/strong&gt;&lt;strong&gt;    &lt;br /&gt;    &amp;lt;div id=&amp;rdquo;footer&amp;rdquo;&amp;gt; &amp;hellip; &amp;lt;/div&amp;gt;&lt;/strong&gt;  &lt;br /&gt;&lt;br /&gt;  &amp;lt;/body&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;aplicar&amp;iacute;amos este CSS &amp;hellip;&lt;/p&gt;
&lt;pre style="color: #000000; font: normal normal normal 12px/1.5em 'Lucida Grande', Helvetica, Arial, sans-serif; background-color: #ecfcea; margin: 8px;"&gt;&lt;code&gt;&lt;br /&gt;  * { margin: 0; }&lt;br /&gt;  html, body { height: 100%; }&lt;br /&gt;  &lt;span style="color:#BBBBBB;"&gt;/* El margin-bottom de container es el valor negativo de la altura del footer */ &lt;/span&gt;&lt;br /&gt;  #container { min-height: 100%; height: auto !important; height: 100%; &lt;br /&gt;               margin: 0 auto -4em;&amp;nbsp; }&lt;br /&gt;  &lt;span style="color:#BBBBBB;"&gt;/* .push debe tener la misma altura que footer */&lt;/span&gt;&lt;br /&gt;  #footer, .push { height: 4em; clear:both; }	&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Puedes ver&amp;nbsp;&lt;a href="http://ryanfait.com/sticky-footer/" target="_blank"&gt;un ejemplo&lt;/a&gt;&amp;nbsp;de esta tecnica de la mano del propio autor.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;iquest;Y tu? &amp;iquest;Conoces alguna otra t&amp;eacute;cnica &amp;ldquo;definitiva&amp;rdquo; para solucionar este problema?&lt;/p&gt;
&lt;p&gt;Esperamos vuestros comentarios&lt;/p&gt;			&lt;p&gt;
			Leer &lt;strong&gt;&lt;a href="http://www.pixelovers.com/sticky-footer-mantener-footer-parte-inferior-navegador-862098" title="Sticky Footer: Como mantener el Footer en la parte inferior del navegador"&gt;Sticky Footer: Como mantener el Footer en la parte inferior del navegador&lt;/a&gt;&lt;/strong&gt; en &lt;a href="http://www.pixelovers.com" title="Diseño y desarrollo web"&gt;Pixelovers&lt;/a&gt;
			&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ur8Jp4WSR5zmjwFWgSteQ32s23w/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ur8Jp4WSR5zmjwFWgSteQ32s23w/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ur8Jp4WSR5zmjwFWgSteQ32s23w/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ur8Jp4WSR5zmjwFWgSteQ32s23w/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=nWE9X61CIY8:OUPrD10ubYo:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=nWE9X61CIY8:OUPrD10ubYo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=nWE9X61CIY8:OUPrD10ubYo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?i=nWE9X61CIY8:OUPrD10ubYo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<author>juanmaguitar</author>
				<category>sticky footer</category>
				<category>pie de pagina</category>
				<category>maquetado</category>
				<category>footer</category>
				<category>desarrollo web</category>
				<category>css</category>
				<category>xhtml</category>
				<comments>http://www.pixelovers.com/sticky-footer-mantener-footer-parte-inferior-navegador-862098#formulario</comments>
		<guid>http://www.pixelovers.com/sticky-footer-mantener-footer-parte-inferior-navegador-862098</guid>
		<pubDate>Tue, 24 Aug 2010 09:02:00 +0100</pubDate>
	</item>
	<item>
		<title>jQuery Mobile: jQuery para teléfonos moviles</title>
		<link>http://www.pixelovers.com/jquery-mobile-jquery-telefonos-moviles-860626</link>
		<description>&lt;div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"&gt;http://static.obolog.net/multimedia/fotos/861000/860626/860626-284172.jpg&lt;/div&gt;
&lt;p&gt;&lt;img style="float: left; margin: 20px;" src="http://static.obolog.net/multimedia/fotos/861000/860626/860626-284172.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;John Resig (creador de jQuery),&amp;nbsp; &lt;a href="http://jquerymobile.com/2010/08/announcing-the-jquery-mobile-project/" target="_blank"&gt;nos presentaba&lt;/a&gt; &amp;nbsp;hace unos dias oficialmente el nuevo proyecto del equipo de jQuery: &lt;a href="http://jquerymobile.com" target="_blank"&gt;jQuery Mobile&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Hasta ahora, para el desarrollo frontend de webs para dispositivos moviles habia que utilizar &lt;a href="http://www.pixelovers.com/interfaces-graficas-usuario-plantillas-diseno-489880" target="_blank"&gt;plantillas de dise&amp;ntilde;o&lt;/a&gt; que podiamos encontrar por la red&amp;nbsp;y plugins del tipo &lt;a href="http://www.pixelovers.com/jqtouch-plugin-jquery-desarrollo-web-moviles-368493" target="_blank"&gt;jQTouch&lt;/a&gt;, pero no habia una solucion integrada y estable&amp;hellip; hasta ahora.&lt;/p&gt;&lt;p&gt;El objetivo de jQuery Mobile es el de ofrecer las herramientas necesarias para &amp;ldquo;desarrollar JavaScript de alto nivel y con un interfaz unificado, que funcione en los navegadores de los dispositivos moviles mas utilizados&amp;rdquo;&amp;hellip; suena bien, no?&lt;/p&gt;
&lt;p&gt;&lt;img style="float: right; margin: 20px; border: 0px initial initial;" src="http://static.obolog.net/multimedia/fotos/861000/860626/860626-284171.jpg" alt="" width="150" /&gt;&lt;/p&gt;
&lt;p&gt;Entre otras cosas, este Framework nos ofrece unas plantillas optimizadas para moviles con la idea de unificar el dise&amp;ntilde;o de widgets y layouts.&lt;/p&gt;
&lt;p&gt;Podeis ver algunos de estos dise&amp;ntilde;os&amp;nbsp;&lt;a href="http://jquerymobile.com/designs/" target="_blank"&gt;aqu&amp;iacute;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Pero la principal diferencia que ofrece este nuevo Framework es la amplia variedad de navegadores para moviles con la que estan trabajando para ofrecer la maxima compatibilidad.&lt;/p&gt;
&lt;p&gt;Para conseguir esto, estan utilizando una tabla llamada&amp;nbsp;&lt;a href="http://jquerymobile.com/gbs/" target="_blank"&gt;Graded Browser Support&lt;/a&gt;&amp;nbsp;(ideada por Yahoo) en la que se clasifican los browsers y dispositivos en diferentes grados:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Grado A&amp;nbsp;&lt;/strong&gt;: browser de alta calidad y en dispositivos populares.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Grado B&lt;/strong&gt;&amp;nbsp;:&amp;nbsp; browser de baja calidad en dispositivos populares o browser de alta calidad en pocos dispositivos del mercado&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Grado C&lt;/strong&gt;&amp;nbsp;: browser de baja calidad y poco utilizado .&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Podeis ver como queda esta tabla actualmente en la siguiente imagen:&lt;/p&gt;
&lt;p&gt;&lt;img style="vertical-align: text-bottom; text-align: center; margin: 10px; border: 0px initial initial;" src="http://static.obolog.net/multimedia/fotos/861000/860626/860626-284173.jpg" alt="" width="450" /&gt;&lt;/p&gt;
&lt;p&gt;Pues bien, el objetivo de jQuery Mobile es ofrecer soporte a todos los navegadores de grado A y B&lt;/p&gt;
&lt;p&gt;Asi que, una buena noticia para los desarrolladores web ya que esta nueva herramienta nos va a facilitar (y mucho) el desarrollo de aplicaciones para moviles.&lt;/p&gt;
&lt;p&gt;&amp;iexcl;Ah! Se me olvidaba&amp;hellip; est&amp;aacute; previsto que salga a finales de a&amp;ntilde;o.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&amp;nbsp;NOTA:&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Hace poco pude &amp;ldquo;asistir&amp;rdquo; (via web) a una conferencia online en la que John Resig nos contaba como se debian abordar las pruebas de rendimiento y de compatibilidad en un desarrollo en JS para moviles. Podeis ver esta presentaci&amp;oacute;n en&amp;nbsp;&lt;/em&gt;&lt;a href="http://www.slideshare.net/jeresig/testing-mobile-javascript" target="_blank"&gt;&lt;em&gt;slideshare&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;En esta charla analizaba los dispositivos moviles y los browsers disponibles en el mercado y nos explicaba c&amp;oacute;mo hacer un testeo para moviles en condiciones (basado sobre todo, como decia, en&amp;nbsp;&lt;/em&gt;&lt;a href="http://developer.yahoo.com/yui/articles/gbs/" target="_blank"&gt;&lt;em&gt;Yahoo!s Graded Browser Support technique&lt;/em&gt;&lt;/a&gt;&lt;em&gt;).&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Todo lo que explicaba en esta charla es lo que estan aplicando para el desarrollo de jQuery Mobile&amp;nbsp;&lt;img style="border: 0px initial initial;" title="Todo bien" src="http://www.obolog.com/js/tinymce/plugins/emotions/img/smiley-cool.gif" border="0" alt="Todo bien" /&gt;&lt;/em&gt;&lt;/p&gt;			&lt;p&gt;
			&lt;a href="http://www.pixelovers.com/fotos/jquery-mobile-jquery-telefonos-moviles-860626" title="Fotos de jQuery Mobile: jQuery para teléfonos moviles"&gt;Ver álbum de fotos&lt;/a&gt; |
			Leer &lt;strong&gt;&lt;a href="http://www.pixelovers.com/jquery-mobile-jquery-telefonos-moviles-860626" title="jQuery Mobile: jQuery para teléfonos moviles"&gt;jQuery Mobile: jQuery para teléfonos moviles&lt;/a&gt;&lt;/strong&gt; en &lt;a href="http://www.pixelovers.com" title="Diseño y desarrollo web"&gt;Pixelovers&lt;/a&gt;
			&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/B1yh1c_ImaxtR0L59YD4VvYw95g/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/B1yh1c_ImaxtR0L59YD4VvYw95g/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/B1yh1c_ImaxtR0L59YD4VvYw95g/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/B1yh1c_ImaxtR0L59YD4VvYw95g/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=r5t3p9rweF4:yuTzGvyKxtQ:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=r5t3p9rweF4:yuTzGvyKxtQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=r5t3p9rweF4:yuTzGvyKxtQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?i=r5t3p9rweF4:yuTzGvyKxtQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<author>juanmaguitar</author>
				<category>movil</category>
				<category>mobile</category>
				<category>jquery</category>
				<category>javascript</category>
				<category>desarrollo web</category>
				<comments>http://www.pixelovers.com/jquery-mobile-jquery-telefonos-moviles-860626#formulario</comments>
		<guid>http://www.pixelovers.com/jquery-mobile-jquery-telefonos-moviles-860626</guid>
		<pubDate>Thu, 19 Aug 2010 21:19:00 +0100</pubDate>
	</item>
	<item>
		<title>Rediseño de Flickr</title>
		<link>http://www.pixelovers.com/rediseno-flickr-661134</link>
		<description>&lt;p&gt;El otro d&amp;iacute;a Juanma coment&amp;oacute; sobre &lt;a title="Facebok Facelift, el lavado de cara de Facebook" href="http://www.pixelovers.com/facebook-facelift-lavado-cara-facebook-661033"&gt;Facebook Facelift, el lavado de cara de Facebook&lt;/a&gt; y hoy me he encontrado que &lt;strong&gt;Flickr han cambiado la p&amp;aacute;gina de fotos&lt;/strong&gt;. Hay que reconocer que el mensaje es muy llamativo: "We're introducing a new photo page, and you can check it out early. &lt;strong&gt;Take me to the future&lt;/strong&gt;!" que viene a significar: "Estamos presentando una nueva p&amp;aacute;gina de foto y tu puedes echarle un vistazo antes de tiempo. &amp;iexcl;&lt;strong&gt;Ll&amp;eacute;vame al futuro&lt;/strong&gt;!&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;a class="thickbox" title="Flickr anuncia nueva p&amp;aacute;gina de foto" href="http://static.obolog.net/multimedia/fotos/662000/661134/661134-264569.jpg"&gt;&lt;img title="Flickr anuncia nueva p&amp;aacute;gina de foto" src="http://static.obolog.net/multimedia/fotos/662000/661134/661134-264569_p.jpg" alt="Flickr anuncia nueva p&amp;aacute;gina de foto" width="456" height="300" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Por mi naturaleza aventurera y hambrienta de cosas nuevas no he podido resistirme a darle al enlace. Y me he llevado una grata sorpresa,&amp;nbsp;&lt;strong style="font-weight: bold;"&gt;un p&amp;aacute;gina de foto m&amp;aacute;s grande, m&amp;aacute;s r&amp;aacute;pida y m&amp;aacute;s al estilo Flickr&lt;/strong&gt;, como ellos mismos indican.&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;a title="Nuevo dise&amp;ntilde;o de Flickr" href="http://static.obolog.net/multimedia/fotos/662000/661134/661134-264585.jpg"&gt;&lt;img style="border: 0px initial initial;" title="Nuevo dise&amp;ntilde;o de Flickr" src="http://static.obolog.net/multimedia/fotos/662000/661134/661134-264585_p.jpg" alt="Nuevo dise&amp;ntilde;o de Flickr" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style="text-align: left;"&gt;Para facilitarte la navegaci&amp;oacute;n por la nueva p&amp;aacute;gina te ofrecen una breve visita que consiste en 4 pasos por las principales caracter&amp;iacute;sticas:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong style="font-weight: bold;"&gt;Explorar y ver&lt;/strong&gt;: Puedes navegar r&amp;aacute;pidamente por la foto y la galer&amp;iacute;a: 
&lt;ul&gt;
&lt;li&gt;&lt;strong style="font-weight: bold;"&gt;D&amp;oacute;nde est&amp;aacute;s&lt;/strong&gt;:&amp;nbsp; Ve r&amp;aacute;pidamente a la siguiente foto. encima de la foto a la derecha tienes 2 botones para ir a la anterior y a la siguiente foto.&lt;/li&gt;
&lt;li&gt;&lt;strong style="font-weight: bold;"&gt;Acercarse&lt;/strong&gt;:&amp;nbsp; Mira esta foto m&amp;aacute;s grande en la vista de caja de luz (lightbox). Entre los botones anteriores hay una lupa que te permite ampliar la foto actual. Tambi&amp;eacute;n puedes ampliarla haciendo click en la foto.&lt;/li&gt;
&lt;li&gt;&lt;strong style="font-weight: bold;"&gt;Vista previa&lt;/strong&gt;:&amp;nbsp; Echa un vistazo a la cinta de pel&amp;iacute;cula para ver las fotos relacionadas con esta. Debajo del mapa puedes ver una cinta de fotos que cuando pasas el rat&amp;oacute;n por encima aparece una flecha a la derecha y/o izquierda para ir corriendo la cinta.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong style="font-weight: bold;"&gt;Qui&amp;eacute;n, qu&amp;eacute;, d&amp;oacute;nde&lt;/strong&gt;: 
&lt;ul&gt;
&lt;li&gt;&lt;strong style="font-weight: bold;"&gt;&amp;iquest;De qu&amp;eacute; es esta foto?&lt;/strong&gt;:&amp;nbsp; Un t&amp;iacute;tulo y una descripci&amp;oacute;n pueden proporcionar detalles elementales acerca de esta foto. Debajo de la foto aparece el t&amp;iacute;tulo y la descripci&amp;oacute;n.&lt;/li&gt;
&lt;li&gt;&lt;strong style="font-weight: bold;"&gt;La historia detr&amp;aacute;s de esta foto&lt;/strong&gt;:&amp;nbsp; Todos los detalles clave se pueden encontrar aqu&amp;iacute;: qui&amp;eacute;n la tom&amp;oacute;, cu&amp;aacute;ndo se tom&amp;oacute;, el lugar y m&amp;aacute;s. A la derecha de la foto tienes toda la informaci&amp;oacute;n referente a la foto.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong style="font-weight: bold;"&gt;Comentar y compartir&lt;/strong&gt;: 
&lt;ul&gt;
&lt;li&gt;&lt;strong style="font-weight: bold;"&gt;Favoritas e intercambio&lt;/strong&gt;:&amp;nbsp; Guarda tus fotos favoritas, comp&amp;aacute;rtelas con un amigo, agr&amp;eacute;gales una etiqueta y m&amp;aacute;s. Ahora hay un men&amp;uacute; de acciones relacionado con la foto arriaba a la izquierda que nos permitir&amp;aacute; f&amp;aacute;cilemente: Agregar una etiqueta, Escribir una nota, Agregar una persona, Agregar al/quitar del &amp;aacute;lbum, Agregar a un grupo, Ver m&amp;aacute;s tama&amp;ntilde;os, Ver presentaci&amp;oacute;n, Ver datos Exif, Encargar impresiones y m&amp;aacute;s, Rotar, Editar foto en Picnik, Editar el t&amp;iacute;tulo, la descripci&amp;oacute;n y las etiquetas, Reemplazar esta foto, Eliminar esta foto&lt;/li&gt;
&lt;li&gt;&lt;strong style="font-weight: bold;"&gt;Agregar a la conversaci&amp;oacute;n&lt;/strong&gt;:&amp;nbsp; Deja la tuya aqu&amp;iacute;. "&amp;iexcl;Vaya, esta me encanta!"&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong style="font-weight: bold;"&gt;Personas y lugar&lt;/strong&gt;: 
&lt;ul&gt;
&lt;li&gt;&lt;strong style="font-weight: bold;"&gt;&amp;iexcl;Coloca tu foto en el mapa!&lt;/strong&gt;:&amp;nbsp; Y responde a la pregunta: "Qu&amp;eacute; buena toma, &amp;iquest;d&amp;oacute;nde tomaste esta foto?" Dan m&amp;aacute;s importancia a la geolocalizaci&amp;oacute;n de las fotos.&lt;/li&gt;
&lt;li&gt;&lt;strong style="font-weight: bold;"&gt;Agregar personas y etiquetas&lt;/strong&gt;:&amp;nbsp; Cu&amp;eacute;ntanos qui&amp;eacute;n o qui&amp;eacute;nes est&amp;aacute;n en las fotos y agr&amp;eacute;gales etiquetas para describirlos. Esto te ayudar&amp;aacute; a organizarte y a hacer tus fotos m&amp;aacute;s memorables.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Aqu&amp;iacute; os dejo una captura donde se indican todos los cambios:&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;a title="Nuevo dise&amp;ntilde;o de Flickr con informaci&amp;oacute;n" href="http://static.obolog.net/multimedia/fotos/662000/661134/661134-264587.jpg"&gt;&lt;img style="border: 0px initial initial;" title="Nuevo dise&amp;ntilde;o de Flickr con informaci&amp;oacute;n" src="http://static.obolog.net/multimedia/fotos/662000/661134/661134-264587_p.jpg" alt="Nuevo dise&amp;ntilde;o de Flickr con informaci&amp;oacute;n" width="276" height="300" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;La verdad es que es un&amp;nbsp;&lt;strong style="font-weight: bold;"&gt;gran avance&lt;/strong&gt;&amp;nbsp;y seg&amp;uacute;n lo vas usando te das cuenta que es muy intuitivo y tienes todas las acciones a mano. Sigue teniendo el mismo aspecto, limpio y sencillo, al que nos tiene acostumbrado Flickr. Auqnue me atrever&amp;iacute;a a decir que es m&amp;aacute;s limpio y sencillo ahora. Al hacer el&amp;nbsp;&lt;strong style="font-weight: bold;"&gt;layout m&amp;aacute;s grande&lt;/strong&gt;, pasando de 800px a 975px, les permite tambi&amp;eacute;n ampliar la foto de 500px a 640px y la columna de la derecha de 247px a 300px.&lt;/p&gt;
&lt;p&gt;&amp;iquest;Vosotros que opin&amp;aacute;is del nuevo dise&amp;ntilde;o? Os cuesta encontrar las cosas, o como me ha pasado a mi &amp;iquest;hab&amp;eacute;is descubirto cosas que no sab&amp;iacute;as que exist&amp;iacute;an, o estaban muy escondidas?&lt;/p&gt;			&lt;p&gt;
			&lt;a href="http://www.pixelovers.com/fotos/rediseno-flickr-661134" title="Fotos de Rediseño de Flickr"&gt;Ver álbum de fotos&lt;/a&gt; |
			Leer &lt;strong&gt;&lt;a href="http://www.pixelovers.com/rediseno-flickr-661134" title="Rediseño de Flickr"&gt;Rediseño de Flickr&lt;/a&gt;&lt;/strong&gt; en &lt;a href="http://www.pixelovers.com" title="Diseño y desarrollo web"&gt;Pixelovers&lt;/a&gt;
			&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/j3z2ARufek2IEjXw0XpLOz5eevc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/j3z2ARufek2IEjXw0XpLOz5eevc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/j3z2ARufek2IEjXw0XpLOz5eevc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/j3z2ARufek2IEjXw0XpLOz5eevc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=u63f_ySDCMI:Bpw0NxKosUo:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=u63f_ySDCMI:Bpw0NxKosUo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=u63f_ySDCMI:Bpw0NxKosUo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?i=u63f_ySDCMI:Bpw0NxKosUo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<author>jorgecasar</author>
				<category>redes sociales</category>
				<category>rediseño</category>
				<category>flickr</category>
				<category>diseño web</category>
				<category>diseño gráfico</category>
				<category>diseño de interfaces</category>
				<category>diseño</category>
				<comments>http://www.pixelovers.com/rediseno-flickr-661134#formulario</comments>
		<guid>http://www.pixelovers.com/rediseno-flickr-661134</guid>
		<pubDate>Tue, 29 Jun 2010 10:07:00 +0100</pubDate>
	</item>
	<item>
		<title>Facebook Facelift, el lavado de cara de Facebook</title>
		<link>http://www.pixelovers.com/facebook-facelift-lavado-cara-facebook-661033</link>
		<description>&lt;p&gt;&lt;img style="float: right; margin: 10px;" title="facebook facelift" src="http://static.obolog.net/multimedia/fotos/662000/661033/661033-264524.jpg" alt="facebook facelift" width="172" height="172" /&gt;En febrero de este a&amp;ntilde;o, &lt;a href="http://blog.facebook.com/blog.php?post=287459122130" target="_blank"&gt;Facebook hizo el ultimo cambio en su interface&lt;/a&gt;. Con este cambio se mejor&amp;oacute; la navegabilidad de la aplicaci&amp;oacute;n y puso mas a mano las opciones mas usadas por los usuarios.&lt;/p&gt;
&lt;p&gt;Pero desde algunos puntos de Internet piden un cambio m&amp;aacute;s radical de la interface de Facebook.&lt;/p&gt;
&lt;p&gt;Este es el caso de&amp;nbsp; &lt;a href="http://www.behance.net/Gallery/Facebook-Facelift-Home-Profiles-_amp-Publisher/314489" target="_blank"&gt;&lt;strong&gt;The Facebook Facelift&lt;/strong&gt;&lt;/a&gt; que es una iniciativa promovida por &lt;a href="http://www.behance.net/expansiondesign" target="_blank"&gt;Barton Smith&lt;/a&gt; para mejorar la interfaz de Facebook con un nuevo dise&amp;ntilde;o que mejora la distribuci&amp;oacute;n del contenido y la experiencia de usuario.&lt;/p&gt;
&lt;p&gt;La iniciativa tiene un&amp;nbsp;&lt;a href="http://www.facebook.com/group.php?gid=172253541180" target="_blank"&gt;grupo dentro del mismo Facebook&lt;/a&gt; para sumar apoyos a esta propuesta.&lt;/p&gt;&lt;p&gt;Aqu&amp;iacute; teneis el video para que veais lo que propone:&lt;/p&gt;
&lt;p&gt;
&lt;object width="600" height="405" data="http://vimeo.com/moogaloop.swf?clip_id=6977587&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=00ADEF&amp;amp;fullscreen=1" type="application/x-shockwave-flash"&gt;
&lt;param name="allowfullscreen" value="true" /&gt;
&lt;param name="allowscriptaccess" value="always" /&gt;
&lt;param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=6977587&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=00ADEF&amp;amp;fullscreen=1" /&gt;
&lt;/object&gt;
&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;a href="http://vimeo.com/6977587"&gt;Facebook Facelift - Home &amp;amp;  Profiles&lt;/a&gt; from &lt;a href="http://vimeo.com/bartonsmith"&gt;Barton Smith&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Tambi&amp;eacute;n se pueden ver pantallazos de su propuesta en &lt;a href="http://www.flickr.com/photos/wearetol/sets/72157622429094317/" target="_blank"&gt;Flickr&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;La verdad es que el dise&amp;ntilde;o propuesto es una pasada y despu&amp;eacute;s de ver  el video y los pantallazos se queda uno un poco frustrado al volver al  Facebook de siempre.&lt;/p&gt;
&lt;p&gt;Desde luego, esta propuesta tiene mi voto &lt;img title="Todo bien" src="http://www.obolog.com/js/tinymce/plugins/emotions/img/smiley-cool.gif" border="0" alt="Todo bien" /&gt;&lt;/p&gt;
&lt;p&gt;Y a ti &amp;iquest;qu&amp;eacute; te parece esta propuesta de redise&amp;ntilde;o del Facebook?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;			&lt;p&gt;
			Leer &lt;strong&gt;&lt;a href="http://www.pixelovers.com/facebook-facelift-lavado-cara-facebook-661033" title="Facebook Facelift, el lavado de cara de Facebook"&gt;Facebook Facelift, el lavado de cara de Facebook&lt;/a&gt;&lt;/strong&gt; en &lt;a href="http://www.pixelovers.com" title="Diseño y desarrollo web"&gt;Pixelovers&lt;/a&gt;
			&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ZEaHHNaRuOgdOtfwCO1QbCCi9VE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZEaHHNaRuOgdOtfwCO1QbCCi9VE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ZEaHHNaRuOgdOtfwCO1QbCCi9VE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ZEaHHNaRuOgdOtfwCO1QbCCi9VE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=oka-zPmS-K4:nvHBa6ko70s:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=oka-zPmS-K4:nvHBa6ko70s:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=oka-zPmS-K4:nvHBa6ko70s:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?i=oka-zPmS-K4:nvHBa6ko70s:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<author>juanmaguitar</author>
				<category>diseño gráfico</category>
				<category>diseño web</category>
				<category>facebook</category>
				<category>redes sociales</category>
				<category>rediseño</category>
				<comments>http://www.pixelovers.com/facebook-facelift-lavado-cara-facebook-661033#formulario</comments>
		<guid>http://www.pixelovers.com/facebook-facelift-lavado-cara-facebook-661033</guid>
		<pubDate>Sun, 27 Jun 2010 12:25:00 +0100</pubDate>
	</item>
	<item>
		<title>Anywhere: Hovercards</title>
		<link>http://www.pixelovers.com/anywhere-hovercards-633853</link>
		<description>&lt;p&gt;&lt;img style="float: right;" title="Twitter Hovercards" src="http://static.obolog.net/multimedia/fotos/634000/633853/633853-259813.jpg" alt="Twitter Hovercards" width="344" height="174" /&gt;Continuando con serie de art&amp;iacute;culos dedicados al anywhere, ya&amp;nbsp; vimos la semana pasada como &lt;a title="Anywhere: Auto-linkification of Twitter usernames" href="http://www.pixelovers.com/anywhere-auto-linkification-twitter-usernames-610375"&gt;enlazar nombre de usuario de Twitter&lt;/a&gt;. Y esta semana hemos analizado la funci&amp;oacute;n &lt;var&gt;hovercards&lt;/var&gt;, la cual nos permite mostrar la ficha de usuario de Twitter en los nombres de usuario que haya en nuestra p&amp;aacute;gina.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;La forma sencilla de llamar a esta funci&amp;oacute;n es mediante:&lt;/p&gt;
&lt;pre style="color: #000000; font: normal normal normal 12px/1.5em 'Lucida Grande', Helvetica, Arial, sans-serif; margin: 8px;"&gt;&lt;code&gt;T.hovercards();&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Cabe destacar que esta funci&amp;oacute;n llamar&amp;aacute;, implicitamente, a linkifyUser, por lo que no ser&amp;aacute; necesario hacer cosas como:&lt;/p&gt;
&lt;pre style="color: #000000; font: normal normal normal 12px/1.5em 'Lucida Grande', Helvetica, Arial, sans-serif; margin: 8px;"&gt;&lt;code&gt;T.linkifyUsers().hovercards();&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Pero igual que&amp;nbsp;&lt;var&gt;linkifyUsers&lt;/var&gt;&amp;nbsp;tiene opciones de personalizaci&amp;oacute;n, aparte del selector de la funci&amp;oacute;n T, del que hablamos en el art&amp;iacute;culo de&amp;nbsp;&lt;var&gt;linkifyUsers&lt;/var&gt;, as&amp;iacute; que nos centraremos en los par&amp;aacute;metros de la propia funci&amp;oacute;n&amp;nbsp;&lt;var&gt;hovercards&lt;/var&gt;. Esta funci&amp;oacute;n puede recibir como par&amp;aacute;metro un objeto con las siguientes propiedades:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong style="font-weight: bold;"&gt;linkify&lt;/strong&gt;: Esta propiedad sirve para indicar si queremos llamar a la funci&amp;oacute;n&amp;nbsp;&lt;var&gt;linkifyUsers&lt;/var&gt;&amp;nbsp;o no (por defecto el valor es true).&lt;/li&gt;
&lt;li&gt;&lt;strong style="font-weight: bold;"&gt;infer&lt;/strong&gt;: Nos permitir&amp;aacute; indicarle a la funci&amp;oacute;n si el nombre de usuario se encuentra dentro del texto del elemento seleccionado o no (por defecto es false).&amp;nbsp; Esta propiedad no es compatible con la anterior, si ponemos infer a true linkify pasar&amp;aacute; a false.&lt;/li&gt;
&lt;li&gt;&lt;strong style="font-weight: bold;"&gt;username&lt;/strong&gt;: nos permite identificar cual es el nombre de usuario, cuando no se encuentra en el texto del elemento. Esta propiedad tampoco es compatible con linkify, si especificamos un username linkify pasar&amp;aacute; a false.&lt;/li&gt;
&lt;li&gt;&lt;strong style="font-weight: bold;"&gt;expanded&lt;/strong&gt;:Permite mostrar la hovercard con la informaci&amp;oacute;n extendida. Con toda la que sale tras pulsar en el "more...". Parece ser que no lo tienen implementado. No me ha funcionado y no he encontrado evidencia alguna en el c&amp;oacute;digo.&lt;/li&gt;
&lt;li&gt;&lt;strong style="font-weight: bold;"&gt;complete&lt;/strong&gt;: Tal y como suced&amp;iacute;a en&amp;nbsp;&lt;var&gt;linkifyUsers&lt;/var&gt;&amp;nbsp;hemos encontrado en el c&amp;oacute;digo tambi&amp;eacute;n la llamada a la funci&amp;oacute;n&lt;var&gt;complete&lt;/var&gt;&amp;nbsp;en&amp;nbsp;&lt;var&gt;hovercards&lt;/var&gt;.&amp;nbsp;&lt;strong style="font-weight: bold;"&gt;Atributo no documentado&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong style="font-weight: bold;"&gt;selector&lt;/strong&gt;: Por defecto es: 'a.twitter-anywhere-user' pero puedes indicarle otro selecotr sobre el que aplicar las hovercards, por ejemplo si utilizaste el atributo className de linkifyUsers.&amp;nbsp;&lt;strong style="font-weight: bold;"&gt;Atributo no documentado.&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;			&lt;p&gt;
			Leer &lt;strong&gt;&lt;a href="http://www.pixelovers.com/anywhere-hovercards-633853" title="Anywhere: Hovercards"&gt;Anywhere: Hovercards&lt;/a&gt;&lt;/strong&gt; en &lt;a href="http://www.pixelovers.com" title="Diseño y desarrollo web"&gt;Pixelovers&lt;/a&gt;
			&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/lV2OaiyHi_J96zdekTyQeUVakhs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lV2OaiyHi_J96zdekTyQeUVakhs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/lV2OaiyHi_J96zdekTyQeUVakhs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lV2OaiyHi_J96zdekTyQeUVakhs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=9ERRQdaRn0M:aBVaNidGBlE:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=9ERRQdaRn0M:aBVaNidGBlE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=9ERRQdaRn0M:aBVaNidGBlE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?i=9ERRQdaRn0M:aBVaNidGBlE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<author>jorgecasar</author>
				<category>twitter</category>
				<category>sizzle</category>
				<category>linkify</category>
				<category>jquery</category>
				<category>javascript</category>
				<category>api</category>
				<category>anywhere</category>
				<comments>http://www.pixelovers.com/anywhere-hovercards-633853#formulario</comments>
		<guid>http://www.pixelovers.com/anywhere-hovercards-633853</guid>
		<pubDate>Fri, 18 Jun 2010 17:00:00 +0100</pubDate>
	</item>
	<item>
		<title>Personalizar tu perfil de Twitter (y II)</title>
		<link>http://www.pixelovers.com/personalizar-perfil-twitter-ii-627632</link>
		<description>&lt;p&gt;Si eres un asiduo de Internet y estas al d&amp;iacute;a en lo que a redes sociales se refiere, seguro que tienes una cuenta en Twitter y que la utilizas habitualmente.&lt;/p&gt;
&lt;p&gt;Lo que a lo mejor tienes un poco abandonado es el background de tu perfil de  Twitter, bien por que no tengas facilidad para el dise&amp;ntilde;o o sencillamente porque aun no te has puesto a hacerlo.&lt;/p&gt;
&lt;p&gt;Hay dise&amp;ntilde;os impresionantes en algunos perfiles de twitter que puedes ver por la red. Albert Garcia ya nos hacia referencia en su dia a algunos de estos &lt;a href="http://www.pixelovers.com/personalizar-perfil-twitter-152648"&gt;perfiles de Twitter con dise&amp;ntilde;os realmente creativos&lt;/a&gt;.&lt;/p&gt;&lt;p style="text-align: center;"&gt;&lt;img style="vertical-align: middle;" title="Twitter profile background" src="http://static.obolog.net/multimedia/fotos/628000/627632/627632-258135.jpg" alt="Twitter profile background" width="400" height="230" /&gt;&lt;/p&gt;
&lt;p&gt;Asi que, para que tu no seas menos, hemos recopilado una serie de  herramientas y de recursos que te permitiran conseguir un background  personalizado (y chulo) en poco tiempo ;-)&lt;/p&gt;
&lt;ol&gt;
&lt;li style="margin:10px 0;"&gt; &lt;strong&gt;&lt;a href="http://www.freetwitterdesigner.com/index.html"&gt;Free Twitter  Designer &lt;/a&gt;&lt;/strong&gt;.- Herramienta online que te permite crear de forma  gratuita un background profesional &lt;/li&gt;
&lt;li style="margin:10px 0;"&gt; &lt;strong&gt;&lt;a href="http://web1.colourlovers.com/themeleon/twitter"&gt;themeleon&lt;/a&gt;&lt;/strong&gt;.-  Herramienta online de la mano de ColourLovers que te permite crear de  forma gratuita un background profesional &lt;/li&gt;
&lt;li style="margin:10px 0;"&gt; &lt;strong&gt;&lt;a href="http://www.twitbacks.com/"&gt;TwitBacks&lt;/a&gt;&lt;/strong&gt;.-  Crea tu background de forma gratuita con esta herramienta online &lt;/li&gt;
&lt;li style="margin:10px 0;"&gt; &lt;strong&gt;&lt;a href="http://www.tweetbacks.com/"&gt;TweetBacks&lt;/a&gt;&lt;/strong&gt;.-  Otro grupo de backgrounds profesionales listos para ser usados &lt;/li&gt;
&lt;li style="margin:10px 0;"&gt; &lt;strong&gt;&lt;a href="http://tweetyback.com/"&gt;TweetyBack&lt;/a&gt;&lt;/strong&gt;.-  Dise&amp;ntilde;os sencillos para tu cuenta &lt;/li&gt;
&lt;li style="margin:10px 0;"&gt; &lt;strong&gt;&lt;a href="http://www.freetwitlayouts.com/"&gt;Free Twitter Layouts&lt;/a&gt;&lt;/strong&gt;.-  Colecci&amp;oacute;n de m&amp;aacute;s de 50 backgrounds clasificados por categorias y listos  para que te los bajes y los utilices en tu perfil &lt;/li&gt;
&lt;li style="margin:10px 0;"&gt; &lt;strong&gt;&lt;a href="http://www.twittergallery.com/"&gt;Twitter Gallery &lt;/a&gt;&lt;/strong&gt;.-  Colecci&amp;oacute;n de m&amp;aacute;s de 200 backgrounds tambi&amp;eacute;n clasificados por categorias.  Tiene un sistema de instalacion automatica del fondo en un tu perfil de  Twitter desde su web&lt;/li&gt;
&lt;li style="margin:10px 0;"&gt; &lt;strong&gt;&lt;a href="http://www.tweetplate.com/"&gt;TweetPlate &lt;/a&gt;&lt;/strong&gt;.- Mas de 150 fondos gratuitos y muy profesionales.&lt;/li&gt;
&lt;li style="margin:10px 0;"&gt; &lt;strong&gt;&lt;a href="http://tweetygotback.com/"&gt;Tweety  Got Back&lt;/a&gt;&lt;/strong&gt;.- M&amp;aacute;s de 400 Fondos realmente espectaculares.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;iquest;Que te han parecido estos recursos? &amp;iquest;Conoces alguno m&amp;aacute;s que deberia estar en esta lista?&lt;/p&gt;
&lt;p&gt;Esperamos vuestros comentarios&lt;/p&gt;			&lt;p&gt;
			Leer &lt;strong&gt;&lt;a href="http://www.pixelovers.com/personalizar-perfil-twitter-ii-627632" title="Personalizar tu perfil de Twitter (y II)"&gt;Personalizar tu perfil de Twitter (y II)&lt;/a&gt;&lt;/strong&gt; en &lt;a href="http://www.pixelovers.com" title="Diseño y desarrollo web"&gt;Pixelovers&lt;/a&gt;
			&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_tDJkUCs80rsKBJ3k05FSJkJm5I/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_tDJkUCs80rsKBJ3k05FSJkJm5I/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/_tDJkUCs80rsKBJ3k05FSJkJm5I/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_tDJkUCs80rsKBJ3k05FSJkJm5I/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=Y5arpo8JZ-4:MrMzq1Ahqsg:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=Y5arpo8JZ-4:MrMzq1Ahqsg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=Y5arpo8JZ-4:MrMzq1Ahqsg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?i=Y5arpo8JZ-4:MrMzq1Ahqsg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<author>juanmaguitar</author>
				<category>diseño</category>
				<category>diseño web</category>
				<category>perfil</category>
				<category>twitter</category>
				<comments>http://www.pixelovers.com/personalizar-perfil-twitter-ii-627632#formulario</comments>
		<guid>http://www.pixelovers.com/personalizar-perfil-twitter-ii-627632</guid>
		<pubDate>Sat, 12 Jun 2010 13:24:00 +0100</pubDate>
	</item>
	<item>
		<title>Acelera la carga de jQuery en tu site utilizando un CDN</title>
		<link>http://www.pixelovers.com/acelera-carga-jquery-site-utilizando-cdn-625806</link>
		<description>&lt;p&gt;Si utilizas jQuery, es una buena idea que cargues la librer&amp;iacute;a desde un CDN (Content Delivery Network).&lt;/p&gt;
&lt;h3&gt;Pero, &amp;iquest;qu&amp;eacute; es un CDN?&lt;/h3&gt;
&lt;p&gt;Es el nombre que recibe un grupo de servidores repartidos por todo el mundo en puntos estrat&amp;eacute;gicos y pensados para la distribuci&amp;oacute;n de ficheros.&lt;/p&gt;
&lt;p&gt;Hay varios &lt;strong&gt;CDN&amp;rsquo;s gratuitos&lt;/strong&gt;, entre ellos el de&amp;nbsp;&lt;a href="http://code.google.com/intl/es-ES/apis/ajaxlibs/"&gt;Google&lt;/a&gt;, el de&amp;nbsp;&lt;a href="http://www.asp.net/ajaxlibrary/cdn.ashx"&gt;Microsoft&lt;/a&gt;&amp;nbsp;y el de&amp;nbsp;&lt;a href="http://www.edgecast.com/index.htm"&gt;Edgecast&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Tambien hay &amp;nbsp;CDN's de pago. Algunos puede que te suenen como &lt;a href="http://spanish.akamai.com/enes/"&gt;Akamai &lt;/a&gt;o &lt;a href="http://aws.amazon.com/cloudfront/" target="_blank"&gt;Amazon CloudFront&lt;/a&gt;&lt;/p&gt;
&lt;h3 style="font-size: 1.17em;"&gt;&amp;iquest;C&amp;oacute;mo funciona un CDN?&lt;/h3&gt;
&lt;p&gt;La idea es que en vez de cargar las librerias desde tu servidor de hosting, las cargues directamente desde el CDN. De este modo cuando se haga la petici&amp;oacute;n se cargar&amp;aacute; la librer&amp;iacute;a (o librerias solicitadas) desde el nodo mas cercano al cliente con lo que se cargar&amp;aacute; m&amp;aacute;s rapido.&lt;/p&gt;&lt;h3 style="font-size: 1.17em;"&gt;&amp;iquest;C&amp;oacute;mo lo utilizo en mi site?&lt;/h3&gt;
&lt;p&gt;Para cargar jQuery desde el CDN de Google, pondriamos en el HEADER de nuestro HTML lo siguiente:&lt;/p&gt;
&lt;pre style="background-color:#ecfcea;"&gt;&lt;code&gt;
  &amp;lt;script src="http://www.google.com/jsapi"&amp;gt;
  &amp;lt;script type="text/javascript"&amp;gt; 
    google.load("jquery", "1.3.2");
  &amp;lt;/script&amp;gt;

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Y para cargarlo desde el CDN de Microsoft pondriamos esto:&lt;/p&gt;
&lt;pre style="background-color:#ecfcea;"&gt;&lt;code&gt;
   &amp;lt;script src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.js" type="text/javascript"&amp;gt; 
   &amp;lt;/script&amp;gt;   

&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;&amp;iquest;Qu&amp;eacute; ventajas tiene usar un CDN?&lt;/h3&gt;
&lt;p&gt;Usar CDN tiene varias ventajas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Liberas a tu servidor de la carga de estos archivos&lt;/li&gt;
&lt;li&gt;Incrementas las posibilidades de que el fichero est&amp;eacute; cacheado, ya  que otros sitios que usen tu CDN enlazaran al mismo fichero&lt;/li&gt;
&lt;li&gt;Un CDN muy probablemente servir&amp;aacute; el fichero m&amp;aacute;s rapido que desde tu  propio servidor de hosting&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;&amp;iquest;Qu&amp;eacute; CDN gratuito me conviene utilizar?&lt;/h3&gt;
&lt;p&gt;Pues en &lt;a href="http://royal.pingdom.com/2010/05/11/cdn-performance-downloading-jquery-from-google-microsoft-and-edgecast-cdns/"&gt;Pingdom.com&lt;/a&gt; han hecho una comparativa de rendimiento entre los de Google, Microsoft y Edgecast, y han llegado a unas  interesantes conclusiones:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;El CDN de Google es el m&amp;aacute;s lento de los 3 en America del Norte y en  Europa&lt;/li&gt;
&lt;li&gt;En Europa el CDN de Microsoft es el m&amp;aacute;s rapido&lt;/li&gt;
&lt;li&gt;En Am&amp;eacute;rica  del Norte, el CDN de Edgecast es el m&amp;aacute;s rapido&lt;/li&gt;
&lt;li&gt;El CDN de Edgecast gana en terminos  de rendimiento medio&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img title="Comparativa CDN gratuito" src="http://static.obolog.net/multimedia/fotos/626000/625806/625806-257853.jpg" alt="Comparativa CDN gratuito" width="580" height="300" /&gt;&lt;/p&gt;
&lt;p&gt;Un &amp;uacute;ltimo factor a considerar es que el CDN m&amp;aacute;s usado es con el que  tendras m&amp;aacute;s posibilidades de tener tu archivo cacheado, pero por ahora  no hay datos de cual es el CDN m&amp;aacute;s utilizado.&lt;/p&gt;
&lt;p&gt;&amp;iquest;Y tu? &amp;iquest;Qu&amp;eacute; opinas del uso del CDN? &amp;iquest;Lo utilizas? &amp;iquest;Cu&amp;aacute;l utilizas?  &amp;iquest;Alguno gratuito que no hayamos nombrado aqu&amp;iacute;?&lt;/p&gt;
&lt;h2&gt;Enlaces y m&amp;aacute;s&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://code.google.com/intl/es-ES/apis/ajaxlibs/"&gt;CDN Google&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.asp.net/ajaxlibrary/cdn.ashx"&gt;CDN Microsoft&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.edgecast.com/index.htm"&gt;Edgecast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://royal.pingdom.com/2010/05/11/cdn-performance-downloading-jquery-from-google-microsoft-and-edgecast-cdns/"&gt;CDN  performance: Downloading jQuery from Google, Microsoft, and Edgecast  CDNs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://encosia.com/2008/12/10/3-reasons-why-you-should-let-google-host-jquery-for-you/"&gt;3  reasons why you should let Google host jQuery for you&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://robertoyudice.com/desarrollo-web/porque-deberias-de-usar-un-cdn-content-delivery-network-y-como/"&gt;Porque  deberias de usar un CDN (Content delivery network) y como&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;			&lt;p&gt;
			Leer &lt;strong&gt;&lt;a href="http://www.pixelovers.com/acelera-carga-jquery-site-utilizando-cdn-625806" title="Acelera la carga de jQuery en tu site utilizando un CDN"&gt;Acelera la carga de jQuery en tu site utilizando un CDN&lt;/a&gt;&lt;/strong&gt; en &lt;a href="http://www.pixelovers.com" title="Diseño y desarrollo web"&gt;Pixelovers&lt;/a&gt;
			&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/BbOx7V2YZC7GDfe1oIKYlyDrb5w/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BbOx7V2YZC7GDfe1oIKYlyDrb5w/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/BbOx7V2YZC7GDfe1oIKYlyDrb5w/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BbOx7V2YZC7GDfe1oIKYlyDrb5w/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=ekw3cU7R4kY:W1nWLn-nzn8:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=ekw3cU7R4kY:W1nWLn-nzn8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=ekw3cU7R4kY:W1nWLn-nzn8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?i=ekw3cU7R4kY:W1nWLn-nzn8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<author>juanmaguitar</author>
				<category>cdn</category>
				<category>frameworks</category>
				<category>google</category>
				<category>javascript</category>
				<category>jquery</category>
				<category>microsoft</category>
				<comments>http://www.pixelovers.com/acelera-carga-jquery-site-utilizando-cdn-625806#formulario</comments>
		<guid>http://www.pixelovers.com/acelera-carga-jquery-site-utilizando-cdn-625806</guid>
		<pubDate>Wed, 09 Jun 2010 23:37:00 +0100</pubDate>
	</item>
	<item>
		<title>Anywhere: Auto-linkification of Twitter usernames</title>
		<link>http://www.pixelovers.com/anywhere-auto-linkification-twitter-usernames-610375</link>
		<description>&lt;p&gt;Ya os hablamos hace un par de semanas de @&lt;a title="Anywhere: API Javascript de Twitter" href="http://www.pixelovers.com/anywhere-api-javascript-twitter-569267"&gt;Anywhere&lt;/a&gt; (API Javascript de Twitter) y hoy queremos entrar en m&amp;aacute;s detalles sobre la librer&amp;iacute;a, para que la puedas implementar en tu web de forma sencilla y potente. Por no hacer el art&amp;iacute;culo hablaremos en de cada uno de las funciones en un art&amp;iacute;culos separados. As&amp;iacute;, hoy trataremos uno de los m&amp;eacute;todos m&amp;aacute;s sencillitos de la API @Anywhere. Tambi&amp;eacute;n quiero destacar que todos los ejemplos de c&amp;oacute;digo estar&amp;aacute;n dentro de la llamada de callback (T) como dijimos en el anterior art&amp;iacute;culo:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;twttr.anywhere(function (T) {&lt;br /&gt;  // Tu c&amp;oacute;digo aqu&amp;iacute;...&lt;br /&gt;});&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Como sab&amp;eacute;is la funci&amp;oacute;n T puede recibir como par&amp;aacute;metro un selector el cual usar&amp;aacute; la librer&amp;iacute;a&amp;nbsp;&lt;a title="A pure-JavaScript CSS selector engine" href="http://sizzlejs.com/" target="_blank"&gt;Sizzle&lt;/a&gt;&amp;nbsp;para encontrar los elementos del DOM, es la misma librer&amp;iacute;a que usa jQuery, as&amp;iacute; que seguro que est&amp;aacute;is familiarizados con este forma de encontrar elementos en el DOM. Si no le pasamos ning&amp;uacute;n argumento a T tomar&amp;aacute; todo el contenido del&amp;nbsp;&lt;var&gt;body&lt;/var&gt;&amp;nbsp;de la p&amp;aacute;gina para buscar.&lt;/p&gt;
&lt;p&gt;Con Linkify users podremos enlazar con el perfil de Twitter a todos usuarios que mencionemos en la p&amp;aacute;gina de la forma: @nombreUsuaurio teniendo en cuenta la siguiente expresi&amp;oacute;n regular:&amp;nbsp;&lt;var&gt;/\B[@&amp;#65312;]([a-zA-Z0-9_]{1,20})\b/g&lt;/var&gt;, es decir,el s&amp;iacute;mbolo '@' seguido de 1 a 20 caracteres alfanum&amp;eacute;ricos incluyendo el '_'. Por lo tanto nombres como @pixelovers, @jorgecasar y @juanmaguitar son nombre de twitter v&amp;aacute;lidos.&lt;/p&gt;
&lt;p&gt;Sabiendo esto simplemente podremos enlazar estos nombres utilizando el siguiente c&amp;oacute;digo en Javascript:&lt;/p&gt;
&lt;pre style="color: #000000; font: normal normal normal 12px/1.5em 'Lucida Grande', Helvetica, Arial, sans-serif; margin: 8px;"&gt;&lt;code&gt;T.linkifyUsers();&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Si queremos ser m&amp;aacute;s espec&amp;iacute;ficos y que solo busque en cierta parte de nuestra p&amp;aacute;gina podemos llamar a la funci&amp;oacute;n especificando un selector:&lt;/p&gt;
&lt;pre style="color: #000000; font: normal normal normal 12px/1.5em 'Lucida Grande', Helvetica, Arial, sans-serif; margin: 8px;"&gt;&lt;code&gt;T('#content').linkifyUsers();&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Tambi&amp;eacute;n es importante saber que la funci&amp;oacute;n&amp;nbsp;&amp;nbsp;&lt;var&gt;linkifyUsers&lt;/var&gt;&amp;nbsp;puede recibir un objeto como argumento con las sugientes propiedades:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;className: Puedes especificar un nombre de clase alternativo. (En la documentaci&amp;oacute;n)&lt;/li&gt;
&lt;li&gt;complete: Puedes a&amp;ntilde;adir una llamada de callback a la finalizaci&amp;oacute;n del autoenlazado (No se especifica en la documentaci&amp;oacute;n)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Un ejemplo especificando todas las formas de llamar a esta funci&amp;oacute;n podr&amp;iacute;a ser:&lt;/p&gt;
&lt;pre style="color: #000000; font: normal normal normal 12px/1.5em 'Lucida Grande', Helvetica, Arial, sans-serif; margin: 8px;"&gt;&lt;code&gt;T('#content').linkifyUsers({&lt;br /&gt;   className:"twitterName",&lt;br /&gt;   complete: function(){&lt;br /&gt;      alert('LinkifyUsers done!');&lt;br /&gt;   }&lt;br /&gt;});&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Creo que con esto podr&amp;eacute;is hacer una primera toma de contacto con @Anywhere. Ya lo tienes implementado en tu sitio y quieres mostrarnos como lo has hecho. Deja un comentario explicandolo. Si has tenido problemas, preguntanos, entre todos podemos intentar encontrar la soluci&amp;oacute;n.&lt;/p&gt;			&lt;p&gt;
			Leer &lt;strong&gt;&lt;a href="http://www.pixelovers.com/anywhere-auto-linkification-twitter-usernames-610375" title="Anywhere: Auto-linkification of Twitter usernames"&gt;Anywhere: Auto-linkification of Twitter usernames&lt;/a&gt;&lt;/strong&gt; en &lt;a href="http://www.pixelovers.com" title="Diseño y desarrollo web"&gt;Pixelovers&lt;/a&gt;
			&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/zLoUoQWrwPvL2cw7g3BKstZuswk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zLoUoQWrwPvL2cw7g3BKstZuswk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/zLoUoQWrwPvL2cw7g3BKstZuswk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zLoUoQWrwPvL2cw7g3BKstZuswk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=OfWoDVrTNuc:2_Ph65SYkw0:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=OfWoDVrTNuc:2_Ph65SYkw0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=OfWoDVrTNuc:2_Ph65SYkw0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?i=OfWoDVrTNuc:2_Ph65SYkw0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<author>jorgecasar</author>
				<category>linkify</category>
				<category>sizzle</category>
				<category>twitter</category>
				<category>jquery</category>
				<category>javascript</category>
				<category>api</category>
				<category>anywhere</category>
				<comments>http://www.pixelovers.com/anywhere-auto-linkification-twitter-usernames-610375#formulario</comments>
		<guid>http://www.pixelovers.com/anywhere-auto-linkification-twitter-usernames-610375</guid>
		<pubDate>Sun, 06 Jun 2010 22:11:00 +0100</pubDate>
	</item>
	<item>
		<title>Google Font API: Usa tipografías open source en la web</title>
		<link>http://www.pixelovers.com/google-font-api-usa-tipografias-open-source-web-600471</link>
		<description>&lt;p&gt;&lt;img style="float: right;" title="Google font api" src="http://static.obolog.net/multimedia/fotos/601000/600471/600471-251844_t.jpg" alt="Google font api" width="196" height="40" /&gt;Cada vez salen m&amp;aacute;s y m&amp;aacute;s APIs, y Google es uno de los qu&amp;eacute; m&amp;aacute;s APIs libera. Esta vez ha presentado en las conferencias Google I/O, realizadas el pasado 19 y 20 de Mayo, la &lt;a title="Google Font API" href="http://code.google.com/apis/webfonts/" target="_blank"&gt;Google Font API&lt;/a&gt;. Esta API te ayuda a a&amp;ntilde;adir tipograf&amp;iacute;as en cualquier p&amp;aacute;gina web. Esto tiene unos beficios claros como:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Disponer de tipograf&amp;iacute;as de c&amp;oacute;digo abierto de alta calidad&lt;/li&gt;
&lt;li&gt;Funciona en la mayor&amp;iacute;a de los navegadores&lt;/li&gt;
&lt;li&gt;Es extremadamente facil de usar.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img style="float: right;" title="Google font directory" src="http://static.obolog.net/multimedia/fotos/601000/600471/600471-251845_t.jpg" alt="Google font directory" width="200" height="30" /&gt;Puedes ver todas las tipograf&amp;iacute;as disponibles en el &lt;a title="Direcotrio de tipograf&amp;iacute;as de Google" href="http://code.google.com/webfonts" target="_blank"&gt;Directorio de Tipograf&amp;iacute;as de Google&lt;/a&gt;. De momento disponen de 18 fuentes, con variantes en it&amp;aacute;lica, negrita, italica negrita. Adem&amp;aacute;s 1 de ellas dispone de 10 familias diferentes. Por lo tanto contamos con un cat&amp;aacute;logo amplio que nos permitir&amp;aacute; dar otro estilo a nuestra web y salirnos de las t&amp;iacute;picas tipograf&amp;iacute;as universales.&lt;/p&gt;
&lt;p&gt;&lt;img style="float: right;" title="Google Font API" src="http://static.obolog.net/multimedia/fotos/601000/600471/600471-251841_t.jpg" alt="Google Font API" width="128" height="128" /&gt;Adem&amp;aacute;s el cat&amp;aacute;logo est&amp;aacute; muy cuidado, ya que dispone de una ficha por cada una de las tipograf&amp;iacute;as. En la ficha puedes encontrar el nombre del dise&amp;ntilde;ador, con un enlace a su biograf&amp;iacute;a y otros datos personales. Tambi&amp;eacute;n dispones de la descripci&amp;oacute;n de la tipograf&amp;iacute;a y el set de caracteres. Tambi&amp;eacute;n hay ejemplos de textos en diferentes tama&amp;ntilde;os, desde 36px hasta 12px, en diferentes&amp;nbsp; colores, #000, #333 y #666, y diferentes variantes, cursiva, negrita y negrita cursiva Puedes ver como ejemplo la &lt;a title="Ficha de la tipograf&amp;iacute;a Cararell" href="http://code.google.com/webfonts/family?family=Cantarell" target="_blank"&gt;ficha de la tipograf&amp;iacute;a Cararell&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Si te parece interesante y quieres ver como incluirlo en tu web acontinuaci&amp;oacute;n te cuento las diferentes formas, solo con CSS y con ayuda de Javascript.&lt;/p&gt;&lt;h2&gt;Solo con CSS&lt;/h2&gt;
&lt;p&gt;Tienes varias formas de incluir las tipograf&amp;iacute;as en tu web. La m&amp;aacute;s  sencilla de todas es &lt;strong&gt;incluyendo una hoja de estilos&lt;/strong&gt; adicional:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=&lt;var&gt;Font+Name&lt;/var&gt;"/&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Luego simplemente usas la tipograf&amp;iacute;a en tu hoja de estilos de forma  habitual:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;CSS selector {&lt;br /&gt;  font-family: '&lt;var&gt;Font+Name&lt;/var&gt;', serif;&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Si no quieres cargar todas las variantes, puedes &lt;strong&gt;especificar las variantes&lt;/strong&gt; que  quieras a&amp;ntilde;adiendo dos puntos y las variantes que quieras separadas por  comas:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=&lt;var&gt;Font+Name&lt;/var&gt;:&lt;var&gt;variante&lt;/var&gt;"/&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Si quieres a&amp;ntilde;adir &lt;strong&gt;varias tipograf&amp;iacute;as&lt;/strong&gt;, no es necesario hacer 1 llamada  por cada una de ellas, simplemente con separar los nombres con pipes  "|" es suficiente:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Tangerine|Inconsolata|Droid+Sans"/&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Y si quieres hacer todo a la vez simplemente sigue todas las reglas  anteriores, y quedar&amp;aacute; algo de esta forma:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Tangerine:bold,bolditalic|Inconsolata:italic|Droid+Sans"/&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Con ayuda de Javascript&lt;/h2&gt;
&lt;p&gt;Si no quieres que la carga de tu p&amp;aacute;gina se vea afectada por tener que  resolver otras DNS y cargar contenido de servidores que no puedes  controlar, puedes probar &lt;strong&gt;WebFont Loader&lt;/strong&gt;. Una API de Javascript que te da  un mayor control sobre las tipograf&amp;iacute;as cargadas. Esta forma tambi&amp;eacute;n es  muy sencilla, pero requiere un m&amp;iacute;nimo de conocimiento de Javascript. Con  a&amp;ntilde;adir estas lineas en el head de tu p&amp;aacute;gina tendr&amp;iacute;amos todo listo para  usarla&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js"&amp;gt;&lt;br /&gt;    &amp;lt;/script&amp;gt;&lt;br /&gt;    &amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt;      WebFont.load({&lt;br /&gt;        google: {&lt;br /&gt;          families: [ 'Tangerine', 'Cantarell' ]&lt;br /&gt;        }&lt;br /&gt;      });&lt;br /&gt;    &amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Esto carga las tipograf&amp;iacute;as indicadas en families y si todo ha ido  correctamente y el navegador permite estas tipograf&amp;iacute;as se a&amp;ntilde;adir&amp;aacute; en el  html las clases: 'wf-active' y 'wf-family-type-active' (por ejemplo:  'wf-cantarell-n4-active').&lt;/p&gt;
&lt;p&gt;Esto nos permite usar en nuestra hoja de estilo tipograf&amp;iacute;as  alternativas en caso de no haber podido cargar las deseadas, de esta  forma:&lt;/p&gt;
&lt;pre&gt;.wf-inactive p {&lt;br /&gt;   font-family: serif&lt;br /&gt; }&lt;br /&gt; .wf-active p {&lt;br /&gt;    font-family: 'Cantarell', serif&lt;br /&gt; }&lt;br /&gt;&lt;/pre&gt;
&lt;p&gt;Con WebFont Loader puedes solicitar fuentes a otros proveedores como por ejemplo TypeKit o incluso hacer llamadar a cualquier proovedor de tipograf&amp;iacute;as &lt;a title="Especificar el proveedor de tipograf&amp;iacute;as" href="http://code.google.com/apis/webfonts/docs/webfont_loader.html#Specifying" target="_blank"&gt;especificando el proveedor&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;En la llamada a WebFont Loader puedes &lt;strong&gt;especificar callbacks&lt;/strong&gt; para ejecutar tu propio c&amp;oacute;digo en un momento dado. Las funciones de calback de las que dispones son:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;loading()&lt;/strong&gt; Se llama cuando todos los m&amp;oacute;dulos de proveedores de tipograf&amp;iacute;as web (google, typekit, y/o custom) han reportadoq ue empiezan a cargar tipograf&amp;iacute;as.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;fontloading(fontFamily, fontDescription)&lt;/strong&gt; Se llama cuando se empieza a cargar cada solicitud de tipograf&amp;iacute;a web. El par&amp;aacute;metro&amp;nbsp; fontFamily es el nombre de la familia de la tipograf&amp;iacute;a, y fontDescription representa el estilo y peso de la tipograf&amp;iacute;a.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;fontactive(fontFamily, fontDescription)&lt;/strong&gt; Se llama cuando ha terminado de cargar cada una de las solicitudes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;fontinactive(fontFamily, fontDescription)&lt;/strong&gt; Se llama si una solicitud ha fallado al cargar.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;active()&lt;/strong&gt; Se llama cuando todas las tipograf&amp;iacute;as web han sido cargadas o bien no se haya podido cargar, siempre y cuando al menos una&amp;nbsp; se cargado con &amp;eacute;xito.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;inactive()&lt;/strong&gt; Se llama si el browser no soporta tipograf&amp;iacute;as web o si ninguna de las fuentes se ha podido cargar.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Sabiendo todo esto, no me he podido resistir a hacer pruebas con esta nueva API, as&amp;iacute; que  os dejo una demo de uso, en las que cargo las fuentes bajo demanda.&lt;/p&gt;
&lt;p&gt;&lt;a title="Demo de Google Font API" href="http://demo.pixelovers.com/google-font-api-usa-tipografias-open-source-web-600471"&gt;Demo  de Google Font API&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;iquest;Qu&amp;eacute; os ha parecido la API? &amp;iquest;Qui&amp;eacute;res ese&amp;ntilde;arnos tus nuevos dise&amp;ntilde;os  usando estas tipograf&amp;iacute;as?&lt;/p&gt;			&lt;p&gt;
			&lt;a href="http://www.pixelovers.com/fotos/google-font-api-usa-tipografias-open-source-web-600471" title="Fotos de Google Font API: Usa tipografías open source en la web"&gt;Ver álbum de fotos&lt;/a&gt; |
			Leer &lt;strong&gt;&lt;a href="http://www.pixelovers.com/google-font-api-usa-tipografias-open-source-web-600471" title="Google Font API: Usa tipografías open source en la web"&gt;Google Font API: Usa tipografías open source en la web&lt;/a&gt;&lt;/strong&gt; en &lt;a href="http://www.pixelovers.com" title="Diseño y desarrollo web"&gt;Pixelovers&lt;/a&gt;
			&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/f5y1sl9KtIMa7oZaBC7Y97FCQYE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/f5y1sl9KtIMa7oZaBC7Y97FCQYE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/f5y1sl9KtIMa7oZaBC7Y97FCQYE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/f5y1sl9KtIMa7oZaBC7Y97FCQYE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=tjdvW8R7yF4:kqky1Ekn83E:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=tjdvW8R7yF4:kqky1Ekn83E:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=tjdvW8R7yF4:kqky1Ekn83E:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?i=tjdvW8R7yF4:kqky1Ekn83E:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<author>jorgecasar</author>
				<category>api</category>
				<category>desarrollo web</category>
				<category>diseño</category>
				<category>diseño web</category>
				<category>fonts</category>
				<category>fuentes</category>
				<category>javascript</category>
				<category>tipografía</category>
				<comments>http://www.pixelovers.com/google-font-api-usa-tipografias-open-source-web-600471#formulario</comments>
		<guid>http://www.pixelovers.com/google-font-api-usa-tipografias-open-source-web-600471</guid>
		<pubDate>Mon, 24 May 2010 10:09:00 +0100</pubDate>
	</item>
	<item>
		<title>Anywhere: API Javascript de Twitter</title>
		<link>http://www.pixelovers.com/anywhere-api-javascript-twitter-569267</link>
		<description>&lt;p style='text-align:center'&gt;
					&lt;a href='http://www.pixelovers.com/anywhere-api-javascript-twitter-569267' title="Anywhere: API Javascript de Twitter"&gt;&lt;img src='http://static.obolog.net/multimedia/fotos/570000/569267/569267-249942_p.jpg' alt='Anywhere'&gt;&lt;/a&gt;
				&lt;/p&gt;
			&lt;p&gt;Hace 1 mes se realiz&amp;oacute; el Chirp, la conferencia oficial  para  desarrolladores de Twitter. Y en ella se presentaron varias  novedades en  torno al mundo Twitter. Entre ellas, una nueva p&amp;aacute;gina para   desarolladores de Twitter: &lt;a title="Documentaci&amp;oacute;n API de Twitter " href="http://dev.twitter.com/" target="_blank"&gt;dev.twitter.com&lt;/a&gt;, donde podemos ver nuevas   herramientas. En la que nos vamos a centrar, por ser la m&amp;aacute;s cercana a la   tem&amp;aacute;tica del blog es &lt;a title="Integrate Twitter seamlessly into your   site with just a few lines of Javascript" href="http://dev.twitter.com/anywhere/" target="_blank"&gt;@Anywhere&lt;/a&gt;. @Anywhere es una API de Javascript que te permite integrar Twitter con   tu sitio en unas pocas lineas de Javascript. Antes de empezar a   utilizarla has de registrarte como desarrollador para que te faciliten   una API key, para ello tienes el formulario de &lt;a title="Registro de una   aplicaci&amp;oacute;n Anywhere" href="http://dev.twitter.com/anywhere/apps/new" target="_blank"&gt;registro   de un aplicaci&amp;oacute;n Anywhere&lt;/a&gt;. Tras ese paso, solo debemos a&amp;ntilde;adir en   las cabeceras de nuestra web la llamada a este script:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;script src="http://platform.twitter.com/anywhere.js?id=YOUR_API_KEY&amp;amp;v=1" type="text/javascript"&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Una vez a&amp;ntilde;adido este script la foma de inicializar @Anywhere es la   siguiente:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;twttr.anywhere(function (T) {&lt;br /&gt;  // Tu c&amp;oacute;digo aqu&amp;iacute;...&lt;br /&gt;});&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Como ves en realidad llamamos a una funci&amp;oacute;n y le pasamos una funci&amp;oacute;n   de callback con un par&amp;aacute;metro T (pod&amp;eacute;is llamarlo como quer&amp;aacute;is). La cual se   ejecutar&amp;aacute; una vez cargado el script de Twitter @Anywhere. Con esta API,   de momento, puedes realizar lo siguiente:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a title="Auto-linkification of Twitter usernames" href="http://www.pixelovers.com/anywhere-auto-linkification-twitter-usernames-610375"&gt;Autoenlazar nombres de usuario de Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title="Anywhere: Hovercards" href="http://www.pixelovers.com/anywhere-hovercards-633853"&gt;Hovercards&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Botones de Follow&lt;/li&gt;
&lt;li&gt;Caja de Tweet&lt;/li&gt;
&lt;li&gt;Login de usuario&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Os invito a que la prob&amp;eacute;is. Desde Pixelover estamos preparando algunas demos de uso que os iremos ense&amp;ntilde;ando a lo largo de estas semanas.&lt;/p&gt;			&lt;p&gt;
			Leer &lt;strong&gt;&lt;a href="http://www.pixelovers.com/anywhere-api-javascript-twitter-569267" title="Anywhere: API Javascript de Twitter"&gt;Anywhere: API Javascript de Twitter&lt;/a&gt;&lt;/strong&gt; en &lt;a href="http://www.pixelovers.com" title="Diseño y desarrollo web"&gt;Pixelovers&lt;/a&gt;
			&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/5B3sEn3Wp8-H3g8_RIuISNVGSw4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5B3sEn3Wp8-H3g8_RIuISNVGSw4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/5B3sEn3Wp8-H3g8_RIuISNVGSw4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5B3sEn3Wp8-H3g8_RIuISNVGSw4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=3O0XoikWmoU:95LTcUx90ek:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=3O0XoikWmoU:95LTcUx90ek:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=3O0XoikWmoU:95LTcUx90ek:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?i=3O0XoikWmoU:95LTcUx90ek:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<author>jorgecasar</author>
				<category>api</category>
				<category>desarrollo web</category>
				<category>frameworks</category>
				<category>javascript</category>
				<category>twitter</category>
				<comments>http://www.pixelovers.com/anywhere-api-javascript-twitter-569267#formulario</comments>
		<guid>http://www.pixelovers.com/anywhere-api-javascript-twitter-569267</guid>
		<pubDate>Wed, 19 May 2010 10:35:00 +0100</pubDate>
	</item>
	<item>
		<title>Cómo localizar un portatil robado</title>
		<link>http://www.pixelovers.com/localizar-portatil-robado-593716</link>
		<description>&lt;p&gt;Durante mucho tiempo habia tenido el dilema de si comprarme un Mac o no. El motivo principal por el que no me decid&amp;iacute;a era el precio. Demasiado caros para mi gusto.&lt;/p&gt;
&lt;p&gt;El tema es que hace cosa de un a&amp;ntilde;o me decid&amp;iacute; por fin a entrar en el mundo Apple y me compr&amp;eacute; un port&amp;aacute;til MacBook. Pero mira, por cosas de la vida, justo un par de meses despu&amp;eacute;s de haberlo comprado me entraron en casa y me lo robaron :(&lt;/p&gt;
&lt;p&gt;Yo pensaba que al ser Apple y al tener el numero de serie y la factura, tendrian alguna forma de rastrear el port&amp;aacute;til, de bloquearlo si se conectaba a Internet, o algo asi&amp;hellip; pero no. Llam&amp;eacute; al servicio t&amp;eacute;cnico de Apple y me dijeron que no podian hacer nada.&lt;/p&gt;
&lt;p&gt;Asi que bueno, investigando por la red, he encontrado algunos &lt;strong&gt;sistemas para poder localizar tu port&amp;aacute;til en caso de robo&lt;/strong&gt; o desaparici&amp;oacute;n:&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://adeona.cs.washington.edu/"&gt;Adeona&lt;/a&gt;&lt;/strong&gt;. Es un servicio abierto y gratuito, que permite realizar un seguimiento de la localizaci&amp;oacute;n de un ordenador port&amp;aacute;til perdido o robado.&lt;/p&gt;
&lt;img style="float: right; margin: 10px; border: 0px initial initial;" title="programa para localizar portatil robado" src="http://static.obolog.net/multimedia/fotos/594000/593716/593716-250246.jpg" alt="programa para localizar portatil robado" width="150" height="66" /&gt;
&lt;p&gt;Hay que instalar un peque&amp;ntilde;o programa agente (disponible para Windows Vista y XP, Linux y Mac OS X) con el que obtendremos un archivo y una clave. Con estos elementos, si alguna vez se pierde el ordenador, podremos recuperar entre otras cosas la IP Publica y Privada que est&amp;eacute; utilizando el equipo para conectarse a la red&lt;/p&gt;
&lt;p&gt;Ademas, si es un Mac, el cliente de Adeona hace una foto del usuario con la Webcams integrada y la registra.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.ligattsecurity.com/solutions/locatepc/"&gt;Locate PC&lt;/a&gt;&lt;/strong&gt;. Es un&amp;nbsp;programa que nos puede enviar un email de manera silenciosa, con todos los datos necesarios para que podamos ubicar donde est&amp;aacute; el portatil.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://preyproject.com/"&gt;Prey&lt;/a&gt;&lt;/strong&gt;. Es una aplicaci&amp;oacute;n gratuita y muy ligera que te permitir&amp;aacute; trackear y localizar tu port&amp;aacute;til en caso de robo. Funciona en todos los SO.&amp;nbsp;&lt;/p&gt;
&lt;img style="float: right; margin: 20px; border: 0px initial initial;" title="programa para localizar portatil robado" src="http://static.obolog.net/multimedia/fotos/594000/593716/593716-250244.jpg" alt="programa para localizar portatil robado" width="150" height="33" /&gt;
&lt;p&gt;El programa se autoconectar&amp;aacute; a la primera red WIFI disponible y te enviar&amp;aacute; por mail todos los datos que pueda recopilar, entre ellos la geo-localizaci&amp;oacute;n de la conexi&amp;oacute;n WIFI que est&amp;eacute; utilizando tu port&amp;aacute;til :)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.orbicule.com/undercover/"&gt;Undercover&lt;/a&gt;&lt;/strong&gt;. Con este programa, exclusivo para Mac, nuestro port&amp;aacute;til quedar&amp;aacute; identificado en los servidores de Undercover, con lo que podremos activar en cualquier momento desde su web el "modo recuperacion". Adem&amp;aacute;s la aplicaci&amp;oacute;n se puede proteger contra borrado (y formateo).&lt;/p&gt;
&lt;img style="float: right; margin: 15px; border: 0px initial initial;" title="programa para localizar portatil robado" src="http://static.obolog.net/multimedia/fotos/594000/593716/593716-250247.jpg" alt="programa para localizar portatil robado" width="100" height="100" /&gt;
&lt;p&gt;Si nos lo roban, el sistema realizar&amp;aacute; varias acciones con el objetivo de localizar al intruso. Entre estas acciones est&amp;aacute; el registro de chats, correo electronico, logins, e im&amp;aacute;genes a traves de la Webcam que quedaran registradas en sus servidores.&lt;/p&gt;
&lt;p&gt;Si el intruso no se conecta a Internet, la aplicaci&amp;oacute;n simular&amp;aacute; un fallo de hardware que har&amp;aacute; necesario llevarlo al servicio tecnico.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;iquest;Y tu? &amp;iquest;Conoces algun sistema m&amp;aacute;s para localizar tu port&amp;aacute;til en caso de robo? &amp;iquest;Cu&amp;aacute;l es tu opini&amp;oacute;n sobre estos que comentamos aqu&amp;iacute;? &amp;iquest;Has tenido que utilizar alguno? &amp;iquest;Te han servido para localizar tu portatil?&lt;/p&gt;
&lt;p&gt;Esperamos vuestros comentarios&lt;/p&gt;
&lt;p&gt;...por cierto, la historia del robo de mi port&amp;aacute;til tiene final feliz. Lo recuper&amp;oacute; la policia hace poco (1 a&amp;ntilde;o despues del robo!!!) de rebote por otra historia.&lt;/p&gt;
&lt;p&gt;Eso si, ya me estoy instalando uno de estos por si (toco madera) me vuelve a pasar.&lt;/p&gt;
&lt;h2 style="font-size: 1.5em;"&gt;Enlaces y m&amp;aacute;s&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.verasoul.com/2008/11/como-localizar-un-portatil-robado.html"&gt;Como localizar un port&amp;aacute;til robado - Vera's Soul&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.applesfera.com/aplicaciones/a-fondo-undercover-recupera-tu-mac-en-caso-de-robo"&gt;A fondo: Undercover, recupera tu Mac en caso de robo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.macoteca.com/como-localizar-un-ordenador-robado/1444/"&gt;C&amp;oacute;mo localizar un ordenador robado&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;			&lt;p&gt;
			&lt;a href="http://www.pixelovers.com/fotos/localizar-portatil-robado-593716" title="Fotos de Cómo localizar un portatil robado"&gt;Ver álbum de fotos&lt;/a&gt; |
			Leer &lt;strong&gt;&lt;a href="http://www.pixelovers.com/localizar-portatil-robado-593716" title="Cómo localizar un portatil robado"&gt;Cómo localizar un portatil robado&lt;/a&gt;&lt;/strong&gt; en &lt;a href="http://www.pixelovers.com" title="Diseño y desarrollo web"&gt;Pixelovers&lt;/a&gt;
			&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/xnva-GkC5G5PVj1inppKXYsV9aU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xnva-GkC5G5PVj1inppKXYsV9aU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/xnva-GkC5G5PVj1inppKXYsV9aU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xnva-GkC5G5PVj1inppKXYsV9aU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=xJQBwPQogIs:bKcnZBgXpng:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=xJQBwPQogIs:bKcnZBgXpng:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=xJQBwPQogIs:bKcnZBgXpng:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?i=xJQBwPQogIs:bKcnZBgXpng:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<author>juanmaguitar</author>
				<category>portatil</category>
				<category>recuperar</category>
				<category>robo</category>
				<comments>http://www.pixelovers.com/localizar-portatil-robado-593716#formulario</comments>
		<guid>http://www.pixelovers.com/localizar-portatil-robado-593716</guid>
		<pubDate>Mon, 17 May 2010 21:18:00 +0100</pubDate>
	</item>
	<item>
		<title>Comportamiento de los usuarios en los sitios web</title>
		<link>http://www.pixelovers.com/comportamiento-usuarios-sitios-web-568714</link>
		<description>&lt;p&gt;La &lt;strong&gt;usabilidad web&lt;/strong&gt; es el &amp;aacute;rea que estudia c&amp;oacute;mo deben estar hechos los sitios web para que sean f&amp;aacute;ciles de usar por los usuarios finales, para que encuentren lo que buscan de la forma m&amp;aacute;s r&amp;aacute;pida y eficiente posible.&lt;/p&gt;
&lt;p&gt;Dicho estudio se basa en el comportamiento de los usuarios en la web.&lt;/p&gt;
&lt;p&gt;Asi que es importante que tengamos en mente c&amp;oacute;mo se comportan los usuarios en internet a la hora de dise&amp;ntilde;ar nuestros sitios web. De esta forma conseguiremos que le saquen el m&amp;aacute;ximo partido posible a nuestra web.&lt;/p&gt;
&lt;p&gt;Veamos cuales son los patrones b&amp;aacute;sicos de comportamiento de los usuarios en la web:&lt;/p&gt;&lt;ol&gt;
&lt;li style="margin-top:20px"&gt; &lt;strong&gt;Los usuarios aprecian la calidad y la credibilidad (El contenido es  m&amp;aacute;s importante que el dise&amp;ntilde;o).&lt;/strong&gt; Esto quiere decir que si ven un sitio con contenido de calidad van a  perdonar la presencia de publicidad y/o un dise&amp;ntilde;o pobre. Este es el  motivo por el que sitios web no-tan-bien-dise&amp;ntilde;ados pero con contenido de  alta calidad ganan mucho tr&amp;aacute;fico con los a&amp;ntilde;os. &lt;/li&gt;
&lt;li style="margin-top:20px"&gt; &lt;strong&gt;Los usuarios no leen, escanean (Organiza bien la informaci&amp;oacute;n para  que se asimile bien).&lt;/strong&gt; Cuando miran una p&amp;aacute;gina web, los usuarios web buscan puntos de  referencia que les sirvan de guia en su recorrido por el contenido de la  pagina (headers, enlaces, texto en negrita,..). &lt;/li&gt;
&lt;li style="margin-top:20px"&gt; &lt;strong&gt;Los usuarios web son impacientes (Que no les cueste encontrar lo  que buscan).&lt;/strong&gt; &lt;em&gt;We want the world and we want it now&lt;/em&gt; decian &lt;em&gt;The Doors&lt;/em&gt; en  un tema. Pues esto es igual. Cuanto menos intuitiva sea la navegaci&amp;oacute;n y  m&amp;aacute;s le cueste a un usuario obtener lo que busca, mas posibilidades de  que abandone nuestro sitio en busca de otra opci&amp;oacute;n mejor. &lt;img style="margin: 30px;   float: right;" title="http://static.obolog.net/multimedia/fotos/569000/568714/568714-241451.jpg" src="http://static.obolog.net/multimedia/fotos/569000/568714/568714-241451_t.jpg" alt="http://static.obolog.net/multimedia/fotos/569000/568714/568714-241451.jpg" width="200" height="155" /&gt;&lt;/li&gt;
&lt;li style="margin-top:20px"&gt; &lt;strong&gt;Los usuarios no siempre eligen la mejor opci&amp;oacute;n (No te pases  optimizando).&lt;/strong&gt; Los usuarios no siempre buscan la forma m&amp;aacute;s rapida de encontrar la  informaci&amp;oacute;n. En vez de eso, escanean la p&amp;aacute;gina de una forma lineal,  yendo secuencialmente de una seccion a otra. Y en cuanto encuentran un  enlace que parece llevarles a lo que buscan lo clickan inmediatamente.  Ten en cuenta esto y no te pases optimizando la disposicion de la  informaci&amp;oacute;n&lt;/li&gt;
&lt;li style="margin-top:20px"&gt; &lt;strong&gt;Los usuarios siguen su intuici&amp;oacute;n (Que las cosas hagan y digan lo  que se espera de ellas).&lt;/strong&gt; En la mayoria de los casos los usuarios seguiran su instinto para  moverse en el sitio web antes que leer la informaci&amp;oacute;n que se les ofrece.  Asi que mejor que la informacion en tu sitio web est&amp;eacute; dispuesta de la forma  que esperan tus usuarios.&amp;nbsp;&lt;/li&gt;
&lt;li style="margin-top:20px"&gt; &lt;strong&gt;Los usuarios quieren tener el control (No les digas c&amp;oacute;mo navegar).&lt;/strong&gt; Los usuarios quieren ser capaces de controlar su navegador y delegar  en el sitio web la presentacion de la informaci&amp;oacute;n. Por ejemplo, no  quieren ventanas popups inesperadas y quieren que el boton &amp;ldquo;Back&amp;rdquo;  siempre nos lleve a la p&amp;aacute;gina anterior. &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;iquest;Y t&amp;uacute; que opinas? Esperamos vuestros comentarios.&lt;/p&gt;
&lt;h2&gt;Enlaces y m&amp;aacute;s&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a title="10 Principles Of Effective Web Design" href="http://www.smashingmagazine.com/2008/01/31/10-principles-of-effective-web-design/" target="_blank"&gt;10  Principles Of Effective Web Design&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title="247 web usability guidelines" href="http://www.userfocus.co.uk/resources/guidelines.html" target="_blank"&gt;247 web  usability guidelines&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title="useit.com: Jakob Nielsen's Website" href="http://www.useit.com/" target="_blank"&gt;useit.com:  Jakob Nielsen's Website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title="Web usability: The basics" href="http://www.webcredible.co.uk/user-friendly-resources/web-usability/basics.shtml" target="_blank"&gt;Web  usability: The basics&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;			&lt;p&gt;
			Leer &lt;strong&gt;&lt;a href="http://www.pixelovers.com/comportamiento-usuarios-sitios-web-568714" title="Comportamiento de los usuarios en los sitios web"&gt;Comportamiento de los usuarios en los sitios web&lt;/a&gt;&lt;/strong&gt; en &lt;a href="http://www.pixelovers.com" title="Diseño y desarrollo web"&gt;Pixelovers&lt;/a&gt;
			&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/bebR8-iB3ptlclIFbU3eJ-xEmK8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bebR8-iB3ptlclIFbU3eJ-xEmK8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/bebR8-iB3ptlclIFbU3eJ-xEmK8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bebR8-iB3ptlclIFbU3eJ-xEmK8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=De7a9Joegbo:v9XLqrU8ick:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=De7a9Joegbo:v9XLqrU8ick:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=De7a9Joegbo:v9XLqrU8ick:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?i=De7a9Joegbo:v9XLqrU8ick:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<author>juanmaguitar</author>
				<category>usabilidad</category>
				<comments>http://www.pixelovers.com/comportamiento-usuarios-sitios-web-568714#formulario</comments>
		<guid>http://www.pixelovers.com/comportamiento-usuarios-sitios-web-568714</guid>
		<pubDate>Sun, 25 Apr 2010 21:06:00 +0100</pubDate>
	</item>
	<item>
		<title>Cómo extender objetos con jQuery. Diferencia entre $.extend y $.fn.extend</title>
		<link>http://www.pixelovers.com/extender-objetos-jquery-diferencia-extend-fn-extend-563741</link>
		<description>&lt;p&gt;En muchos de los plugins de jQuery que manejamos vemos las expresiones &lt;strong&gt;$.extend&lt;/strong&gt; (o jQuery.extend) y &lt;strong&gt;$.fn.extend&lt;/strong&gt; (o jQuery.fn.extend).&lt;/p&gt;
&lt;p&gt;Pues bien, lo que estamos viendo en estas expresiones es la aplicaci&amp;oacute;n del metodo &lt;a href="http://api.jquery.com/jQuery.extend/"&gt;.extend()&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Este m&amp;eacute;todo es la base para la &lt;strong&gt;creaci&amp;oacute;n de plugins &lt;/strong&gt;y para la &lt;strong&gt;parametrizaci&amp;oacute;n de nuestros plugins&lt;/strong&gt; (es decir poder tener unos valores por defecto que el usuario pueda modificar al llamar al plugin).&lt;/p&gt;
&lt;h2 style="border-top:none;"&gt;Pero... &amp;iquest;que hace exactamente el metodo .extend()?&lt;/h2&gt;
&lt;p&gt;Basicamente lo que hace es extender objetos. Esto significa que, dado un objeto, le a&amp;ntilde;ade el contenido (funciones y variables) de otro objeto (o de otros).&lt;/p&gt;
&lt;p&gt;La nomenclatura de este metodo es la siguiente:&lt;/p&gt;
&lt;pre style="background-color:#eaf5fc;"&gt;&lt;code&gt;&lt;br /&gt;	jQuery.extend( target, [ object1 ], [ objectN ] )&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;p&gt;Ahora bien, dependiendo del numero de objetos que reciba, el resultado final ser&amp;aacute; diferente...&lt;/p&gt;&lt;h1&gt;Cuando .extend() recibe un unico objeto&lt;/h1&gt;
&lt;p&gt;En este caso, como solo se le pasa un objeto, lo que hace es a&amp;ntilde;adir  los metodos definidos en este objeto al objeto &lt;em&gt;jQuery&lt;/em&gt; o al objeto  &lt;em&gt;jQuery.fn&lt;/em&gt; (tambien llamado &lt;em&gt;jQuery.prototype &lt;/em&gt;o &lt;em&gt;$.fn&lt;/em&gt;)&lt;/p&gt;
&lt;p&gt;Como norma general, debemos extender el objeto &lt;em&gt;jQuery&lt;/em&gt; para &lt;strong&gt;funciones&lt;/strong&gt;,  y el objeto &lt;em&gt;jQuery.fn&lt;/em&gt; para &lt;strong&gt;metodos&lt;/strong&gt;. Una funcion, a  diferencia de un metodo, no puede ser accedida directamente desde el  DOM.&lt;/p&gt;
&lt;p&gt;Por ejemplo, si extendemos el objeto &lt;em&gt; jQuery.fn&lt;/em&gt; de esta forma:&lt;/p&gt;
&lt;pre style="background-color:#eaf5fc;"&gt;&lt;code&gt;&lt;br /&gt;	$.fn.extend({&lt;br /&gt;		myMethod: function(){...}&lt;br /&gt;	});&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;p&gt;Podremos aplicar este nuevo metodo a elementos del DOM de esta forma:&lt;/p&gt;
&lt;pre style="background-color:#ecfcea;"&gt;&lt;code&gt;&lt;br /&gt;	$("div").myMethod();&lt;br /&gt;	// aunque tambien podria llamar asi: $.fn.myMethod();&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;p&gt;Y si extendemos el objeto &lt;em&gt;jQuery&lt;/em&gt; de esta forma:&lt;/p&gt;
&lt;pre style="background-color:#eaf5fc;"&gt;&lt;code&gt;&lt;br /&gt;	$.extend({&lt;br /&gt;		myMethod2: function(){...}&lt;br /&gt;	});&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;p&gt;Podremos llamar a esta nueva funcion de esta forma&lt;/p&gt;
&lt;pre style="background-color:#ecfcea;"&gt;&lt;code&gt;&lt;br /&gt;	$.myMethod2();&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;h1&gt;Cuando .extend() recibe dos o m&amp;aacute;s objetos&lt;/h1&gt;
&lt;p&gt;Aqu&amp;iacute; lo que hace es a&amp;ntilde;adirle al primer objeto, los metodos y  variables definidos en el resto de objetos.&lt;/p&gt;
&lt;p&gt;Por ejemplo:&lt;/p&gt;
&lt;pre style="background-color:#ecfcea;"&gt;&lt;code&gt;&lt;br /&gt;	defaults = { size: 3 };&lt;br /&gt;	options = { height: 6 };&lt;br /&gt;	var opts = $.extend(defaults, options)&lt;br /&gt;&lt;br /&gt;	// 'defaults' recibe los metodos y variable definidos en 'options'&lt;br /&gt;	// opts == defaults == { size: 3, height: 6 }&lt;br /&gt;	// options == { height: 6 };&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;p&gt;El objeto &lt;em&gt;'defaults'&lt;/em&gt; se amplia (se extiende) con los elementos  del objeto &lt;em&gt;'options'&lt;/em&gt;. El objeto&lt;em&gt; 'options' &lt;/em&gt;permanece  igual.&lt;/p&gt;
&lt;p&gt;Si el primer objeto est&amp;aacute; vacio, se a&amp;ntilde;adir&amp;aacute;n los metodos y variables  del resto de objetos en un nuevo objeto. Esto es util cuando queremos  agrupar los metodos y variables de diferentes objetos sin modificar  ninguno de ellos.&lt;/p&gt;
&lt;p&gt;Por ejemplo:&lt;/p&gt;
&lt;pre style="background-color:#ecfcea;"&gt;&lt;code&gt;&lt;br /&gt;	var  opts = $.extend( {}, defaults, options)&lt;br /&gt;&lt;br /&gt;	// 'opts' recibe todos los metodos y variables definidos en 'defaults' y  'options', sin que estos queden modificados&lt;br /&gt;	// opts == { size: 3, height: 6 }&lt;br /&gt;	// defaults == { size: 3 };&lt;br /&gt;	// options == { height: 6 };&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;p&gt;El objeto &lt;em&gt;'opts' &lt;/em&gt;se amplia (se extiende) con los elementos de&lt;em&gt; 'defaults' &lt;/em&gt;y&lt;em&gt; 'options'&lt;/em&gt;. Los objetos &lt;em&gt;'defaults' &lt;/em&gt;y &lt;em&gt;'options'&lt;/em&gt; permanecen igual.&lt;/p&gt;
&lt;h2 style="border-top:none;"&gt;Y por ultimo.... &amp;iquest;hay m&amp;aacute;s formas de extender los objetos jQuery,  jQuery.fn o cualquier otro?&lt;/h2&gt;
&lt;p&gt;Pues si. Podemos extender cualquier objeto directamente con la  nomenclatura de objetos, es decir haciendo ...&lt;/p&gt;
&lt;pre style="background-color:#eaf5fc;"&gt;&lt;code&gt;&lt;br /&gt;	jQuery.myNewFunction_1 = function() { 	&lt;br /&gt;		// hago cosas chulas &lt;br /&gt;	}  &lt;br /&gt;&lt;br /&gt;	jQuery.fn.myNewFunction_2 = function () { 	&lt;br /&gt;		// aqu&amp;iacute; tambien hago cosas chulas &lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	miObjeto.myNewFunction_3 = function () { 	&lt;br /&gt;		// y aqu&amp;iacute; no voy a ser menos &lt;br /&gt;	}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;p&gt;&amp;iquest;Y t&amp;uacute;? &amp;iquest;Has usado ya .extend() en tus aplicaciones? &amp;iquest;C&amp;oacute;mo lo has  aplicado? Cuentanos tu experiencia.&lt;/p&gt;
&lt;h2&gt;Enlaces y m&amp;aacute;s&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://api.jquery.com/jQuery.extend/"&gt;jQuery API:  jquery.extend()&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://asimilia.wordpress.com/2008/12/17/jquery-extend-confusion/"&gt;jQuery:  $.extend() and $.fn.extend() confusion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://web.ontuts.com/tutoriales/como-crear-un-plugin-para-jquery/"&gt;C&amp;oacute;mo  crear un Plugin para jQuery&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://stackoverflow.com/questions/1991126/difference-jquery-extend-and-jquery-fn-extend"&gt;Stack  Overflow: difference jquery.extend and jquery.fn.extend&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;			&lt;p&gt;
			Leer &lt;strong&gt;&lt;a href="http://www.pixelovers.com/extender-objetos-jquery-diferencia-extend-fn-extend-563741" title="Cómo extender objetos con jQuery. Diferencia entre $.extend y $.fn.extend"&gt;Cómo extender objetos con jQuery. Diferencia entre $.extend y $.fn.extend&lt;/a&gt;&lt;/strong&gt; en &lt;a href="http://www.pixelovers.com" title="Diseño y desarrollo web"&gt;Pixelovers&lt;/a&gt;
			&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/IkXE8tAfhuUny4E-eoFaG6EB774/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IkXE8tAfhuUny4E-eoFaG6EB774/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/IkXE8tAfhuUny4E-eoFaG6EB774/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IkXE8tAfhuUny4E-eoFaG6EB774/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=yTyYcjrWmkQ:L_NW1niApVk:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=yTyYcjrWmkQ:L_NW1niApVk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=yTyYcjrWmkQ:L_NW1niApVk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?i=yTyYcjrWmkQ:L_NW1niApVk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<author>juanmaguitar</author>
				<category>api</category>
				<category>buenas prácticas</category>
				<category>javascript</category>
				<category>jquery</category>
				<category>jquery ui</category>
				<comments>http://www.pixelovers.com/extender-objetos-jquery-diferencia-extend-fn-extend-563741#formulario</comments>
		<guid>http://www.pixelovers.com/extender-objetos-jquery-diferencia-extend-fn-extend-563741</guid>
		<pubDate>Tue, 20 Apr 2010 00:03:00 +0100</pubDate>
	</item>
	<item>
		<title>Por qué no conviene usar variables globales en Javascript</title>
		<link>http://www.pixelovers.com/no-conviene-usar-variables-globales-javascript-544325</link>
		<description>&lt;p&gt;Desde hace tiempo vengo leyendo en muchos blogs de desarrollo con Javascript  la recomendaci&amp;oacute;n de no utilizar variables globales en nuestro c&amp;oacute;digo. Pero &amp;iquest;por qu&amp;eacute; se recomienda no utilizar variables globales en Javascript?&lt;/p&gt;
&lt;p&gt;En pixelovers hemos querido ahondar un poco en esta cuesti&amp;oacute;n y para ello comenzaremos respondiendo a algunas preguntas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; &lt;strong&gt;&amp;iquest;Qu&amp;eacute; son las variables globales?&lt;/strong&gt;
&lt;p&gt;En Javascript los programas son entregados como texto. Este texto Javascript es evaluado (eval) y compilado en un ejecutable que se ejecuta inmediatamente. Esta ejecuci&amp;oacute;n puede dejar algunos elementos en el objeto global de la ventana.&lt;/p&gt;
&lt;p&gt;El objeto global es el espacio de memoria que contiene las funciones y variables que estan en la raiz. Las variables que no se definen espec&amp;iacute;ficamente tambien son consideradas como variables globales. Los nombres de estas variables se mantienen en el objeto global y sus valores son accesibles desde cualquier parte del c&amp;oacute;digo.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;&amp;iquest;Si no es recomendable el uso de variables globales en Javascript por qu&amp;eacute; existen?&lt;/strong&gt;
&lt;p&gt;Este uso de variables globales era conveniente para los peque&amp;ntilde;os scripts que Navigator 2 esperaba soportar. Con el tiempo, estos peque&amp;ntilde;os script han derivado en complejas aplicaciones Web 2.0 (POO, AJAX, uso de librerias, plugins, etc...)&amp;nbsp; por lo que el uso de variables globales ya no tiene justificaci&amp;oacute;n.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;h1&gt;Global variables are evil.&lt;/h1&gt;
&lt;p&gt;Las variables globales son una fuente de falta de fiabilidad y de  inseguridad. Su uso hace que se incremente el riesgo de colisiones con  otras variables de otros programas. El riesgo de colisiones es mayor,  cuantos mas librerias, plugins y widgets utilizemos.&lt;/p&gt;
&lt;p&gt;De hecho, una medida objetiva de la calidad de un programa Javascript  es: &lt;em&gt;&amp;iquest;Cuantas variables globales y funciones globales tiene?&lt;/em&gt; Cuantas mas tenga, de peor calidad es&lt;/p&gt;
&lt;p&gt;Veamos ahora las diferentes formas de crear variables globales asi  como la mejor alternativa a su uso.&lt;/p&gt;
&lt;p&gt;Hay 3 maneras de definir una variable global en Javascript:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;La primera forma es declarar la variable fuera de cualquier funcion&lt;/p&gt;
&lt;pre style="background-color:#fefbe4;"&gt;			&lt;code&gt;&lt;br /&gt;			var myGlobalVar = value;&lt;br /&gt;		&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;La segunda forma es asignar la variable como una propiedad del objeto  global que en los navegadores web es el objeto window&lt;/p&gt;
&lt;pre style="background-color:#fefbe4;"&gt;			&lt;code&gt;&lt;br /&gt;			window.myGlobalVar = value;&lt;br /&gt;		&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;La tercera forma es usar la variable directamente sin definirla  antes. En este caso no importa si la variable est&amp;aacute; dentro o fuera de una  funcion. Se considera impl&amp;iacute;citamente que es una variable global&lt;/p&gt;
&lt;pre style="background-color:#fefbe4;"&gt;			&lt;code&gt;&lt;br /&gt;			myGlobalVar = 'Hello world';&lt;br /&gt;		&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Una buena manera de minimizar el uso de variables globales es  almacenarlas en un &amp;uacute;nico objeto global. Haciendo esto puedes mantener  todas tus variables y funciones en un &amp;uacute;nico lugar, reduciendo  ampliamente el riesgo de colisiones de nombre.&lt;/p&gt;
&lt;pre style="background-color:#ecfcea;"&gt;			&lt;code&gt;&lt;br /&gt;			// Define your global object  &lt;br /&gt;			var myObj = {};  &lt;br /&gt;&lt;br /&gt;			// Add property (variable) to it  &lt;br /&gt;			myObj.myVar = 'Hello world';  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;			// Add method to it  &lt;br /&gt;			myObj.myFunctions = function() {  &lt;br /&gt;				// Do cool stuff  &lt;br /&gt;			};  &lt;br /&gt;		&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Idealmente, un aplicaci&amp;oacute;n, librer&amp;iacute;a, componente o widget define una  unica variable global. Esta variable global deberia ser un objeto que es  el namespace raiz de toda nuestra funcionalidad (funciones y variables)&lt;/p&gt;
&lt;p&gt;El lenguaje javascript se dise&amp;ntilde;&amp;oacute; con variables globales para hacer  m&amp;aacute;s facil a los principiantes empezar a programar con este lenguaje.  Pero el efecto colateral es que es facil olvidar definir una variable y  de esta forma crear un bug dif&amp;iacute;cil de descubrir. Asi que hazte un favor,  y evita el uso de variables globales siempre que sea posible.&lt;/p&gt;
&lt;p&gt;&amp;iquest;Y tu que opinas? &amp;iquest;Alguna idea m&amp;aacute;s para comentar respecto al uso de  variables globales o alternativas?. Esperamos vuestros comentarios.&lt;/p&gt;
&lt;h2&gt;Enlaces y m&amp;aacute;s&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://yuiblog.com/blog/2006/06/01/global-domination/"&gt;Global  Domination at Yahoo! User Interface Blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.svennerberg.com/2009/02/global-variables-in-javascript/"&gt;Global  variables in Javascript&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;			&lt;p&gt;
			Leer &lt;strong&gt;&lt;a href="http://www.pixelovers.com/no-conviene-usar-variables-globales-javascript-544325" title="Por qué no conviene usar variables globales en Javascript"&gt;Por qué no conviene usar variables globales en Javascript&lt;/a&gt;&lt;/strong&gt; en &lt;a href="http://www.pixelovers.com" title="Diseño y desarrollo web"&gt;Pixelovers&lt;/a&gt;
			&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Xct9FjqXVtdqIq5j9Um_SSdZ3K8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Xct9FjqXVtdqIq5j9Um_SSdZ3K8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Xct9FjqXVtdqIq5j9Um_SSdZ3K8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Xct9FjqXVtdqIq5j9Um_SSdZ3K8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=l7hxWIoZ0K0:Vjx98JyjV9k:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=l7hxWIoZ0K0:Vjx98JyjV9k:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=l7hxWIoZ0K0:Vjx98JyjV9k:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?i=l7hxWIoZ0K0:Vjx98JyjV9k:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<author>juanmaguitar</author>
				<category>buenas prácticas</category>
				<category>desarrollo web</category>
				<category>javascript</category>
				<category>jquery</category>
				<category>variables globales</category>
				<comments>http://www.pixelovers.com/no-conviene-usar-variables-globales-javascript-544325#formulario</comments>
		<guid>http://www.pixelovers.com/no-conviene-usar-variables-globales-javascript-544325</guid>
		<pubDate>Tue, 30 Mar 2010 00:25:00 +0100</pubDate>
	</item>
	<item>
		<title>Libro manual jQuery UI 1.7</title>
		<link>http://www.pixelovers.com/libro-manual-jquery-ui-1-7-525355</link>
		<description>&lt;p&gt;&lt;a class="thickbox" title="Libro jQuery UI 1.7" href="http://static.obolog.net/multimedia/fotos/526000/525355/525355-224508.jpg"&gt;&lt;img style="float: right;" title="jQuery UI 1.7" src="http://static.obolog.net/multimedia/fotos/526000/525355/525355-224508_p.jpg" alt="jQuery UI 1.7" /&gt;&lt;/a&gt;Hace unos meses cay&amp;oacute; en mis manos este fant&amp;aacute;stico libro: &lt;a title="Libro jQuery UI 1.7" href="http://www.packtpub.com/user-interface-library-for-jquery-ui-1-7" target="_blank"&gt;jQuery UI 1.7&lt;/a&gt; de &lt;a title="Dan Wellman" href="http://www.danwellman.co.uk/" target="_blank"&gt;Dan Wellman&lt;/a&gt;. Y lo llevo usando casi a diario desde entonces puesto que estoy metido en un proyecto en el cual usamos casi toda la librer&amp;iacute;a (Dialog, Slider, Tabs, Sortable...). Al principio pens&amp;eacute; que no le dar&amp;iacute;a uso puesto que existen &lt;a title="Demos y Documentaci&amp;oacute;n de jQuery UI 1.7" href="http://jqueryui.com/demos/" target="_blank"&gt;demos y documentacion de jQuery UI&lt;/a&gt;, pero desafortunadamente no es tan buena como me esperaba.&lt;/p&gt;
&lt;p&gt;Creo que una de las partes que m&amp;aacute;s conflicto crea entre los usuarios del framework es la cantidad de clases que a&amp;ntilde;ade a los elementos involucrados. Y es cierto, a&amp;ntilde;ade muchas, pero todas ellas necesarias. Gracias a eso te permite controlar a tu gusto la interfaz. Ellos te proporcionan una serie de temas, los cuales puedes personalizar mediante el &lt;a title="jQuery UI ThemeRoller" href="http://jqueryui.com/themeroller/" target="_blank"&gt;jQuery UI ThemeRoller&lt;/a&gt;, pero hay casos en los que te quieres salir de la norma y dar, en un caso concreto, un estilo diferente. Conociendo bien el porqu&amp;eacute; de cada clases es muy f&amp;aacute;cil, y para este caso el libro me ha venido como anillo al dedo. He podido aprender, ya en el cap&amp;iacute;tulo 2, el CSS Framework, algo imprescindible para dotar a tu interzar la personalidad que buscabas.&lt;/p&gt;
&lt;p&gt;Por otro lado el libro me ha venido muy bien para entender paso a paso el funcionamiento de los widgets. Con lo que he podido crear mis propois plugins para automatizar ciertos procesos, como por ejemplo la creaci&amp;oacute;n de sliders, o paneles configurables mediante sortable.&lt;/p&gt;
&lt;p&gt;La verdad que siendo sincero, si piensas desarollar algo con jQuery UI 1.7 y quieres hacer bien, te recomeiendo este libro.&lt;/p&gt;			&lt;p&gt;
			Leer &lt;strong&gt;&lt;a href="http://www.pixelovers.com/libro-manual-jquery-ui-1-7-525355" title="Libro manual jQuery UI 1.7"&gt;Libro manual jQuery UI 1.7&lt;/a&gt;&lt;/strong&gt; en &lt;a href="http://www.pixelovers.com" title="Diseño y desarrollo web"&gt;Pixelovers&lt;/a&gt;
			&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Lo4BRytCL_RPhJXei_w-LrZVMEs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Lo4BRytCL_RPhJXei_w-LrZVMEs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Lo4BRytCL_RPhJXei_w-LrZVMEs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Lo4BRytCL_RPhJXei_w-LrZVMEs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=haa8vfB0LQs:_Ucml81H_xM:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=haa8vfB0LQs:_Ucml81H_xM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=haa8vfB0LQs:_Ucml81H_xM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?i=haa8vfB0LQs:_Ucml81H_xM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<author>jorgecasar</author>
				<category>desarrollo web</category>
				<category>diseño de interfaces</category>
				<category>interfaces</category>
				<category>javascript</category>
				<category>jquery</category>
				<category>jquery ui</category>
				<comments>http://www.pixelovers.com/libro-manual-jquery-ui-1-7-525355#formulario</comments>
		<guid>http://www.pixelovers.com/libro-manual-jquery-ui-1-7-525355</guid>
		<pubDate>Sat, 27 Feb 2010 16:55:00 +0100</pubDate>
	</item>
	<item>
		<title>Javascript y jQuery: Consejos y Buenas Practicas (Parte II)</title>
		<link>http://www.pixelovers.com/javascript-jquery-consejos-buenas-practicas-parte-ii-521211</link>
		<description>&lt;p&gt;Hace unas semanas iniciamos una serie de 2 posts para hablar de lo que consideramos que son unas buenas practicas para desarrollar codigo Javascript con la libreria jQuery.&lt;/p&gt;
&lt;p&gt;&lt;img style="margin: 20px; float: right;" title="http://static.obolog.net/multimedia/fotos/309000/308801/308801-209198.jpg" src="http://static.obolog.net/multimedia/fotos/309000/308801/308801-209198_t.jpg" alt="http://static.obolog.net/multimedia/fotos/309000/308801/308801-209198.jpg" width="300" height="306" /&gt;&lt;/p&gt;
&lt;p&gt;Con este post cerramos la serie y profundizamos un poco m&amp;aacute;s en el tema&lt;/p&gt;
&lt;p&gt;En el &lt;a href="http://www.pixelovers.com/javascript-jquery-consejos-buenas-practicas-parte-i-308801"&gt;primer post de esta serie&lt;/a&gt; comentamos algunas generalidades que nos pueden servir de base a la hora de desarrollar un c&amp;oacute;digo JS eficiente. En este segundo post hablaremos de como solucionar de forma eficiente problemas concretos que nos solemos encontrar en nuestros desarrollos.&lt;/p&gt;
&lt;p&gt;Asi que, ahi vamos...&lt;/p&gt;&lt;h1&gt;Practicas eficientes&lt;/h1&gt;
&lt;ul&gt;
&lt;li style="margin-bottom:10px;"&gt;&lt;strong&gt;Checkear la disponibilidad de un objeto antes de acceder a &amp;eacute;l.&lt;/strong&gt; Muchos de los errores en Javascript se deben a que se intenta acceder a elementos o m&amp;eacute;todos que no existen en un determinado momento del periodo de ejecuci&amp;oacute;n. Para solucionar esto basta con realizar un peque&amp;ntilde;a comprobaci&amp;oacute;n antes de utilizar dicho elemento o m&amp;eacute;todo.
&lt;p&gt;Ejemplo:&lt;/p&gt;
&lt;pre style="background-color:#ecfcea;"&gt;			&lt;code&gt;&lt;br /&gt;&lt;br /&gt;	if ( $('#signup').length ) {&lt;br /&gt;		$('#signup input').change ( function () {&lt;br /&gt;			alert ("Acabas de poner " + $(this).val() );&lt;br /&gt;		});&lt;br /&gt;	}&lt;br /&gt;					&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="margin-bottom:10px;"&gt;&lt;strong&gt;Evita el uso de variables globales.&lt;/strong&gt; A fin de evitar el uso de variables globales, podemos utilizar data, un m&amp;eacute;todo de jQuery que nos permite mantener relaciones entre valores y elementos DOM.
&lt;p&gt;Por ejemplo podemos guardar un dato en el objeto document de esta forma&lt;/p&gt;
&lt;pre style="background-color:#ecfcea;"&gt;			&lt;code&gt;&lt;br /&gt;&lt;br /&gt;	$(document).data('id_country',3) ,&lt;br /&gt;					&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Y acceder al dato de esta leer el dato de esta otra&lt;/p&gt;
&lt;pre style="background-color:#ecfcea;"&gt;			&lt;code&gt;&lt;br /&gt;&lt;br /&gt;	$(document).data('id_country')&lt;br /&gt;					&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Aunque lo suyo realmente es aprovechar la terminologia de objetos y ubicar las variables en su contexto&lt;/p&gt;
&lt;p&gt;Ejemplo:&lt;/p&gt;
&lt;pre style="background-color:#ecfcea;"&gt;			&lt;code&gt;&lt;br /&gt;&lt;br /&gt;	var mySite = {&lt;br /&gt;		general_1 : 100 ,&lt;br /&gt;		general_2 : 200,&lt;br /&gt;							&lt;br /&gt;		myObject1 : {&lt;br /&gt;							&lt;br /&gt;			local_1 : 500,&lt;br /&gt;			funcionLocal : function() {&lt;br /&gt;				var local_2 = 600;&lt;br /&gt;				console.log ("estoy en funcionLocal");&lt;br /&gt;				console.log ("local_1=" + mySite.myObject1.local_1);&lt;br /&gt;				console.log ("local_2=" + local_2);&lt;br /&gt;			}&lt;br /&gt;						&lt;br /&gt;		},&lt;br /&gt;&lt;br /&gt;		init : function() {&lt;br /&gt;			console.log ("estoy en init");&lt;br /&gt;			this.funcionalidad1();&lt;br /&gt;			this.myObject1.funcionLocal();&lt;br /&gt;		},&lt;br /&gt;						&lt;br /&gt;		funcionalidad1 : function() {&lt;br /&gt;			console.log ("estoy en funcionalidad1");&lt;br /&gt;			console.log ("general_1=" + this.general_1);&lt;br /&gt;			console.log ("general_2=" + this.general_2);&lt;br /&gt;		}&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="margin-bottom:10px;"&gt;&lt;strong&gt;Definir siempre las variables con VAR &lt;/strong&gt;, incluso dentro de los FOR, de esta forma nos aseguramos que la variable tendr&amp;aacute; el ambito que le corresponda. Si no se pone var se toma la variable como global.
&lt;p&gt;Mala declaracion de variables para el FOR&lt;/p&gt;
&lt;pre style="background-color:#fceaea;"&gt;			&lt;code&gt;&lt;br /&gt;&lt;br /&gt;	var i=0; // Creates a global variable&lt;br /&gt;&lt;br /&gt;	function test() {&lt;br /&gt;	   for (i=0; i&amp;lt;10; i++) {&lt;br /&gt;		  // do something&lt;br /&gt;	   }&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	test();&lt;br /&gt;&lt;br /&gt;	alert(i); // The global variable i is now 10!&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Buenas declaraciones de variables para el FOR&lt;/p&gt;
&lt;pre style="background-color:#ecfcea;"&gt;			&lt;code&gt;&lt;br /&gt;&lt;br /&gt;	var i=0; // Creates a global variable&lt;br /&gt;&lt;br /&gt;	function test() {&lt;br /&gt;	   var i=0;&lt;br /&gt;	   for (i=0; i&amp;lt;10; i++) {&lt;br /&gt;			// do something&lt;br /&gt;	   }&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	function test2() {&lt;br /&gt;	   for (var i=0; i&amp;lt;10; i++) {&lt;br /&gt;			// do something else&lt;br /&gt;	   }&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	test();&lt;br /&gt;	test2();&lt;br /&gt;&lt;br /&gt;	alert(i); // The global variable i is still 0!&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="margin-bottom:10px;"&gt;&lt;strong&gt;Usa FOR en vez de EACH&lt;/strong&gt;. Por lo general las funciones nativas de Javascript son mas rapidas que las derivadas de librerias
&lt;p&gt;Ejemplos:&lt;/p&gt;
&lt;pre style="background-color:#ecfcea;"&gt;			&lt;code&gt;&lt;br /&gt;&lt;br /&gt;	var array = new Array ();  &lt;br /&gt;	for (var i=0; i&amp;lt;10000; i++) {  &lt;br /&gt;		array[i] = 0;  &lt;br /&gt;	}  &lt;br /&gt;	&lt;br /&gt;	// Mas lento&lt;br /&gt;	$.each (array, function (i) {  &lt;br /&gt;		array[i] = i;  &lt;br /&gt;	});  &lt;br /&gt;&lt;br /&gt;	// Mas rapido&lt;br /&gt;	var l = array.length;  &lt;br /&gt;	for (var i=0; i&amp;lt;l; i++) {  &lt;br /&gt;		array[i] = i;  &lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="margin-bottom:10px;"&gt;&lt;strong&gt;Para concatenaciones largas de cadenas, mejor &lt;a href="http://www.w3schools.com/jsref/jsref_join.asp"&gt;JOIN()&lt;/a&gt; que &lt;a href="http://www.w3schools.com/jsref/jsref_concat_array.asp"&gt;CONCAT()&lt;/a&gt;&lt;/strong&gt;. JOIN devuelve texto y CONCAT devuelve un array.
&lt;p&gt;Ejemplos:&lt;/p&gt;
&lt;pre style="background-color:#ecfcea;"&gt;			&lt;code&gt;&lt;br /&gt;&lt;br /&gt;	var array = [];  &lt;br /&gt;	for (var i=0; i&amp;lt;=1000; i++) {  &lt;br /&gt;		array[i] = '&amp;lt;li&amp;gt;'+i+'&amp;lt;/li&amp;gt;';  &lt;br /&gt;	}  &lt;br /&gt;&lt;br /&gt;	// JOIN devuelve texto&lt;br /&gt;	$('#list').html ( array.join (''));  &lt;br /&gt;&lt;br /&gt;	// CONCAT devuelve array&lt;br /&gt;	var array_concat = array.concat('');  &lt;br /&gt;&lt;br /&gt; &lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="margin-bottom:10px;"&gt;&lt;strong&gt;Return FALSE&lt;/strong&gt; Si no devuelves FALSE en la funcion la pagina salta al top, por eso a la hora de capturar eventos conviene devolver FALSE al final para que haga lo que nosotros definimos y nada mas
&lt;p&gt;En vez de esto:&lt;/p&gt;
&lt;pre style="background-color:#fceaea;"&gt;			&lt;code&gt;&lt;br /&gt;	&lt;br /&gt;	$('#item').click (function () {&lt;br /&gt;		// stuff here&lt;br /&gt;	});&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Mejor esto:&lt;/p&gt;
&lt;pre style="background-color:#ecfcea;"&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;	$('#item').click (function () {&lt;br /&gt;		// stuff here&lt;br /&gt;		return false;&lt;br /&gt;	});&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="margin-bottom:10px;"&gt;&lt;strong&gt;Usar correctamente el tag SCRIPT&lt;/strong&gt;. El atributo LANGUAGE est&amp;aacute; deprecado en el tag &amp;lt;script&amp;gt;. La forma correcta de crear un bloque de c&amp;oacute;digo javascript es:
&lt;pre style="background-color:#ecfcea;"&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;	&amp;lt;script type="text/javascript &amp;gt;&lt;br /&gt;		// code JS here&lt;br /&gt;	&amp;lt;script&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="margin-bottom:10px;"&gt;&lt;strong&gt;La selecci&amp;oacute;n mas r&amp;aacute;pida es por ID&lt;/strong&gt;. Siempre el selector m&amp;aacute;s r&amp;aacute;pido y que menos iteraciones produce es la b&amp;uacute;squeda por un #id, ya que simplemente lanza un document.getElementById(), lo que al ser nativo nos asegura un tiempo de respuesta m&amp;iacute;nimo y un m&amp;iacute;nimo consumo de proceso.
&lt;p&gt;Por ejemplo, con este codigo:&lt;/p&gt;
&lt;pre style="background-color:#ecfcea;"&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;	&amp;lt;div id="content"&amp;gt;&lt;br /&gt;		&amp;lt;form method="post" action="/"&amp;gt;&lt;br /&gt;			&amp;lt;h2&amp;gt;Traffic Light&amp;lt;/h2&amp;gt;&lt;br /&gt;				&amp;lt;ul id="traffic_light"&amp;gt;&lt;br /&gt;					&amp;lt;li&amp;gt;&amp;lt;input type="radio" name="light" value="red" /&amp;gt; Red&amp;lt;/li&amp;gt;&lt;br /&gt;					&amp;lt;li&amp;gt;&amp;lt;input type="radio" name="light" value="yellow" /&amp;gt; Yellow&amp;lt;/li&amp;gt;&lt;br /&gt;					&amp;lt;li&amp;gt;&amp;lt;input type="radio" name="light" value="green" /&amp;gt; Green&amp;lt;/li&amp;gt;&lt;br /&gt;				&amp;lt;/ul&amp;gt;&lt;br /&gt;				&amp;lt;input id="traffic_button" type="submit" value="Go" /&amp;gt;&lt;br /&gt;		&amp;lt;/form&amp;gt;&lt;br /&gt;	&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;En vez de esto:&lt;/p&gt;
&lt;pre style="background-color:#fceaea;"&gt;			&lt;code&gt;&lt;br /&gt;&lt;br /&gt;	// M&amp;aacute;s lento&lt;br /&gt;	var traffic_button = $('#content .button');&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Mejor esto:&lt;/p&gt;
&lt;pre style="background-color:#ecfcea;"&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;	// M&amp;aacute;s r&amp;aacute;pido&lt;br /&gt;	var traffic_button = $('#traffic_button');&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Para acceder a varios elementos, siempre que podamos debemos hacerlo partiendo de un #id, de esta forma nos aseguramos una iteraci&amp;oacute;n m&amp;aacute;s ajustada.:&lt;/p&gt;
&lt;pre style="background-color:#ecfcea;"&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;	var traffic_lights = $('#traffic_light input');&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="margin-bottom:10px;"&gt;&lt;strong&gt;Usar tags delante de las clases&lt;/strong&gt;. Al hacer selecci&amp;oacute;n de clases con jQuery, es recomendable indicar el tag del elemento solicitado ya que al hacer iternamente uso de document.getElementsByTagName() para localizarlos acotamos previamente los elementos en los que buscar las clases solicitadas.
&lt;p&gt;Por ejemplo, para el HTML del punto anterior, si queremos seleccionar el elemento radio con, la opci&amp;oacute;n m&amp;aacute;s r&amp;aacute;pida ser&amp;iacute;a la siguiente:&lt;/p&gt;
&lt;pre style="background-color:#ecfcea;"&gt;&lt;code&gt;&lt;br /&gt;	&lt;br /&gt;	var active_light = $('#traffic_light input.on');&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="margin-bottom:10px;"&gt;&lt;strong&gt;Usar la cach&amp;eacute; de objetos&lt;/strong&gt;. Coger el h&amp;aacute;bito de guardar una variable con el valor de un objeto jQuery nos evita realizar una serie de comprobaciones innecesarias y que en scripts pesados pueden suponer un aumento de rendimiento importante.
&lt;p&gt;Seleccion poco eficiente de elementos:&lt;/p&gt;
&lt;pre style="background-color:#fceaea;"&gt;			&lt;code&gt;&lt;br /&gt;&lt;br /&gt;	$('#traffic_light input.on).bind('click', function(){...});&lt;br /&gt;	$('#traffic_light input.on).css('border', '3px dashed yellow');&lt;br /&gt;	$('#traffic_light input.on).css('background-color', 'orange');&lt;br /&gt;	$('#traffic_light input.on).fadeIn('slow');&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Seleccion Eficiente de elementos:&lt;/p&gt;
&lt;pre style="background-color:#ecfcea;"&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;	var $active_light = $('#traffic_light input.on');&lt;br /&gt;	$active_light.bind('click', function(){...});&lt;br /&gt;	$active_light.css('border', '3px dashed yellow');&lt;br /&gt;	$active_light.css('background-color', 'orange');&lt;br /&gt;	$active_light.fadeIn('slow');&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="margin-bottom:10px;"&gt;&lt;strong&gt;Crear Objeto Global con resultados jQuery.&lt;/strong&gt;. Si necesitamos utilizar una selecci&amp;oacute;n jQuery en diferentes funciones, se puede cachear en un objeto con &amp;aacute;mbito global.
&lt;p&gt;Ejemplo:&lt;/p&gt;
&lt;pre style="background-color:#ecfcea;"&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;	// Define an object in the global scope (i.e. the window object)&lt;br /&gt;&lt;br /&gt;	window.$my = {&lt;br /&gt;&lt;br /&gt;              // Initialize all the queries you want to use more than once&lt;br /&gt;              head : $('head'),&lt;br /&gt;              traffic_light : $('#traffic_light'),&lt;br /&gt;              traffic_button : $('#traffic_button')&lt;br /&gt;	};&lt;br /&gt;&lt;br /&gt;	function do_something() {&lt;br /&gt;&lt;br /&gt;              // Now you can reference the stored results and manipulate them&lt;br /&gt;              var script = document.createElement('script');&lt;br /&gt;&lt;br /&gt;              $my.head.append(script);&lt;br /&gt;              // When working inside functions, continue to save jQuery results&lt;br /&gt;&lt;br /&gt;              // to your global container.&lt;br /&gt;              $my.cool_results = $('#some_ul li');&lt;br /&gt;              $my.other_results = $('#some_table td');&lt;br /&gt;&lt;br /&gt;              // Use the global functions as you would a normal jQuery result&lt;br /&gt;              $my.other_results.css('border-color', 'red');&lt;br /&gt;              $my.traffic_light.css('border-color', 'green');&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="margin-bottom:10px;"&gt;&lt;strong&gt;Aprovechar el encadenamiento&lt;/strong&gt;. El encadenamiento pese a producir un amasijo de c&amp;oacute;digo que no contribuye a mejorar la lectura del c&amp;oacute;digo hace que nuestro Javascript sea m&amp;aacute;s ligero y puede ayudar a mejorar el rendimiento de nuestros scripts.
&lt;p&gt;Ejemplo:&lt;/p&gt;
&lt;pre style="background-color:#ecfcea;"&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;	var $active_light = $('#traffic_light input.on');&lt;br /&gt;	&lt;br /&gt;	$active_light.bind('click', function(){...})&lt;br /&gt;		.css('border', '3px dashed yellow')&lt;br /&gt;		.css('background-color', 'orange')&lt;br /&gt;		.fadeIn('slow');&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="margin-bottom:10px;"&gt;&lt;strong&gt;Usar subqueries siempre que se pueda&lt;/strong&gt;. Si debemos realizar varias b&amp;uacute;squedas sobre un elemento es altamente recomendable realizar un uso intensivo del m&amp;eacute;todo find() de jQuery para realizar las b&amp;uacute;squedas. Mejoraremos el tiempo de respuesta al evitarnos b&amp;uacute;squedas previas ya realizadas.
&lt;p&gt;Ejemplo:&lt;/p&gt;
&lt;pre style="background-color:#ecfcea;"&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;	var $traffic_light = $('#traffic_light'),&lt;br /&gt;	$active_light = traffic_light.find('input.on'),&lt;br /&gt;	$inactive_lights = $traffic_light.find('input.off');&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="margin-bottom:10px;"&gt;&lt;strong&gt;Limitar la manipulaci&amp;oacute;n directa del DOM&lt;/strong&gt;. La idea general es crear exactamente lo que necesitas en memoria y luego actualizar el DOM
&lt;p&gt;Si necesitas crear una lista de elementos, en vez de :&lt;/p&gt;
&lt;pre style="background-color:#fceaea;"&gt;			&lt;code&gt;&lt;br /&gt; &lt;br /&gt;	var top_100_list = [...], // assume this has 100 unique strings&lt;br /&gt;	$mylist = $('#mylist'); // jQuery selects our &amp;lt;ul&amp;gt; element&lt;br /&gt;&lt;br /&gt;	for (var i=0, l=top_100_list.length; i&amp;lt;l; i++) {&lt;br /&gt;		$mylist.append('&amp;lt;li&amp;gt;' + top_100_list[i] + '&amp;lt;/li&amp;gt;');&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt; &lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Creamos la lista de elementos en un string antes de insertarlo en el DOM&lt;/p&gt;
&lt;pre style="background-color:#ecfcea;"&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;	var top_100_list = [...], // assume this has 100 unique strings&lt;br /&gt;	$mylist = $('#mylist'), // jQuery selects our &amp;lt;ul&amp;gt; element&lt;br /&gt;	top_100_li = ""; // This will store our list items&lt;br /&gt;	&lt;br /&gt;	for (var i=0, l=top_100_list.length; i&amp;lt;l; i++) {&lt;br /&gt;		top_100_li += '&amp;lt;li&amp;gt;' + top_100_list[i] + '&amp;lt;/li&amp;gt;';&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;	$mylist.html(top_100_li);&lt;br /&gt;&lt;br /&gt; &lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li style="margin-bottom:10px;"&gt;&lt;strong&gt;Usar JSON&lt;/strong&gt;. Para guardar estructuras de datos o enviar/recibir estructuras de datos via AJAX mejor &lt;a href="http://www.json.org/"&gt;JSON&lt;/a&gt; que &lt;a href="http://www.w3.org/XML/"&gt;XML&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Y hasta aqui la segunda parte y el final de la serie de consejos y buenas practicas para desarrollo con Javascript y jQuery.&lt;/p&gt;
&lt;p&gt;&amp;iquest;Que te han parecido los puntos aqui comentados? &amp;iquest;Algun punto que creas que falta en esta lista?.&lt;/p&gt;
&lt;h2&gt;Enlaces y m&amp;aacute;s&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.bobbyvandersluis.com/articles/javascript_good_practices/index.html"&gt;Ten good practices for writing JavaScript in 2005&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.smashingmagazine.com/2008/09/16/jquery-examples-and-best-practices/"&gt;jQuery and JavaScript Coding: Examples and Best Practices&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.anieto2k.com/2009/05/13/optimizando-el-rendimiento-de-nuestros-scritps-jquery/"&gt;Optimizando el rendimiento de nuestros scritps jQuery&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.javascripttoolbox.com/bestpractices/"&gt;Javascript Best Practices&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://developer.yahoo.com/performance/rules.html"&gt;Best Practices for Speeding Up Your Web Site&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.artzstudio.com/2009/04/jquery-performance-rules/"&gt;jQuery Performance Rules&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://net.tutsplus.com/tutorials/javascript-ajax/10-ways-to-instantly-increase-your-jquery-performance/"&gt;10 Ways to Instantly Increase Your jQuery Performance&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.anieto2k.com/2007/09/20/analizando-las-formas-de-optimizar-el-trabajo-con-dom-en-javascript/"&gt;Analizando las formas de optimizar el trabajo con DOM en Javascript&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.tvidesign.co.uk/blog/improve-your-jquery-25-excellent-tips.aspx"&gt;Improve your jQuery - 25 excellent tips&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;			&lt;p&gt;
			Leer &lt;strong&gt;&lt;a href="http://www.pixelovers.com/javascript-jquery-consejos-buenas-practicas-parte-ii-521211" title="Javascript y jQuery: Consejos y Buenas Practicas (Parte II)"&gt;Javascript y jQuery: Consejos y Buenas Practicas (Parte II)&lt;/a&gt;&lt;/strong&gt; en &lt;a href="http://www.pixelovers.com" title="Diseño y desarrollo web"&gt;Pixelovers&lt;/a&gt;
			&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/36Sj-ZC9mlXYZ_BUfYGOaZqcyOU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/36Sj-ZC9mlXYZ_BUfYGOaZqcyOU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/36Sj-ZC9mlXYZ_BUfYGOaZqcyOU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/36Sj-ZC9mlXYZ_BUfYGOaZqcyOU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=0urTCXxllrc:y5PkgLFVGFI:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=0urTCXxllrc:y5PkgLFVGFI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=0urTCXxllrc:y5PkgLFVGFI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?i=0urTCXxllrc:y5PkgLFVGFI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<author>juanmaguitar</author>
				<category>ajax</category>
				<category>buenas practicas</category>
				<category>codigo</category>
				<category>consejos</category>
				<category>desarrollo web</category>
				<category>eventos</category>
				<category>frameworks</category>
				<category>javascript</category>
				<category>jquery</category>
				<category>optimizacion</category>
				<comments>http://www.pixelovers.com/javascript-jquery-consejos-buenas-practicas-parte-ii-521211#formulario</comments>
		<guid>http://www.pixelovers.com/javascript-jquery-consejos-buenas-practicas-parte-ii-521211</guid>
		<pubDate>Sat, 20 Feb 2010 20:30:00 +0100</pubDate>
	</item>
	<item>
		<title>Enlaces de la semana (semana 5 de 2010)</title>
		<link>http://www.pixelovers.com/enlaces-semana-semana-5-2010-514523</link>
		<description>&lt;p&gt;Comenza febrero y con ello inauguramos una nueva secci&amp;oacute;n el en blog "Enlaces de la semana", en la que haremos un resumen de todos los enlaces que hemos ido poniendo en twitter (&lt;a title="Sigue a pixelovers en Twitter" href="http://twitter.com/pixelovers" target="_blank"&gt;@pixelovers&lt;/a&gt;) y en la p&amp;aacute;gina &lt;a title="Hazte Fan de Pixelovers en Facebook" href="http://www.facebook.com/pages/Pixelovers/249155987200" target="_blank"&gt;Pixelovers en Facebook&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Javascript&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt;C&amp;oacute;digo &lt;strong&gt;Konami en  Javascript&lt;/strong&gt; - &lt;a rel="nofollow" href="http://bit.ly/a3Tm22" target="_blank"&gt;http://bit.ly/a3Tm22&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt;&lt;strong&gt;Rich-Text Editors&lt;/strong&gt; for 2010 and Beyond - &lt;a rel="nofollow" href="http://bit.ly/b4BOEf" target="_blank"&gt;http://bit.ly/b4BOEf&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt;The &lt;strong&gt;jQuery  Cross-Domain Ajax Guide&lt;/strong&gt; - &lt;a rel="nofollow" href="http://bit.ly/aRfhU9" target="_blank"&gt;http://bit.ly/aRfhU9&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt;&lt;strong&gt;10 funciones  imprescindibles en Javascript&lt;/strong&gt; - &lt;a rel="nofollow" href="http://bit.ly/9VSGg8" target="_blank"&gt;http://bit.ly/9VSGg8&lt;/a&gt; | No va a ser todo jQuery. Funciones muy &amp;uacute;tiles en Javascript nativo.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt;&lt;strong&gt;Hovertip&lt;/strong&gt;, plugin  de jQuery para tooltips - &lt;a rel="nofollow" href="http://bit.ly/cuFGl4" target="_blank"&gt;http://bit.ly/cuFGl4&lt;/a&gt; | El mas ligero y completo que hemos encontrado hasta la fecha.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;CSS&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt;&lt;strong&gt;Pure CSS bar  charts&lt;/strong&gt; as a simple API - &lt;a rel="nofollow" href="http://bit.ly/aHS4AQ" target="_blank"&gt;http://bit.ly/aHS4AQ&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;HTML&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt;Nuevos campos de  &lt;strong&gt;formulario en HTML5&lt;/strong&gt; - &lt;a rel="nofollow" href="http://bit.ly/9ACgbU" target="_blank"&gt;http://bit.ly/9ACgbU&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Dise&amp;ntilde;o&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt;&lt;strong&gt;MagazineXpert&lt;/strong&gt;,  publicaci&amp;oacute;n para la comunidad hispanohablante de tecnolog&amp;iacute;as y  aplicaciones Adobe - &lt;a rel="nofollow" href="http://bit.ly/cXaZP5" target="_blank"&gt;http://bit.ly/cXaZP5&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt;A Set Of &lt;strong&gt;User  Interface  Design Elements&lt;/strong&gt; (PSD) - &lt;a rel="nofollow" href="http://bit.ly/d2Lg1V" target="_blank"&gt;http://bit.ly/d2Lg1V&lt;/a&gt; | Control buttons, info boxes,  breadcrumbs, forms, scrollbars &amp;amp;  more.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt;&lt;strong&gt;Color Theory&lt;/strong&gt; for  Designers, Part 1: &lt;strong&gt;The Meaning  of Color &lt;/strong&gt;- &lt;a rel="nofollow" href="http://bit.ly/9ixnJb" target="_blank"&gt;http://bit.ly/9ixnJb&lt;/a&gt; | Smashing Magazine.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt;&lt;strong&gt;Color Theory&lt;/strong&gt; For  Designers, Part 2: &lt;strong&gt;Understanding  Concepts And Terminology&lt;/strong&gt; - &lt;a rel="nofollow" href="http://bit.ly/asn06E" target="_blank"&gt;http://bit.ly/asn06E&lt;/a&gt; | Smashing Magazine.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt;100+ &lt;strong&gt;Seamless  Patterns&lt;/strong&gt; Great for Creating Website  Backgrounds - &lt;a rel="nofollow" href="http://bit.ly/a9JoCE" target="_blank"&gt;http://bit.ly/a9JoCE&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt;Beautiful Free  Vector Downloads &lt;strong&gt;Roundup&lt;/strong&gt; - &lt;a rel="nofollow" href="http://bit.ly/9jQ8o8" target="_blank"&gt;http://bit.ly/9jQ8o8&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Utilidades web&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt;Using&lt;strong&gt; firebug lite  on Google Chrome&lt;/strong&gt;. Originaly made by Firebug Team - &lt;a rel="nofollow" href="http://bit.ly/doKjxi" target="_blank"&gt;http://bit.ly/doKjxi&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt;How to Use &lt;strong&gt;sIFR 3&lt;/strong&gt; -  &lt;a rel="nofollow" href="http://bit.ly/dlGflM" target="_blank"&gt;http://bit.ly/dlGflM&lt;/a&gt; | Video explicativo de este  sistema que te permite usar cualquier fuente en la web&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt;Best Practices To  Develop Perfect &lt;strong&gt;Websites for iPhone and Mobile Devices&lt;/strong&gt; - &lt;a rel="nofollow" href="http://bit.ly/bFzPDd" target="_blank"&gt;http://bit.ly/bFzPDd&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Espero que os resulten interesantes y si quer&amp;eacute;is descubrir estos enaces antes siguenes en Twitter &lt;a title="Sigue a pixelovers en Twitter" href="http://twitter.com/pixelovers" target="_blank"&gt;@pixelovers&lt;/a&gt; y hazte fan de la p&amp;aacute;gina &lt;a title="Hazte Fan de Pixelovers en Facebook" href="http://www.facebook.com/pages/Pixelovers/249155987200" target="_blank"&gt;Pixelovers  en Facebook&lt;/a&gt;.&lt;/p&gt;			&lt;p&gt;
			Leer &lt;strong&gt;&lt;a href="http://www.pixelovers.com/enlaces-semana-semana-5-2010-514523" title="Enlaces de la semana (semana 5 de 2010)"&gt;Enlaces de la semana (semana 5 de 2010)&lt;/a&gt;&lt;/strong&gt; en &lt;a href="http://www.pixelovers.com" title="Diseño y desarrollo web"&gt;Pixelovers&lt;/a&gt;
			&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/3jIV-1FAB73BWeuJEDQvkBdKdAE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3jIV-1FAB73BWeuJEDQvkBdKdAE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/3jIV-1FAB73BWeuJEDQvkBdKdAE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3jIV-1FAB73BWeuJEDQvkBdKdAE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=9zS9-doIguw:MnjiyBKsjU4:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=9zS9-doIguw:MnjiyBKsjU4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=9zS9-doIguw:MnjiyBKsjU4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?i=9zS9-doIguw:MnjiyBKsjU4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<author>jorgecasar</author>
				<category>diseño</category>
				<category>diseño de interfaces</category>
				<category>diseño gráfico</category>
				<category>diseño web</category>
				<category>enlaces</category>
				<category>javascript</category>
				<category>jquery</category>
				<comments>http://www.pixelovers.com/enlaces-semana-semana-5-2010-514523#formulario</comments>
		<guid>http://www.pixelovers.com/enlaces-semana-semana-5-2010-514523</guid>
		<pubDate>Sun, 07 Feb 2010 16:40:00 +0100</pubDate>
	</item>
	<item>
		<title>Nuevos campos de formulario en HTML5</title>
		<link>http://www.pixelovers.com/nuevos-campos-formulario-html5-500115</link>
		<description>&lt;p&gt;Leo en &lt;a title="Todo lo que necesitamos saber sobre los formularios HTML5" href="http://diveintohtml5.org/forms.html" target="_blank"&gt;anieto2k todo lo que necesitamos saber sobre los formularios HTML5&lt;/a&gt;, un art&amp;iacute;culo de Dive into HTML5 titlulado &lt;a title="A Form of Madness" lang="en_EN" hreflang="en_EN" href="http://diveintohtml5.org/forms.html" target="_blank"&gt;A Form of Madness&lt;/a&gt;. Habla de atributos y valores de atributos ya existentes, que abren un nuevo mundo alrededor de los formularios. Desafortunadamente no lo soportan casi ning&amp;uacute;n navegador, pero poco a poco todos van implement&amp;aacute;ndolo.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Actualizaci&amp;oacute;n:&lt;/strong&gt; Como nos indica neiker, en Buffer Overflow encontramos una review en castellano sobre &lt;a title="HTML5: Novedades en los formularios" href="http://www.bufferoverflow.com.ar/html5-novedades-en-los-formularios/" target="_blank"&gt;HTML5: Novedades en los formularios&lt;/a&gt;.&lt;/p&gt;			&lt;p&gt;
			Leer &lt;strong&gt;&lt;a href="http://www.pixelovers.com/nuevos-campos-formulario-html5-500115" title="Nuevos campos de formulario en HTML5"&gt;Nuevos campos de formulario en HTML5&lt;/a&gt;&lt;/strong&gt; en &lt;a href="http://www.pixelovers.com" title="Diseño y desarrollo web"&gt;Pixelovers&lt;/a&gt;
			&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/wuWPKXiWFugSEDwXNj9FEafDCQk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wuWPKXiWFugSEDwXNj9FEafDCQk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/wuWPKXiWFugSEDwXNj9FEafDCQk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wuWPKXiWFugSEDwXNj9FEafDCQk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=CjuIeOTv6xc:LZdCO3PRlMs:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=CjuIeOTv6xc:LZdCO3PRlMs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=CjuIeOTv6xc:LZdCO3PRlMs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?i=CjuIeOTv6xc:LZdCO3PRlMs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<author>jorgecasar</author>
				<category>desarrollo web</category>
				<category>formularios</category>
				<category>frontend</category>
				<category>html5</category>
				<category>maquetación</category>
				<comments>http://www.pixelovers.com/nuevos-campos-formulario-html5-500115#formulario</comments>
		<guid>http://www.pixelovers.com/nuevos-campos-formulario-html5-500115</guid>
		<pubDate>Mon, 01 Feb 2010 21:38:00 +0100</pubDate>
	</item>
	<item>
		<title>jQuery 1.4: 15 nuevas características que debes conocer</title>
		<link>http://www.pixelovers.com/jquery-1-4-15-nuevas-caracteristicas-debes-conocer-507107</link>
		<description>&lt;p&gt;Estamos preparando un an&amp;aacute;lisis de la nueva versi&amp;oacute;n jQuery 1.4. Pero mientras la probamos y estudiamos las nuevas funcionalidades, leo en &lt;a title="jQuery 1.4: 15 nuevas caracter&amp;iacute;sticas que debes conocer " href="http://www.webintenta.com/jquery-1-4-15-nuevas-caracteristicas-que-debes-conocer.html" target="_blank"&gt;Intenta&lt;/a&gt; un interesante art&amp;iacute;culo sobre &lt;a title="jQuery 1.4 Released: The 15 New Features you Must Know" lang="en_EN" rel="nofollow" hreflang="en_EN" href="http://net.tutsplus.com/tutorials/javascript-ajax/jquery-1-4-released-the-15-new-features-you-must-know/" target="_blank"&gt;jQuery 1.4 Released: The 15 New Features you Must Know&lt;/a&gt;. &amp;iquest;Conoces ya estas nuevas caracter&amp;iacute;sticas?&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Pasar atributos a &lt;strong&gt;jQuery&lt;/strong&gt;(...)&amp;nbsp; &amp;ndash; &lt;a title="jQuery() - jQuery API" href="http://api.jquery.com/jQuery/#jQuery2" target="_blank"&gt;jQuery&lt;/a&gt;( html, propiedades )&lt;/li&gt;
&lt;li&gt;&amp;iexcl;T&amp;oacute;do &lt;strong&gt;"hasta que"&lt;/strong&gt;!&amp;nbsp; &amp;ndash; .&lt;a title=".nextUntill() - jQuery API" href="http://api.jquery.com/nextUntil/" target="_blank"&gt;nextUntil&lt;/a&gt;([ selector ]), .&lt;a title=".prevUntil() - jQuery API" href="http://api.jquery.com/prevUntil/" target="_blank"&gt;prevUntil&lt;/a&gt;([ selector ]) y .&lt;a title=".parentsUntil() - jQuery API" href="http://api.jquery.com/parentsUntil/" target="_blank"&gt;parentsUntil&lt;/a&gt;([ selector ])&lt;/li&gt;
&lt;li&gt;Enlazar &lt;strong&gt;m&amp;uacute;ltiples&lt;/strong&gt; controladores de &lt;strong&gt;eventos&lt;/strong&gt; &amp;ndash; .&lt;a title=".bind() - jQuery API" href="http://api.jquery.com/bind/" target="_blank"&gt;bind&lt;/a&gt;( eventos )&lt;/li&gt;
&lt;li&gt;Per-property-easing (Facilitando por propiedad) &amp;ndash; .&lt;a title=".animate() - jQuery API" href="http://api.jquery.com/animate/#per-property-easing" target="_blank"&gt;animate&lt;/a&gt;(propiedades, opciones)&lt;/li&gt;
&lt;li&gt;&amp;iexcl;Nuevos &lt;strong&gt;eventos live&lt;/strong&gt;! &amp;ndash; .&lt;a title=".live() - jQuery API" href="http://api.jquery.com/live/" target="_blank"&gt;live&lt;/a&gt;("submit|change|focusin|focusout", controlador)&lt;/li&gt;
&lt;li&gt;Control del &lt;strong&gt;contexto&lt;/strong&gt; de una funci&amp;oacute;n &amp;ndash; &lt;a title="jQuery.proxy() - jQuery API" href="http://api.jquery.com/jQuery.proxy/" target="_blank"&gt;jQuery.proxy&lt;/a&gt;(funci&amp;oacute;n, contexto)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Demora&lt;/strong&gt; una cola de Animaci&amp;oacute;n &amp;ndash; .&lt;a title=".delay() - jQuery API" href="http://api.jquery.com/delay/" target="_blank"&gt;delay&lt;/a&gt;(duraci&amp;oacute;n, [ nombre de la cola ])&lt;/li&gt;
&lt;li&gt;Comprobar si un elemento &lt;strong&gt;tiene algo&lt;/strong&gt; &amp;ndash; .&lt;a title=".has() - jQuery API" href="http://api.jquery.com/has/" target="_blank"&gt;has&lt;/a&gt;(selector) y &lt;a title="jQuery.contains() - jQuery API" href="http://api.jquery.com/jQuery.contains/" target="_blank"&gt;jQuery.contains&lt;/a&gt;(contenedor, contenido)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Desenvolver&lt;/strong&gt; elementos &amp;ndash; .&lt;a title=".unwrap() - jQuery API" href="http://api.jquery.com/unwrap/" target="_blank"&gt;unwrap&lt;/a&gt;()&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Eliminar&lt;/strong&gt; elementos &lt;strong&gt;sin borrar datos&lt;/strong&gt; &amp;ndash; .&lt;a title=".detach() - jQuery API" href="http://api.jquery.com/detach/" target="_blank"&gt;detach&lt;/a&gt;([ selector ])&lt;/li&gt;
&lt;li&gt;Mejoras en &lt;strong&gt;index&lt;/strong&gt;(...) &amp;ndash; .&lt;a title=".index() - jQuery API" href="http://api.jquery.com/index/" target="_blank"&gt;index&lt;/a&gt;(selector)&lt;/li&gt;
&lt;li&gt;Los m&amp;eacute;todos de manipulaci&amp;oacute;n DOM aceptan "&lt;strong&gt;callbacks&lt;/strong&gt;":      
&lt;ul&gt;
&lt;li&gt;&lt;a title=".after() - jQuery API" href="http://api.jquery.com/after" target="_blank"&gt;after&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title=".before() - jQuery API" href="http://api.jquery.com/before" target="_blank"&gt;before&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title=".append() - jQuery API" href="http://api.jquery.com/append" target="_blank"&gt;append&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title=".prepend() - jQuery API" href="http://api.jquery.com/prepend" target="_blank"&gt;prepend&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title=".addClass() - jQuery API" href="http://api.jquery.com/addClass" target="_blank"&gt;addClass&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title=".toggleClass() - jQuery API" href="http://api.jquery.com/toggleClass" target="_blank"&gt;toggleClass&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title=".removeClass() - jQuery API" href="http://api.jquery.com/removeClass" target="_blank"&gt;removeClass&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title=".wrap() - jQuery API" href="http://api.jquery.com/wrap" target="_blank"&gt;wrap&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title=".wrapAll() - jQuery API" href="http://api.jquery.com/wrapAll" target="_blank"&gt;wrapAll&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title=".wrapInner() - jQuery API" href="http://api.jquery.com/wrapInner" target="_blank"&gt;wrapInner&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title=".val() - jQuery API" href="http://api.jquery.com/val" target="_blank"&gt;val&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title=".text() - jQuery API" href="http://api.jquery.com/text" target="_blank"&gt;text&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title=".replaceWith() - jQuery API" href="http://api.jquery.com/replaceWith" target="_blank"&gt;replaceWith&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title=".css() - jQuery API" href="http://api.jquery.com/css" target="_blank"&gt;css&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title=".attr() - jQuery API" href="http://api.jquery.com/attr" target="_blank"&gt;attr&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title=".html() - jQuery API" href="http://api.jquery.com/html" target="_blank"&gt;html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Determinar el &lt;strong&gt;tipo del objeto&lt;/strong&gt; &amp;ndash; &lt;a title="jQuery.isPlainObject() - jQuery API" href="http://api.jquery.com/jQuery.isPlainObject/" target="_blank"&gt;jQuery.isPlainObject&lt;/a&gt;(objeto) y &lt;a title="jQuery.isEmptyObject() - jQuery API" href="http://api.jquery.com/jQuery.isEmptyObject/" target="_blank"&gt;jQuery.isEmptyObject&lt;/a&gt;(objeto)&lt;/li&gt;
&lt;li&gt;Mejoras en &lt;strong&gt;Closest&lt;/strong&gt;(...) &amp;ndash; .&lt;a title=".closest() - jQuery API" href="http://api.jquery.com/closest/" target="_blank"&gt;closest&lt;/a&gt;(selector, [ contexto ])&lt;/li&gt;
&lt;li&gt;Nuevos eventos! &lt;strong&gt;focusIn&lt;/strong&gt; y &lt;strong&gt;focusOut&lt;/strong&gt; &amp;ndash; .&lt;a title=".focusin() - jQuery API" href="http://api.jquery.com/focusin/" target="_blank"&gt;focusin&lt;/a&gt;(manejador) y .&lt;a title=".focusout() - jQuery API" href="http://api.jquery.com/focusout/" target="_blank"&gt;focusout&lt;/a&gt;(manejador)&lt;/li&gt;
&lt;/ol&gt;			&lt;p&gt;
			Leer &lt;strong&gt;&lt;a href="http://www.pixelovers.com/jquery-1-4-15-nuevas-caracteristicas-debes-conocer-507107" title="jQuery 1.4: 15 nuevas características que debes conocer"&gt;jQuery 1.4: 15 nuevas características que debes conocer&lt;/a&gt;&lt;/strong&gt; en &lt;a href="http://www.pixelovers.com" title="Diseño y desarrollo web"&gt;Pixelovers&lt;/a&gt;
			&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/mvJfMJyIOozEaNRlz-U6XLCKN0M/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mvJfMJyIOozEaNRlz-U6XLCKN0M/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/mvJfMJyIOozEaNRlz-U6XLCKN0M/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mvJfMJyIOozEaNRlz-U6XLCKN0M/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=pQaJJPOk-04:cEWGKcms0Uo:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=pQaJJPOk-04:cEWGKcms0Uo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nexoblogs.com/~ff/Pixelovers?a=pQaJJPOk-04:cEWGKcms0Uo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Pixelovers?i=pQaJJPOk-04:cEWGKcms0Uo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
		<author>jorgecasar</author>
				<category>frameworks</category>
				<category>javascript</category>
				<category>jquery</category>
				<comments>http://www.pixelovers.com/jquery-1-4-15-nuevas-caracteristicas-debes-conocer-507107#formulario</comments>
		<guid>http://www.pixelovers.com/jquery-1-4-15-nuevas-caracteristicas-debes-conocer-507107</guid>
		<pubDate>Mon, 25 Jan 2010 15:30:00 +0100</pubDate>
	</item>
</channel>
</rss>
