<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:planet="http://planet.intertwingly.net/" xmlns:indexing="urn:atom-extension:indexing" indexing:index="no"><access:restriction xmlns:access="http://www.bloglines.com/about/specs/fac-1.0" relationship="deny"/>
  <title>Planet Webdev</title>
  <updated>2010-09-08T17:00:58Z</updated>
  <generator uri="http://intertwingly.net/code/venus/">Venus</generator>
  <author>
    <name>Héctor Delcourt</name>
    <email>armonth___AT___gmail.com</email>
  </author>
  <id>http://planetwebdev.net/atom.xml</id>
  <link href="http://planetwebdev.net/atom.xml" rel="self" type="application/atom+xml"/>
  <link href="http://planetwebdev.net" rel="alternate"/>

  <entry>
    <id>http://dzign.us/post/1086822260</id>
    <link href="http://feedproxy.google.com/~r/dzignus/~3/utuCQ5fXVBU/1086822260" rel="alternate" type="text/html"/>
    <title>Video: Introducción a Ajax y JavaScript</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><a href="http://www.exactas.uba.ar/uti/?p=63">Video: Introducción a Ajax y JavaScript</a>: <p>En la facultad de <strong>Ciencias Exactas de UBA</strong>, <a href="http://msmvps.com/blogs/lopez/default.aspx" title="Angel &quot;Java&quot; Lopez">Angel “Java” Lopez</a> dió una charla (de poco mas de una hora y media) sobre <strong>Javascript</strong>, la grabación de la presentación y los temas que se trataron pueden <a href="http://www.exactas.uba.ar/uti/?p=63" title="Introducci&#xF3;n a AJAX y JavaScript">verse aquí</a></p><img height="1" src="http://feeds.feedburner.com/~r/dzignus/~4/utuCQ5fXVBU" width="1"/></div>
    </summary>
    <updated>2010-09-08T15:17:00Z</updated>
    <category term="educacion"/>
    <category term="javascript"/>
    <category term="ajax"/>
    <category term="jquery"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://dzign.us/post/1086822260</feedburner:origLink>
    <source>
      <id>http://dzign.us/</id>
      <author>
        <name>Dzign.us</name>
      </author>
      <link href="http://dzign.us/" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/dzignus" rel="self" type="application/rss+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://tumblr.superfeedr.com/" rel="hub" type="text/html"/>
      <subtitle>Colección de artículos, recursos, enlaces y cosas interesantes sobre HTML, CSS, JS, PHP y Diseño Gráfico</subtitle>
      <title>dzign.us</title>
      <updated>2010-09-08T17:00:54Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://dzign.us/post/1086780975</id>
    <link href="http://feedproxy.google.com/~r/dzignus/~3/0KDL5WkrnXY/1086780975" rel="alternate" type="text/html"/>
    <title>Tips para crear CSS mantenibles, eficientes y optimizados</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><a href="http://www.zomigi.com/downloads/Highly-Maintainable-Efficient-Optimized-CSS.pdf">Tips para crear CSS mantenibles, eficientes y optimizados</a>: <p><a href="http://www.zomigi.com/downloads/Highly-Maintainable-Efficient-Optimized-CSS.pdf" title="Tips para crear CSS mantenibles, eficientes y optimizados">Presentación en PDF</a> hablando de varios consejos para crear estilos mantenibles, eficientes y optimizados</p><img height="1" src="http://feeds.feedburner.com/~r/dzignus/~4/0KDL5WkrnXY" width="1"/></div>
    </summary>
    <updated>2010-09-08T15:05:36Z</updated>
    <category term="CSS"/>
    <category term="tips"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://dzign.us/post/1086780975</feedburner:origLink>
    <source>
      <id>http://dzign.us/</id>
      <author>
        <name>Dzign.us</name>
      </author>
      <link href="http://dzign.us/" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/dzignus" rel="self" type="application/rss+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://tumblr.superfeedr.com/" rel="hub" type="text/html"/>
      <subtitle>Colección de artículos, recursos, enlaces y cosas interesantes sobre HTML, CSS, JS, PHP y Diseño Gráfico</subtitle>
      <title>dzign.us</title>
      <updated>2010-09-08T17:00:53Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.maestrosdelweb.com/?p=11678</id>
    <link href="http://www.maestrosdelweb.com/editorial/donde-encontrar-un-business-angel-para-tu-proyecto/" rel="alternate" type="text/html"/>
    <title>¿Dónde encontrar un Business Angel para tu proyecto?</title>
    <summary>Hablamos hace tiempo del dilema actual de Business Angels e Inversionistas que se esta viviendo en el mercado de inversiones en Internet, aunque vamos a ser sinceros esto no esta ocurriendo en todos los lugares y lo digo con un poco de pena que es casi nulo en América Latina. Tenemos algunas inversiones en portales [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Hablamos hace tiempo del dilema actual de <a href="http://www.maestrosdelweb.com/editorial/business-angels-e-inversionistas-amigos-o-enemigos/" target="_blank" title="Business Angels e Inversionistas">Business Angels e Inversionistas</a> que se esta viviendo en el mercado de inversiones en Internet, aunque vamos a ser sinceros esto no esta ocurriendo en todos los lugares y lo digo con un poco de pena que es <strong>casi nulo en América Latina</strong>. Tenemos algunas inversiones en portales de clasificados e iniciativas como <a href="http://www.corfo.cl/startupchile/" target="_blank" title="Startup Chile">Startup Chile</a> que pretenden incentivar que empresas tecnológicas se instalen en el país. Pero poco mas se puede presumir.</p>
<p><img alt="" height="202" src="http://www.smarta.com/umbraco/ImageGen.ashx?image=/images/articles/2012/article2012_399x219.jpg&amp;width=435" style="float: right; padding: 5px;" title="Angel Inversor" width="367"/>Esperemos que esta <strong>figura de inversionista</strong> pueda proliferar por Latino América, ya que la situación actual no es una escasez de dinero (por que la crisis no ha afectado tanto las economías Latinas). El problema es que no tenemos proyectos lo suficiente ambiciosos para justificar una inversión. Ya que el recibir dinero de nuestros familiares y amigos no cuenta como tal. Hablemos de la figura de un inversor ángel o business angel a fondo para que comprendan sus motivaciones y los retos que presentan.</p>
<h3>Motivaciones para invertir en Startups</h3>
<p>Como toda acción esta proviene de una intención o motivación, el business angel puede tener varios intereses en una Startup. Hay que tener muy claro en que pueden beneficiar a nuestro proyecto y tenemos que conocer bien cuales son sus intenciones para elaborar una visión clara de la relación que vamos a tener con el inversionista. Por que esto es una <strong>relación a largo plazo</strong> que no se te olvide.</p>
<blockquote><p>En el mundo de la tecnología, los inversionistas invierten en las <em>personas</em> con <em>ideas</em> innovadoras en mercados <em>interesantes</em>. – <strong>Jaime Urquhart – fundador de ARM.</strong></p></blockquote>
<p>A las personas les interesas tu como individuo, eso lo debes de tomar en cuenta. <strong>Tu eres la tarjeta de presentación</strong> del proyecto, así que si no sabes dirigirte y no sabes tratar a las personas, tendrás que conseguirte un socio que pueda hacerlo (hablaremos sobre el equipo en otra ocasión).</p>
<p>Una vez que este convencido del equipo detrás del proyecto, vera detenidamente tu propuesta. Que estas ofreciendo de valor, si estas innovando o si estas copiando una idea de otro sitio pensándola adaptar para tus clientes. En este punto es donde hoy por hoy tenemos un déficit considerable en América Latina, estamos creando demasiados proyectos basados en contenido y poco substancia innovadora.</p>
<p>El mercado al que te diriges es el factor que determina si tu proyecto es digno de recibir una inversión, el numero de clientes potenciales. Es un juego de números, no tiene mucha complicación ya que se determina por el total de personas que tienen una necesidad concreta y tu les ofreces la solución.</p>
<blockquote><p>Hay 3 etapas en las cuales un business angel puede invertir en una Startup, cuando apenas esta <em>creando el producto</em>, cuando esta buscando <em>posicionarse en el mercado</em> y cuando necesita mejorar sus<em> canales de efectivo</em> – <strong>Dave McClure – 500Startups</strong></p></blockquote>
<p>Hay un artículo que deja muy claro todo el proceso de inversión por medio de los ojos de un Business Angel, <a href="http://500hats.typepad.com/500blogs/2010/07/moneyball-for-startups.html" target="_blank" title="MoneyBall for Startups - Dave McClure">MoneyBall for Startups</a> que lo publicaron en el blog de 500Hats del mismo <a href="http://twitter.com/davemcclure" target="_blank" title="Twitter - Dave McClure">DaveMcClure</a>.</p>
<p>Pide dinero por las razones correctas, no entraré en detalle. Pero cada uno conoce bien cuales son las necesidades de nuestro proyecto y por favor, vuelvo a repetirme que no se vale pedir dinero para pagar salarios del equipo fundador. Tienen que tener algunas métricas de gastos. Hagan sus deberes, aquí os dejo un pequeño listado:</p>
<ul>
<li>Datos sobre el mercado al que le vendes.</li>
<li>Información que compruebe que estos clientes quieren pagar por tus servicios.</li>
<li>La competencia. ¿Qué no tienes competencia? Pues busca un servicio alternativo o similar. No seas sangano y localiza tu competencia aunque este en China.</li>
<li>Haz pruebas y trata de tener el coste de adquisición por usuario o adquisición de contenido (si alguno de ustedes aun se aferran a portales y blogs).</li>
<li>Coste operativo. Lo que te cuesta hacer una venta.</li>
</ul>
<h3>Soltero y sin compromiso</h3>
<p>Es bastante conocido que no hay nada mejor que la soltería empresarial, no tienes nada que te mantenga atado a ningún cliente o empresa y eres el que tiene la última palabra en todo lo que concierne a tu proyecto. Pero todo esto cambia en el instante que recibes dinero de un inversor. Hay ciertos puntos que debes estar plenamente consciente que debes afrontar:</p>
<ul>
<li>Las acciones de tu empresa se diluyen, esto quiere decir que la empresa ya no esta completamente en manos del equipo fundador y generalmente se pierden algunos derechos (como ser el primer en vender acciones).</li>
<li>Tendrás que reportarte mensualmente o semestralmente con la junta directiva, que esto depende del número de inversores que tengas.</li>
<li>Las decisiones se toman en consenso con el inversor, también esto es porque el Business Angel tiene más experiencia.</li>
</ul>
<blockquote><p>Es básico presentar una estrategia para adquirir los clientes, sino presentas esto lo único que haz demostrado es que no tienes idea de a quien le vas a vender. – <strong>Bernardo de Tomas – Okuri Ventures</strong></p></blockquote>
<h3>Hacer el contacto con tu primer inversor</h3>
<p>Los business angels te pueden parecer como fantasmas que eluden la luz pública, pero se encuentran en todas las ciudades que tengan círculos de empresarios, algunos menos tradicionales que otros pero los hay en toda ciudad con industria. Ellos pueden simpatizar contigo o tu proyecto, pero algo tiene que captar su atención.</p>
<ul>
<li>Experiencia en el mercado en que te desenvuelves.</li>
<li>Amigos o familiares en común, no descartes esta opción. Pregunta a la gente más cercana a ti, si conocen de alguien que invierta.</li>
<li>Networking y mas networking. Pieza clave de todo emprendedor.</li>
<li>Estar presente en los eventos donde este tipo de gente socializa y hacer negocios.</li>
</ul>
<p>No hay excusas, ahora con Twitter, Foursquare y Gowalla, puedes saber donde esta, casi cualquier persona del mundo. Así que no pongan replys que no encuentran inversores. Recuerden la teoría de los <a href="http://es.wikipedia.org/wiki/Seis_grados_de_separaci%C3%B3n" target="_blank" title="Teoria Seis Grados de Separaci&#xF3;n.">Seis grados de separación</a>, todos estamos a unos cuantos pasos de cualquier persona del mundo. Por lo menos eso dice la teoría.</p>
<p>Pero voy a ser sincero, los eventos son el lugar más adecuado para hacer ese primer contacto. Porque la gente viene a hacer networking y por lo general todos tenemos tiempo libre durante un evento para tomar un café, cerveza o vino. Así que animarse, es tan sencillo como presentarse.</p>
<blockquote><p>Los eventos (Mini-Seedcamps) nos sirven para ver como se <em>comportan</em> los emprendedores, como <em>reciben las criticas</em>, se manejan ante el público, como <em>interactúan</em> entre el equipo y como <em>escuchan</em>. De esta manera sabemos en quién vamos a invertir. – <strong>Reshma Sohoni – CEO Seedcamp.</strong></p></blockquote>
<h3>Próximos eventos para conocer inversores</h3>
<p>No negaré que en Europa hay mucha facilidad para esto, con eventos como <a href="http://seedcamp.com/pages/mini_seedcamps" target="_blank" title="Mini-Seedcamps 2010">Mini-Seedcamp</a> y <a href="http://seedcamp.com/pages/scw_2010" target="_blank" title="Seedcamp Week 2010">Seedcamp Week</a> en Londres que será este <strong>13 a 17 de septiembre</strong>. También en la península Ibérica se están dando cita eventos que intentan reunir a la comunidad de inversores para que las Startups locales pueden acercarse y hacer ese primer contacto.</p>
<p><img alt="" height="110" src="http://www.aitotechnologies.com/wp/wp-content/uploads/2010/08/whitebull.jpg" style="float: right; padding: 5px;" title="WhiteBull Summit" width="105"/>Los días <strong>20 al 22 de septiembre se dará cita en Barcelona </strong>la conferencia llamada <a href="http://whitebull.com/" title="WhiteBull Summit 2010 - Barcelona">WhiteBullSummit</a>, con el lema: Pathways to Exit. Que tiene una lista de ponentes muy buena, será la ocasión ideal para que empresas de Iberoamericana se presenten y apliquen para el <a href="http://whitebull.com/bullpen-2010-0" target="_blank" title="WhiteBull Summit - Bullpen 2010">Bullpen 2010</a>, donde se ofrecerá asesoría para las Startups y una oportunidad de interactuar uno a uno con inversores.</p>
<p>También habrá una competencia para Startups, por ejemplo se encontrará una empresa de España llamada<a href="http://sclipo.com" target="_blank" title="Sclipo - Elearning"> Sclipo</a>, que ofrece un sistema de aulas virtuales para dar clases por Internet. Así que no es solamente para empresas foráneas, sino también para regionales y nacionales. Con estos eventos espero despertar el interés de vosotros para que se animen a presentarse y poder hacer ese crucial primer intercambio de tarjetas con su inversor potencial.</p>
<hr/><p style="height: 64px;"><img alt="Claudio Cossio" class="avatar" src="http://www.maestrosdelweb.com/images/autores/360-33.jpg" style="float: left; padding: 0 5px;"/> <strong>Claudio Cossio</strong> para <a href="http://www.maestrosdelweb.com">Maestros del Web</a>.<br/><a href="http://www.maestrosdelweb.com/editorial/donde-encontrar-un-business-angel-para-tu-proyecto/#respond">Agrega tu comentario</a> | <a href="http://www.maestrosdelweb.com/editorial/donde-encontrar-un-business-angel-para-tu-proyecto/">Enlace permanente</a> al artículo</p><hr style="clear: both;"/>
		<p><strong>Síguenos en:</strong> <img src="http://www.maestrosdelweb.com/diseno/imagenes/twitter.png" style="vertical-align: middle;"/> <a href="http://twitter.com/maestros">@maestros</a> | <img src="http://www.maestrosdelweb.com/diseno/imagenes/facebook.png" style="vertical-align: middle;"/> <a href="http://www.facebook.com/maestrosdelweb">Fan page</a></p></div>
    </content>
    <updated>2010-09-08T14:45:30Z</updated>
    <category term="Destacados"/>
    <category term="Editorial"/>
    <category term="Negocios"/>
    <category term="Business Angels"/>
    <category term="Seedcamp Week"/>
    <category term="WhiteBull Summit"/>
    <author>
      <name>Claudio Cossio</name>
    </author>
    <source>
      <id>http://www.maestrosdelweb.com</id>
      <link href="http://www.maestrosdelweb.com" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/mweditorial" rel="self" type="application/atom+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Un espacio para los entusiastas del web</subtitle>
      <title>Maestros del Web</title>
      <updated>2010-09-08T17:00:51Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.adseok.com/?p=3029</id>
    <link href="http://feeds.adseok.com/~r/AdseokOptimizacionEnBuscadores/~3/BoVQKJ8KOaY/" rel="alternate" type="text/html"/>
    <title>Cambios en Google: Nuevo botón “buscar” y resultados según escribes</title>
    <summary>Algunos usuarios están reportando algunos cambios en Google que seguro tienen que ver con el anuncio del gran evento de Google search que viene anunciando con sus logos. Entre estos cambios que se están posteando en multitud de sitios, destacan dos, y que en realidad son el mismo: Resultados que cambian según escribes A medida [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p><a href="http://feedads.g.doubleclick.net/~a/bo-3A_hAiWx37lLpI3SOMqjWt8o/0/da"><img border="0" ismap="true" src="http://feedads.g.doubleclick.net/~a/bo-3A_hAiWx37lLpI3SOMqjWt8o/0/di"/></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/bo-3A_hAiWx37lLpI3SOMqjWt8o/1/da"><img border="0" ismap="true" src="http://feedads.g.doubleclick.net/~a/bo-3A_hAiWx37lLpI3SOMqjWt8o/1/di"/></a></p><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.adseok.com%2Fgoogle%2Fcambios-en-google-nuevo-boton-buscar-y-resultados-segun-escribes%2F"><br/>
				<img height="61" src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.adseok.com%2Fgoogle%2Fcambios-en-google-nuevo-boton-buscar-y-resultados-segun-escribes%2F&amp;source=Adseok&amp;style=normal" width="50"/><br/>
			</a>
		</div>
<p>Algunos usuarios están reportando algunos cambios en Google que seguro tienen que ver con el anuncio del gran evento de Google search que viene <a href="http://www.adseok.com/google/nuevo-logo-de-google-que-cambia-segun-escribes/">anunciando con sus logos</a>.</p>
<p>Entre estos cambios que se están posteando en multitud de sitios, destacan dos, y que en realidad son el mismo:</p>
<h2>Resultados que cambian según escribes</h2>
<p>A medida que escribimos, los resultados cambian, no es necesario apretar <a href="http://www.youtube.com/watch?v=Ty71OxyQKKc">ningún botón</a>, al estilo de las sugerencias en el cajón de búsqueda:</p>
<p align="center">&lt;object height="385" width="480"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Ty71OxyQKKc?fs=1&amp;amp;hl=en_US"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed allowfullscreen="true" allowscriptaccess="always" height="385" src="http://www.youtube.com/v/Ty71OxyQKKc?fs=1&amp;amp;hl=en_US" type="application/x-shockwave-flash" width="480"&gt;&lt;/embed&gt;&lt;/object&gt;</p>
<h2>Saltándose el botón buscar</h2>
<p>Si empezamos a escribir en la portada, Google automáticamente cambia su vista a los resultados, <a href="http://www.youtube.com/watch?v=9yiBxR5s1C4">sin dar al botón “buscar”</a>:</p>
<p align="center">&lt;object height="340" width="560"&gt;&lt;param name="movie" value="http://www.youtube.com/v/9yiBxR5s1C4?fs=1&amp;amp;hl=en_US"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed allowfullscreen="true" allowscriptaccess="always" height="340" src="http://www.youtube.com/v/9yiBxR5s1C4?fs=1&amp;amp;hl=en_US" type="application/x-shockwave-flash" width="560"&gt;&lt;/embed&gt;&lt;/object&gt;</p>
<p>Como dice uno de los comentarios más votados del vídeo, <em>Why google is? so awesome?!</em></p>
<img height="1" src="http://feeds.feedburner.com/~r/PosicionamientoEnBuscadoresConAdseokSeo/~4/Ltv2yteuqWc" width="1"/><img height="1" src="http://feeds.feedburner.com/~r/AdseokOptimizacionEnBuscadores/~4/BoVQKJ8KOaY" width="1"/></div>
    </content>
    <updated>2010-09-08T11:52:47Z</updated>
    <category term="Google"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedproxy.google.com/~r/PosicionamientoEnBuscadoresConAdseokSeo/~3/Ltv2yteuqWc/</feedburner:origLink>
    <author>
      <name>Adseok</name>
    </author>
    <source>
      <id>http://www.adseok.com</id>
      <logo>http://feeds.adseok.com/~fc/AdseokOptimizacionEnBuscadores?bg=010101&amp;fg=FFFFFF&amp;anim=1&amp;label=Lectores</logo>
      <link href="http://www.adseok.com" rel="alternate" type="text/html"/>
      <link href="http://feeds.adseok.com/AdseokOptimizacionEnBuscadores" rel="self" type="application/atom+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Posicionamiento en buscadores, trucos y recursos de optimización web</subtitle>
      <title>SEO - Posicionamiento web - Adseok SEO</title>
      <updated>2010-09-08T17:00:20Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.adseok.com/?p=3022</id>
    <link href="http://feeds.adseok.com/~r/AdseokOptimizacionEnBuscadores/~3/HPYGdz10NE8/" rel="alternate" type="text/html"/>
    <title>Nuevo logo de Google que cambia según escribes</title>
    <summary>Google sigue con su serie de logos interactivos, y después del logo de ayer, hoy tenemos otro que cambia según escribes. El logo aparece en gris y las letras se van coloreando a medida que se escriben caracteres, al estilo de las sugerencias pero con las letras y colores del propio logo. También añade un [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p><a href="http://feedads.g.doubleclick.net/~a/2CpvlvqA2Cw6itVKvtnRK0oBOcg/0/da"><img border="0" ismap="true" src="http://feedads.g.doubleclick.net/~a/2CpvlvqA2Cw6itVKvtnRK0oBOcg/0/di"/></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/2CpvlvqA2Cw6itVKvtnRK0oBOcg/1/da"><img border="0" ismap="true" src="http://feedads.g.doubleclick.net/~a/2CpvlvqA2Cw6itVKvtnRK0oBOcg/1/di"/></a></p><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.adseok.com%2Fgoogle%2Fnuevo-logo-de-google-que-cambia-segun-escribes%2F"><br/>
				<img height="61" src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.adseok.com%2Fgoogle%2Fnuevo-logo-de-google-que-cambia-segun-escribes%2F&amp;source=Adseok&amp;style=normal" width="50"/><br/>
			</a>
		</div>
<p>Google sigue con su serie de <em>logos interactivos</em>, y después del <a href="http://www.adseok.com/google/muchas-quejas-por-el-logo-de-las-bolas-de-google-que-no-es-por-su-cumpleanos/">logo de ayer</a>, hoy tenemos otro que cambia según escribes. El logo aparece en gris y las letras se van coloreando a medida que se escriben caracteres, al estilo de las sugerencias pero con las letras y colores del propio logo. También añade un cursor.</p>
<p align="center"><a href="http://www.adseok.com/wp-content/uploads/google-series-2.png"><img alt="" class="alignnone size-full wp-image-3023" height="239" src="http://www.adseok.com/wp-content/uploads/google-series-2.png" title="google-series-2" width="540"/></a></p>
<p align="center"><a href="http://www.adseok.com/wp-content/uploads/google-logo-series-1.png"><img alt="" class="alignnone size-full wp-image-3024" height="487" src="http://www.adseok.com/wp-content/uploads/google-logo-series-1.png" title="google-logo-series-1" width="536"/></a></p>
<p>Es sin duda una demostración de lo que parece que va a ser el evento sobre el buscador planeado para el miércoles, cuyo lema es ya el <em>“fast, fun and interactive, just the way we think search should be.” (rápido, divertido e interactivo, justo como pensamos que deberían ser las búsquedas)</em></p>
<p>Con tanto misterio estoy impaciente ya por ver lo que anuncian.</p>
<img height="1" src="http://feeds.feedburner.com/~r/PosicionamientoEnBuscadoresConAdseokSeo/~4/qM4hAT8vlzo" width="1"/><img height="1" src="http://feeds.feedburner.com/~r/AdseokOptimizacionEnBuscadores/~4/HPYGdz10NE8" width="1"/></div>
    </content>
    <updated>2010-09-08T03:21:22Z</updated>
    <category term="Google"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedproxy.google.com/~r/PosicionamientoEnBuscadoresConAdseokSeo/~3/qM4hAT8vlzo/</feedburner:origLink>
    <author>
      <name>Adseok</name>
    </author>
    <source>
      <id>http://www.adseok.com</id>
      <logo>http://feeds.adseok.com/~fc/AdseokOptimizacionEnBuscadores?bg=010101&amp;fg=FFFFFF&amp;anim=1&amp;label=Lectores</logo>
      <link href="http://www.adseok.com" rel="alternate" type="text/html"/>
      <link href="http://feeds.adseok.com/AdseokOptimizacionEnBuscadores" rel="self" type="application/atom+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Posicionamiento en buscadores, trucos y recursos de optimización web</subtitle>
      <title>SEO - Posicionamiento web - Adseok SEO</title>
      <updated>2010-09-08T17:00:20Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://dzign.us/post/1081022142</id>
    <link href="http://feedproxy.google.com/~r/dzignus/~3/muZrJnFF8HQ/1081022142" rel="alternate" type="text/html"/>
    <title>(via listo, nerdinlove)</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><img src="http://28.media.tumblr.com/tumblr_l82lszRYEn1qb7evco1_500.png"/><br/><br/><p>(via <a href="http://listo.tumblr.com/">listo</a>, <a href="http://nerdinlove.tumblr.com/post/1047848617">nerdinlove</a>)</p><img height="1" src="http://feeds.feedburner.com/~r/dzignus/~4/muZrJnFF8HQ" width="1"/></div>
    </summary>
    <updated>2010-09-07T13:13:51Z</updated>
    <category term="humor"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://dzign.us/post/1081022142</feedburner:origLink>
    <source>
      <id>http://dzign.us/</id>
      <author>
        <name>Dzign.us</name>
      </author>
      <link href="http://dzign.us/" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/dzignus" rel="self" type="application/rss+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://tumblr.superfeedr.com/" rel="hub" type="text/html"/>
      <subtitle>Colección de artículos, recursos, enlaces y cosas interesantes sobre HTML, CSS, JS, PHP y Diseño Gráfico</subtitle>
      <title>dzign.us</title>
      <updated>2010-09-08T17:00:53Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.adseok.com/?p=3017</id>
    <link href="http://feeds.adseok.com/~r/AdseokOptimizacionEnBuscadores/~3/Uuzt9O44Z1s/" rel="alternate" type="text/html"/>
    <title>Muchas quejas por el logo de las bolas de Google, que no es por su cumpleaños</title>
    <summary>El original logo de hoy de Google ha levantado, por un lado, especulaciones sobre si era o no por su 12 cumpleaños (confirmado oficialmente), y por otro decenas de protestas contra el doodle – 1, 2, 3, 4, 5, 6, 7, etc. Por una parte, el doodle parece una forma de meter ruido ante el [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p><a href="http://feedads.g.doubleclick.net/~a/T7jJF_22yht2QwpmYJ4lb2EVDpI/0/da"><img border="0" ismap="true" src="http://feedads.g.doubleclick.net/~a/T7jJF_22yht2QwpmYJ4lb2EVDpI/0/di"/></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/T7jJF_22yht2QwpmYJ4lb2EVDpI/1/da"><img border="0" ismap="true" src="http://feedads.g.doubleclick.net/~a/T7jJF_22yht2QwpmYJ4lb2EVDpI/1/di"/></a></p><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.adseok.com%2Fgoogle%2Fmuchas-quejas-por-el-logo-de-las-bolas-de-google-que-no-es-por-su-cumpleanos%2F"><br/>
				<img height="61" src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.adseok.com%2Fgoogle%2Fmuchas-quejas-por-el-logo-de-las-bolas-de-google-que-no-es-por-su-cumpleanos%2F&amp;source=Adseok&amp;style=normal" width="50"/><br/>
			</a>
		</div>
<p align="center"><img alt="" class="alignnone" height="265" src="http://www.adseok.com/wp-content/uploads/google-particulas.png" title="google-logo-bolas" width="534"/></p>
<p>El original logo de hoy de Google ha levantado, por un lado, especulaciones sobre si era o <a href="http://www.adseok.com/google/google-celebra-su-12-cumpleanos-con-un-logo-animado/">no por su 12 cumpleaños</a> (<a href="http://www.seroundtable.com/archives/022859.html">confirmado</a> oficialmente), y por otro decenas de protestas contra el doodle – <a href="http://www.google.com/support/forum/p/Web+Search/thread?tid=6bf2d654d14b941b&amp;hl=en">1</a>, <a href="http://www.google.com/support/forum/p/Web+Search/thread?tid=3a203d7675defec0&amp;hl=en">2</a>, <a href="http://www.google.com/support/forum/p/Web+Search/thread?tid=661459c371d8c81d&amp;hl=en">3</a>, <a href="http://www.google.com/support/forum/p/Web+Search/thread?tid=05115b2d52e3350e&amp;hl=en">4</a>, <a href="http://www.google.com/support/forum/p/Web+Search/thread?tid=22013feb431d0b00&amp;hl=en">5</a>, <a href="http://www.google.com/support/forum/p/Web+Search/thread?tid=3256068003a21587&amp;hl=en">6</a>, <a href="http://www.google.com/support/forum/p/Web+Search/thread?tid=3a203d7675defec0&amp;hl=en">7</a>, etc.</p>
<p>Por una parte, el doodle parece una forma de meter ruido ante el <strong>Google Search Event</strong> que podría anunciar una página de resultados interactiva y que mucha gente espera impaciente, y por otra, mucha gente se ha tomado fatal que Google arriesgue tanto con un logo. A mí personalmente me gusta bastante.</p>
<p>Veremos qué sucede al final, pero si no se me pasa algo por alto, sería la primera vez que Google utiliza su logo para crear expectación.</p>
<img height="1" src="http://feeds.feedburner.com/~r/PosicionamientoEnBuscadoresConAdseokSeo/~4/6uKWAzsOUhw" width="1"/><img height="1" src="http://feeds.feedburner.com/~r/AdseokOptimizacionEnBuscadores/~4/Uuzt9O44Z1s" width="1"/></div>
    </content>
    <updated>2010-09-07T10:16:52Z</updated>
    <category term="Google"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedproxy.google.com/~r/PosicionamientoEnBuscadoresConAdseokSeo/~3/6uKWAzsOUhw/</feedburner:origLink>
    <author>
      <name>Adseok</name>
    </author>
    <source>
      <id>http://www.adseok.com</id>
      <logo>http://feeds.adseok.com/~fc/AdseokOptimizacionEnBuscadores?bg=010101&amp;fg=FFFFFF&amp;anim=1&amp;label=Lectores</logo>
      <link href="http://www.adseok.com" rel="alternate" type="text/html"/>
      <link href="http://feeds.adseok.com/AdseokOptimizacionEnBuscadores" rel="self" type="application/atom+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Posicionamiento en buscadores, trucos y recursos de optimización web</subtitle>
      <title>SEO - Posicionamiento web - Adseok SEO</title>
      <updated>2010-09-08T17:00:20Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-27752126.post-4015045843406013990</id>
    <link href="http://www.variablenotfound.com/feeds/4015045843406013990/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=27752126&amp;postID=4015045843406013990" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/27752126/posts/default/4015045843406013990?v=2" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/27752126/posts/default/4015045843406013990?v=2" rel="self" type="application/atom+xml"/>
    <link href="http://feedproxy.google.com/~r/vnf/~3/BivWH2qnjiI/referenciar-scripts-estilos-y-otros.html" rel="alternate" type="text/html"/>
    <title>Referenciar scripts, estilos y otros recursos desde vistas MVC</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><img align="right" alt="ASP.NET MVC" border="0" height="77" src="http://lh4.ggpht.com/_O9D62hXq-ng/TDYUvYM4lKI/AAAAAAAABTw/df-Z_s82ojc/aspnetmvc%5B3%5D.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; margin: 0px 0px 10px 10px;" title="ASP.NET MVC" width="142"/> Una cuestión que consultan frecuentemente los alumnos del <a href="http://shop.campusmvp.com/Product-Desarrollo-Web-con-ASP.NET-MVC-2_92.aspx" title="Curso ASP.NET MVC 2 en CampusMVP">curso de MVC</a> que tutorizo en <a href="http://www.campusmvp.com/CampusMVP/">CampusMVP</a>, y que veo en los <a href="http://social.msdn.microsoft.com/Forums/es-ES/aspnetmvces/threads" title="Foro oficial de ASP.NET MVC">foros oficiales del framework</a> trata sobre el uso correcto de rutas hacia recursos utilizados por las páginas, como scripts, estilos o imágenes.<br/>
<br/>
Unas referencias erróneas hacia las páginas de estilo o imágenes pueden hacer que un sitio web, o parte de éste, deje de visualizarse correctamente; en el tema de scripts es más grave pues en el peor de los casos el sistema puede dejar de funcionar o presentar un comportamiento anómalo, sobre todo si se hace uso intensivo de bibliotecas como jQuery o MS Ajax.<br/>
<br/>
Para mayor desgracia, muchas veces la aparición de estos síntomas es tardía. Todo parece funcionar correctamente en desarrollo, con el servidor integrado de Visual Studio, y falla estrepitosamente al publicarlo en el IIS de producción, lo cual puede provocar un cierto nerviosismo y la aparición de frases como <a href="http://www.variablenotfound.com/2010/05/consejos-imprescindibles-por-si-algo.html">"¡en mi máquina funciona!"</a> ;-).<br/>
<br/>
¿Y por qué es tan habitual encontrar problemas en esto, a priori tan sencillo? En mi opinión, por las prisas y la comodidad, sin duda malas compañías para los desarrolladores. Y conste que no seré yo quien tire la primera piedra...<br/>
<br/>
Sin duda es realmente cómodo arrastrar un recurso (script, estilo…) desde el explorador de proyectos y dejarlo caer sobre una vista; Visual Studio es lo suficientemente inteligente como para generar la etiqueta apropiada para referenciarlo.<br/>
<br/>
Por ejemplo, editando el archivo /Views/Home/Index.aspx, podemos arrastrar directamente el archivo /Content/Site.css y el entorno generará un tag <code>&lt;link&gt;</code> completo:<br/>
<br/>
<a href="http://lh5.ggpht.com/_O9D62hXq-ng/TDYUwYJ9gWI/AAAAAAAABT0/H7U6ItAtZrk/s1600-h/image%5B7%5D.png"><img alt="Arrastrar recurso sobre una vista" border="0" height="135" src="http://lh3.ggpht.com/_O9D62hXq-ng/TDYUxlsiyvI/AAAAAAAABT4/PccCghshU0I/image_thumb%5B1%5D.png?imgmax=800" style="border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin: 10px auto;" title="Arrastrar recurso sobre una vista" width="626"/></a>Sin embargo, si nos fijamos bien, <strong>la ruta que está creando hacia el recurso no es del todo correcta</strong>.<br/>
<br/>
En tiempo de diseño el entorno no sabe qué URL será utilizada para acceder a la página, por lo que incluye en el código es la ubicación relativa del recurso respecto a la ubicación de la vista actual en el sistema de archivos.<br/>
<br/>
Por ello, en el ejemplo anterior, editando el archivo /Views/Home/Index.aspx ha generado la ruta relativa hacia la carpeta Content, que incluye dos saltos hacia arriba en la estructura de carpetas para llegar al raíz, más el acceso al archivo desde éste.<br/>
<br/>
Esto puede ser válido si estamos editando páginas en un entorno en el que las peticiones son mapeadas directamente contra el sistema de archivos, pero no en MVC, donde <strong>las rutas son tan fácilmente manipulables</strong>. <br/>
<br/>
De la misma forma, tampoco sería válido en escenarios WebForms donde la ubicación de la página no coincida con la de la petición actual, como las páginas maestras o controles de usuario, o si utilizamos las nuevas capacidades de routing de .NET 4.<br/>
<br/>
Volviendo de nuevo al ejemplo anterior, aunque la vista esté implementada en el archivo  /Views/Home/Index.aspx, el acceso a la misma podría realizarse, utilizando la ruta por defecto, mediante la URL <a href="http://servidor/">http://servidor/</a>, lo que implica que la referencia relativa de la hoja de estilos estaría saliéndose del ámbito de la aplicación, es decir, se estaría intentando acceder dos niveles por arriba de la carpeta de publicación del proyecto.<br/>
<br/>
En el servidor web integrado en Visual Studio nuestra aplicación funcionará correctamente al ignorar los intentos de subir más allá del raíz de la aplicación, lo que retrasa la detección del problema. Al publicar en IIS, bastante menos permisivo, nos encontraremos con que nuestra aplicación ha dejado de funcionar.<br/>
<br/>
Afortunadamente hay soluciones para todos los gustos. De hecho, más que soluciones para cuando aparezca el problema, deberíamos tomarlas como buenas prácticas a la hora de referenciar cualquier tipo de elemento desde el principio del desarrollo. <br/>
<br/>
Veamos algunas de ellas.<br/>
<h3>
Solución 0: Cambiar las rutas a mano</h3>
La “solución” más artesana es, sin duda, introducir manualmente las rutas en todas las referencias hacia recursos externos de la vista. De hecho, en realidad nos puede ayudar a solucionar el problema descrito anteriormente, pero es bastante poco flexible, y no muy recomendable.<br/>
<br/>
Así, el ejemplo anterior podríamos editar el código generado por Visual Studio y sustituirlo por el siguiente:<br/>
<br/>
<div id="codeSnippetWrapper">
<div id="codeSnippet" style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">
<pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">&lt;link href=<span style="color: #006080;">"/Content/Site.css"</span> rel=<span style="color: #006080;">"stylesheet"</span> type=<span style="color: #006080;">"text/css"</span> /&gt;</pre>
</div>
</div>
<br/>
Como observaréis, hemos eliminado la porción “../../” de la ruta, por lo que la hoja de estilos ya estaría referenciada correctamente, ¿no?<br/>
<br/>
Pues depende. Si nuestra aplicación se publica en el raíz de un dominio o subdominio, todo será correcto; en cambio, si queremos desplegarla en un directorio ya la hemos vuelto a liar, puesto que la referencia asume que la carpeta “Content” se encuentra en el raíz.<br/>
<br/>
Por experiencia, suele ser bastante habitual que durante el desarrollo de una aplicación se cuelguen versiones de demostración en directorios privados, y una vez terminada se pasen al raíz de su dominio. Ante este escenario, si las rutas las hemos indicado de forma absoluta, en vez de una solución, hacer <strong>este cambio es sólo introducir una nueva fuente de problemas</strong>.<br/>
<h3>
Solución 1: Usar el helper Url.Content()</h3>
El helper <code>Url.Content()</code> nos permite obtener la URL del recurso cuya ubicación física estamos pasándole como parámetro. Dado que el resultado se calcula en tiempo de ejecución, el framework ya dispone de información suficiente para generar la dirección correcta.<br/>
<br/>
La forma de usarlo, muy sencilla. Observad el uso del gusanillo “~” para hacer referencia al directorio raíz de la aplicación:<br/>
<br/>
<div id="codeSnippetWrapper">
<div id="codeSnippet" style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">
<pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">&lt;link href=<span style="color: #006080;">"&lt;%= Url.Content("</span>~/Content/Site.css<span style="color: #006080;">")%&gt;"</span> rel=<span style="color: #006080;">"stylesheet"</span> type=<span style="color: #006080;">"text/css"</span> /&gt;</pre>
<pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">&lt;script src=<span style="color: #006080;">"&lt;%= Url.Content("</span>~/Scripts/jquery-1.4.1.js<span style="color: #006080;">")%&gt;"</span> </pre>
<pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">        type=<span style="color: #006080;">"text/javascript"</span> /&gt;&lt;/script&gt;</pre>
</div>
</div>
<br/>
<strong>Este enfoque sí aporta una solución definitiva</strong> al problema, aunque a la hora de codificarlo sea algo tedioso.<br/>
<h3>
Solución 2: usar T4MVC</h3>
Otra alternativa, sin duda interesante, para generar la ruta correcta es utilizar la magnífica herramienta T4MVC, de la que ya <a href="http://www.variablenotfound.com/2009/12/t4-el-talisman-contra-las-cadenas.html" title="T4, el talism&#xE1;n contra las cadenas m&#xE1;gicas">hemos hablado por aquí algunas veces</a>. Muy resumidamente, T4MVC es una plantilla de generación de código automático capaz de analizar el contenido de nuestro proyecto y generar “constantes” que nos permitan eliminar los literales de texto en las aplicaciones MVC.<br/>
<br/>
Así, por ejemplo, tras su inclusión en nuestro proyecto, la propiedad pública  <code>Links.Content.Site_css</code> contendrá la ruta correcta hacia el archivo <code>~/Content/Site.css</code>, calculada en tiempo de ejecución, por lo que podríamos dejar el código anterior en:<br/>
<br/>
<div id="codeSnippet" style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">
<pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">&lt;link href=<span style="color: #006080;">"&lt;%= Links.Content.Site_css </span><span style="color: #006080;">%&gt;"</span> rel=<span style="color: #006080;">"stylesheet"</span> type=<span style="color: #006080;">"text/css"</span> /&gt;</pre>
<pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">&lt;script src=<span style="color: #006080;">"&lt;%= Links.Scripts.jquery_1_4_1_js </span><span style="color: #006080;">%&gt;"</span> </pre>
<pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">        type=<span style="color: #006080;">"text/javascript"</span> /&gt;&lt;/script&gt;</pre>
</div>
<br/>
Observad que hemos eliminado la llamada a <code>Url.Content()</code>, puesto que ya las propiedades utilizadas están calculando la ruta correcta. <br/>
<br/>
Una ventaja adicional de T4MVC es que podría detectarse en tiempo de compilación la ausencia de un archivo. Si después de introducir el código anterior eliminamos los archivos referenciados, al compilar la vista se produciría un error. Además, durante la codificación podemos disfrutar de intellisense para descubrir los archivos y evitar errores.<br/>
<h3>
Solución 3: Crear nuestros propios helpers</h3>
Ya sabemos que el framework ASP.NET MVC está, desde sus inicios, preparado para ser fácilmente extendido, y los helpers Html de las vistas no iban a ser la excepción. <br/>
<br/>
Si por cualquier <strike>extraño e incomprensible</strike> motivo no quieres o puedes utilizar T4MVC, siempre podrías construirte tus propios helpers. En el siguiente ejemplo, vemos cómo con un par de llamadas podríamos simplificar la generación de las etiquetas de referencia a scripts y estilos en una página:<br/>
<br/>
<div id="codeSnippetWrapper">
<div id="codeSnippet" style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">
<pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">&lt;head&gt;</pre>
<pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">&lt;title&gt;Mi sitio web&lt;/title&gt;</pre>
<pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">&lt;%= Html.IncludeStyles(<span style="color: #006080;">"site.css"</span>, <span style="color: #006080;">"ui.jqgrid.css"</span>, <span style="color: #006080;">"redmond/jquery-ui-1.8.2.custom.css"</span>)%&gt;</pre>
<pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">&lt;%= Html.IncludeScripts(<span style="color: #006080;">"jquery-1.4.1.min.js"</span>, <span style="color: #006080;">"jquery-ui-1.8.2.custom.min.js"</span>, </pre>
<pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">                        <span style="color: #006080;">"grid.locale-sp.js"</span>, <span style="color: #006080;">"jquery.jqGrid.min.js"</span>)%&gt;</pre>
<pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">&lt;/head&gt;</pre>
</div>
</div>
<br/>
Como se puede intuir, estos helpers generarán las etiquetas <code>&lt;style&gt;</code> y <code>&lt;script&gt;</code> correspondientes para todos los archivos que se les suministre como parámetros. El código, el siguiente:<br/>
<div id="codeSnippetWrapper">
<div id="codeSnippet" style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">
<pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"> </pre>
<pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"><span style="color: blue;">public</span> <span style="color: blue;">static</span> <span style="color: blue;">class</span> HtmlIncludeHelpers</pre>
<pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">{</pre>
<pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">    <span style="color: blue;">public</span> <span style="color: blue;">static</span> MvcHtmlString IncludeScripts(<span style="color: blue;">this</span> HtmlHelper html, </pre>
<pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">                                               <span style="color: blue;">params</span> <span style="color: blue;">string</span>[] scriptNames)</pre>
<pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">    {</pre>
<pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">        <span style="color: blue;">return</span> generateContent(</pre>
<pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">                    html,</pre>
<pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">                    <span style="color: #006080;">@"&lt;script type="</span><span style="color: #006080;">"text/javascript"</span><span style="color: #006080;">" src="</span><span style="color: #006080;">"{0}"</span><span style="color: #006080;">"&gt;&lt;/script&gt;"</span>,</pre>
<pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">                    <span style="color: #006080;">"~/Scripts/"</span>,</pre>
<pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">                    scriptNames</pre>
<pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">        );</pre>
<pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">    }</pre>
<pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"> </pre>
<pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">    <span style="color: blue;">public</span> <span style="color: blue;">static</span> MvcHtmlString IncludeStyles(<span style="color: blue;">this</span> HtmlHelper html, </pre>
<pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">                                              <span style="color: blue;">params</span> <span style="color: blue;">string</span>[] fileNames)</pre>
<pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">    {</pre>
<pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">        <span style="color: blue;">return</span> generateContent(</pre>
<pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">                    html,</pre>
<pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">                    <span style="color: #006080;">@"&lt;link href="</span><span style="color: #006080;">"{0}"</span><span style="color: #006080;">" rel="</span><span style="color: #006080;">"stylesheet"</span><span style="color: #006080;">" type="</span><span style="color: #006080;">"text/css"</span><span style="color: #006080;">" /&gt;"</span>,</pre>
<pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">                    <span style="color: #006080;">"~/Content/"</span>,</pre>
<pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">                    fileNames</pre>
<pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">        );</pre>
<pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">    }</pre>
<pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"> </pre>
<pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">    <span style="color: blue;">private</span> <span style="color: blue;">static</span> MvcHtmlString generateContent(HtmlHelper helper, <span style="color: blue;">string</span> tag, </pre>
<pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">                                                 <span style="color: blue;">string</span> root, IEnumerable&lt;<span style="color: blue;">string</span>&gt; files)</pre>
<pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">    {</pre>
<pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">        StringBuilder sb = <span style="color: blue;">new</span> StringBuilder();</pre>
<pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">        <span style="color: blue;">if</span> (files != <span style="color: blue;">null</span>)</pre>
<pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">        {</pre>
<pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">            <span style="color: blue;">string</span> path = UrlHelper.GenerateContentUrl(root, helper.ViewContext.HttpContext);</pre>
<pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">            <span style="color: blue;">foreach</span> (var file <span style="color: blue;">in</span> files)</pre>
<pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">            {</pre>
<pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">                sb.AppendFormat(tag, Path.Combine(path, file));</pre>
<pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">            }</pre>
<pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">        }</pre>
<pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">        <span style="color: blue;">return</span> MvcHtmlString.Create(sb.ToString());</pre>
<pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">        </pre>
<pre style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">    }</pre>
<pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: &quot;Courier New&quot;, courier, monospace; font-size: 8pt; line-height: 12pt; margin: 0em; overflow: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;">}</pre>
</div>
</div>
<br/>
(He dejado <a href="http://cid-c3a43a99b617d787.office.live.com/self.aspx/P%c3%bablico/variablenotfound.com/ASP.NET%20MVC/ASP.NET%20MVC%202/Helpers/HtmlIncludeHelpers.cs">este código en Skydrive</a>).<br/>
<br/>
En definitiva, existen mil y un patrones que podemos utilizar para evitar problemas en la generación de rutas hacia los recursos de una página. Espero que lo planteado en este post puedan seros de ayuda a la hora de diseñar vuestra propia solución.<br/>
<br/>
Publicado en: <a href="http://www.variablenotfound.com/" title="Variable Not Found">Variable not found</a>.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/27752126-4015045843406013990?l=www.variablenotfound.com" width="1"/></div>
<p><a href="http://feedads.g.doubleclick.net/~a/JQOfYpmiqOnlAECn6weV0G5cUG8/0/da"><img border="0" ismap="true" src="http://feedads.g.doubleclick.net/~a/JQOfYpmiqOnlAECn6weV0G5cUG8/0/di"/></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/JQOfYpmiqOnlAECn6weV0G5cUG8/1/da"><img border="0" ismap="true" src="http://feedads.g.doubleclick.net/~a/JQOfYpmiqOnlAECn6weV0G5cUG8/1/di"/></a></p><img height="1" src="http://feeds.feedburner.com/~r/vnf/~4/BivWH2qnjiI" width="1"/></div>
    </content>
    <updated>2010-09-07T07:04:09Z</updated>
    <published>2010-09-07T07:04:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="desarrollo"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="asp.net"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="aspnetmvc"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="consultas"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="trucos"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://www.variablenotfound.com/2010/09/referenciar-scripts-estilos-y-otros.html</feedburner:origLink>
    <author>
      <name>José M. Aguilar</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/11683750380776435448</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-27752126</id>
      <author>
        <name>José M. Aguilar</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/11683750380776435448</uri>
      </author>
      <link href="http://www.variablenotfound.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.variablenotfound.com/" rel="alternate" type="text/html"/>
      <link href="http://www.blogger.com/feeds/27752126/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" rel="next" type="application/atom+xml"/>
      <link href="http://feeds.feedburner.com/vnf" rel="self" type="application/atom+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Artículos, noticias, curiosidades, reflexiones... sobre el mundo del desarrollo de software, internet, u otros temas relacionados con la tecnología.</subtitle>
      <title>Variable not found</title>
      <updated>2010-09-08T12:48:53Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.adseok.com/?p=3013</id>
    <link href="http://feeds.adseok.com/~r/AdseokOptimizacionEnBuscadores/~3/2zMMT-XyBmc/" rel="alternate" type="text/html"/>
    <title>Google celebra su 12 cumpleaños con un logo animado</title>
    <summary>Actualización: No es por su cumpleaños. En la portada de hoy de Google aparece un nuevo logo animado, pero esta vez no ofrece ninguna explicación al respecto. Pero Google suele celebrar su cumpleaños el 7 de septiembre, o el 27, dependiendo del año. Por eso, es probable que Google esté celebrando su décimo segundo cumpleaños. [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p><a href="http://feedads.g.doubleclick.net/~a/TzYlJoOhdh_mvQkuUZHl3JFrSQA/0/da"><img border="0" ismap="true" src="http://feedads.g.doubleclick.net/~a/TzYlJoOhdh_mvQkuUZHl3JFrSQA/0/di"/></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/TzYlJoOhdh_mvQkuUZHl3JFrSQA/1/da"><img border="0" ismap="true" src="http://feedads.g.doubleclick.net/~a/TzYlJoOhdh_mvQkuUZHl3JFrSQA/1/di"/></a></p><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.adseok.com%2Fgoogle%2Fgoogle-celebra-su-12-cumpleanos-con-un-logo-animado%2F"><br/>
				<img height="61" src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.adseok.com%2Fgoogle%2Fgoogle-celebra-su-12-cumpleanos-con-un-logo-animado%2F&amp;source=Adseok&amp;style=normal" width="50"/><br/>
			</a>
		</div>
<p><strong>Actualización:</strong> <a href="http://www.adseok.com/google/muchas-quejas-por-el-logo-de-las-bolas-de-google-que-no-es-por-su-cumpleanos/">No es por su cumpleaños</a>.</p>
<p>En la portada de hoy de Google aparece un nuevo logo animado, pero esta vez no ofrece ninguna explicación al respecto. Pero Google suele celebrar su cumpleaños el 7 de septiembre, o el 27, dependiendo del año. Por eso, es probable que Google esté celebrando su décimo segundo cumpleaños.</p>
<p>El logo en imágenes:</p>
<p align="center"><a href="http://www.adseok.com/wp-content/uploads/doodle-animado.png"><img alt="" class="alignnone size-full wp-image-3014" height="303" src="http://www.adseok.com/wp-content/uploads/doodle-animado.png" title="doodle-animado" width="535"/></a></p>
<p align="center"><a href="http://www.adseok.com/wp-content/uploads/google-particulas.png"><img alt="" class="alignnone size-full wp-image-3015" height="265" src="http://www.adseok.com/wp-content/uploads/google-particulas.png" title="google-particulas" width="534"/></a></p>
<p>Y un <a href="http://www.youtube.com/watch?v=Bs1j3i8jNUY">vídeo</a>:</p>
<p align="center">&lt;object height="340" width="560"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Bs1j3i8jNUY?fs=1&amp;amp;hl=en_US"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed allowfullscreen="true" allowscriptaccess="always" height="340" src="http://www.youtube.com/v/Bs1j3i8jNUY?fs=1&amp;amp;hl=en_US" type="application/x-shockwave-flash" width="560"&gt;&lt;/embed&gt;&lt;/object&gt;</p>
<img height="1" src="http://feeds.feedburner.com/~r/PosicionamientoEnBuscadoresConAdseokSeo/~4/7wBejxOBfEE" width="1"/><img height="1" src="http://feeds.feedburner.com/~r/AdseokOptimizacionEnBuscadores/~4/2zMMT-XyBmc" width="1"/></div>
    </content>
    <updated>2010-09-07T06:23:43Z</updated>
    <category term="Google"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedproxy.google.com/~r/PosicionamientoEnBuscadoresConAdseokSeo/~3/7wBejxOBfEE/</feedburner:origLink>
    <author>
      <name>Adseok</name>
    </author>
    <source>
      <id>http://www.adseok.com</id>
      <logo>http://feeds.adseok.com/~fc/AdseokOptimizacionEnBuscadores?bg=010101&amp;fg=FFFFFF&amp;anim=1&amp;label=Lectores</logo>
      <link href="http://www.adseok.com" rel="alternate" type="text/html"/>
      <link href="http://feeds.adseok.com/AdseokOptimizacionEnBuscadores" rel="self" type="application/atom+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Posicionamiento en buscadores, trucos y recursos de optimización web</subtitle>
      <title>SEO - Posicionamiento web - Adseok SEO</title>
      <updated>2010-09-08T17:00:21Z</updated>
    </source>
  </entry>

  <entry xml:lang="es">
    <id>http://javierperez.eu/la-aventura-de-emprender/</id>
    <link href="http://javierperez.eu/la-aventura-de-emprender/" rel="alternate" type="text/html"/>
    <title>La aventura de emprender</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Durante mucho tiempo he criticado en este blog al parque empresarial español en general, alentando a los ingenieros (y a todos los trabajadores en general) a que emprendan como única vía para cambiar la precaria situación productiva de España.</p>
<p>Pues bien, ahora ha llegado el momento de predicar con el ejemplo. Ya he dejado de ser un trabajador asalariado, y en unos pocos días pasaré a ser un trabajador autónomo, es decir, un <strong>emprendedor</strong> (el término <em>empresario</em> me queda muy lejos).</p>
<p>Tengo la sana y osada intención de justamente eso, predicar con el ejemplo: construir una <strong>empresa para trabajadores</strong> donde <a href="http://www.expansionyempleo.com/2009/05/08/desarrollo_de_carrera/1241796019.html">el </a><a href="http://www.expansionyempleo.com/2009/05/08/desarrollo_de_carrera/1241796019.html"><strong>teletrabajo</strong></a><a href="http://www.expansionyempleo.com/2009/05/08/desarrollo_de_carrera/1241796019.html">, la </a><a href="http://www.expansionyempleo.com/2009/05/08/desarrollo_de_carrera/1241796019.html"><strong>flexibilidad horaria</strong></a><a href="http://www.expansionyempleo.com/2009/05/08/desarrollo_de_carrera/1241796019.html"> y la </a><a href="http://www.expansionyempleo.com/2009/05/08/desarrollo_de_carrera/1241796019.html"><strong>conciliación familiar</strong></a> sean un hecho; una empresa que <a href="http://javierperez.eu/los-sueldos-de-los-programadores-y-el-modelo-productivo-espanol/">genere <strong>productos de calidad</strong></a>; una empresa con <strong>I+D+i</strong> al más puro estilo <a href="http://www.microsiervos.com/archivo/mundoreal/google-20-por-ciento.html">20% de tiempo para proyectos personales</a>.</p>
<p>Sin duda este blog va a ser el cuaderno de bitácora de todo este proceso. Aquí contaré mis experiencias, mis éxitos, mis fracasos, mis meteduras de pata, y mis aciertos. Me desahogaré con vosotros cuando vuelva de realizar gestiones en las administraciones del Estado. Y, sobre todo, continuaré creyendo en los <a href="http://javierperez.eu/un-vago-es-un-faccioso/"><strong>trabajadores</strong></a> como los auténticos héroes de este país, sean asalariados o sean autónomos, y a ellos continuaré dedicando cada palabra que escriba en este blog.</p>
<p><img alt="La aventura de emprender" border="0" height="425" src="http://lh5.ggpht.com/_62QnD0hLbeY/TIUb1idJUNI/AAAAAAAAa90/-nfavLl9HRw/s800/photo_14485_20100324.jpg" title="La aventura de emprender" width="640"/></p></div>
    </summary>
    <updated>2010-09-06T16:53:00Z</updated>
    <category term="emprender"/>
    <category term="aventura"/>
    <category term="espa&#xF1;a"/>
    <category term="trabajadores"/>
    <category term="empresa"/>
    <author>
      <name>Javier Pérez</name>
    </author>
    <source>
      <id>http://javierperez.eu</id>
      <link href="http://javierperez.eu" rel="alternate" type="text/html"/>
      <link href="http://creativecommons.org/licenses/by-nc-sa/2.5/" rel="license"/>
      <link href="http://javierperez.eu/blog/feed" rel="self" type="application/rss+xml"/>
      <subtitle>Blog de Javier Pérez</subtitle>
      <title>Javier Pérez :: Blog</title>
      <updated>2010-09-06T16:53:00Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.anieto2k.com/2010/09/06/selectivizr-anade-pseudo-clases-y-atributos-css3-a-ie6-8/</id>
    <link href="http://feedproxy.google.com/~r/anieto2k/Xzqf/~3/KgBS_FhBU10/" rel="alternate" type="text/html"/>
    <title>Selectivizr, añade pseudo-clases y atributos CSS3 a IE6-8</title>
    <summary>:Select[ivizr] es una librería javascript que nos permite llevar las pseudo-clases y atributos de CSS3 a navegador que no los soportan como Internet Explorer. Instalación Pensado para funcionar con las principales librerías Javascript existentes, su uso es muy sencillo. &lt;script type="text/javascript" src="[JS library]"&gt;&lt;/script&gt; &lt;!--[if (gte IE 6)&amp;(lte IE 8)]&gt; &lt;script type="text/javascript" src="selectivizr.js"&gt;&lt;/script&gt; &lt;noscript&gt;&lt;link rel="stylesheet" href="[fallback [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><a href="http://selectivizr.com/">:Select[ivizr]</a> es una librería javascript que nos permite llevar las <a href="http://www.anieto2k.com/2006/09/06/selectores-css-que-deberias-conocer/">pseudo-clases y atributos de CSS3</a> a navegador que no los soportan como Internet Explorer.<br/>
<h3>Instalación</h3>
 Pensado para funcionar con las principales librerías Javascript existentes, su uso es muy sencillo. 
<pre><code>
&lt;script type="text/javascript" src="[JS library]"&gt;&lt;/script&gt;
&lt;!--[if (gte IE 6)&amp;(lte IE 8)]&gt;
  &lt;script type="text/javascript" src="selectivizr.js"&gt;&lt;/script&gt;
  &lt;noscript&gt;&lt;link rel="stylesheet" href="[fallback css]" /&gt;&lt;/noscript&gt;
&lt;![endif]--&gt;
</code></pre>

Una alternativa interesante para los que no estén satisfechos con <a href="http://www.anieto2k.com/2010/01/18/ie-css3-js-pseudo-selectores-css3-en-internet-explorer/">ie-css3.js</a>.<h3>Artículos relacionados</h3>
<ul><li><a href="http://www.anieto2k.com/2008/08/28/zebra-tables-con-css3/" rel="bookmark" title="Permanent Link: Zebra tables con CSS3">Zebra tables con CSS3</a></li><li><a href="http://www.anieto2k.com/2009/08/17/domina-los-selectores-css-avanzados/" rel="bookmark" title="Permanent Link: Domina los selectores CSS avanzados">Domina los selectores CSS avanzados</a></li><li><a href="http://www.anieto2k.com/2007/08/29/6-motivos-por-los-que-ie6-debe-morir/" rel="bookmark" title="Permanent Link: 6 motivos por los que IE6 debe morir">6 motivos por los que IE6 debe morir</a></li><li><a href="http://www.anieto2k.com/2008/12/15/extendiendo-los-selectores-de-mootoos-y-jquery/" rel="bookmark" title="Permanent Link: Extendiendo los selectores de MooToos y jQuery">Extendiendo los selectores de MooToos y jQuery</a></li><li><a href="http://www.anieto2k.com/2010/01/18/ie-css3-js-pseudo-selectores-css3-en-internet-explorer/" rel="bookmark" title="Permanent Link: ie-css3.js: Pseudo selectores CSS3 en Internet Explorer">ie-css3.js: Pseudo selectores CSS3 en Internet Explorer</a></li></ul><p><a href="http://www.anieto2k.com" id="74.125.44.83"><img alt="aNieto2k" rel="74.125.44.83" src="http://www.anieto2k.com/favicon.ico"/></a></p><img height="1" src="http://feeds.feedburner.com/~r/anieto2k/Xzqf/~4/KgBS_FhBU10" width="1"/></div>
    </content>
    <updated>2010-09-06T09:05:38Z</updated>
    <category term="CSS"/>
    <category term="Programacion"/>
    <category term="estandares"/>
    <category term="javascript"/>
    <category term="webdev"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://www.anieto2k.com/2010/09/06/selectivizr-anade-pseudo-clases-y-atributos-css3-a-ie6-8/</feedburner:origLink>
    <author>
      <name>aNieto2k</name>
    </author>
    <source>
      <id>http://www.anieto2k.com</id>
      <link href="http://www.anieto2k.com" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/anieto2k/Xzqf" rel="self" type="application/atom+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Desarrollo web, Wordpress, y alguna cosilla más</subtitle>
      <title>aNieto2K</title>
      <updated>2010-09-06T17:00:32Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-27752126.post-3116480391979796772</id>
    <link href="http://www.variablenotfound.com/feeds/3116480391979796772/comments/default" rel="replies" type="application/atom+xml"/>
    <link href="https://www.blogger.com/comment.g?blogID=27752126&amp;postID=3116480391979796772" rel="replies" type="text/html"/>
    <link href="http://www.blogger.com/feeds/27752126/posts/default/3116480391979796772?v=2" rel="edit" type="application/atom+xml"/>
    <link href="http://www.blogger.com/feeds/27752126/posts/default/3116480391979796772?v=2" rel="self" type="application/atom+xml"/>
    <link href="http://feedproxy.google.com/~r/vnf/~3/41l3TV7LosE/volvemos-la-carga.html" rel="alternate" type="text/html"/>
    <title>&lt;/Vacaciones&gt; ¡Volvemos a la carga!</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Por mucho que nos las merezcamos y queramos alargarlas hasta el infinito, las vacaciones también tienen que terminar. Gracias a esto mantenemos la ilusión y ganas de que lleguen las próximas, ¿no? ;-)<br/>
<br/>
Así que, tras unos días de reentrada suave, aquí estamos de nuevo. Con las pilas a tope y listos para comenzar una nueva temporada que seguro será magnífica… a pesar de la que está cayendo ahí fuera.<br/>
<br/>
Queda, pues, inaugurada la temporada 2010-2011 de <a href="http://www.variablenotfound.com/" title="Variable Not Found">Variable Not Found</a>, donde espero contar, como siempre, con vuestra compañía y apoyo.<br/>
<br/>
¡Nos vemos por aquí!<br/>
<br/>
Publicado en: <a href="http://www.variablenotfound.com/">Variable not found</a>.<div class="blogger-post-footer"><img alt="" height="1" src="https://blogger.googleusercontent.com/tracker/27752126-3116480391979796772?l=www.variablenotfound.com" width="1"/></div>
<p><a href="http://feedads.g.doubleclick.net/~a/k3tNOK0sCIoJPcBmkB-KMZv3VcM/0/da"><img border="0" ismap="true" src="http://feedads.g.doubleclick.net/~a/k3tNOK0sCIoJPcBmkB-KMZv3VcM/0/di"/></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/k3tNOK0sCIoJPcBmkB-KMZv3VcM/1/da"><img border="0" ismap="true" src="http://feedads.g.doubleclick.net/~a/k3tNOK0sCIoJPcBmkB-KMZv3VcM/1/di"/></a></p><img height="1" src="http://feeds.feedburner.com/~r/vnf/~4/41l3TV7LosE" width="1"/></div>
    </content>
    <updated>2010-09-05T21:54:00Z</updated>
    <published>2010-09-05T21:54:00Z</published>
    <category scheme="http://www.blogger.com/atom/ns#" term="personal"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="blogging"/>
    <category scheme="http://www.blogger.com/atom/ns#" term="vacaciones"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://www.variablenotfound.com/2010/09/volvemos-la-carga.html</feedburner:origLink>
    <author>
      <name>José M. Aguilar</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/11683750380776435448</uri>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-27752126</id>
      <author>
        <name>José M. Aguilar</name>
        <email>noreply@blogger.com</email>
        <uri>http://www.blogger.com/profile/11683750380776435448</uri>
      </author>
      <link href="http://www.variablenotfound.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
      <link href="http://www.variablenotfound.com/" rel="alternate" type="text/html"/>
      <link href="http://www.blogger.com/feeds/27752126/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" rel="next" type="application/atom+xml"/>
      <link href="http://feeds.feedburner.com/vnf" rel="self" type="application/atom+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Artículos, noticias, curiosidades, reflexiones... sobre el mundo del desarrollo de software, internet, u otros temas relacionados con la tecnología.</subtitle>
      <title>Variable not found</title>
      <updated>2010-09-08T12:48:53Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://dzign.us/post/1070781822</id>
    <link href="http://feedproxy.google.com/~r/dzignus/~3/nPlQSXsm_U0/1070781822" rel="alternate" type="text/html"/>
    <title>Customizar la caja "Me Gusta" de Facebook</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><a href="http://line25.com/tutorials/how-to-add-a-custom-facebook-like-box-to-your-site">Customizar la caja "Me Gusta" de Facebook</a>: <p><a href="http://line25.com/tutorials/how-to-add-a-custom-facebook-like-box-to-your-site" title="Customizar la caja &quot;Me Gusta&quot; de Facebook"><img src="http://media.tumblr.com/tumblr_l8adhtmLUZ1qbedm9.png"/></a></p>
<p><a href="http://line25.com/tutorials/how-to-add-a-custom-facebook-like-box-to-your-site" title="Customizar la caja &quot;Me Gusta&quot; de Facebook">Tutorial</a> que explica como añadir un diseño personalizado a la caja de <strong>“Me gusta”</strong> de <strong>Facebook</strong>. <a href="http://line25.com/wp-content/uploads/2010/facebook/demo/index.html" title="Demo sobre como customizar la caja de &quot;Me gusta&quot; de Facebook">Demo</a></p><img height="1" src="http://feeds.feedburner.com/~r/dzignus/~4/nPlQSXsm_U0" width="1"/></div>
    </summary>
    <updated>2010-09-05T18:21:57Z</updated>
    <category term="facebook"/>
    <category term="CSS"/>
    <category term="tips"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://dzign.us/post/1070781822</feedburner:origLink>
    <source>
      <id>http://dzign.us/</id>
      <author>
        <name>Dzign.us</name>
      </author>
      <link href="http://dzign.us/" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/dzignus" rel="self" type="application/rss+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <link href="http://tumblr.superfeedr.com/" rel="hub" type="text/html"/>
      <subtitle>Colección de artículos, recursos, enlaces y cosas interesantes sobre HTML, CSS, JS, PHP y Diseño Gráfico</subtitle>
      <title>dzign.us</title>
      <updated>2010-09-08T17:00:53Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://www.anieto2k.com/2010/09/05/twitterweek-2010-09-05/</id>
    <link href="http://feedproxy.google.com/~r/anieto2k/Xzqf/~3/WpHhC7OdX8A/" rel="alternate" type="text/html"/>
    <title>TwitterWeek – 2010-09-05</title>
    <summary>En mi twitter he publicado estos enlaces que creo os pueden interesar. http://bit.ly/cmn1rN &lt;-- Más efectos #jquery que usar en tus páginas web # http://kcy.me/1l4 &lt;-- WanderWall, una forma espectacular de marear a tus usuarios con #jquery #css3 y #html5 (demo: http://kcy.me/1l2 ) # http://bit.ly/ar6xXw &lt;-- CloudMagic, extensión para #firefox que mejorar las búsquedas en [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>En <a href="http://www.twitter.com/anieto2k">mi twitter</a> he publicado estos enlaces que creo os pueden interesar.</p> <ul class="aktt_tweet_digest">
	<li><a href="http://bit.ly/cmn1rN" rel="nofollow">http://bit.ly/cmn1rN</a> &lt;-- Más efectos #<a class="aktt_hashtag" href="http://search.twitter.com/search?q=%23jquery">jquery</a> que usar en tus páginas web <a class="aktt_tweet_time" href="http://twitter.com/anieto2k/statuses/22502830092">#</a></li>
	<li><a href="http://kcy.me/1l4" rel="nofollow">http://kcy.me/1l4</a> &lt;-- WanderWall, una forma espectacular de marear a tus usuarios con #<a class="aktt_hashtag" href="http://search.twitter.com/search?q=%23jquery">jquery</a>  #<a class="aktt_hashtag" href="http://search.twitter.com/search?q=%23css3">css3</a> y #<a class="aktt_hashtag" href="http://search.twitter.com/search?q=%23html5">html5</a> (demo: <a href="http://kcy.me/1l2" rel="nofollow">http://kcy.me/1l2</a> ) <a class="aktt_tweet_time" href="http://twitter.com/anieto2k/statuses/22505583920">#</a></li>
	<li><a href="http://bit.ly/ar6xXw" rel="nofollow">http://bit.ly/ar6xXw</a> &lt;-- CloudMagic, extensión para #<a class="aktt_hashtag" href="http://search.twitter.com/search?q=%23firefox">firefox</a> que mejorar las búsquedas en #<a class="aktt_hashtag" href="http://search.twitter.com/search?q=%23gMail">gMail</a> <a class="aktt_tweet_time" href="http://twitter.com/anieto2k/statuses/22561467165">#</a></li>
	<li>Leyendo sobre MapReuice (<a href="http://kcy.me/1pi" rel="nofollow">http://kcy.me/1pi</a>) implementación con web workers para realizar tareas distribuidas &lt;-- #<a class="aktt_hashtag" href="http://search.twitter.com/search?q=%23interesante">interesante</a> <a class="aktt_tweet_time" href="http://twitter.com/anieto2k/statuses/22599379660">#</a></li>
	<li><a href="http://kcy.me/1r3" rel="nofollow">http://kcy.me/1r3</a> &lt;-- Cached Commons, un CDN de #<a class="aktt_hashtag" href="http://search.twitter.com/search?q=%23javascript">javascript</a> y #<a class="aktt_hashtag" href="http://search.twitter.com/search?q=%23css">css</a> comprimido <a class="aktt_tweet_time" href="http://twitter.com/anieto2k/statuses/22628261453">#</a></li>
</ul><p>Saludos</p>
<h3>Artículos relacionados</h3>
<ul><li><a href="http://www.anieto2k.com/2010/04/02/por-fin-fennec-para-android-2-0-1/" rel="bookmark" title="Permanent Link: Por fin! Fennec para Android 2.0.1">Por fin! Fennec para Android 2.0.1</a></li><li><a href="http://www.anieto2k.com/2010/02/02/wordpres-para-android-oficial-liberado/" rel="bookmark" title="Permanent Link: Wordpres para Android oficial liberado">Wordpres para Android oficial liberado</a></li><li><a href="http://www.anieto2k.com/2010/04/03/administra-tu-wordpress-desde-el-ipad/" rel="bookmark" title="Permanent Link: Administra tu WordPress desde el iPad">Administra tu WordPress desde el iPad</a></li><li><a href="http://www.anieto2k.com/2010/04/15/google-chrome-apunto-de-pasar-html5-test/" rel="bookmark" title="Permanent Link: Google Chrome apunto de pasar HTML5 Test">Google Chrome apunto de pasar HTML5 Test</a></li><li><a href="http://www.anieto2k.com/2010/04/23/un-vistazo-al-futuro-ie9-developer-tools-la-pestana-de-red/" rel="bookmark" title="Permanent Link: Un vistazo al futuro: IE9 Developer Tools, la pesta&#xF1;a de red">Un vistazo al futuro: IE9 Developer Tools, la pestaña de red</a></li></ul><p><a href="http://www.anieto2k.com" id="74.125.44.83"><img alt="aNieto2k" rel="74.125.44.83" src="http://www.anieto2k.com/favicon.ico"/></a></p><img height="1" src="http://feeds.feedburner.com/~r/anieto2k/Xzqf/~4/WpHhC7OdX8A" width="1"/></div>
    </content>
    <updated>2010-09-05T08:15:00Z</updated>
    <category term="tweets"/>
    <category term="tweet"/><feedburner:origLink xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://www.anieto2k.com/2010/09/05/twitterweek-2010-09-05/</feedburner:origLink>
    <author>
      <name>aNieto2k</name>
    </author>
    <source>
      <id>http://www.anieto2k.com</id>
      <link href="http://www.anieto2k.com" rel="alternate" type="text/html"/>
      <link href="http://feeds.feedburner.com/anieto2k/Xzqf" rel="self" type="application/atom+xml"/>
      <link href="http://pubsubhubbub.appspot.com/" rel="hub" type="text/html"/>
      <subtitle>Desarrollo web, Wordpress, y alguna cosilla más</subtitle>
      <title>aNieto2K</title>
      <updated>2010-09-06T17:00:31Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://blog.osusnet.com/?p=5462</id>
    <link href="http://blog.osusnet.com/2010/09/03/adobe-air-xii-%e2%80%93-no-se-puede-instalar-la-aplicacion-este-instalador-no-se-ha-configurado-correctamente/" rel="alternate" type="text/html"/>
    <title>Adobe Air XII – No se puede instalar la aplicación, este instalador no se ha configurado correctamente</title>
    <summary>Recientemente he tenido que modificar una aplicación AIR y, ya de paso, me dio por convertirla a Air2. Todo iba bien hasta que la subí al servidor para que a todos los usuarios les apareciese automáticamente la actualización pero una vez comenzaba la instalación salía el siguiente mensaje: No se puede instalar la aplicación, este [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><div class="socialize-in-content" style="float: right;"><div class="socialize-in-button-right">&lt;script type="text/javascript"&gt;
			
		&lt;/script&gt;
		&lt;script src="http://tweetmeme.com/i/scripts/button.js" type="text/javascript"&gt;&lt;/script&gt;</div><div class="socialize-in-button-right">&lt;script&gt;
		
		&lt;/script&gt;
		&lt;script src="http://widgets.fbshare.me/files/fbshare.js"&gt;&lt;/script&gt;</div></div><p>Recientemente he tenido que modificar una aplicación <a href="http://www.adobe.com/products/air/">AIR</a> y, ya de paso, me dio por convertirla a <strong>Air2</strong>. Todo iba bien hasta que la subí al servidor para que a todos los usuarios les apareciese automáticamente la actualización pero una vez comenzaba la instalación salía el siguiente mensaje:</p>
<blockquote><p>No se puede instalar la aplicación, este instalador no se ha configurado correctamente</p></blockquote>
<p>Tras <em>googlear </em>un poco lo único que encontré es que normalmente se debe a que la has publicado con un certificado distinto al que tenía la versión anterior, pero no era mi caso. Y así, de repente, me acordé que para utilizar <a href="http://blog.osusnet.com/2010/05/05/adobe-air-xi-despliega-tus-aplicaciones-directamente-desde-la-web/">la instalación automática</a> se necesitaba el <em><strong>publisherID</strong></em> y pensé, ¿no será algo de eso?.</p>
<p>Así es que revisé el descriptor de la aplicación <em>Aplicacion-app.xml</em> y me encontré con un nuevo nodo comentado:</p>
<div class="dean_ch" style="white-space: nowrap;">
<ol>
<li class="li1">
<div class="de1"><span class="sc3"><span class="re1">&lt;publisherID<span class="re2">&gt;</span></span></span><span class="sc3"><span class="re1">&lt;/publisherID<span class="re2">&gt;</span></span></span></div>
</li>
</ol>
</div>
<p>Lo descomenté y le añadí mi <em><strong>publisherID</strong></em> que se obtiene de la versión anterior instalada en:</p>
<div class="dean_ch" style="white-space: nowrap;">
<ol>
<li class="li1">
<div class="de1">\RUTA_DE_INSTALACION_DE_TU_APP\META-INF\AIR\application.xml</div>
</li>
</ol>
</div>
<p>Publicas de nuevo la aplicación y todo solucionado, se actualiza perfectamente <img alt=":)" class="wp-smiley" src="http://blog.osusnet.com/wp-includes/images/smilies/icon_smile.gif" title="Adobe Air XII &#x2013; No se puede instalar la aplicaci&#xF3;n, este instalador no se ha configurado correctamente"/> .</p></div>
    </content>
    <updated>2010-09-03T12:45:38Z</updated>
    <category term="Programaci&#xF3;n"/>
    <category term="R.I.A."/>
    <category term="T&#xE9;cnico"/>
    <category term="adobe"/>
    <category term="air"/>
    <author>
      <name>Osus</name>
    </author>
    <source>
      <id>http://blog.osusnet.com</id>
      <link href="http://blog.osusnet.com/category/tecnico/feed/" rel="self" type="application/atom+xml"/>
      <link href="http://blog.osusnet.com" rel="alternate" type="text/html"/>
      <title>Cerebro en la Sombra » Técnico</title>
      <updated>2010-09-03T17:00:37Z</updated>
    </source>
  </entry>
</feed>
