<?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>BeOSmAn&#039;s Blooog &#187; Web</title>
	<atom:link href="http://beosman.org/archivo/category/web/feed" rel="self" type="application/rss+xml" />
	<link>http://beosman.org</link>
	<description>Breaking with the past to build the future</description>
	<lastBuildDate>Fri, 18 May 2012 14:47:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Resumen de los puntos de control a tener en cuenta para cumplir con la especificación WCAG 1.0</title>
		<link>http://beosman.org/archivo/2012/web/resumen-de-los-puntos-de-control-a-tener-en-cuenta-para-cumplir-con-la-especificacion-wcag-1-0.html</link>
		<comments>http://beosman.org/archivo/2012/web/resumen-de-los-puntos-de-control-a-tener-en-cuenta-para-cumplir-con-la-especificacion-wcag-1-0.html#comments</comments>
		<pubDate>Sun, 15 Apr 2012 17:59:48 +0000</pubDate>
		<dc:creator>Diego</dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://beosman.org/?p=6059</guid>
		<description><![CDATA[La WCAG 1.0 es la primera versión de las recomendaciones del W3C para crear páginas Web accesibles. Este es un resumen no exhaustivo de los puntos de verificación para cada una de las prioridades de esta recomendación: Prioridad 1 Provee un texto equivalente para cada elemento no textual. Asegúrate de que cada información dada por [...]]]></description>
			<content:encoded><![CDATA[<p>La <a href="http://en.wikipedia.org/wiki/WCAG_1.0"><acronym title="Web Content Accessibility Guidelines" lang="en">WCAG</acronym> 1.0</a> es la primera versión de las recomendaciones del <a href="http://es.wikipedia.org/wiki/W3C"><acronym title="World Wide Web Consortium" lang="en">W3C</acronym></a> para crear <a href="http://es.wikipedia.org/wiki/Accesibilidad_web">páginas Web accesibles</a>.</p>
<p>Este es un resumen no exhaustivo de los puntos de verificación para cada una de las prioridades de esta recomendación:</p>
<h3>Prioridad 1</h3>
<ol>
<li>Provee un texto equivalente para cada elemento no textual.</li>
<li>Asegúrate de que cada información dada por el color también está disponible sin él.</li>
<li>Identifica claramente los cambios en el lenguaje natural (<abbr title="por ejemplo">p.e.</abbr> mediante <em>captions</em>).</li>
<li>Organiza los documentos para que puedan ser leídos sin hojas de estilo.</li>
<li>Asegúrate que los equivalentes del contenido dinámico son actualizados cuando lo hace este.</li>
<li>Evita que la pantalla parpadee.</li>
<li>Usa el lenguaje más claro posible para el contenido del sitio.</li>
<li>Proporciona enlaces alternativos para cualquier mapa de imágenes.</li>
<li>Provee mapas de imágenes en el lado del cliente en lugar de en el lado del servidor excepto cuando las regiones no puedan ser definidas con las formas disponibles.</li>
<li>Para tablas de datos, identifica las cabeceras de filas y columnas.</li>
<li>Para tablas de datos con más de un nivel lógico de cabeceras de filas y columnas utiliza etiquetado para asociar celdas de filas y celdas de columnas.</li>
<li>Titula cada <em>frame</em> para facilitar la navegación.</li>
<li>Asegúrate de que las páginas que usan elementos programados (<em>applets</em>, <em>scripts</em>&#8230;) son usables aunque estos estén desactivados. Si no es posible, proporciona una página alternativa con la misma información.</li>
<li>Proporciona una descripción auditiva de la información importante de una presentación multimedia.</li>
<li>Para cualquier presentación multimedia (película, animación&#8230;) sincronice alternativas equivalentes (subtítulos, descripciones auditivas&#8230;) con la presentación.</li>
<li>Si después de todo el esfuerzo no es posible crear una página accesible, cree una página alternativa accesible usando la tecnología del W3C.</li>
</ol>
<h3>Prioridad 2</h3>
<ol>
<li>Asegúrate de que las combinaciones de color de fondo y de primer plano tienen suficiente contraste (prioridad 2 para imágenes y prioridad 3 para texto).</li>
<li>Siempre que exista etiquetado apropiado, usa este para transmitir información en lugar de imágenes.</li>
<li>Crea documentos que validen contra las gramáticas formales publicadas.</li>
<li>Usa hojas de estilo para controlar el diseño y la presentación.</li>
<li>Usa unidades relativas en los atributos del lenguaje de marcado y de las hojas de estilo.</li>
<li>Utiliza encabezados conforme a la norma para transmitir la estructura del documento.</li>
<li>Etiqueta listas y elementos de lista correctamente.</li>
<li>Etiqueta correctamente las citas.</li>
<li>Asegúrate de que el contenido dinámico es accesible o proporciona una página alternativa.</li>
<li>Evita que el contenido parpadee.</li>
<li>No crees páginas que se autorrefresquen.</li>
<li>No crees páginas que se redireccionen automáticamente. Configura el servidor para realizar esa tarea.</li>
<li>No hagas que aparezcan ventanas emergentes y no cambies de ventana sin informar al usuario.</li>
<li>Usa las tecnologías del W3C cuando estén disponibles y usa las últimas versiones cuando sean compatibles.</li>
<li>Evita tecnologías obsoletas de la W3C.</li>
<li>Divide grandes grupos de información en otros más pequeños y manejables.</li>
<li>Identifica claramente el destino de cada enlace.</li>
<li>Provee metadatos para añadir información semántica a las páginas.</li>
<li>Provee información sobre el diseño principal del sitio (mapa del sitio, tabla de contenidos&#8230;).</li>
<li>Usa los mecanismos de navegación de forma consistente.</li>
<li>No uses tablas para maquetar a no ser que tenga sentido cuando se linealiza. Si no es así, provee una página alternativa.</li>
<li>Si usas tablas para maquetar, no uses elementos de formato gráfico.</li>
<li>Describe el propósito de cada <em>frame</em> y la relación entre ellas.</li>
<li>Asegúrate de que las etiquetas asociadas a controles de formulario están correctamente posicionadas.</li>
<li>Asocia etiquetas explícitamente a controles de formulario.</li>
<li>Asegúrate de que los gestores de eventos en <em>scripts</em> y <em>applets</em> son independientes del dispositivo.</li>
<li>Evita movimientos automáticos en las páginas o provee elementos para pararlos.</li>
<li>Haz elementos programáticos (<em>scripts</em> y/o <em>applets</em>) compatibles con tecnologías de asistencia.</li>
<li>Asegúrate de que los elementos con su propia interfaz funcionan de forma independiente del dispositivo.</li>
<li>Para <em>scripts</em> crea manejadores de eventos lógicos en lugar de hacerlos dependientes del dispositivo.</li>
</ol>
<h3>Prioridad 3</h3>
<ol>
<li>Especifica la expansión de cada abreviatura o acrónimo la primera vez que aparezca en el documento.</li>
<li>Identifica el primer lenguaje natural del documento.</li>
<li>Crea un orden lógico al recorrer los enlaces, los controles de formularios y los objetos.</li>
<li>Provee accesos directos desde teclado para los enlaces, controles o grupos de controles de formulario más importantes.</li>
<li>Hasta que los navegadores distingan los enlaces adyacentes, provee caracteres imprimibles entre ellos.</li>
<li>Provee enlaces para que los usuarios obtengan los documentos de forma acorde a sus preferencias (idioma, tipo de contenido&#8230;).</li>
<li>Provee barras de navegación y da acceso al sistema de navegación.</li>
<li>Agrupa enlaces relacionados, identifica el grupo y provee un método para saltarse los grupos.</li>
<li>Si existe la función de búsqueda, provee diferentes métodos acordes a los diferentes perfiles de usuario.</li>
<li>Coloca información distintiva al comienzo de encabezados, párrafos, listas, etc.</li>
<li>Provee información acerca de colecciones de elementos.</li>
<li>Provee un método para saltar el <a href="http://es.wikipedia.org/wiki/Arte_ASCII">ASCII Art</a>.</li>
<li>Complementa el texto con presentaciones gráficas o auditivas para mejorar la comprensión de la página.</li>
<li>Crea una presentación de la página consistente en todas las páginas.</li>
<li>Provee enlaces de texto redundantes para cada región de los mapas de imágenes.</li>
<li>Provee resúmenes para las tablas.</li>
<li>Provee abreviaturas para las cabeceras de las tablas.</li>
<li>Provee texto lineal alternativo para todas las tablas con texto en columnas paralelas.</li>
<li>Incluye texto predeterminado en controles vacíos.</li>
</ol>
<p class="postdata">
Este resumen es una traducción/adaptación del <a href="http://www.w3.org/TR/WCAG10/full-checklist.html">original en inglés</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://beosman.org/archivo/2012/web/resumen-de-los-puntos-de-control-a-tener-en-cuenta-para-cumplir-con-la-especificacion-wcag-1-0.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>11 características que Twitter debería tener</title>
		<link>http://beosman.org/archivo/2011/informatica/11-caracteristicas-que-twitter-deberia-tener.html</link>
		<comments>http://beosman.org/archivo/2011/informatica/11-caracteristicas-que-twitter-deberia-tener.html#comments</comments>
		<pubDate>Fri, 09 Dec 2011 14:59:32 +0000</pubDate>
		<dc:creator>Diego</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Opinión]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://beosman.org/?p=5412</guid>
		<description><![CDATA[Mucha gente usa Twitter, esa red social tan &#8220;rara&#8221; que sólo permite 140 caracteres en cada mensaje. Y quizás sea por eso su gran éxito a pesar de que sus características técnicas no han cambiado desde&#8230; bueno, casi desde que se creó. Por eso creo que, desde el punto de vista de un usuario (no [...]]]></description>
			<content:encoded><![CDATA[<p>Mucha gente usa <a href="http://es.wikipedia.org/wiki/Twitter">Twitter</a>, esa <a href="http://es.wikipedia.org/wiki/Red_social">red social</a> tan <em>&#8220;rara&#8221;</em> que sólo permite 140 caracteres en cada mensaje. Y quizás sea por eso su gran éxito a pesar de que sus características técnicas no han cambiado desde&#8230; bueno, casi desde que se creó. Por eso creo que, desde el punto de vista de un usuario (no de un desarrollador), Twitter necesita, al menos, que se implementen estas 11 características:</p>
<ol>
<li><strong>Edición de tuits</strong>: Sería bueno poder editar los tuits, al menos durante un tiempo después de la publicación, para corregir, por ejemplo, faltas de ortografía. No sería bueno poder editarlos siempre ya que con la sucesivas ediciones podrías hacer totalmente incoherente la conversión con el resto de usuarios.</li>
<li><strong>Bloqueo de usuarios sin necesidad de dejar de seguirlos</strong>: ¿Sabéis eso de &#8220;te sigo por compromiso&#8221;? Pues eso. Además, he visto algunos tuits donde ya se demanda esta característica.</li>
<li><strong>Omisión de tuits en el <em>timeline</em> que contengan un determinado <em>hashtag</em></strong>: No estaría demás que se pudiera, en el <acronym title="Timeline" lang="en">TL</acronym> principal, omitir de forma automática los tuits que contengan algún <em><a href="http://es.wikipedia.org/wiki/Hashtag">hashtag</a></em> determinado, por eso de ser, en ocasiones, bastante cansinos.</li>
<li><strong>Poder recuperar todos tus tuits</strong>: En caso de tener un cliente de Twitter que no sea el de Web (y creo que con el de Web también), sólo podrás recuperar tus 3000 últimos tuits. Aunque el resto siguen en la base de datos, su API no soporta recuperar más de esta cantidad.</li>
<li><strong>Posibilidad de copia de seguridad de tus tuits</strong>: No hay ninguna forma de recuperar todos tus tuits si no es con aplicaciones externas. Y a esto hay que aplicarle el límite del punto anterior. Twitter debería implementar una forma de hacer copia de seguridad de tus tuits.</li>
<li><strong>Respuesta pública</strong>: Posibilidad de responder a un tuit de forma pública (que lo vean todos los usuarios que te siguen en lugar de los usuarios que te siguen y los que siguen al que respondes) para así no tener que poner un carácter antes del nombre de quien estás respondiendo y tener que desaprovecharlo.</li>
<li><strong>Implementación de un sistema para <em>&#8220;leer más tarde&#8221;</em></strong>: Yo, al menos, uso los favoritos como marcadores para leer luego. No tengo ningún tuit favorito, simplemente en mi cliente del móvil los marco (los que tienen imágenes, alguna <acronym title="Uniform Resource Locator" lang="en">URL</acronym>&#8230;) para leer cuando esté en un ordenador o <em>tablet</em>. Recordemos las limitaciones de las pantallas pequeñas y, sobre todo, las limitaciones de las conexiones <a href="http://es.wikipedia.org/wiki/3G">3G</a>.</li>
<li><strong>Formato del texto</strong>: Esta quizás sería la más rompedora con la filosofía de Twitter, pero ayudaría mucho a expresar justamente lo que queremos decir —<em>&#8220;emociones&#8221;</em> incluidas— con, al menos, negrita, cursiva y tachado.</li>
<li><strong>Enlaces contextualizados</strong>: Los enlaces deberían ir como en HTML, enlazando un texto en lugar de que vaya la <acronym title="Uniform Resource Locator" lang="en">URL</acronym> directamente. El contexto es muy importante en la Web y Twitter está haciendo un esfuerzo enorme —entiendo que inconscientemente— para eliminarlo. Lo mismo que los acortadores <acronym title="Uniform Resource Locator" lang="en">URL</acronym>, donde se pierde toda la semántica de las <a href="http://es.wikipedia.org/wiki/URL_sem%C3%A1ntica"><acronym title="Uniform Resource Locator" lang="en">URL</acronym>s amigables</a>. Pero ese es otro tema.</li>
<li><strong>Estadísticas</strong>: Sería buena idea que se proporcionaran estadísticas —principalmente informativas— de uso de Twitter, tanto de los usuarios (tuits por día, horarios de tuiteo, retuits…) como generales (tuis diarios, tuits diarios por países, usuarios activos en tiempo real…).</li>
<li><strong>Avance automático en el cliente Web</strong>: En el cliente Web, cuando sale el aviso de que hay nuevos tuits, al hacer clic, la página debería avanzar automáticamente hasta el último que has leído. Además, en la nueva interfaz, se debería marcar de alguna forma el último tuit que has leído (en la antigua se hacía).</li>
</ol>
<p>Y una característica extra, la duodécima: más caracteres. Aquí hay muchísima controversia. Quizás, como he dicho antes, el éxito de Twitter sea precisamente el de tener un número de caracteres limitados. Pero, al menos a mi, muchas más veces de las que me gustaría se me quedan muy cortos para escribir lo que quiero decir. Y a veces no soy capaz de hacerle caso al famoso mensaje <em>&#8220;Tu Tweet contiene mas de 140 caracteres. Tendrás que ser más ingenioso.&#8221;</em>.</p>
<p>No estoy diciendo que se ponga un número ilimitado (o muy grande) de caracteres como ocurre con <a href="http://es.wikipedia.org/wiki/Google%2B">Google+</a> o <a href="http://es.wikipedia.org/wiki/Facebook">Facebook</a>, pero sí alguno más, por ejemplo —por aventurarme con un número— 200; o, mejor, 256 (2<sup>8</sup>, por eso de ser friki <img src='http://beosman.org/wp-includes/images/smilies/tongue.gif' alt=':tongue:' class='wp-smiley' /> ). Por ejemplo, las <a href="http://www.meneame.net/notame/">notas de Menéame</a> tienen 1000 caracteres y creo que la mayoría de ellas no pasan ni de los 500, pero cuando hay algo más largo que decir, se puede hacer sin ningún problema.</p>
<p>Pero bueno, esta es sólo mi opinión. Y vosotros ¿qué opináis de estas 11 características que Twitter debería tener? ¿Alguna más? ¿Alguna menos?</p>
]]></content:encoded>
			<wfw:commentRss>http://beosman.org/archivo/2011/informatica/11-caracteristicas-que-twitter-deberia-tener.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Libros de Smashing Magazine</title>
		<link>http://beosman.org/archivo/2011/web/libros-de-smashing-magazine.html</link>
		<comments>http://beosman.org/archivo/2011/web/libros-de-smashing-magazine.html#comments</comments>
		<pubDate>Wed, 04 May 2011 13:40:01 +0000</pubDate>
		<dc:creator>Diego</dc:creator>
				<category><![CDATA[Libros]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://beosman.org/?p=4223</guid>
		<description><![CDATA[Hace bastante tiempo que sigo la página de Smashing Magazine que versa sobre diseño gráfico y diseño de interfaces de usuario, principalmente para Web aunque se pueden aplicar a cualquier interfaz. Y, aunque sigo la página, tengo que reconocer que no leo todos los artículos debido a su extensión y mi falta de tiempo. Pero [...]]]></description>
			<content:encoded><![CDATA[<p><img class="floatright image" src="/uploads/2011/05/libros-smashing-magazine.jpg" alt="Libros de Smashing Magazine" title="Libros de Smashing Magazine" width="300" height="304" /></p>
<p>Hace bastante tiempo que sigo la página de <a href="http://www.smashingmagazine.com/">Smashing Magazine</a> que versa sobre diseño gráfico y diseño de interfaces de usuario, principalmente para Web aunque se pueden aplicar a cualquier interfaz. Y, aunque sigo la página, tengo que reconocer que no leo todos los artículos debido a su extensión y mi falta de tiempo.</p>
<p>Pero como creo que es una página sumamente interesante, al ver que había salido <a href="http://www.smashingmagazine.com/2011/02/01/smashing-book-2/">el segundo libro recopilando sus artículos</a>, y desconociendo que había un primero, me decidí a comprarlos gracias a su buena reputación y a todos los artículos que he leído y donde he aprendido unas cuantas cosas. Además, había una <a href="https://shop.smashingmagazine.com/printed-book-bundle-eu.html">oferta donde vendían los dos ejemplares por 35 € (más gastos de envío)</a>.</p>
<p>Y aquí están: en el primer vistazo, ¡oh, sorpresa!, están en inglés&#8230; bueno, eso ya lo sabía. En un segundo vistazo tengo que decir que el contenido es similar al de la Web (no puedo asegurar que sea el mismo contenido literal, pero sí trata los mismos temas) por lo que se centrará en diseño de interfaces de usuario dedicadas a Web (aunque se pueden aplicar a muchas otras cosas) pasando por los colores, las tipografías, ubicación de información, usabilidad, optimización, etc.</p>
<p>En cuanto a los libros, el primero es <a href="http://es.wikipedia.org/wiki/Formato_de_papel">A5</a> de tapa blanda con 311 páginas en hojas plastificadas (como en revista) e impresión a todo color, destacando la tipografía <em><a href="http://es.wikipedia.org/wiki/Sans_serif">sans-serif</a></em>.</p>
<p>El segundo es A5 de tapa dura con 355 páginas, también en hojas plastificadas y a todo color, destacando, esta vez, que la tipografía es <em><a href="http://es.wikipedia.org/wiki/Serif">serif</a></em>.</p>
<p>En conclusión, la calidad de los libros es muy buena y la calidad del contenido de los libros, a falta de haberlos leído, presupongo que será también muy buena por el simple hecho de tener la reputación de Smashing Magazine. Eso sí, estos libros no son de literatura así que están destinados a un público minoritario que se dedique principalmente al diseño gráfico en general y al diseño Web en particular.</p>
]]></content:encoded>
			<wfw:commentRss>http://beosman.org/archivo/2011/web/libros-de-smashing-magazine.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Optimizando sitios Web</title>
		<link>http://beosman.org/archivo/2010/informatica/optimizando-sitios-web.html</link>
		<comments>http://beosman.org/archivo/2010/informatica/optimizando-sitios-web.html#comments</comments>
		<pubDate>Mon, 30 Aug 2010 20:31:57 +0000</pubDate>
		<dc:creator>Diego</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://beosman.org/?p=2549</guid>
		<description><![CDATA[Muy buen artículo de Ricardo Galli, el creador y mantenedor de Menéame, sobre cómo optimizar sitios Web. Más o menos viene a decir: Reducir al máximo tus CSS y Javascript; y no incluyas los que no necesites (o cárgalo más tarde). Si es posible, carga los elementos bloqueantes (widgets,&#8230;) de forma paralela (hay muchas formas [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://gallir.wordpress.com/2010/08/27/piensa-un-poco-en-los-lectores-de-tu-sitio-web-optimiza-lo-fundamental-intercala-y-elimina/">Muy buen artículo de Ricardo Galli</a>, el creador y mantenedor de <a href="http://www.meneame.net">Menéame</a>, sobre cómo optimizar sitios Web.</p>
<p>Más o menos viene a decir:</p>
<ul>
<li>Reducir al máximo tus <acronym title="Cascade Style Sheet" lang="en">CSS</acronym> y Javascript; y no incluyas los que no necesites (o cárgalo más tarde).</li>
<li>Si es posible, carga los elementos bloqueantes (<em>widgets</em>,&#8230;) de forma paralela (hay muchas formas de hacerlo, por ejemplo usando <code>iframes</code>).</li>
<li>Maquetar de forma que se pueda ir &#8220;dibujando&#8221; la página antes de tener todo el  <acronym title="HyperText Markup Language" lang="en">HTML</acronym>. Con esto se reducirá el tiempo de carga <strong>percibido</strong> por el usuario.</li>
<li>Usar dominios, no subdominios, diferentes para contenido estático.</li>
<li>Comprimir el  <acronym title="HyperText Markup Language" lang="en">HTML</acronym> y usar <a href="http://es.wikipedia.org/wiki/Sprite_(videojuegos)"><em>sprites</em></a> para las imágenes (siempre que dichos <em>sprites</em> no sean demasiado complejos).</li>
<li>Intercalar la generación del contenido con el envío, mandando antes las partes que primero se generan (como la cabecera) para ir &#8220;dibujando&#8221; la página en el menor tiempo posible.</li>
</ul>
<p>De esto yo deduzco que el modelo <a href="http://es.wikipedia.org/wiki/Modelo_Vista_Controlador"><acronym title="Modelo Vista Controlador">MVC</acronym></a> es una auténtica mierda a la hora de optimizar sitios Web: lo que hace es procesar todo y luego generar y enviar el <acronym title="HyperText Markup Language" lang="en">HTML</acronym> al usuario, que es justamente lo que dice Ricardo Galli que es lento y que lo que realmente reduce el tiempo de carga percibido por el usuario es dibujar la página cuanto antes, aunque todavía no se halla generado completamente.</p>
<p>Mira que cosas, todos poniendo al <acronym title="Modelo Vista Controlador">MVC</acronym> como la panacea y resulta que las pruebas dicen otra cosa&#8230; ¡Ains!</p>
]]></content:encoded>
			<wfw:commentRss>http://beosman.org/archivo/2010/informatica/optimizando-sitios-web.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>De Netscape 4.5 a Chrome 5</title>
		<link>http://beosman.org/archivo/2010/web/de-netscape-4-5-a-chrome-5.html</link>
		<comments>http://beosman.org/archivo/2010/web/de-netscape-4-5-a-chrome-5.html#comments</comments>
		<pubDate>Wed, 16 Jun 2010 14:17:42 +0000</pubDate>
		<dc:creator>Diego</dc:creator>
				<category><![CDATA[Opinión]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://beosman.org/?p=2074</guid>
		<description><![CDATA[Desde que salió Firefox 1.0 no he vuelto a usar otro navegador Web. Antes (mucho antes) fue Netscape 4.5 y luego, cuando este dejó de ser el mejor, fue Internet Explorer (no se exactamente qué versión, aunque supongo que la 5.5 y la 6). Firefox fue &#8220;el navegador&#8221;. Lo primero que introdujo fue la navegación [...]]]></description>
			<content:encoded><![CDATA[<p>Desde que salió <a href="http://es.wikipedia.org/wiki/Firefox">Firefox</a> 1.0 no he vuelto a usar otro navegador Web. Antes (mucho antes) fue <a href="http://es.wikipedia.org/wiki/Netscape_Navigator">Netscape</a> 4.5 y luego, cuando este dejó de ser el mejor, fue <a href="http://es.wikipedia.org/wiki/Internet_Explorer">Internet Explorer</a> (no se exactamente qué versión, aunque supongo que la 5.5 y la 6).</p>
<p>Firefox fue <strong>&#8220;el navegador&#8221;</strong>. Lo primero que introdujo fue la navegación por pestañas. Acostumbrados a tener unas cuantas ventanas, esta característica hizo que tu escritorio estuviera más <em>limpio</em>, más <em>ordenado</em>. Luego vinieron los <em>plugins</em>, y ahí ya todo cambió. Eso de poder tener tus <em>añadidos</em> era impresionante. Sobre todo para temas de desarrollo.</p>
<p>En sucesivas versiones de Firefox, lo que principalmente se mejoró fue su gestión de recursos (siempre se acusó un alto consumo de memoria) y su adaptación a los estándares Web. A parte de esto no hubo muchas más características nuevas. Además, tampoco se esmeraron suficiente en el desarrollo de su motor de <a href="http://es.wikipedia.org/wiki/Javascript">Javascript</a>, <a href="http://en.wikipedia.org/wiki/SpiderMonkey_(JavaScript_engine)">SpiderMonkey</a>/<a href="http://en.wikipedia.org/wiki/SpiderMonkey_(JavaScript_engine)#TraceMonkey">TraceMonkey</a>, con lo que el uso extensivo de Javascript en la Web 2.0 no ha sido todo lo <em>&#8220;gran experiencia del usuario&#8221;</em> que debería.</p>
<p>Pero el tiempo pasa, la tecnología evoluciona y&#8230; salen nuevos navegadores, como <a href="http://es.wikipedia.org/wiki/Google_Chrome">Google Chrome</a>, la incursión de Google en el software de clientes Web.</p>
<p>Chrome es un navegador basado en <a href="http://es.wikipedia.org/wiki/WebKit">WebKit</a>, es decir, el motor de renderizado del HTML no lo han hecho ellos, mientras que el motor de Javascript, <a href="http://es.wikipedia.org/wiki/V8_(motor_JavaScript)">V8</a>, sí que lo han construido desde cero. Y es ahí donde realmente destacan, aparte, por supuesto, de su interfaz de usuario minimalista y funcional, su integración con Flash, su geolocalización, su WebGL,&#8230; en definitiva, muchas características de las que otros navegadores carecen.</p>
<p>Y es precisamente por esto, tanto su velocidad como su mayores <em>&#8220;features&#8221;</em> por lo que he cambiado (casi) definitivamente de navegador principal: de Firefox a Chrome.</p>
<p>Lo único que hecho de menos, principalmente para desarrollo, es un validador de HTML al estilo del <a href="http://www.google.es/url?sa=t&#038;source=web&#038;cd=3&#038;ved=0CC8QFjAC&#038;url=https%3A%2F%2Faddons.mozilla.org%2Fes-ES%2Ffirefox%2Faddon%2F249%2F&#038;ei=atsYTNG1I9WI4Qbc0NCADA&#038;usg=AFQjCNGsdJp2b8KlmJzHp1Ogy6kYT4q41Q&#038;sig2=ihsz1u78FozBy5Zflv_oHg">HTML Validator</a> de Firefox. Pero el resto de herramientas es bastante buena ya que cuenta con <a href="https://chrome.google.com/extensions/detail/bfbameneiokkgbdmiekhjnmfkcnldhhm">Web Developer</a> y con <a href="http://www.chrome-es.com/firebug-en-google-chrome/">Firebug</a> (<em>Lite</em>, eso sí).</p>
<p>Pero como siempre, dejo la puerta abierta al próximo navegador Web. Si es mejor que Google Chrome, no dudaré ni un segundo en cambiarme <img src='http://beosman.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>
]]></content:encoded>
			<wfw:commentRss>http://beosman.org/archivo/2010/web/de-netscape-4-5-a-chrome-5.html/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Mozilla Thunderbird 3 y el Locale</title>
		<link>http://beosman.org/archivo/2010/internet/mozilla-thunderbird-3-y-el-locale.html</link>
		<comments>http://beosman.org/archivo/2010/internet/mozilla-thunderbird-3-y-el-locale.html#comments</comments>
		<pubDate>Mon, 01 Feb 2010 15:04:43 +0000</pubDate>
		<dc:creator>Diego</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://beosman.org/?p=1441</guid>
		<description><![CDATA[Ya me he actualizado a Mozilla Thuderbird 3 y, a parte de la nueva interfaz y que algunas cosas cambian de sitio y la forma de hacerlas, la experiencia es totalmente recomendable. El único problema que he tenido&#8230; bueno, problema no, simplemente que no me gusta como está, es que ciertas cadenas de la traducción [...]]]></description>
			<content:encoded><![CDATA[<p><img src="/uploads/2010/02/mozilla-thunderbird-3-icon.png" alt="Icono de Mozilla Thunderbird 3" title="Icono de Mozilla Thunderbird 3" width="180" height="180" class="floatright" /></p>
<p>Ya me he actualizado a <a href="http://es-es.www.mozillamessaging.com/es-ES/thunderbird/">Mozilla Thuderbird 3</a> y, a parte de la nueva interfaz y que algunas cosas cambian de sitio y la forma de hacerlas, la experiencia es totalmente recomendable.</p>
<p>El único problema que he tenido&#8230; bueno, problema no, simplemente que no me gusta como está, es que ciertas cadenas de la traducción al español (la localización de la aplicación también conocido como <em>Locale</em>) vienen todas en minúsculas cuando a mi me gustan como el comienzo de frase, con la primera letra mayúscula.</p>
<p>Y como no puedo parar quieto, he buscado por los archivos de Thunderbird y he dado con una solución, a falta de que alguien lo cambie dentro del grupo de desarrollo o de traducción (que supongo no lo harán porque, como he dicho, no es que sea un problema).</p>
<p>El caso es que hay que ir al archivo <code>C:\Archivos de programa\Mozilla Thunderbird\chrome\</code> y coger el archivo <code>es-ES.jar</code> y hacer una copia de seguridad. Luego se abre con el WinZIP, WinRAR o similares y se descomprime (recordemos que un <code>.jar</code> es un <code>.zip</code> con un formato de carpetas específico).</p>
<p>Una vez descomprimido, dentro de la carpeta <code>locale\es-ES\messenger</code> se abre el archivo <code>msgHdrViewOverlay.dtd</code> con un editor de texto y se cambian ahí todas las cadenas que queramos corregir teniendo cuidado de no alterar el formato del archivo ni de comernos ninguna comilla.</p>
<p>Luego se recomprime con el programa anterior en formato <a href="http://es.wikipedia.org/wiki/Formato_de_compresi%C3%B3n_ZIP">ZIP</a>, que puede variar desde <em>Sin compresión</em> hasta <em>La mejor</em>; funcionará de cualquier forma. Después de comprimir se renombra a <code>es-ES.jar</code> y se sobrescribe la versión anterior de este archivo.</p>
<p>Se inicia el Thunderbird y todo debería haber funcionado sin problemas teniendo ya nuestras cadenas cambiadas. Si algo falla, siempre tendremos la copia de seguridad.</p>
<p>Y esto es todo. Supongo que no seréis tan <em>tiquismiquis</em> como yo y tampoco es que lo vayáis a hacer, pero aquí lo tenéis.</p>
]]></content:encoded>
			<wfw:commentRss>http://beosman.org/archivo/2010/internet/mozilla-thunderbird-3-y-el-locale.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Tetris en primera persona</title>
		<link>http://beosman.org/archivo/2010/web/tetris-en-primera-persona.html</link>
		<comments>http://beosman.org/archivo/2010/web/tetris-en-primera-persona.html#comments</comments>
		<pubDate>Thu, 28 Jan 2010 14:47:10 +0000</pubDate>
		<dc:creator>Diego</dc:creator>
				<category><![CDATA[Juegos]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://beosman.org/?p=1418</guid>
		<description><![CDATA[Gracias a un twitter de @pinano, he encontrado el mejor Tetris ever made: First Person Tetris. Simplemente probadlo. Digamos que no es exactamente lo que estáis pensando . Incluso tiene un modo noche que ya es para flipar.]]></description>
			<content:encoded><![CDATA[<p>Gracias a un <a href="http://twitter.com/pinano/status/8285452344"><em>twitter</em> de @pinano</a>, he encontrado el mejor <a href="http://es.wikipedia.org/wiki/Tetris">Tetris</a> <em lang="en">ever made</em>: <a href="http://firstpersontetris.com/">First Person Tetris</a>.</p>
<p class="aligncenter">
<a href="http://firstpersontetris.com/"><img src="/uploads/2010/01/first-person-tetris.jpg" alt="First Person Tetris" title="First Person Tetris" width="550" height="490" class="image" /></a>
</p>
<p>Simplemente probadlo. Digamos que no es exactamente lo que estáis pensando <img src='http://beosman.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> . Incluso tiene un modo noche que ya es para flipar.</p>
]]></content:encoded>
			<wfw:commentRss>http://beosman.org/archivo/2010/web/tetris-en-primera-persona.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>¿Un buen anti-spam para WordPress?</title>
		<link>http://beosman.org/archivo/2009/internet/un-buen-antispam-para-wordpress.html</link>
		<comments>http://beosman.org/archivo/2009/internet/un-buen-antispam-para-wordpress.html#comments</comments>
		<pubDate>Wed, 30 Dec 2009 16:53:10 +0000</pubDate>
		<dc:creator>Diego</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://beosman.org/?p=1282</guid>
		<description><![CDATA[¿Alguien sabe de algún widget anti-spam para WordPress que sea bueno y que no tenga que deshacer todo el theme para maquetarlo? He probado un par de ellos de los que están en el Codex pero no me convence ninguno&#8230; también de esos que son invisibles, pero no funcionan. Y la verdad es que no [...]]]></description>
			<content:encoded><![CDATA[<p>¿Alguien sabe de algún <em>widget</em> anti-spam para WordPress que sea bueno y que no tenga que deshacer todo el <em>theme</em> para maquetarlo?</p>
<p>He probado un par de ellos de los que están en el Codex pero no me convence ninguno&#8230; también de esos que son invisibles, pero no funcionan. Y la verdad es que no tengo ganas de hacerme el mío propio. Si sabéis de alguno poned un comentario <img src='http://beosman.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
]]></content:encoded>
			<wfw:commentRss>http://beosman.org/archivo/2009/internet/un-buen-antispam-para-wordpress.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wikipedia somos todos</title>
		<link>http://beosman.org/archivo/2009/web/wikipedia-somos-todos.html</link>
		<comments>http://beosman.org/archivo/2009/web/wikipedia-somos-todos.html#comments</comments>
		<pubDate>Mon, 21 Dec 2009 15:03:26 +0000</pubDate>
		<dc:creator>Diego</dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://beosman.org/?p=1267</guid>
		<description><![CDATA[Ya he comentado por aquí que la Wikipedia me parece el mejor proyecto de Internet, y con diferencia. Porque en la Wikipedia está mucho del conocimiento humano (no en profundidad, pero sí lo suficiente como para estar informado) y, además, es de todos. Todos podemos ampliarlo y todos podemos ampliar nuestros conocimientos gracias a ella. [...]]]></description>
			<content:encoded><![CDATA[<p><img src="/uploads/2009/12/thanks-wikipedia.jpg" alt="Gracias, Wikipedia" title="Gracias, Wikipedia" width="125" height="125" class="floatright image" /></p>
<p><a href="http://beosman.org/archivo/2008/internet/el-mejor-proyecto-de-internet-es-la-wikipedia.html">Ya he comentado por aquí que la Wikipedia me parece el mejor proyecto de Internet</a>, y con diferencia. Porque en la Wikipedia está mucho del conocimiento humano (no en profundidad, pero sí lo suficiente como para estar informado) y, además, es de todos. Todos podemos ampliarlo y todos podemos ampliar nuestros conocimientos gracias a ella. Así que yo <a href="http://wikimediafoundation.org/wiki/Appeal2/es?utm_source=2009_Jimmy_Appeal3&#038;utm_medium=sitenotice&#038;utm_campaign=fundraiser2009&#038;referrer=http://es.wikipedia.org/wiki/Wikipedia:Portada&#038;target=Appeal2">he donado</a> una pequeña cantidad para que siga ahí. Para que todos estemos ahí, porque la <strong>Wikipedia somos todos</strong>.</p>
<p>Por supuesto, con esto no gano nada, no es publicidad, no hay beneficio económico, es simplemente <strong>apoyo</strong>. ¿Y tú, has donado ya?</p>
]]></content:encoded>
			<wfw:commentRss>http://beosman.org/archivo/2009/web/wikipedia-somos-todos.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Manifiesto en defensa de los derechos fundamentales de Internet</title>
		<link>http://beosman.org/archivo/2009/increible/manifiesto-en-defensa-de-los-derechos-fundamentales-de-internet.html</link>
		<comments>http://beosman.org/archivo/2009/increible/manifiesto-en-defensa-de-los-derechos-fundamentales-de-internet.html#comments</comments>
		<pubDate>Wed, 02 Dec 2009 15:13:00 +0000</pubDate>
		<dc:creator>Diego</dc:creator>
				<category><![CDATA[Esto es increíble]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Opinión]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://beosman.org/archivo/2009/increible/manifiesto-en-defensa-de-los-derechos-fundamentales-de-internet.html</guid>
		<description><![CDATA[Ante la inclusión en el Anteproyecto de Ley de Economía sostenible de modificaciones legislativas que afectan al libre ejercicio de las libertades de expresión, información y el derecho de acceso a la cultura a través de Internet, los periodistas, bloggers, usuarios, profesionales y creadores de Internet manifestamos nuestra firme oposición al proyecto, y declaramos que: [...]]]></description>
			<content:encoded><![CDATA[<p>Ante la inclusión en el Anteproyecto de Ley de Economía sostenible de modificaciones legislativas que afectan al libre ejercicio de las libertades de expresión, información y el derecho de acceso a la cultura a través de Internet, los periodistas, bloggers, usuarios, profesionales y creadores de Internet manifestamos nuestra firme oposición al proyecto, y declaramos que:</p>
<ol>
<li>
<strong>Los derechos de autor no pueden situarse por encima de los derechos fundamentales de los ciudadanos</strong>, como el derecho a la privacidad, a la seguridad, a la presunción de inocencia, a la tutela judicial efectiva y a la libertad de expresión.
</li>
<li>
<strong>La suspensión de derechos fundamentales es y debe seguir siendo competencia exclusiva del poder judicial</strong>. Ni un cierre sin sentencia. Este anteproyecto, en contra de lo establecido en el <a href="http://narros.congreso.es/constitucion/constitucion/indice/sinopsis/sinopsis.jsp?art=20&#038;tipo=2">artículo 20.5 de la Constitución</a>, pone en manos de un órgano no judicial &mdash;un organismo dependiente del Ministerio de Cultura&mdash;, la potestad de impedir a los ciudadanos españoles el acceso a cualquier página web.
</li>
<li>
<strong>La nueva legislación creará inseguridad jurídica en todo el sector tecnológico español</strong>, perjudicando uno de los pocos campos de desarrollo y futuro de nuestra economía, entorpeciendo la creación de empresas, introduciendo trabas a la libre competencia y ralentizando su proyección internacional.
</li>
<li>
<strong>La nueva legislación propuesta amenaza a los nuevos creadores y entorpece la creación cultural</strong>. Con Internet y los sucesivos avances tecnológicos se ha democratizado extraordinariamente la creación y emisión de contenidos de todo tipo, que ya no provienen prevalentemente de las industrias culturales tradicionales, sino de multitud de fuentes diferentes.
</li>
<li>
<strong>Los autores</strong>, como todos los trabajadores, <strong>tienen derecho a vivir de su trabajo con nuevas ideas creativas, modelos de negocio y actividades</strong> asociadas a sus creaciones. Intentar sostener con cambios legislativos a una industria obsoleta que no sabe adaptarse a este nuevo entorno no es ni justo ni realista. Si su modelo de negocio se basaba en el control de las copias de las obras y en Internet no es posible sin vulnerar derechos fundamentales, deberían buscar otro modelo.
</li>
<li>
Consideramos que <strong>las industrias culturales necesitan para sobrevivir alternativas modernas, eficaces, creíbles y asequibles y que se adecuen a los nuevos usos sociales</strong>, en lugar de limitaciones tan desproporcionadas como ineficaces para el fin que dicen perseguir.
</li>
<li>
<strong>Internet debe funcionar de forma libre y sin interferencias políticas</strong> auspiciadas por sectores que pretenden perpetuar obsoletos modelos de negocio e imposibilitar que el saber humano siga siendo libre.
</li>
<li>
<strong>Exigimos que el Gobierno garantice por ley la <a href="http://es.wikipedia.org/wiki/Neutralidad_de_red">neutralidad de la Red en España</a></strong>, ante cualquier presión que pueda producirse, como marco para el desarrollo de una economía sostenible y realista de cara al futuro.
</li>
<li>
<strong>Proponemos una verdadera reforma del derecho de propiedad intelectual</strong> orientada a su fin: devolver a la sociedad el conocimiento, promover el dominio público y limitar los abusos de las entidades gestoras.
</li>
<li>
<strong>En democracia las leyes y sus modificaciones deben aprobarse tras el oportuno debate público</strong> y habiendo consultado previamente a todas las partes implicadas. No es de recibo que se realicen cambios legislativos que afectan a derechos fundamentales en una ley no orgánica y que versa sobre otra materia.
</li>
</ol>
<p style="color:gray;">
Este manifiesto, elaborado de forma conjunta por varias personas, es de todos y de ninguno. Si estás de acuerdo y quieres sumarte a él, <strong>difúndelo por Internet</strong>.
</p>
<p style="color:gray;">
Yo lo vi en <a href="http://ciberderechos.barrapunto.com/ciberderechos/09/12/02/086200.shtml">Barrapunto</a>, en <a href="http://www.microsiervos.com/archivo/internet/en-defensa-de-los-derechos-fundamentales-en-internet.html">Microsiervos</a> y <a href="http://www.google.es/search?rlz=1C1GGLS_esES326ES326&#038;sourceid=chrome&#038;ie=UTF-8&#038;q=defensa+derechos+fundamentales+internet">en muchos otros sitios más</a>. Porque eso sí que es un atentado contra <a href="http://narros.congreso.es/constitucion/constitucion/indice/sinopsis/sinopsis.jsp?art=20&#038;tipo=2">nuestros derechos fundamentales</a>. Y todo por dinero, como siempre. Por mantener un negocio de cuatro a costa de todos. Pero lo peor es que nuestro <q>maravillos</q> gobierno de <em>izquierdas</em>, legisladores para el pueblo, ha sucumbido ante las presiones de empresas privadas. Genial.</p>
]]></content:encoded>
			<wfw:commentRss>http://beosman.org/archivo/2009/increible/manifiesto-en-defensa-de-los-derechos-fundamentales-de-internet.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Clonar un objeto en Javascript</title>
		<link>http://beosman.org/archivo/2009/informatica/clonar-un-objeto-en-javascript.html</link>
		<comments>http://beosman.org/archivo/2009/informatica/clonar-un-objeto-en-javascript.html#comments</comments>
		<pubDate>Fri, 13 Nov 2009 16:24:58 +0000</pubDate>
		<dc:creator>Diego</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://beosman.org/archivo/2009/informatica/clonar-un-objeto-en-javascript.html</guid>
		<description><![CDATA[En Javascript las variables que apuntan a objetos son referencias, por lo que la asignación entre las mismas se hace de esta forma con lo que la modificación de una de estas variables afecta al resto de referencias. Por ejemplo: var myObject = { text: &#8216;Clonning Objects&#8217; }; var mySecondObject = myObject; mySecondObject.text = &#8216;Clonando [...]]]></description>
			<content:encoded><![CDATA[<p>En <a href="http://es.wikipedia.org/wiki/Javascript">Javascript</a> las variables que apuntan a objetos son referencias, por lo que la asignación entre las mismas se hace de esta forma con lo que la modificación de una de estas variables afecta al resto de referencias. Por ejemplo:</p>
<div class="source">
<p><span class="keyword">var</span> myObject = {<br />
  text: <span class="string">&#8216;Clonning Objects&#8217;</span><br />
};</p>
<p><span class="keyword">var</span> mySecondObject = myObject;<br />
mySecondObject.text = <span class="string">&#8216;Clonando Objectos&#8217;</span>;</p>
<p><span class="comment">// saldrá una alerta con el texto &#8216;Clonando Objetos&#8217; ya</span><br />
<span class="comment">// que las variables se asignan por referencia</span><br />
alert(mySecondObject.text);</p>
</div>
<p>En el <code>alert(...)</code> saldrá el texto &#8216;Clonando Objetos&#8217; ya que ambas variables apuntan a la misma zona de memoria, de ahí las referencias. Es debido a esto, y que en algunas ocasiones necesitas <em>clonar</em> un objeto, por lo que es necesario implementar una función que lo haga. Para ello tenemos esta función, que <a href="http://stackoverflow.com/questions/122102/what-is-the-most-efficent-way-to-clone-a-javascript-object">la he visto en StackOverflow</a> aunque la he retocado un poco, que funciona perfectamente:</p>
<div class="source">
<p><span class="keyword">function</span> clone(from) {<br />
	<span class="keyword">if</span>(from == <span class="keyword">null</span> || <span class="keyword">typeof</span> from != <span class="string">&#8220;object&#8221;</span>)<br />
		<span class="keyword">return</span> from;</p>
<p>	<span class="keyword">if</span>(from.constructor != <span class="keyword">Object</span> &#038;&#038;<br />
	   from.constructor != <span class="keyword">Array</span>)<br />
		<span class="keyword">return</span> from;</p>
<p>	<span class="keyword">if</span>(from.constructor == Date ||<br />
	   from.constructor == RegExp ||<br />
	   from.constructor == <span class="keyword">Function</span> ||<br />
	   from.constructor == String ||<br />
	   from.constructor == Number ||<br />
	   from.constructor == Boolean)<br />
		<span class="keyword">return</span> <span class="keyword">new</span> from.constructor(from);</p>
<p>	<span class="keyword">var</span> to = {};<br />
	to = to || <span class="keyword">new</span> from.constructor();</p>
<p>	<span class="keyword">for</span> (<span class="keyword">var</span> name <span class="keyword">in</span> from) {<br />
		to[name] = <span class="keyword">typeof</span> to[name] == <span class="string">&#8220;undefined&#8221;</span> ?<br />
			<span class="keyword">this</span>.clone(from[name]) :<br />
			to[name];<br />
	}</p>
<p>	<span class="keyword">return</span> to;<br />
}</p>
</div>
<p>Con esta función, el ejemplo anterior se convierte:</p>
<div class="source">
<p><span class="keyword">var</span> myObject = {<br />
  text: <span class="string">&#8216;Clonning Objects&#8217;</span><br />
};</p>
<p><span class="keyword">var</span> mySecondObject = <strong>clone</strong>(myObject);<br />
mySecondObject.text = <span class="string">&#8216;Clonando Objectos&#8217;</span>;</p>
<p><span class="comment">// saldrá una alerta con el texto &#8216;Clonning Objects&#8217; ya que,</span><br />
<span class="comment">// aunque las variables se asignan por referencia, nuestra</span><br />
<span class="comment">// función ha clonado nuestro objecto con lo que son dos</span><br />
<span class="comment">// objetos distintos</span><br />
alert(mySecondObject.text);</p>
</div>
<p>Y aquí el mensaje del <code>alert(...)</code> ya será &#8216;Clonning Objects&#8217;. Con esto ya podemos duplicar objetos&#8230; Pero, como no había quedado muy conforme con la solución seguí buscando, más por encontrar otro tipo de solución (no veo lógico que Javascript no tenga una forma nativa de clonar objetos) que por mejorar rendimiento. Y, aunque no encontré la forma nativa (creo que no la hay), <a href="http://www.thespanner.co.uk/2008/04/10/javascript-cloning-objects/">sí encontré</a> otra mucho más corta y más elegante:</p>
<div class="source">
<p><span class="keyword">function</span> clone(o) {<br />
	<span class="keyword">return</span> eval(uneval(o));<br />
}</p>
</div>
<p>La función <code>eval(...)</code> coge un texto y lo evalúa como su fuese Javascript, de forma dinámica. Y, lógicamente, la función <code>uneval(...)</code> hace lo contrario: dado un código en Javascript &mdash;una clase, un array, etc.&mdash; lo convierte en el texto correspondiente, por lo que esta función lo que hace es convertir el objeto en texto y el texto generado otra vez en objeto, clonando así el objeto que se pasa como parámetro.</p>
<p>De estas dos formas, la segunda solución me parece más elegante &mdash;pocas cosas se consiguen en una sola línea de código&mdash;. El problema que puede existir es el rendimiento, ya que no he visto nada por ahí y yo tampoco he hecho pruebas, así que la decisión queda para cada uno. Yo he probado las dos y ambas funcionan sin problemas. Si alguien hace sus pruebas, que comente sus resultados.</p>
]]></content:encoded>
			<wfw:commentRss>http://beosman.org/archivo/2009/informatica/clonar-un-objeto-en-javascript.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>La duda ofende</title>
		<link>http://beosman.org/archivo/2009/increible/la-duda-ofende.html</link>
		<comments>http://beosman.org/archivo/2009/increible/la-duda-ofende.html#comments</comments>
		<pubDate>Tue, 08 Sep 2009 20:02:33 +0000</pubDate>
		<dc:creator>Diego</dc:creator>
				<category><![CDATA[Esto es increíble]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://beosman.org/archivo/2009/increible/la-duda-ofende.html</guid>
		<description><![CDATA[Quizás los ingenieros de Facebook deberían revisar su algoritmo para reconocer con qué navegador estás viendo su página porque, que yo sepa, uso Firefox (la duda ofende) y no uso IE desde&#8230; vamos, que todavía tengo la versión 6 en mi máquina porque no quiero actualizar; para qué, si no lo uso. Además, este cacharro [...]]]></description>
			<content:encoded><![CDATA[<p><a href="/uploads/2009/09/error-navegador-facebook.png"><img style="float:right;margin:0 0 5px 12px;" src="/uploads/2009/09/error-navegador-facebook-mini.png" alt="Error en Facebook con el navegador" /></a></p>
<p>Quizás los ingenieros de <a href="http://www.facebook.es">Facebook</a> deberían revisar su algoritmo para reconocer con qué navegador estás viendo su página porque, que yo sepa, <strong>uso Firefox</strong> (la duda ofende) y no uso <acronym title="Internet Explorer">IE</acronym> desde&#8230; vamos, que todavía tengo la versión 6 en mi máquina porque no quiero actualizar; para qué, si no lo uso. Además, este cacharro tampoco es que la aguantara.</p>
]]></content:encoded>
			<wfw:commentRss>http://beosman.org/archivo/2009/increible/la-duda-ofende.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Nuevo dominio (por fin)</title>
		<link>http://beosman.org/archivo/2009/internet/nuevo-dominio.html</link>
		<comments>http://beosman.org/archivo/2009/internet/nuevo-dominio.html#comments</comments>
		<pubDate>Tue, 11 Aug 2009 21:20:59 +0000</pubDate>
		<dc:creator>Diego</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://beosman.org/archivo/2009/blogging/nuevo-dominio.html</guid>
		<description><![CDATA[Por fin he registrado Héctor me ha registrado el nuevo y definitivo dominio para este blog: beosman.org. A partir de ahora tanto el blog como el feed estarán bajo esta URL por lo que ya pueden pasar a actualizar ustedes sus lectores RSS. Supongo que quizás en un par de días habrá fallos de resolución [...]]]></description>
			<content:encoded><![CDATA[<p>Por fin <del>he registrado</del> Héctor me ha registrado el nuevo y definitivo dominio para este blog: <a href="http://beosman.org"><strong>beosman.org</strong></a>.</p>
<p>A partir de ahora tanto el blog como el <em>feed</em> estarán bajo esta URL por lo que ya pueden pasar a actualizar ustedes sus lectores RSS.</p>
<p>Supongo que quizás en un par de días habrá fallos de resolución de DNS hasta que no se extienda por todos los servidores pero el dominio está listo y, de momento, funcionando.</p>
]]></content:encoded>
			<wfw:commentRss>http://beosman.org/archivo/2009/internet/nuevo-dominio.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Las peleas de Xiao Xiao</title>
		<link>http://beosman.org/archivo/2009/web/las-peleas-de-xiao-xiao.html</link>
		<comments>http://beosman.org/archivo/2009/web/las-peleas-de-xiao-xiao.html#comments</comments>
		<pubDate>Sun, 10 May 2009 16:46:35 +0000</pubDate>
		<dc:creator>Diego</dc:creator>
				<category><![CDATA[Humor]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://beosman.dyndns.org/archivo/2009/web/las-peleas-de-xiao-xiao.html</guid>
		<description><![CDATA[No sé si os acordáis de los famosos vídeos en Flash de Xiao Xiao (mucho antes de que existiese YouTube) sobre peleas de kárate con monigotes de alambre: La fecha en la que yo lo guardé es de 2001, pero seguro que estaba desde bastante antes. Pero todavía hoy impresiona ver la coreografía de los [...]]]></description>
			<content:encoded><![CDATA[<p>No sé si os acordáis de los famosos vídeos en Flash de <a href="http://www.newgrounds.com/collection/xiaoxiao.html">Xiao Xiao</a> (mucho antes de que existiese YouTube) sobre peleas de <a href="http://es.wikipedia.org/wiki/K%C3%A1rate">kárate</a> con monigotes de alambre:</p>
<p class="imageparagraph">
<a href="http://www.newgrounds.com/portal/view/15849#"><img class="image" src="/uploads/2009/05/xiao-xiao-3.png" alt="Pantallazo de uno de los Flash de peleas de Xiao Xiao" title="Pantallazo de uno de los Flash de peleas de Xiao Xiao" /></a>
</p>
<p>La fecha en la que yo lo guardé es de 2001, pero seguro que estaba desde bastante antes. Pero todavía hoy impresiona ver la coreografía de los personajes monocolor de las peleas.</p>
]]></content:encoded>
			<wfw:commentRss>http://beosman.org/archivo/2009/web/las-peleas-de-xiao-xiao.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mi página aún más antigua</title>
		<link>http://beosman.org/archivo/2009/web/mi-pagina-aun-mas-antigua.html</link>
		<comments>http://beosman.org/archivo/2009/web/mi-pagina-aun-mas-antigua.html#comments</comments>
		<pubDate>Fri, 08 May 2009 15:10:38 +0000</pubDate>
		<dc:creator>Diego</dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://beosman.dyndns.org/archivo/2009/web/mi-pagina-aun-mas-antigua.html</guid>
		<description><![CDATA[Hablando el otro día de mis antiguas páginas Web, hoy he encontrado una todavía más antigua; y eso no es todo: ¡la hice en inglés! Mi primera página Web (sobre BeOS) El caso es que la encontré probando el Haiku e intentando que mi primera (y única) aplicación para BeOS funcionase. En los créditos todavía [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://beosman.dyndns.org/archivo/2009/web/mis-antiguas-paginas-web.html">Hablando el otro día de mis antiguas páginas Web</a>, hoy he encontrado una todavía más antigua; y eso no es todo: ¡la hice en inglés!</p>
<p class="imageparagraph">
<a href="http://www.geocities.com/dr_chairman/"><img class="image" src="/uploads/2009/05/dr_chairman-mini.jpg" alt="Mi primera página Web pública en Geocities" title="Mi primera página Web pública en Geocities" /></a><br />
<a title="Si Geocities ya no está disponible, aquí puedes ver una captura de pantalla más grande" href="/uploads/2009/05/dr_chairman.png">Mi primera página Web</a> (sobre <a href="http://es.wikipedia.org/wiki/BeOS">BeOS</a>)
</p>
<p>El caso es que la encontré probando el <a href="http://www.haiku-os.org">Haiku</a> e intentando que <a href="http://beosman.dyndns.org/proyectos/d-system-info/">mi primera (y única) aplicación para BeOS</a> funcionase. En los créditos todavía ponía mi antigua dirección de correo (beosman@bemail.com, que aunque la página existe, ya no funciona) y la primera de mis páginas. Y como Geocities va a dejar de funcionar pues la pongo aquí para que no se me olvide <img src='http://beosman.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>
<p style="color: gray;">
P.D.: Tampoco tenía tantos errores de <acronym title="HyperText Markup Language" lang="en">HTML</acronym>; incluso había puesto el <a href="http://es.wikipedia.org/wiki/DOCTYPE">DOCTYPE</a>, eso sí, en minúsculas, y no valía, pero la intención era buena.</p>
]]></content:encoded>
			<wfw:commentRss>http://beosman.org/archivo/2009/web/mi-pagina-aun-mas-antigua.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mis antiguas páginas Web</title>
		<link>http://beosman.org/archivo/2009/web/mis-antiguas-paginas-web.html</link>
		<comments>http://beosman.org/archivo/2009/web/mis-antiguas-paginas-web.html#comments</comments>
		<pubDate>Sun, 01 Mar 2009 21:39:09 +0000</pubDate>
		<dc:creator>Diego</dc:creator>
				<category><![CDATA[Proyectos]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://beosman.dyndns.org/archivo/2009/web/mis-antiguas-paginas-web.html</guid>
		<description><![CDATA[Ya en el 2004 cuando estaba finalizando la carrera, se me dio por hacer mi propia página Web por eso de compartir la información y los proyectos que uno hacía. Además, desde cero, sin gestor de contenidos (tampoco sabía lo que era en aquella época) ni nada. Directamente en PHP. Además, también hacía mis pinitos [...]]]></description>
			<content:encoded><![CDATA[<p>Ya en el 2004 cuando estaba finalizando la carrera, se me dio por hacer mi propia página Web por eso de compartir la información y los proyectos que uno hacía. Además, desde cero, sin gestor de contenidos (tampoco sabía lo que era en aquella época) ni nada. Directamente en <a href="http://www.php.net">PHP</a>. Además, también hacía mis <em>pinitos</em> con Photoshop:</p>
<p class="imageparagraph">
<img src="/uploads/2009/02/mi-primera-pagina-web-mini.png" alt="Pantallazo de mi primera página Web (del año 2004)" />
</p>
<p>No podía publicar noticias ni nada, simplemente se añadían más archivos PHP con los datos de las nuevas páginas y listo. Ni siquiera hacía uso de una base de datos.</p>
<p>Luego ya, viendo que la página era de crecimiento limitado, me decidí ha hacer un pequeño gestor de contenidos a medida. También en PHP y esta vez con acceso a bases de datos para las noticias:</p>
<p class="imageparagraph">
<img src="/uploads/2009/03/mi-primer-blog-mini.png" alt="Mi primer blog" />
</p>
<p>Se notaba por aquella época mi predilección por el <a href="http://www.mozilla-europe.org/es/firefox/">Firefox</a> dejando de lado el <acronym title="Internet Explorer">IE</acronym> (y <a href="http://www.anieto2k.com/2009/02/25/noie6day-la-iniciativa-20/">vuelve esa idea</a>), además de la resolución de pantalla y de la &mdash;todavía en uso en muchas páginas que se las dan de <em>estándar</em>&mdash; maquetación usando tablas. Vamos, no tenía casi ni idea de <abbr title="Cascade Style Sheet, Hoja de estilos en cascada"><a href="http://es.wikipedia.org/wiki/Css">CSS</a></abbr> y ni mucho menos de usabilidad y de accesibilidad. Pero por algo hay que empezar y esto era una buena idea.</p>
<p>Incluso hasta tenía una parte de administración con seguridad (usuario y contraseña, como casi todas) desde donde se podían añadir noticias, categorías, gestionar usuarios, proyectos, descargas, estadísticas,&#8230; vamos, como era a medida podía añadir lo que necesitara (¡pedazo de cabecera! Como se notaba que también estaba practicando con el Photoshop):</p>
<p class="imageparagraph">
<img src="/uploads/2009/03/consola-mantenimiento-blog-mini.png" alt="Consola de mantenimiento del blog personalizada" />
</p>
<p><strong>¿Alguien se acuerda de todo esto?</strong></p>
<p>Luego descubrí <a href="http://wordpress.org">WordPress</a> (la versión 2.0), lo instalé y a funcionar. Y con él sigo.</p>
<p>La verdad es que desarrollando un blog hubiera aprendido mucho de PHP, además del HTML correspondiente y su maquetación, sobre todo por los fallos de principiante, esos que veo ahora que miro el código <img src='http://beosman.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>De todas formas, por aquella época (más o menos el 2004) ya tenía más o menos bastante claro como hacer un software mantenible, ya que había hecho que todo se procesase desde el <code>index.php</code> cargando éste las partes que eran necesarias, cosa que sigo llevando a la práctica.</p>
<p>Ahora, eso sí, con un pequeño <em>framework</em> en PHP personal, no para el blog pero sí para otros pequeños proyectos.</p>
]]></content:encoded>
			<wfw:commentRss>http://beosman.org/archivo/2009/web/mis-antiguas-paginas-web.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

