<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Yo, programador</title>
	
	<link>http://albertovilches.com</link>
	<description>El pequeño Weblog de Alberto Vilches</description>
	<lastBuildDate>Sun, 01 Nov 2009 11:40:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/albertovilches" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Emulador de Gameboy en Javascript</title>
		<link>http://feedproxy.google.com/~r/albertovilches/~3/JWhtzS75l8I/emulador-de-gameboy-en-javascript</link>
		<comments>http://albertovilches.com/emulador-de-gameboy-en-javascript#comments</comments>
		<pubDate>Sun, 01 Nov 2009 11:40:01 +0000</pubDate>
		<dc:creator>Alberto Vilches</dc:creator>
				<category><![CDATA[Juegos]]></category>
		<category><![CDATA[emulador]]></category>
		<category><![CDATA[gameboy]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://albertovilches.com/?p=665</guid>
		<description><![CDATA[En JSGB 0.02 podéis encontrar un completo emulador de Gameboy que Pedro Ladaria ha programado integramente en Javascript y Html5. Contiene un depurador y el código fuente completo de todo el proyecto lo podéis ver y descargar investigando simplemente el html de la página. Para que funcione rápido se recomiendo Google Chrome.
Se incluyen los juegos [...]]]></description>
			<content:encoded><![CDATA[<p>En <a href="http://www.codebase.es/jsgb/">JSGB 0.02</a> podéis encontrar un completo emulador de Gameboy que Pedro Ladaria ha programado integramente en Javascript y Html5. Contiene un depurador y el código fuente completo de todo el proyecto lo podéis ver y descargar investigando simplemente el html de la página. Para que funcione rápido se recomiendo Google Chrome.<br />
<div id="attachment_668" class="wp-caption aligncenter" style="width: 344px"><a href="http://www.codebase.es/jsgb/"><img src="http://albertovilches.com/wp-content/uploads/gb.png" alt="Mario Land" title="gb" width="334" height="303" class="size-full wp-image-668" /></a><p class="wp-caption-text">Mario Land</p></div></p>
<p>Se incluyen los juegos Mario Land, Tetris, Dr. Mario, Bomberman, Kirby&#8217;s Dream Land, Space Invaders, Motocross Maniacs, Bomb Jack, Bubble Ghost, Boxxle 2, Drop Zone, Castelian, Serpent y Centipede.</p>
<p>(Vía: <a href="http://www.pixfans.com/emulador-de-game-boy-programado-completamente-en-javascript/">pixfans</a>)</p>
<p>Otros posts de juegos programados en Javascript:</p>
<ul>
<li><a href="http://albertovilches.com/un-tetris-en-560bytes">Un Tetris en 560 bytes</a></li>
<li><a href="http://albertovilches.com/leisure-suit-larry-y-todos-los-juegos-de-sierra-con-canvas-html">Leisure Suit Larry y todos los juegos de Sierra con canvas HTML</a></li>
<li><a href="http://albertovilches.com/algoritmo-de-ajedrez-en-solo-5kb">Alogritmo de ajedrez en 5kb</a></li>
</ul>
<img src="http://albertovilches.com/?ak_action=api_record_view&id=665&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/tVVOGg5eeu7v46upx_RoY23yMKI/0/da"><img src="http://feedads.g.doubleclick.net/~a/tVVOGg5eeu7v46upx_RoY23yMKI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/tVVOGg5eeu7v46upx_RoY23yMKI/1/da"><img src="http://feedads.g.doubleclick.net/~a/tVVOGg5eeu7v46upx_RoY23yMKI/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/albertovilches?a=JWhtzS75l8I:2xvORQjIQtQ:ecdYMiMMAMM"><img src="http://feeds.feedburner.com/~ff/albertovilches?d=ecdYMiMMAMM" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/albertovilches?a=JWhtzS75l8I:2xvORQjIQtQ:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/albertovilches?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/albertovilches?a=JWhtzS75l8I:2xvORQjIQtQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/albertovilches?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/albertovilches?a=JWhtzS75l8I:2xvORQjIQtQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/albertovilches?i=JWhtzS75l8I:2xvORQjIQtQ:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://albertovilches.com/emulador-de-gameboy-en-javascript/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://albertovilches.com/emulador-de-gameboy-en-javascript</feedburner:origLink></item>
		<item>
		<title>Half-duplex connection is like talking with a teenager</title>
		<link>http://feedproxy.google.com/~r/albertovilches/~3/gAy8MMMOUhc/half-duplex-teenage</link>
		<comments>http://albertovilches.com/half-duplex-teenage#comments</comments>
		<pubDate>Fri, 30 Oct 2009 10:07:36 +0000</pubDate>
		<dc:creator>Alberto Vilches</dc:creator>
				<category><![CDATA[Citas]]></category>
		<category><![CDATA[voxeo]]></category>

		<guid isPermaLink="false">http://albertovilches.com/?p=661</guid>
		<description><![CDATA[Half duplex allows data transmission in but one direction. A half-duplex connection is much like talking with any teenager, you can talk until you are blue in the face, but they won&#8217;t hear a word you say.

Sacado de la propia documentación de Voxeo sobre ccxml (me lo sopla Alberto, que lo tengo aquí al lado [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>
Half duplex allows data transmission in but one direction. A half-duplex connection is much like talking with any teenager, you can talk until you are blue in the face, but they won&#8217;t hear a word you say.
</p></blockquote>
<p>Sacado de la propia documentación de Voxeo sobre <a href="http://docs.voxeo.com/ccxml/1.0-final/frame.jsp?page=duplexing_ccxml10.htm">ccxml</a> (me lo sopla Alberto, que lo tengo aquí al lado y está flipando&#8230; :D )</p>
<img src="http://albertovilches.com/?ak_action=api_record_view&id=661&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/40f0_tzLOU2LHlwZNazc2uNrU9Y/0/da"><img src="http://feedads.g.doubleclick.net/~a/40f0_tzLOU2LHlwZNazc2uNrU9Y/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/40f0_tzLOU2LHlwZNazc2uNrU9Y/1/da"><img src="http://feedads.g.doubleclick.net/~a/40f0_tzLOU2LHlwZNazc2uNrU9Y/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/albertovilches?a=gAy8MMMOUhc:jE7He69RhX8:ecdYMiMMAMM"><img src="http://feeds.feedburner.com/~ff/albertovilches?d=ecdYMiMMAMM" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/albertovilches?a=gAy8MMMOUhc:jE7He69RhX8:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/albertovilches?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/albertovilches?a=gAy8MMMOUhc:jE7He69RhX8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/albertovilches?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/albertovilches?a=gAy8MMMOUhc:jE7He69RhX8:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/albertovilches?i=gAy8MMMOUhc:jE7He69RhX8:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://albertovilches.com/half-duplex-teenage/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://albertovilches.com/half-duplex-teenage</feedburner:origLink></item>
		<item>
		<title>The Big Bang Theory Blog</title>
		<link>http://feedproxy.google.com/~r/albertovilches/~3/lV0x-R4Q5yo/the-big-bang-theory-blog</link>
		<comments>http://albertovilches.com/the-big-bang-theory-blog#comments</comments>
		<pubDate>Tue, 27 Oct 2009 11:11:00 +0000</pubDate>
		<dc:creator>Alberto Vilches</dc:creator>
				<category><![CDATA[Ciencia]]></category>
		<category><![CDATA[fisica]]></category>
		<category><![CDATA[futurama]]></category>
		<category><![CDATA[matematicas]]></category>
		<category><![CDATA[the big bang theory]]></category>
		<category><![CDATA[tv]]></category>

		<guid isPermaLink="false">http://albertovilches.com/?p=654</guid>
		<description><![CDATA[Gracias a Ecos del futuro (vía discover magazine), me entero de que la serie The Big Bang Theory es la única que tiene a David Saltzberg, un asesor físico a tiempo completo entre los guionistas. En The Big Bang Theory blog se explica, capítulo a capítulo, todos los aspectos físicos de la serie.
Esto me hace [...]]]></description>
			<content:encoded><![CDATA[<p>Gracias a <a href="http://ecos.blogalia.com//historias/64934">Ecos del futuro</a> (vía <a href="http://blogs.discovermagazine.com/cosmicvariance/2009/10/23/the-big-blog-theory/">discover magazine</a>), me entero de que la serie <a href="http://www.imdb.com/title/tt0898266/">The Big Bang Theory</a> es la única que tiene a <a href="http://personnel.physics.ucla.edu/directory/faculty/index.php?f_name=saltzberg">David Saltzberg</a>, un asesor físico a tiempo completo entre los guionistas. En <a href="http://thebigblogtheory.wordpress.com/">The Big Bang Theory blog</a> se explica, capítulo a capítulo, todos los aspectos físicos de la serie.</p>
<p>Esto me hace recordar que <a href="http://www.imdb.com/title/tt0149460/">Futurama</a> también tienes algunos colaboradores interesantes, como J. Stewart Burns (licenciado en matemáticas en Harvard) y David X. Cohen (licenciado en física en Harvard y máster en ciencias computacionales en Berkeley), ambos productores y guionistas de la serie. En gaussianos.com tenemos 5 posts interesantes (<a href="http://gaussianos.com/futurama-y-las-matematicas-i/">1</a>, <a href="http://gaussianos.com/futurama-y-las-matematicas-ii/">2</a>, <a href="http://gaussianos.com/futurama-y-las-matematicas-iii/">3</a>, <a href="http://gaussianos.com/futurama-y-las-matematicas-iv/">4</a> y <a href="http://gaussianos.com/futurama-y-las-matematicas-v/">5</a>) con una buena recopilación de los detalles matemáticos y de la ciencia en general que hay en esta serie.</p>
<p><img src="http://albertovilches.com/wp-content/uploads/klein9dn.jpg" alt="klein9dn" title="klein9dn" width="288" height="216" class="aligncenter size-full wp-image-655" /><br />
<center>(Las <a href="http://es.wikipedia.org/wiki/Botella_de_Klein">Botellas de Klein</a> no tienen interior ni exterior, sin embargo en Futurama aparecen llenas de líquido, cosa que es imposible)</center></p>
<img src="http://albertovilches.com/?ak_action=api_record_view&id=654&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/4tk-clwcBCqyD8vl6S6NrkONy3c/0/da"><img src="http://feedads.g.doubleclick.net/~a/4tk-clwcBCqyD8vl6S6NrkONy3c/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/4tk-clwcBCqyD8vl6S6NrkONy3c/1/da"><img src="http://feedads.g.doubleclick.net/~a/4tk-clwcBCqyD8vl6S6NrkONy3c/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/albertovilches?a=lV0x-R4Q5yo:4EASvyd8ljg:ecdYMiMMAMM"><img src="http://feeds.feedburner.com/~ff/albertovilches?d=ecdYMiMMAMM" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/albertovilches?a=lV0x-R4Q5yo:4EASvyd8ljg:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/albertovilches?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/albertovilches?a=lV0x-R4Q5yo:4EASvyd8ljg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/albertovilches?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/albertovilches?a=lV0x-R4Q5yo:4EASvyd8ljg:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/albertovilches?i=lV0x-R4Q5yo:4EASvyd8ljg:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://albertovilches.com/the-big-bang-theory-blog/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://albertovilches.com/the-big-bang-theory-blog</feedburner:origLink></item>
		<item>
		<title>Fotolog de Octubre09 (II)</title>
		<link>http://feedproxy.google.com/~r/albertovilches/~3/PexgzV-i74o/fotolog-octubre-2009-ii</link>
		<comments>http://albertovilches.com/fotolog-octubre-2009-ii#comments</comments>
		<pubDate>Sat, 24 Oct 2009 10:41:34 +0000</pubDate>
		<dc:creator>Alberto Vilches</dc:creator>
				<category><![CDATA[Fotolog]]></category>

		<guid isPermaLink="false">http://albertovilches.com/?p=644</guid>
		<description><![CDATA[
















]]></description>
			<content:encoded><![CDATA[<div class="tumblr-photo-brief"><a href="http://albertovilches.tumblr.com/post/221018238"><img src="http://18.media.tumblr.com/tumblr_krti307ien1qa8zylo1_75sq.jpg" border="0" /></a></div>
<div class="tumblr-photo-brief"><a href="http://albertovilches.tumblr.com/post/220935236/bonito-jersey"><img src="http://5.media.tumblr.com/tumblr_krtdnyqwt31qa8zylo1_75sq.jpg" border="0" /></a></div>
<div class="tumblr-photo-brief"><a href="http://albertovilches.tumblr.com/post/220864525/humor-fino"><img src="http://14.media.tumblr.com/tumblr_krtdseouOa1qa8zylo1_75sq.jpg" border="0" /></a></div>
<div class="tumblr-photo-brief"><a href="http://albertovilches.tumblr.com/post/220810566/aparcamiento-con-charco"><img src="http://3.media.tumblr.com/tumblr_krtdqyEeTk1qa8zylo1_75sq.jpg" border="0" /></a></div>
<div class="tumblr-photo-brief"><a href="http://albertovilches.tumblr.com/post/220748248/columpios-terrorificos-para-ninos"><img src="http://17.media.tumblr.com/tumblr_krtdpll4CJ1qa8zylo1_75sq.jpg" border="0" /></a></div>
<div class="tumblr-photo-brief"><a href="http://albertovilches.tumblr.com/post/220745915/how-to-create-a-mario-bros-1-up-passthemike-1"><img src="http://9.media.tumblr.com/tumblr_krxpk4btwl1qzr4e1o1_75sq.jpg" border="0" /></a></div>
<div class="tumblr-photo-brief"><a href="http://albertovilches.tumblr.com/post/220041413/arbol-genealogico-familiar-del-pato-donald"><img src="http://9.media.tumblr.com/tumblr_krx8uzrGsF1qa8zylo1_75sq.jpg" border="0" /></a></div>
<div class="tumblr-photo-brief"><a href="http://albertovilches.tumblr.com/post/219974972/egoismo-alberto-montt-2009-10-19"><img src="http://19.media.tumblr.com/tumblr_krrm047Bnt1qz74exo1_75sq.jpg" border="0" /></a></div>
<div class="tumblr-photo-brief"><a href="http://albertovilches.tumblr.com/post/219803179/atari-computer-demosntration-center"><img src="http://11.media.tumblr.com/tumblr_krw3fc6kpF1qzcomoo1_75sq.jpg" border="0" /></a></div>
<div class="tumblr-photo-brief"><a href="http://albertovilches.tumblr.com/post/219412274/pasaporte-a-una-dimension-de-dolor-infinito"><img src="http://23.media.tumblr.com/tumblr_krvy72vR4l1qa8zylo1_75sq.png" border="0" /></a></div>
<div class="tumblr-photo-brief"><a href="http://albertovilches.tumblr.com/post/219378623/solo-es-el-principio-juliasegal-thats-no-way"><img src="http://22.media.tumblr.com/tumblr_krvufvDUD81qzvqipo1_75sq.png" border="0" /></a></div>
<div class="tumblr-photo-brief"><a href="http://albertovilches.tumblr.com/post/219281776/angi"><img src="http://3.media.tumblr.com/tumblr_krti6uxtvU1qa8zylo1_75sq.jpg" border="0" /></a></div>
<div class="tumblr-photo-brief"><a href="http://albertovilches.tumblr.com/post/219043905/fatality"><img src="http://12.media.tumblr.com/tumblr_krti12xPaU1qa8zylo1_75sq.jpg" border="0" /></a></div>
<div class="tumblr-photo-brief"><a href="http://albertovilches.tumblr.com/post/218875587/spike-de-cowboy-bebop-via-nerviosismo"><img src="http://6.media.tumblr.com/tumblr_krujgcCbKb1qznavao1_75sq.png" border="0" /></a></div>
<div class="tumblr-photo-brief"><a href="http://albertovilches.tumblr.com/post/218557053/gorkalimotxo-y-dandole-a-este-botoncico-haces"><img src="http://11.media.tumblr.com/tumblr_krrpxrdyGo1qz5t09o1_75sq.png" border="0" /></a></div>
<div class="tumblr-photo-brief"><a href="http://albertovilches.tumblr.com/post/218212967/coco-austin-con-13-anos"><img src="http://7.media.tumblr.com/tumblr_krtnfue0RC1qa8zylo1_75sq.jpg" border="0" /></a></div>
<div class="tumblr-photo-brief"><a href="http://albertovilches.tumblr.com/post/218186453/fresh-prince-jugando-a-la-nes"><img src="http://2.media.tumblr.com/tumblr_krtljioous1qa8zylo1_75sq.png" border="0" /></a></div>
<div class="tumblr-photo-brief"><a href="http://albertovilches.tumblr.com/post/218142003"><img src="http://4.media.tumblr.com/tumblr_krti45UjVy1qa8zylo1_75sq.jpg" border="0" /></a></div>
<img src="http://albertovilches.com/?ak_action=api_record_view&id=644&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/9wt0LPCGnIeQ9nMJxa_Cc90I1Zg/0/da"><img src="http://feedads.g.doubleclick.net/~a/9wt0LPCGnIeQ9nMJxa_Cc90I1Zg/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/9wt0LPCGnIeQ9nMJxa_Cc90I1Zg/1/da"><img src="http://feedads.g.doubleclick.net/~a/9wt0LPCGnIeQ9nMJxa_Cc90I1Zg/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/albertovilches?a=PexgzV-i74o:hjRBAGlrYog:ecdYMiMMAMM"><img src="http://feeds.feedburner.com/~ff/albertovilches?d=ecdYMiMMAMM" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/albertovilches?a=PexgzV-i74o:hjRBAGlrYog:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/albertovilches?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/albertovilches?a=PexgzV-i74o:hjRBAGlrYog:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/albertovilches?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/albertovilches?a=PexgzV-i74o:hjRBAGlrYog:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/albertovilches?i=PexgzV-i74o:hjRBAGlrYog:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://albertovilches.com/fotolog-octubre-2009-ii/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://albertovilches.com/fotolog-octubre-2009-ii</feedburner:origLink></item>
		<item>
		<title>Efectos sin photoshop: text-shadow (CSS)</title>
		<link>http://feedproxy.google.com/~r/albertovilches/~3/B-HGQSWvsm0/efectos-sin-photoshop-text-shadow-css</link>
		<comments>http://albertovilches.com/efectos-sin-photoshop-text-shadow-css#comments</comments>
		<pubDate>Thu, 22 Oct 2009 20:00:54 +0000</pubDate>
		<dc:creator>Alberto Vilches</dc:creator>
				<category><![CDATA[Programación y diseño]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[diseño]]></category>
		<category><![CDATA[efectos]]></category>

		<guid isPermaLink="false">http://albertovilches.com/?p=578</guid>
		<description><![CDATA[pre.shad {
margin-left:40px;
margin-bottom:5px;
padding: 3px;
border:0;
background-color: transparent;
}
h4.shad {
padding:6px; margin:2px 0 10px 40px; font: 18px Arial;
}

Muchas veces se utiliza Photoshop para crear títulos o textos con  sombras, bajo-relieves, bordes, etc. creando para ello primero una imagen que después será utilizada en nuestra página. Sin embargo, podemos simular el mismo efecto (más o menos) utilizando solamente HTML/CSS con el [...]]]></description>
			<content:encoded><![CDATA[<style>
pre.shad {
margin-left:40px;
margin-bottom:5px;
padding: 3px;
border:0;
background-color: transparent;
}
h4.shad {
padding:6px; margin:2px 0 10px 40px; font: 18px Arial;
}
</style>
<p>Muchas veces se utiliza <a href="http://www.photoshopessentials.com/photoshop-text/text-effects/text-as-shadow.php">Photoshop para crear títulos o textos con  sombras</a>, bajo-relieves, bordes, etc. creando para ello primero una imagen que después será utilizada en nuestra página. Sin embargo, podemos simular el mismo efecto (más o menos) utilizando solamente HTML/CSS con el estilo <code>text-shadow</code>. Este estilo fue propuesto para CSS2 aunque no ha sido aceptado hasta la aparición de CSS3. La mayoría de los navegadores lo soportan completamente: Konqueror, Firefox 3.1, Safari 4, Opera 9.5, Chrome 2, Epiphany (Linux). Y otros los soportan parcialmente (sin múltiples sombras) como Safari 3.1, Shiira e iCab (MacOS), iPhone Safari. Se queda fuera Internet Explorer, aunque siempre se pueden utilizar algunos <a href="http://www.workingwith.me.uk/articles/css/cross-browser-drop-shadows">trucos</a>.</p>
<p>La sintaxis es:</p>
<pre class="shad">name { text-shadow: X Y size radius; }</pre>
<p>Los parámetros que acepta son: </p>
<ul>
<li>X: desplazamiento lateral (en px, pt, em). Un valor positivo para X significa que la sombra aparecerá a la derecha. Ejemplo: 2px.</li>
<li>Y: desplazamiento vertical (en px, pt, em). Un valor positivo para Y significa que la sombra aparecerá abajo. Ejemplo: 2px.</li>
<li>radius: tamaño de la sombra (en px, pt, em). A menor valor, más nítida aparecerá la sombra. Y a mayor valor, más difuminada (borrosa). Ejemplo 0.5px.</li>
<li>color: Color de la sombra. Ejemplo: #000000.</li>
</ul>
<p>El color se puede indicar al final o al principio de la definición. Se pueden concatenar varias sombras, separándolas por comas.</p>
<p>El objetivo del estilo es crear una sombra bajo el texto en la dirección indicada por X e Y, con el radio (o difusión) y color especificados. Combinando el color, la difusión y la posición de la sombra con el colo del texto y el fondo, podemos conseguir diversos efectos de una manera sencilla y limpia, ahorrándonos el trabajo de crear el mismo texto como una imagen en Photoshop o cualquier otro software de edición gráfica.</p>
<p>Ejemplos de sombras:</p>
<pre class="shad">text-shadow: 1px 1px 0.25em black;
color:black;</pre>
<h4 class="shad" style="text-shadow: 1px 1px 0.25em black; color:black;">Esto es un ejemplo de sombra</h4>
<pre class="shad">text-shadow: 0.25em 0.25em 0.05em #8888FF;
color: blue;
background: #EEF</pre>
<h4 class="shad" style="text-shadow: 0.25em 0.25em 0.05em #8888FF; color: blue; background: #EEF">Esto es un ejemplo de otra sombra</h4>
<pre class="shad">text-shadow: 2px 2px 0.05px #000;
color: white;
background: #897;</pre>
<h4 class="shad" style="text-shadow: 2px 2px 0.05px #000; color: white; background: #897;">Y esto es otra sombra más</h4>
<p>&nbsp;</p>
<p>
También se puede combinar varias sombras en el mismo estilo, separándolas por comas:
</p>
<pre class="shad">text-shadow: 0.2em 0.5em 0.1em #F66,
            0.6em 0.1em 0.1em #3B3,
            0.4em -0.3em 0.1em #66F;
color: #000;
background: #EEF;</pre>
<h4 class="shad" style="text-shadow: 0.2em 0.5em 0.1em #F66, 0.6em 0.1em 0.1em #3B3, 0.4em -0.3em 0.1em #66F; color: #000; background: #EEF;">Ejemplo de triple sombra multicolor</h4>
<p>&nbsp;</p>
<p>
Con el mismo color de fuente que de fondo, y creando una sombra más oscura arriba y otra más clara abajo, podemos hacer resaltados de bajo relieves:
</p>
<pre class="shad">text-shadow: -1px -1px white, 1px 1px #333;
color: #BBB;
background: #BBB;</pre>
<h4 class="shad" style="text-shadow: -1px -1px white, 1px 1px #333; color: #BBB; background: #BBB;">Ejemplo de 2 sombras para hacer bajo relieves</h4>
<pre class="shad">text-shadow: 1px 1px white, -1px -1px #333;
color: #BBB;
background: #BBB; </pre>
<h4 class="shad" style="text-shadow: 1px 1px white, -1px -1px #333; color: #BBB; background: #BBB;">Otro ejemplo de sombra para hacer bajo relieves</h4>
<p>&nbsp;</p>
<p>
Y con cuatro sombras y diferentes colores de fondo y de letra, podemos hacer bordeados nítidos para resaltar letras, o de colores y borrosos para darles un efecto de iluminación por detrás, o incluso de fuego:
</p>
<pre class="shad">text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;
color: #FFF; background: #FFF; </pre>
<h4 class="shad" style="text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black; color: #FFF; background: #FFF; ">Mismo color de fondo que de letra, y bordes oscuros</h4>
<pre class="shad">text-shadow: 0 0 0.2em #87F, 0 0 0.2em #87F, 0 0 0.2em #87F;
color: #FFF;
background: #FFF; </pre>
<h4 class="shad" style="text-shadow: 0 0 0.2em #87F, 0 0 0.2em #87F, 0 0 0.2em #87F; color: #FFF; background: #FFF; ">Mismo color de fondo que de letra, luz trasera</h4>
<pre class="shad">text-shadow:0 0 4px white, 0 -5px 4px #FFFF33,
    2px -10px 6px #FFDD33, -2px -15px 11px #FF8800,
    2px -25px 18px #FF2200;
color: #222;
background: black</pre>
<h4 class="shad" style="text-shadow:0 0 4px white, 0 -5px 4px #FFFF33, 2px -10px 6px #FFDD33, -2px -15px 11px #FF8800, 2px -25px 18px #FF2200; color: #222; background: black; padding-top:15px">Efecto de fuego con varias sombras</h4>
<p>&nbsp;</p>
<p>De todas formas, no es necesario limitarse a buscar efectos impresionantes para hacer títulos que llamen la atención. Podemos utilizar las sombras sutilmente para resaltar el cuerpo de un texto y mejorar su lectura. El siguiente texto es un texto normal sin sombra:</p>
<style>
div.molon b {
color:#E6324B;
font-style:normal;
font-size:12px;
font-weight:bold;
}
div.molon {
padding:10px;
color:#F2E3C6;
font-size:10px;
font-family: "Lucida Grande", Arial,sans-serif;
font-style:italic;
line-height:18px;
background:#2B2B2B;
margin-left:20px;
}
</style>
<div class="molon">
<p>
Todas las rayas que vieres en las manos, oh curioso lector, significan que la mano se dobla por la palma y no por arriba, y que se dobla por las junturas; y por eso están las grandes en las coyunturas désas, como es cuero delicado, resultan las otras menudas. Y para ver que esto es así mira que en el pescuezo y frente, caderas, corvas y codos y sangraduras y nalgas, por donde se arruga el pellejo y en las plantas de los pies hay rayas. Y así había de haber, si fuera verdad (como hay quirománticos), nalguimánticos, y frontimánticos y codimánticos y pescuecimánticos y piedimánticos
</p>
<p><b>FRANCISCO DE QUEVEDO, MADRID (1580-1645)</b></p>
</div>
<p>Y el mismo texto, pero con <code>style="text-shadow: 1px 1px 2px black"</code>. </p>
<div class="molon">
<p style="text-shadow: 1px 1px 2px black;">
Todas las rayas que vieres en las manos, oh curioso lector, significan que la mano se dobla por la palma y no por arriba, y que se dobla por las junturas; y por eso están las grandes en las coyunturas désas, como es cuero delicado, resultan las otras menudas. Y para ver que esto es así mira que en el pescuezo y frente, caderas, corvas y codos y sangraduras y nalgas, por donde se arruga el pellejo y en las plantas de los pies hay rayas. Y así había de haber, si fuera verdad (como hay quirománticos), nalguimánticos, y frontimánticos y codimánticos y pescuecimánticos y piedimánticos
</p>
<p style="text-shadow: 1px 1px 2px black;"><b>FRANCISCO DE QUEVEDO, MADRID (1580-1645)</b></p>
</div>
<p>El resultado final es que el texto posee una sombra que casi no se percibe, pero que realza el texto. Como conclusión final tenemos que con el estilo text-shadow y un poco de imaginación, se pueden conseguir resultados muy diferentes, tanto si queremos simplemente decorar o realzar un texto hasta crear títulos con efectos. Un consejo: hay que evitar abusar del efecto, o el resultado final es que el texto quede muy recargado y sea más difícil de leer, consiguiendo el efecto contrario al deseado. Las ventajas de usar este estilo frente a usar una imagen hecha con Photoshop son:</p>
<ul>
<li>Menor cantidad de espacio ocupado, mayor rapidez de carga: solo HTML/CSS frente a descargarte una imagen (2kb ó 20kb).
</li>
<li>Al conservar el texto como parte del HTML, los buscadores y robots lo podrán detectar y leer. El contenido de una imagen es invisible a los buscadores.
</li>
<li>Posibilidad de crear efectos en textos dinámicos. Es decir, es posible modificar el texto y el efecto se mantiene. El contenido de una imagen es inmutable.
</li>
<li>El texto es accesible. Por ejemplo, la gente que tenga configuradas fuentes grandes por tener poca visión podrán leerlo mejor, y los invidentes también tendrán más facilidad para leerlo, sin tener que acudir al texto alternativo de la imagen (por Akbarr, en un <a href="http://albertovilches.com/efectos-sin-photoshop-text-shadow-css/comment-page-1#comment-108596">comentario</a>, gracias!)
</li>
</ul>
<p>Inconvenientes</p>
<ul>
<li>No es soportado por todos los navegadores y puede haber diferencias sensibles entre unos y otros. La única manera de asegurarse de que el texto se ve como realmente quieres que se vea, es creando una imagen.
</li>
</ul>
<p>Y algunos enlaces de interés:</p>
<ul>
<li><a href="http://www.w3.org/TR/css3-text/#text-shadow">Referencia</a> y <a href="http://www.w3.org/Style/Examples/007/text-shadow">ejemplos</a> en w3.org.</li>
<li>Algunos <a href="http://www.workingwith.me.uk/articles/css/cross-browser-drop-shadows">hacks</a> para que funcionen las sombras en cualquier navegador.</li>
<li>Una buena <a href="http://www.kremalicious.com/2008/04/make-cool-and-clever-text-effects-with-css-text-shadow/">guía</a> con más sombras.</li>
</ul>
<img src="http://albertovilches.com/?ak_action=api_record_view&id=578&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/pWyjLQHWM-4qsqYBmy-jYDKUQvw/0/da"><img src="http://feedads.g.doubleclick.net/~a/pWyjLQHWM-4qsqYBmy-jYDKUQvw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/pWyjLQHWM-4qsqYBmy-jYDKUQvw/1/da"><img src="http://feedads.g.doubleclick.net/~a/pWyjLQHWM-4qsqYBmy-jYDKUQvw/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/albertovilches?a=B-HGQSWvsm0:BzGao5tLNfQ:ecdYMiMMAMM"><img src="http://feeds.feedburner.com/~ff/albertovilches?d=ecdYMiMMAMM" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/albertovilches?a=B-HGQSWvsm0:BzGao5tLNfQ:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/albertovilches?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/albertovilches?a=B-HGQSWvsm0:BzGao5tLNfQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/albertovilches?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/albertovilches?a=B-HGQSWvsm0:BzGao5tLNfQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/albertovilches?i=B-HGQSWvsm0:BzGao5tLNfQ:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://albertovilches.com/efectos-sin-photoshop-text-shadow-css/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://albertovilches.com/efectos-sin-photoshop-text-shadow-css</feedburner:origLink></item>
		<item>
		<title>Fotolog de Octubre09</title>
		<link>http://feedproxy.google.com/~r/albertovilches/~3/KgR4YA8fknE/fotolog-octubre-2009</link>
		<comments>http://albertovilches.com/fotolog-octubre-2009#comments</comments>
		<pubDate>Tue, 20 Oct 2009 11:24:48 +0000</pubDate>
		<dc:creator>Alberto Vilches</dc:creator>
				<category><![CDATA[Fotolog]]></category>

		<guid isPermaLink="false">http://albertovilches.com/?p=569</guid>
		<description><![CDATA[










]]></description>
			<content:encoded><![CDATA[<div class="tumblr-photo-brief"><a href="http://albertovilches.tumblr.com/post/217936299/fuckyeahdementia-stop-the-internets"><img src="http://13.media.tumblr.com/tumblr_krhngx8pIu1qzmowao1_75sq.jpg" border="0" /></a></div>
<div class="tumblr-photo-brief"><a href="http://albertovilches.tumblr.com/post/217928781/jamfris-imundertherose-muerte-a-comic-sans"><img src="http://23.media.tumblr.com/tumblr_krs5qatHjH1qzssano1_75sq.png" border="0" /></a></div>
<div class="tumblr-photo-brief"><a href="http://albertovilches.tumblr.com/post/217928131/via-nerviosismo"><img src="http://10.media.tumblr.com/tumblr_krsoulfrER1qznavao1_75sq.jpg" border="0" /></a></div>
<div class="tumblr-photo-brief"><a href="http://albertovilches.tumblr.com/post/217927244/via-juliasegal"><img src="http://2.media.tumblr.com/tumblr_krstr4GPK51qzvqipo1_75sq.jpg" border="0" /></a></div>
<div class="tumblr-photo-brief"><a href="http://albertovilches.tumblr.com/post/217472334/via-juliasegal"><img src="http://8.media.tumblr.com/tumblr_krs08k4emn1qzvqipo1_75sq.jpg" border="0" /></a></div>
<div class="tumblr-photo-brief"><a href="http://albertovilches.tumblr.com/post/217417837/mayodel67-visto-en-enlavidabohemia"><img src="http://1.media.tumblr.com/tumblr_kr2ce17OEZ1qzk602o1_75sq.jpg" border="0" /></a></div>
<div class="tumblr-photo-brief"><a href="http://albertovilches.tumblr.com/post/217271010/dig-your-own-hole"><img src="http://4.media.tumblr.com/tumblr_krrspww2271qa8zylo1_75sq.jpg" border="0" /></a></div>
<div class="tumblr-photo-brief"><a href="http://albertovilches.tumblr.com/post/217125461/cuando-el-bolsillo-sin-fin-tiene-un-agujero"><img src="http://6.media.tumblr.com/tumblr_kroe75VRbk1qzb1pko1_75sq.jpg" border="0" /></a></div>
<div class="tumblr-photo-brief"><a href="http://albertovilches.tumblr.com/post/216993856/ymiraelascoquedoy-si-vas-a-poner-una-foto-de"><img src="http://10.media.tumblr.com/tumblr_kr4l04p85K1qzp0mio1_75sq.jpg" border="0" /></a></div>
<div class="tumblr-photo-brief"><a href="http://albertovilches.tumblr.com/post/216963810/jamfris-via-johntones"><img src="http://2.media.tumblr.com/tumblr_krjwoho4vy1qz98dro1_75sq.jpg" border="0" /></a></div>
<div class="tumblr-photo-brief"><a href="http://albertovilches.tumblr.com/post/216962623/igalonso-via-greenshines"><img src="http://10.media.tumblr.com/tumblr_kr4yjmnSDT1qzx5g2o1_75sq.jpg" border="0" /></a></div>
<div class="tumblr-photo-brief"><a href="http://albertovilches.tumblr.com/post/215692791/via-ymiraelascoquedoy"><img src="http://15.media.tumblr.com/tumblr_krh4pmkz7W1qzp0mio1_75sq.jpg" border="0" /></a></div>
<img src="http://albertovilches.com/?ak_action=api_record_view&id=569&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/nc-4WqkFQBFPGha06pr7GNQSZWA/0/da"><img src="http://feedads.g.doubleclick.net/~a/nc-4WqkFQBFPGha06pr7GNQSZWA/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/nc-4WqkFQBFPGha06pr7GNQSZWA/1/da"><img src="http://feedads.g.doubleclick.net/~a/nc-4WqkFQBFPGha06pr7GNQSZWA/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/albertovilches?a=KgR4YA8fknE:acoIrWXoaUE:ecdYMiMMAMM"><img src="http://feeds.feedburner.com/~ff/albertovilches?d=ecdYMiMMAMM" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/albertovilches?a=KgR4YA8fknE:acoIrWXoaUE:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/albertovilches?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/albertovilches?a=KgR4YA8fknE:acoIrWXoaUE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/albertovilches?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/albertovilches?a=KgR4YA8fknE:acoIrWXoaUE:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/albertovilches?i=KgR4YA8fknE:acoIrWXoaUE:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://albertovilches.com/fotolog-octubre-2009/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://albertovilches.com/fotolog-octubre-2009</feedburner:origLink></item>
		<item>
		<title>Tabla periódica de elementos</title>
		<link>http://feedproxy.google.com/~r/albertovilches/~3/ctL_o1z5i2g/tabla-periodica-de-elementos</link>
		<comments>http://albertovilches.com/tabla-periodica-de-elementos#comments</comments>
		<pubDate>Sun, 18 Oct 2009 21:31:00 +0000</pubDate>
		<dc:creator>Alberto Vilches</dc:creator>
				<category><![CDATA[Ciencia]]></category>
		<category><![CDATA[graficos]]></category>
		<category><![CDATA[quimica]]></category>

		<guid isPermaLink="false">http://albertovilches.com/?p=533</guid>
		<description><![CDATA[Vía redferret me encuentro con una tabla periódica completamente útil. Se trata de una tabla que en vez de incluir cosas &#8220;aburridas&#8221; como su peso atómico, muestra un listado de cosas que utilizan dicho elemento, ya sea porque lo consumen o porque se necesita para construirlo.

La tabla es un trabajo entre la Universidad de York [...]]]></description>
			<content:encoded><![CDATA[<p>Vía <a href="http://www.redferret.net/?p=16523">redferret</a> me encuentro con una <a href="http://www.bp.com/liveassets/bp_internet/bpes_new/bpes_new_uk/STAGING/local_assets/downloads/secondary_resources/pt_preview_080409.jpg">tabla periódica completamente útil</a>. Se trata de una tabla que en vez de incluir cosas &#8220;aburridas&#8221; como su peso atómico, muestra un listado de cosas que utilizan dicho elemento, ya sea porque lo consumen o porque se necesita para construirlo.</p>
<p><a href="http://www.bp.com/liveassets/bp_internet/bpes_new/bpes_new_uk/STAGING/local_assets/downloads/secondary_resources/pt_preview_080409.jpg"><img src="http://albertovilches.com/wp-content/uploads/periodic-table-section.png" alt="periodic-table-section" title="periodic-table-section" width="600" height="404" class="aligncenter size-full wp-image-534" /></a></p>
<p>La tabla es un trabajo entre la Universidad de York y la Chemical Industries Association, en el Reino Unido y ocupa 1.3Mb. La verdad es que es un gran trabajo, no solo ayuda a comprender un poco mejor los elementos y para que sirven, sino que seguramente facilite aprendértelos (si es que estás estudiando y lo necesitas). ¡Ideal para colgarla en el aula de química de todos los colegios!</p>
<img src="http://albertovilches.com/?ak_action=api_record_view&id=533&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/_UVDn3Zew6JDWm8t_xEeUaK4GAM/0/da"><img src="http://feedads.g.doubleclick.net/~a/_UVDn3Zew6JDWm8t_xEeUaK4GAM/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/_UVDn3Zew6JDWm8t_xEeUaK4GAM/1/da"><img src="http://feedads.g.doubleclick.net/~a/_UVDn3Zew6JDWm8t_xEeUaK4GAM/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/albertovilches?a=ctL_o1z5i2g:TU2uDcfZhL0:ecdYMiMMAMM"><img src="http://feeds.feedburner.com/~ff/albertovilches?d=ecdYMiMMAMM" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/albertovilches?a=ctL_o1z5i2g:TU2uDcfZhL0:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/albertovilches?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/albertovilches?a=ctL_o1z5i2g:TU2uDcfZhL0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/albertovilches?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/albertovilches?a=ctL_o1z5i2g:TU2uDcfZhL0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/albertovilches?i=ctL_o1z5i2g:TU2uDcfZhL0:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://albertovilches.com/tabla-periodica-de-elementos/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://albertovilches.com/tabla-periodica-de-elementos</feedburner:origLink></item>
		<item>
		<title>Leisure Suit Larry y todos los juegos de Sierra con canvas HTML</title>
		<link>http://feedproxy.google.com/~r/albertovilches/~3/HuNilVBAs-c/leisure-suit-larry-y-todos-los-juegos-de-sierra-con-canvas-html</link>
		<comments>http://albertovilches.com/leisure-suit-larry-y-todos-los-juegos-de-sierra-con-canvas-html#comments</comments>
		<pubDate>Sun, 18 Oct 2009 20:34:27 +0000</pubDate>
		<dc:creator>Alberto Vilches</dc:creator>
				<category><![CDATA[Aventuras]]></category>
		<category><![CDATA[Juegos]]></category>
		<category><![CDATA[Noticias]]></category>
		<category><![CDATA[aventuras graficas]]></category>
		<category><![CDATA[larry]]></category>
		<category><![CDATA[retro]]></category>
		<category><![CDATA[sierra]]></category>

		<guid isPermaLink="false">http://albertovilches.com/?p=486</guid>
		<description><![CDATA[			.gallery-1 {
				margin: auto;
			}
			.gallery-1 .gallery-item {
				float: left;
				margin-top: 10px;
				text-align: center;
				width: 50%;			}
			.gallery-1 img {
				border: 2px solid #cfcfcf;
			}
			.gallery-1 .gallery-caption {
				margin-left: 0;
			}

¿Te imaginas jugar y disfrutar de Leisure Suit Larry (1987, 16 colores) y de todos los juegos antiguos de Sierra desde tu navegador, sin flash, ni applets, ni runtimes, simplemente HTML y Javascript? Pues ahora ya es posible en [...]]]></description>
			<content:encoded><![CDATA[<style type='text/css'>
			.gallery-1 {
				margin: auto;
			}
			.gallery-1 .gallery-item {
				float: left;
				margin-top: 10px;
				text-align: center;
				width: 50%;			}
			.gallery-1 img {
				border: 2px solid #cfcfcf;
			}
			.gallery-1 .gallery-caption {
				margin-left: 0;
			}
</style>
<p>¿Te imaginas jugar y disfrutar de <a href="http://en.wikipedia.org/wiki/Leisure_Suit_Larry_in_the_Land_of_the_Lounge_Lizards">Leisure Suit Larry</a> (1987, 16 colores) y de todos los juegos antiguos de <a href="http://wiki.scummvm.org/index.php/Sierra">Sierra</a> desde tu navegador, sin flash, ni applets, ni runtimes, simplemente HTML y Javascript? Pues ahora ya es posible en <a href="http://sarien.net/">Sarien</a>.</p>
<p>Para empezar, su autor, <a href="http://martinkool.com">Martin Kool</a>, ha desarrollado un sistema de <a href="http://sarien.net/source">código abierto</a> para crear aventuras gráficas directamente en el navegador, utilizando la etiqueta <a href="http://www.w3schools.com/tags/html5_canvas.asp">canvas de HTML5</a>. Y además de crear este motor ha portado los siguientes juegos:</p>
<ul>
<li>Leisure Suit Larry in the Land of the Lounge Lizards</li>
<li>Gold Rush!</li>
<li>King&#8217;s Quest: Quest for the Crown</li>
<li>King&#8217;s Quest II: Romancing the Throne</li>
<li>King&#8217;s Quest III: To Heir is Human</li>
<li>Police Quest: In Pursuit of the Death Angel</li>
<li>Space Quest I: The Sarien Encounter</li>
<li>Space Quest II: Vohaul&#8217;s Revenge</li>
<li>The Black Cauldron</li>
</ul>
<div class="gallery-1">
<dl class='gallery-item'>
<dt class='gallery-icon'>
				<a href='http://albertovilches.com/?attachment_id=498' title='Leisure Suit Larry - Blonde scene'><img width="150" height="150" src="http://albertovilches.com/wp-content/uploads/lsl-blonde-150x150.png" class="attachment-thumbnail" alt="" title="Leisure Suit Larry - Blonde scene" /></a>
			</dt>
</dl>
<dl class='gallery-item'>
<dt class='gallery-icon'>
				<a href='http://albertovilches.com/?attachment_id=499' title='Leisure Suit Larry - Disco scene'><img width="150" height="150" src="http://albertovilches.com/wp-content/uploads/lsl-disco-150x150.png" class="attachment-thumbnail" alt="" title="Leisure Suit Larry - Disco scene" /></a>
			</dt>
</dl>
<p><br style="clear: both" />
</div>
<p>Personalmente lo he probado y me parece una pasada. El tiempo de respuesta es inmediato y la jugabilidad ha mejorado al no necesitar teclear las órdenes. Hay que recordar que en estas aventuras gráficas tan antiguas de Sierra, los personajes se movían con los cursores (ahora se puede usar el ratón también, aunque al algoritmo para resolver la ruta entre dos puntos no sea perfecto) y las acciones se escribían en inglés (take flower, talk to girl, order a drink) con el teclado. Sin embargo, con el nuevo sistema de Martin Kool, es posible abrir un menú contextual con el botón derecho del ratón y navegar por todas las acciones disponibles y todos los objetos visibles en la escena actual, lo que lo hace mucho más sencillo. Incluso podemos descubrir objetos nuevos (la mayoría parte del decorado) que podemos examinar para ver su descripción original y que en su momento no pudimos ver. Por ejemplo, nunca se me habría ocurrido examinar el arce &#8220;moose&#8221; o el ventilador &#8220;fan&#8221; en el primer Larry cuando lo jugué hace más de 15 años.</p>
<p>Estas son las características técnicas del motor para crear aventuras (y jugarlas). </p>
<ul>
<li>Compatible con Firefox 2+, IE 6+, Opera, Safari y Chrome</li>
<li>Funciona en iPhone y Wii (aunque todavía necesita algunos arreglos)</li>
<li>Se puede jugar con el ratón o con el teclado. Si te quedas atascado en algún punto (el algoritmo no es perfecto), puedes hacer doble click y el personaje se &#8220;teletransportará&#8221; a dicha posición.</li>
<li>Multijugador: varias personas pueden jugar la misma aventura, ¡a la vez! sin necesidad de crear rooms o establecer conexiones. Tu vas jugando y simplemente aparecen más jugadores en la escena. Les verás moverse, coger cosas (tranquilo, cogen las suyas, no las tuyas, así que nadie te estropeará nada) y podrás hablar con ellos (chat multiplayer). Simplemente genial (se puede deshabilitar)</li>
<li>Todas las áreas del juego son directamente accesibles a través de la barra de direcciones y es posible crear un bookmark con ellas.</li>
<li>Se pueden salvar y cargar partidas simplemente a través de una url. Es decir, al salvar una partida se genera una dirección (que puedes guardar como bookmark) con tu estado actual (posición, objetos, puntuación, etc). Al acceder de nuevo a esa dirección, se recupera el estado anterior y puedes seguir jugando.</li>
</ul>
<p>Si jugaste a las aventuras de Sierra antiguas, este es un buen momento para rendirles un homenaje y volverlas a jugar de nuevo de una manera mucho más comoda. Puedes navegar entre escenas, teletransportación del personaje con doble click, jugar y chatear con otros jugadores. Y gracias a su menú contextual, puedes explotar todos esos detalles del juego que en su momento no viste (acciones que no se te habrían ocurrido hacer u objetos que se te pasaron por alto).</p>
<h1>Como se hizo</h1>
<p>Todas estas aventuras antiguas de Sierra fueron desarrolladas con <a href="http://en.wikipedia.org/wiki/Adventure_Game_Interpreter">AGI</a>, un intérprete propietario desarrollado por la compañía específicamente para estos juegos. Cuenta Martin Kool en su página que, allá por el 2003, estuvo trabajando en un proyecto que consistía en extraer todas las imágenes de los juegos de Sierra, utilizando para ella la herramienta <a href="http://www.winagi.com/graphics/winagi.jpg">WinAGI</a>, un moderno editor de aventuras AGI. Cuatro años después, desarrolló una herramienta en .NET que convertía estas aventuras AGI en Javascript, extrayendo el código y los gráficos internos que faltaban, listos para ser mostrados en la web. Pero hubo un gran y enorme problea: Sierra usaba instrucciones <a href="http://en.wikipedia.org/wiki/Goto">GOTO</a> por todo su código, incluso dentro de bloques ifs anidados, y esto hacía imposible de transformar en código Javascript, ya que carece de esta instrucción y no es fácilmente simularla. Martin Kool y <a href="http://www.w3future.com/">Sjoerd Visscher</a>, un colega suyo, dieron con la solución: modificaron el decompilador para que extrajera los secciones internas de las estructuras if y las pusieron todas juntas en un gran switch/case, el cual podía imitar los números de línea de las instrucciones GOTO, manteniendo el rendimiento.</p>
<p>
<center><img src="http://sarien.net/img/code.png"><br/>Menuda locura&#8230;<br/><br/></center>
</p>
<p>Finalmente, con el código en Javascript &#8220;tuenado&#8221; para aceptar todos los GOTOs que tenían las aventuras de Sierra, los gráficos y un poco de programación, creó <a href="http://sarien.net">sarien.net</a> con todas las aventuras. Una labor realmente dura, pero que ha tenido un resultado muy satisfactorio. La historia completa en <a href="http://sarien.net/about">su página</a>.</p>
<div class="gallery-1">
<dl class='gallery-item'>
<dt class='gallery-icon'>
				<a href='http://albertovilches.com/?attachment_id=500' title='Leisure Suit Larry - Casino scene'><img width="150" height="150" src="http://albertovilches.com/wp-content/uploads/lsl-casino-150x150.png" class="attachment-thumbnail" alt="" title="Leisure Suit Larry - Casino scene" /></a>
			</dt>
</dl>
<dl class='gallery-item'>
<dt class='gallery-icon'>
<p>				<a href='http://albertovilches.com/?attachment_id=501' title='Leisure Suit Larry - Bed scene'><img width="150" height="150" src="http://albertovilches.com/wp-content/uploads/lsl-bed-150x150.png" class="attachment-thumbnail" alt="" title="Leisure Suit Larry - Bed scene" /></a>
			</dt>
</dl>
<p><br style="clear: both" />
</div>
<h1>Bola extra: Leisure Suit Larry in the Land of the Lounge Lizards (descarga juego original)</h1>
<p>Si quieres jugar a este juego completo, aquí puedes descargarlo junto con sus manuales originales, donde se explica como jugar y algunos detalles interesantes más. También se incluyen algunos enlaces con la solución, una guía a las preguntas de la edad y a DOSBox, el emulador necesario para hacerlo funcionar en cualquier plataforma:</p>
<ul>
<li><a class="res" href='http://albertovilches.com/wp-content/uploads/leisure-suit-larry.zip'>Juego completo &#8211; Leisure Suit Larry in the land of the lounge lizards</a>, formato ZIP.</li>
<li><a class="res" href="http://www.dosbox.com/download.php?main=1">Enlace a la página de descarga de DOS Box</a>, un emulador de un PCx86 con MSDos, con soporte para gráficos, sonido, ratón, joystick, etc necesario para jugar a todos estos juegos antiguos. Versión Windows, MacOS y Linux.</li>
<li><a class="res" href="http://www.allowe.com/Larry/1questions.htm">Lista de respuestas a las preguntas que verifican que tienes más de 18 años</a>, necesario para empezar a jugar (como es un juego de adultos, te hará 5 preguntas para verificar tu edad antes de empezar a jugar. Las preguntas son sobre temas americanos y jerga inglesa, por lo que pueden ser complicadas para los no americanos)
<li><a class="res" href='http://albertovilches.com/wp-content/uploads/Leisure_Suit_Larry_1_reference.pdf'>Leisure Suit Larry 1 &#8211; Reference</a> en PDF.</li>
<li><a class="res" href='http://albertovilches.com/wp-content/uploads/Leisure_Suit_Larry_1_manual.pdf'>Leisure Suit Larry 1 &#8211; Manual</a> en PDF.</li>
<li>Una <a class="res" href="http://www.ctv.es/USERS/jhc/faqhtml/larry1.htm">guía para acabarse el juego</a> y <a href="http://www.juegosantiguos.com.ar/solucion-larry.htm" class="res-link">otra guía distinta</a> más, por si acaso.
</ul>
<p>Vía: <a href="http://ajaxian.com/archives/sarien-multiplayer-game-engine-goes-open-source">Sarien: Multiplayer Game Engine goes Open Source</a> y <a href="http://ajaxian.com/archives/play-kings-quest-space-quest-and-more-using-canvas-tag">Play Kings Quest, Space Quest, and More… Using Canvas Tag</a></p>
<p>Qué lo disfrutéis. :-)</p>
<img src="http://albertovilches.com/?ak_action=api_record_view&id=486&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/Kmml4zhNRMY1jt1FWtwkRzj1lDM/0/da"><img src="http://feedads.g.doubleclick.net/~a/Kmml4zhNRMY1jt1FWtwkRzj1lDM/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Kmml4zhNRMY1jt1FWtwkRzj1lDM/1/da"><img src="http://feedads.g.doubleclick.net/~a/Kmml4zhNRMY1jt1FWtwkRzj1lDM/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/albertovilches?a=HuNilVBAs-c:jKGH_uyi77k:ecdYMiMMAMM"><img src="http://feeds.feedburner.com/~ff/albertovilches?d=ecdYMiMMAMM" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/albertovilches?a=HuNilVBAs-c:jKGH_uyi77k:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/albertovilches?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/albertovilches?a=HuNilVBAs-c:jKGH_uyi77k:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/albertovilches?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/albertovilches?a=HuNilVBAs-c:jKGH_uyi77k:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/albertovilches?i=HuNilVBAs-c:jKGH_uyi77k:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://albertovilches.com/leisure-suit-larry-y-todos-los-juegos-de-sierra-con-canvas-html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		<feedburner:origLink>http://albertovilches.com/leisure-suit-larry-y-todos-los-juegos-de-sierra-con-canvas-html</feedburner:origLink></item>
		<item>
		<title>Pruebas dinámicas con JUnit</title>
		<link>http://feedproxy.google.com/~r/albertovilches/~3/VfDhO3LHOAo/pruebas-dinamicas-con-junit</link>
		<comments>http://albertovilches.com/pruebas-dinamicas-con-junit#comments</comments>
		<pubDate>Sat, 17 Oct 2009 18:35:18 +0000</pubDate>
		<dc:creator>Alberto Vilches</dc:creator>
				<category><![CDATA[Programación y diseño]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[junit]]></category>

		<guid isPermaLink="false">http://albertovilches.com/?p=481</guid>
		<description><![CDATA[JUnit es un sistema para realizar pruebas unitarias que cuando te acostumbras a utilizarlo, se convierte en una herramienta indispensable.  La mayoría de las veces (casi siempre), el método de trabajo es el mismo: se crea la clase de pruebas con los métodos a probar y ya está.
Pero ¿qué pasa si queremos hacer pruebas [...]]]></description>
			<content:encoded><![CDATA[<p>JUnit es un sistema para realizar pruebas unitarias que cuando te acostumbras a utilizarlo, se convierte en una herramienta indispensable.  La mayoría de las veces (casi siempre), el método de trabajo es el mismo: se crea la clase de pruebas con los métodos a probar y ya está.</p>
<p>Pero ¿qué pasa si queremos hacer pruebas unitarias creadas dinámicamente en función de datos externos? Es decir, no tenemos las clase de test A con sus métodos y la clase B con sus métodos, etc. si no que tenemos una sola clase, la cual queremos reutilizar una y otra vez como si fueran test distintos basándonos en datos distintos. Por ejemplo, hacer una prueba determinada como tantos ficheros haya en un carpeta X. La prueba consiste en algo tan tonto como validar que el fichero en cuestion contenga la letra &#8220;z&#8221;, en caso de que no la tenga, fallará.</p>
<p>Una solución pobre sería hacer una única clase de prueba con un método donde nos recorremos todos los ficheros a testear y realizamos la prueba pertinente en cada de ellos con sus assert o fails. .</p>
<p><b>Solución mala</b></p>
<pre>
import junit.framework.TestCase;
import java.io.File;

public class BadTest extends TestCase {

    public void testFiles() {
        File[] files = new File("/var/tmp").listFiles();
        System.out.println("Probando "+ files.length);
        for (File file : files) {
            System.out.println("Probando "+ file.getName());
            assertTrue(file.getName().contains("z"));
        }
    }
}
</pre>
<p>El problema de la solución mala es que si falla un fichero, toda la prueba finaliza y se dejan de validar los siguientes ficheros (y podemos tener miles y fallar en el primero), así que la prueba no vale.</p>
<p>Para este caso, lo ideal sería poder ejecutar una prueba distinta e independiente, basada en la misma clase de test, por cada uno de estos ficheros. Pero ¿cómo haríamos esto? Para hacerlo debemos crear primero una suite. Una suite no es más que una clase cualquiera (no tiene porqué heredar de ninguna otra clase de JUnit) que implementa el método estático suite(), retornando un instancia de la clase TestSuite de JUnit. Dentro de este método, es responsabilidad nuestra crear una nueva instancia de dicha clase y añadir las clases de test con el método addTest(). Y para hacer tantas pruebas como ficheros, lo que hacemos es crear una clase anónima que hereda de TestCase. Durante su creación, le pasamos el fichero a probar como parámetro final. A continuación, una prueba que si funciona.  <b> </b></p>
<p><b>Solución buena</b></p>
<pre>
import junit.framework.TestCase;
import junit.framework.TestSuite;

import java.io.File;
import java.io.IOException;

public class DinamicSuite {

    public static TestSuite suite() throws IOException {

        TestSuite suite = new TestSuite();

        for (File file : new File("/var/tmp").listFiles()) {

            suite.addTest(createDinamicTest(file, "Validando "+file.getName()));
        }

        return suite;
    }

    private static TestCase createDinamicTest(final File file, String name) {
        TestCase test = new TestCase() {
            public void runTest() throws Throwable {
                assertTrue(file.getName().contains("z"));
            }
        };
        test.setName(name);
        return test;
    }

}
</pre>
<p>Bastante sencillo y elegante, ¿no crees?</p>
<img src="http://albertovilches.com/?ak_action=api_record_view&id=481&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/aCGCGWxwGH-z__d8pMYzJdl3sBo/0/da"><img src="http://feedads.g.doubleclick.net/~a/aCGCGWxwGH-z__d8pMYzJdl3sBo/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/aCGCGWxwGH-z__d8pMYzJdl3sBo/1/da"><img src="http://feedads.g.doubleclick.net/~a/aCGCGWxwGH-z__d8pMYzJdl3sBo/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/albertovilches?a=VfDhO3LHOAo:L3Khpz09ylI:ecdYMiMMAMM"><img src="http://feeds.feedburner.com/~ff/albertovilches?d=ecdYMiMMAMM" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/albertovilches?a=VfDhO3LHOAo:L3Khpz09ylI:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/albertovilches?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/albertovilches?a=VfDhO3LHOAo:L3Khpz09ylI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/albertovilches?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/albertovilches?a=VfDhO3LHOAo:L3Khpz09ylI:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/albertovilches?i=VfDhO3LHOAo:L3Khpz09ylI:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://albertovilches.com/pruebas-dinamicas-con-junit/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://albertovilches.com/pruebas-dinamicas-con-junit</feedburner:origLink></item>
		<item>
		<title>Consumo de energía en el hogar</title>
		<link>http://feedproxy.google.com/~r/albertovilches/~3/7qXL3plZdRU/consumo-de-energia-en-el-hogar</link>
		<comments>http://albertovilches.com/consumo-de-energia-en-el-hogar#comments</comments>
		<pubDate>Fri, 16 Oct 2009 19:38:15 +0000</pubDate>
		<dc:creator>Alberto Vilches</dc:creator>
				<category><![CDATA[Ciencia]]></category>
		<category><![CDATA[energia]]></category>
		<category><![CDATA[graficos]]></category>

		<guid isPermaLink="false">http://wp.albertovilches.com/?p=428</guid>
		<description><![CDATA[Un buen gráfico que muestra lo que consumen los aparatos eléctricos por el simple hecho de estar enchufados. Una buena razón para utilizar regletas y apagarlos por la noche. ¡Atención con las televisores! ¡Cómo chupan!


]]></description>
			<content:encoded><![CDATA[<p>Un buen gráfico que muestra lo que consumen los aparatos eléctricos por el simple hecho de estar enchufados. Una buena razón para utilizar regletas y apagarlos por la noche. ¡Atención con las televisores! ¡Cómo chupan!</p>
<p><center><br />
<img src="http://post.cloudfront.goodinc.com/wp-content/uploads/2008/10/008_vampire_energy.jpg"/></center></p>
<img src="http://albertovilches.com/?ak_action=api_record_view&id=428&type=feed" alt="" />
<p><a href="http://feedads.g.doubleclick.net/~a/tt0VYK6EDJceIeCZ5yAx3A2KwyE/0/da"><img src="http://feedads.g.doubleclick.net/~a/tt0VYK6EDJceIeCZ5yAx3A2KwyE/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/tt0VYK6EDJceIeCZ5yAx3A2KwyE/1/da"><img src="http://feedads.g.doubleclick.net/~a/tt0VYK6EDJceIeCZ5yAx3A2KwyE/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/albertovilches?a=7qXL3plZdRU:H_7V5SQ09YU:ecdYMiMMAMM"><img src="http://feeds.feedburner.com/~ff/albertovilches?d=ecdYMiMMAMM" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/albertovilches?a=7qXL3plZdRU:H_7V5SQ09YU:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/albertovilches?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/albertovilches?a=7qXL3plZdRU:H_7V5SQ09YU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/albertovilches?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/albertovilches?a=7qXL3plZdRU:H_7V5SQ09YU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/albertovilches?i=7qXL3plZdRU:H_7V5SQ09YU:D7DqB2pKExk" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://albertovilches.com/consumo-de-energia-en-el-hogar/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://albertovilches.com/consumo-de-energia-en-el-hogar</feedburner:origLink></item>
	</channel>
</rss>
