<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Blog de notas</title>
	<atom:link href="http://javis.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://javis.wordpress.com</link>
	<description>El blog de JaViS</description>
	<lastBuildDate>Fri, 27 Jan 2012 22:41:01 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='javis.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Blog de notas</title>
		<link>http://javis.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://javis.wordpress.com/osd.xml" title="Blog de notas" />
	<atom:link rel='hub' href='http://javis.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Fiesta de fin de año en San Diego</title>
		<link>http://javis.wordpress.com/2007/12/14/fiesta-de-fin-de-ano-en-san-diego/</link>
		<comments>http://javis.wordpress.com/2007/12/14/fiesta-de-fin-de-ano-en-san-diego/#comments</comments>
		<pubDate>Fri, 14 Dec 2007 18:43:24 +0000</pubDate>
		<dc:creator>JaViS</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[job party]]></category>

		<guid isPermaLink="false">http://javis.wordpress.com/2007/12/14/fiesta-de-fin-de-ano-en-san-diego/</guid>
		<description><![CDATA[Actualmente me encuentro en San Diego por trabajo, anoche se celebro la fiesta de fin de año de la empresa a la que me enviaron. Les dejo el extracto del blog interno acerca del tema: &#8220;This year’s IAI holiday party was pretty fun. There was plenty of gambling and appetizers. Jason was all suited up [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javis.wordpress.com&amp;blog=245202&amp;post=48&amp;subd=javis&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Actualmente me encuentro en San Diego por trabajo,  anoche se celebro la fiesta de fin de año de la empresa a la que me enviaron. Les dejo el extracto del blog interno acerca del tema:</p>
<p><em>    &#8220;This year’s IAI holiday party was pretty fun. There was plenty of gambling and appetizers. Jason was all suited up and our Scott looked pimped out. Lee was glued to the Roulette table and was one of the night’s high rollers. I unfortunately lost all my chips at the poker table, how could this have happened? Tommy was the Poker King for most of the night though Greg took Jack’s money at poker, hopefully he still has a job.</em></p>
<p><em>When it was time for the prizes, your remaining chips turned into raffle tickets. Luckily my wife (Erica) had all her chips so we were in the running for some prizes. The restaurant’s microphone was on the fritz so the voice sounded like Darth Vader on crack. The final and biggest prize were premium (super expensive) Chargers vs. Denver tickets which went to the lucky Javier Arias.</em></p>
<p><em>Although I had three Long Island Ice Teas and was kinda buzzed, I do have a vivid memory of having a great time.</em></p>
<p><em>Here are some photos from the IAI Holiday Party.<br />
<a href="http://flickr.com/photos/jnegretti/sets/72157603459133943/">http://flickr.com/photos/jnegretti/sets/72157603459133943/</a></em></p>
<p><em>Sean Dreilinger has a more extensive photo collection.<br />
<a href="http://flickr.com/photos/seandreilinger/sets/72157603452445492/">http://flickr.com/photos/seandreilinger/sets/72157603452445492/</a></em>&#8220;</p>
<p>Porfa perdonen la falta de acentos, tengo un teclado en ingles <img src='http://s2.wp.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/javis.wordpress.com/48/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/javis.wordpress.com/48/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/javis.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/javis.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/javis.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/javis.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/javis.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/javis.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/javis.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/javis.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/javis.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/javis.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/javis.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/javis.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/javis.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/javis.wordpress.com/48/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javis.wordpress.com&amp;blog=245202&amp;post=48&amp;subd=javis&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://javis.wordpress.com/2007/12/14/fiesta-de-fin-de-ano-en-san-diego/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0364c3aabbcde89539f33f1f2c9d1edb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">JaViS</media:title>
		</media:content>
	</item>
		<item>
		<title>Lo que me quedó del BBC</title>
		<link>http://javis.wordpress.com/2007/06/19/lo-que-me-quedo-del-bbc/</link>
		<comments>http://javis.wordpress.com/2007/06/19/lo-que-me-quedo-del-bbc/#comments</comments>
		<pubDate>Tue, 19 Jun 2007 20:22:16 +0000</pubDate>
		<dc:creator>JaViS</dc:creator>
				<category><![CDATA[BBC]]></category>
		<category><![CDATA[Blogs]]></category>
		<category><![CDATA[Córdoba]]></category>
		<category><![CDATA[palm]]></category>

		<guid isPermaLink="false">http://javis.wordpress.com/2007/06/19/lo-que-me-quedo-del-bbc/</guid>
		<description><![CDATA[El jueves pasado se realizo, aquí en la ciudad de Córdoba, el encuentro de bloggers denominado Birras, blogs y cultura, esta vez organizado por la gente de La Voz Del Interior. Como ya deben haber advertido, hace bastante tiempo que tengo descuidado el blog, pero igual fui, invitado por Lucas. &#8220;Your comment is awaiting moderation.&#8221; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javis.wordpress.com&amp;blog=245202&amp;post=43&amp;subd=javis&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal"><span>El jueves pasado se realizo, aquí en la ciudad de Córdoba, el encuentro de bloggers denominado <a href="http://blogsycultura.wordpress.com/">Birras, blogs y cultura</a>, esta vez organizado por la gente de <a href="http://www.lavoz.com.ar/">La Voz Del Interior</a>.</span></p>
<p class="MsoNormal"><span>Como ya deben haber advertido, hace bastante tiempo que tengo descuidado el blog, pero igual fui, invitado por <a href="http://ele-zeta.com.ar/">Lucas</a>. </span></p>
<p class="MsoNormal"><strong><em>&#8220;Your comment is awaiting moderation.&#8221;</em></strong></p>
<p class="MsoNormal"><span>El evento, sin ser gran cosa, fue interesante porque encontró a los blogger corrientes y a los editores del blog institucional de La Voz, en un debate sobre la censura en los comentarios de los post del popular diario cordobés. Los editores se defendieron argumentando que, lejos de censurar, solo moderan aquellos comentarios que pueden llegar a ser causantes de una acción legal contra la empresa, hay numerosos casos en los que los diarios han sido perjudicados por comentarios de sus lectores. </span></p>
<p class="MsoNormal"><span>Sin embargo esto no es del todo cierto, la censura en los diarios existe. Hace un tiempo atrás fui testigo de como el diario Clarín censura, aceptando solo aquellos comentarios que están de acuerdo con la opinión del autor del post, aquellos que no, son descartados y no se publican. El articulo y su <span> </span>contenido en cuestión no vienen al caso, lo que realmente importa es que todos nuestros intentos por expresar nuestro desacuerdo con el mismo fue en vano, ya que fueron censurados sin explicación alguna. </span></p>
<p class="MsoNormal"><span>Volviendo al tema original, estos encuentros resultan amenos, pizza y cerveza mediante, e interesantes. Pero quizás lo más importante es que devuelven las ganas de postear.</span></p>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal"><span>(Ah! Me olvidaba, este es mi primer post escrito íntegramente en <a href="http://www.palm.com/ar/mobilemanagers/lifedrive/">mi nueva Palm</a> ^_^)</span></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/javis.wordpress.com/43/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/javis.wordpress.com/43/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/javis.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/javis.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/javis.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/javis.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/javis.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/javis.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/javis.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/javis.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/javis.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/javis.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/javis.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/javis.wordpress.com/43/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/javis.wordpress.com/43/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/javis.wordpress.com/43/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javis.wordpress.com&amp;blog=245202&amp;post=43&amp;subd=javis&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://javis.wordpress.com/2007/06/19/lo-que-me-quedo-del-bbc/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0364c3aabbcde89539f33f1f2c9d1edb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">JaViS</media:title>
		</media:content>
	</item>
		<item>
		<title>Una Pausa</title>
		<link>http://javis.wordpress.com/2006/12/23/una-pausa/</link>
		<comments>http://javis.wordpress.com/2006/12/23/una-pausa/#comments</comments>
		<pubDate>Sat, 23 Dec 2006 01:19:05 +0000</pubDate>
		<dc:creator>JaViS</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://javis.wordpress.com/2006/12/23/una-pausa/</guid>
		<description><![CDATA[Han pasado dos semanas en que no aparecí por el blog, y es impresionante como caen las visitas cuando no lo actualiza XD Les comento porque no di noticias. La razón principal es que me mudé de casa, ahora vivo en un departamento en el centro de la ciudad de Córdoba, el problema es que [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javis.wordpress.com&amp;blog=245202&amp;post=41&amp;subd=javis&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Han pasado dos semanas en que no aparecí por el blog, y es impresionante como caen las visitas cuando no lo actualiza XD</p>
<p>Les comento porque no di noticias. La razón principal es que me mudé de casa, ahora vivo en un departamento en el centro de la ciudad de Córdoba, el problema es que todavía no me compre una pc y se me complica para andar subiendo cosas desde otra maquina.</p>
<p>Por otro lado, también cambié de trabajo, la empresa donde trabajo ahora se llama <a href="http://www.santexamerica.com/">Santex America</a>, y actualmente me asignaron al equipo que desarrolla <a href="http://www.gosasa.com/">Gosasa</a>.</p>
<p>En estos días tuve que lidiar con <a href="http://domscripting.com/blog/display/91">CrossDomain Ajax</a> (algo por el momento imposible), expresiones regulares y mucho PHP. Todo esta muy interesante. Prometo que apenas pueda me compro una pc nueva, me conecto a Internet y les voy contando las cosas que voy aprendiendo y por donde me voy metiendo en esta odisea que es ser desarrollador <img src='http://s2.wp.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>Nos vemos!</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/javis.wordpress.com/41/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/javis.wordpress.com/41/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/javis.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/javis.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/javis.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/javis.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/javis.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/javis.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/javis.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/javis.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/javis.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/javis.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/javis.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/javis.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/javis.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/javis.wordpress.com/41/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javis.wordpress.com&amp;blog=245202&amp;post=41&amp;subd=javis&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://javis.wordpress.com/2006/12/23/una-pausa/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0364c3aabbcde89539f33f1f2c9d1edb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">JaViS</media:title>
		</media:content>
	</item>
		<item>
		<title>Semántica</title>
		<link>http://javis.wordpress.com/2006/11/27/semantica/</link>
		<comments>http://javis.wordpress.com/2006/11/27/semantica/#comments</comments>
		<pubDate>Mon, 27 Nov 2006 17:23:51 +0000</pubDate>
		<dc:creator>JaViS</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Web development]]></category>

		<guid isPermaLink="false">http://javis.wordpress.com/2006/11/27/semantica/</guid>
		<description><![CDATA[La Web 2.0 es mas que una Internet con paginas bonitas de bordes redondeados gradientes, el propósito real de la Web 2.0 es una web donde los servicios, sobretodo, el contenido de los sitios sea accesible, editable, indexable, desde otros sitios o programas. Un ejemplo claro de esta tendencia es el RSS, o los sitios [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javis.wordpress.com&amp;blog=245202&amp;post=40&amp;subd=javis&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>La Web 2.0 es mas que una Internet con paginas bonitas de bordes redondeados   gradientes, el propósito real de la Web 2.0 es una web donde los servicios, sobretodo, el contenido de los sitios sea accesible, editable, indexable, desde otros sitios o programas. Un ejemplo claro de esta tendencia  es el RSS, o los sitios como Pageflakes, Fliker, etc.</p>
<p>Un aspecto muy importante para la futura WEB 2.0 es la semántica de los sitios.    Pero, ¿que es la semántica?</p>
<p><strong>¿Que es la semántica?</strong></p>
<p>El HTML original fue creado con la intención de proporcionar formato al contenido, cuando, inicialmente, eran documentos de texto. Hoy en día, el formato corre   por cuenta del CSS, sin embargo, siguen existiendo Tags en el (X)HTML, y cada   uno cumple una función especifica, este es su rol semántico, que escapa al   diseño, pero que no por ello deja de ser importante. Es así que el elemento   H1 es utilizado para los títulos principales, P para los párrafos y UL para    las listas, etc.</p>
<p>Términos muy actuales, como Tableless, Divless y <s>Pageless</s>, están estrechamente relacionados con la semántica. Tableless, por ejemplo, significa crear un   sitio siguiendo los estándares, usando código semántico, y hace referencia   a las tablas debido a la mala costumbre de posicionar elementos usando, justamente,    tablas.</p>
<p><strong>¿Porque es importante?</strong></p>
<p>Un documento semánticamente correcto puede ser interpretado por usuarios    no convencionales, es decir, por programas. Google, por ejemplo, cuando indexa    una pagina, busca el significado en los tags, de acuerdo a las recomendaciones    de la W3C. Si el source de tu pagina es semánticamente correcto, puede ser   transformado automáticamente a una versión para WAP manteniendo el contenido   intacto, como lo hacen los servidores de Opera. O incluso, existen programas   al estilo de GoogleNews, que extraen el contenido de otros sitios, eso es,   claramente, a favor de la WEB 2.0.</p>
<p><strong>¿Cuándo es importante?</strong></p>
<p>Esta es una pregunta que no tienen que dejar de hacerse, aun cuando nosotros,    Web Developers, estamos a favor de las nuevas corrientes y al uso de los estándares,    tenemos que entender que la palabra de la W3C no goza de verdad absoluta.</p>
<p>La semántica se aplica a las páginas que son estrictamente <strong>documentos</strong>,    como los de Word o los PDF, pero en formato (X)HTML. Solo en estos casos la   semántica tiene sentido. Aplicaciones web, como gmail, tienen poco de documento   y pretender que sean semánticas es un despropósito.</p>
<p>Ajax, por ejemplo, se vale de tecnologías estándares para crear RIA. Muchas    veces se utilizan elementos por sus propiedades crossbrowsers, su comportamiento    interactivo, pero nunca por su significado semántico En estos casos, ignora   la semántica.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/javis.wordpress.com/40/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/javis.wordpress.com/40/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/javis.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/javis.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/javis.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/javis.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/javis.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/javis.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/javis.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/javis.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/javis.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/javis.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/javis.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/javis.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/javis.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/javis.wordpress.com/40/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javis.wordpress.com&amp;blog=245202&amp;post=40&amp;subd=javis&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://javis.wordpress.com/2006/11/27/semantica/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0364c3aabbcde89539f33f1f2c9d1edb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">JaViS</media:title>
		</media:content>
	</item>
		<item>
		<title>Herencia en Javascript</title>
		<link>http://javis.wordpress.com/2006/11/22/herencia-en-javascript/</link>
		<comments>http://javis.wordpress.com/2006/11/22/herencia-en-javascript/#comments</comments>
		<pubDate>Wed, 22 Nov 2006 00:08:17 +0000</pubDate>
		<dc:creator>JaViS</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Programacion]]></category>

		<guid isPermaLink="false">http://javis.wordpress.com/2006/11/22/herencia-en-javascript/</guid>
		<description><![CDATA[Como en normal en Javascript, hay más de una forma de implementar herencia, esto es debido a que la herencia no es explicita, es emulada. Vamos a ver los dos métodos mas utilizados. Object masquerading Este método hace provecho del comportamiento de la palabra reservada this dentro de las funciones, más específicamente, dentro de los [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javis.wordpress.com&amp;blog=245202&amp;post=39&amp;subd=javis&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Como en normal en Javascript, hay más de una forma de implementar herencia,<br />
esto es debido a que la herencia no es explicita, es emulada. Vamos a ver<br />
los dos métodos mas utilizados.</p>
<h3>Object masquerading</h3>
<p>Este método hace provecho del comportamiento de la palabra reservada <span style="font-size:10pt;color:blue;font-family:'Courier New';">this</span><br />
dentro de las funciones, más específicamente, dentro de los constructores.<br />
El funcionamiento es el siguiente: Un constructor asigna propiedades y métodos<br />
a un objeto referenciándolo con la palabra clave <span style="font-size:10pt;color:blue;font-family:'Courier New';">this</span>, como un constructor es simplemente una función,  se puede usar el constructor de una clase A como método de una clase B.  Tenemos, por ejemplo, el siguiente constructor:</p>
<p><span style="font-size:10pt;color:blue;font-family:'Courier New';"></span><span style="font-size:10pt;font-family:'Courier New';">     <br />
</span><span style="font-size:10pt;color:blue;font-family:'Courier New';"></span><span style="font-size:10pt;font-family:'Courier New';"><font color="#000000">      </font></span>function<span style="font-size:10pt;font-family:'Courier New';"> ClaseA(nombre){</span></p>
<p><span style="font-size:10pt;font-family:'Courier New';">          </span><span style="color:blue;">this</span>.nombre=nombre;</p>
<p><span style="font-size:10pt;font-family:'Courier New';">          </span><span style="color:blue;">this</span>.identificarse=<span style="color:blue;">function</span>(){</p>
<p><span style="font-size:10pt;font-family:'Courier New';">              alert(</span><span style="color:blue;">this</span>.nombre);</p>
<p><span style="font-size:10pt;font-family:'Courier New';">          }</span></p>
<p><span style="font-size:10pt;font-family:'Courier New';">      }</span></p>
<p>Recordemos que en un constructor, <span style="font-size:10pt;color:blue;font-family:'Courier New';">this</span> hace referencia al nuevo objeto que será retornado. Pero en un método, <span style="font-size:10pt;color:blue;font-family:'Courier New';">this</span> hace referencia al objeto desde el cual fue llamado. Analicemos que pasa si lo usamos dentro de otro constructor como en el caso siguiente:</p>
<p><span style="font-size:10pt;font-family:'Courier New';">     <br />
</span><span style="font-size:10pt;color:blue;font-family:'Courier New';"></span><span style="font-size:10pt;font-family:'Courier New';"><font color="#000000">      </font></span>function<span style="font-size:10pt;font-family:'Courier New';"> ClaseB(nombre){</span></p>
<p><span style="font-size:10pt;font-family:'Courier New';">          </span><span style="color:blue;">this</span>.superClase=ClaseA;</p>
<p><span style="font-size:10pt;font-family:'Courier New';">          </span><span style="color:blue;">this</span>.superClase(nombre);</p>
<p><span style="font-size:10pt;font-family:'Courier New';">          </span><span style="color:blue;">delete</span> <span style="color:blue;">this</span>.superClase;</p>
<p><span style="font-size:10pt;font-family:'Courier New';">      }</span></p>
<p>En el código anterior, el constructor &#8216;<span style="font-size:10pt;font-family:'Courier New';">ClaseA&#8217;</span>, es llamado como método del nuevo objeto que se esta creando en &#8216;<span style="font-size:10pt;font-family:'Courier New';">ClaseB&#8217;</span>, por lo tanto, todas las propiedades y métodos que se crean en <span style="font-size:10pt;font-family:'Courier New';">ClaseA</span> se van a agregar al nuevo objeto de <span style="font-size:10pt;font-family:'Courier New';">ClaseB</span>.</p>
<p>Quizás el punto mas interesante del Object masquerading, frente a otros métodos<br />
de emular herencia, es que soporta la <em>herencia múltiple</em>,  esto significa que un objeto puede heredar de mas de una clase al mismo tiempo. Solo basta con llamar a cuantos constructores sean necesarios dentro del constructor de la clase hija.</p>
<h3>Prototype chaining.</h3>
<p>En el post anterior mostré como definir clases utilizando el objeto <span style="font-size:10pt;font-family:'Courier New';">prototype</span><em>.</em> Prototype chaining se basa en este paradigma para implementar herencia de una manera muy interesante.</p>
<p><span style="font-size:10pt;font-family:'Courier New';">Prototype</span> es una propiedad del objeto <span style="font-size:10pt;color:blue;font-family:'Courier New';">Function</span>, que actúa como un template sobre el cual se van a crear nuevos objetos. Mas precisamente, las propiedades y métodos del objeto <span style="font-size:10pt;font-family:'Courier New';">prototype</span> van a ser pasados a todas las instancias de esa clase.</p>
<p>El ejemplo anterior utilizando prototype chaining quedaría de la siguiente manera:</p>
<p><span style="font-size:10pt;font-family:'Courier New';">      </span><span style="font-size:10pt;color:blue;font-family:'Courier New';">function</span><span style="font-size:10pt;font-family:'Courier New';"> ClassA(){          </span></p>
<p><span style="font-size:10pt;font-family:'Courier New';">      }</span></p>
<p><span style="font-size:10pt;font-family:'Courier New';">      ClassA.prototype.nombre = </span><span style="color:maroon;">&#8220;&#8221;</span>;</p>
<p><span style="font-size:10pt;font-family:'Courier New';">      </span><span style="font-size:10pt;font-family:'Courier New';">ClassA.prototype.identificarse = </span><span style="color:blue;">function</span>(){</p>
<p><span style="font-size:10pt;font-family:'Courier New';">          alert(</span><span style="color:blue;">this</span>.nombre);</p>
<p><span style="font-size:10pt;font-family:'Courier New';">      }</span></p>
<p><span style="font-size:10pt;font-family:'Courier New';">      </span><span style="color:blue;">function</span> ClassB(){</p>
<p><span style="font-size:10pt;font-family:'Courier New';">      }     </span></p>
<p><span style="font-size:10pt;font-family:'Courier New';">      ClassB.prototype = </span><span style="color:blue;">new</span> ClassA();</p>
<p>La última línea del ejemplo muestra el funcionamiento del prototype chaining. Lo que ocurre es que asignamos al prototipo de &#8216;<span style="font-size:10pt;font-family:'Courier New';">ClassB&#8217; </span>una nueva instancia de &#8216;<span style="font-size:10pt;font-family:'Courier New';">ClassA&#8217;</span>.<br />
De ahora en adelante, todos los objetos creados con &#8216;<span style="font-size:10pt;font-family:'Courier New';">ClassB&#8217;</span> van a tener, también, los mismos métodos y propiedades de la instancia de &#8216;<span style="font-size:10pt;font-family:'Courier New';">ClassA&#8217;</span>. Y si queremos agregar mas métodos y propiedades, lo único que tenemos que hacer es agregárselos al <span style="font-size:10pt;font-family:'Courier New';">prototype</span><br />
de &#8216;<span style="font-size:10pt;font-family:'Courier New';">ClassB&#8217;</span>.</p>
<p>Lo malo de este método para emular herencia, es que no se puede pasar parámetros<br />
a la clase base, como hicimos en el ejemplo de Object masquerading.</p>
<p>Lo bueno,  es que el operador <span style="font-size:10pt;color:blue;font-family:'Courier New';">instanceof </span>funciona de una manera única: por cada instancia de <span style="font-size:10pt;font-family:'Courier New';">ClaseB</span>, <span style="font-size:10pt;color:blue;font-family:'Courier New';">instanceof</span> nos retorna <span style="font-size:10pt;font-family:'Courier New';">true</span> tanto con &#8216;<span style="font-size:10pt;font-family:'Courier New';">ClaseA&#8217;</span> como con &#8216;<span style="font-size:10pt;font-family:'Courier New';">ClaseB&#8217;</span>:</p>
<p><span style="font-size:10pt;font-family:'Courier New';">    </span><span style="color:blue;">var</span> miobjeto = <span style="color:blue;">new</span> ClassB();  </p>
<p><span style="font-size:10pt;font-family:'Courier New';">    alert(miobjeto </span><span style="color:blue;">instanceof </span>ClassB); <span style="color:green;">// true</span></p>
<p><span style="font-size:10pt;font-family:'Courier New';">    alert(miobjeto </span><span style="color:blue;">instanceof</span> ClassA); <span style="color:green;">// true</span></p>
<h3>Conclusión</h3>
<p>Estos son solo 2 de las formas utilizadas para emular herencia en Javascript, quizás las más difundidas. Personalmente prefiero el prototype chaining, porque es la recomendada por el Standard ECMA Script, y por el funcionamiento del operador <span style="font-size:10pt;color:blue;font-family:'Courier New';">instanceof</span>,<br />
que permite tener un poco mas de control sobre los objetos, algo que se agradece<br />
muchísimo en un lenguaje tan poco tipeado como Javascript. Sin embargo, los<br />
dos métodos son igual de eficaces y cada uno tiene sus ventajas y desventajas,<br />
por lo que la decisión de cual usar, esta en el programador.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/javis.wordpress.com/39/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/javis.wordpress.com/39/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/javis.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/javis.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/javis.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/javis.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/javis.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/javis.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/javis.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/javis.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/javis.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/javis.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/javis.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/javis.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/javis.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/javis.wordpress.com/39/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javis.wordpress.com&amp;blog=245202&amp;post=39&amp;subd=javis&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://javis.wordpress.com/2006/11/22/herencia-en-javascript/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0364c3aabbcde89539f33f1f2c9d1edb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">JaViS</media:title>
		</media:content>
	</item>
		<item>
		<title>Adobe abre el código fuente de su motor Javascript</title>
		<link>http://javis.wordpress.com/2006/11/10/adobe-abre-el-codigo-fuente-de-su-motor-javascript/</link>
		<comments>http://javis.wordpress.com/2006/11/10/adobe-abre-el-codigo-fuente-de-su-motor-javascript/#comments</comments>
		<pubDate>Fri, 10 Nov 2006 00:00:00 +0000</pubDate>
		<dc:creator>JaViS</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Programacion]]></category>

		<guid isPermaLink="false">http://javis.wordpress.com/2006/11/10/adobe-abre-el-codigo-fuente-de-su-motor-javascript/</guid>
		<description><![CDATA[Quizás la noticia mas importante de la semana en lo que refiere al universo del desarrollo web fue que Abobe va a subir el código fuente de Tamarin, el motor Javascript usado en Flash, a la fundación Mozilla para convertirlo en Open Source. Podemos esperar, entonces, que las próximas versiones de Firefox lo utilicen. ¿Porque [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javis.wordpress.com&amp;blog=245202&amp;post=38&amp;subd=javis&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Quizás la noticia mas importante de la semana en lo que refiere al universo del desarrollo web fue <a href="http://www.adobe.com/aboutadobe/pressroom/pressreleases/200611/110706Mozilla.html">que Abobe va a subir el código fuente de Tamarin</a>, el motor Javascript usado en Flash, a la fundación Mozilla para convertirlo en Open Source. Podemos esperar, entonces, que las próximas versiones de Firefox lo utilicen.</p>
<p>¿Porque esto es importante?. Porque Tamarin es un compilador JIT, no un interprete, esto significa que produce un bytecode de maquina y luego lo ejecuta, en lugar de interpretar la sintaxis en el momento de la ejecución. La ventaja de esto es la gran velocidad en la que se corre el código en Javascript, que ya esta demostrada en muchos benchmarks.</p>
<p>Vamos a ver como responden los browsers de aquí en adelante a esta iniciativa</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/javis.wordpress.com/38/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/javis.wordpress.com/38/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/javis.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/javis.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/javis.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/javis.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/javis.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/javis.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/javis.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/javis.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/javis.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/javis.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/javis.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/javis.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/javis.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/javis.wordpress.com/38/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javis.wordpress.com&amp;blog=245202&amp;post=38&amp;subd=javis&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://javis.wordpress.com/2006/11/10/adobe-abre-el-codigo-fuente-de-su-motor-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0364c3aabbcde89539f33f1f2c9d1edb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">JaViS</media:title>
		</media:content>
	</item>
		<item>
		<title>Jamiroquai Live at London Jazz Cafe</title>
		<link>http://javis.wordpress.com/2006/10/26/jamiroquai-live-at-london-jazz-cafe/</link>
		<comments>http://javis.wordpress.com/2006/10/26/jamiroquai-live-at-london-jazz-cafe/#comments</comments>
		<pubDate>Thu, 26 Oct 2006 00:00:00 +0000</pubDate>
		<dc:creator>JaViS</dc:creator>
				<category><![CDATA[jamiroquai]]></category>
		<category><![CDATA[Musica]]></category>

		<guid isPermaLink="false">http://javis.wordpress.com/1969/12/31/jamiroquai-live-at-london-jazz-cafe/</guid>
		<description><![CDATA[Ayer Jamiroquai dio un concierto inolvidable en el Jazz Café de Londres, como parte de la Serie de eventos BBC Electric Proms. El concierto se escuchó por la BBC Radio 1Xtra y se podrá ver por televisión en el canal BBC Three el Sabado 28. La lista de temas fue: High Times Space Cowboy If [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javis.wordpress.com&amp;blog=245202&amp;post=37&amp;subd=javis&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ayer Jamiroquai  dio un concierto inolvidable en el Jazz Café de Londres, como parte de la Serie de eventos BBC Electric Proms. El concierto se escuchó por la BBC Radio 1Xtra y se podrá ver por televisión en el canal BBC Three el Sabado 28.</p>
<p>La lista de temas fue:</p>
<ul><span style="font-family:Times New Roman;font-size:12px;"></p>
<li>High Times</li>
<li>Space Cowboy</li>
<li>If I Like It I Just Do</li>
<li>Emergency On Planet Earth</li>
<li>Seven Days In Sunny June</li>
<li>Black Capricorn Day</li>
<li>Canned Heat</li>
<li>Use The Force</li>
<li>Travelling Without Moving</li>
<li>Runaway</li>
<li>Virtual Insanity</li>
<p></span></ul>
<p>En este <a href="http://www.jamirotalk.net/forum/viewtopic.php?t=5705&amp;postdays=0&amp;postorder=asc&amp;start=180&amp;sid=ae2b467d8523223c769775963b2d6db9">post del foro Jamirotalk</a>, los fans recopilaron una lista de direcciones en donde se van a poder bajar los temas en mp3 y el video del show en formato AVI. Realmente lo recomiendo porque tiene una excelente calidad.</p>
<p>Un abrazo!</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/javis.wordpress.com/37/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/javis.wordpress.com/37/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/javis.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/javis.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/javis.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/javis.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/javis.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/javis.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/javis.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/javis.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/javis.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/javis.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/javis.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/javis.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/javis.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/javis.wordpress.com/37/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javis.wordpress.com&amp;blog=245202&amp;post=37&amp;subd=javis&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://javis.wordpress.com/2006/10/26/jamiroquai-live-at-london-jazz-cafe/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0364c3aabbcde89539f33f1f2c9d1edb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">JaViS</media:title>
		</media:content>
	</item>
		<item>
		<title>JavaScript Orientado a Objetos</title>
		<link>http://javis.wordpress.com/2006/10/23/javascript-orientado-a-objetos/</link>
		<comments>http://javis.wordpress.com/2006/10/23/javascript-orientado-a-objetos/#comments</comments>
		<pubDate>Mon, 23 Oct 2006 00:00:00 +0000</pubDate>
		<dc:creator>JaViS</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Programacion]]></category>

		<guid isPermaLink="false">http://javis.wordpress.com/1969/12/31/javascript-orientado-a-objetos/</guid>
		<description><![CDATA[JavaScript es un lenguaje orientado a objetos, pero no es muy fácil comprenderlo en este aspecto. A pesar de la sintaxis y el nombre, la forma en que JavaScript implementa objetos es bastante diferente al que conocemos de C++ o Java, esto suele llevar a la confusión. Mi intención es describir como es que se [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javis.wordpress.com&amp;blog=245202&amp;post=36&amp;subd=javis&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>JavaScript es un lenguaje orientado a objetos, pero no es muy fácil comprenderlo en este aspecto. A pesar de la sintaxis y el nombre, la forma en que JavaScript implementa objetos es bastante diferente al que conocemos de C++ o Java, esto suele llevar a la confusión. Mi intención es describir como es que se trabaja con OOP en JavaScript intentando no confundir al compararlo con otros lenguajes.</p>
<p><strong>Creación de Objetos</strong></p>
<p>En JavaScript, todas las variables hacen referencia a objetos, no existe nada en este lenguaje  que no sea un objeto, lo son todos los tipos de datos e inclusive las funciones, que pueden contener propiedades y métodos.</p>
<p>Para crear un objeto desde cero basta con hacer:</p>
<p><span style="font-family:Courier New;">miobjeto = </span><span style="color:blue;">new</span> Object();</p>
<p>Lo que equivale a hacer:</p>
<p><span style="font-family:Courier New;">miobjeto = {};</span></p>
<p>La primera forma de declarar un objeto les puede resultar familiar, la segunda hace uso de una característica propia del lenguaje para declarar estructuras de datos. Todos los tipos de datos pueden declararse de las dos maneras, por ejemplo, una cadena de texto se declara:<span style="font-family:Courier New;">micadena = </span><span style="color:blue;">new</span> String();</p>
<p>Y de la forma declarativa:<span style="font-family:Courier New;">micadena = </span><span style="color:maroon;">&#8220;&#8221;</span>;</p>
<p>Un array se declara:<span style="font-family:Courier New;">miarray = </span><span style="color:blue;">new</span> Array();</p>
<p>Ó también:<span style="font-family:Courier New;">miarray = [];</span></p>
<p>Esta forma de declarar objetos es muy útil en algunos casos y es la base del intercambio de mensajes mediante el estándar JSON.</p>
<p><strong>Agregar miembros</strong></p>
<p>Javascript es un lenguaje dinámico, esto posibilita la modificación de los objetos en tiempo de ejecución, esto quiere decir que a un objeto, luego de ser creado, se le pueden agregar o eliminar métodos y propiedades.</p>
<p>Para agregar miembros al objeto creado anteriormente solo basta con declararlo y asignarle algún valor.</p>
<p><span style="font-family:Courier New;">miobjeto.variable = </span><span style="color:maroon;">&#8220;hola&#8221;</span>;</p>
<p><span style="font-family:Courier New;">miobjeto.metodo = </span><span style="color:blue;">new</span> Function();</p>
<p>Listo, ya disponemos de un objeto personalizado creado desde cero, de este modo se pueden agregar mas miembros de cualquier tipo a nuestro objeto. Sin embargo, crear objetos de esta manera no es muy cómodo, ya que si quisiéramos crear una copia de este objeto deberíamos declarar nuevamente todos sus miembros, debido a que este objeto no se puede instanciar.</p>
<p><strong>Creando ‘Clases’ en JavaScript</strong></p>
<p>La forma en que los lenguajes orientados a objetos comúnmente resuelven el problema anterior es mediante el uso de Clases, en JavaScript no es posible declarar Clases, pero si es posible instanciar objetos a partir de un constructor.</p>
<p>El objeto <strong>Function</strong> es utilizado como objeto instanciable en JavaScript, y el cuerpo de la función es el constructor del nuestros objetos. Una vez que tenemos un constructor, podemos llamarlo con el operador <strong>new</strong>.</p>
<p><span style="font-family:Courier New;"></span><span style="color:green;">/*clase de ejemplo*/<br />
</span></p>
<p>miClase = <span style="color:blue;">new</span> Function();</p>
<p>nuevoObjeto = <span style="color:blue;">new</span> miClase(); <span style="color:green;">// instanciamos &#8216;miClase&#8217;<br />
</span></p>
<p>El método mas difundido para emular las clases en JavaScript es aprovechar el funcionamiento de la palabra clave <strong>this</strong> dentro de los constructores. Cuándo una función es llamada con el operador <strong>new</strong>, <strong>this</strong> hace referencia al objeto que será retornado. Veamos como funciona.</p>
<p><span style="font-family:Courier New;"></span><span style="color:green;">/*clase de ejemplo*/<br />
</span></p>
<p>miClase = <span style="color:blue;">function</span>(){</p>
<p><span style="color:green;">/*<br />
</span></p>
<p><span style="color:green;">     agregamos miembros dinamicamente<br />
</span></p>
<p><span style="color:green;">     al objeto que será retornado<br />
</span></p>
<p><span style="color:green;">    */<br />
</span></p>
<p><span style="color:blue;">this</span>.propiedad = <span style="color:maroon;">&#8220;hola!&#8221;</span>;</p>
<p><span style="color:blue;">this</span>.metodo = <span style="color:blue;">function</span>(){</p>
<p><span style="color:green;">/* aqui &#8216;this&#8217; hace referencia al objeto al que pertenece el metodo */<br />
</span></p>
<p>alert(<span style="color:blue;">this</span>.propiedad);</p>
<p>}</p>
<p>}</p>
<p><span style="font-family:Courier New;">nuevoObjeto = </span><span style="color:blue;">new</span> miClase(); <span style="color:green;">// instanciamos &#8216;miClase&#8217;<br />
</span></p>
<p>Ahora, ‘nuevoObjeto’ va a referenciar al objeto que se retornó cuando se llamó a ‘miClase’ usando el operador <strong>new</strong>, por lo tanto, va a tener todas las propiedades y metodos que se crearon dentro del constructor.</p>
<p>El problema de esta forma de crear clases es que cada vez que la función ‘miClase’ es llamada, se crea una nueva función llamada ‘metodo’, de modo que cada objeto tiene su propia versión de ‘metodo’ cuando, en realidad, todos los objetos deberían compartir la misma función.</p>
<p><strong>La propiedad ‘Prototype’</strong></p>
<p>Todas las funciones tienen una propiedad llamada <strong>prototype</strong>, esta propiedad es un objeto que será utilizado como ‘modelo’ inicial de todos los objetos que sean creados con esta función cuando sea utilizada como constructor.</p>
<p>Inicialmente esta propiedad es un objeto vacío, pero debemos modificarla para aprovechar esta característica del lenguaje. Reescribiendo el ejemplo anterior el código quedaría así:</p>
<p><span style="font-family:Courier New;"></span><span style="color:green;">/* creamos un constructor limpio */<br />
</span></p>
<p>miClase = <span style="color:blue;">new</span> Function();</p>
<p>miClase.prototype.propiedad = <span style="color:maroon;">&#8220;hola!&#8221;</span>;</p>
<p>miClase.prototype.metodo = <span style="color:blue;">function</span>(){</p>
<p><span style="color:green;">/* aqui &#8216;this&#8217; hace referencia al objeto al que pertenece el metodo */<br />
</span></p>
<p>alert(<span style="color:blue;">this</span>.propiedad);</p>
<p>}</p>
<p><span style="font-family:Courier New;">nuevoObjeto = </span><span style="color:blue;">new</span> miClase(); <span style="color:green;">// instanciamos &#8216;miClase&#8217;</span></p>
<p>Ahora todos los objetos creados a partir de ‘miClase’ compartirán inicialmente las mismas referencias en todas sus propiedades, esto significa que, todos los objetos van a compartir la misma versión de ‘metodo’.</p>
<p>Adicionalmente, al utilizar la propiedad <strong>prototype</strong>, obtenemos otra ventaja, podemos usar la palabra reservada <strong>instanceof</strong>. Vemos como se usa si escribimos:<span style="font-family:Courier New;">alert(nuevoObjeto </span><span style="color:blue;">instanceof</span> miClase) <span style="color:green;">// muestra &#8216;true&#8217;</span></p>
<p>El problema del uso de <strong>prototype</strong>, es que <strong>todas</strong> las propiedades hacen referencia a las mismas del prototipo, por lo que si modificamos estos objetos se van a modificar también en todos los objetos creados con esta clase. En siguiente ejemplo cambiamos nuestra propiedad a un array para poder modificarla sin cambiar nuestra referencia, de modo que podamos ver lo que explico con un ejemplo:</p>
<p><span style="font-family:Courier New;"></span><span style="color:green;">/* creamos un constructor limpio */<br />
</span></p>
<p>miClase = <span style="color:blue;">new</span> Function();</p>
<p>miClase.prototype.propiedad = <span style="color:blue;">new</span> Array(<span style="color:maroon;">&#8220;hola&#8221;</span>,<span style="color:maroon;">&#8220;hello&#8221;</span>);</p>
<p>miClase.prototype.metodo = <span style="color:blue;">function</span>(){</p>
<p><span style="color:green;">/* aqui &#8216;this&#8217; hace referencia al objeto al que pertenece el metodo */<br />
</span></p>
<p>alert(<span style="color:blue;">this</span>.propiedad);</p>
<p>}</p>
<p>nuevoObjeto = <span style="color:blue;">new</span> miClase(); <span style="color:green;">// instanciamos &#8216;miClase&#8217;<br />
</span></p>
<p>otroObjeto = <span style="color:blue;">new</span> miClase(); <span style="color:green;">// instanciamos &#8216;miClase&#8217;</span></p>
<p>nuevoObjeto.propiedad.push(<span style="color:maroon;">&#8220;olá&#8221;</span>);</p>
<p><span style="font-family:Courier New;">otroObjeto.metodo(); </span><span style="color:green;">// muestra &#8220;hola&#8221;,&#8221;hello&#8221;,&#8221;olá&#8221;</span></p>
<p>Como pueden ver en el ejemplo anterior, ‘nuevoObjeto’ y ‘otroObjeto’ hacen referencia al mismo array, para solucionar este problema solo debemos asignar un objeto diferente a cada propiedad de nuestros objetos. El constructor es un buen lugar para realizar esta tarea:</p>
<p><span style="font-family:Courier New;">miClase = </span><span style="color:blue;">function</span>(){</p>
<p><span style="color:blue;">this</span>.propiedad = <span style="color:blue;">new</span> Array(<span style="color:maroon;">&#8220;hola&#8221;</span>,<span style="color:maroon;">&#8220;hello&#8221;</span>); <span style="color:green;">// reemplazamos el valor de nuestra propiedad con un nuevo objeto<br />
</span></p>
<p>};</p>
<p>miClase.prototype.propiedad = <span style="color:blue;">new</span> Array(<span style="color:maroon;">&#8220;hola&#8221;</span>,<span style="color:maroon;">&#8220;hello&#8221;</span>);</p>
<p>miClase.prototype.metodo = <span style="color:blue;">function</span>(){</p>
<p><span style="color:green;">/* aqui &#8216;this&#8217; hace referencia al objeto al que pertenece el metodo */<br />
</span></p>
<p>alert(<span style="color:blue;">this</span>.propiedad);</p>
<p>}</p>
<p>nuevoObjeto = <span style="color:blue;">new</span> miClase(); <span style="color:green;">// instanciamos &#8216;miClase&#8217;<br />
</span></p>
<p>otroObjeto = <span style="color:blue;">new</span> miClase(); <span style="color:green;">// instanciamos &#8216;miClase&#8217;</span></p>
<p>nuevoObjeto.propiedad.push(<span style="color:maroon;">&#8220;olá&#8221;</span>);</p>
<p><span style="font-family:Courier New;">otroObjeto.metodo(); </span><span style="color:green;">// muestra &#8220;hola&#8221;,&#8221;hello&#8221; <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </span></p>
<p>Listo, tenemos clase y tenemos objetos que funcionan bien. Espero que les haya resultado claro, en el próximo post voy a explicar el mecanismo de la herencia en JavaScript (si!!, se puede!!). Hasta entonces.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/javis.wordpress.com/36/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/javis.wordpress.com/36/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/javis.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/javis.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/javis.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/javis.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/javis.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/javis.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/javis.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/javis.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/javis.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/javis.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/javis.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/javis.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/javis.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/javis.wordpress.com/36/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javis.wordpress.com&amp;blog=245202&amp;post=36&amp;subd=javis&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://javis.wordpress.com/2006/10/23/javascript-orientado-a-objetos/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0364c3aabbcde89539f33f1f2c9d1edb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">JaViS</media:title>
		</media:content>
	</item>
		<item>
		<title>El mundo no es de color de rosa</title>
		<link>http://javis.wordpress.com/2006/10/10/el-mundo-no-es-de-color-de-rosa/</link>
		<comments>http://javis.wordpress.com/2006/10/10/el-mundo-no-es-de-color-de-rosa/#comments</comments>
		<pubDate>Tue, 10 Oct 2006 17:05:14 +0000</pubDate>
		<dc:creator>JaViS</dc:creator>
				<category><![CDATA[Opinión]]></category>
		<category><![CDATA[Programacion]]></category>

		<guid isPermaLink="false">http://javis.wordpress.com/2006/10/10/el-mundo-no-es-de-color-de-rosa/</guid>
		<description><![CDATA[Yo no trabajé 7 años en esto todavía, pero hay cosas que se aprenden rápido: ·         El departamento de informática de cualquier empresa siempre será uno de los peor considerados, ya que no genera beneficios sino sólo pérdidas. No esperes que te paguen las horas extra, así que no las hagas. ·         Si te prometen [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javis.wordpress.com&amp;blog=245202&amp;post=32&amp;subd=javis&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal"><span>Yo no trabajé 7 años en esto todavía, pero hay cosas que se aprenden rápido:</span></p>
<ul>
<li><!--[if !supportLists]--><span style="font-family:Symbol;"></span><span>·</span><span>         </span><!--[endif]--><span>El departamento de informática de cualquier empresa siempre será uno de los peor considerados, ya que no genera beneficios sino sólo pérdidas. No esperes que te paguen las horas extra, así que no las hagas.</span></li>
</ul>
<ul>
<li><!--[if !supportLists]--><span style="font-family:Symbol;"></span><span>·</span><span>         </span><!--[endif]--><span>Si te prometen darte días libres por quedarte un fin de semana nunca te darán un jueves y un viernes seguidos, sino dos martes. Si entiendes que este trato no te interesa, harías bien en no quedarte ese fin de semana antes de que llegaran esos martes.</span></li>
</ul>
<ul>
<li><!--[if !supportLists]--><span style="font-family:Symbol;"></span><span>·</span><span>         </span><!--[endif]--><span>Nunca te dirán claramente que hagas horas extra.</span></li>
</ul>
<ul>
<li><!--[if !supportLists]--><span style="font-family:Symbol;"></span><span>·</span><span>         </span><!--[endif]--><span>Si no haces horas extra, no pasará nada.</span></li>
</ul>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span>Solo algunas ideas sacadas de “</span><span><a href="http://www.asinorum.com/blog/2006/03/las_siete_lecciones.html">Las siete lecciones que aprendí tras siete años de experiencia laboral</a>”.</span></p>
<p class="MsoNormal"><span>Yo resalté estas porque mi experiencia laboral me enseñó que, por hacer horas extras y preocuparme por problemas de otros fuera de mi horario laboral, no gané absolutamente <strong>nada</strong>. De hecho, perdí valiosas oportunidades de pasar ratos lindos con la gente que quiero.</span></p>
<p class="MsoNormal"><span>Para tener en cuenta..</span><span></span></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/javis.wordpress.com/32/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/javis.wordpress.com/32/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/javis.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/javis.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/javis.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/javis.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/javis.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/javis.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/javis.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/javis.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/javis.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/javis.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/javis.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/javis.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/javis.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/javis.wordpress.com/32/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javis.wordpress.com&amp;blog=245202&amp;post=32&amp;subd=javis&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://javis.wordpress.com/2006/10/10/el-mundo-no-es-de-color-de-rosa/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0364c3aabbcde89539f33f1f2c9d1edb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">JaViS</media:title>
		</media:content>
	</item>
		<item>
		<title>Cooperator Framework</title>
		<link>http://javis.wordpress.com/2006/10/03/cooperator-framework/</link>
		<comments>http://javis.wordpress.com/2006/10/03/cooperator-framework/#comments</comments>
		<pubDate>Tue, 03 Oct 2006 17:27:48 +0000</pubDate>
		<dc:creator>JaViS</dc:creator>
				<category><![CDATA[Cooperator]]></category>
		<category><![CDATA[Programacion]]></category>

		<guid isPermaLink="false">http://javis.wordpress.com/2006/10/03/cooperator-framework/</guid>
		<description><![CDATA[Hace un tiempo que vengo usando la versión del SVN de Cooperator Framework, mientras lo pruebo, voy ayudando al grupo de desarrollo comunicándole los bugs que encuentro y dando alguna que otra sugerencia. Creo que el estado actual del framework permite que los desarrolladores lo vayan probando y conociendo. El motivo de este post es [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javis.wordpress.com&amp;blog=245202&amp;post=31&amp;subd=javis&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal"><span>Hace un tiempo que vengo usando la versión del SVN de Cooperator Framework, mientras lo pruebo, voy ayudando al grupo de desarrollo comunicándole los bugs que encuentro y dando alguna que otra sugerencia. Creo que el estado actual del framework permite que los desarrolladores lo vayan probando y conociendo. El motivo de este post es hacerlo público y que la gente se entere de que se trata y para que sirve.</span></p>
<p class="MsoNormal"><strong><span> </span></strong></p>
<p class="MsoNormal"><strong><span>¿Que es?</span></strong><span></span></p>
<p><a href="http://cooperator.com.ar/">Cooperator Framework</a> es un conjunto de herramientas y librerías que agilizan el desarrollo de aplicaciones en <strong>Microsoft .Net Framework 2.0</strong>, distribuido bajo licencia <strong>Open Source</strong>.<!--[if !supportLineBreakNewLine]--><br />
<!--[endif]--></p>
<p class="MsoNormal"><span>La tarea principal que desempeña esta herramienta es el mapeo de objetos sobre una base de datos relacional, caracterizándose por la generación semiautomática de las clases a partir del modelo que obtiene accediendo a la Base de datos.</span></p>
<p>Este framework fue desarrollado con el objetivo de lograr un modelo 100% orientado a objetos, facilitándole el camino a quienes todavía están condicionados por el modelo relacional.</p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span>Para personalizar el código a generar, el Framework dispone de una herramienta llamada <strong>Cooperator Modeller</strong>, que permite seleccionar las clases que van a generarse y editar sus características, también, permite generar el código en el lenguaje que prefiera el programador, ya que se vale de Scripts de generación para realizar esta tarea. El modelo resultante puede ser guardado y editado posteriormente, ayudando al mantenimiento y crecimiento del sistema, y el código generado es extensible mediante el uso de clases parciales.</span></p>
<p class="MsoNormal">Una de las base de diseño del Framework<span>  </span>que no utiliza Datasets ni Reflexion, y que las clases de persistencia y recuperación de objetos devuelven un tipo especifico y no un tipo genérico u ‘Object’. Estos objetos aprovechan las nuevas características de .Net Framework 2.0, como Generics, evitan el acoplamiento implementando Interfaces y<span>  </span>se pueden enlazar a controles de formularios, tanto Windows como Web.<br />
<span><br />
<strong>El código generado<!--[if !supportLineBreakNewLine]--><br />
<!--[endif]--></strong></span>
</p>
<p class="MsoNormal"><span>Los grupos de clases generados por Cooperator son, a grandes rasgos,</span><span>  </span><strong>Rows, Gateways, Entitys y Mappers</strong>.</p>
<p>Las clases del grupo <strong>Rows</strong> son una por cada tabla de la base de datos y representan un registro de la<span>  </span>misma. A cada una le corresponde una clase del tipo <strong>Rowset</strong> que representa un grupo de Rows. Ambas, Row y Rowset, son cargadas y guardadas en base de datos por su correspondiente <strong>Gateway</strong>, que ejecuta stores procedures en llamadas a sus métodos para realizar las tareas de mapeo.</p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span>Las clases del grupo <strong>Entitys</strong> </span><span> </span>heredan de Rows y las extienden con propiedades de los tipos generados por el Framework. Dependiendo de las relaciones de las tablas en la  Base de Datos, estas van a ser un objeto o una colección de objetos, y van a representar una relación simple, o una agregación a la Entidad, esto es bastante importantes de entender e identificar, ya que los <strong>Mappers</strong>, objetos encargados de realizar las tareas de mapeo de Entitys, cambian su comportamiento con respecto a estas propiedades dependiendo de lo que representan conceptualmente.</p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><strong><span>Más allá del Mapeo</span></strong></p>
<p class="MsoNormal"><span> </span></p>
<p class="MsoNormal"><span>Además de las funciones de <strong>ORM</strong>, Cooperator posiblita trabajar con <strong><a href="http://www.martinfowler.com/eaaCatalog/unitOfWork.html">Units of Works</a></strong> e implementa herramientas de seguridad y de validación de datos. </span></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/javis.wordpress.com/31/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/javis.wordpress.com/31/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/javis.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/javis.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/javis.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/javis.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/javis.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/javis.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/javis.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/javis.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/javis.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/javis.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/javis.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/javis.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/javis.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/javis.wordpress.com/31/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javis.wordpress.com&amp;blog=245202&amp;post=31&amp;subd=javis&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://javis.wordpress.com/2006/10/03/cooperator-framework/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0364c3aabbcde89539f33f1f2c9d1edb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">JaViS</media:title>
		</media:content>
	</item>
	</channel>
</rss>
