<?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>Sopa de bits</title>
	<atom:link href="http://www.sopadebits.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.sopadebits.com</link>
	<description>Reflexiones sobre la información</description>
	<lastBuildDate>Mon, 26 Sep 2011 07:08:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Vulnerabilidad + Coraje = superación</title>
		<link>http://www.sopadebits.com/vulnerabilidad-coraje-superacion</link>
		<comments>http://www.sopadebits.com/vulnerabilidad-coraje-superacion#comments</comments>
		<pubDate>Mon, 26 Sep 2011 07:08:23 +0000</pubDate>
		<dc:creator>Mario</dc:creator>
				<category><![CDATA[Personas]]></category>

		<guid isPermaLink="false">http://www.sopadebits.com/?p=27046</guid>
		<description><![CDATA[Hay ciertas personas con encanto a la hora de explicar.  No se trata sólo de un buen discurso, sino de un tono de voz, un ritmo, una expresión que hipnotiza. Cuando esa persona además habla de una actividad profesional que &#8230; <a href="http://www.sopadebits.com/vulnerabilidad-coraje-superacion">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Hay ciertas personas con encanto a la hora de explicar.  No se trata sólo de un buen discurso, sino de un tono de voz, un ritmo, una expresión que hipnotiza.</p>
<p>Cuando esa persona además habla de una actividad profesional que cambió su actitud en torno a la vulnerabilidad, merece dedicarle un rato.</p>
<p>Brene Brown habla sobre la <em>conexión</em> entre las personas, el miedo y la vergüenza, y el papel de la vulnerabilidad y el coraje en nuestras relaciones con los demás.</p>
<p><object width="526" height="374"><param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="wmode" value="transparent" /><param name="bgColor" value="#ffffff" /><param name="flashvars" value="vu=http://video.ted.com/talk/stream/2010X/Blank/BreneBrown_2010X-320k.mp4&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/BreneBrown-2010X.embed_thumbnail.jpg&amp;vw=512&amp;vh=288&amp;ap=0&amp;ti=1042&amp;lang=eng&amp;introDuration=15330&amp;adDuration=4000&amp;postAdDuration=830&amp;adKeys=talk=brene_brown_on_vulnerability;year=2010;theme=how_the_mind_works;theme=what_makes_us_happy;theme=a_taste_of_tedx;event=TEDxHouston;tag=Culture;tag=communication;tag=social+change;&amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;" /><embed type="application/x-shockwave-flash" width="526" height="374" src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" flashvars="vu=http://video.ted.com/talk/stream/2010X/Blank/BreneBrown_2010X-320k.mp4&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/BreneBrown-2010X.embed_thumbnail.jpg&amp;vw=512&amp;vh=288&amp;ap=0&amp;ti=1042&amp;lang=eng&amp;introDuration=15330&amp;adDuration=4000&amp;postAdDuration=830&amp;adKeys=talk=brene_brown_on_vulnerability;year=2010;theme=how_the_mind_works;theme=what_makes_us_happy;theme=a_taste_of_tedx;event=TEDxHouston;tag=Culture;tag=communication;tag=social+change;&amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;" allowscriptaccess="always" allowfullscreen="true" bgcolor="#ffffff" wmode="transparent" pluginspace="http://www.macromedia.com/go/getflashplayer"></embed></object></p>
<blockquote><p>&#8230;Y ya saben qué pienso sobre la vulnerabilidad: la detesto.  Por eso pensaba que era mi oportunidad para destrozarla con mi vara de medir. (&#8230;) voy a entender cómo opera la vulnerabilidad, pero yo voy a ser más astuta. (&#8230;) Como saben, no resultó ser así.</p></blockquote>
<p>Espero que os guste.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sopadebits.com/vulnerabilidad-coraje-superacion/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alone together &#8211; la tecnología de la soledad</title>
		<link>http://www.sopadebits.com/alone-together-tecnologia-soledad</link>
		<comments>http://www.sopadebits.com/alone-together-tecnologia-soledad#comments</comments>
		<pubDate>Thu, 22 Sep 2011 07:35:15 +0000</pubDate>
		<dc:creator>Mario</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Personas]]></category>

		<guid isPermaLink="false">http://www.sopadebits.com/?p=27038</guid>
		<description><![CDATA[La tecnología se propone a sí misma como el arquitecto de nuestras intimidades.  Así empieza la introducción del libro de Sherry Turkle, Alone Together &#8211; Why we expect more from technology and less from each other. Empecé a leer este &#8230; <a href="http://www.sopadebits.com/alone-together-tecnologia-soledad">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>La tecnología se propone a sí misma como el arquitecto de nuestras intimidades</strong>.  Así empieza la introducción del libro de Sherry Turkle, <em><a title="Alone Together - sitio web del libro" href="http://www.alonetogetherbook.com/">Alone Together &#8211; Why we expect more from technology and less from each other</a></em>.</p>
<p>Empecé a leer este libro con la intención de recibir visiones diferentes a las que, por mi dedicación a la tecnología, estoy más acostumbrado a escuchar.  Es un ejercicio que hago de vez en cuando.  Ojalá lo hiciera más.</p>
<p>Ese fue el punto de partida, y el objetivo se ha cumplido.  Sin embargo, en el paso por los ingentes casos que expone la autora, cierta angustia se ha sumado al objetivo inicial.  Y no a lo desconocido, sino a lo palpable en el día a día que nos rodea; a lo que de alguna manera se intuye pero que en este libro se explicita: <strong>el papel de la tecnología de la comunicación como la tecnología de la soledad</strong>.</p>
<h2>Los robots no sueñan</h2>
<p>Ni ovejas eléctricas ni nada por el estilo.  Como mucho <strong>simulan el sueño</strong>.  Al igual que pueden simular las emociones y las actitudes humanas.  Pero la perfección con la que simulan ya pasa por válida para muchos&#8230; empezando por los niños.</p>
<p>Atrás quedaron los tiempos de los <a title="Tamagotchi - Wikipedia" href="http://es.wikipedia.org/wiki/Tamagotchi">tamagotchis</a>.  Aunque esos <em>llaveros</em> animados provocaron emociones entre los pequeños (quienes no querían cambiar las pilas para reiniciar el aparato, sino <em>enterrarlo</em> como a un familiar  muerto), su apariencia externa no provocaba dudas en los adultos: era un juguete.</p>
<p>Pero la evolución tecnológica ya permite crear materiales con tacto similar a la piel humana, caras con <em>músculos faciales</em>, y robots que reconocen tonos de voz, la voz, y que están programados para que podamos sentir que tenemos una interacción social realista.</p>
<h2>Rorschach y la simulación</h2>
<p>En el fondo de la cuestión está el hecho que cuando nuestro cerebro interactúa con la tecnología, proyecta sobre ésta una serie de cualidades.</p>
<p>Este proceso de proyección, similar al test de Rorschach (del de las <em>manchas</em>) es un mecanismo <em>adaptativo</em> para contrastar nuestras hipótesis internas con la realidad.  Si esa proyección funciona, la mente se adapta: reconoce patrones y formas de comunicación con ese entorno.</p>
<p>En este proceso hay una laguna significativa que la evolución no nos ha enseñado: ¿qué sucede si esa <em>realidad</em> es simulada mediante la tecnología? Es decir, ¿Qué sucede si un robot que sonríe lo hace porque está programado para ello, y no como algo genuino?</p>
<p>Nuestro cerebro responde igual.  Y es así como se crea la ilusión de mantener una conversación con una máquina, que no ha tenido vivencias, ni frustraciones ni alegrías.  Sólo está programado para simular las conclusiones de quien lo ha creado.</p>
<p>Esto que suena evidente para cualquiera que tenga una iniciación en tecnología, es algo casi mágico para alguien que ajeno a ésta.  Y <strong>esa sensación ingenua de magia conduce a la admiración, y finalmente de confianza</strong>.</p>
<h2>Porque lo malo, si robotizado, dos veces bueno</h2>
<p>En ese proceso de generación de confianza surgen <em>ideas</em> sobre cómo conseguir que los robots se ocupen de tareas árduas, o ya directamente desagradables.  ¿Ejemplos?</p>
<ul>
<li>Cuidar de la gente mayor.</li>
<li>Cambiar los pañales de los niños.</li>
<li>Cuidar de pacientes con depresión severa.</li>
</ul>
<p>Sobre el último caso, la autora relata el caso de un robot japonés llamado <em>Paro</em> (obviaremos ironías) que es capaz de establecer el contacto ocular e identificar el tono de voz.  Es un <strong>robot especialmente pensado para tratar pacientes con depresión severa</strong>.</p>
<p>¿Cuál es la diferencia entre este robot y un animal? Para la autora, la diferencia es clara: el robot no entiende nada.  Miriam, la paciente con la que se entrevistó, vivía con el robot. Se sentía reconfortada por él.  Pero en realidad, <strong>Miriam estaba sola.  La dejaron sola</strong>.</p>
<h2>Un parche para las habilidades sociales</h2>
<p>Y es que en el fondo, ¿qué mejor que utilizar la tecnología para cubrir lo que nos falta? Aunque eso resulta evidente cuando consideramos los avances para salvar las distancias geográficas y facilitar la comunicación asíncrona, cuando la tecnología llega a la frontera de los <em>robots sociales</em>, algo rechina.</p>
<p>Y es que, a diferencia de las limitaciones físicas, las racionales o emocionales no son tan fáciles de valorar entre las personas con un cerebro sano.  Podemos hacer deporte para ejercitar nuestros músculos y podemos ver claramente que esos músculos evolucionan pero&#8230; ¿tenemos medios para hacer lo mismo con nuestra <em>musculatura emocional y relacional</em>? ¿Y con los demás?</p>
<p>En el fondo, ese límite está en el rol futuro de esta tecnología: ¿complementar o suplir? El futuro apunta a la segunda opción: a ser los arquitectos de nuestra intimidad para que no nos obligue a convivir con las frustraciones de la realidad.  Los robots lo harán por nosotros.</p>
<h2>Cuestiones adicionales y conclusiones</h2>
<p>El libro hace un recorrido mucho más amplio por la introducción de la tecnología en nuestras vidas.  No son los robots el único indicador de todo este proceso.</p>
<p>Es obvio el papel de los móviles y las redes sociales (que al menos en USA tomaron una importancia clave después del 11-S para estar conectado en caso de otra catástrofe similar).  Los primeros en su intrusión en la vida familiar, y los segundos por el papel que juegan en la construcción de la identidad de los adolescentes.</p>
<p>Y en el sustrato de todo el texto, un fantasma de fondo: <strong>el riesgo de que la tecnología nos evite vivir con la frustración, y que por ello se nos escape la oportunidad de aprendizaje que ello supone</strong>.</p>
<p>En resumen, es un libro reflexivo, escrito por una psicóloga clínica que tiene la oportunidad de vivir en primera persona la tecnología que pasa por el MIT en cuanto a robots sociales.  Una gran parte de sus preocupaciones las reconozco en mí, pero leyendo este libro he tenido la oportunidad para poder entender los argumentos de fondo que me faltaban.</p>
<p>Me ha gustado la <a title="NYTimes - Book Review - Alone Together" href="http://www.nytimes.com/2011/01/23/books/review/Lehrer-t.html?pagewanted=all">reseña del NYT sobre <em>Alone Together</em></a>, donde se resume parte de la obra y la trayectoria de la propia autora (del optimismo en libros anteriores al pesismismo actual).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sopadebits.com/alone-together-tecnologia-soledad/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Visualización con HTML5 &#8211; Javascript Infovis Toolkit</title>
		<link>http://www.sopadebits.com/visualizacion-con-html5-javascript-infovis-toolkit</link>
		<comments>http://www.sopadebits.com/visualizacion-con-html5-javascript-infovis-toolkit#comments</comments>
		<pubDate>Thu, 16 Jun 2011 12:42:06 +0000</pubDate>
		<dc:creator>Mario</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Matemática]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[visualizacion]]></category>

		<guid isPermaLink="false">http://www.sopadebits.com/?p=26929</guid>
		<description><![CDATA[Javascript Infovis Toolkit (JIT) es otra de las bibliotecas de gráficos y visualización que he utilizado puntualmente en los últimos meses.  A diferencia de Protovis, se trata de una biblioteca de visualización más enfocada a visualizaciones concretas como se puede &#8230; <a href="http://www.sopadebits.com/visualizacion-con-html5-javascript-infovis-toolkit">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a title="The Javascript Infovis Toolkit" href="http://thejit.org" target="_blank">Javascript Infovis Toolkit</a> (JIT) es otra de las bibliotecas de gráficos y visualización que he utilizado puntualmente en los últimos meses.  A diferencia de Protovis, se trata de una biblioteca de visualización más enfocada a visualizaciones concretas como se puede ver en las <a title="JIT - demos" href="http://thejit.org/demos/">muestras del sitio</a>, aunque con elementos interesantes en su filosofía.</p>
<h2>Estructuras de datos más complejas</h2>
<p>Aparentemente, el punto de partida de JIT es el inverso al de Protovis.  Si en el caso de Protovis se partía de una estructura de datos principalmente lineal (un listado de elementos a visualizar), sobre los cuales se puede aplicar una estructura de visualización concreta, Infovis parece partir del objetivo de visualizar estructuras complejas, ya sean árboles o grafos.</p>
<p>Infovis también permite la composición.  Es decir, el elemento de una visualización (el nodo de un grafo) puede ser también otro componente (ver el ejemplo del <a title="Hiperárbol de diagramas de sectores" href="http://thejit.org/static/v20/Jit/Examples/Other/example2.html">hiperárbol de diagramas de sectores</a>).</p>
<p>La diferencia, eso sí, es también el peso de la biblioteca.  JIT está mucho más pensada para el entorno web y sus archivos de javascript son mucho más ligeros que Protovis.</p>
<h2>Velocidad</h2>
<p>Infovis sorprende por su velocidad de proceso, especialmente en los casos con estructuras complejas.  Quizá sea por ello que en la mayoría de gráficos de muestra se incluyen por defecto animaciones introductorias, que provocan el <em>sufrimiento</em> de la CPU si no estamos utilizando Google Chrome.</p>
<p>Por lo tanto, es una velocidad con vistas al futuro, considerando que el proceso de optimización a la que están sometidos los navegadores (aparte de la introducción de tecnologías HTML5 especialmente interesante como los web workers) permitirá que en un futuro cercano estas visualizaciones sean potentes en todos los navegadores.</p>
<p>Si utilizas el código de alguna de las visualizaciones de demostración, y prevees su uso en navegadores diferentes de Chrome (pienso en Firefox, y siendo optimistas IE8, aunque mejor es intentarlo antes de decepcionar), procura desactivar las animaciones (o escoger la menos intensiva) para garantizar la experiencia del usuario.</p>
<h2>WebGL</h2>
<p>Otro de los aspectos a seguir en un futuro próximo es la implementación de WebGL en Infovis.  Este aspecto es sugerente, aunque queda por demostrar en qué casos es realmente necesaria esta tecnología.</p>
<p>En este punto existen dos razones para justificar el uso de WebGL: su capacidad de visualizar en 3D, y por otro lado la capacidad de utilizar la GPU de la tarjeta gráfica para agilizar las visualizaciones concretas.</p>
<p>En el primer caso es una cuestión metodológica y está por ver que el 3D aporte mucho valor a la visualización en general.</p>
<p>En el segundo caso, el uso del webGL puede estar justificado para el caso de visualizaciones que requieren cálculos complejos delegables en la GPU.  Este es el caso de los grafos con representación por equilibrio de fuerzas entre los nodos (Force Directed Layout).  En este punto, el Canvas no es una alternativa frente a una GPU dedicada.</p>
<p>Como muestra de esto último se puede ver el vídeo que muestra Nicolás García Belmonte (creador de JIT) en el blog del proyecto sobre la <a title="JIT + webGL" href="http://blog.thejit.org/2010/09/17/javascript-infovis-toolkit-webgl/">demostración de Infovis con webGL</a>.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sopadebits.com/visualizacion-con-html5-javascript-infovis-toolkit/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Visualización con HTML5 &#8211; Protovis</title>
		<link>http://www.sopadebits.com/visualizacion-con-html5-protovis</link>
		<comments>http://www.sopadebits.com/visualizacion-con-html5-protovis#comments</comments>
		<pubDate>Sun, 12 Jun 2011 12:30:22 +0000</pubDate>
		<dc:creator>Mario</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Matemática]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[visualizacion]]></category>

		<guid isPermaLink="false">http://www.sopadebits.com/?p=26933</guid>
		<description><![CDATA[Desde la última vez que comenté herramientas para mostrar gráficos estadísticos en la web (entonces en Flash), han cambiado infinidad de cosas. HTML5, aunque en vías de implantación (probablemente durante meses o algunos años), representa todo lo que no se &#8230; <a href="http://www.sopadebits.com/visualizacion-con-html5-protovis">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Desde la última vez que comenté herramientas para <a title="Open Flash Chart 2 – Mejorando los gráficos estadísticos" href="http://www.sopadebits.com/open-flash-chart-2-mejorando-graficos-estadisticos">mostrar gráficos estadísticos en la web</a> (entonces en Flash), han cambiado infinidad de cosas.</p>
<p>HTML5, aunque en vías de implantación (probablemente durante meses o algunos años), representa todo lo que no se hizo durante los últimos 5 años porque se disponía de Flash y ya era suficiente.  Probablemente también porque el <a title="Visualizando: Estadísticas de navegadores (III)" href="http://www.sopadebits.com/visualizando-estadisticas-navegadores-iii">mercado de navegadores</a> estaba dominado por Internet Explorer.</p>
<p>Con la nueva versión de HTML aparecen dos elementos clave para representar gráficamente datos en la web: el <a title="Canvas Element - Wikipedia" href="http://en.wikipedia.org/wiki/Canvas_element">Canvas</a> y <a title="Blog Learning webGL" href="http://learningwebgl.com/blog/">WebGL</a>.  El canvas está pensado para mostrar gráficos en 2D, mientras que webGL está pensado para visualizaciones 3D que aprovechen la unidad gráfica de proceso (o <a title="Wikipedia - Unidad de procesamiento gráfica" href="http://es.wikipedia.org/wiki/Unidad_de_procesamiento_gr%C3%A1fico">GPU</a>) de nuestra tarjeta gráfica.  En el segundo caso hay un objetivo claro: <a title="Google: Quake 2 port" href="http://code.google.com/p/quake2-gwt-port/">utilizar juegos con altas exigencias gráficas en el navegador</a>.</p>
<h2>Del Flash al HTML5</h2>
<p>La primera diferencia que uno siente al trabajar con gráficos basados en HTML5 els la sensación de continuidad: no precisar el cambio de contexto ni de lenguaje de programación para realizar gráficos.</p>
<p>Sin embargo el gran motivo de cambio hacia el HTML5 son los móviles, con los que Flash provoca problemas de rendimiento, si es que lo tienen integrado en los navegadores.</p>
<h2>Diferencias claves de Protovis</h2>
<p>Existiendo bibliotecas gráficas para HTML5 como raphaeljs, o el <em>port </em>de processing, o Google Charts, entre otras que he visto, me planteo sus factores diferenciales.  Estos factores diferenciales me permiten valorar si el tiempo de aprendizaje me compensa por:</p>
<ul>
<li>Su flexibilidad o su especificidad de acuerdo a nuestros objetivos.</li>
<li>Su velocidad.</li>
<li>Usabilidad.</li>
<li>Tipo de licencia</li>
<li>Facilidad de desarrollo (la usabilidad para el programador).</li>
<li>Mantenimiento, comunidad y en general, garantías de continuidad.</li>
</ul>
<p>Los puntos más a favor de esta biblioteca para mis potenciales usos son:</p>
<ul>
<li>Se basa (o al menos se inspira) en el framework de la <a title="La gramática de los gráficos" href="http://www.sopadebits.com/la-gramatica-de-los-graficos">gramática de los gráficos</a>, por lo que tiene una versatilidad prácticamente ilimitada.</li>
<li>El método de configuración de un gráfico es relativamente sencillo, ya que se basa en el <a title="Protovis - Property chaining" href="http://vis.stanford.edu/protovis/docs/chaining.html">método de encadenamiento</a>.</li>
<li>Al funcionar por capas conceptuales de la gramática, permite componer gráficos y subgráficos, aparte de facilitar la creación de nuevos elementos en cada nivel de definición del gráfico.</li>
<li>Aunque está muy enfocada a los gráficos estadísticos, su método de desarrollo permite pensar en su uso para visualizaciones más bien estructuradas y basadas en los datos.</li>
<li>Incorpora algunas funciones estadísticas como preparación de los datos, aunque no es su objetivo principal.</li>
<li>Licencia BSD (similar a la MIT), prácticamente la que proporciona más libertad para su uso (tanto si el desarrollo final es también libre o propietario).</li>
</ul>
<p>También surgieron algunos contras al respecto:</p>
<ul>
<li>Es una biblioteca <em>pesada</em>, más bien pensada para Intranets o conexiones rápidas, aunque con un buen uso del caché de navegador y los <em><a title="Wikipedia - Entity Tag (ETag)" href="http://en.wikipedia.org/wiki/HTTP_ETag">ETags</a></em> sólo se notará en la primera carga.</li>
<li>Su potencial es el uso específico, personalizado.  Si el objetivo son gráficos sencillos, existen otras bibliotecas más adecuadas.</li>
</ul>
<h2>Trabajando con Protovis</h2>
<p>En el sitio de protovis se hallan <a title="Protovis - Examples" href="http://vis.stanford.edu/protovis/ex/">ejemplos bastante representativos</a> de las posibilidades generales de protovis, y opciones de personalización interesantes.  La mayoría de gráficos estándares pueden basarse en tales ejemplos de código</p>
<p>Como colofón, se puede encontrar la <a title="Gráfico de Minard (Tropas de Napoleón) usando Protovis" href="http://vis.stanford.edu/protovis/ex/napoleon.html">muestra del gráfico de Minard realizada con Protovis</a> que Tufte considera el mejor gráfico de la historia.  Este gráfico también aparece en el libro de<em> la gramática de los gráficos</em>, como muestra de los factores componentes de esta visualización.</p>
<p>Por otro lado, también es posible incrustar gráficos de Protovis en WordPress, utilizando el <a title="Protovis Loader - WordPress Plugins" href="http://wordpress.org/extend/plugins/protovis-loader/">plugin de carga de Protovis</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sopadebits.com/visualizacion-con-html5-protovis/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Políticos accidentales: ¿Seleccionar legisladores aleatorios mejora la eficiencia parlamentaria?</title>
		<link>http://www.sopadebits.com/politicos-accidentales-%c2%bfseleccionar-legisladores-aleatorios-mejora-la-eficiencia-parlamentaria</link>
		<comments>http://www.sopadebits.com/politicos-accidentales-%c2%bfseleccionar-legisladores-aleatorios-mejora-la-eficiencia-parlamentaria#comments</comments>
		<pubDate>Thu, 09 Jun 2011 05:30:08 +0000</pubDate>
		<dc:creator>Mario</dc:creator>
				<category><![CDATA[Matemática]]></category>
		<category><![CDATA[elecciones]]></category>
		<category><![CDATA[Muestreo estadístico]]></category>
		<category><![CDATA[simulación]]></category>

		<guid isPermaLink="false">http://www.sopadebits.com/?p=27003</guid>
		<description><![CDATA[Curioso artículo el que he encontrado hoy en arxiv.org, sobre una simulación que propone la hipótesis con la que titulo esta entrada (salvo los interrogantes, que los he añadido yo).  El preprint en cuestión está en inglés y se titula Accidental &#8230; <a href="http://www.sopadebits.com/politicos-accidentales-%c2%bfseleccionar-legisladores-aleatorios-mejora-la-eficiencia-parlamentaria">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Curioso artículo el que he encontrado hoy en <a title="arrxiv.org" href="http://arxiv.org/">arxiv.org</a>, sobre una simulación que propone la hipótesis con la que titulo esta entrada (salvo los interrogantes, que los he añadido yo).  El <em>preprint</em> en cuestión está en inglés y se titula <em><a title="Accidental Politicians: How Randomly Selected Legislators Can Improve Parliament Efficiency" href="http://arxiv.org/abs/1103.1224" target="_blank">Accidental Politicians: How Randomly Selected Legislators Can Improve Parliament Efficiency</a> (puedes descargar directamente la <a href="http://arxiv.org/pdf/1103.1224v2" target="_blank">versión PDF del artículo</a>).</em></p>
<p>El resumen (traducido y con resaltado mío) es el que sigue:</p>
<p style="padding-left: 30px;"><em>Estudiamos un modelo prototípico de un Parlamento con dos Partidos o dos Coaliciones políticas, y mostramos cómo <strong>la introducción de un porcentaje variable de legisladores independientes seleccionados aleatorioamente pueden aumentar la eficiencia global de una legislatura</strong>, tanto en términos del número de leyes aprobadas y de la media de bienestar social obtenido.  También encontramos analíticamente un &#8220;<a title="Wikipedia: Número áureo" href="http://es.wikipedia.org/wiki/N%C3%BAmero_%C3%A1ureo">número áureo</a> de la eficiencia&#8221; que permite establecer el número óptimo de legisladores que deben ser seleccionados aleatoriamente después de que las elecciones regulares hayan establecido la proporción relativa de los dos Partidos o Coaliciones.  Estos resultados están alineados tanto con el antiguo sistema democrático Griego como con el descubrimiento de que la adopción de las estrategias aleatorias pueden mejorar la eficiencia de las organizaciones jerárquicas.</em><br />
<em> </em></p>
<p>El artículo utiliza la metodología de la simulación, por lo que no es un ejemplo real con datos basados en experiencias humanas.  Es por ello que el artículo se basa en una abstracción matemática que puede restar interés para quien no se quiera adentrar en los números.  Trataré de allanar un poco el camino.</p>
<h2>Una explicación menos matemática</h2>
<p>Para establecer un modelo de simulación como el del artículo es necesario establecer unas <em>reglas de actuación</em> y unos individuos (los <em>agentes</em>), que actuan con una lógica independiente sobre la cual toman decisiones individuales.  La <em>suma</em> de decisiones conforma un escenario que es el objeto del análisis.</p>
<p>En este caso, los agentes se encuentran en un espacio planteado por <a title="Wikipedia: Carlo Maria Cipolla" href="http://es.wikipedia.org/wiki/Carlo_Maria_Cipolla">Carlo M. Cipolla</a>, donde se plantean dos factores:</p>
<ul>
<li>Acciones del individuo que resultan beneficiosas/perjudiciales <strong>para sí mismo</strong>.</li>
<li>Acciones del individuo que resultan beneficiosas/perjudiciales <strong>para los otros</strong>.</li>
</ul>
<p>En el modelo, estos dos factores se transforman en:</p>
<ul>
<li>Beneficio personal.</li>
<li>Beneficio social</li>
</ul>
<p>Cada uno de estos factores puede tomar valores entre -1 (muy perjudicial) y +1 (muy beneficioso).  Los cuatro tipos extremos, con valores asignados según lo anterior, son:</p>
<ul>
<li>Los <em>Inteligentes</em> se benefician a ellos y a los demás (+1, +1).</li>
<li>Los <em>Incautos</em> benefician a los demás pero no a ellos mismos (-1, +1)</li>
<li>Los <em>Malvados</em> se benefician a ellos y perjudican a los demás (+1, -1)</li>
<li>Los <em>Estúpidos</em> se perjudican a ellos y a los demás (-1, -1)</li>
</ul>
<p>Lo anterior son valores extremos y no los casos típicos.  Los he utilizado para clarificar la conversión de <em>palabras</em> a <em>números</em>.  En la simulación se podrá encontrar agentes con coordenada (0.25, -0.1 -&gt; algo egoísta, ligeramente malvado), por poner un caso.</p>
<p>La razón para escoger el intervalo entre +1 y -1, está en parte explicada en el artículo sobre <a title="Normalización y distancias normalizadas" href="http://www.sopadebits.com/normalizacion-distancias-normalizadas">normalización y distancias normalizadas</a>.  En una palabra: <strong>simplicidad y facilidad de cálculo</strong>, aparte de ser muy intuitiva.  Se podría escoger +100 y -100, pero esto sólo aumenta la complejidad de los cálculos: a nivel de simulación no aportan valor alguno.</p>
<p>Los agentes pueden realizar dos acciones: presentar una ley, o bien votarla (a favor o en contra).</p>
<p>En el momento de la decisión, los agentes parten de su centro de gravedad, pero están de acuerdo con cualquier ley que tenga valores más positivos que su centro de gravedad.  Gráficamente: que se encuentren más a la derecha y por encima de su centro de gravedad personal.</p>
<p>Por otro lado, cuando los agentes son miembros de un partido, aceptan sus directrices.  Estas directrices se representan gráficamente por el <em>círculo de tolerancia</em> del partido.  Este círculo muestra las leyes que el partido en conjunto está dispuesto a votar.</p>
<p>En suma, el agente depende de su adscripción política (<em>círculo de tolerancia</em>) y de su postura personal (<em>ventana de aceptación</em>).  Esta dependencia impone las siguientes reglas en el juego:</p>
<ul>
<li>El <em>círculo de tolerancia</em> de un agente miembro de un partido muestra en sus decisiones <strong>es el mismo que el del propio partido</strong> (lo que conocemos com <em>disciplina de voto</em>).</li>
<li>El agente miembro de un partido <strong>siempre vota a favor de las leyes que presenta alguien de su partido</strong>.</li>
<li> El círculo de tolerancia del partido es más o menos pequeño, dependiendo de si se trata de <strong>partidos más o menos autoritarios</strong> (o rígidos, si se prefiere).</li>
<li>Los parlamentarios elegidos aleatoriamente <strong>no podrán repetir en sucesivas elecciones</strong>, para evitar ser <em>abducidos</em> por los partidos mayoritarios.</li>
</ul>
<p>Y ahí es donde esta la clave de la simulación, en combinación con la disciplina de partido.  Por resumirlo en una frase: Al seleccionar un grupo aleatorio de individuos se cubren las distancias entre los marcos de tolerancia de los partidos.</p>
<p>Gráficamente se puede imaginar dos grandes círculos (los partidos), con todo su entorno<em> salpicado</em> por los individuos seleccionados aleatoriamente.  Estos individuos pueden servir como soporte para leyes que quiera presentar el miembro de un partido, cuando estas leyes estén en el límite.</p>
<h2>¿Cuántos diputados escoger aleatoriamente?</h2>
<p>La fórmula para el cálculo de los diputados escogidos aleatoriamente (per la página 13 de la versión PDF del artículo) es aparentemente compleja, pero se basa en dos factores básicos:</p>
<ul>
<li>El número de diputados del congreso en cuestión.</li>
<li>La proporción de diputados del partido mayoritario.</li>
</ul>
<p>El gráfico de la página 14 del documento muestra el comportamiento de la función que calcula los diputados independientes.</p>
<p>Considerando el caso del bipartidismo, los votos del partido más votado pueden oscilar desde el 50% hacia arriba.  En el eje vertical vemos el número de diputados en el caso que el congreso tuviera 500 escaños (el caso de la simulación).</p>
<p>Como se puede ver, si el resultado es equilibrado (50-55% para el partido ganador: casi un empate técnico) el número de votantes independientes es pequeño porque es fácil desequilibrar la balanza.  Cuanto más grande es la mayoría, más independientes.</p>
<p>Quizá sea posible esperar nuevas simulaciones con multipartidismo, para así poder analizar casos más complejos.</p>
<p>Aunque la conclusión se basa en un análisis de los resultados de la simulación, la causa, según la explicación de los autores, es relativamente intuitiva:  Si la selección de <em>independientes</em> es realmente aleatoria, su soporte será mayoritario para el partido ganador.  Sin embargo, al evitar la disciplina de voto pueden favorecer a más acuerdos.</p>
<p>En palabras de los autores: No se pierde nada del sistema de partidos (efectividad en los sistemas de votación) y se gana todo por la aparición de diputados independientes (la calidad de sus propuestas).</p>
<h2>Dudas</h2>
<ul>
<li>¿Cómo afecta la inclusión de otros partidos a la cantidad de independientes?</li>
<li>¿Por qué la ventana de aceptación de un individuo se establece con un mínimo y aceptar lo que sea siempre más positivo (sobretodo a nivel social)? ¿Se podrían plantear márgenes más cerrados?</li>
<li>A nivel de las interacciones: ¿Cómo afectaría al círculo de tolerancia de los partidos la aparición de los independientes?</li>
</ul>
<h2>Conclusiones y aplicaciones:</h2>
<ul>
<li>Tratándose de una simulación, el resultado no parece aplicable directamente.</li>
<li>El planteamiento del <em>paper</em> es por sí mismo muy creativo y sugerente.  Y eso no le resta en absoluto <a title="Partido Sorteo político" href="http://www.sorteopolitico.com/documentos" target="_blank">vínculos con la realidad</a>.</li>
<li>¿Quizá lo aplicable por fórmula del partido más votado se podría aplicar en base a la <strong>abstención</strong>? ¿Y sobre los <strong>votos en blanco</strong>?</li>
</ul>
<p>Un apunte final: En relación a la selección aleatoria de individuos, encontré hace tiempo un artículo de (casi) los mismos autores relacionado con la <a title="The Peter Principle Revisited: A Computational Study" href="http://arxiv.org/abs/0907.0455" target="_blank">Promoción aleatoria de personas en las empresas</a> para evitar el <a title="Wikipedia: Principio de Peter" href="http://es.wikipedia.org/wiki/Principio_de_Peter" target="_blank">principio de Peter</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sopadebits.com/politicos-accidentales-%c2%bfseleccionar-legisladores-aleatorios-mejora-la-eficiencia-parlamentaria/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>&#8230;y la gente se está informando&#8230;</title>
		<link>http://www.sopadebits.com/y-la-gente-se-esta-informando</link>
		<comments>http://www.sopadebits.com/y-la-gente-se-esta-informando#comments</comments>
		<pubDate>Fri, 20 May 2011 20:00:36 +0000</pubDate>
		<dc:creator>Mario</dc:creator>
				<category><![CDATA[Matemática]]></category>
		<category><![CDATA[elecciones]]></category>
		<category><![CDATA[hondt]]></category>

		<guid isPermaLink="false">http://www.sopadebits.com/?p=27001</guid>
		<description><![CDATA[Los artículos sobre las elecciones europeas y la decisión de voto (en la que se explica las diferencias entre el voto nulo, en blanco y abstención) y la ley d&#8217;Hondt en este blog están recibiendo más visitas de lo habitual. &#8230; <a href="http://www.sopadebits.com/y-la-gente-se-esta-informando">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Los artículos sobre las <a title="Sobre las Elecciones Europeas y la decisión de voto" href="http://www.sopadebits.com/elecciones-europeas-decision-voto">elecciones europeas y la decisión de voto</a> (en la que se explica las diferencias entre el voto nulo, en blanco y abstención) y la <a title="El sistema d’Hondt" href="http://www.sopadebits.com/sistema-hondt">ley d&#8217;Hondt</a> en este blog están recibiendo más visitas de lo habitual.</p>
<p>Ha sucedido en otras ocasiones, con la cercanía de algunas elecciones.  Pero en anteriores casos este aumento se mantenía en el tiempo.  En este caso, el efecto es claro: empezaron a subir a partir del día 16, y siguen subiendo (especialmente el del voto en blanco).</p>
<p>Esto no me sorprende.  Ayer tuve la oportunidad de ir a Plaça Catalunya y comprobar, en primera persona, y como uno más, lo que estaba sucediendo.  Y lo que sucedió es que hablaba, escuchaba y preguntaba.  Cualquiera que desee salir de dudas sobre lo que está pasando, tiene un punto de referencia.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sopadebits.com/y-la-gente-se-esta-informando/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Porque nuestro cerebro, cuando aprende hace estadísticas</title>
		<link>http://www.sopadebits.com/porque-nuestro-cerebro-cuando-aprende-hace-estadisticas</link>
		<comments>http://www.sopadebits.com/porque-nuestro-cerebro-cuando-aprende-hace-estadisticas#comments</comments>
		<pubDate>Wed, 20 Apr 2011 16:01:56 +0000</pubDate>
		<dc:creator>Mario</dc:creator>
				<category><![CDATA[Sin categorizar]]></category>

		<guid isPermaLink="false">http://www.sopadebits.com/?p=26998</guid>
		<description><![CDATA[Sólo hay que ver las conclusiones que extrae Patricia Kuhl: Un apunte corto, pero que quería comentar por cómo de evidente es el ejemplo. El experimento se ha llevado a cabo en niños por lo que no significa que no &#8230; <a href="http://www.sopadebits.com/porque-nuestro-cerebro-cuando-aprende-hace-estadisticas">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Sólo hay que ver las conclusiones que extrae Patricia Kuhl:</p>
<p><!--copy and paste--><object width="446" height="326"><param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="wmode" value="transparent" /><param name="bgColor" value="#ffffff" /><param name="flashvars" value="vu=http://video.ted.com/talks/dynamic/PatriciaKuhl_2010X-medium.flv&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/PatriciaKuhl-2010X.embed_thumbnail.jpg&amp;vw=432&amp;vh=240&amp;ap=0&amp;ti=1075&amp;lang=eng&amp;introDuration=15330&amp;adDuration=4000&amp;postAdDuration=830&amp;adKeys=talk=patricia_kuhl_the_linguistic_genius_of_babies;year=2010;theme=how_the_mind_works;theme=new_on_ted_com;theme=words_about_words;theme=a_taste_of_tedx;event=A+Taste+of+TEDx;tag=Science;tag=Technology;tag=brain;tag=children;tag=language;&amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;" /><embed type="application/x-shockwave-flash" width="446" height="326" src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" flashvars="vu=http://video.ted.com/talks/dynamic/PatriciaKuhl_2010X-medium.flv&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/PatriciaKuhl-2010X.embed_thumbnail.jpg&amp;vw=432&amp;vh=240&amp;ap=0&amp;ti=1075&amp;lang=eng&amp;introDuration=15330&amp;adDuration=4000&amp;postAdDuration=830&amp;adKeys=talk=patricia_kuhl_the_linguistic_genius_of_babies;year=2010;theme=how_the_mind_works;theme=new_on_ted_com;theme=words_about_words;theme=a_taste_of_tedx;event=A+Taste+of+TEDx;tag=Science;tag=Technology;tag=brain;tag=children;tag=language;" allowscriptaccess="always" allowfullscreen="true" bgcolor="#ffffff" wmode="transparent" pluginspace="http://www.macromedia.com/go/getflashplayer"></embed></object></p>
<p>Un apunte corto, pero que quería comentar por cómo de evidente es el ejemplo.  El experimento se ha llevado a cabo en niños por lo que no significa que no se pueda trasladar a los adultos.  Personalmente lo creo así.</p>
<p>El proceso es diferente pero, en el fondo, esa necesidad de adaptación al medio que lleva a cabo el cerebro recopilando información permite detectar patrones, recopilar feedback de nuestras acciones y, finalmente, aprender.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sopadebits.com/porque-nuestro-cerebro-cuando-aprende-hace-estadisticas/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>La gramática de los gráficos</title>
		<link>http://www.sopadebits.com/la-gramatica-de-los-graficos</link>
		<comments>http://www.sopadebits.com/la-gramatica-de-los-graficos#comments</comments>
		<pubDate>Thu, 14 Apr 2011 13:30:04 +0000</pubDate>
		<dc:creator>Mario</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Matemática]]></category>
		<category><![CDATA[Gráficos estadísticos]]></category>
		<category><![CDATA[modelización]]></category>
		<category><![CDATA[visualizacion]]></category>

		<guid isPermaLink="false">http://www.sopadebits.com/?p=26931</guid>
		<description><![CDATA[¿Qué elementos forman parte de un gráfico? ¿Cómo se trasladan los datos de una representación gráfica a otra? ¿Cómo se pueden integrar los gráficos? ¿Qué combinación de parámetros hay que tener en cuenta en el momento de crearlos? Estas son &#8230; <a href="http://www.sopadebits.com/la-gramatica-de-los-graficos">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>¿Qué elementos forman parte de un gráfico? ¿Cómo se trasladan los datos de una representación gráfica a otra? ¿Cómo se pueden integrar los gráficos? ¿Qué combinación de parámetros hay que tener en cuenta en el momento de crearlos?</p>
<p>Estas son preguntas que por lo general no nos planteamos en el momento de representar datos gráficamente.  Lo obviamos por agilidad, igual que no estamos dando órdenes conscientes de inspirar-expirar o pie izquierdo/pie derecho.</p>
<p>La pregunta de fondo es: ¿Importa tenerlo presente? Puede que antes no fuera necesario, pero ahora, para mí, sí.</p>
<p>Me refiero a <em>antes</em> como a las épocas en que los conjuntos de datos eran más bien limitados, las interrelaciones entre ellos eran simples, e incluso cuando se dibujaban los gráficos a mano.  Hablo de antes como <em>el momento en el que las interrelaciones entre datos no formaban parte del núcleo del análisis ni había interacción posible con ellos</em>.</p>
<p>Ahora, el momento en el que hay (sobre)abundancia de datos, disponemos de aplicaciones informáticas capaces de gestionar la interactividad; cuando buscamos respuestas más profundas, revisar la razón de ser de los gráficos y sus componentes resultaba para mí un ejercicio casi imprescindible.</p>
<p>Buscando entre libros que pudieran servirme de base y que plantearan una definición estructurada, me topé con el libro de <a title="Leland Wilkinson - Universidad de Chicago" href="http://www.cs.uic.edu/~wilkinson/">Leland Wilkinson</a>, <a title="The grammar of Graphics - Amazon.com" href="http://www.amazon.com/Grammar-Graphics-Leland-Wilkinson/dp/0387987746">The Grammar of Graphics</a> (Springer, 2a ed. 2005).</p>
<h2>Punto de partida</h2>
<p>Wilkinson, además de profesor universitario de estadística, ha sido vicepresidente de SPSS del 1994 al 2007 y actualmente vicepresidente ejecutivo de SYSTAT.  Se puede decir que ha estado en sitios de suficiente prestigio como para decir que sabe de lo que habla.</p>
<p>Con su experiencia empezó a recopilar gráficos de cualquier tipo para empezar a detectar patrones, factores y elementos a tener en cuenta para desarrollar esta gramática.  A partir de esa base, desarrollo un marco de trabajo sobre el que se puede definir prácticamente cualquier representación gráfica de datos.</p>
<p>¿A quién va dirigido este libro? Exceptuando los conceptos puramente matemáticos/estadísticos, Wilkinson comenta que ha desarrollado su exposición partiendo de una terminología no especializada.  Según él, cualquier persona interesada en los gráficos científicos o de negocios. Diferencia en tres niveles según el grado de conocimiento en matemáticas:</p>
<ul>
<li>Los que buscan un catálogo/tesauro de gráficos.</li>
<li>Los que quieren seguir el argumento sin necesidad de entrar en los aspectos matemáticos.</li>
<li>Los que tienen suficientes conocimientos matemáticos para entender la notación matemática y seguir los criterios.</li>
</ul>
<p>Cuanto más nivel, más contenido relevante.  Pero los tres niveles pueden seguir sus argumentos.  Personalmente creo que sacarán mucho más partido del libro las personas con conocimientos matemáticos y/o informáticos para aplicar sus ideas.</p>
<p>Hay una delimitación explícita sobre lo que <strong>no</strong> tiene por objetivo este libro.  Lo que Wilkinson no plantea es:</p>
<ul>
<li>Un <strong>lenguaje de comandos</strong> (o de programación, como se prefiera). Sin embargo utiliza expresiones similares.</li>
<li>Una <strong>taxonomía</strong>, aunque la cantidad y variedad de gráficos es notable.</li>
<li>Una <strong>aplicación de dibujo</strong> (<em>drafting package</em>).</li>
<li>Un <strong>libro de <em>las buenas virtudes</em></strong>: con lo que explica se pueden conseguir tanto gráficos maravillosos como horribles. Es tarea de quien lo utilice identificar las cualidades y defectos del resultado.</li>
<li>Un <strong>método heurístico</strong>: El primer paso es definir un lenguaje formal de los gráficos (que es lo que él propone en el libro) para luego establecer una heurística que determine los gráficos más adecuados a cada caso.</li>
<li>Un <strong>sistema de información geográfica</strong>.</li>
<li>Un <strong>sistema de visualización</strong>. Matiza que sus bases se pueden utilizar para la visualización, pero que no lo incluyen para no <em>viciar</em> (concentrarse en) los conceptos básicos.</li>
</ul>
<h2>La gramática (o cómo hacer un gráfico de sectores)</h2>
<p>El capítulo 2 es una aproximación rápida a la propia gramática, y expone en un ejemplo práctico (el diagrama de sectores) los componentes de la gramática.  En una lista:</p>
<ul>
<li>Relacionados con datos:
<ul>
<li><strong>Variables/datos</strong>: Lo que nos viene dado. Nuestro punto de partida.</li>
<li><strong>Álgebra</strong>: Operaciones matemáticas sobre los datos que permiten representarlos dentro del marco que supone un gráfico.</li>
<li><strong>Escalas</strong>: Por decirlo de un modo simple, unidades de medida.  Decidir las escalas y adecuar los datos a ellas es una parte importante del proceso.</li>
<li><strong>Estadísticas</strong>: Los cálculos matemáticos propiamente estadísticos sobre los datos. Incluye desde medias, cuartiles y proporciones, hasta relaciones de agregación o separación entre datos.</li>
</ul>
</li>
<li>Relacionados con la representación gráfica:
<ul>
<li><strong>Geometría</strong>: Las formas a aplicar sobre los elementos a representar.</li>
<li><strong>Coordenadas</strong>: Las guías visuales que servirán de referencia para la representación.  Por ejemplo, en el caso del gráfico de sectores, tratamos con <a title="Coordenadas polares - Wikipedia" href="http://es.wikipedia.org/wiki/Coordenadas_polares">coordenadas polares</a>.</li>
<li><strong>Elementos estéticos</strong>: Color, texturas, etiquetas, títulos,</li>
</ul>
</li>
</ul>
<p>Los elementos están en el mismo orden en el que según Wilkinson deben ser aplicados sobre el gráfico a representar.  Por mi parte destacaría el capítulo de coordenadas.  Las coordenadas dan coherencia y facilitan la lectura visual del gráfico para identificar patrones.  Hay una relación estrecha entre escalas y coordenadas, pero no es lo mismo.</p>
<p>Además, las coordenadas incluyen guías visuales, aunque también las proyecciones y en definitiva todo lo que da forma al conjunto del gráfico.  Bajo mi punto de vista en las coordenadas tienen lugar los aciertos y errores más claros, a la vez que difíciles de detectar por un espectador.</p>
<h2>Valoración</h2>
<p>Releyendo lo escrito hasta aquí me doy cuenta que estoy dejando de lado un aspecto importante.  Aunque el libro tiene un objeto claro, el proceso ha sido más interdisciplinar de lo que parece.  Por ejemplo, se comentan aspectos psicológicos en la diferenciación de las escalas de colores, formas y coordenadas, así como los efectos de combinar algunos tipos de gráficos.</p>
<p>No es comparable con los libros de <a title="Edward Tufte" href="http://www.edwardtufte.com/tufte/">Tufte</a>, más bien complementario.  En algunos puntos parece que se hubieran puesto de acuerdo: donde empieza uno acaba el otro.</p>
<p>Tanto Wilkinson como Tufte me han aportado muchas ideas y enfoques renovados a la representación gráfica. Espero sumar en breve la lectura de un tercer autor que tengo en el punto de mira, <a title="Jacques Bertin - Wikipedia" href="http://en.wikipedia.org/wiki/Jacques_Bertin">Jacques Bertin</a> y su <a title="Jacques Bertin - Semiology of graphics -- Amazon.com" href="http://www.amazon.com/Semiology-Graphics-Diagrams-Networks-Maps/dp/1589482611/">semiología de los gráficos</a>.  Hasta el pasado Noviembre no se reeditó el libro, pero ahora ya no hay excusa&#8230;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sopadebits.com/la-gramatica-de-los-graficos/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>El testeo para la mejora de la experiencia de usuario</title>
		<link>http://www.sopadebits.com/el-testeo-para-la-mejora-de-la-experiencia-de-usuario</link>
		<comments>http://www.sopadebits.com/el-testeo-para-la-mejora-de-la-experiencia-de-usuario#comments</comments>
		<pubDate>Thu, 07 Apr 2011 17:43:09 +0000</pubDate>
		<dc:creator>Mario</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[testeo]]></category>

		<guid isPermaLink="false">http://www.sopadebits.com/?p=26917</guid>
		<description><![CDATA[Durante el último año y medio he estado utilizando herramientas desarrolladas en el proyecto Selenium. Estas herramientas de software abierto para el testeo de interficies de aplicaciones web se ha vuelto casi imprescindible para mí en el momento de revisar la interacción &#8230; <a href="http://www.sopadebits.com/el-testeo-para-la-mejora-de-la-experiencia-de-usuario">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sopadebits.com/wp-content/uploads/2011/03/selenium-logo.png"><img class="alignleft size-full wp-image-26918" title="selenium-logo" src="http://www.sopadebits.com/wp-content/uploads/2011/03/selenium-logo.png" alt="" width="200" height="181" /></a>Durante el último año y medio he estado utilizando herramientas desarrolladas en el proyecto <a title="Selenium Web Testing" href="http://seleniumhq.org/">Selenium</a>. Estas herramientas de software abierto para el testeo de interficies de aplicaciones web se ha vuelto casi imprescindible para mí en el momento de revisar la interacción con el usuario.</p>
<p>Aunque existen muchos tipos de pruebas de aplicaciones, considero que las pruebas de UI son especialmente críticas: en último término determinan la calidad percibida, con independencia de la calidad interna del producto.</p>
<p>Mi utilización de Selenium (en especial <a title="Selenium RC" href="http://seleniumhq.org/projects/remote-control/">Selenium RC</a>) se ha limitado a su objetivo original, pero durante las <em>horas de vuelo</em> que transcurren durante las pruebas surgen ideas sobre el papel del testeo en el desarrollo de aplicaciones web.  Sólo con ver la ejecución automática del testeo y adoptar el <em>sombrero</em> del usuario final, se pueden llegar a contar las mejoras por docenas.</p>
<h2>La realidad del equipo de desarrollo</h2>
<p>Aunque la tecnología web precisa una mirada interdisciplinar, cada equipo enfoca las soluciones según sus conocimientos.   Mi experiencia se basa en proyectos más centrados en la parte técnica, por lo que el desarrollo (mucha programación y menos diseño) absorben mucho tiempo.  Si el tiempo estimado se agota, la inercia lleva a sacarlo de las fases finales.</p>
<p>He comprobado también por la experiencia que el tiempo de testeo y documentación se acaban recuperando, quizá fuera de plazo, y a lo peor con la decepción del cliente.  Porque al cliente le importa poco la implantación del modelo de datos, e incluso las luces y colores.  Si no funciona como la entiende, <a title="Seth Godin: this is broken - TED" href="http://www.ted.com/talks/seth_godin_this_is_broken_1.html ">la aplicación está rota</a>.</p>
<p>Sé que testear la interacción y documentar para el usuario final son tareas percibidas como <em>tediosas</em>, ya que suponen un <em>cambio de sombrero</em> para cualquier desarrollador.  Es el equivalente informático a <em>corregir nuestro propio dictado</em>.</p>
<p>¿Argumentos habituales? Sobre el testeo de UI se dice que ya es suficiente con las pruebas que se realizan mientras se desarrolla (falso); de la documentación de usuario&#8230; quizá ni hablemos, porque con el axioma <em>Mac</em> segun el cual un programa se explica por sí solo (error grave), la excusa está servida.  Claro, <a title="Apple no es un modelo para todos - Alzado.org" href="http://www.alzado.org/articulo.php?id_art=894">porque todas las empresas de desarrollo han de ser como Apple</a>, ¿no?</p>
<p>Ponerse unas horas en la situación del usuario después de semanas de verlo todo <em>desde dentro</em> es mucho más complejo de lo que pueda parecer: un programador conoce los datos y la estructura de la aplicación. Ve todas las opciones aunque sean invisibles (porque las ha puesto él), y sabe que ante un error puede resolverlo rápidamente (no como el usuario final).  Su percepción de las consecuencias no está alineada con la del usuario final, y esto le resta capacidad crítica.</p>
<p>Pero si además se le plantea que redacte el manual de usuario, utilizará terminología técnica (porque se han familiarizado con ella).  Y yo, que conste, lo entiendo.  No sólo porque desarrolle, sino porque cuando lo veo <em>desde el otro lado</em> sé que es complicado. Por no decir lo poco que motiva explicar la aplicación por segunda vez (la primera vez lo ha <em>explicado</em> a una máquina) y en términos distintos.</p>
<h2>Tendiendo puentes</h2>
<p>Es por eso que cada vez veo con más interés el testeo como el puente que vincula la visión del cliente y el desarrollo.  El testeo puede establecer guías concretas sobre el que un intermediario puede hablar con el cliente.  Esa concreción por sí misma evita los malentendidos habituales. Y aporta mejoras en concreción.</p>
<p>Con la información recopilada en esas reuniones puede desarrollar casos de uso (o escenarios de usuario),  describir la prueba, estructurar las fases y establecer los requerimientos.</p>
<p>Con esto, puede pactar con el equipo de desarrollo las tareas a realizar, desarrollar la prueba, y redactar la documentación de usuario bajo un guión unificado.  Y lo que verificará que la tarea está hecha es la superación de las pruebas.</p>
<p>Espero tener tiempo para comentar en otros artículos el detalle de estas relaciones, lo que permiten y lo que pueden complementarse con otros métodos.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sopadebits.com/el-testeo-para-la-mejora-de-la-experiencia-de-usuario/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>El ecosistema javascript (Google chrome, V8 y nodejs)</title>
		<link>http://www.sopadebits.com/el-ecosistema-javascript-google-chrome-v8-y-nodejs</link>
		<comments>http://www.sopadebits.com/el-ecosistema-javascript-google-chrome-v8-y-nodejs#comments</comments>
		<pubDate>Mon, 04 Apr 2011 06:30:44 +0000</pubDate>
		<dc:creator>Mario</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.sopadebits.com/?p=26886</guid>
		<description><![CDATA[Durante el tiempo en que Rhino ha estado en el escenario, el concepto de javascript en general se asociaba a bugs, inmadurez en las herramientas de desarrollo y testeo, y sobretodo lentitud.  En especial por lo último habría que hablar de &#8230; <a href="http://www.sopadebits.com/el-ecosistema-javascript-google-chrome-v8-y-nodejs">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<h2><span style="font-size: 16px; color: #444444; line-height: 24px;"><a href="http://www.sopadebits.com/wp-content/uploads/2011/03/V8_JavaScript_engine_logo.png"><img class="alignleft size-full wp-image-26915" title="V8_JavaScript_engine_logo" src="http://www.sopadebits.com/wp-content/uploads/2011/03/V8_JavaScript_engine_logo.png" alt="" width="68" height="55" /></a>Durante el tiempo en que Rhino ha estado en el escenario, el concepto de javascript en general se asociaba a bugs, inmadurez en las herramientas de desarrollo y testeo, y sobretodo <strong>lentitud</strong>.  En especial por lo último habría que hablar de Internet Explorer 6 (del que <a title="IE6 - Sorry" href="http://www.smashingapps.com/2011/03/11/hey-microsoft-it-took-you-almost-a-decade-to-feel-sorry-about-ie6.html">ahora, quizá un poco tarde, piden disculpas</a>).</span></h2>
<p>Vale la pena decir que esta lentitud no era tanto debida al propio javascript sino al <a title="Document Object Model - Wikipedia" href="http://es.wikipedia.org/wiki/Document_Object_Model">DOM</a> (la estructura que se genera a partir del HTML para que el navegador muestre las páginas web como se espera).  Pero para un usuario final eso da lo mismo (y con razón): si hay javascript y va lento, entonces javascript es lento.</p>
<p>Pero entonces llegó Chrome, su <a title="V8 javascript engine" href="http://code.google.com/p/v8/">motor de Javascript</a> con nombre de <a title="V8 supercars" href="http://www.v8supercars.com.au/">coches de carreras</a>, y una visión clara: <strong>velocidad</strong>.  Su <a title="Google Chrome Internals" href="http://www.google.com/events/io/2009/sessions/ExploringChromeInternals.html">funcionamiento interno</a> lo posicionaba para todo lo que se podíamos soñar para la web, pero que no podíamos realizar.  Cualquier prueba de rendimiento puede dar fe de su potencia.  Complementando V8 con el motor de renderizado de Webkit (el mismo de Safari), el resultado es un caballo ganador que ha entrado fuerte en la web (y se ha notado en las estadísticas).</p>
<p>Quizá conociendo el concepto de Javascript en el servidor derivado de Rhino, alguien decidió seguir sus pasos: si V8 es capaz de ejecutar JS a velocidades cercanas al C++, por qué no desarrollar en javascript para el cliente (navegador)  y también en el servidor?</p>
<p>Hay varias ventajas:</p>
<ul>
<li>No hay que hacer un <em>cambio de chip</em> en un mismo proyecto en la parte cliente y servidor.  No hay lenguaje de cliente y lenguaje de servidor.</li>
<li>El intercambio de datos para aplicaciones Ajax tiene un formato ideal: <a title="JSON - JavaScript Object Notation" href="http://www.json.org/">JSON</a>.  Un formato nativo del lenguaje es lo mejor que puede pasar para simplificar el intercambio.</li>
<li>Su ligereza y su simplicidad en el desarrollo (sobretodo en comparación con Java, pero también con otros de <em>Scripting</em> como PHP, Ruby, Python).</li>
<li>Para todos los desarrolladores de javascript en la web se abre un campo inmenso en el cual expandirse.</li>
</ul>
<p>Y así fue que apareció <a title="nodejs" href="http://nodejs.org">nodejs</a>.   No se trata de utilizar javascript sin más: incorpora los eventos como parte interna del lenguaje (y aparentemente evitando el bloqueo de I/O), permitiendo la devolución de respuestas de forma asíncrona y sin necesidad de trabajar con <em>hilos</em> de ejecución como por ejemplo lo hace java.</p>
<p>Todo esto sin considerar que puede ejecutar en el servidor lo último del HTML5 (web workers, web sockets, etc) <strong>sin las restricciones de seguridad de un navegador</strong>.</p>
<p>De ahí que estén surgiendo ideas para la <a href="http://nodeknockout.com/teams/anansi">computación distribuída</a> utilizando V8 en el servidor (o conectando varios usuarios a una misma página, por ejemplo), o crawlers (se puede integrar <a title="jQuery" href="http://jquery.com/">jQuery</a> y sus selectores en el javascript de nodejs).  Pero esto ya es un tema aparte.</p>
<p>El cambio de reglas que ha introducido nodejs ha provocado un crecimiento muy rápido de un ecosistema a su alrededor.  En poco tiempo ya tiene varios frameworks de desarrollo, motores de plantillas, e incluso <a title="Node package manager" href="http://npmjs.org/">un gestor de paquetes</a> para facilitar la instalación de componentes en el servidor.</p>
<p>En la web el desarrollo se asienta por dos filosofías opuestas que se combinan en menor o mayor grado: los que buscan soluciones estables, verificadas, seguras (certificadas) sobre las que canalizar un negocio preexistente; y por otra los que quieren hacer algo sin preocuparse demasiado por aplicar técnicas formales de análisis y desarrollo de aplicaciones, desarrollando <a title="Aplicaciones bala de plata y core wrapping - La pastilla roja" href="http://lapastillaroja.net/2010/12/aplicaciones-bala-de-plata-y-core-wrapping/">silver bullets</a> y siguiendo el criterio del <em>release early release often</em>.</p>
<p>Pero sucedía una paradoja: mientras que los primeros han utilizado Java como tecnología principal y han creado un gran paquete de herramientas, los segundos trabajan con variedad de lenguajes, herramientas de soporte más simples (y quizá menos productivas).</p>
<p>Para los segundos, Javascript en el servidor me parece una apuesta arriesgada, pero con muy buenas perspectivas.  Eso sí, los nuevos conceptos obligan a practicar unas horas (depende del nivel de cada uno) antes de ponerse a fondo.</p>
<p>Si te ha picado la curiosidad, deja de leer y pruébalo ya <img src='http://www.sopadebits.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.sopadebits.com/el-ecosistema-javascript-google-chrome-v8-y-nodejs/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

