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

<channel>
	<title>dirtysock &#187; Desarrollo web</title>
	<atom:link href="http://dirtysock.es/category/informatica/desarrollo-web-informatica/feed/" rel="self" type="application/rss+xml" />
	<link>http://dirtysock.es</link>
	<description>Bienvenido a la raza humana</description>
	<lastBuildDate>Mon, 23 Jan 2012 20:12:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Teclas intercambiadas en Ubuntu 11.10 y teclado Mac aluminium</title>
		<link>http://dirtysock.es/teclas-intercambiadas-en-ubuntu-11-10-con-teclado-mac-aluminium/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=teclas-intercambiadas-en-ubuntu-11-10-con-teclado-mac-aluminium</link>
		<comments>http://dirtysock.es/teclas-intercambiadas-en-ubuntu-11-10-con-teclado-mac-aluminium/#comments</comments>
		<pubDate>Sat, 12 Nov 2011 13:47:13 +0000</pubDate>
		<dc:creator>Jose</dc:creator>
				<category><![CDATA[Desarrollo web]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[desarrollo web]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://dirtysock.es/?p=1955</guid>
		<description><![CDATA[Desde hace algunas semanas uso Ubuntu 11.10 como entorno de trabajo junto con mi apreciado teclado Mac aluminium. Al ser web developer uso constantemente la tecla &#60;/&#62; (mayor que / menor que). Todo funcionaba bien hasta que un día de repente se intercambió con la tecla ºª que está al lado del 1, lo que [...]]]></description>
			<content:encoded><![CDATA[<p>Desde hace algunas semanas uso <strong>Ubuntu 11.10</strong> como entorno de trabajo junto con mi apreciado <strong>teclado Mac aluminium</strong>.</p>
<p>Al ser web developer uso constantemente la tecla <em>&lt;/&gt;</em> (mayor que / menor que). Todo funcionaba bien hasta que un día de repente se intercambió con la tecla <em>ºª</em> que está al lado del 1, lo que fue una catástrofe para mi, porque estaba todo el rato equivocándome de tecla y esto entorpecía mucho mi programación.</p>
<p>Total, que empecé a buscar por google si alguien habia tenido el mismo problema y después de probar algunas soluciones propuestas y seguir teniendo el mismo problema decidí combinar un par que encontré ayer mismo. Utilizando el manual de <a href="http://cweiske.de/howto/xmodmap/allinone.html#xmodmap">.Xmodmap de Christian Weiske</a> y una solución al problema de <a href="http://asiermarques.com/2011/05/16/teclado-mac-en-ubuntu-con-teclas-mayor-que-menor-que/">Asier Marqués</a> que encontré por la red y que no me funcionó, hice lo siguiente que devolvió cada tecla a su sitio:</p>
<p>En lugar de escribir un .xsession en la raiz de directorio de usuario ( /home/&lt;tu usuario&gt; ) cree un archiv <strong>.Xmodmap</strong> con el siguiente contenido:</p>
<div class="codecolorer-container bash twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">keycode <span style="color: #000000;">49</span> = <span style="color: #c20cb9; font-weight: bold;">less</span> greater <span style="color: #c20cb9; font-weight: bold;">less</span> greater bar brokenbar bar<br />
keycode <span style="color: #000000;">94</span> = masculine ordfeminine masculine ordfeminine backslash</div></div>
<p>Una vez creado el archivo, cierras la sesión de usuario y vuelves a entrar, <em>et voilà</em>! <strong>Funciona!</strong> </p>
<p>Espero que esto sirva para más gente que como yo se ha frustado con el este intercambio de teclas en el teclado Mac aluminium y Ubuntu 11.10.</p>
]]></content:encoded>
			<wfw:commentRss>http://dirtysock.es/teclas-intercambiadas-en-ubuntu-11-10-con-teclado-mac-aluminium/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Abredatos 2011</title>
		<link>http://dirtysock.es/abredatos-2011/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=abredatos-2011</link>
		<comments>http://dirtysock.es/abredatos-2011/#comments</comments>
		<pubDate>Mon, 09 May 2011 20:22:13 +0000</pubDate>
		<dc:creator>Jose</dc:creator>
				<category><![CDATA[Desarrollo web]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[abredatos]]></category>
		<category><![CDATA[concurso]]></category>
		<category><![CDATA[programacion]]></category>

		<guid isPermaLink="false">http://dirtysock.es/?p=1718</guid>
		<description><![CDATA[Este año he participado en el concurso Abredatos junto a tres amigos. Para el que no lo sepa, Abredatos es un concurso de desarrollo exprés que consiste en hacer de 0 una aplicación utilizando datos públicos y hacerlo en 48 horas. El objetivo es fomentar que las administraciones publicas proporcionen datos de forma abierta y [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://dirtysock.es/wp-content/uploads/2011/05/logo_2011.png" alt="" title="logo_2011" width="123" height="110" class="alignright size-full wp-image-1726" />Este año he participado en el concurso <strong>Abredatos </strong>junto a tres amigos. Para el que no lo sepa, Abredatos es un concurso de desarrollo exprés que consiste en<strong> hacer de 0 una aplicación</strong> utilizando <strong>datos públicos</strong> y hacerlo <strong>en 48 horas</strong>. El objetivo es fomentar que las administraciones publicas proporcionen datos de forma abierta y accesible a los ciudadanos para que los podamos consultar y reutilizar.</p>
<p>Pues bien, para mí se trataba de la primera vez que participaba en un concurso de este tipo, una <strong>maratón de programación</strong> y la verdad es que me daba un poco de miedo el hecho de que se hiciera demasiado largo y pesado como para aguantar dos días sentado delante del ordenador. Pero la experiencia ha sido todo lo contrario, si que ha sido cansado pero en nigun momento ha sido pesado y o frustante hasta el punto de plantearse el hecho de abandonar, y en cambio <a href="http://twitter.com/#!/josehg/status/67050255472005120">he reído hasta que me ha dolido el estómago</a>, he aprendido mogollón de cosas, he creado y he resuelto desafios, en definitiva, he disfrutado y me he enriquecido (de momento intelectualmente y a nivel de experiencia, ya lo veremos si económicamente), por lo que para mi, participar en este concurso ha sido todo un <strong>éxito</strong>.</p>
<p>Quizá ha sido porque el grupo de cuatro amigos que hemos formado el equipo teníamos el mismo nivel de motivación y una actitud durante el concurso que ha hecho que el ambiente haya sido estupendo y todo haya ido rodado, como he leido en twitter, <strong>si hay buen rollo y implicación, también hay diversión y trabajar así es mucho más agradable</strong>.</p>
<p><a href="http://dirtysock.es/wp-content/uploads/2011/05/openplaya.jpg"><img src="http://dirtysock.es/wp-content/uploads/2011/05/openplaya-300x151.jpg" alt="" title="openplaya" width="300" height="151" class="aligncenter size-medium wp-image-1722" /></a></p>
<p>Pues bien, después de 40 horas sin dormir delante de la pantalla, los cuatro mosqueteros del <a href="http://live.abredatos.es/teams/66">team</a> <a href="http://twitter.com/#!/search?q=%23t66">#t66</a> hemos engendrado www.openplaya.com, una especie de listad/buscador de playas de España que además oferece datos meteorológicos, imágenes de webcam si están disponibles y equipamientos cercanos disponibles. También incluye un sistema de alertas al que te puedes suscribir que te avisa cuando tu playa favorita tiene una predicción meteorológica de tiempo ideal para ir a tomar el sol o pegarse un bañito.</p>
<p><a href="http://dirtysock.es/wp-content/uploads/2011/05/openplaya2.jpg"><img src="http://dirtysock.es/wp-content/uploads/2011/05/openplaya2-300x191.jpg" alt="" title="openplaya2" width="300" height="191" class="aligncenter size-medium wp-image-1723" /></a></p>
<p>Para desarrollar esta aplicación hemos usado datos de la web de la <strong>Agencia Estatal de Meteorologia</strong> (AEMET) <a href="http://www.aemet.es/es/eltiempo/prediccion/playas/">http://www.aemet.es/es/eltiempo/prediccion/playas/</a> , de la <strong>Generalitat de Catalunya</strong> <a href="http://dadesobertes.gencat.cat/es/dades-obertes/dataset_000026.html">http://dadesobertes.gencat.cat/es/dades-obertes/dataset_000026.html</a> y de la <strong>Generalitat Valenciana</strong> <a href="http://www.comunitatvalenciana.com/webcam-comunidad-valenciana">http://www.comunitatvalenciana.com/webcam-comunidad-valenciana</a> entre otros muchos, que tampoco los voy a poner todos.</p>
<p>En el campo más técnico hemos usado <strong>PHP </strong>para el desarrollo y lo hemos basado en el CMS <strong>Drupal</strong>, al que hemos incluido varios módulos para facilitarnos la faena asi como el uso de alguas librerias como como <strong>jQuery </strong>y <strong>Google Maps Javascript API</strong>. El presupuesto ha sido prácticamente 0, ya que sólo hemos gastado lo poco que vale registrar el dominio <strong>www.openplaya.com</strong>, la comida y la luz que hemos gastado, para que se vea que con ganas y un poco de conocimiento se pueden hacer bastantes cosas y algunas muy chulas, como podeis ver en la <a href="http://live.abredatos.es/teams">lista de proyectos de abredatos</a>.</p>
<p>La realidad que me he encontrado durante y tras la participación en <strong>abredatos </strong>y es que hay gran cantidad de talento y motivación en nuestro país, como <a href="http://twitter.com/#!/search/%23abredatos">se puede ver en twitter</a>, y que esto me gusta mucho, por eso desde mi humilde blog, os felicito, os doy las gracias y la enhorabuena a todos los que habeis participado en abredatos y a los que nos habéis apoyado. Un saludo a todos!</p>
<p>Para acabar os dejo el timelapse que hizo <a href="http://josep.valls.name/wordpress/">Josep Valls</a> durante las 40 horas que duró el desarrollo de <strong>openplaya.com</strong> y <a href="http://www.flickr.com/photos/4st4roth/sets/72157626668323612/">algunas fotos</a> de como lo vivimos.</p>
<p>Hasta pronto!</p>
<p class="center" ><object width="480" height="390"><param name="movie" value="http://www.youtube.com/v/qALY6gUNmTU?fs=1&amp;hl=es_ES"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/qALY6gUNmTU?fs=1&amp;hl=es_ES" type="application/x-shockwave-flash" width="480" height="390" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><a href="http://www.flickr.com/photos/4st4roth/5700658753/" title="Non stop coding by jose.jhg, on Flickr"><img class="center" src="http://farm6.static.flickr.com/5306/5700658753_6f91b83291.jpg" width="500" height="334" alt="Non stop coding"></a></p>
<p><a href="http://www.flickr.com/photos/4st4roth/5697062822/" title="Abredatos Team 66 by jose.jhg, on Flickr"><img class="center" src="http://farm6.static.flickr.com/5223/5697062822_da6a6310fd.jpg" width="500" height="334" alt="Abredatos Team 66"></a></p>
<p><a href="http://www.flickr.com/photos/4st4roth/sets/72157626668323612/">Ver más en flickr</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dirtysock.es/abredatos-2011/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Cancelar llamadas AJAX previas</title>
		<link>http://dirtysock.es/cancelar-llamadas-ajax-previas/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=cancelar-llamadas-ajax-previas</link>
		<comments>http://dirtysock.es/cancelar-llamadas-ajax-previas/#comments</comments>
		<pubDate>Fri, 19 Nov 2010 09:21:38 +0000</pubDate>
		<dc:creator>Jose</dc:creator>
				<category><![CDATA[Desarrollo web]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://dirtysock.es/?p=1535</guid>
		<description><![CDATA[Hace pocos dias, mientras creaba el típico auto-suggest de los inputs de los formularios (en este caso de lugares &#8211; ciudades, calles, etc) vi que al tener que realizar una llamada AJAX al web service de geocoding de Google Maps APIs las llamadas se me solapaban dando lugar a un tiempo de espera mayor. Esto [...]]]></description>
			<content:encoded><![CDATA[<p>Hace pocos dias, mientras creaba el típico<strong> auto-suggest de los inputs de los formularios</strong> (en este caso de lugares &#8211; ciudades, calles, etc) vi que al tener que realizar una llamada AJAX al web service de geocoding de Google Maps APIs las llamadas se me solapaban dando lugar a un tiempo de espera mayor. Esto era debido a que la petición la lanzaba tras el evento <code class="codecolorer javascript twitlight"><span class="javascript">onKeyUp</span></code>, por lo que si se escribia muy rápido en el <code class="codecolorer javascript twitlight"><span class="javascript">input</span></code>, se lanzaban <strong>muchas peticiones muy seguidas</strong> y la <strong>experiencia de usuario era bastante mala</strong>. El efecto que se conseguia era que al acabar de escribir, las respuestas iban llegando y se iban cargando una detrás de otra e incluso parercía que el navegador llegaba a colapsarse.</p>
<p><a href="http://dirtysock.es/wp-content/uploads/2010/11/before.jpg"><img src="http://dirtysock.es/wp-content/uploads/2010/11/before-300x58.jpg" alt="" title="before" width="300" height="58" class="center" /></a></p>
<p class="center small">Antes de cancelar las llamadas previas, unas se superponian a otras dando lugar a un tiempo de respuesta mayor y a una mala experiencia de usuario</p>
<p>La idea pues fue que <strong>al lanzar una nueva petición AJAX, se cancelara la anterior</strong> de manera que sólo hubiera <strong>solo una activa</strong> y por tanto sólo se cargaran datos durante las pausas de escritura en el input, y del mismo modo haciendo que mientras se escribía de forma rápida,<strong> no colapsar el servidor</strong> con llamadas haciendo todo el proceso de una forma <strong>menos trabada</strong>.</p>
<p><a href="http://dirtysock.es/wp-content/uploads/2010/11/after.jpg"><img src="http://dirtysock.es/wp-content/uploads/2010/11/after-300x58.jpg" alt="" title="after" width="300" height="58" class="center" /></a></p>
<p class="center small">Cancelando las llamadas anteriores, se consigue que los resultados se muestren de forma más rápida y de forma menos trabada.</p>
<p>Entonces empecé a googlear como hacer esto, y encontré algunas respuestas pero ninguna me funcionó (como la de relanzar la petición para cancelar la anterior) y otras me parecieron muy complicadas para el cometido sencillo que tenia (aplicar un patrón observador). Incluso me encontré con quien decía que era imposible abortar la llamada AJAX desde el cliente (navegador).</p>
<p>Pues bie, gracias a <strong>jQuery </strong>encontré una solución muy sencilla aprovechando el evento <strong>beforeSend</strong>. Se trata de crear una variable global, donde guardaremos la conexión HTTPRequest, y en dicho evento <strong>beforeSend </strong>miraremos si hay alguna conexión, si la hay, abortaremos mediante la función <strong>abort()</strong> y meteremos la nueva conexión realizada en la variable global. Dando paso encontes al evento success, complete o error sólo con una conexión activa. Nuestra llamada AJAX con jQuery deberia quedar más o menos así, sin olvidar declarar la variable httpR como global:</p>
<div class="codecolorer-container javascript twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$.<span style="color: #660066;">ajax</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; url<span style="color: #339933;">:</span> <span style="color: #3366CC;">'La URL a llamar'</span><br />
&nbsp; &nbsp; beforeSend<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>data2<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #006600; font-style: italic;">/*httpR es la variable global donde guardamos la conexion*/</span><br />
&nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>httpR<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006600; font-style: italic;">/*Si habia alguna conexion anterior, la cancelamos*/</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; httpR.<span style="color: #660066;">abort</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #006600; font-style: italic;">/*Guardamos la nueva conexion*/</span><br />
&nbsp; &nbsp; httpR <span style="color: #339933;">=</span> data2<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span><br />
&nbsp; &nbsp; success<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006600; font-style: italic;">/*Handler al recibir los datos OK*/</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span><br />
&nbsp; &nbsp; error<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>e<span style="color: #339933;">,</span> xhr<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006600; font-style: italic;">/*Handler de error en la funcion*/</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></div>
<p>Para ver la mejora que se consigue, he preparado una demo que podéis <a href="http://dirtysock.es/demos/demo1.html">ver aquí </a>y <a href="http://dirtysock.es/demos/demo1.rar">descargar </a>los archivos para probarlo.<br />
<a href="http://dirtysock.es/demos/demo1.html">Ver demo</a> &#8211; <a href="http://dirtysock.es/demos/demo1.rar">Descargar archivos</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dirtysock.es/cancelar-llamadas-ajax-previas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lo que hace estar a pocas horas de las vacaciones</title>
		<link>http://dirtysock.es/lo-que-hace-estar-a-pocas-horas-de-las-vacaciones/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=lo-que-hace-estar-a-pocas-horas-de-las-vacaciones</link>
		<comments>http://dirtysock.es/lo-que-hace-estar-a-pocas-horas-de-las-vacaciones/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 14:13:18 +0000</pubDate>
		<dc:creator>Jose</dc:creator>
				<category><![CDATA[Desarrollo web]]></category>
		<category><![CDATA[Trabajo]]></category>
		<category><![CDATA[vacaciones]]></category>

		<guid isPermaLink="false">http://dirtysock.es/?p=1360</guid>
		<description><![CDATA[Estamos aqui agotando las últimas horas en la oficina antes de marcharnos oficialmente de vacaciones y como se nota que la mente se está adelantando un poco y está pensando en otras cosas cuando lo último que he picado ha sido: &#60;div class=&#34;boxContenido&#34;&#62; Lo que sea aqui &#60;/boxContenido&#62; La cosa es que el compañero tampoco [...]]]></description>
			<content:encoded><![CDATA[<p>Estamos aqui agotando las últimas horas en la oficina antes de marcharnos oficialmente de vacaciones y como se nota que la mente se está adelantando un poco y está pensando en otras cosas cuando lo último que he picado ha sido:</p>
<div class="codecolorer-container css twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;div class<span style="color: #00AA00;">=</span><span style="color: #ff0000;">&quot;boxContenido&quot;</span><span style="color: #00AA00;">&gt;</span><br />
Lo que sea aqui<br />
&lt;/boxContenido<span style="color: #00AA00;">&gt;</span></div></div>
<p>La cosa es que el compañero tampoco se queda corto y el tio ha puesto:</p>
<div class="codecolorer-container css twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;p legend<span style="color: #00AA00;">=</span><span style="color: #ff0000;">&quot;Su texto aqui&quot;</span><span style="color: #00AA00;">&gt;</span>&lt;/p<span style="color: #00AA00;">&gt;</span></div></div>
<p>Vamos, que para lo que queda, casi mejor lo dejamos y nos vamos ya. <img src='http://dirtysock.es/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /><br />
Ya de paso aprovecho para desearos unas felices vacaciones a todos los que leais el blog! Hasta pronto!</p>
]]></content:encoded>
			<wfw:commentRss>http://dirtysock.es/lo-que-hace-estar-a-pocas-horas-de-las-vacaciones/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Javascript y los hamsters</title>
		<link>http://dirtysock.es/javascript-y-los-hamsters/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=javascript-y-los-hamsters</link>
		<comments>http://dirtysock.es/javascript-y-los-hamsters/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 17:50:30 +0000</pubDate>
		<dc:creator>Jose</dc:creator>
				<category><![CDATA[Desarrollo web]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://dirtysock.es/?p=872</guid>
		<description><![CDATA[Javascript sounds like it has something to do with Java. It Doesn&#8217;t. In fact, Java is to JavaScript as ham is to hamster. - De Misunderstanding Markup: XHTML 2/HTML 5 Comic Strip de Smashing Magazine de Brad Colbow. P.S: El cómic es interesante, lectura recomendada.]]></description>
			<content:encoded><![CDATA[<blockquote><p class="blockquote">Javascript sounds like it has something to do with Java. It Doesn&#8217;t.<br/><br />
In fact, Java is to JavaScript as ham is to hamster.</p>
</blockquote>
<p align="right">- De <a href="http://www.smashingmagazine.com/2009/07/29/misunderstanding-markup-xhtml-2-comic-strip/">Misunderstanding Markup: XHTML 2/HTML 5 Comic Strip</a><br />
de <a href="http://www.smashingmagazine.com/">Smashing Magazine</a> de <em>Brad Colbow</em>.</p>
<p>P.S: El cómic es interesante, lectura recomendada.</p>
]]></content:encoded>
			<wfw:commentRss>http://dirtysock.es/javascript-y-los-hamsters/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Modificando el estilo de las blockquotes</title>
		<link>http://dirtysock.es/modificando-el-estilo-de-las-blockquotes/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=modificando-el-estilo-de-las-blockquotes</link>
		<comments>http://dirtysock.es/modificando-el-estilo-de-las-blockquotes/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 10:18:43 +0000</pubDate>
		<dc:creator>Jose</dc:creator>
				<category><![CDATA[Desarrollo web]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[blockquote]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>

		<guid isPermaLink="false">http://dirtysock.es/?p=774</guid>
		<description><![CDATA[Hola Con motivo de la anterior entrada del blog, me animé a cambiar un poco el aspecto que tenian las blockquotes en el blog, así que con un poco de css i dos imágenes de unas comillas lo cambié al aspecto que se puede ver actualmente en el post anterior. En primer lugar, con photoshop [...]]]></description>
			<content:encoded><![CDATA[<style type="text/css">
blockquote.demo {
   background-color:black;
   background-image:url('/images/bq1.png');
   background-position:5px 5px;
   background-repeat:no-repeat;
   font-family:Georgia,"Times New Roman",Times,serif;
   font-size:130%;
   font-weight:normal;
   margin:15px;
   padding:20px 50px 5px;
   width:70%;
}
p.blockquote-demo{
   background-color:black;
   background-image:url('/images/bq2.png');
   background-position:right bottom;
   background-repeat:no-repeat;
   padding:0 40px 15px 0;
}
</style>
<p class="hola">Hola</p>
<p>Con motivo de la anterior entrada del blog, me animé a cambiar un poco el aspecto que tenian las <em>blockquotes </em>en el blog, así que con un poco de css i dos imágenes de unas comillas lo cambié al aspecto que se puede ver actualmente en el post anterior.</p>
<p>En primer lugar, con photoshop o cualquier otro editor, hay que crear dos imágenes con las comillas. Usaremos preferiblemente los formatos png o gif, para poder poner el fondo transparente y así si en el algun momento queremos cambiar el color de fondo de la <em>blockquote</em>, nos será mucho más facil. Tras 5 minutos de photoshop he aquí las comillas:</p>
<p><center>
<div style="height:50px;width:145px;margin:10px;">
<div style="background-color:#202020;padding:10px;width:45px;float:left;"><img src="/images/bq1.png" alt="Abre comillas"></img></div>
<div style="background-color:#202020;padding:10px;width:45px;float:right;"><img src="/images/bq2.png" alt="Abre comillas"></img></div>
</div>
<p></center></p>
<p>Una vez tenemos las imágenes, procedemos a escribir el css que dará estilo a la blockquote. Como vemos, fijamos el color nergro como fondo, para seguir con la imagen del blog, y colocamos la apertura de comillas ( <code class="codecolorer text twitlight"><span class="text">background-image:url(images/bq1.png);</span></code> ) arriba a la izquierda ( <code class="codecolorer text twitlight"><span class="text">background-position:left top;</span></code> ) y sin repetir ( <code class="codecolorer text twitlight"><span class="text">background-repeat:no-repeat;</span></code> ). Cambiamos también la fuente de texto y el tamaño para diferenciarlo del texto normal. Finalmente mediante <code class="codecolorer text twitlight"><span class="text">margin</span></code>, posicionamos el <em>blockquote </em>un poco separado de los márgenes del post, diferenciándolo también del resto del texto y mediante <code class="codecolorer text twitlight"><span class="text">padding:1px 50px;</span></code> dejamos espacio para que se vean las imágenes de las comillas.</p>

<p>Aquí teneis el css completo del blockquote:</p>
<div class="codecolorer-container css twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">blockquote <span style="color: #00AA00;">&#123;</span><br />
<span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span><span style="color: #000000; font-weight: bold;">black</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">background-image</span><span style="color: #00AA00;">:</span><span style="color: #993333;">url</span><span style="color: #00AA00;">&#40;</span><span style="color: #ff0000;">'/images/bq1.png'</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">background-position</span><span style="color: #00AA00;">:</span><span style="color: #933;">5px</span> <span style="color: #933;">5px</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">background-repeat</span><span style="color: #00AA00;">:</span><span style="color: #993333;">no-repeat</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">font-family</span><span style="color: #00AA00;">:</span>Georgia<span style="color: #00AA00;">,</span><span style="color: #ff0000;">&quot;Times New Roman&quot;</span><span style="color: #00AA00;">,</span>Times<span style="color: #00AA00;">,</span><span style="color: #993333;">serif</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">font-size</span><span style="color: #00AA00;">:</span><span style="color: #933;">130%</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">font-weight</span><span style="color: #00AA00;">:</span><span style="color: #993333;">normal</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">margin</span><span style="color: #00AA00;">:</span><span style="color: #933;">15px</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span><span style="color: #933;">20px</span> <span style="color: #933;">50px</span> <span style="color: #933;">5px</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">70%</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span></div></div>
<p>Esto sería un ejemplo de lo conseguido hasta ahora:</p>
<blockquote class="demo"><p>Lorem ipsum dolor sit amet. </p></blockquote>
<p>Como se puede ver, aun falta colocar el cierre de las comillas. Como no podemos poner más de una imagen de fondo, crearemos una clase <code class="codecolorer text twitlight"><span class="text">blockquote</span></code> del tag html parágrafo <code class="codecolorer text twitlight"><span class="text">p</span></code> de la forma: <code class="codecolorer text twitlight"><span class="text">p.blockquote</span></code>, en el cual encerraremos el texto del blockquote y mediante el cual colocaremos el cierre de las comillas.</p>
<p>En el css de esta nueva clase <code class="codecolorer text twitlight"><span class="text">p.blockquote</span></code> simplemente colocaremos la imagen mediante los atributos <code class="codecolorer text twitlight"><span class="text">background</span></code> y definirimos un márgen para darle visibilidad mediante <code class="codecolorer text twitlight"><span class="text">padding</span></code> como ya hicimos anteriormente, quedano el código css de la siguiente manera:</p>
<div class="codecolorer-container css twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">p.blockquote<span style="color: #00AA00;">&#123;</span><br />
&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span><span style="color: #000000; font-weight: bold;">black</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">background-image</span><span style="color: #00AA00;">:</span><span style="color: #993333;">url</span><span style="color: #00AA00;">&#40;</span><span style="color: #ff0000;">'/images/bq2.png'</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">background-position</span><span style="color: #00AA00;">:</span><span style="color: #000000; font-weight: bold;">right</span> <span style="color: #000000; font-weight: bold;">bottom</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">background-repeat</span><span style="color: #00AA00;">:</span><span style="color: #993333;">no-repeat</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span><span style="color: #cc66cc;">0</span> <span style="color: #933;">40px</span> <span style="color: #933;">15px</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span></div></div>
<p>Finalmente, lo unico que tendremos que tener en cuenta es a la hora de escribir una <em>blockquote</em> hacerlo de la siguiente manera:</p>
<div class="codecolorer-container html4strict twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/blockquote.html"><span style="color: #000000; font-weight: bold;">blockquote</span></a>&gt;&lt;<a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;blockquote&quot;</span>&gt;</span><br />
&nbsp; &nbsp;Lorem ipsum dolor sit amet, consectetur adipiscing elit. <br />
&nbsp; &nbsp;Sed egestas, ligula vel vehicula iaculis, est urna<br />
&nbsp; &nbsp;posuere augue, vitae cursus.<br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/blockquote.html"><span style="color: #000000; font-weight: bold;">blockquote</span></a>&gt;</span></div></div>
<p>Y el aspecto final sería:</p>
<blockquote class="demo"><p class="blockquote-demo">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed egestas, ligula vel vehicula iaculis, est urna posuere augue, vitae cursus.</p>
</blockquote>
<p>Con este pequeño tip de css y haciendo volar la imaginación se puede dar vidilla a las blockquotes y que no se vean tan sosas. Espero que os haya servido.</p>
]]></content:encoded>
			<wfw:commentRss>http://dirtysock.es/modificando-el-estilo-de-las-blockquotes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Widerbug</title>
		<link>http://dirtysock.es/widerbug/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=widerbug</link>
		<comments>http://dirtysock.es/widerbug/#comments</comments>
		<pubDate>Tue, 14 Apr 2009 12:30:40 +0000</pubDate>
		<dc:creator>Jose</dc:creator>
				<category><![CDATA[Desarrollo web]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[desarrollo web]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[plugins]]></category>

		<guid isPermaLink="false">http://dirtysock.es/?p=672</guid>
		<description><![CDATA[Desde que empecé a trabajar en esto de las webs, hay una herramienta que se me hace indispensable, el Firebug. Para el que no lo sepa es un plugin para Firefox, con el que puedes editar webs y su CSS en vivo ahorrandote de ir probando, recargar y demás. El caso es que al abrir [...]]]></description>
			<content:encoded><![CDATA[<p><img src="/images/widerbug.jpg" alt="Widerbug"  width="500px" height="80px" class="center"/></p>
<p>Desde que empecé a trabajar en esto de las webs, hay una herramienta que se me hace indispensable, el <a href="https://addons.mozilla.org/es-ES/firefox/addon/1843">Firebug</a>.<br />
Para el que no lo sepa  es un plugin para <strong>Firefox</strong>, con el que puedes editar webs y su CSS en vivo ahorrandote de ir probando, recargar y demás.</p>
<p>El caso es que al abrir <strong>Firebug</strong>, aparece en la parte de abajo de la pantalla, cortándola en horizontal; así pues, con una pantalla 4:3 como la que tengo mi lugar de trabajo, todo perfecto, pero en casa, hace tiempo que abandoné el formato 4:3 y me pasé al panormámico, con lo que la division horizontal es un pelin más incómoda. Hasta hoy. Gracias a <a href="http://www.anieto2k.com/2009/04/12/widerbug-el-firebug-para-pantallas-gigantes/">anieto2k</a> he descubierto <a href="http://www.command-tab.com/2008/01/19/widerbug-widescreen-firebug/">Widerbug</a>, una alternativa de Firebug para pantallas panorámicas, dividiendo la pantalla en modo vertical, y haciendo el uso de Firebug infinitamente más comodo. Muchas gracias a <strong>anieto2k</strong>!</p>
<p><img src="/images/captura-widerbug.png" alt="Widerbug" class="center"/></p>
]]></content:encoded>
			<wfw:commentRss>http://dirtysock.es/widerbug/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

