<?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>Siedrix &#187; Programacion</title>
	<atom:link href="http://siedrix.com/category/programacion/feed" rel="self" type="application/rss+xml" />
	<link>http://siedrix.com</link>
	<description>La vida como la vive un loki</description>
	<lastBuildDate>Fri, 27 Jan 2012 19:21:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Chrome buffer</title>
		<link>http://siedrix.com/chrome-buffer</link>
		<comments>http://siedrix.com/chrome-buffer#comments</comments>
		<pubDate>Fri, 27 Jan 2012 04:18:08 +0000</pubDate>
		<dc:creator>Siedrix</dc:creator>
				<category><![CDATA[Chrome]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[Programacion]]></category>

		<guid isPermaLink="false">http://siedrix.com/?p=1310</guid>
		<description><![CDATA[El martes en la noche, en un rato de ocio, creé una extensión de chrome relativamente sencilla y con un caso de uso relativamente particular. El caso de uso es que en mi trabajo requiero pasar datos de una página (datos o estilo) a otra página. Ya sea para pasar datos de producción a local ...]]></description>
			<content:encoded><![CDATA[<p>El martes en la noche, en un rato de ocio, creé una extensión de chrome relativamente sencilla y con un caso de uso relativamente particular.</p>
<p>El caso de uso es que en mi trabajo requiero pasar datos de una página (datos o estilo) a otra página. Ya sea para pasar datos de producción a local para resolver un bug, pasar información de un backup a un sitio que se rompió, etc.</p>
<p>Fuera de mi trabajo se me ocurre que podría usarlo para loggear request de ajax. Guardar el estado de datos en distintos momentos para checar que cambio y mejorar la idea de un bookmarklet para ejecutar javascript en un página.</p>
<p>Esto se puede realizar en 3 lugares, en Mongo, Ruby o Javascript. Dado que Mongo y Ruby son ambientes relativamente nuevos para mi y generalmente implican saltar de un server a otro, mover distintos archivos de lugar en distintas terminales y pasar archivos por SSH, decidí resolver el problema en Javascript.</p>
<p>Exiten distintas maneras de hacer esto, pero había una restricción más que me interesaba tener. Quería una función en la consola que siempre pudiera usar en cualquier página, así que la solución por la que opté fue una Chrome Extension, además tengo una background page que sirve como server y no requiere conexión a un server remoto o algo más instalado en mi computadora.</p>
<p>Las extensiones de Chrome generalmente no permiten acceder el contexto de la página, pero si el dom, por lo cual tuve que hacer un poco de JavascriptFu con estas lineas para tenerlo.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript"><span class="kw2">var</span> s <span class="sy0">=</span> document.<span class="me1">createElement</span><span class="br0">&#40;</span><span class="st0">'script'</span><span class="br0">&#41;</span><span class="sy0">;</span>
s.<span class="me1">innerHTML</span> <span class="sy0">=</span> <span class="st0">'window.Buffer = '</span> <span class="sy0">+</span> Buffer.<span class="me1">toString</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">+</span> <span class="st0">'; window.buffer = new Buffer();'</span><span class="sy0">;</span>
document.<span class="me1">body</span>.<span class="me1">appendChild</span><span class="br0">&#40;</span>s<span class="br0">&#41;</span><span class="sy0">;</span></pre></div></div>

<p>Y un poco de guardar datos en el dom para ser leídos por la extensión y el browser. Al final del día quedó una primera versión que resulve mis problemas.</p>
<p>En cualquier momento puedo abrir la consola (F12), teclear buffer.store, pasarle una etiqueta con la que podré requerir el valor después y un objeto, pasar a otra página teclear buffer.fetch la etiqueta anterior y recibir el valor, ya sea en forma de callback o llamando buffer.lastFetch.</p>
<p>En caso de que alguien tenga un interés de usar la extensión da click <a href="https://github.com/Siedrix/Chrome-Buffer" target="_blank">aqui</a>, si tienes algún feature request puedes dejarlo en los comentarios y si tienes algo que desees que corrija agregalo en los issues de github.</p>
<p>Un par de conclusiones:<br />
1.- Me agrada mucho la idea de tener una serie de herramientas extra corriendo en mi consola, debido a la cantidad de tiempo que paso en el browser y lo omnipresente que es hoy en día. Me quede con ganas de implementar unas cuantas funciones sobre esta extensión, como salvar un objeto a un archivo o poderlo mandar por mail.</p>
<p>Tengo la idea de crear un chat service que corra dentro de la consola. Para lo cual debo de mejorar el formato en que corre el pasar objetos y eventos de un contexto a otro.</p>
<p>2.- Chrome decide que las extensiones corran en un contexto aislado por seguridad de los usuarios y por facilidad para los desarrolladores pero creo que en el lado de seguridad todavia no estan haciendo un gran trabajo.</p>
<p>Si de empezar esta extensión sabía lo fácil que era crear un key logger como parte de una extensión y ahora se que haciendo un proceso similar a lo realizado en esta extensión se puede robar cookies de manera sencilla.</p>
<p>Lo cual me da un poco de paranoia de tener extensiones instaladas ya que tienes mucho acceso y mucho poder sobre como pueden manipular el comportamiento del browser. Por lo cual requiero darle una hojeada al código o tener confianza en el author del código.</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=Chrome+buffer&amp;link=http://siedrix.com/chrome-buffer&amp;notes=El%20martes%20en%20la%20noche%2C%20en%20un%20rato%20de%20ocio%2C%20cre%C3%A9%20una%20extensi%C3%B3n%20de%20chrome%20relativamente%20sencilla%20y%20con%20un%20caso%20de%20uso%20relativamente%20particular.%0D%0A%0D%0AEl%20caso%20de%20uso%20es%20que%20en%20mi%20trabajo%20requiero%20pasar%20datos%20de%20una%20p%C3%A1gina%20%28datos%20o%20estilo%29%20a%20otra%20p%C3%A1gina.%20Ya%20sea%20para%20pasar%20datos%20de%20producci%C3%B3n%20a%20local%20p&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%2524%257Btitle%257D%2B-%2B%2524%257Bshort_link%257D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-delicious">
			<a href="http://www.shareaholic.com/api/share/?title=Chrome+buffer&amp;link=http://siedrix.com/chrome-buffer&amp;notes=El%20martes%20en%20la%20noche%2C%20en%20un%20rato%20de%20ocio%2C%20cre%C3%A9%20una%20extensi%C3%B3n%20de%20chrome%20relativamente%20sencilla%20y%20con%20un%20caso%20de%20uso%20relativamente%20particular.%0D%0A%0D%0AEl%20caso%20de%20uso%20es%20que%20en%20mi%20trabajo%20requiero%20pasar%20datos%20de%20una%20p%C3%A1gina%20%28datos%20o%20estilo%29%20a%20otra%20p%C3%A1gina.%20Ya%20sea%20para%20pasar%20datos%20de%20producci%C3%B3n%20a%20local%20p&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://www.shareaholic.com/api/share/?title=Chrome+buffer&amp;link=http://siedrix.com/chrome-buffer&amp;notes=El%20martes%20en%20la%20noche%2C%20en%20un%20rato%20de%20ocio%2C%20cre%C3%A9%20una%20extensi%C3%B3n%20de%20chrome%20relativamente%20sencilla%20y%20con%20un%20caso%20de%20uso%20relativamente%20particular.%0D%0A%0D%0AEl%20caso%20de%20uso%20es%20que%20en%20mi%20trabajo%20requiero%20pasar%20datos%20de%20una%20p%C3%A1gina%20%28datos%20o%20estilo%29%20a%20otra%20p%C3%A1gina.%20Ya%20sea%20para%20pasar%20datos%20de%20producci%C3%B3n%20a%20local%20p&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=3&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=Chrome+buffer&amp;link=http://siedrix.com/chrome-buffer&amp;notes=El%20martes%20en%20la%20noche%2C%20en%20un%20rato%20de%20ocio%2C%20cre%C3%A9%20una%20extensi%C3%B3n%20de%20chrome%20relativamente%20sencilla%20y%20con%20un%20caso%20de%20uso%20relativamente%20particular.%0D%0A%0D%0AEl%20caso%20de%20uso%20es%20que%20en%20mi%20trabajo%20requiero%20pasar%20datos%20de%20una%20p%C3%A1gina%20%28datos%20o%20estilo%29%20a%20otra%20p%C3%A1gina.%20Ya%20sea%20para%20pasar%20datos%20de%20producci%C3%B3n%20a%20local%20p&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-posterous">
			<a href="http://www.shareaholic.com/api/share/?title=Chrome+buffer&amp;link=http://siedrix.com/chrome-buffer&amp;notes=El%20martes%20en%20la%20noche%2C%20en%20un%20rato%20de%20ocio%2C%20cre%C3%A9%20una%20extensi%C3%B3n%20de%20chrome%20relativamente%20sencilla%20y%20con%20un%20caso%20de%20uso%20relativamente%20particular.%0D%0A%0D%0AEl%20caso%20de%20uso%20es%20que%20en%20mi%20trabajo%20requiero%20pasar%20datos%20de%20una%20p%C3%A1gina%20%28datos%20o%20estilo%29%20a%20otra%20p%C3%A1gina.%20Ya%20sea%20para%20pasar%20datos%20de%20producci%C3%B3n%20a%20local%20p&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=210&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post this to Posterous">Post this to Posterous</a>
		</li>
		<li class="shr-reddit">
			<a href="http://www.shareaholic.com/api/share/?title=Chrome+buffer&amp;link=http://siedrix.com/chrome-buffer&amp;notes=El%20martes%20en%20la%20noche%2C%20en%20un%20rato%20de%20ocio%2C%20cre%C3%A9%20una%20extensi%C3%B3n%20de%20chrome%20relativamente%20sencilla%20y%20con%20un%20caso%20de%20uso%20relativamente%20particular.%0D%0A%0D%0AEl%20caso%20de%20uso%20es%20que%20en%20mi%20trabajo%20requiero%20pasar%20datos%20de%20una%20p%C3%A1gina%20%28datos%20o%20estilo%29%20a%20otra%20p%C3%A1gina.%20Ya%20sea%20para%20pasar%20datos%20de%20producci%C3%B3n%20a%20local%20p&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-slashdot">
			<a href="http://www.shareaholic.com/api/share/?title=Chrome+buffer&amp;link=http://siedrix.com/chrome-buffer&amp;notes=El%20martes%20en%20la%20noche%2C%20en%20un%20rato%20de%20ocio%2C%20cre%C3%A9%20una%20extensi%C3%B3n%20de%20chrome%20relativamente%20sencilla%20y%20con%20un%20caso%20de%20uso%20relativamente%20particular.%0D%0A%0D%0AEl%20caso%20de%20uso%20es%20que%20en%20mi%20trabajo%20requiero%20pasar%20datos%20de%20una%20p%C3%A1gina%20%28datos%20o%20estilo%29%20a%20otra%20p%C3%A1gina.%20Ya%20sea%20para%20pasar%20datos%20de%20producci%C3%B3n%20a%20local%20p&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=61&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Submit this to SlashDot">Submit this to SlashDot</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.shareaholic.com/api/share/?title=Chrome+buffer&amp;link=http://siedrix.com/chrome-buffer&amp;notes=El%20martes%20en%20la%20noche%2C%20en%20un%20rato%20de%20ocio%2C%20cre%C3%A9%20una%20extensi%C3%B3n%20de%20chrome%20relativamente%20sencilla%20y%20con%20un%20caso%20de%20uso%20relativamente%20particular.%0D%0A%0D%0AEl%20caso%20de%20uso%20es%20que%20en%20mi%20trabajo%20requiero%20pasar%20datos%20de%20una%20p%C3%A1gina%20%28datos%20o%20estilo%29%20a%20otra%20p%C3%A1gina.%20Ya%20sea%20para%20pasar%20datos%20de%20producci%C3%B3n%20a%20local%20p&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=38&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://siedrix.com/chrome-buffer/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Segunda clase de Node.js</title>
		<link>http://siedrix.com/segunda-clase-de-nodejs</link>
		<comments>http://siedrix.com/segunda-clase-de-nodejs#comments</comments>
		<pubDate>Tue, 26 Apr 2011 06:07:59 +0000</pubDate>
		<dc:creator>Siedrix</dc:creator>
				<category><![CDATA[Node.js]]></category>

		<guid isPermaLink="false">http://siedrix.com/?p=1268</guid>
		<description><![CDATA[El proximo Miercoles 27 a las 8pm en el hacker room tendremos la seguna clase de node donde trataremos de armar una pequeña web app donde usaremos web sockets y una base de datos sobre lo aprendido la vez pasada.]]></description>
			<content:encoded><![CDATA[<p>La cita es en el hacker room el próximo miércoles 27 de Abril a las 8pm para la plática con el interés de estar hasta las 10pm, tratare de estar desde las 6pm para ayudar con dudas de la clase pasada, instalar nodejs y tomar un chai.</p>
<p>Esta clase buscaremos hacer una pequeña web app que permita controlar que se muestra en un browser de manera remota por medio de web sockets. Estaré publicando la aplicación en DotCloud y espero que todos podamos usar la aplicación.</p>
<p>Temario:</p>
<ul>
<li>Generar un pequeño modulo que nos permita generar slides y que estas sean guardadas en una base de datos por presentación.</li>
<li>Que una página despliegue todas las slides.</li>
<li>Que en una página podamos cambiar el slide desplegado en todos los browsers que lo estén viendo.</li>
</ul>
<p>Para hacer esto usaremos:</p>
<ul>
<li>Persistencejs para manejo de información.</li>
<li>Socket.Io para usar Websockets</li>
<li>Y Express + Jade como web server</li>
</ul>
<p>Busque que la plática usara Persistance Js por que corre sobre MySql, en algún futuro me gustaría pasar a cosas como Redis o CouchDb.</p>
<p>Tratare de dar la plática en una hora, para tener de 9 a 10 para hackear un rato y agregar algunas funcionalidades extras a esta aplicación.</p>
<p>&nbsp;</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=Segunda+clase+de+Node.js&amp;link=http://siedrix.com/segunda-clase-de-nodejs&amp;notes=El%20proximo%20Miercoles%2027%20a%20las%208pm%20en%20el%20hacker%20room%20tendremos%20la%20seguna%20clase%20de%20node%20donde%20trataremos%20de%20armar%20una%20peque%C3%B1a%20web%20app%20donde%20usaremos%20web%20sockets%20y%20una%20base%20de%20datos%20sobre%20lo%20aprendido%20la%20vez%20pasada.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%2524%257Btitle%257D%2B-%2B%2524%257Bshort_link%257D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-delicious">
			<a href="http://www.shareaholic.com/api/share/?title=Segunda+clase+de+Node.js&amp;link=http://siedrix.com/segunda-clase-de-nodejs&amp;notes=El%20proximo%20Miercoles%2027%20a%20las%208pm%20en%20el%20hacker%20room%20tendremos%20la%20seguna%20clase%20de%20node%20donde%20trataremos%20de%20armar%20una%20peque%C3%B1a%20web%20app%20donde%20usaremos%20web%20sockets%20y%20una%20base%20de%20datos%20sobre%20lo%20aprendido%20la%20vez%20pasada.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://www.shareaholic.com/api/share/?title=Segunda+clase+de+Node.js&amp;link=http://siedrix.com/segunda-clase-de-nodejs&amp;notes=El%20proximo%20Miercoles%2027%20a%20las%208pm%20en%20el%20hacker%20room%20tendremos%20la%20seguna%20clase%20de%20node%20donde%20trataremos%20de%20armar%20una%20peque%C3%B1a%20web%20app%20donde%20usaremos%20web%20sockets%20y%20una%20base%20de%20datos%20sobre%20lo%20aprendido%20la%20vez%20pasada.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=3&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=Segunda+clase+de+Node.js&amp;link=http://siedrix.com/segunda-clase-de-nodejs&amp;notes=El%20proximo%20Miercoles%2027%20a%20las%208pm%20en%20el%20hacker%20room%20tendremos%20la%20seguna%20clase%20de%20node%20donde%20trataremos%20de%20armar%20una%20peque%C3%B1a%20web%20app%20donde%20usaremos%20web%20sockets%20y%20una%20base%20de%20datos%20sobre%20lo%20aprendido%20la%20vez%20pasada.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-posterous">
			<a href="http://www.shareaholic.com/api/share/?title=Segunda+clase+de+Node.js&amp;link=http://siedrix.com/segunda-clase-de-nodejs&amp;notes=El%20proximo%20Miercoles%2027%20a%20las%208pm%20en%20el%20hacker%20room%20tendremos%20la%20seguna%20clase%20de%20node%20donde%20trataremos%20de%20armar%20una%20peque%C3%B1a%20web%20app%20donde%20usaremos%20web%20sockets%20y%20una%20base%20de%20datos%20sobre%20lo%20aprendido%20la%20vez%20pasada.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=210&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post this to Posterous">Post this to Posterous</a>
		</li>
		<li class="shr-reddit">
			<a href="http://www.shareaholic.com/api/share/?title=Segunda+clase+de+Node.js&amp;link=http://siedrix.com/segunda-clase-de-nodejs&amp;notes=El%20proximo%20Miercoles%2027%20a%20las%208pm%20en%20el%20hacker%20room%20tendremos%20la%20seguna%20clase%20de%20node%20donde%20trataremos%20de%20armar%20una%20peque%C3%B1a%20web%20app%20donde%20usaremos%20web%20sockets%20y%20una%20base%20de%20datos%20sobre%20lo%20aprendido%20la%20vez%20pasada.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-slashdot">
			<a href="http://www.shareaholic.com/api/share/?title=Segunda+clase+de+Node.js&amp;link=http://siedrix.com/segunda-clase-de-nodejs&amp;notes=El%20proximo%20Miercoles%2027%20a%20las%208pm%20en%20el%20hacker%20room%20tendremos%20la%20seguna%20clase%20de%20node%20donde%20trataremos%20de%20armar%20una%20peque%C3%B1a%20web%20app%20donde%20usaremos%20web%20sockets%20y%20una%20base%20de%20datos%20sobre%20lo%20aprendido%20la%20vez%20pasada.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=61&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Submit this to SlashDot">Submit this to SlashDot</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.shareaholic.com/api/share/?title=Segunda+clase+de+Node.js&amp;link=http://siedrix.com/segunda-clase-de-nodejs&amp;notes=El%20proximo%20Miercoles%2027%20a%20las%208pm%20en%20el%20hacker%20room%20tendremos%20la%20seguna%20clase%20de%20node%20donde%20trataremos%20de%20armar%20una%20peque%C3%B1a%20web%20app%20donde%20usaremos%20web%20sockets%20y%20una%20base%20de%20datos%20sobre%20lo%20aprendido%20la%20vez%20pasada.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=38&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://siedrix.com/segunda-clase-de-nodejs/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Primera Clase de Node.js</title>
		<link>http://siedrix.com/primera-clase-de-node-js</link>
		<comments>http://siedrix.com/primera-clase-de-node-js#comments</comments>
		<pubDate>Wed, 13 Apr 2011 05:08:17 +0000</pubDate>
		<dc:creator>Siedrix</dc:creator>
				<category><![CDATA[Node.js]]></category>

		<guid isPermaLink="false">http://siedrix.com/?p=1251</guid>
		<description><![CDATA[El próximo martes 19 de abril a las 6pm dare mi primera clase de Node.js en el Hacker Room, chequeen y voten por los posibles temas]]></description>
			<content:encoded><![CDATA[<p>Gracias a la insistencia de <a href="http://www.twitter.com/hugostevens" target="_black">@hugostevens</a> empezaré a dar unas cuantas clases en el <a href="http://hackerroom.mx/" target="_blank">HackerRoom</a>. La primera será el martes 19 de abril a las 6pm y el tema será <a href="http://nodejs.org/" target="_blank">Node.js</a>. Para serles franco, estoy un poco perdido con que tema impartir debido a que hay unas cuantas cosas interesantes que mostrar y depende mucho de la audiencia.<br />
El prerrequisito de la clase es llevar Node instalado en tu computadora. Yo daré la plática con una máquina virtual de Linux sobre mi Windows 7.<br />
Veo 3 grandes ramas para las pláticas sobre Node:</p>
<ul>
<li>Como hacer scripts para consola.</li>
<li>Ventajas para uso de cosas en tiempo real para complementar aplicaciones hechas en otros lenguajes.</li>
<li>Cómo montar un MVC eligiendo distintas librerías, ya que poco a poco ha logrado tener Web Frameworks bastante completos.</li>
</ul>
<p>Esto genera los siguientes temas en específico:</p>
<ul>
<li>Una pequeña aplicación de mensajería usando Web Sockets (<a href="http://socket.io/" target="_blank">Socket.io</a>) con Node sobre una aplicación en php.</li>
<li>Agregar un chat a cualquier página de Internet (con un par de scripts de Javascript usando <a href="http://faye.jcoglan.com/" target="_blank">Faye</a>).</li>
<li>Uso de un MVC con <a href="http://expressjs.com/" target="_blank">Express</a>, Jade, Stylus y Cradel (CouchDb, esto podría cambiarse por Mongose (MongoDb)).</li>
<li>Usar un script en terminal que permita observar un archivo de templates y parsearlo (Como hace SASS).</li>
</ul>
<p>Si prefieren podría dar una clase de Nodejs 101 antes de entrar a estos temas.</p>
<p>Voy a estar haciendo deployment de los ejemplos en <a href="https://www.dotcloud.com/manage" target="_blank">dotCloud</a> mientras lo vemos en la clase.</p>
<p>Les comparto esta lista para que comenten sobre los posibles temas y sugieran algunos otros a través de los comentarios. Pueden sugerir nuevos temas que les interesen, estaré cerrando la recepción de temas el Domingo 17 para poder tener tiempo de preparar los temas.</p>
<p>Como una plática secundaria el Martes 26 daré hablaré sobre localstorage donde mostrare ejemplos para hacer caching de Ajax request y uso de la base de datos que viene con WebKit. También estoy pensando dar una plática para usar SammyJs, y Templates. Estaré abriendo otro tema para votar al respecto.</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=Primera+Clase+de+Node.js&amp;link=http://siedrix.com/primera-clase-de-node-js&amp;notes=El%20pr%C3%B3ximo%20martes%2019%20de%20abril%20a%20las%206pm%20dare%20mi%20primera%20clase%20de%20Node.js%20en%20el%20Hacker%20Room%2C%20chequeen%20y%20voten%20por%20los%20posibles%20temas&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%2524%257Btitle%257D%2B-%2B%2524%257Bshort_link%257D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-delicious">
			<a href="http://www.shareaholic.com/api/share/?title=Primera+Clase+de+Node.js&amp;link=http://siedrix.com/primera-clase-de-node-js&amp;notes=El%20pr%C3%B3ximo%20martes%2019%20de%20abril%20a%20las%206pm%20dare%20mi%20primera%20clase%20de%20Node.js%20en%20el%20Hacker%20Room%2C%20chequeen%20y%20voten%20por%20los%20posibles%20temas&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://www.shareaholic.com/api/share/?title=Primera+Clase+de+Node.js&amp;link=http://siedrix.com/primera-clase-de-node-js&amp;notes=El%20pr%C3%B3ximo%20martes%2019%20de%20abril%20a%20las%206pm%20dare%20mi%20primera%20clase%20de%20Node.js%20en%20el%20Hacker%20Room%2C%20chequeen%20y%20voten%20por%20los%20posibles%20temas&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=3&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=Primera+Clase+de+Node.js&amp;link=http://siedrix.com/primera-clase-de-node-js&amp;notes=El%20pr%C3%B3ximo%20martes%2019%20de%20abril%20a%20las%206pm%20dare%20mi%20primera%20clase%20de%20Node.js%20en%20el%20Hacker%20Room%2C%20chequeen%20y%20voten%20por%20los%20posibles%20temas&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-posterous">
			<a href="http://www.shareaholic.com/api/share/?title=Primera+Clase+de+Node.js&amp;link=http://siedrix.com/primera-clase-de-node-js&amp;notes=El%20pr%C3%B3ximo%20martes%2019%20de%20abril%20a%20las%206pm%20dare%20mi%20primera%20clase%20de%20Node.js%20en%20el%20Hacker%20Room%2C%20chequeen%20y%20voten%20por%20los%20posibles%20temas&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=210&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post this to Posterous">Post this to Posterous</a>
		</li>
		<li class="shr-reddit">
			<a href="http://www.shareaholic.com/api/share/?title=Primera+Clase+de+Node.js&amp;link=http://siedrix.com/primera-clase-de-node-js&amp;notes=El%20pr%C3%B3ximo%20martes%2019%20de%20abril%20a%20las%206pm%20dare%20mi%20primera%20clase%20de%20Node.js%20en%20el%20Hacker%20Room%2C%20chequeen%20y%20voten%20por%20los%20posibles%20temas&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-slashdot">
			<a href="http://www.shareaholic.com/api/share/?title=Primera+Clase+de+Node.js&amp;link=http://siedrix.com/primera-clase-de-node-js&amp;notes=El%20pr%C3%B3ximo%20martes%2019%20de%20abril%20a%20las%206pm%20dare%20mi%20primera%20clase%20de%20Node.js%20en%20el%20Hacker%20Room%2C%20chequeen%20y%20voten%20por%20los%20posibles%20temas&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=61&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Submit this to SlashDot">Submit this to SlashDot</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.shareaholic.com/api/share/?title=Primera+Clase+de+Node.js&amp;link=http://siedrix.com/primera-clase-de-node-js&amp;notes=El%20pr%C3%B3ximo%20martes%2019%20de%20abril%20a%20las%206pm%20dare%20mi%20primera%20clase%20de%20Node.js%20en%20el%20Hacker%20Room%2C%20chequeen%20y%20voten%20por%20los%20posibles%20temas&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=38&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://siedrix.com/primera-clase-de-node-js/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Usando el API de Noticias Hacker</title>
		<link>http://siedrix.com/usando-el-api-de-noticias-hacker</link>
		<comments>http://siedrix.com/usando-el-api-de-noticias-hacker#comments</comments>
		<pubDate>Tue, 22 Mar 2011 21:32:48 +0000</pubDate>
		<dc:creator>Siedrix</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Hacking Culture]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programacion]]></category>

		<guid isPermaLink="false">http://siedrix.com/?p=1243</guid>
		<description><![CDATA[En la ultima semana <a href="http://www.twitter.com/dfect" target="_black">@dfect</a> y yo hemos estado trabajando en el API de Noticias Hacker, les explico un poco de como usarlo. Quedo abierto a sus dudas y preguntas.]]></description>
			<content:encoded><![CDATA[<p>Desde la semana pasada <a href="http://www.twitter.com/DFect" target="_black">@DFect</a> y yo hemos estado trabajando para tener un API en <a href="http://www.noticiashacker.com/" target="_blank">Noticias Hacker</a>, lo cual ha sido una tarea interesante debido a que yo no sabía nada de Python antes de este proyecto. El API lo basamos en lo que tiene Reddit de <a href="http://code.reddit.com/wiki/API" target="_blank">API</a>.</p>
<p>El concepto es muy sencillo, está basado en que a todas las páginas les puedas agregar .json al final. Con esto, en vez de recibir la página en formato normal, recibes la información importante en <a href="http://www.json.org/" target="_blank">json</a>. Además si pasas un callback por get te regresa <a href="http://ajaxian.com/archives/jsonp-json-with-padding" target="_blank">jsonp </a>lo cual permite pedirla desde cualquier página de Internet por medio de Javascript.</p>
<p>Por el momento lo tenemos funcionando en la página principal (http://www.noticiashacker.com/), en la página de nuevo (/nuevo) y en la página donde se muestran los comentarios (/noticias/*). Si quisieran tener la portada en json podrían poner http://www.noticiashacker.com/.json y si desean llamarla desde Javascript en algún sitio pueden usar http://www.noticiashacker.com/.json?callback=? Lo estaremos extendiendo a distintas páginas del sitio.</p>
<p>Para utilizar de manera fácil y sencilla la funcionalidad de jsonp chequen la función <a href="http://api.jquery.com/jQuery.getJSON/" target="_blank">getJSON </a>de jquery y este ejemplo de código que les permite tener en consola la estructura de la portada de NH en su consola de Javascript en cualquier sitio que tenga jquery:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript">$.<span class="me1">getJSON</span><span class="br0">&#40;</span><span class="st0">'http://www.noticiashacker.com/.json?callback=?'</span><span class="sy0">,</span><span class="kw2">function</span><span class="br0">&#40;</span>data<span class="br0">&#41;</span><span class="br0">&#123;</span>
     console.<span class="me1">log</span><span class="br0">&#40;</span>data<span class="br0">&#41;</span><span class="sy0">;</span>
<span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span></pre></div></div>

<p>En esta <a href="http://siedrix.com/getjson-y-aplicacion" target="_blank">página </a>tengo un blogpost dedicado únicamente a esta función.</p>
<p>Entonces ¿qué podemos hacer con esto? Podemos hacer widgets para WordPress, analizar la información, desarrollar un cliente para android y tantas cosas como nuestra imaginación le interese.</p>
<p>Lo primero que se me ocurrió hacer es hacer un pequeño script de php que se llama cada hora y guarda en una base de datos. Además agregar una página de Internet donde se pueden pedir la portada de NH en las últimas 24 horas. La pueden consultar en <a href="http://hack.org.mx/noticias-hacker/last.php">http://hack.org.mx/noticias-hacker/last.php</a> y si le agregan un callback tienen el mismo poder para llamarla desde una página de Internet (MetaAPI FTW!).</p>
<p>Es el equivalente a tener un archivo histórico de todo lo que sucede en Noticias Hacker para utilizarlo como deseemos.</p>
<p>Una vez realizado esto, decidí usar un poco de Javascript trickster y hacer un dashboard donde se presentara de manera entendible para un humano esta información. Agregue calcular diferenciales entre las posiciones, votos y comentarios de NH hora por hora. Lo pueden checar <a href="http://siedrix.com/experimentos/panel/#" target="_blank">aquí</a> y pueden ver el código en mi <a href="https://github.com/Siedrix/Panel-Noticias-Hacker" target="_blank">Github</a>.</p>
<p>Estos son los primeros pasos y las primeras señales de un API completo. Los siguientes pasos son agregar .json a los perfiles y conversaciones, eventualmente tener la posibilidad de compartir noticias y votar. Nuestra imaginación es el límite.</p>
<p>Quedo a su disposición para preguntas sobre el API. Dejen sus comentarios aquí o en <a href="http://www.twitter.com/Siedrix" target="_black">@Siedrix</a>.</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=Usando+el+API+de+Noticias+Hacker&amp;link=http://siedrix.com/usando-el-api-de-noticias-hacker&amp;notes=En%20la%20ultima%20semana%20%40dfect%20y%20yo%20hemos%20estado%20trabajando%20en%20el%20API%20de%20Noticias%20Hacker%2C%20les%20explico%20un%20poco%20de%20como%20usarlo.%20Quedo%20abierto%20a%20sus%20dudas%20y%20preguntas.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%2524%257Btitle%257D%2B-%2B%2524%257Bshort_link%257D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-delicious">
			<a href="http://www.shareaholic.com/api/share/?title=Usando+el+API+de+Noticias+Hacker&amp;link=http://siedrix.com/usando-el-api-de-noticias-hacker&amp;notes=En%20la%20ultima%20semana%20%40dfect%20y%20yo%20hemos%20estado%20trabajando%20en%20el%20API%20de%20Noticias%20Hacker%2C%20les%20explico%20un%20poco%20de%20como%20usarlo.%20Quedo%20abierto%20a%20sus%20dudas%20y%20preguntas.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://www.shareaholic.com/api/share/?title=Usando+el+API+de+Noticias+Hacker&amp;link=http://siedrix.com/usando-el-api-de-noticias-hacker&amp;notes=En%20la%20ultima%20semana%20%40dfect%20y%20yo%20hemos%20estado%20trabajando%20en%20el%20API%20de%20Noticias%20Hacker%2C%20les%20explico%20un%20poco%20de%20como%20usarlo.%20Quedo%20abierto%20a%20sus%20dudas%20y%20preguntas.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=3&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=Usando+el+API+de+Noticias+Hacker&amp;link=http://siedrix.com/usando-el-api-de-noticias-hacker&amp;notes=En%20la%20ultima%20semana%20%40dfect%20y%20yo%20hemos%20estado%20trabajando%20en%20el%20API%20de%20Noticias%20Hacker%2C%20les%20explico%20un%20poco%20de%20como%20usarlo.%20Quedo%20abierto%20a%20sus%20dudas%20y%20preguntas.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-posterous">
			<a href="http://www.shareaholic.com/api/share/?title=Usando+el+API+de+Noticias+Hacker&amp;link=http://siedrix.com/usando-el-api-de-noticias-hacker&amp;notes=En%20la%20ultima%20semana%20%40dfect%20y%20yo%20hemos%20estado%20trabajando%20en%20el%20API%20de%20Noticias%20Hacker%2C%20les%20explico%20un%20poco%20de%20como%20usarlo.%20Quedo%20abierto%20a%20sus%20dudas%20y%20preguntas.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=210&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post this to Posterous">Post this to Posterous</a>
		</li>
		<li class="shr-reddit">
			<a href="http://www.shareaholic.com/api/share/?title=Usando+el+API+de+Noticias+Hacker&amp;link=http://siedrix.com/usando-el-api-de-noticias-hacker&amp;notes=En%20la%20ultima%20semana%20%40dfect%20y%20yo%20hemos%20estado%20trabajando%20en%20el%20API%20de%20Noticias%20Hacker%2C%20les%20explico%20un%20poco%20de%20como%20usarlo.%20Quedo%20abierto%20a%20sus%20dudas%20y%20preguntas.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-slashdot">
			<a href="http://www.shareaholic.com/api/share/?title=Usando+el+API+de+Noticias+Hacker&amp;link=http://siedrix.com/usando-el-api-de-noticias-hacker&amp;notes=En%20la%20ultima%20semana%20%40dfect%20y%20yo%20hemos%20estado%20trabajando%20en%20el%20API%20de%20Noticias%20Hacker%2C%20les%20explico%20un%20poco%20de%20como%20usarlo.%20Quedo%20abierto%20a%20sus%20dudas%20y%20preguntas.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=61&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Submit this to SlashDot">Submit this to SlashDot</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.shareaholic.com/api/share/?title=Usando+el+API+de+Noticias+Hacker&amp;link=http://siedrix.com/usando-el-api-de-noticias-hacker&amp;notes=En%20la%20ultima%20semana%20%40dfect%20y%20yo%20hemos%20estado%20trabajando%20en%20el%20API%20de%20Noticias%20Hacker%2C%20les%20explico%20un%20poco%20de%20como%20usarlo.%20Quedo%20abierto%20a%20sus%20dudas%20y%20preguntas.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=38&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://siedrix.com/usando-el-api-de-noticias-hacker/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Por que no me gusta CoffeeScript</title>
		<link>http://siedrix.com/por-que-no-me-gusta-coffeescript</link>
		<comments>http://siedrix.com/por-que-no-me-gusta-coffeescript#comments</comments>
		<pubDate>Sun, 06 Mar 2011 16:10:44 +0000</pubDate>
		<dc:creator>Siedrix</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[Programacion]]></category>

		<guid isPermaLink="false">http://siedrix.com/?p=1228</guid>
		<description><![CDATA[Despues de un rato de experimentar con CoffeeScript estas son mis opiniones.]]></description>
			<content:encoded><![CDATA[<p>Ayer <a href="http://www.twitter.com/chillicoder" target="_black">@chillicoder</a> y <a href="http://www.twitter.com/mauropm" target="_black">@mauropm</a> tenian unos cuantos twetts sobre que CoffeeScript es bastante chido, y tiene unas cosas bastante agradables como:</p>

<div class="wp_syntax"><div class="code"><pre class="ruby">alert <span class="st0">&quot;I knew it!&quot;</span> <span class="kw1">if</span> elvis?</pre></div></div>

<p>Lo cual ejecuta la funcion alert si y solo si elvis existe. Es una sintaxis agradable y por lo cual en algun punto me intereso aprenderlo a usar.</p>
<p>Hay casos como agregar un callback al evento click en jQuery no cambia mucho la sintaxis. En CoffeeScript es:</p>

<div class="wp_syntax"><div class="code"><pre class="ruby">$<span class="br0">&#40;</span><span class="st0">'.account'</span><span class="br0">&#41;</span>.<span class="me1">click</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>alert<span class="br0">&#40;</span><span class="st0">'account was click'</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;</pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="javascript">$<span class="br0">&#40;</span><span class="st0">'.account'</span><span class="br0">&#41;</span>.<span class="me1">click</span><span class="br0">&#40;</span><span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
  <span class="kw3">alert</span><span class="br0">&#40;</span><span class="st0">'account was click'</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span></pre></div></div>

<p>Sin embargo en la mayoría de los casos, lo que escribo es javascript asíncrono y en la mayoría de los casos uso funciones, para ser mas exacto, funciones como la siguiente:</p>

<div class="wp_syntax"><div class="code"><pre class="javacript">asyncSomething = function(x, callback) {
  x = x * getSomeAsyncvalue();
  return callback(x);
};</pre></div></div>

<p>y despues la ejecutamos en algun otro lado de la aplicacion de esta manera:</p>

<div class="wp_syntax"><div class="code"><pre class="javacript">asyncSomething(5, function(data) {
  return console.log(data);
});</pre></div></div>

<p>Son patrones normales de javascript, sobretodo cuando hacemos cosas que implican animaciones de eventos, emisores de eventos y ajax.<br />
En CoffeeScript se veria de la siguiente manera:</p>

<div class="wp_syntax"><div class="code"><pre class="ruby">asyncSomething = <span class="br0">&#40;</span>x, callback<span class="br0">&#41;</span> <span class="sy0">-&gt;</span> x = x<span class="sy0">*</span>getSomeAsyncvalue<span class="br0">&#40;</span><span class="br0">&#41;</span>; callback x;</pre></div></div>

<p>y en otro lado de mi aplicación la ejecutaremos de esta manera.</p>

<div class="wp_syntax"><div class="code"><pre class="ruby">asyncSomething<span class="br0">&#40;</span><span class="nu0">5</span>,<span class="br0">&#40;</span>data<span class="br0">&#41;</span> <span class="sy0">-&gt;</span> console.<span class="me1">log</span><span class="br0">&#40;</span>data<span class="br0">&#41;</span><span class="br0">&#41;</span>;</pre></div></div>

<p>El (data) -&gt; console.log(data) al llamar mi funcion es algo que no me agrada, mas alla llamar un parametro despues de hacer esto es imposible. Entonces el siguiente ejemplo:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript">setTimeout<span class="br0">&#40;</span><span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span>
   DoSomething<span class="br0">&#40;</span><span class="br0">&#41;</span>
<span class="br0">&#125;</span><span class="sy0">,</span><span class="nu0">1000</span><span class="br0">&#41;</span><span class="sy0">;</span></pre></div></div>

<p>En CoffeeScript se veria como:</p>

<div class="wp_syntax"><div class="code"><pre class="ruby">setTimeout<span class="br0">&#40;</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>DoSomething<span class="br0">&#40;</span><span class="br0">&#41;</span>,<span class="nu0">1000</span><span class="br0">&#41;</span></pre></div></div>

<p>Lo cual primero que nada causa un error de parser y después el declarar <b>()-&gt;</b> en lugar de <b>function(){}</b> me causa un poco de dolor de cabeza, principalmente si agregas mas de una linea de código. Simplemente me agradan mis parentesis, mis llaves({) y me agrada la sintaxis de javascript.</p>
<p>Para empezar a checar CoffeeScript tienen muchos ejemplos en su <a href="http://jashkenas.github.com/coffee-script/" target="_blank">pagina</a>, donde todos los ejemplos tiene una opción de load donde pueden empezar a escribir su código y decidir si les gusta o no.</p>
<p>En mi caso, creo que hay algunos casos que la sintaxis es muy bonita, en algunos casos que la sintaxis no aporta mucho a lo que se hace en javascript y ,en muchos casos, solo complica la sintaxis. Espero sus opiniones de coffescript.</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=Por+que+no+me+gusta+CoffeeScript&amp;link=http://siedrix.com/por-que-no-me-gusta-coffeescript&amp;notes=Despues%20de%20un%20rato%20de%20experimentar%20con%20CoffeeScript%20estas%20son%20mis%20opiniones.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%2524%257Btitle%257D%2B-%2B%2524%257Bshort_link%257D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-delicious">
			<a href="http://www.shareaholic.com/api/share/?title=Por+que+no+me+gusta+CoffeeScript&amp;link=http://siedrix.com/por-que-no-me-gusta-coffeescript&amp;notes=Despues%20de%20un%20rato%20de%20experimentar%20con%20CoffeeScript%20estas%20son%20mis%20opiniones.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://www.shareaholic.com/api/share/?title=Por+que+no+me+gusta+CoffeeScript&amp;link=http://siedrix.com/por-que-no-me-gusta-coffeescript&amp;notes=Despues%20de%20un%20rato%20de%20experimentar%20con%20CoffeeScript%20estas%20son%20mis%20opiniones.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=3&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=Por+que+no+me+gusta+CoffeeScript&amp;link=http://siedrix.com/por-que-no-me-gusta-coffeescript&amp;notes=Despues%20de%20un%20rato%20de%20experimentar%20con%20CoffeeScript%20estas%20son%20mis%20opiniones.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-posterous">
			<a href="http://www.shareaholic.com/api/share/?title=Por+que+no+me+gusta+CoffeeScript&amp;link=http://siedrix.com/por-que-no-me-gusta-coffeescript&amp;notes=Despues%20de%20un%20rato%20de%20experimentar%20con%20CoffeeScript%20estas%20son%20mis%20opiniones.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=210&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post this to Posterous">Post this to Posterous</a>
		</li>
		<li class="shr-reddit">
			<a href="http://www.shareaholic.com/api/share/?title=Por+que+no+me+gusta+CoffeeScript&amp;link=http://siedrix.com/por-que-no-me-gusta-coffeescript&amp;notes=Despues%20de%20un%20rato%20de%20experimentar%20con%20CoffeeScript%20estas%20son%20mis%20opiniones.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-slashdot">
			<a href="http://www.shareaholic.com/api/share/?title=Por+que+no+me+gusta+CoffeeScript&amp;link=http://siedrix.com/por-que-no-me-gusta-coffeescript&amp;notes=Despues%20de%20un%20rato%20de%20experimentar%20con%20CoffeeScript%20estas%20son%20mis%20opiniones.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=61&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Submit this to SlashDot">Submit this to SlashDot</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.shareaholic.com/api/share/?title=Por+que+no+me+gusta+CoffeeScript&amp;link=http://siedrix.com/por-que-no-me-gusta-coffeescript&amp;notes=Despues%20de%20un%20rato%20de%20experimentar%20con%20CoffeeScript%20estas%20son%20mis%20opiniones.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=38&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://siedrix.com/por-que-no-me-gusta-coffeescript/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Deberíamos de usar más NEWT(New Exciting Web Technologies)</title>
		<link>http://siedrix.com/deberiamos-de-usar-mas-newt</link>
		<comments>http://siedrix.com/deberiamos-de-usar-mas-newt#comments</comments>
		<pubDate>Mon, 10 Jan 2011 16:57:33 +0000</pubDate>
		<dc:creator>Siedrix</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[NEWT]]></category>

		<guid isPermaLink="false">http://siedrix.com/?p=1206</guid>
		<description><![CDATA[Bruce Lawson propone empezar a usar el termino NEWT para sustituir a HTML5.]]></description>
			<content:encoded><![CDATA[<p>Bruce Lawson es el encargado de Opera para difundir web standards, autor del libro de introduccion a HTML5 y muchas cosas más. Pueden encontrarlo en <a href="http://www.twitter.com/brucel" target="_black">@brucel</a>. Hace poco realizó una <a href="http://hacks.mozilla.org/2011/01/people-of-html5-bruce-lawson/" target="_blank">entrevista</a> para <a href="http://hacks.mozilla.org" target="_blank">hacks.mozilla.org</a> donde explica por que no hay que usar el término html5 y propone usar el término NEWT.</p>
<blockquote><p><strong>5) You’ve been advocating using the term “NEWT” instead of talking about HTML5, what does that mean and why not HTML5 as an umbrella term?</strong><br />
Clients and journalists will use “HTML5″ to mean CSS 3/video-that-runs-on-iThings/Geo-enabled applications. It’s the new “Web 2.0″. But we practitioners need to get our nomenclature straight. There are no HTML5 image transitions, just as there are no CSS semantics — and to say there are shows that you didn’t get the 2001 memo about separating style and content.</p>
<p>If we need an over-all term to encompass DAP, CSS 3, HTML5, Geolocation, SVG, WebGL, then let’s call it the Open Web Stack. But, because people seem to like easy-to-pronounce acronyms and cute logos, I proposed NEWT as a tongue-in-cheek way to highlight the jargon abuse I see happening.</p></blockquote>
<p>Este término lo habia <a href="http://www.brucelawson.co.uk/2010/meet-newt-new-exciting-web-technologies/" target="_blank">publicado anteriormente</a> en su blog, con una sencilla frase</p>
<h2 style="text-align: center;">HTML5 != CSS 3</h2>
<p>Y es cierto, últimamente las cosas que me atraen a investigar sobre web no son html5 o css3, si no javascript. Como hacer paginas con mucho mas ajax mucho mas facil. Entonces creo estar cambiando el termino y empezando a usar NEWT.</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=Deber%C3%ADamos+de+usar+m%C3%A1s+NEWT%28New+Exciting+Web+Technologies%29&amp;link=http://siedrix.com/deberiamos-de-usar-mas-newt&amp;notes=Bruce%20Lawson%20propone%20empezar%20a%20usar%20el%20termino%20NEWT%20para%20sustituir%20a%20HTML5.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%2524%257Btitle%257D%2B-%2B%2524%257Bshort_link%257D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-delicious">
			<a href="http://www.shareaholic.com/api/share/?title=Deber%C3%ADamos+de+usar+m%C3%A1s+NEWT%28New+Exciting+Web+Technologies%29&amp;link=http://siedrix.com/deberiamos-de-usar-mas-newt&amp;notes=Bruce%20Lawson%20propone%20empezar%20a%20usar%20el%20termino%20NEWT%20para%20sustituir%20a%20HTML5.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://www.shareaholic.com/api/share/?title=Deber%C3%ADamos+de+usar+m%C3%A1s+NEWT%28New+Exciting+Web+Technologies%29&amp;link=http://siedrix.com/deberiamos-de-usar-mas-newt&amp;notes=Bruce%20Lawson%20propone%20empezar%20a%20usar%20el%20termino%20NEWT%20para%20sustituir%20a%20HTML5.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=3&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=Deber%C3%ADamos+de+usar+m%C3%A1s+NEWT%28New+Exciting+Web+Technologies%29&amp;link=http://siedrix.com/deberiamos-de-usar-mas-newt&amp;notes=Bruce%20Lawson%20propone%20empezar%20a%20usar%20el%20termino%20NEWT%20para%20sustituir%20a%20HTML5.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-posterous">
			<a href="http://www.shareaholic.com/api/share/?title=Deber%C3%ADamos+de+usar+m%C3%A1s+NEWT%28New+Exciting+Web+Technologies%29&amp;link=http://siedrix.com/deberiamos-de-usar-mas-newt&amp;notes=Bruce%20Lawson%20propone%20empezar%20a%20usar%20el%20termino%20NEWT%20para%20sustituir%20a%20HTML5.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=210&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post this to Posterous">Post this to Posterous</a>
		</li>
		<li class="shr-reddit">
			<a href="http://www.shareaholic.com/api/share/?title=Deber%C3%ADamos+de+usar+m%C3%A1s+NEWT%28New+Exciting+Web+Technologies%29&amp;link=http://siedrix.com/deberiamos-de-usar-mas-newt&amp;notes=Bruce%20Lawson%20propone%20empezar%20a%20usar%20el%20termino%20NEWT%20para%20sustituir%20a%20HTML5.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-slashdot">
			<a href="http://www.shareaholic.com/api/share/?title=Deber%C3%ADamos+de+usar+m%C3%A1s+NEWT%28New+Exciting+Web+Technologies%29&amp;link=http://siedrix.com/deberiamos-de-usar-mas-newt&amp;notes=Bruce%20Lawson%20propone%20empezar%20a%20usar%20el%20termino%20NEWT%20para%20sustituir%20a%20HTML5.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=61&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Submit this to SlashDot">Submit this to SlashDot</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.shareaholic.com/api/share/?title=Deber%C3%ADamos+de+usar+m%C3%A1s+NEWT%28New+Exciting+Web+Technologies%29&amp;link=http://siedrix.com/deberiamos-de-usar-mas-newt&amp;notes=Bruce%20Lawson%20propone%20empezar%20a%20usar%20el%20termino%20NEWT%20para%20sustituir%20a%20HTML5.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=38&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://siedrix.com/deberiamos-de-usar-mas-newt/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mi experiencia con node.js</title>
		<link>http://siedrix.com/mi-experiencia-con-node-js</link>
		<comments>http://siedrix.com/mi-experiencia-con-node-js#comments</comments>
		<pubDate>Fri, 12 Nov 2010 05:38:10 +0000</pubDate>
		<dc:creator>Siedrix</dc:creator>
				<category><![CDATA[Node.js]]></category>

		<guid isPermaLink="false">http://siedrix.com/?p=1197</guid>
		<description><![CDATA[Hace un par de dias me pidieron que escribiera un poco de mi experiencia e interés para Maestros de la Web, el texto salio muy corto y tuvieron que cortarlo para que se integrara con el articulo que escribieron. Entonces aquí publico todo lo que escribo.]]></description>
			<content:encoded><![CDATA[<div class="note">Hace un par de días me pidieron que escribiera un poco de mi experiencia e interés para <a href="http://www.maestrosdelweb.com/">Maestros de la Web</a>, el texto salio muy corto y tuvieron que cortarlo para que se integrara con el articulo que escribieron. Entonces aquí publico todo lo que escribo.</div>
<p>Node.js me resulto atractivo por una librería llamada <a href="http://faye.jcoglan.com/" target="_blank">Faye</a>, la cual permite crear un servidor de Comet (long-polling) en unas cuantas líneas, a diferencia de su implementación que de otra manera implica instalar APE o CometD. Poco a poco he empezado a usarlo para más y más cosas, principalmente para jugar con websockets (usando <a href="http://socket.io/">Socket.io</a> y <a href="https://github.com/maccman/juggernaut">Juggernaut</a>), páginas de Internet en tiempo real y scrapping de páginas de Internet con selectores de jQuery. Mi siguiente proyecto será hacer un juego que sea un mash-up entre tetris y canaval usando canvas y web sockets.</p>
<p>Una de las más grandes ventajas que he encontrado es que puedes programar toda tu aplicación en el mismo lenguaje. La base de datos que me agrada usar con node.js, CouchDB, entrega json, nativo de javascript, mi servidor está escrito con javascript y mi aplicación está escrita en HTML, CSS y javascript. Lo cual es una gran diferencia a utilizar SQL, un lenguaje del lado del servido y después javascript del lado del cliente.<br />
Al usar node.js he tenido algunos inconvenientes, pero cada uno me ha hecho mejorar mucho mis skills como programador:</p>
<ul>
<li>Por el momento la versión estable de node.js es 0.2.4 y la versión que se encuentra en desarrollo es 0.3. Yo llevo usándolo desde el 0.1.94 y me ha tocado ver cambios en la semántica, en la comunidad y poco a poco verlo crecer. Ha sido una gran experiencia, pero también es complicado trabajar en un lenguaje donde muchas veces las librería y tutoriales no funcionan por conflictos de versiones.</li>
<li>Usar node.js para hacer aplicaciones web es el equivalente de tomar Apache sin ningún modulo, me ha permitido entender  lo que sucede cuando un http request llega a nuestro servidor. Si no les interesa aprender esto, usen <a href="http://expressjs.com/" target="_blank">Express.js</a> o <a href="http://coffeemate.github.com/meryl/">Meryl</a> desde el día uno.</li>
<li>La documentación es escasa y existen pocos tutoriales al respeto. Me ha acercado a leer código en github, chats de IRC y Google groups, lo cual ha sido bastante ameno después de darme golpes con la pared las primeras semanas.</li>
<li>Aprendí jQuery primero y javascript después. El usar node me ha permitido mejorar mucho mi javascript.<br />
Node.js y javascript están basado en eventos y el aprender que es un evento del lado del servidor no es algo completamente obvio. Node.js es asíncrono, por lo cual hay que entender muy bien el concepto de callback de una función como sucede cuando hacemos AJAX.</li>
</ul>
<p>Después de 4 meses usándolo para desarrollo en mi tiempo libre, después de todos los topes en la cabeza que me he dado usándolo, me ha servido para ser mejor programador, para entender la complejidad que implica desarrollar algo a gran escala, mejorar mi uso de git y mi habilidad para leer el código de otras personas. Se los recomiendo ampliamente, en especial a todos los estudiantes de algo similar a “computer science” que tienen mucho más tiempo libre que yo.</p>
<p>Como parte de aprender node.js he escrito unos cuantos posts que me gustaría compartirles:</p>
<ul>
<li><a href="http://siedrix.com/installar-couchdb-1-0-y-node-js-en-ubuntu">Instalar CouchDb 1.0 y node.js en Ubuntu</a> nos servirá para generar nuestro ambiente de trabajo. Hoy ya no es tan complicado pero en un momento lo fue. El proceso es muy similar en Mac con home brew y en Windows es posible con cygwin, pero no lo he logrado.</li>
<li><a href="http://siedrix.com/html-scrapping-con-jquery-y-node-js">HTML scrapping con jQuery y node.js</a>. Este es un muy buen primer ejercicio. Es sencillo pero nos muestra un poco del poder de node.js.</li>
<li><a href="http://siedrix.com/node-js-para-webdevelopers">Node.js para WebDevelopers</a>. En este post explico los primeros pasos que hay que tomar cuando empiecen a usar node para desarrollar una aplicación web. Está ligado a un pequeño Shell que tengo en github, el cual ya tiene log in por default, pero aún le hace falta mucho trabajo.</li>
<li><a href="http://siedrix.com/faye-node-js-y-aplicaciones-tiempo-real">Faye, node.js y aplicaciones tiempo real</a> y <a href="http://siedrix.com/chat-101-con-node-js-y-faye">Chat 101: con node.js y Faye</a> muestran como implementar Comet con Faye hasta crear el chat más básico posible.</li>
</ul>
<p>Espero que esto les sirva para empezar a aprender node.js y no duden en contactarme si tienen alguna duda. Me pueden contactar en <a href="http://www.twitter.com/siedrix" target="_black">@siedrix</a></p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=Mi+experiencia+con+node.js&amp;link=http://siedrix.com/mi-experiencia-con-node-js&amp;notes=Hace%20un%20par%20de%20dias%20me%20pidieron%20que%20escribiera%20un%20poco%20de%20mi%20experiencia%20e%20inter%C3%A9s%20para%20Maestros%20de%20la%20Web%2C%20el%20texto%20salio%20muy%20corto%20y%20tuvieron%20que%20cortarlo%20para%20que%20se%20integrara%20con%20el%20articulo%20que%20escribieron.%20Entonces%20aqu%C3%AD%20publico%20todo%20lo%20que%20escribo.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%2524%257Btitle%257D%2B-%2B%2524%257Bshort_link%257D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-delicious">
			<a href="http://www.shareaholic.com/api/share/?title=Mi+experiencia+con+node.js&amp;link=http://siedrix.com/mi-experiencia-con-node-js&amp;notes=Hace%20un%20par%20de%20dias%20me%20pidieron%20que%20escribiera%20un%20poco%20de%20mi%20experiencia%20e%20inter%C3%A9s%20para%20Maestros%20de%20la%20Web%2C%20el%20texto%20salio%20muy%20corto%20y%20tuvieron%20que%20cortarlo%20para%20que%20se%20integrara%20con%20el%20articulo%20que%20escribieron.%20Entonces%20aqu%C3%AD%20publico%20todo%20lo%20que%20escribo.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://www.shareaholic.com/api/share/?title=Mi+experiencia+con+node.js&amp;link=http://siedrix.com/mi-experiencia-con-node-js&amp;notes=Hace%20un%20par%20de%20dias%20me%20pidieron%20que%20escribiera%20un%20poco%20de%20mi%20experiencia%20e%20inter%C3%A9s%20para%20Maestros%20de%20la%20Web%2C%20el%20texto%20salio%20muy%20corto%20y%20tuvieron%20que%20cortarlo%20para%20que%20se%20integrara%20con%20el%20articulo%20que%20escribieron.%20Entonces%20aqu%C3%AD%20publico%20todo%20lo%20que%20escribo.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=3&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=Mi+experiencia+con+node.js&amp;link=http://siedrix.com/mi-experiencia-con-node-js&amp;notes=Hace%20un%20par%20de%20dias%20me%20pidieron%20que%20escribiera%20un%20poco%20de%20mi%20experiencia%20e%20inter%C3%A9s%20para%20Maestros%20de%20la%20Web%2C%20el%20texto%20salio%20muy%20corto%20y%20tuvieron%20que%20cortarlo%20para%20que%20se%20integrara%20con%20el%20articulo%20que%20escribieron.%20Entonces%20aqu%C3%AD%20publico%20todo%20lo%20que%20escribo.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-posterous">
			<a href="http://www.shareaholic.com/api/share/?title=Mi+experiencia+con+node.js&amp;link=http://siedrix.com/mi-experiencia-con-node-js&amp;notes=Hace%20un%20par%20de%20dias%20me%20pidieron%20que%20escribiera%20un%20poco%20de%20mi%20experiencia%20e%20inter%C3%A9s%20para%20Maestros%20de%20la%20Web%2C%20el%20texto%20salio%20muy%20corto%20y%20tuvieron%20que%20cortarlo%20para%20que%20se%20integrara%20con%20el%20articulo%20que%20escribieron.%20Entonces%20aqu%C3%AD%20publico%20todo%20lo%20que%20escribo.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=210&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post this to Posterous">Post this to Posterous</a>
		</li>
		<li class="shr-reddit">
			<a href="http://www.shareaholic.com/api/share/?title=Mi+experiencia+con+node.js&amp;link=http://siedrix.com/mi-experiencia-con-node-js&amp;notes=Hace%20un%20par%20de%20dias%20me%20pidieron%20que%20escribiera%20un%20poco%20de%20mi%20experiencia%20e%20inter%C3%A9s%20para%20Maestros%20de%20la%20Web%2C%20el%20texto%20salio%20muy%20corto%20y%20tuvieron%20que%20cortarlo%20para%20que%20se%20integrara%20con%20el%20articulo%20que%20escribieron.%20Entonces%20aqu%C3%AD%20publico%20todo%20lo%20que%20escribo.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-slashdot">
			<a href="http://www.shareaholic.com/api/share/?title=Mi+experiencia+con+node.js&amp;link=http://siedrix.com/mi-experiencia-con-node-js&amp;notes=Hace%20un%20par%20de%20dias%20me%20pidieron%20que%20escribiera%20un%20poco%20de%20mi%20experiencia%20e%20inter%C3%A9s%20para%20Maestros%20de%20la%20Web%2C%20el%20texto%20salio%20muy%20corto%20y%20tuvieron%20que%20cortarlo%20para%20que%20se%20integrara%20con%20el%20articulo%20que%20escribieron.%20Entonces%20aqu%C3%AD%20publico%20todo%20lo%20que%20escribo.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=61&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Submit this to SlashDot">Submit this to SlashDot</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.shareaholic.com/api/share/?title=Mi+experiencia+con+node.js&amp;link=http://siedrix.com/mi-experiencia-con-node-js&amp;notes=Hace%20un%20par%20de%20dias%20me%20pidieron%20que%20escribiera%20un%20poco%20de%20mi%20experiencia%20e%20inter%C3%A9s%20para%20Maestros%20de%20la%20Web%2C%20el%20texto%20salio%20muy%20corto%20y%20tuvieron%20que%20cortarlo%20para%20que%20se%20integrara%20con%20el%20articulo%20que%20escribieron.%20Entonces%20aqu%C3%AD%20publico%20todo%20lo%20que%20escribo.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=38&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://siedrix.com/mi-experiencia-con-node-js/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>jQuery Divide o riesgos al aprender js</title>
		<link>http://siedrix.com/jquery-divide-o-riesgos-al-aprender-js</link>
		<comments>http://siedrix.com/jquery-divide-o-riesgos-al-aprender-js#comments</comments>
		<pubDate>Tue, 02 Nov 2010 13:00:59 +0000</pubDate>
		<dc:creator>Siedrix</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Random]]></category>

		<guid isPermaLink="false">http://siedrix.com/?p=1181</guid>
		<description><![CDATA[En esta plática Rebecca Murphey nos habla de las necesidades y riesgos de aprender javascript de DOM centrica o atravez de copiar y pegar snipets de jQuery.]]></description>
			<content:encoded><![CDATA[<p>Javascript se ha pasado de ser un juguete, a ser una herramienta necesaria para el desarrollo web. Desarrolladores cada día tienen que aprender cosas más complejas del lenguaje y pese a que la mayoría de nosotros aprendemos usando jQuery o alguna otra librería y pegando plug ins, esta no puede ser la manera de que javascript se utilice y se difunda.</p>
<p>En esta plática Rebecca Murphey nos habla de las necesidades y riesgos de aprender javascript de esta manera.  Pasando por ejemplos de código hechos muy DOM céntricos hasta las grandes preguntas que los desarrolladores necesitemos responder para llevar el lenguaje al siguiente nivel.</p>
<p><embed src="http://blip.tv/play/hq0KgoiLOAI" type="application/x-shockwave-flash" width="480" height="300" allowscriptaccess="always" allowfullscreen="true"></embed></p>
<p>Espero que hayan disfrutado la platica y si algun dia quieren reunirse por un cafe y hablar de eso, me encantaria. Me pueden contactar por los comentarios del blog o por mi twitter <a href="http://www.twitter.com/siedrix" target="_black">@siedrix</a> .</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=jQuery+Divide+o+riesgos+al+aprender+js&amp;link=http://siedrix.com/jquery-divide-o-riesgos-al-aprender-js&amp;notes=En%20esta%20pl%C3%A1tica%20Rebecca%20Murphey%20nos%20habla%20de%20las%20necesidades%20y%20riesgos%20de%20aprender%20javascript%20de%20DOM%20centrica%20o%20atravez%20de%20copiar%20y%20pegar%20snipets%20de%20jQuery.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%2524%257Btitle%257D%2B-%2B%2524%257Bshort_link%257D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-delicious">
			<a href="http://www.shareaholic.com/api/share/?title=jQuery+Divide+o+riesgos+al+aprender+js&amp;link=http://siedrix.com/jquery-divide-o-riesgos-al-aprender-js&amp;notes=En%20esta%20pl%C3%A1tica%20Rebecca%20Murphey%20nos%20habla%20de%20las%20necesidades%20y%20riesgos%20de%20aprender%20javascript%20de%20DOM%20centrica%20o%20atravez%20de%20copiar%20y%20pegar%20snipets%20de%20jQuery.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://www.shareaholic.com/api/share/?title=jQuery+Divide+o+riesgos+al+aprender+js&amp;link=http://siedrix.com/jquery-divide-o-riesgos-al-aprender-js&amp;notes=En%20esta%20pl%C3%A1tica%20Rebecca%20Murphey%20nos%20habla%20de%20las%20necesidades%20y%20riesgos%20de%20aprender%20javascript%20de%20DOM%20centrica%20o%20atravez%20de%20copiar%20y%20pegar%20snipets%20de%20jQuery.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=3&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=jQuery+Divide+o+riesgos+al+aprender+js&amp;link=http://siedrix.com/jquery-divide-o-riesgos-al-aprender-js&amp;notes=En%20esta%20pl%C3%A1tica%20Rebecca%20Murphey%20nos%20habla%20de%20las%20necesidades%20y%20riesgos%20de%20aprender%20javascript%20de%20DOM%20centrica%20o%20atravez%20de%20copiar%20y%20pegar%20snipets%20de%20jQuery.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-posterous">
			<a href="http://www.shareaholic.com/api/share/?title=jQuery+Divide+o+riesgos+al+aprender+js&amp;link=http://siedrix.com/jquery-divide-o-riesgos-al-aprender-js&amp;notes=En%20esta%20pl%C3%A1tica%20Rebecca%20Murphey%20nos%20habla%20de%20las%20necesidades%20y%20riesgos%20de%20aprender%20javascript%20de%20DOM%20centrica%20o%20atravez%20de%20copiar%20y%20pegar%20snipets%20de%20jQuery.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=210&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post this to Posterous">Post this to Posterous</a>
		</li>
		<li class="shr-reddit">
			<a href="http://www.shareaholic.com/api/share/?title=jQuery+Divide+o+riesgos+al+aprender+js&amp;link=http://siedrix.com/jquery-divide-o-riesgos-al-aprender-js&amp;notes=En%20esta%20pl%C3%A1tica%20Rebecca%20Murphey%20nos%20habla%20de%20las%20necesidades%20y%20riesgos%20de%20aprender%20javascript%20de%20DOM%20centrica%20o%20atravez%20de%20copiar%20y%20pegar%20snipets%20de%20jQuery.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-slashdot">
			<a href="http://www.shareaholic.com/api/share/?title=jQuery+Divide+o+riesgos+al+aprender+js&amp;link=http://siedrix.com/jquery-divide-o-riesgos-al-aprender-js&amp;notes=En%20esta%20pl%C3%A1tica%20Rebecca%20Murphey%20nos%20habla%20de%20las%20necesidades%20y%20riesgos%20de%20aprender%20javascript%20de%20DOM%20centrica%20o%20atravez%20de%20copiar%20y%20pegar%20snipets%20de%20jQuery.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=61&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Submit this to SlashDot">Submit this to SlashDot</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.shareaholic.com/api/share/?title=jQuery+Divide+o+riesgos+al+aprender+js&amp;link=http://siedrix.com/jquery-divide-o-riesgos-al-aprender-js&amp;notes=En%20esta%20pl%C3%A1tica%20Rebecca%20Murphey%20nos%20habla%20de%20las%20necesidades%20y%20riesgos%20de%20aprender%20javascript%20de%20DOM%20centrica%20o%20atravez%20de%20copiar%20y%20pegar%20snipets%20de%20jQuery.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=38&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://siedrix.com/jquery-divide-o-riesgos-al-aprender-js/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Node.js para WebDevelopers</title>
		<link>http://siedrix.com/node-js-para-webdevelopers</link>
		<comments>http://siedrix.com/node-js-para-webdevelopers#comments</comments>
		<pubDate>Wed, 27 Oct 2010 13:09:54 +0000</pubDate>
		<dc:creator>Siedrix</dc:creator>
				<category><![CDATA[Node.js]]></category>

		<guid isPermaLink="false">http://siedrix.com/?p=1175</guid>
		<description><![CDATA[Poco a poco mientras voy aprendiendo un poco de Node, he tratado de hacer paginas de Internet como lo hago en Zend y sumarle las bondades que ofrece Node como es comet y web sockets muy facilmente.]]></description>
			<content:encoded><![CDATA[<p>Poco a poco mientras voy aprendiendo un poco de Node, he tratado de hacer paginas de Internet como lo hago en Zend.</p>
<p>Lo cual es un gran problema debido a que <a href="http://framework.zend.com/" target="_blank">Zend </a>cuenta con MVC y una manera muy amable de accesar a MySql. Mientras que Node.js no cuenta con MVC, ni un sistema de router, ni coneccion a la base de datos ni muchas cosas, todos son módulos que tiene que agregarse.</p>
<p>Hay varios micro-frameworks que permiten un uso de router, manejo del tipo de request(POST, GET) que se a realizado, entre ellos lo mas común es <a href="http://expressjs.com/">Express.js</a> que esta basado en Sinatra de Ruby, yo he encontrado que <a href="http://coffeemate.github.com/meryl/">Meryl </a>es una muy buena opción.</p>
<p>Ademas de esto tenemos que elegir un sistema de Templating para generar html, yo uso <a href="http://jade-lang.com/">Jade </a>que esta basado en <a href="http://haml-lang.com/" target="_blank">HAML </a>y es compatible con Meryl.</p>
<p>Uso <a href="http://github.com/senchalabs/connect">Connect </a>creado por Sencha Labs para manejar sesión de los usuarios y servir archivos estáticos como imágenes, css y javascript.</p>
<p>En cuanto a la base de datos es algo mas complicado, hay que elegir que tipo de base se requiere y esto puede ser un problema ya que hay una gran gama de tipos de bases de datos desde MySQL, pasando por las NoSQL como MongoDB, CouchDB y Redis hasta llegar a NodeDirty que es una base de datos y después elegir de varias librerías que existen para ello.</p>
<p>Yo elegí <a href="http://couchdb.apache.org/">CouchDB </a>y ya tengo una <a href="http://github.com/felixge/node-couchdb">librería </a>que me agrada bastante, es bastante sencilla y hace todo lo que necesito. Poco a poco me he acostumbrado a pasar de una idea de MySQL a una idea de documentos como lo hacer Couch.</p>
<p>Como parte de ir “Cherry Picking” estos módulos he empezado a crear <a href="http://github.com/Siedrix/node-shell" target="_blank">un shell</a> para empezar a trabajar, por el momento lo único que hace es crear usuarios y hacer log in, pero pueden empezar a checarlo y esta en GitHub, por lo cual pueden usarlo para crear su propia versión muy fácilmente.</p>
<p>Si pudieran dejar en los comentarios los módulos de Node que les parecen interesantes seria muy bueno. Gracias.</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=Node.js+para+WebDevelopers+&amp;link=http://siedrix.com/node-js-para-webdevelopers&amp;notes=Poco%20a%20poco%20mientras%20voy%20aprendiendo%20un%20poco%20de%20Node%2C%20he%20tratado%20de%20hacer%20paginas%20de%20Internet%20como%20lo%20hago%20en%20Zend%20y%20sumarle%20las%20bondades%20que%20ofrece%20Node%20como%20es%20comet%20y%20web%20sockets%20muy%20facilmente.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%2524%257Btitle%257D%2B-%2B%2524%257Bshort_link%257D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-delicious">
			<a href="http://www.shareaholic.com/api/share/?title=Node.js+para+WebDevelopers+&amp;link=http://siedrix.com/node-js-para-webdevelopers&amp;notes=Poco%20a%20poco%20mientras%20voy%20aprendiendo%20un%20poco%20de%20Node%2C%20he%20tratado%20de%20hacer%20paginas%20de%20Internet%20como%20lo%20hago%20en%20Zend%20y%20sumarle%20las%20bondades%20que%20ofrece%20Node%20como%20es%20comet%20y%20web%20sockets%20muy%20facilmente.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://www.shareaholic.com/api/share/?title=Node.js+para+WebDevelopers+&amp;link=http://siedrix.com/node-js-para-webdevelopers&amp;notes=Poco%20a%20poco%20mientras%20voy%20aprendiendo%20un%20poco%20de%20Node%2C%20he%20tratado%20de%20hacer%20paginas%20de%20Internet%20como%20lo%20hago%20en%20Zend%20y%20sumarle%20las%20bondades%20que%20ofrece%20Node%20como%20es%20comet%20y%20web%20sockets%20muy%20facilmente.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=3&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=Node.js+para+WebDevelopers+&amp;link=http://siedrix.com/node-js-para-webdevelopers&amp;notes=Poco%20a%20poco%20mientras%20voy%20aprendiendo%20un%20poco%20de%20Node%2C%20he%20tratado%20de%20hacer%20paginas%20de%20Internet%20como%20lo%20hago%20en%20Zend%20y%20sumarle%20las%20bondades%20que%20ofrece%20Node%20como%20es%20comet%20y%20web%20sockets%20muy%20facilmente.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-posterous">
			<a href="http://www.shareaholic.com/api/share/?title=Node.js+para+WebDevelopers+&amp;link=http://siedrix.com/node-js-para-webdevelopers&amp;notes=Poco%20a%20poco%20mientras%20voy%20aprendiendo%20un%20poco%20de%20Node%2C%20he%20tratado%20de%20hacer%20paginas%20de%20Internet%20como%20lo%20hago%20en%20Zend%20y%20sumarle%20las%20bondades%20que%20ofrece%20Node%20como%20es%20comet%20y%20web%20sockets%20muy%20facilmente.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=210&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post this to Posterous">Post this to Posterous</a>
		</li>
		<li class="shr-reddit">
			<a href="http://www.shareaholic.com/api/share/?title=Node.js+para+WebDevelopers+&amp;link=http://siedrix.com/node-js-para-webdevelopers&amp;notes=Poco%20a%20poco%20mientras%20voy%20aprendiendo%20un%20poco%20de%20Node%2C%20he%20tratado%20de%20hacer%20paginas%20de%20Internet%20como%20lo%20hago%20en%20Zend%20y%20sumarle%20las%20bondades%20que%20ofrece%20Node%20como%20es%20comet%20y%20web%20sockets%20muy%20facilmente.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-slashdot">
			<a href="http://www.shareaholic.com/api/share/?title=Node.js+para+WebDevelopers+&amp;link=http://siedrix.com/node-js-para-webdevelopers&amp;notes=Poco%20a%20poco%20mientras%20voy%20aprendiendo%20un%20poco%20de%20Node%2C%20he%20tratado%20de%20hacer%20paginas%20de%20Internet%20como%20lo%20hago%20en%20Zend%20y%20sumarle%20las%20bondades%20que%20ofrece%20Node%20como%20es%20comet%20y%20web%20sockets%20muy%20facilmente.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=61&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Submit this to SlashDot">Submit this to SlashDot</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.shareaholic.com/api/share/?title=Node.js+para+WebDevelopers+&amp;link=http://siedrix.com/node-js-para-webdevelopers&amp;notes=Poco%20a%20poco%20mientras%20voy%20aprendiendo%20un%20poco%20de%20Node%2C%20he%20tratado%20de%20hacer%20paginas%20de%20Internet%20como%20lo%20hago%20en%20Zend%20y%20sumarle%20las%20bondades%20que%20ofrece%20Node%20como%20es%20comet%20y%20web%20sockets%20muy%20facilmente.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=38&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://siedrix.com/node-js-para-webdevelopers/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>10 cosas que aprender del codigo de jQuery</title>
		<link>http://siedrix.com/10-cosas-que-aprender-del-codigo-de-jquery</link>
		<comments>http://siedrix.com/10-cosas-que-aprender-del-codigo-de-jquery#comments</comments>
		<pubDate>Mon, 25 Oct 2010 12:19:04 +0000</pubDate>
		<dc:creator>Siedrix</dc:creator>
				<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://siedrix.com/?p=1168</guid>
		<description><![CDATA[Por un tiempo he usado jQuery y lo he visto como una cosa estatica, sin tomarme la molestia de preguntarme que hay adentro. He aprendido como hacer plug ins para agregar funcionalidades y he aprendido gran cantidad de las funciones del Api. En base a este screencast ha cambiado un poco me manera de ver las cosas y es tiempo de empezar a checar que hay "under the hood".]]></description>
			<content:encoded><![CDATA[<p>Por un tiempo he usado jQuery y lo he visto como una cosa estatica, sin tomarme la molestia de preguntarme que hay adentro. He aprendido como hacer plug ins para agregar funcionalidades y he aprendido gran cantidad de las funciones de <a href="http://api.jquery.com/" target="_blank">api.jquery.com/</a>.</p>
<p>La semana pasada me tope con esta platica de Paul Irish, quien tal vez no sea una persona con la que me gustaria ir a chelear un rato, pero en definitiva lo que dice es bastante util; por lo cual, me tomo mas de una session para completar el video.</p>
<p><iframe src="http://player.vimeo.com/video/12529436" width="550" height="300" frameborder="0"></iframe></p>
<p>En este video ensena muchas cosas utiles, pero creo que lo principal que aprender es el hecho de que el codigo esta ahi, para que lo chequemos y jugemos con el.</p>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center">
<ul class="socials">
		<li class="shr-twitter">
			<a href="http://www.shareaholic.com/api/share/?title=10+cosas+que+aprender+del+codigo+de+jQuery&amp;link=http://siedrix.com/10-cosas-que-aprender-del-codigo-de-jquery&amp;notes=Por%20un%20tiempo%20he%20usado%20jQuery%20y%20lo%20he%20visto%20como%20una%20cosa%20estatica%2C%20sin%20tomarme%20la%20molestia%20de%20preguntarme%20que%20hay%20adentro.%20He%20aprendido%20como%20hacer%20plug%20ins%20para%20agregar%20funcionalidades%20y%20he%20aprendido%20gran%20cantidad%20de%20las%20funciones%20del%20Api.%20En%20base%20a%20este%20screencast%20ha%20cambiado%20un%20poco%20me%20manera%20de%20ver%20las%20cosas%20y%20es%20tiempo%20de%20empezar%20a%20checar%20que%20hay%20%22under%20the%20hood%22.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%2524%257Btitle%257D%2B-%2B%2524%257Bshort_link%257D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a>
		</li>
		<li class="shr-delicious">
			<a href="http://www.shareaholic.com/api/share/?title=10+cosas+que+aprender+del+codigo+de+jQuery&amp;link=http://siedrix.com/10-cosas-que-aprender-del-codigo-de-jquery&amp;notes=Por%20un%20tiempo%20he%20usado%20jQuery%20y%20lo%20he%20visto%20como%20una%20cosa%20estatica%2C%20sin%20tomarme%20la%20molestia%20de%20preguntarme%20que%20hay%20adentro.%20He%20aprendido%20como%20hacer%20plug%20ins%20para%20agregar%20funcionalidades%20y%20he%20aprendido%20gran%20cantidad%20de%20las%20funciones%20del%20Api.%20En%20base%20a%20este%20screencast%20ha%20cambiado%20un%20poco%20me%20manera%20de%20ver%20las%20cosas%20y%20es%20tiempo%20de%20empezar%20a%20checar%20que%20hay%20%22under%20the%20hood%22.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a>
		</li>
		<li class="shr-digg">
			<a href="http://www.shareaholic.com/api/share/?title=10+cosas+que+aprender+del+codigo+de+jQuery&amp;link=http://siedrix.com/10-cosas-que-aprender-del-codigo-de-jquery&amp;notes=Por%20un%20tiempo%20he%20usado%20jQuery%20y%20lo%20he%20visto%20como%20una%20cosa%20estatica%2C%20sin%20tomarme%20la%20molestia%20de%20preguntarme%20que%20hay%20adentro.%20He%20aprendido%20como%20hacer%20plug%20ins%20para%20agregar%20funcionalidades%20y%20he%20aprendido%20gran%20cantidad%20de%20las%20funciones%20del%20Api.%20En%20base%20a%20este%20screencast%20ha%20cambiado%20un%20poco%20me%20manera%20de%20ver%20las%20cosas%20y%20es%20tiempo%20de%20empezar%20a%20checar%20que%20hay%20%22under%20the%20hood%22.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=3&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Digg this!">Digg this!</a>
		</li>
		<li class="shr-facebook">
			<a href="http://www.shareaholic.com/api/share/?title=10+cosas+que+aprender+del+codigo+de+jQuery&amp;link=http://siedrix.com/10-cosas-que-aprender-del-codigo-de-jquery&amp;notes=Por%20un%20tiempo%20he%20usado%20jQuery%20y%20lo%20he%20visto%20como%20una%20cosa%20estatica%2C%20sin%20tomarme%20la%20molestia%20de%20preguntarme%20que%20hay%20adentro.%20He%20aprendido%20como%20hacer%20plug%20ins%20para%20agregar%20funcionalidades%20y%20he%20aprendido%20gran%20cantidad%20de%20las%20funciones%20del%20Api.%20En%20base%20a%20este%20screencast%20ha%20cambiado%20un%20poco%20me%20manera%20de%20ver%20las%20cosas%20y%20es%20tiempo%20de%20empezar%20a%20checar%20que%20hay%20%22under%20the%20hood%22.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a>
		</li>
		<li class="shr-posterous">
			<a href="http://www.shareaholic.com/api/share/?title=10+cosas+que+aprender+del+codigo+de+jQuery&amp;link=http://siedrix.com/10-cosas-que-aprender-del-codigo-de-jquery&amp;notes=Por%20un%20tiempo%20he%20usado%20jQuery%20y%20lo%20he%20visto%20como%20una%20cosa%20estatica%2C%20sin%20tomarme%20la%20molestia%20de%20preguntarme%20que%20hay%20adentro.%20He%20aprendido%20como%20hacer%20plug%20ins%20para%20agregar%20funcionalidades%20y%20he%20aprendido%20gran%20cantidad%20de%20las%20funciones%20del%20Api.%20En%20base%20a%20este%20screencast%20ha%20cambiado%20un%20poco%20me%20manera%20de%20ver%20las%20cosas%20y%20es%20tiempo%20de%20empezar%20a%20checar%20que%20hay%20%22under%20the%20hood%22.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=210&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post this to Posterous">Post this to Posterous</a>
		</li>
		<li class="shr-reddit">
			<a href="http://www.shareaholic.com/api/share/?title=10+cosas+que+aprender+del+codigo+de+jQuery&amp;link=http://siedrix.com/10-cosas-que-aprender-del-codigo-de-jquery&amp;notes=Por%20un%20tiempo%20he%20usado%20jQuery%20y%20lo%20he%20visto%20como%20una%20cosa%20estatica%2C%20sin%20tomarme%20la%20molestia%20de%20preguntarme%20que%20hay%20adentro.%20He%20aprendido%20como%20hacer%20plug%20ins%20para%20agregar%20funcionalidades%20y%20he%20aprendido%20gran%20cantidad%20de%20las%20funciones%20del%20Api.%20En%20base%20a%20este%20screencast%20ha%20cambiado%20un%20poco%20me%20manera%20de%20ver%20las%20cosas%20y%20es%20tiempo%20de%20empezar%20a%20checar%20que%20hay%20%22under%20the%20hood%22.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a>
		</li>
		<li class="shr-slashdot">
			<a href="http://www.shareaholic.com/api/share/?title=10+cosas+que+aprender+del+codigo+de+jQuery&amp;link=http://siedrix.com/10-cosas-que-aprender-del-codigo-de-jquery&amp;notes=Por%20un%20tiempo%20he%20usado%20jQuery%20y%20lo%20he%20visto%20como%20una%20cosa%20estatica%2C%20sin%20tomarme%20la%20molestia%20de%20preguntarme%20que%20hay%20adentro.%20He%20aprendido%20como%20hacer%20plug%20ins%20para%20agregar%20funcionalidades%20y%20he%20aprendido%20gran%20cantidad%20de%20las%20funciones%20del%20Api.%20En%20base%20a%20este%20screencast%20ha%20cambiado%20un%20poco%20me%20manera%20de%20ver%20las%20cosas%20y%20es%20tiempo%20de%20empezar%20a%20checar%20que%20hay%20%22under%20the%20hood%22.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=61&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Submit this to SlashDot">Submit this to SlashDot</a>
		</li>
		<li class="shr-stumbleupon">
			<a href="http://www.shareaholic.com/api/share/?title=10+cosas+que+aprender+del+codigo+de+jQuery&amp;link=http://siedrix.com/10-cosas-que-aprender-del-codigo-de-jquery&amp;notes=Por%20un%20tiempo%20he%20usado%20jQuery%20y%20lo%20he%20visto%20como%20una%20cosa%20estatica%2C%20sin%20tomarme%20la%20molestia%20de%20preguntarme%20que%20hay%20adentro.%20He%20aprendido%20como%20hacer%20plug%20ins%20para%20agregar%20funcionalidades%20y%20he%20aprendido%20gran%20cantidad%20de%20las%20funciones%20del%20Api.%20En%20base%20a%20este%20screencast%20ha%20cambiado%20un%20poco%20me%20manera%20de%20ver%20las%20cosas%20y%20es%20tiempo%20de%20empezar%20a%20checar%20que%20hay%20%22under%20the%20hood%22.&amp;short_link=&amp;shortener=tinyurl&amp;shortener_key=&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=38&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a>
		</li>
</ul><div style="clear: both;"></div><div class="shr-getshr" style="visibility:hidden;font-size:10px !important"><a target="_blank" href="http://www.shareaholic.com/?src=pub">Get Shareaholic</a></div><div style="clear: both;"></div></div>

]]></content:encoded>
			<wfw:commentRss>http://siedrix.com/10-cosas-que-aprender-del-codigo-de-jquery/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

