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

<channel>
	<title>Codigo Geek &#187; Programacion</title>
	<atom:link href="http://www.codigogeek.com/category/programacion/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.codigogeek.com</link>
	<description>Un Geek hablando de Internet, Wordpress y SEO</description>
	<lastBuildDate>Sun, 12 Feb 2012 00:32:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>creditcard.js: Validá números de tarjetas de crédito con Javascript</title>
		<link>http://www.codigogeek.com/2012/02/11/creditcard-js-valida-numeros-de-tarjetas-de-credito-con-javascript/</link>
		<comments>http://www.codigogeek.com/2012/02/11/creditcard-js-valida-numeros-de-tarjetas-de-credito-con-javascript/#comments</comments>
		<pubDate>Sun, 12 Feb 2012 00:32:40 +0000</pubDate>
		<dc:creator>patricio</dc:creator>
				<category><![CDATA[Programacion]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Tarjetas de Credito]]></category>
		<category><![CDATA[Validar]]></category>

		<guid isPermaLink="false">http://www.codigogeek.com/?p=20643</guid>
		<description><![CDATA[Muchas veces hacemos un sitio web que los usuarios tienen que ingresar su tarjeta de crédito. Si bien no valideramos si los datos son verídicos en la empresa crediticia que emite la tarjeta, las tarjeta tiene su propia verificación mediante el código. Las reglas y los patrones que se usan para saber son complicados y [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-20644" title="" src="http://www.codigogeek.com/wp-content/uploads/2012/02/card.jpg" alt="" width="540" height="132" /></p>
<p>Muchas veces hacemos un sitio web que los usuarios tienen que ingresar su tarjeta de crédito. Si bien no valideramos si los datos son verídicos en la empresa crediticia que emite la tarjeta, las tarjeta tiene su propia verificación mediante el código.</p>
<p>Las reglas y los patrones que se usan para saber son complicados y pueden ser bastantes confusos. Por eso credicard.js nos ayudará haciéndonos fácil la tarea a la hora de verificarlo.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p20643code2'); return false;">Ver código</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p206432"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p20643code2"><pre class="php" style="font-family:monospace;">CreditCard<span style="color: #339933;">.</span>validate<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'1111 2222 3333 4444'</span><span style="color: #009900;">&#41;</span></pre></td></tr></table></div>

<p>Eso validará el número (con un true o un false), mientras que también podemos obtener el tipo (Visa, Mastercard, etc.) con <em>CreditCard.type</em>. Como dijimos, esto se basa en el <a href="http://en.wikipedia.org/wiki/Luhn_algorithm">Algoritmo de Luhn</a> y los <a href="http://en.wikipedia.org/wiki/Bank_card_number">números bancarios</a>.</p>
<p>Link: <a href="https://github.com/madrobby/creditcard_js/blob/master/creditcard.js">Creditcard.js</a></p>
<hr />
<p><a href="http://www.codigogeek.com/2012/02/11/creditcard-js-valida-numeros-de-tarjetas-de-credito-con-javascript/">creditcard.js: Validá números de tarjetas de crédito con Javascript</a><small> por Patricio para <a href="http://www.codigogeek.com">Codigo Geek</a><br/>
<a href="http://www.codigogeek.com/2012/02/11/creditcard-js-valida-numeros-de-tarjetas-de-credito-con-javascript/">Permalink</a> |
<a href="http://www.codigogeek.com/2012/02/11/creditcard-js-valida-numeros-de-tarjetas-de-credito-con-javascript/#comments">Comentar</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.codigogeek.com/2012/02/11/creditcard-js-valida-numeros-de-tarjetas-de-credito-con-javascript/&title=creditcard.js: Validá números de tarjetas de crédito con Javascript">del.icio.us</a>
<br/>
Post tags: <a href="http://www.codigogeek.com/tag/javascript/" rel="tag">JavaScript</a>, <a href="http://www.codigogeek.com/tag/tarjetas-de-credito/" rel="tag">Tarjetas de Credito</a>, <a href="http://www.codigogeek.com/tag/validar/" rel="tag">Validar</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.codigogeek.com/2012/02/11/creditcard-js-valida-numeros-de-tarjetas-de-credito-con-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sisyphus: Que tus usuarios no pierdan la información de los formularios</title>
		<link>http://www.codigogeek.com/2012/02/08/sisyphus-que-tus-usuarios-no-pierdan-la-informacion-de-los-formularios/</link>
		<comments>http://www.codigogeek.com/2012/02/08/sisyphus-que-tus-usuarios-no-pierdan-la-informacion-de-los-formularios/#comments</comments>
		<pubDate>Wed, 08 Feb 2012 20:33:30 +0000</pubDate>
		<dc:creator>patricio</dc:creator>
				<category><![CDATA[Programacion]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.codigogeek.com/?p=20601</guid>
		<description><![CDATA[¿Cuántas veces estamos llenando un formulario largo y por alguna razón perdemos la información? Desde que crashea el explorador, un corte de luz, cerrar la pestaña/ventana sin querer&#8230; ¿no sería genial, como desarrolladores, darle una solución a los visitantes de nuestros sitios webs ante ese problema? Ahí es cuando Sisyphus nos viene a salvar. Un [...]]]></description>
			<content:encoded><![CDATA[<p>¿Cuántas veces estamos llenando un formulario largo y por alguna razón perdemos la información? Desde que crashea el explorador, un corte de luz, cerrar la pestaña/ventana sin querer&#8230; ¿no sería genial, como desarrolladores, darle una solución a los visitantes de nuestros sitios webs ante ese problema?</p>
<p>Ahí es cuando <a href="http://simsalabim.github.com/sisyphus/">Sisyphus</a> nos viene a salvar. Un ligerísimo plugin de <a href="http://www.jquery.com">jQuery</a> (3.5KB) que nos permite guardar localmente la información llenada en el formulario para no perderla. La data ingresada se guarda automáticamente al interactuar con los campos, no hace falta que el formulario se envíe ni mucho menos. Y su implementación es facilísima:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p20601code5'); return false;">Ver código</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p206015"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p20601code5"><pre class="php" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'#form1, #form2'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>sisyphus<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Eso guardaría la información de los formularios identificados con los ids form1 y form2. Si quisiéramos aplicárselo a todos los formularios, tranquilamente podríamos hacer:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p20601code6'); return false;">Ver código</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p206016"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p20601code6"><pre class="php" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'form'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>sisyphus<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>El plugin permite personalizar ciertas opciones, como el tiempo durante el que se guarda la información, si queremos que se realice una acción cuando se guarda o cuando se obtiene, etc. </p>
<p>Una forma muy útil de ahorrarle dolores de cabeza a tus visitantes, si es que tu sitio web tiene algún formulario tedioso de llenar.</p>
<hr />
<p><a href="http://www.codigogeek.com/2012/02/08/sisyphus-que-tus-usuarios-no-pierdan-la-informacion-de-los-formularios/">Sisyphus: Que tus usuarios no pierdan la información de los formularios</a><small> por Patricio para <a href="http://www.codigogeek.com">Codigo Geek</a><br/>
<a href="http://www.codigogeek.com/2012/02/08/sisyphus-que-tus-usuarios-no-pierdan-la-informacion-de-los-formularios/">Permalink</a> |
<a href="http://www.codigogeek.com/2012/02/08/sisyphus-que-tus-usuarios-no-pierdan-la-informacion-de-los-formularios/#comments">Comentar</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.codigogeek.com/2012/02/08/sisyphus-que-tus-usuarios-no-pierdan-la-informacion-de-los-formularios/&title=Sisyphus: Que tus usuarios no pierdan la información de los formularios">del.icio.us</a>
<br/>
Post tags: <a href="http://www.codigogeek.com/tag/jquery/" rel="tag">jQuery</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.codigogeek.com/2012/02/08/sisyphus-que-tus-usuarios-no-pierdan-la-informacion-de-los-formularios/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tinycon: Notificaciones en los favicons de tus sitios webs</title>
		<link>http://www.codigogeek.com/2012/02/07/tinycon-notificaciones-en-los-favicons-de-tus-sitios-webs/</link>
		<comments>http://www.codigogeek.com/2012/02/07/tinycon-notificaciones-en-los-favicons-de-tus-sitios-webs/#comments</comments>
		<pubDate>Tue, 07 Feb 2012 12:54:28 +0000</pubDate>
		<dc:creator>patricio</dc:creator>
				<category><![CDATA[Programacion]]></category>

		<guid isPermaLink="false">http://www.codigogeek.com/?p=20576</guid>
		<description><![CDATA[Tinycon es una librería javascript que sirve para manipular el favicon que muestran los navegadores en las pestañas de nuestras páginas webs. Su uso es muy sencillo. Simplemente agrega una burbuja con un número sobre nuestro favicon, que puede actualizarse en cualquier momento. En efecto, en el website de la librería se puede ver un [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.codigogeek.com/wp-content/uploads/2012/02/screenshot.png" alt="" title="" width="540" height="157" class="aligncenter size-full wp-image-20577" /></p>
<p><a href="http://tommoor.github.com/tinycon/">Tinycon</a> es una librería javascript que sirve para manipular el favicon que muestran los navegadores en las pestañas de nuestras páginas webs.</p>
<p>Su uso es muy sencillo. Simplemente agrega una burbuja con un número sobre nuestro favicon, que puede actualizarse en cualquier momento. En efecto, en el website de la librería se puede ver un demo.</p>
<p>Para utilizarlo no hace falta inicializarlo:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p20576code9'); return false;">Ver código</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p205769"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p20576code9"><pre class="php" style="font-family:monospace;">Tinycon<span style="color: #339933;">.</span>setBubble<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">6</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Se puede también usar parámetros opcionales para definir colores, fuentes y tamaños:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p20576code10'); return false;">Ver código</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p2057610"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code" id="p20576code10"><pre class="php" style="font-family:monospace;">Tinycon<span style="color: #339933;">.</span>setOptions<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
    width<span style="color: #339933;">:</span> <span style="color: #cc66cc;">7</span><span style="color: #339933;">,</span>
    height<span style="color: #339933;">:</span> <span style="color: #cc66cc;">9</span><span style="color: #339933;">,</span>
    font<span style="color: #339933;">:</span> <span style="color: #0000ff;">'10px arial'</span><span style="color: #339933;">,</span>
    colour<span style="color: #339933;">:</span> <span style="color: #0000ff;">'#ffffff'</span><span style="color: #339933;">,</span>
    background<span style="color: #339933;">:</span> <span style="color: #0000ff;">'#549A2F'</span><span style="color: #339933;">,</span>
    fallback<span style="color: #339933;">:</span> <span style="color: #009900; font-weight: bold;">true</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>La opción de fallback es importante pues como esta librería solo funciona en Chrome y Firefox, en otros navegadores reemplazará el favicon por el número correspondiente.</p>
<hr />
<p><a href="http://www.codigogeek.com/2012/02/07/tinycon-notificaciones-en-los-favicons-de-tus-sitios-webs/">Tinycon: Notificaciones en los favicons de tus sitios webs</a><small> por Patricio para <a href="http://www.codigogeek.com">Codigo Geek</a><br/>
<a href="http://www.codigogeek.com/2012/02/07/tinycon-notificaciones-en-los-favicons-de-tus-sitios-webs/">Permalink</a> |
<a href="http://www.codigogeek.com/2012/02/07/tinycon-notificaciones-en-los-favicons-de-tus-sitios-webs/#comments">Comentar</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.codigogeek.com/2012/02/07/tinycon-notificaciones-en-los-favicons-de-tus-sitios-webs/&title=Tinycon: Notificaciones en los favicons de tus sitios webs">del.icio.us</a>
<br/>
Post tags: <br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.codigogeek.com/2012/02/07/tinycon-notificaciones-en-los-favicons-de-tus-sitios-webs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery contextMenu: Agregá un menú contextual a tus páginas</title>
		<link>http://www.codigogeek.com/2012/02/03/jquery-contextmenu-agrega-un-menu-contextual-a-tus-paginas/</link>
		<comments>http://www.codigogeek.com/2012/02/03/jquery-contextmenu-agrega-un-menu-contextual-a-tus-paginas/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 13:34:53 +0000</pubDate>
		<dc:creator>patricio</dc:creator>
				<category><![CDATA[Programacion]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[menu]]></category>

		<guid isPermaLink="false">http://www.codigogeek.com/?p=20534</guid>
		<description><![CDATA[La idea de asignarle a cada elemento sus propias opciones en una página web es muy útil muchas veces. Una solución sería hacerlo a través del menú contextual que aparece cuando hacemos click con el botón derecho del mouse. Esto es lo que propone jQuery contextMenu de una forma muy fácil. Este plugin para jQuery [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-20535" title="" src="http://www.codigogeek.com/wp-content/uploads/2012/02/rc.jpg" alt="" width="540" height="83" /></p>
<p>La idea de asignarle a cada elemento sus propias opciones en una página web es muy útil muchas veces. Una solución sería hacerlo a través del menú contextual que aparece cuando hacemos click con el botón derecho del mouse. Esto es lo que propone <em><a href="http://medialize.github.com/jQuery-contextMenu/demo.html">jQuery contextMenu</a></em> de una forma muy fácil.</p>
<p>Este plugin para jQuery permite muchísimas opciones. Desde íconos para personalizar cada ítem del menu contextual, hasta la posibilidad de que el menu aparezca <a href="http://medialize.github.com/jQuery-contextMenu/demo/trigger-hover.html">cuando simplemente pasamos por arriba del elemento</a>, <a href="http://medialize.github.com/jQuery-contextMenu/demo/trigger-left-click.html">que se lance cuando hacemos click con el izquierdo</a>. También permite setear teclas de acceso para cada una de las opciones que aparecen, e inclusive submenus.</p>
<p>En definitiva es un plugin muy completo y muy fácil de utilizar:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p20534code12'); return false;">Ver código</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p2053412"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
</pre></td><td class="code" id="p20534code12"><pre class="php" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    $<span style="color: #339933;">.</span>contextMenu<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
        selector<span style="color: #339933;">:</span> <span style="color: #0000ff;">'.context-menu-one'</span><span style="color: #339933;">,</span> 
        callback<span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><a href="http://www.php.net/key"><span style="color: #990000;">key</span></a><span style="color: #339933;">,</span> options<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000000; font-weight: bold;">var</span> m <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;clicked: &quot;</span> <span style="color: #339933;">+</span> <a href="http://www.php.net/key"><span style="color: #990000;">key</span></a><span style="color: #339933;">;</span>
            window<span style="color: #339933;">.</span>console <span style="color: #339933;">&amp;&amp;</span> console<span style="color: #339933;">.</span><a href="http://www.php.net/log"><span style="color: #990000;">log</span></a><span style="color: #009900;">&#40;</span>m<span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> alert<span style="color: #009900;">&#40;</span>m<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
        <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
        items<span style="color: #339933;">:</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #0000ff;">&quot;edit&quot;</span><span style="color: #339933;">:</span> <span style="color: #009900;">&#123;</span>name<span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;Edit&quot;</span><span style="color: #339933;">,</span> icon<span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;edit&quot;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">&quot;cut&quot;</span><span style="color: #339933;">:</span> <span style="color: #009900;">&#123;</span>name<span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;Cut&quot;</span><span style="color: #339933;">,</span> icon<span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;cut&quot;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">&quot;copy&quot;</span><span style="color: #339933;">:</span> <span style="color: #009900;">&#123;</span>name<span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;Copy&quot;</span><span style="color: #339933;">,</span> icon<span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;copy&quot;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">&quot;paste&quot;</span><span style="color: #339933;">:</span> <span style="color: #009900;">&#123;</span>name<span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;Paste&quot;</span><span style="color: #339933;">,</span> icon<span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;paste&quot;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">&quot;delete&quot;</span><span style="color: #339933;">:</span> <span style="color: #009900;">&#123;</span>name<span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;Delete&quot;</span><span style="color: #339933;">,</span> icon<span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;delete&quot;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">&quot;sep1&quot;</span><span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;---------&quot;</span><span style="color: #339933;">,</span>
            <span style="color: #0000ff;">&quot;quit&quot;</span><span style="color: #339933;">:</span> <span style="color: #009900;">&#123;</span>name<span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;Quit&quot;</span><span style="color: #339933;">,</span> icon<span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;quit&quot;</span><span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Link: <a href="http://medialize.github.com/jQuery-contextMenu/index.html">jQuery contextMenu</a></p>
<hr />
<p><a href="http://www.codigogeek.com/2012/02/03/jquery-contextmenu-agrega-un-menu-contextual-a-tus-paginas/">jQuery contextMenu: Agregá un menú contextual a tus páginas</a><small> por Patricio para <a href="http://www.codigogeek.com">Codigo Geek</a><br/>
<a href="http://www.codigogeek.com/2012/02/03/jquery-contextmenu-agrega-un-menu-contextual-a-tus-paginas/">Permalink</a> |
<a href="http://www.codigogeek.com/2012/02/03/jquery-contextmenu-agrega-un-menu-contextual-a-tus-paginas/#comments">Comentar</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.codigogeek.com/2012/02/03/jquery-contextmenu-agrega-un-menu-contextual-a-tus-paginas/&title=jQuery contextMenu: Agregá un menú contextual a tus páginas">del.icio.us</a>
<br/>
Post tags: <a href="http://www.codigogeek.com/tag/jquery/" rel="tag">jQuery</a>, <a href="http://www.codigogeek.com/tag/menu/" rel="tag">menu</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.codigogeek.com/2012/02/03/jquery-contextmenu-agrega-un-menu-contextual-a-tus-paginas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vibration API: Firefox hace que el dispositivo vibre desde el navegador</title>
		<link>http://www.codigogeek.com/2012/01/29/vibration-api-firefox-hace-que-el-dispositivo-vibre-desde-el-navegador/</link>
		<comments>http://www.codigogeek.com/2012/01/29/vibration-api-firefox-hace-que-el-dispositivo-vibre-desde-el-navegador/#comments</comments>
		<pubDate>Sun, 29 Jan 2012 15:50:23 +0000</pubDate>
		<dc:creator>patricio</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Vibracion]]></category>

		<guid isPermaLink="false">http://www.codigogeek.com/?p=20458</guid>
		<description><![CDATA[Desde el team de la Mozilla WebAPI parecen estar apuntando a los dispositivos móviles (o tablets, si se quiere) últimamente. La idea es interactuar con las features que traen los mismos dispositivos para integrarlo con las páginas webs y hacer cosas que no se podían hacer desde el navegador pero sí desde aplicaciones. Ejemplos claros [...]]]></description>
			<content:encoded><![CDATA[<p>Desde el team de la <a href="https://wiki.mozilla.org/WebAPI">Mozilla WebAPI</a> parecen estar apuntando a los dispositivos móviles (o tablets, si se quiere) últimamente. La idea es interactuar con las features que traen los mismos dispositivos para integrarlo con las páginas webs y hacer cosas que no se podían hacer desde el navegador pero sí desde aplicaciones.</p>
<p>Ejemplos claros es el API de Geolocalización o el API del Acelerómetro, que ya están implementados. A futuro se planean API de la Cámara de Fotos, API de Contactos, e inclusive hasta un API para la Batería, entre otros. Pero hoy hablaremos del <a href="http://hacks.mozilla.org/2012/01/using-the-vibrator-api-part-of-webapi/">Vibration API</a>, o el API de Vibración.</p>
<p>Esta nueva API ha sido anunciada hace dos días a través de <a href="http://hacks.mozilla.org">Mozilla Hacks</a> y parece muy sencilla de implementar, considerando que le podemos dar diversos usos muy interesantes: tanto para juegos como para notificaciones en nuestros sitios.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p20458code15'); return false;">Ver código</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p2045815"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p20458code15"><pre class="php" style="font-family:monospace;">navigator<span style="color: #339933;">.</span>mozVibrate<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Eso es simplemente lo que debemos poner en nuestro javascript. El parámetro pasado es la cantidad de milisegundos que queremos que dure la vibración. Si queremos hacer un patrón, podemos hacer lo siguiente:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p20458code16'); return false;">Ver código</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p2045816"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p20458code16"><pre class="php" style="font-family:monospace;">navigator<span style="color: #339933;">.</span>mozVibrate<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1000</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">500</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">1000</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Eso hará que vibre durante un segundo, pare medio y vuelva a vibrar durante un segundo.</p>
<p>Para testear esto, se puede probar <a href="http://hacks.mozilla.org/2012/01/using-the-vibrator-api-part-of-webapi/">esta demo</a> desde <a href="http://www.mozilla.org/firefox/channel/">Firefox Aurora</a>, que será el futuro Firefox 11 (y obviamente un dispositivo que soporte vibración).</p>
<hr />
<p><a href="http://www.codigogeek.com/2012/01/29/vibration-api-firefox-hace-que-el-dispositivo-vibre-desde-el-navegador/">Vibration API: Firefox hace que el dispositivo vibre desde el navegador</a><small> por Patricio para <a href="http://www.codigogeek.com">Codigo Geek</a><br/>
<a href="http://www.codigogeek.com/2012/01/29/vibration-api-firefox-hace-que-el-dispositivo-vibre-desde-el-navegador/">Permalink</a> |
<a href="http://www.codigogeek.com/2012/01/29/vibration-api-firefox-hace-que-el-dispositivo-vibre-desde-el-navegador/#comments">Comentar</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.codigogeek.com/2012/01/29/vibration-api-firefox-hace-que-el-dispositivo-vibre-desde-el-navegador/&title=Vibration API: Firefox hace que el dispositivo vibre desde el navegador">del.icio.us</a>
<br/>
Post tags: <a href="http://www.codigogeek.com/tag/vibracion/" rel="tag">Vibracion</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.codigogeek.com/2012/01/29/vibration-api-firefox-hace-que-el-dispositivo-vibre-desde-el-navegador/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>McCann usa HTML5 para crear un banner &#8220;filoso&#8221;</title>
		<link>http://www.codigogeek.com/2012/01/23/mccann-usa-html5-para-crear-un-banner-filoso/</link>
		<comments>http://www.codigogeek.com/2012/01/23/mccann-usa-html5-para-crear-un-banner-filoso/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 18:38:06 +0000</pubDate>
		<dc:creator>patricio</dc:creator>
				<category><![CDATA[Diseño]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Banner]]></category>
		<category><![CDATA[HTML5]]></category>

		<guid isPermaLink="false">http://www.codigogeek.com/?p=20382</guid>
		<description><![CDATA[El video de arriba es bastante explicativo de por sí (y sorprendente). La agencia McCann Worldgroup Thailand debió planificar una campaña online para WMF, una empresa que fabrica cuchillos de cocina. Para esto aprovechó las nuevas tecnología e hizo uso de HTML5. Según ellos, crearon el primer banner HTML5 y el resultado es sorprendente. Permiten [...]]]></description>
			<content:encoded><![CDATA[<p><embed src="http://creativity-online.com/video/player.swf" quality="high" bgcolor="#869ca7" width="480" height="270" name="player" align="middle"	play="true" loop="false" quality="high" allowFullScreen="true" allowScriptAccess="always" flashVars="config=http://creativity-online.com/xml/config.player.php&#038;p=25956" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer"></embed></p>
<p>El video de arriba es bastante explicativo de por sí (y sorprendente). La agencia <em>McCann Worldgroup Thailand</em> debió planificar una campaña online para WMF, una empresa que fabrica cuchillos de cocina.</p>
<p>Para esto aprovechó las nuevas tecnología e hizo uso de HTML5. Según ellos, crearon el primer banner HTML5 y el resultado es sorprendente. Permiten cortar el navegador y así experimentar lo filoso de estos cuchillos. El resultado visual es muy bueno, y al parecer no es la única consecuencia positiva: los clicks en él banner fueron un 500% de los standards para el mercado, y las ventas crecieron un 15%.</p>
<p><img src="http://www.codigogeek.com/wp-content/uploads/2012/01/sharp.jpg" alt="" title="" width="540" height="120" class="alignnone size-full wp-image-20383" /></p>
<p>Fuente: <a href="http://creativity-online.com/work/wmf-incredibly-sharp/25956">Creativity Online</a> vía <a href="http://genesconectados.com/diseno/el-banner-mas-filoso-de-la-web/">Genes Conectados</a></p>
<hr />
<p><a href="http://www.codigogeek.com/2012/01/23/mccann-usa-html5-para-crear-un-banner-filoso/">McCann usa HTML5 para crear un banner &#8220;filoso&#8221;</a><small> por Patricio para <a href="http://www.codigogeek.com">Codigo Geek</a><br/>
<a href="http://www.codigogeek.com/2012/01/23/mccann-usa-html5-para-crear-un-banner-filoso/">Permalink</a> |
<a href="http://www.codigogeek.com/2012/01/23/mccann-usa-html5-para-crear-un-banner-filoso/#comments">1 Comentario</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.codigogeek.com/2012/01/23/mccann-usa-html5-para-crear-un-banner-filoso/&title=McCann usa HTML5 para crear un banner &#8220;filoso&#8221;">del.icio.us</a>
<br/>
Post tags: <a href="http://www.codigogeek.com/tag/banner/" rel="tag">Banner</a>, <a href="http://www.codigogeek.com/tag/html5/" rel="tag">HTML5</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.codigogeek.com/2012/01/23/mccann-usa-html5-para-crear-un-banner-filoso/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Menú circular como el de Path con jQuery y Circle Menu</title>
		<link>http://www.codigogeek.com/2012/01/22/menu-circular-como-el-de-path-con-jquery-y-circle-menu/</link>
		<comments>http://www.codigogeek.com/2012/01/22/menu-circular-como-el-de-path-con-jquery-y-circle-menu/#comments</comments>
		<pubDate>Sun, 22 Jan 2012 15:37:57 +0000</pubDate>
		<dc:creator>patricio</dc:creator>
				<category><![CDATA[Diseño]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Path]]></category>

		<guid isPermaLink="false">http://www.codigogeek.com/?p=20359</guid>
		<description><![CDATA[Últimamente se ha estado hablando de Path, la app social para Android y iOS que ha estado empezando a tomar vuelo. Más allá de su funcionalidad, una de las cosas que se le destaca es su diseño bonito y funcional (la he probado y doy fe de ello). Hoy traeremos un plugin para jQuery que permite [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-20360" title="" src="http://www.codigogeek.com/wp-content/uploads/2012/01/path.jpg" alt="" width="540" height="150" /></p>
<p>Últimamente se ha estado hablando de <a href="http://www.path.com">Path</a>, la app social para Android y iOS que ha estado empezando a tomar vuelo. Más allá de su funcionalidad, una de las cosas que<a href="http://isopixel.net/archivo/2012/01/path-la-elegancia-del-diseno-en-una-red-social/"> se le destaca es su diseño bonito y funcional</a> (la he probado y doy fe de ello).</p>
<p>Hoy traeremos un plugin para jQuery que permite copiar elegantemente la navegación que utiliza <strong>Path</strong> en muchas de sus pantallas. Como todos los plugins de este framework, su utilización es muy sencilla. Basta con <a href="https://raw.github.com/Zikes/circle-menu/master/jQuery.circleMenu.js">bajar</a> el archivo, e incluirlo junto a tu versión de jQuery. Luego, para implementarlo, los códigos son los siguientes:</p>
<p>HTML:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p20359code19'); return false;">Ver código</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p2035919"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code" id="p20359code19"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>ul<span style="color: #339933;">&gt;</span>
  <span style="color: #339933;">&lt;</span>li<span style="color: #339933;">&gt;&lt;</span>a href<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;#&quot;</span><span style="color: #339933;">&gt;+&lt;/</span>a<span style="color: #339933;">&gt;&lt;/</span>li<span style="color: #339933;">&gt;</span>
  <span style="color: #339933;">&lt;</span>li<span style="color: #339933;">&gt;&lt;</span>a href<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;#&quot;</span><span style="color: #339933;">&gt;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">&lt;/</span>a<span style="color: #339933;">&gt;&lt;/</span>li<span style="color: #339933;">&gt;</span>
  <span style="color: #339933;">&lt;</span>li<span style="color: #339933;">&gt;&lt;</span>a href<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;#&quot;</span><span style="color: #339933;">&gt;</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">&lt;/</span>a<span style="color: #339933;">&gt;&lt;/</span>li<span style="color: #339933;">&gt;</span>
  <span style="color: #339933;">&lt;</span>li<span style="color: #339933;">&gt;&lt;</span>a href<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;#&quot;</span><span style="color: #339933;">&gt;</span><span style="color: #cc66cc;">3</span><span style="color: #339933;">&lt;/</span>a<span style="color: #339933;">&gt;&lt;/</span>li<span style="color: #339933;">&gt;</span>
  <span style="color: #339933;">&lt;</span>li<span style="color: #339933;">&gt;&lt;</span>a href<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;#&quot;</span><span style="color: #339933;">&gt;</span><span style="color: #cc66cc;">4</span><span style="color: #339933;">&lt;/</span>a<span style="color: #339933;">&gt;&lt;/</span>li<span style="color: #339933;">&gt;</span>
  <span style="color: #339933;">&lt;</span>li<span style="color: #339933;">&gt;&lt;</span>a href<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;#&quot;</span><span style="color: #339933;">&gt;</span><span style="color: #cc66cc;">5</span><span style="color: #339933;">&lt;/</span>a<span style="color: #339933;">&gt;&lt;/</span>li<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>ul<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<p>La lista UL encerrará la navegación, mientras que el primer ítem li será el que represente al centro del círculo que abrirá o cerrará la navegación. El código Javascript para inicializarlo es muy sencillo:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p20359code20'); return false;">Ver código</a> JAVASCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p2035920"><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code" id="p20359code20"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'ul'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">circleMenu</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
  item_diameter<span style="color: #339933;">:</span> <span style="color: #CC0000;">40</span><span style="color: #339933;">,</span>
  circle_radius<span style="color: #339933;">:</span> <span style="color: #CC0000;">100</span><span style="color: #339933;">,</span>
  direction<span style="color: #339933;">:</span> <span style="color: #3366CC;">'bottom-right'</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>El plugin trae muchas opciones que se pueden personalizar al momento de inicializarlo.</p>
<p>Si no conocés la navegación de Path, <a href="http://zikes.github.com/circle-menu/examples/">aquí hay ejemplos de este plugin</a> para que veas su funcionamiento. Como se ve, hay siete formas de mostrarlo, lo que lo hace muy customizable, entre otras opciones.</p>
<p><a href="http://zikes.github.com/circle-menu/"><strong>Página de Circle Menu</strong></a></p>
<hr />
<p><a href="http://www.codigogeek.com/2012/01/22/menu-circular-como-el-de-path-con-jquery-y-circle-menu/">Menú circular como el de Path con jQuery y Circle Menu</a><small> por Patricio para <a href="http://www.codigogeek.com">Codigo Geek</a><br/>
<a href="http://www.codigogeek.com/2012/01/22/menu-circular-como-el-de-path-con-jquery-y-circle-menu/">Permalink</a> |
<a href="http://www.codigogeek.com/2012/01/22/menu-circular-como-el-de-path-con-jquery-y-circle-menu/#comments">2 Comentarios</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.codigogeek.com/2012/01/22/menu-circular-como-el-de-path-con-jquery-y-circle-menu/&title=Menú circular como el de Path con jQuery y Circle Menu">del.icio.us</a>
<br/>
Post tags: <a href="http://www.codigogeek.com/tag/jquery/" rel="tag">jQuery</a>, <a href="http://www.codigogeek.com/tag/path/" rel="tag">Path</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.codigogeek.com/2012/01/22/menu-circular-como-el-de-path-con-jquery-y-circle-menu/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Sensei DB: LinkedIn lanza su base de datos en opensource</title>
		<link>http://www.codigogeek.com/2012/01/21/sensei-db-linkedin-lanza-su-base-de-datos-en-opensource/</link>
		<comments>http://www.codigogeek.com/2012/01/21/sensei-db-linkedin-lanza-su-base-de-datos-en-opensource/#comments</comments>
		<pubDate>Sat, 21 Jan 2012 13:17:08 +0000</pubDate>
		<dc:creator>patricio</dc:creator>
				<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Base de Datos]]></category>

		<guid isPermaLink="false">http://www.codigogeek.com/?p=20343</guid>
		<description><![CDATA[LinkedIn siempre ha tenido buena reputación a lo que se refiere base de datos, sobretodo por su motor de búsqueda interno. No olvidemos que LinkedIn siempre le dio mucha importancia a esto, tan así que adquirió a IndexTank, una empresa argentina especializada en eso y ahora su (ex)CEO es Director de Tecnología de Búsqueda en [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.linkedin.com">LinkedIn</a> siempre ha tenido buena reputación a lo que se refiere base de datos, sobretodo por su motor de búsqueda interno. No olvidemos que LinkedIn siempre le dio mucha importancia a esto, tan así que adquirió a IndexTank, una empresa argentina especializada en eso y ahora su (ex)CEO es Director de Tecnología de Búsqueda en LinkedIn.</p>
<p>Ahora han puesto a disposición del público <strong><a href="http://www.senseidb.com/">Sensei DB</a></strong>, su motor de base de datos en formato opensource para que cualquiera pueda utilizarlo.  Ya leyendo la descripción nos damos cuenta que su fuerte son las búsquedas, y es recomendable para proyectos que necesiten destacables tecnologías en este campo.</p>
<p>En un repaso por sus features nos encontramos con:</p>
<ul>
<li>Búsqueda de full-text</li>
<li>Actualizaciones en realtime rápidas</li>
<li>Búsqueda estructurada y facetada (filtrada por el usuario)</li>
<li>Búsqueda por key-value veloz</li>
<li>Alta performance durante actualizaciones concurrentes pesadas y alto tráfico de queries</li>
<li>Integración con <a href="http://hadoop.apache.org">Hadoop</a></li>
</ul>
<p>Un código de ejemplo de cómo serían las queries en Sensei es el siguiente (llamado BQL,<em> Browse Query Language</em>):</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p20343code22'); return false;">Ver código</a> SQL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p2034322"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code" id="p20343code22"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> _uid<span style="color: #66cc66;">,</span>_score<span style="color: #66cc66;">,</span>color 
  <span style="color: #993333; font-weight: bold;">FROM</span> members
  <span style="color: #993333; font-weight: bold;">WHERE</span> color<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;red&quot;</span> <span style="color: #993333; font-weight: bold;">AND</span> 
        category <span style="color: #993333; font-weight: bold;">IN</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;van&quot;</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">&quot;exotic&quot;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AND</span> 
        MATCH<span style="color: #66cc66;">&#40;</span>contents<span style="color: #66cc66;">&#41;</span> 
        AGAINST<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;cool leather seats&quot;</span><span style="color: #66cc66;">&#41;</span>
  <span style="color: #993333; font-weight: bold;">GROUP</span> <span style="color: #993333; font-weight: bold;">BY</span> color TOP <span style="color: #cc66cc;">3</span>
  BROWSE <span style="color: #993333; font-weight: bold;">BY</span> color<span style="color: #66cc66;">,</span>category
  <span style="color: #993333; font-weight: bold;">ORDER</span> <span style="color: #993333; font-weight: bold;">BY</span> RELEVANCE
  <span style="color: #993333; font-weight: bold;">LIMIT</span> <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">,</span><span style="color: #cc66cc;">10</span></pre></td></tr></table></div>

<p>Si estás trabajando en un proyecto que requerirá búsquedas y <em>selects</em> pesados hacia tu base de datos, podrías darle una oportunidad a <em>Sensei DB</em>.</p>
<hr />
<p><a href="http://www.codigogeek.com/2012/01/21/sensei-db-linkedin-lanza-su-base-de-datos-en-opensource/">Sensei DB: LinkedIn lanza su base de datos en opensource</a><small> por Patricio para <a href="http://www.codigogeek.com">Codigo Geek</a><br/>
<a href="http://www.codigogeek.com/2012/01/21/sensei-db-linkedin-lanza-su-base-de-datos-en-opensource/">Permalink</a> |
<a href="http://www.codigogeek.com/2012/01/21/sensei-db-linkedin-lanza-su-base-de-datos-en-opensource/#comments">Comentar</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.codigogeek.com/2012/01/21/sensei-db-linkedin-lanza-su-base-de-datos-en-opensource/&title=Sensei DB: LinkedIn lanza su base de datos en opensource">del.icio.us</a>
<br/>
Post tags: <a href="http://www.codigogeek.com/tag/base-de-datos/" rel="tag">Base de Datos</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.codigogeek.com/2012/01/21/sensei-db-linkedin-lanza-su-base-de-datos-en-opensource/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>¿Se puede encontrar a Wally con Mathematica?</title>
		<link>http://www.codigogeek.com/2012/01/20/se-puede-encontrar-a-wally-con-mathematica/</link>
		<comments>http://www.codigogeek.com/2012/01/20/se-puede-encontrar-a-wally-con-mathematica/#comments</comments>
		<pubDate>Fri, 20 Jan 2012 13:45:04 +0000</pubDate>
		<dc:creator>patricio</dc:creator>
				<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Mathematica]]></category>

		<guid isPermaLink="false">http://www.codigogeek.com/?p=20326</guid>
		<description><![CDATA[Mathematica es un software científico, creado por la empresa WolframAlpha, utilizado en su mayor parte por matemáticos, ingenieros, y otras personas del área de las ciencias exactas. El programa tiene su propio lenguaje de programación, que sirve para plantear problemas y programar posibles soluciones para el mismo. A partir de esto, en Stack Overflow se [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.wolfram.com/mathematica/">Mathematica</a> es un software científico, creado por la empresa <a href="http://www.wolfram.com/mathematica/">WolframAlpha</a>, utilizado en su mayor parte por matemáticos, ingenieros, y otras personas del área de las ciencias exactas.</p>
<p>El programa tiene su propio lenguaje de programación, que sirve para plantear problemas y programar posibles soluciones para el mismo. A partir de esto, en <a href="http://stackoverflow.com/questions/8479058/how-do-i-find-waldo-with-mathematica">Stack Overflow se comenzó una pregunta</a> sobre si era posible programar un código en Mathematica para encontrar a Wally (<a href="http://es.wikipedia.org/wiki/%C2%BFD%C3%B3nde_est%C3%A1_Wally%3F">¿no conocés a Wally?</a>) en una de sus famosas imágenes.</p>
<p>El <a href="http://gaussianos.com/encuentra-a-wally-con-mathematica-pero-solo-a-veces/">blog matemático Gaussianos</a> hizo una buena reseña sobre ese thread con explicaciones sobre el asunto. El código propuesto es el siguiente (se necesita Mathematica 8):</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p20326code24'); return false;">Ver código</a> HTML</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p2032624"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="code" id="p20326code24"><pre class="html" style="font-family:monospace;">waldo = Import[&quot;http://www.findwaldo.com/fankit/graphics/IntlManOfLiterature/
Scenes/DepartmentStore.jpg&quot;];
red = Fold[ImageSubtract, #[[1]], Rest[#]] &amp;amp;@ColorSeparate[waldo];
&nbsp;
corr = ImageCorrelate[red,
Image@Join[ConstantArray[1, {2, 4}], ConstantArray[0, {2, 4}]],
NormalizedSquaredEuclideanDistance];
&nbsp;
pos = Dilation[ColorNegate[Binarize[corr, .12]], DiskMatrix[30]];
&nbsp;
found = ImageMultiply[waldo, ImageAdd[ColorConvert[pos, &quot;GrayLevel&quot;], .5]]</pre></td></tr></table></div>

<p>La explicación del algoritmo utilizado es sencilla. Primero se carga la imagena utilizar y se filtran todos los colores que no sean el rojo (por la camiseta de Wally). Luego se calcula la correlación entre esa imagen y un patrón en blanco y negro, para identificar las rayas de la camiseta. Luego se seleccionan los píxeles con la correlación más alta y se dibuja un círculo alrededor, y finalmente se combinan ambas imágenes.</p>
<p>Utilizando esto como imagen original,</p>
<p><img class="alignnone size-full wp-image-20327" title="" src="http://www.codigogeek.com/wp-content/uploads/2012/01/wally1.jpg" alt="" width="540" height="405" /></p>
<p>el resultado conseguido sería el siguiente:</p>
<p><img class="alignnone size-full wp-image-20328" title="" src="http://www.codigogeek.com/wp-content/uploads/2012/01/wally2.jpg" alt="" width="540" height="405" /></p>
<p>El código parece funcionar perfecto, pero no hay que emocionarse porque con otras imágenes puede fallar. Sin embargo, sirve para ver el poder que tiene este software y que en pocas líneas de código se pueden hacer cosas interesantes como éstas!</p>
<hr />
<p><a href="http://www.codigogeek.com/2012/01/20/se-puede-encontrar-a-wally-con-mathematica/">¿Se puede encontrar a Wally con Mathematica?</a><small> por Patricio para <a href="http://www.codigogeek.com">Codigo Geek</a><br/>
<a href="http://www.codigogeek.com/2012/01/20/se-puede-encontrar-a-wally-con-mathematica/">Permalink</a> |
<a href="http://www.codigogeek.com/2012/01/20/se-puede-encontrar-a-wally-con-mathematica/#comments">3 Comentarios</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.codigogeek.com/2012/01/20/se-puede-encontrar-a-wally-con-mathematica/&title=¿Se puede encontrar a Wally con Mathematica?">del.icio.us</a>
<br/>
Post tags: <a href="http://www.codigogeek.com/tag/mathematica/" rel="tag">Mathematica</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.codigogeek.com/2012/01/20/se-puede-encontrar-a-wally-con-mathematica/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Speech JavaScript API: Javascript para hablar con las páginas webs</title>
		<link>http://www.codigogeek.com/2012/01/08/speech-javascript-api-javascript-para-hablar-con-las-paginas-webs/</link>
		<comments>http://www.codigogeek.com/2012/01/08/speech-javascript-api-javascript-para-hablar-con-las-paginas-webs/#comments</comments>
		<pubDate>Sun, 08 Jan 2012 22:55:24 +0000</pubDate>
		<dc:creator>patricio</dc:creator>
				<category><![CDATA[Programacion]]></category>

		<guid isPermaLink="false">http://www.codigogeek.com/?p=20168</guid>
		<description><![CDATA[La W3C ha publicado un borrador de las especificaciones de lo que sería la especificación javascript para poder interactuar mediante voz con los navegadores, permitiendo hacer input y output de voz. Este proyecto está siendo llevado a cabo por el equipo de Google, más precisamente por Bjorn Bringert, Satish Sampath y Glen Shires. Como se ve [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://lists.w3.org/Archives/Public/public-webapps/2011OctDec/att-1696/speechapi.html">La W3C ha publicado un borrador</a> de las especificaciones de lo que sería la especificación javascript para poder interactuar mediante voz con los navegadores, permitiendo hacer input y output de voz.</p>
<p><img class="aligncenter size-full wp-image-20169" title="" src="http://www.codigogeek.com/wp-content/uploads/2012/01/descarga.png" alt="" width="389" height="153" /></p>
<p>Este proyecto está siendo llevado a cabo por el equipo de Google, más precisamente por Bjorn Bringert, Satish Sampath y Glen Shires. Como se ve en los siguientes códigos de ejemplo, sería más que fácil implementarlo.</p>
<p>Grabación de Voz:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p20168code27'); return false;">Ver código</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p2016827"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
</pre></td><td class="code" id="p20168code27"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;</span>
    <span style="color: #000000; font-weight: bold;">var</span> sr <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> SpeechReco<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Nuevo interface</span>
    sr<span style="color: #339933;">.</span>onresult <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>event<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #000000; font-weight: bold;">var</span> q <span style="color: #339933;">=</span> document<span style="color: #339933;">.</span>getElementById<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;q&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      q<span style="color: #339933;">.</span>value <span style="color: #339933;">=</span> event<span style="color: #339933;">.</span>result<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span>transcript<span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Devolvemos la transcripción del mensaje</span>
      q<span style="color: #339933;">.</span>form<span style="color: #339933;">.</span>submit<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
  <span style="color: #000000; font-weight: bold;">&lt;/script&gt;</span>
&nbsp;
  <span style="color: #339933;">&lt;</span>form action<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;http://www.example.com/search&quot;</span><span style="color: #339933;">&gt;</span>
  <span style="color: #339933;">&lt;</span>input type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;search&quot;</span> id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;q&quot;</span> name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;q&quot;</span><span style="color: #339933;">/&gt;</span>
  <span style="color: #339933;">&lt;</span>input type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;button&quot;</span> value<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;Speak&quot;</span> onclick<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;sr.start()&quot;</span><span style="color: #339933;">/&gt;</span> <span style="color: #666666; font-style: italic;">// Iniciamos la grabación</span>
  <span style="color: #339933;">&lt;/</span>form<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<p><strong>Convertir texto a Voz:</strong></p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p20168code28'); return false;">Ver código</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p2016828"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code" id="p20168code28"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;</span>
     <span style="color: #000000; font-weight: bold;">var</span> tts <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> TTS<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//Nuevo interface</span>
     <span style="color: #000000; font-weight: bold;">function</span> speak<span style="color: #009900;">&#40;</span>text<span style="color: #339933;">,</span> lang<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        tts<span style="color: #339933;">.</span>text <span style="color: #339933;">=</span> text<span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Indicamos el texto</span>
        tts<span style="color: #339933;">.</span>lang <span style="color: #339933;">=</span> lang<span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Indicamos el idioma</span>
        tts<span style="color: #339933;">.</span>play<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Hacemos hablar a nuestro navegador</span>
     <span style="color: #009900;">&#125;</span>
     speak<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Hello world.&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;en-US&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Hola mundo </span>
  <span style="color: #000000; font-weight: bold;">&lt;/script&gt;</span></pre></td></tr></table></div>

<p>Obviamente deberemos esperar un tiempo para que esta nueva especificación sea aprobada y pueda ser utilizada, pero no viene mal ilusionarnos.</p>
<p>Fuente: <a href="http://www.anieto2k.com/2012/01/08/speech-javascript-api-habla-con-las-paginas-web/?utm_source=feedburner&#038;utm_medium=feed&#038;utm_campaign=Feed%3A+anieto2k%2FXzqf+%28aNieto2K%29">Anieto2K</a></p>
<hr />
<p><a href="http://www.codigogeek.com/2012/01/08/speech-javascript-api-javascript-para-hablar-con-las-paginas-webs/">Speech JavaScript API: Javascript para hablar con las páginas webs</a><small> por Patricio para <a href="http://www.codigogeek.com">Codigo Geek</a><br/>
<a href="http://www.codigogeek.com/2012/01/08/speech-javascript-api-javascript-para-hablar-con-las-paginas-webs/">Permalink</a> |
<a href="http://www.codigogeek.com/2012/01/08/speech-javascript-api-javascript-para-hablar-con-las-paginas-webs/#comments">Comentar</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.codigogeek.com/2012/01/08/speech-javascript-api-javascript-para-hablar-con-las-paginas-webs/&title=Speech JavaScript API: Javascript para hablar con las páginas webs">del.icio.us</a>
<br/>
Post tags: <br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.codigogeek.com/2012/01/08/speech-javascript-api-javascript-para-hablar-con-las-paginas-webs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

