<?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>Barriblog &#187; Entorno de desarrollo</title>
	<atom:link href="http://www.barriblog.com/index.php/category/entorno-de-desarrollo/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.barriblog.com</link>
	<description>Buscando barrios de blogs</description>
	<lastBuildDate>Mon, 16 Aug 2010 09:48:04 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Lo que siempre quiso saber del API de Twitter y nunca se atrevió a preguntar</title>
		<link>http://www.barriblog.com/index.php/2010/07/06/lo-que-siempre-quiso-saber-del-api-de-twitter-y-nunca-se-atrevio-a-preguntar/</link>
		<comments>http://www.barriblog.com/index.php/2010/07/06/lo-que-siempre-quiso-saber-del-api-de-twitter-y-nunca-se-atrevio-a-preguntar/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 09:06:12 +0000</pubDate>
		<dc:creator>M.Luz Congosto</dc:creator>
				<category><![CDATA[Entorno de desarrollo]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[Search]]></category>
		<category><![CDATA[Stremaing]]></category>

		<guid isPermaLink="false">http://www.barriblog.com/?p=1036</guid>
		<description><![CDATA[Actualmente Twitter es una de las mayores fuentes de información en tiempo real de Internet alimentada por millones de usuarios. Durante el último mes he intentado buscar respuestas estas preguntas: ¿Cuál es la cantidad de tweets? ¿Qué se puede obtener con los APIs de Twitter? ¿Cuáles son las limitaciones del API de Twitter? ¿Qué persistencia]]></description>
			<content:encoded><![CDATA[<p>Actualmente<strong> Twitter</strong> es una de las mayores fuentes de información en tiempo real de Internet alimentada por millones de usuarios. Durante el último mes he intentado buscar respuestas estas preguntas:</p>
<ul>
<li>¿Cuál es la cantidad de tweets?</li>
<li>¿Qué se puede obtener con los APIs de Twitter?</li>
<li>¿Cuáles son las limitaciones del API de Twitter?</li>
<li>¿Qué persistencia tienen los tweets?</li>
</ul>
<p>Lo que he averiguado lo he  representarlo en una infografía para los muy ocupados y en modo textual para los que su curiosidad sea aún mayor.<br />
<a href="http://www.barriblog.com/wp-content/uploads/2010/07/Infografía-tweets.jpg"><img class="aligncenter size-full wp-image-1037" title="Infografía tweets" src="http://www.barriblog.com/wp-content/uploads/2010/07/Infografía-tweets.jpg" alt="" width="648" height="936" /></a></p>
<h4>¿Cuál es la cantidad de tweets?</h4>
<p>El número de usuarios de Twitter  y por tanto el de tweets generados tiene un crecimiento espectacular.  El despegue comenzó en el 2009 y en <a href="http://blog.twitter.com/2010/02/measuring-tweets.html">un año se ha multiplicado por 25</a>.  Con este tráfico de entrada cualquier evento global es una prueba de fuego para Twitter, como ha sido el caso de la Wold Cup que nos ha traído de nuevo a la ballena azul.</p>
<p>Durante la segunda semana de la World Cup se ha alcanzado el <a href="http://blog.twitter.com/2010/06/another-big-record-part-deux.html"><strong>record de  3.283 TPS</strong></a> (<strong>T</strong>weets <strong>P</strong>er <strong>S</strong>econd) y la <strong>media</strong> actual es de <strong>750 TPS</strong>.  Esto hace casi inalcanzable obtener tal cantidad  de información (y almacenarla) por lo que habrá que pensar en  soluciones creativas para poder obtener los datos que se deseen.</p>
<h4>¿Qué se puede obtener con los APIs de Twitter?</h4>
<p>Twitter ofrece <strong>tres</strong> <strong>APIs</strong>:   <a href="http://dev.twitter.com/pages/streaming_api_methods">Streaming API</a>, <a href="http://twitterapi.pbworks.com/Twitter-API-Documentation"> REST API</a> y  <a href="http://twitterapi.pbworks.com/Twitter-API-Documentation">Search API</a> aplicables a necesidades diferentes.</p>
<p>El <strong>Streaming API</strong> proporciona un subset de tweets en casi tiempo real. Se establece una conexión permanente por usuario con los servidores de <strong>Twitter</strong> y mediante una petición http  se recibe un flujo continúo de tweets en formato json.  Se puede obtener una <strong>muestra aleatoria</strong> (statuses/sample), un <strong>filtrado</strong> (statuses/filter) por palabras claves o por usuarios. Sin embargo, los métodos más interesantes cómo obtener <strong>todo el caudal de tweets</strong> (statuses/firehose) o sólo los <strong>tweets que tienen enlaces </strong>(statuses/links) o los tweets con <strong>retweets</strong> (statuses/retweet) &#8220;<strong><em>Is not a generally available resource</em></strong>&#8221; :-(</p>
<p>El <strong>Search API</strong> suministra los tweets con una profundidad en el tiempo de<strong> 7 días</strong> que se ajustan a la query solicitada. Es posible filtrar por, <strong>cliente utilizado</strong>, <strong>lenguaje</strong> y <strong>localización</strong>. No requiere autenticación y los tweets se obtienen en formato <strong>json</strong> o  <strong>atom</strong>.</p>
<p>El <strong>REST API</strong> ofrece a los desarrolladores el acceso al <strong>core </strong>de los datos de <strong>Twitter</strong>. Todas las operaciones que se pueden hacer vía web son posibles realizarlas desde el <strong>API</strong>.  Dependiendo de la operación requiere o no autenticación, con el mismo criterio que en el acceso web. Sopota los formatos: <strong>xml</strong>, <strong>json</strong>, <strong>rss</strong>, <strong>atom</strong>.</p>
<p>El <strong>Search API</strong> ofrece una información más limitada del tweet,  en concreto sobre los datos del autor en el que solo indica el <strong>Id</strong>,  el <strong>screen</strong>_<strong>name</strong> y la url de su <strong>avatar</strong>. Los otros dos <strong>APIs</strong> si ofrecen el perfil completo del autor en el momento de la escritura del tweet.</p>
<h4>¿Cuáles son las limitaciones de  los APIs de Twitter?</h4>
<p>En el <strong>Streaming API</strong> el flujo es continuo y la velocidad de recepción de tweets tendrá fluctuaciones que dependerán del ancho de banda de los dos extremos de la conexión y la sobrecarga de los servidores de Twitter. Actualmente estoy haciendo medidas en dos servidores y publicaré los resultados tan pronto como estén disponibles.</p>
<p>En el <strong>Search API</strong> y en el <strong>REST API</strong> existe una limitación de <strong>150 peticiones a la hora</strong> por usuario o por IP si la llamada no está autenticada.<br />
Es importante saber cómo realizar la  paginación de las  peticiones de una manera óptima para sacarle el  máximo partido.</p>
<table border="0" cellspacing="1" cellpadding="4" width="60%" bgcolor="#cccccc">
<tbody>
<tr>
<td style="text-align: center;" width="15%" bgcolor="#aaaaff"><strong>API</strong></td>
<td style="text-align: center;" width="25%" bgcolor="#aaaaff"><strong>Petición</strong></td>
<td style="text-align: center;" width="35%" bgcolor="#aaaaff"><strong>Max. Tamaño Pagina</strong></td>
<td style="text-align: center;" width="25%" bgcolor="#aaaaff"><strong>Max. Total</strong></td>
</tr>
<tr>
<td bgcolor="#ffffff">Search</td>
<td bgcolor="#ffffff">search</td>
<td style="text-align: right;" bgcolor="#ffffff">200 tweets</td>
<td style="text-align: right;" bgcolor="#ffffff">1500 tweets<strong>-</strong></td>
</tr>
<tr>
<td bgcolor="#ffffff">REST</td>
<td bgcolor="#ffffff">statuses</td>
<td style="text-align: right;" bgcolor="#ffffff">200 tweets</td>
<td style="text-align: right;" bgcolor="#ffffff">3200 tweets</td>
</tr>
<tr>
<td bgcolor="#ffffff">REST</td>
<td bgcolor="#ffffff">friends/ids</td>
<td style="text-align: right;" bgcolor="#ffffff">5.000 id users</td>
<td style="text-align: right;" bgcolor="#ffffff">Los que haya (*)</td>
</tr>
<tr>
<td bgcolor="#ffffff">REST</td>
<td bgcolor="#ffffff">followers/ids</td>
<td style="text-align: right;" bgcolor="#ffffff">5.000 id users</td>
<td style="text-align: right;" bgcolor="#ffffff"><strong> </strong>Los que haya (*)</td>
</tr>
</tbody>
<tbody></tbody>
</table>
<p>(*) hemos obtenido los seguidores de <a href="http://twitter.com/BARACKOBAMA">Barack Obama</a> que sobrepasa los<strong> 4,5 millones de followers</strong></p>
<h4>¿Qué persistencia tienen los tweets?</h4>
<p>Aunque todos los tweets residan en las BB.DD. de Twitter hay una limitación temporal para obtenerlos.</p>
<table border="0" cellspacing="1" cellpadding="4" width="50%" bgcolor="#cccccc">
<tbody>
<tr>
<td style="text-align: center;" width="15%" bgcolor="#aaaaff"><strong>API</strong></td>
<td style="text-align: center;" width="40%" bgcolor="#aaaaff"><strong>Limitación temporal</strong></td>
<td style="text-align: center;" width="45%" bgcolor="#aaaaff"><strong>Limitación tamaño</strong></td>
</tr>
<tr>
<td bgcolor="#ffffff">Streaming</td>
<td style="text-align: center;" bgcolor="#ffffff">Solo tiempo real</td>
<td style="text-align: center;" bgcolor="#ffffff"><strong> -</strong></td>
</tr>
<tr>
<td bgcolor="#ffffff">Search</td>
<td style="text-align: center;" bgcolor="#ffffff">-7 días</td>
<td style="text-align: right;" bgcolor="#ffffff">1500 últimos tweets</td>
</tr>
<tr style="text-align: right;">
<td style="text-align: left;" bgcolor="#ffffff">REST</td>
<td style="text-align: center;" bgcolor="#ffffff">NO</td>
<td style="text-align: center;" bgcolor="#ffffff">3200 últimos tweets</td>
</tr>
</tbody>
<tbody></tbody>
</table>
<p>-</p>
<p>﻿</p>
]]></content:encoded>
			<wfw:commentRss>http://www.barriblog.com/index.php/2010/07/06/lo-que-siempre-quiso-saber-del-api-de-twitter-y-nunca-se-atrevio-a-preguntar/feed/</wfw:commentRss>
		<slash:comments>56</slash:comments>
		</item>
		<item>
		<title>Compartiendo la herramienta tweets_info.py</title>
		<link>http://www.barriblog.com/index.php/2010/05/25/herramienta-tweet_info-py/</link>
		<comments>http://www.barriblog.com/index.php/2010/05/25/herramienta-tweet_info-py/#comments</comments>
		<pubDate>Tue, 25 May 2010 10:21:16 +0000</pubDate>
		<dc:creator>M.Luz Congosto</dc:creator>
				<category><![CDATA[Entorno de desarrollo]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[código]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.barriblog.com/?p=1013</guid>
		<description><![CDATA[Tenía pendiente hacer pública la herramienta que utilicé  en el experimento del hashtag #manifiesto y en el resumen visual de la conferencia WWW2010. Me lo ha recordado @paco229 en este tweet: paco229 en su momento @congosto dijo que iba a publicar los scripts que usó para hacerlo #inp 8:01 AM May 19th via TweetChat Le]]></description>
			<content:encoded><![CDATA[<p>Tenía pendiente <strong>hacer pública</strong> la herramienta que utilicé  en el experimento del hashtag <strong>#manifiesto</strong> y en el resumen visual de la conferencia <strong>WWW2010</strong>. Me lo ha recordado<strong><a href="http://twitter.com/paco229"> @paco229</a></strong> en este tweet:</p>
<p><img class="photo fn" src="http://a3.twimg.com/profile_images/765184145/jfg04_Twitter_normal.jpg" alt="Francisco George" width="48" height="48" align="left" /><strong><a class="tweet-url screen-name" href="http://twitter.com/paco229">paco229</a></strong> en su momento @<a class="tweet-url username" rel="nofollow" href="/congosto">congosto</a> dijo que iba a publicar los scripts que usó para hacerlo <a class="tweet-url hashtag" title="#inp" rel="nofollow" href="/search?q=%23inp">#inp</a><br />
<a class="entry-date" rel="bookmark" href="http://twitter.com/paco229/status/14286120280">8:01 AM May 19th</a> via <a rel="nofollow" href="http://tweetchat.com/">TweetChat</a></p>
<p>Le he sacado un poco de brillo al script y lo he documentado para que lo pueda usar quién esté interesado en sacar información de Twitter.</p>
<p>El script asume que el formato de entrada es el modo texto de la  herramienta <a href="http://tweetbackup.com/">tweetbackup</a>. Está escrito en <a href="http://www.python.org/">python</a> y permite extraer la siguiente información de un conjunto de tweets:</p>
<ul>
<li>los autores y cuantos tweets han escrito</li>
<li>las palabras y el número de veces que se han utilizado (es posible filtrar las palabras irrelevantes)</li>
<li>los hastagh y el número de repeticiones</li>
<li>el número de tweets por cada día</li>
<li>el número de tweets por hora</li>
<li>las urls y el número de repeticiones, el ranking de los sitios web mencionados y de los servicios acortadores de urls.</li>
</ul>
<p><a href="http://barriblog.com/code/tweets_info.py">Descargar tweets_info.py</a></p>
<p>He aprovechado para cambiar el diseño de <a href="http://www.barriblog.com/wiki/index.php/Portada">barriblog-wiki</a> para publicar tambien allí las herramientas que vaya realizando. Espero que sean de utilidad</p>
]]></content:encoded>
			<wfw:commentRss>http://www.barriblog.com/index.php/2010/05/25/herramienta-tweet_info-py/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>RTs vs. clicks</title>
		<link>http://www.barriblog.com/index.php/2010/04/26/rts-vs-clicks/</link>
		<comments>http://www.barriblog.com/index.php/2010/04/26/rts-vs-clicks/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 11:13:44 +0000</pubDate>
		<dc:creator>M.Luz Congosto</dc:creator>
				<category><![CDATA[Entorno de desarrollo]]></category>
		<category><![CDATA[Experimentos]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[Visualizaciones]]></category>
		<category><![CDATA[#manifiesto]]></category>
		<category><![CDATA[bit.y]]></category>
		<category><![CDATA[clicks]]></category>
		<category><![CDATA[menciones]]></category>
		<category><![CDATA[RT]]></category>
		<category><![CDATA[urls]]></category>

		<guid isPermaLink="false">http://www.barriblog.com/?p=853</guid>
		<description><![CDATA[Correlación entre el nº de clicks y los RTs entre los tweets que se han retransmitido cinco o más veces. Para acceder a la visualización interactiva, pulsar en la imagen Una de las preguntas que me hacía en el análisis del hashtag #manifiesto era si existía alguna correlación entre la retransmisión de una url y]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.barriblog.com/wp-content/uploads/2010/04/rt-vs-click1.jpg"><img class="aligncenter size-full wp-image-879" title="rt-vs-click" src="http://www.barriblog.com/wp-content/uploads/2010/04/rt-vs-click1.jpg" alt="" width="606" height="373" /></a></p>
<p style="text-align: center;">Correlación entre el nº de <strong>clicks </strong>y los <strong>RTs</strong> entre los tweets que se han retransmitido <strong>cinco o más veces</strong>.</p>
<p style="text-align: center;">Para acceder a la visualización interactiva, pulsar en la imagen</p>
<p>Una de las preguntas que me hacía en el análisis del hashtag <strong>#manifiesto</strong> era si existía alguna correlación entre la <strong>retransmisión</strong> de una url y el número de <strong>clicks </strong>que recibía. He podido comprobarlo analizando los clicks de la urls acordadas por el servicio <a href="http://bit.ly/">bit.ly</a> usando el <a href="http://code.google.com/p/bitly-api/wiki/ApiDocumentation">API de bit.ly</a></p>
<p>En los datos recogidos hay valores muy extremos, siendo <strong>0,007 </strong>el índice de correlación lineal de la <strong>muestra total</strong>. Aparecen urls con miles de clicks que no se han retransmitido, mientras que otras muy retransmitidas no han llegado a cien clicks. Sin embargo, si se calcula la  correlación segregando la muestra en función del <strong>número de RTs</strong> el índice aumenta hasta el<strong> 0,41</strong> para las urls que han tenido<strong> 5 o más RTs </strong>(caso que ilustra la cabecera del post)<strong>. </strong>La siguiente imagen muestra el <strong>índice de correlación</strong> entre los <strong>clicks</strong> y los <strong>RTs</strong> en función de la <strong>muestra segregada</strong> por nº de RTs.</p>
<p><a href="http://www.barriblog.com/wp-content/uploads/2010/04/correlacion-rts-clicks.jpg"><img class="aligncenter size-full wp-image-873" title="correlacion-rts-clicks" src="http://www.barriblog.com/wp-content/uploads/2010/04/correlacion-rts-clicks.jpg" alt="" width="445" height="308" /></a></p>
<p><strong>No se puede concluir  nada concreto</strong> de estos datos y es preciso medir otros valores como el <strong>número de seguidores </strong>para intentar aproximarse  a una medida de la <strong>influencia</strong> del emisor del tweet. Para calcularla aún debo esperar un poco.</p>
<h3>Antecedentes</h3>
<p>Cuando analicé las<strong> <a href="http://www.barriblog.com/index.php/2010/04/14/blogs-vs-prensa-en-el-hashtag-manifiesto/">urls </a></strong><a href="http://www.barriblog.com/index.php/2010/04/14/blogs-vs-prensa-en-el-hashtag-manifiesto/">del los tweets del hashtag <strong>#manifiesto</strong></a>, descubrí  que las <strong>urls acortadas</strong> son una barrera para estudiar los enlaces que aparecen en los tweets. De una muestra de <strong>20.236 </strong>tweets que contenían links,  el <strong>82%</strong> estaban acortados. El coste en tiempo que supone expandir la url y la tasa de error dificultan obtener el enlace real. Para alargar una url se precisa <strong>un acceso http </strong>por lo que se dispara el tiempo de tratamiento, pasando a hablar de <strong>unidades de segundo</strong> <strong>por enlace</strong>.</p>
<p>Comentando con mi grupo de investigación esta limitación estuvimos buscando alternativas para solventar el problema, como paralelizar los accesos http o intentar interactuar con los servicios acortadores. Siendo <a href="http://bit.ly/">bit.ly</a> con un <strong>55,76%</strong>. el servicio más extendido parecía el candidato ideal para estudiar qué posibilidades ofrecía. <a href="http://twitter.com/nordez">@nordez,</a> rápidamente vio el <a href="http://code.google.com/p/bitly-api/wiki/ApiDocumentation">API de bit.ly</a> y me pasó el enlace.</p>
<p>Aunque mi intención era intentar mejorar el tiempo de expansión de los enlaces utilizando el API por su <strong>posibilidad de enviar peticiones de un grupo de urls</strong>, me llamó la atención una opción que permite obtener el <strong>número de clicks de un link dado</strong> y me distrajo del objetivo. La<strong> información</strong> que proporciona el <strong>API </strong>de los clicks está <strong>muy simplificada</strong>, tan solo se obtienen los clicks por usuario y los globales, mucho menos de los que suministra la<strong> interfaz web</strong> cuando <strong>a la url corta de bit.ly se le añade un + al final</strong>, pero supongo que se estarán reservando para opciones premium.</p>
<h3>Metodología<a href="http://www.barriblog.com/wp-content/uploads/2010/04/bitly.jpg"><img class="aligncenter size-full wp-image-854" title="bitly" src="http://www.barriblog.com/wp-content/uploads/2010/04/bitly.jpg" alt="" width="620" height="245" /></a></h3>
<p>He probado el <a href="http://code.google.com/p/bitly-api/wiki/ApiDocumentation">API de bit.ly</a> con la librería <a href="http://code.google.com/p/python-bitly/">Python-bitly</a> de  <a href="http://code.google.com/u/yoav.aviram/">yoav.aviram</a> para analizar los clicks de las urls acortadas con bit.ly. Procesar <strong>4.331</strong> urls ha llevado <strong>78m 50.546s</strong>. aproximadamente <strong>1,09</strong> segundos por url y se han producido<strong> 37</strong> errores (0,85%).  De los datos obtenidos se han eliminado las urls que se han <strong>comprimido anónimamente</strong> porque no aparece su número de clicks, quedando en <strong>3.636</strong> urls. Todos lo datos obtenidos están disponibles en este <a href="https://spreadsheets.google.com/ccc?key=0AvqG-02OdbLbdFU1SEFIMjV6YmNqeFVEeEVORUd4M0E&amp;hl=en">dataset</a>.</p>
<p><strong>Enlaces relacionados</strong>:</p>
<ul>
<li><a rel="bookmark" href="../index.php/2010/04/14/blogs-vs-prensa-en-el-hashtag-manifiesto/">Blogs vs. Prensa en el hashtag #manifiesto</a></li>
<li><a rel="bookmark" href="../index.php/2010/04/05/analizando-el-tag-manifiesto/">Analizando el hashtag #manifiesto</a></li>
<li><a href="http://www.barriblog.com/wiki/index.php/Resultados_manifiesto">Resultados del estudio del hashtag #manifiesto</a> (versión wiki)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.barriblog.com/index.php/2010/04/26/rts-vs-clicks/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Explorando el camino del XHTML</title>
		<link>http://www.barriblog.com/index.php/2009/07/17/explorando-el-camino-del-xhtml/</link>
		<comments>http://www.barriblog.com/index.php/2009/07/17/explorando-el-camino-del-xhtml/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 10:22:37 +0000</pubDate>
		<dc:creator>M.Luz Congosto</dc:creator>
				<category><![CDATA[Entorno de desarrollo]]></category>
		<category><![CDATA[arquitectura]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[html2xhtml]]></category>
		<category><![CDATA[tidy]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://www.barriblog.com/?p=250</guid>
		<description><![CDATA[Los errores sintácticos han sido uno de los problemas que me he encontrado al analizar el código HTML de los blogs con el programa  Lestat, como ya  escribí  hace tiempo en el post titulado  El diablo cojuelo.  Hace unas semanas  Norberto Fernández,  profesor de mi Departamento  me sugirió  que convirtiese el HTML de los blogs]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-254" title="xhtml_logo_medium" src="http://www.barriblog.com/wp-content/uploads/2009/07/xhtml_logo_medium.png" alt="xhtml_logo_medium" width="200" height="180" /></p>
<p>Los errores sintácticos han sido uno de los problemas que me he encontrado al analizar el código <a href="http://en.wikipedia.org/wiki/HTML">HTML</a> de los blogs con el programa  <strong>Lestat</strong>, como ya  escribí  hace tiempo en el post titulado  <a href="../index.php/2008/01/11/el-diablo-cojuelo/">El diablo cojuelo</a>.  Hace unas semanas  <a href="http://www.it.uc3m.es/~berto/es.html">Norberto Fernández</a>,  profesor de mi Departamento  me sugirió  que convirtiese el HTML de los blogs a <a href="http://en.wikipedia.org/wiki/XHTML">XHTML</a> y me indicó dos herramientas para hacerlo: <strong><a href="http://tidy.sourceforge.net/">tidy</a></strong> y <strong><a href="http://www.it.uc3m.es/jaf/html2xhtml/">html2xhtml</a></strong>.</p>
<p>Estas herramientas son capaces de convertir <strong>HTML</strong> en <strong>XHTML</strong>, ordenando, limpiando y corrigiendo los errores de markup.  Las ventajas de trabajar con <strong>XHTML</strong> son múltiples:  es un lenguaje de marcas bien estructurado, permite de recorrer el documento  con <a href="http://en.wikipedia.org/wiki/XPath">XPATH</a> o con <a href="http://en.wikipedia.org/wiki/XSL_Transformations">XSLT</a>.</p>
<p>La herramienta <strong><a href="http://tidy.sourceforge.net/">tidy</a></strong>, disponible en <a href="http://en.wikipedia.org/wiki/C_(programming_language)">lenguaje c</a> y <a href="http://en.wikipedia.org/wiki/Java_%28programming_language%29">java</a>, fue desarrollada por <a href="http://www.w3.org/People/Raggett/">Dave Raggett </a>y como dice su autor:</p>
<blockquote><p><em>Is an open source utility for tidying up HTML. Tidy is composed from an HTML parser and an HTML pretty printer. The parser goes to considerable lengths to correct common markup errors. It also provides advice on how to make your pages more accessible to people with disabilities, and can be used to convert HTML content into XML as XHTML. Tidy is W3C open source and available free. It has been successfully compiled on a large number of platforms, and is being integrated into many HTML authoring tools. Recently the maintenance of Tidy has been taken over by a group of dedicated volunteers on SourceForge</em></p></blockquote>
<p>La herramienta   <strong><a href="http://www.it.uc3m.es/jaf/html2xhtml/">html2xhtml</a></strong> se ofrece como servicio web y su código fuente está  disponible en <a href="http://en.wikipedia.org/wiki/C_(programming_language)">lenguaje c</a> que funciona tanto en plataformas <a href="http://en.wikipedia.org/wiki/GNU/Linux">GNU/Linux</a> como Windows, aunque en su versión compilada sólo se ofrece para Windows, siendo necesario en otras plataformas compilarlo a partir de su código fuente.  Ha sido desarrollada por <a href="http://www.it.uc3m.es/jaf/index.html">Jesús Arias Fisteus</a>, profesor de la <a href="http://www.uc3m.es/">Universidad Carlos III</a> y como dice su autor:</p>
<blockquote><p><em>Is an open-source converter from HTML to XHTML. it converts HTML files into XHTML. It can fix many common errors in HTML files (e.g. missing end tags, elements with incorrect content model, non-standard elements or attributes, etc.) The output document type can be selected among several XHTML DTDs (1.0, 1.1, Basic, etc.).</em></p></blockquote>
<p>He realizado una prueba  de estas dos herramientas <strong>sobre 100 blogs</strong> de la tesis de <a href="http://tiscar.com/">Tíscar Lara</a></p>
<table style="border: medium none; border-collapse: collapse;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr style="page-break-inside: avoid;">
<td style="border: 1pt solid windowtext; padding: 0cm 5.4pt; background: #ffff99 none repeat scroll 0% 0%; width: 400.2pt;" width="400" valign="top">Escenario de la prueba:</p>
<ul>
<li> Entorno de ejecución <strong><a href="http://www.cygwin.com/">cygwin</a></strong> bajo Windows</li>
<li> Versión de <strong>tidy</strong> 25 de marzo de 2009</li>
<li> Invocación tidy -asxhtml -numeric &lt; origen.html &gt; destino.xhtml</li>
<li> versión de <strong>html2xhtml</strong> 7 de julio de 2009</li>
<li> Invocación html2xhtml origen.html -o destino.xhtml</li>
<li> Los tiempos de ejecución están medidos realizando la <strong>conversión desde fichero</strong>.</li>
</ul>
<p>Estos han sido los resultados:</p>
<p>La herramienta <strong>tidy</strong> ha podido convertir <strong>88 de los 100</strong> blogs analizados(1) mientras que la herramienta <strong>html2xhtml</strong> ha conseguido   convertir <strong>99 sobre 100 blogs</strong>.  Las herramientas muestran un buen   comportamiento, sobre todo <strong>html2xhtml</strong>, dado que  los errores de sintaxis del   código HTML de los blogs son muy frecuentes.    Esto abre la posibilidad de poder analizar el contenido de los blogs   por otros medios a demás de los clásicos <a href="http://en.wikipedia.org/wiki/Parsing">parsers</a>. Respecto al tiempo de ejecución la herramienta <strong>html2xhtml</strong> ha utilizado<strong> 0 min  48 seg</strong>(2)  mientras que <strong>tidy</strong> ha tardado <strong>3 min 6.629 seg</strong>(3).</td>
</tr>
</tbody>
</table>
<p>Después de esta prueba  se me abren nuevos caminos para continuar el desarrollo de <strong>lestat</strong>. Pero como decía <a href="http://en.wikipedia.org/wiki/Scarlett_O%27Hara">Scarlett O’Hara</a>, &#8220;eso lo pensaré mañana&#8221;.</p>
<p>&#8212;&#8212;&#8211;</p>
<div>(1) Utilizando algunas opciones en <strong>tidy</strong> es posible mejorar este porcentaje, pero para realizar la comparación de herramientas se ha invocado el comando de la manera más elemental</div>
<div>(1)  <strong>html2xhtml</strong> real 0 min  48 seg, user, 0 min 16 seg, sys 0 min 10,685 seg<br />
(2) <strong>tidy</strong> real 3 min 6,629 seg, user 0 min 36,049 seg,  sys 0 min 59,186 seg</div>
]]></content:encoded>
			<wfw:commentRss>http://www.barriblog.com/index.php/2009/07/17/explorando-el-camino-del-xhtml/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Despertando a Lestat</title>
		<link>http://www.barriblog.com/index.php/2009/05/27/despertando-a-lestat/</link>
		<comments>http://www.barriblog.com/index.php/2009/05/27/despertando-a-lestat/#comments</comments>
		<pubDate>Wed, 27 May 2009 11:31:39 +0000</pubDate>
		<dc:creator>M.Luz Congosto</dc:creator>
				<category><![CDATA[Entorno de desarrollo]]></category>
		<category><![CDATA[bison]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[GNU]]></category>
		<category><![CDATA[lestat]]></category>

		<guid isPermaLink="false">http://www.barriblog.com/?p=185</guid>
		<description><![CDATA[He despertado a  Lestat para ampliar y mejorar sus funciones. Es una dura tarea retomar un programa que se ha dejado reposar demasiado tiempo. Con paciencia y perseverancia estoy intentando  volver a entenderlo como el día que lo  dejé aunque esto tiene su precio. Una de las facturas que me ha pasado Lestat por este]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-201" title="bug-lestat-config1" src="http://www.barriblog.com/wp-content/uploads/2009/05/bug-lestat-config1.jpg" alt="bug-lestat-config1" width="450" /></p>
<p>He despertado a  <a href="http://www.barriblog.com/index.php/2007/07/22/la-importancia-de-llamarse-ernesto/">Lestat </a>para ampliar y mejorar sus funciones. Es una dura tarea retomar un programa que se ha dejado reposar demasiado tiempo. Con paciencia y perseverancia estoy intentando  volver a entenderlo como el día que lo  dejé aunque esto tiene su precio.</p>
<p>Una de las facturas que me ha pasado <strong>Lestat</strong> por este abandono ha sido un <em>bug</em> que me ha costado un poco encontrarlo. Estoy falta de reflejos pero en mi favor tengo que decir que el <em>bug </em>tenía  un sentido del humor muy sutil. Aquí lo cuento para que juzgue el lector:</p>
<p>Una de las funciones que le he añadido a <strong>Lestat </strong>es un fichero de configuración para darle más flexibilidad en la ejecución. Para ello he definido una gramática que permita describir la configuración y la he analizado con<a href="http://es.wikipedia.org/wiki/Herramienta_de_programaci%C3%B3n_lex"> lex</a>/<a href="http://es.wikipedia.org/wiki/GNU_Bison">bison</a>.  Además de la  definición del léxico de la gramática puse una expresión regular para descartar caracteres en blanco, tabulaciones y saltos de línea de esta manera <code> [\ \t\n]*</code> y un <em>default </em>para gestionar errores léxicos  que ejecutaba lo siguiente:</p>
<p><code>fprintf(stderr,  "Error lexico en linea %d. Mira a ver si \'%s\' es el culpable.\n",  yylineno, yytext);<br />
fprintf(stderr,"Lestat le desea mejor suerte la proxima vez \n");</code></p>
<p>Al ejecutar el analizador del fichero de configuración obtenía un resultado incomprensible:</p>
<p><code>' es el culpable.inea 1. Mira a ver si '<br />
Lestat le desea mejor suerte la próxima vez</code></p>
<p>Primero sospeché que la función <strong>fprintf </strong>tenía un error en los parámetros y que el stack estaba corrupto. Lo miré con tanta fijeza como incredulidad.  Tras muchas trazas y muchas vueltas encontré la explicación:</p>
<p>El fichero de configuración lo había escrito en Windows por lo que el  salto de línea era <a href="http://es.wikipedia.org/wiki/CRLF">&lt;CR&gt;&lt;LF&gt;</a> (\r\n) en vez de carácter  de salto  de línea &lt;LF&gt; (\n) que utiliza unix. El análisis léxico detectaba el carácter  &lt;CR&gt;  como error léxico y se ejecutaba la sentencia:</p>
<p><code>fprintf(stderr,  "Error lexico en linea %d. Mira a ver si \'%s\' es el culpable.\n",  yylineno, yytext);</code></p>
<p>yytext contenía un &lt;CR&gt; que hacía que cuando se había escrito</p>
<p><code>Error lexico en linea 1. Mira a ver si '</code></p>
<p>Se volviera al inicio de la línea para escribir lo restante:</p>
<p><code> es el culpable.inea 1. Mira a ver si’</code></p>
<p>La solución al problema era tan sencilla como poner la expresión regular <code>[\ \t\r\n]*</code> para filtrar blancos, tabulaciones y salto de línea.</p>
<p>Estas son las cosas que pasan en la programación y que nos hacen perder mucho tiempo</p>
]]></content:encoded>
			<wfw:commentRss>http://www.barriblog.com/index.php/2009/05/27/despertando-a-lestat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Llámalo por su nombre: GNU/linux</title>
		<link>http://www.barriblog.com/index.php/2009/03/06/llamalo-por-su-nombre-gnulinux/</link>
		<comments>http://www.barriblog.com/index.php/2009/03/06/llamalo-por-su-nombre-gnulinux/#comments</comments>
		<pubDate>Fri, 06 Mar 2009 17:26:00 +0000</pubDate>
		<dc:creator>M.Luz Congosto</dc:creator>
				<category><![CDATA[Charlas]]></category>
		<category><![CDATA[Entorno de desarrollo]]></category>

		<guid isPermaLink="false">http://www.barriblog.com/index.php/2009/03/06/llamalo-por-su-nombre-gnulinux/</guid>
		<description><![CDATA[El pasado miércoles asistí a una conferencia de Richard Stallman en el Medialab Prado. En un estupendo español, sin ppt que le amparase nos mostró sus ideas  en un discurso estructurado y coherente. Habló de las cuatro libertades, de  cómo surgió GNU,  el impacto de linux en GNU, el conflicto de ideas entre en proyecto]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.barriblog.com/wp-content/uploads/2009/03/img00372.jpg" title="img00372.jpg"></a></p>
<p style="text-align: center"><a href="http://www.barriblog.com/wp-content/uploads/2009/03/img00372.jpg" title="img00372.jpg"><img src="http://www.barriblog.com/wp-content/uploads/2009/03/img00372.jpg" title="img00372.jpg" alt="img00372.jpg" width="350" /></a></p>
<p>El pasado miércoles asistí a una conferencia de <a href="http://es.wikipedia.org/wiki/Richard_Stallman">Richard Stallman</a> en el <a href="http://medialab-prado.es/">Medialab Prado</a>. En un estupendo español, sin ppt que le amparase nos mostró sus ideas  en un discurso estructurado y coherente.</p>
<p>Habló de <a href="http://es.wikipedia.org/wiki/C%C3%B3digo_libre">las cuatro libertades</a>, de  cómo surgió <a href="http://es.wikipedia.org/wiki/GNU">GNU</a>,  el impacto de <a href="http://es.wikipedia.org/wiki/Linux">linux</a> en GNU, el conflicto de ideas entre en proyecto GNU y <a href="http://es.wikipedia.org/wiki/Linus_Torvalds">Linus Torvalds</a>,  la importancia de difundir en termino <strong>GNU/linux</strong> y la conveniencia de que en la Administración Pública y en  la educación solo se utilice software libre.</p>
<p>Como una pequeña contribución me hago eco de la  difusión del término <strong>GNU-linux</strong> desde este blog. Al hablar de distribuciones de Software libre se menciona mayoritariamente el nombre de <strong>linux</strong> sin ninguna referencia a <strong>GNU</strong>. <strong>Linux</strong> es el núcleo, una parte muy importante, pero no es el todo. Las distribuciones incluyen<strong> linux</strong> con los componentes <strong>GNU</strong>. Al no mencionarlo no se reconoce la autoría, el esfuerzo ni los ideales de este proyecto. De ahí la importancia de llamarlo <strong>GNU/linux.</strong></p>
<p>Se puede constatar el uso del término buscando en Google por &#8220;<strong>linux</strong>&#8221; o por   &#8220;<strong>GNU/linux</strong>&#8220;. En el primer caso  proporciona 456.000.000 resultados mientras que en el segundo ofrece 21.300.000  resultados, cantidad sensiblemente inferior.</p>
<p>Para ver el uso reciente del término &#8220;<strong>GNU/linux</strong>&#8221; frente a &#8220;<strong>linux</strong>&#8220;  nada mejor que buscar en las conversaciones de <strong>Twitter</strong>. Las visualizaciones que aparecen a continuación están realizadas con la herramienta   <a href="http://www.neoformix.com/Projects/TwitterStreamGraphs/view.php">TwitterStreamGraphs</a> que visualiza en una línea temporal los últimos doscientos posts del <em>topic </em>elegido. Si se pulsa en las imágenes se verán  en su tamaño real.</p>
<p><em>Topic </em><strong><em> </em>GNU/linux</strong>, velocidad <strong>100 tweets/día</strong>. Unos de los <em>topics</em> asociados que sobresale es <strong>linux</strong></p>
<p><a href="http://www.barriblog.com/wp-content/uploads/2009/03/twitter-gnu-linux.jpg" title="twitter-gnu-linux.jpg"><img src="http://www.barriblog.com/wp-content/uploads/2009/03/twitter-gnu-linux.jpg" title="twitter-gnu-linux.jpg" alt="twitter-gnu-linux.jpg" width="450" /></a></p>
<p><em>Topic</em><strong> GNU</strong>: se parece como dos gotas de agua al <em>topic  </em>GNU/linux</p>
<p><a href="http://www.barriblog.com/wp-content/uploads/2009/03/twitter-gnu.jpg" title="twitter-gnu.jpg"><img src="http://www.barriblog.com/wp-content/uploads/2009/03/twitter-gnu.jpg" title="twitter-gnu.jpg" alt="twitter-gnu.jpg" width="450" /></a></p>
<p><em>Topic</em><strong> linux</strong>: velocidad <strong>100 tweets/hora</strong>. Tiene asociado testimonialmente el <em>topic</em> GNU</p>
<p><a href="http://www.barriblog.com/wp-content/uploads/2009/03/twitter-linux.jpg" title="twitter-linux.jpg"><img src="http://www.barriblog.com/wp-content/uploads/2009/03/twitter-linux.jpg" title="twitter-linux.jpg" alt="twitter-linux.jpg" width="450" /></a></p>
<p>Finalmente, desde aquí mi agradecimiento a <strong>Richard Stallman</strong> que entre sus muchas contribuciones al software libre se encuentra el hacer que <a href="http://www.gnu.org/software/bison/">Bison</a>, programa que utilizo para BarriBlog, sea compatible con <a href="http://es.wikipedia.org/wiki/Yacc">yacc</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.barriblog.com/index.php/2009/03/06/llamalo-por-su-nombre-gnulinux/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Como usar TouchGraph Navigator y no morir en el intento</title>
		<link>http://www.barriblog.com/index.php/2008/09/22/como-usar-touchgraph-navigator-y-no-morir-en-el-intento/</link>
		<comments>http://www.barriblog.com/index.php/2008/09/22/como-usar-touchgraph-navigator-y-no-morir-en-el-intento/#comments</comments>
		<pubDate>Mon, 22 Sep 2008 01:09:58 +0000</pubDate>
		<dc:creator>M.Luz Congosto</dc:creator>
				<category><![CDATA[Entorno de desarrollo]]></category>
		<category><![CDATA[Visualizaciones]]></category>

		<guid isPermaLink="false">http://www.barriblog.com/index.php/2008/09/22/como-usar-touchgraph-navigator-y-no-morir-en-el-intento/</guid>
		<description><![CDATA[Como comentaba en el post anterior llevo varias semanas lidiando con TouchGraph Navigator, la versión de pago de Google. Me ha recordado a los programas de Microsoft que son de pago, pero funcionan mal. Esta herramienta se ajusta al estilo minimalista de Google, por ese motivo los mensajes de error son tan transparentes que no]]></description>
			<content:encoded><![CDATA[<p> Como comentaba en el <a href="http://www.barriblog.com/index.php/2008/09/09/visualizando-con-touchgraph-free/">post anterior</a> llevo varias semanas lidiando con <strong><a href="http://www.touchgraph.com/navigator.html">TouchGraph Navigator</a></strong>, la versión de pago de <strong>Google</strong>. Me ha recordado a los programas de <strong>Microsoft</strong> que son de pago, pero funcionan mal. Esta herramienta se ajusta al estilo minimalista de <strong>Google</strong>, por ese motivo los mensajes de error son tan transparentes que no se ven. Esta estética no favorece nada a la depuración y hace perder mucho tiempo.</p>
<p>Para poder mostrar que <strong>la visualización no es algo complejo</strong> se utilizará el mismo método de explicación que en las herramientas <a href="http://www.barriblog.com/index.php/2008/07/09/visualizando-con-graphviz/">GraphViz</a> y <a href="http://www.barriblog.com/index.php/2008/08/15/visualizando-con-pajek-el-meme-de-enjut-mojamut/">Pajek</a>. mediante un procedimiento en tres pasos:</p>
<p><a href="http://www.barriblog.com/wp-content/uploads/2008/07/icon_no1.gif" title="icon_no1.gif"><img src="http://www.barriblog.com/wp-content/uploads/2008/07/icon_no1.gif" title="icon_no1.gif" alt="icon_no1.gif" align="left" /></a></p>
<p><strong>Preparar datos de origen</strong>: Los datos del meme recogidos en una <a href="http://barriblog.com/enjuta_mojamuta/xls/estadistica-150-visualizacion.xls">hoja de cálculo</a> se salvan en formato <a href="http://barriblog.com/enjuta_mojamuta/xls/estadistica-150-visualizacion.txt">texto separados por tabulaciones</a>.</p>
<p><a href="http://www.barriblog.com/wp-content/uploads/2008/07/icon_no2.gif" title="icon_no2.gif"><img src="http://www.barriblog.com/wp-content/uploads/2008/07/icon_no2.gif" title="icon_no2.gif" alt="icon_no2.gif" align="left" /></a> <strong>Transformar datos a formato .xml</strong>: Se aplica un filtro <strong><a href="http://es.wikipedia.org/wiki/AWK">awk</a></strong> al fichero de<strong> </strong>texto separado por tabulaciones y se genera un fichero  en formato <strong>xml</strong>.</p>
<p><a href="http://www.barriblog.com/wp-content/uploads/2008/07/icon_no3.gif" title="icon_no3.gif"><img src="http://www.barriblog.com/wp-content/uploads/2008/07/icon_no3.gif" title="icon_no3.gif" alt="icon_no3.gif" align="left" /></a><strong>Generar el gráfico</strong>: Se procesa el fichero <strong>.xml</strong> con el programa <strong><a href="http://www.touchgraph.com/navigator.html">TouchGraph Navigator</a></strong></p>
<p><img src="http://www.barriblog.com/wp-content/uploads/2008/07/flecha.jpg" alt="flecha.jpg" /></p>
<p>El resultado obtenido con <strong>TouchGraph </strong>se puede observar en estas tres imágenes estáticas. Corresponde a la agrupación de los blogs que han participado en el meme de <a href="http://seccionfemenina.blogspot.com/2008/05/informe-del-meme-de-enjut-mojamut.html">Enjut@ Mojamut@ </a>según: <strong>género</strong>, <strong>fecha de la participación</strong> y <strong>grado de influencia en la propagación</strong>. No ha sido posible publicar los resultados de una forma interactiva por razones que se explican más adelante.</p>
<p>Al pulsar en las imágenes aparecerán en su tamaño real.</p>
<table width="100%" align="center" bgcolor="#cccccc" border="0" cellpadding="4" cellspacing="1">
<tr>
<td bgcolor="#ffffff">
<p style="text-align: center"><a href="http://www.barriblog.com/wp-content/uploads/2008/09/touchgrapgnavigator_genero.png" title="touchgrapgnavigator_genero.png"><img src="http://www.barriblog.com/wp-content/uploads/2008/09/touchgrapgnavigator_genero.thumbnail.png" alt="touchgrapgnavigator_genero.png" /></a></p>
</td>
<td bgcolor="#ffffff"><strong>Agrupación por género: </strong>En el halo rosa se encuentran los blogs femeninos y en azul los masculinos</p>
<ul>
<li><a href="http://www.barriblog.com/enjuta_mojamuta/awk/memes_precedencias_touchgraph_navigator_genero.awk">Filtro <strong>awk</strong></a></li>
<li><a href="http://www.barriblog.com/enjuta_mojamuta/touchgraph_navigator/precedencia_navigator_genero.xml">fichero <strong>xml</strong> generado</a></li>
</ul>
<p><a href="http://www.barriblog.com/enjuta_mojamuta/comandos/comando_precedencias_touchgraph_navigator.txt">Comando para generar el fichero xml</a></td>
</tr>
<tr>
<td bgcolor="#ffffff"><a href="http://www.barriblog.com/wp-content/uploads/2008/09/touchgrapgnavigator_dia.png" title="touchgrapgnavigator_dia.png"><img src="http://www.barriblog.com/wp-content/uploads/2008/09/touchgrapgnavigator_dia.thumbnail.png" alt="touchgrapgnavigator_dia.png" /></a></td>
<td bgcolor="#ffffff"><strong>Agrupación en torno a la fecha de propagación</strong>: Los blogs aparecen agrupados por su coincidencia temporal en la propagación del meme.</p>
<ul>
<li><a href="http://www.barriblog.com/enjuta_mojamuta/awk/memes_precedencias_touchgraph_navigator_dia.awk">Filtro <strong>awk</strong></a></li>
<li><a href="http://www.barriblog.com/enjuta_mojamuta/touchgraph_navigator/precedencia_navigator_dia.xml">fichero <strong>xml</strong> generado</a></li>
</ul>
<p><a href="http://www.barriblog.com/enjuta_mojamuta/comandos/comando_precedencias_touchgraph_navigator.txt">Comando para generar el fichero xml</a></td>
</tr>
<tr>
<td bgcolor="#ffffff"><a href="http://www.barriblog.com/wp-content/uploads/2008/09/touchgrapgnavigator_propagacion.png" title="touchgrapgnavigator_propagacion.png"><img src="http://www.barriblog.com/wp-content/uploads/2008/09/touchgrapgnavigator_propagacion.thumbnail.png" alt="touchgrapgnavigator_propagacion.png" /></a></td>
<td bgcolor="#ffffff"><strong>Agrupación en relación en la influencia en la propagación del meme</strong>: Se han clasificado los blogs en cinco <strong>TIERs</strong> según el número total de memes de los que son origen, directa o indirectamente: <strong>TIER-5 50 o más de 50</strong>, <strong>TIER-4 entre 49 y 25</strong>, <strong>TIER-3 entre 24 y 10,</strong> TIER-2 entre 9 y 5, <strong>TIER-1 entre 4 y 1</strong>  y <strong>TIER 0</strong> los que no ha propagado el meme.</p>
<ul>
<li><a href="http://www.barriblog.com/enjuta_mojamuta/awk/memes_precedencias_touchgraph_navigator_propagacion.awk">Filtro <strong>awk</strong></a></li>
<li><a href="http://www.barriblog.com/enjuta_mojamuta/touchgraph_navigator/precedencia_navigator_propagacion.xml">fichero <strong>xml</strong> generado</a></li>
</ul>
<p><a href="http://www.barriblog.com/enjuta_mojamuta/comandos/comando_precedencias_touchgraph_navigator.txt">Comando para generar el fichero xml</a></td>
</tr>
</table>
<p><strong>Entorno de ejecución</strong>:</p>
<table width="100%" align="center" bgcolor="#cccccc" border="0" cellpadding="4" cellspacing="1">
<tr>
<td bgcolor="#ffffff">Local</td>
<td bgcolor="#ffffff">Es necesario bajarse el  <a href="http://gnuwin32.sourceforge.net/packages/gawk.htm">awk para Windows</a>, tener instalada la maquina java y descargarse <strong><a href="http://www.touchgraph.com/navigator.html">TouchGraph Navigator</a></strong></td>
</tr>
<tr>
<td bgcolor="#ffffff">Servidor</td>
<td bgcolor="#ffffff">No apto para una doctoranda sin recursos.<a href="http://www.graphviz.org/Download_windows.php"></a></td>
</tr>
</table>
<p><strong>TouchGraph Navigator </strong>aporta las siguientes mejoras sobre la versión liberada:</p>
<ul>
<li> Permite capturar los datos desde una hoja de cálculo<strong> Excel</strong> además de la opción del fichero <strong>XML</strong>. Esto facilita la captura de datos desde herramientas ofimáticas y no precisa una transformación de los datos a un formato <strong>XML</strong>.</li>
<li>Amplía las posibilidades de visualización y mejora la estética.</li>
</ul>
<p>Cuando empecé a utilizar la herramienta me pareció sencilla hasta que intenté visualizar “<strong>El meme de enjut@ Mojamut@</strong>”. Me llevó una semana descubrir que el tamaño si importa. Para que me funcionara tuve que acortar el número de nodos a 135 (elegí los blogs con una fecha más temprana de publicación del meme). Además, la interfaz <span style="font-weight: bold">Excel </span>producía resultados erróneos aunque afortunadamente la entrada de datos por <span style="font-weight: bold">xml</span> mostró mejor comportamiento.</p>
<p>El segundo tropiezo fue cuando intenté <span style="font-weight: bold">publicar en la web los resultados</span>. Me devolvía el error de que no tenía licencia y me invitaba a pasar por caja. Por este motivo los resultados mostrados de la evaluación de la herramienta son estáticos en vez de dinámicos, como a mi me habría gustado. Por supuesto en la página de descarga de la versión de evaluación no se indicaba las limitaciones de la herramienta en cuanto al tamaño del grafo ni las condiciones para la publicación de los resultados en la Web. Solo me queda pedir una licencia como <strong>betatester </strong>a los de <span style="font-weight: bold">TouchGraph Navigator</span> para poner a prueba su sensibilidad con los <strong>tesistas</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.barriblog.com/index.php/2008/09/22/como-usar-touchgraph-navigator-y-no-morir-en-el-intento/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Visualizando con TouchGraph free</title>
		<link>http://www.barriblog.com/index.php/2008/09/09/visualizando-con-touchgraph-free/</link>
		<comments>http://www.barriblog.com/index.php/2008/09/09/visualizando-con-touchgraph-free/#comments</comments>
		<pubDate>Tue, 09 Sep 2008 21:21:38 +0000</pubDate>
		<dc:creator>M.Luz Congosto</dc:creator>
				<category><![CDATA[Entorno de desarrollo]]></category>
		<category><![CDATA[Visualizaciones]]></category>

		<guid isPermaLink="false">http://www.barriblog.com/index.php/2008/09/09/visualizando-con-touchgraph-free/</guid>
		<description><![CDATA[Este post se lo dedico a Loretahur, a la que admiro en sus múltiples facetas y que en un plis-plas me ha solucionado el problema de alojamiento de la visualización en TouchGraph. Muchas gracias Lorena. TouchGraph es un programa escrito en java que permite visualizar y navegar interactivamente por redes de información interrelacionada. Existen dos]]></description>
			<content:encoded><![CDATA[<p><em>Este post se lo dedico a <strong><a href="http://blog.loretahur.net/">Loretahur</a></strong>, a la que admiro en sus múltiples facetas y que en un plis-plas me ha solucionado el problema de alojamiento de la visualización en <strong>TouchGraph</strong>. Muchas gracias <strong>Lorena</strong>.</em><br />
<strong><br />
TouchGraph</strong> es un programa escrito en <a href="http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_Java">java</a> que permite visualizar y navegar interactivamente por redes de información interrelacionada. Existen dos modalidades, una versión <a href="http://sourceforge.net/projects/touchgraph">liberada en sourceforge</a> y una <a href="http://www.touchgraph.com/navigator.html">versión de pago</a> propiedad de Google. He querido probar ambas versiones antes de publicar este post.</p>
<p>Aunque en la versión liberada la documentación es escasa, no me costó mucho hacerla funcionar. Sin embargo, <strong>TouchGraph Navigator</strong>, la versión de pago, ha resultado ser muy cansina. Durante dos semanas he intentado hacer que visualizase la propagación de <a href="http://seccionfemenina.blogspot.com/2008/03/el-meme-de-enjut-mojamut.html">El meme de Enjut@ Mojamut@</a> con resultados desconcertantes. Al final he llegado a la conclusión de que <strong>está limitado el numero de nodos de la red</strong>, no sé si en la versión de evaluación que me descargado o si el problema también existe en la versión de pago. Al menos he acotado el problema y he podido ver como funciona.</p>
<p>Por razones de extensión en este post se explicará como visualizar con la <strong>versión liberada de TouchGraph</strong> y dejaré para un segunda parte cómo usar <strong>TouchGraph Navigator</strong> y no morir en el intento.</p>
<p>Pulsando en la siguiente figura se accederá a la visualización de la propagación del meme de Enjut@ Mojamut@. <strong>Pido disculpas, pero solo funciona en <a href="http://www.mozilla-europe.org/es/firefox/">Firefox</a>.</strong><br />
<a href="http://timmy.deusto.es/barriblog/enjuta.html" title="touchgraph-free.jpg"></a></p>
<p style="text-align: center"><a href="http://timmy.deusto.es/barriblog/enjuta.html" target="_blank" title="touchgraph-free.jpg"><img src="http://www.barriblog.com/wp-content/uploads/2008/09/touchgraph-free.jpg" title="touchgraph-free.jpg" alt="touchgraph-free.jpg"  /></a></p>
<p><strong>Ayuda a la navegación</strong>:</p>
<p><strong>Situación inicial</strong>:</p>
<ol>
<li>Aparecen todos los nombres de los blogs agrupados. Situar el ratón encina de los nombres hasta que aparezca la palabra <strong>inicio</strong>.</li>
<li>Pulsar con el botón derecho del ratón y en el menú asociado seleccionar “Expand node”</li>
<li>Se desplegará la visualización.</li>
</ol>
<p><strong>Navegación:</strong></p>
<ul>
<li><strong>B</strong><strong>arra superior</strong>: Controla el zoom. Hacia la derecha aumenta y hacia la izquierda disminuye</li>
<li><strong>Barra inferior</strong>: Controla el scroll</li>
<li><strong>Cursor sobre el nodo</strong>: Aparece información sobre el blog</li>
<li><strong>Botón derecho del ratón</strong>: Permite, expandir, comprimir o seleccionar el nodo</li>
<li><strong>Botón izquierdo del ratón</strong>: Enlaza al blog seleccionado en ese momento.</li>
</ul>
<p><strong>Información de los nodos:</strong></p>
<ul>
<li><strong>Color</strong>: Los nodos morados son de blogueras y los rojos son de Blogueros</li>
<li><strong>Formas</strong>: El rectángulo con esquinas redondeadas representa a los blogs que han propagado el meme y el rectángulo  a los blogs que no lo han propagado.</li>
<li><strong>Tamaño de letra</strong>: Las letras de tamaño grande corresponden a los blogs que han propagado indirectamente más de 10 memes, las letras más pequeñas a los que no han propagado ningún meme y las letras de tamaño mediano al resto.</li>
<li><strong>Número asociado</strong>: indica que el nodo está comprimido y que se puede expandir en n conexiones</li>
</ul>
<p><strong>¿Cómo lo he hecho?</strong></p>
<p>Como ya es costumbre, para poder mostrar que la visualización no es algo complejo se utilizará el mismo método de explicación que en las herramientas <a href="http://www.barriblog.com/index.php/2008/07/09/visualizando-con-graphviz/">GraphViz</a> y <a href="http://www.barriblog.com/index.php/2008/08/15/visualizando-con-pajek-el-meme-de-enjut-mojamut/">Pajek</a>. mediante un procedimiento en tres pasos:</p>
<p><a href="http://www.barriblog.com/wp-content/uploads/2008/07/icon_no1.gif" title="icon_no1.gif"><img src="http://www.barriblog.com/wp-content/uploads/2008/07/icon_no1.gif" title="icon_no1.gif" alt="icon_no1.gif" align="left" /></a></p>
<p><strong>Preparar datos de origen</strong>: Los datos del meme recogidos en una <a href="http://barriblog.com/enjuta_mojamuta/xls/estadistica-150-visualizacion.xls">hoja de cálculo</a> se salvan en formato <a href="http://barriblog.com/enjuta_mojamuta/xls/estadistica-150-visualizacion.txt">texto separados por tabulaciones</a>.</p>
<p><a href="http://www.barriblog.com/wp-content/uploads/2008/07/icon_no2.gif" title="icon_no2.gif"><img src="http://www.barriblog.com/wp-content/uploads/2008/07/icon_no2.gif" title="icon_no2.gif" alt="icon_no2.gif" align="left" /></a> <strong>Transformar datos a formato .xml</strong>: Se aplica un filtro <strong><a href="http://es.wikipedia.org/wiki/AWK">awk</a></strong> al fichero de<strong> </strong>texto separado por tabulaciones y se genera un fichero  en formato <a href="http://es.wikipedia.org/wiki/XML"><strong>xml</strong></a>.</p>
<p><a href="http://www.barriblog.com/wp-content/uploads/2008/07/icon_no3.gif" title="icon_no3.gif"><img src="http://www.barriblog.com/wp-content/uploads/2008/07/icon_no3.gif" title="icon_no3.gif" alt="icon_no3.gif" align="left" /></a><strong>Generar el gráfico</strong>: Se procesa el fichero <strong>.xml</strong> con el programa <strong>TouchGraph</strong><br />
<img src="http://www.barriblog.com/wp-content/uploads/2008/07/flecha.jpg" alt="flecha.jpg" /></p>
<ul>
<li>Filtro <strong>awk</strong>: <a href="http://www.barriblog.com/enjuta_mojamuta/awk/memes_precedencias_touchgraph.awk">memes_precedencias_touchgraph.awk</a></li>
<li>fichero <strong>xml</strong> generado: <a href="http://www.barriblog.com/enjuta_mojamuta/touchgraph/precedencias.xml">precedencias.xml</a></li>
<li><a href="http://www.barriblog.com/enjuta_mojamuta/comandos/comando_precedencias_touchgraph.txt">Comando para generar el fichero .xml</a></li>
</ul>
<p><strong>Entorno de ejecución local:<br />
</strong></p>
<ul>
<li> Es necesario bajarse el  <a href="http://gnuwin32.sourceforge.net/packages/gawk.htm">awk para Windows</a>, tener instalada la maquina java y descargarse <a href="http://sourceforge.net/projects/touchgraph">Touchgraph libeado. </a></li>
</ul>
<p><strong>Entorno de ejecución en servidor con java</strong>:</p>
<ul>
<li>Subir a un directorio: BrowserLauncher.jar, nanoxml-2.1.1.jar, TGGraphLayout.jar, TGLinkBrowser.jar, <a href="http://www.barriblog.com/enjuta_mojamuta/touchgraph/enjuta.html">el fichero html para lanzar la visualización</a> y el <a href="http://www.barriblog.com/enjuta_mojamuta/touchgraph/precedencias.xml">fichero xml</a>.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.barriblog.com/index.php/2008/09/09/visualizando-con-touchgraph-free/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Matriz geodésica con Pajek</title>
		<link>http://www.barriblog.com/index.php/2008/08/21/matriz-geodesica-con-pajek/</link>
		<comments>http://www.barriblog.com/index.php/2008/08/21/matriz-geodesica-con-pajek/#comments</comments>
		<pubDate>Thu, 21 Aug 2008 20:50:13 +0000</pubDate>
		<dc:creator>M.Luz Congosto</dc:creator>
				<category><![CDATA[Entorno de desarrollo]]></category>
		<category><![CDATA[Visualizaciones]]></category>

		<guid isPermaLink="false">http://www.barriblog.com/index.php/2008/08/21/matriz-geodesica-con-pajek/</guid>
		<description><![CDATA[Como comentaba en el post anterior, Pajek es más que un visualizador de grafos, es un programa de análisis de redes que nos permite descubrir características de los nodos de la red. Una de las funcionalidades que ofrece Pajek es el cálculo de la matriz geodésica. Esta matriz contiene todos los posibles caminos de distancia]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.barriblog.com/wp-content/uploads/2008/08/enjuta-geodesic-450.jpg" title="enjuta-geodesic-450.jpg"></a></p>
<p style="text-align: center"><a href="http://www.barriblog.com/enjuta_mojamuta/SVG/enjuta_geodesic.htm" title="enjuta-geodesic-450.jpg"><img src="http://www.barriblog.com/wp-content/uploads/2008/08/enjuta-geodesic-450.jpg" alt="enjuta-geodesic-450.jpg" /></a></p>
<p>Como comentaba en el <a href="http://www.barriblog.com/index.php/2008/08/15/visualizando-con-pajek-el-meme-de-enjut-mojamut/">post anterior</a>, <strong>Pajek </strong>es más que un visualizador de grafos, es un programa de análisis de redes que nos permite descubrir características de los nodos de la red.</p>
<p>Una de las funcionalidades que ofrece <strong>Pajek</strong> es el cálculo de la <strong>matriz geodésica</strong>. Esta matriz contiene todos los posibles caminos de <strong>distancia geodésica</strong> entre los nodos de la red.  La distancia geodésica es &#8220;<em>el número mínimo de pasos de un nodo a otro</em>&#8220;.</p>
<p>La figura que encabeza este post   (pulsando en la imagen se puede ver a tamaño real), visualiza la matriz geodésica que nos muestra la conectividad total entre todos los nodos y nos permite apreciar visualmente los nodos que  más  han favorecido  la propagación de <a href="http://seccionfemenina.blogspot.com/2008/03/el-meme-de-enjut-mojamut.html">El meme de Enjut@ Mojamut@</a>: <a href="http://seccionfemenina.blogspot.com/">Seccion Femenina</a>, <a href="http://colgadotel.blogspot.com/">Colgado de las telecomunicaciones</a>, <a href="http://artesaniaenred.blogspot.com/">Consultoria artesana en red</a>, <a href="http://carlos.garciaargos.com/">Carlos Garcia Argos</a> , <a href="http://bricklay.wordpress.com/">El albañil de Software</a>, <a href="http://barriblog.com/">BarriBlog</a>, <a href="http://carmepla.com.cat/">El bloc de Carmen Pla</a>, <a href="http://opcionweb.com/">Opcion Web</a>, <a href="http://gamoia.wordpress.com/">Gamoia</a>,<br />
<a href="http://pisitoenmadrid.com/">Pisito en Madrid</a>, <a href="http://carmenpuras.blogspot.com/">Diario de una profesional con niños</a>, <a href="http://tiscar.com/">Tiscar.com</a>, <a href="http://freakscity.blogspot.com/">Freak s city</a>, <a href="http://hecho-en-marbella.blogspot.com/">Hecho en Marbella</a> y <a href="http://eduardocollado.com/">Eduardo Collado.</a></p>
<p>Alguno de los que han participado en este meme los estoy siguiendo en Twitter, como <a href="http://twitter.com/tiscar">@tiscar</a>, <a href="http://twitter.com/fernand0">@fernand0</a>,<a href="http://twitter.com/carmepla">@carmepla</a>, <a href="http://twitter.com/petezin">@petezin</a>,<a href="http://twitter.com/chiqui">@chiqui</a>, <a href="http://twitter.com/amfumero">@amfumero</a>, <a href="http://twitter.com/davidbs">@davidbs</a>, <a href="http://twitter.com/julen">@julen</a>, <a href="http://twitter.com/pisitoenmadrid">@pisitoenmadrid</a>,<a href="http://twitter.com/ecollado">@ecollado</a>,<a href="http://twitter.com/ebrito">@ebrito</a>, <a href="http://twitter.com/emper">@emper</a>, <a href="http://twitter.com/labambola">@labambola</a>.</p>
<p>Es pequeñito el barrio y coincidimos en muchos sitios.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.barriblog.com/index.php/2008/08/21/matriz-geodesica-con-pajek/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Visualizando con Pajek el meme de Enjut@ Mojamut@</title>
		<link>http://www.barriblog.com/index.php/2008/08/15/visualizando-con-pajek-el-meme-de-enjut-mojamut/</link>
		<comments>http://www.barriblog.com/index.php/2008/08/15/visualizando-con-pajek-el-meme-de-enjut-mojamut/#comments</comments>
		<pubDate>Fri, 15 Aug 2008 14:56:32 +0000</pubDate>
		<dc:creator>M.Luz Congosto</dc:creator>
				<category><![CDATA[Entorno de desarrollo]]></category>
		<category><![CDATA[Visualizaciones]]></category>

		<guid isPermaLink="false">http://www.barriblog.com/index.php/2008/08/15/visualizando-con-pajek-el-meme-de-enjut-mojamut/</guid>
		<description><![CDATA[Este post documenta el uso de la herramienta Pajek para visualizar la propagación del meme de Enjut@ Mojamut@, por tanto continua a la saga: Exprimiendo el meme de Enjut@ Mojamut@, Juntos pero no revueltos y Visualizando con GraphViz el meme de Enjut@ Mojamut@. El proyecto Pajek, traducción del slovenio &#8216;Araña&#8217;, fue creado en 1996 por]]></description>
			<content:encoded><![CDATA[<p> <a href="http://www.barriblog.com/wp-content/uploads/2008/08/logo.png" title="logo.png"></a></p>
<p style="text-align: center"><a href="http://www.barriblog.com/wp-content/uploads/2008/08/logo.png" title="logo.png"><img src="http://www.barriblog.com/wp-content/uploads/2008/08/logo.png" alt="logo.png" /></a></p>
<p>Este post documenta el uso de la herramienta <strong><a href="http://pajek.imfm.si/doku.php">Pajek</a></strong> para visualizar la propagación del meme de Enjut@ Mojamut@, por tanto continua a la saga: <a href="http://www.barriblog.com/index.php/2008/06/24/exprimiendo-el-meme-de-enjut-mojamut/">Exprimiendo el meme de Enjut@ Mojamut@</a>,<a href="http://www.barriblog.com/index.php/2008/07/03/juntos-pero-no-revueltos/"> Juntos pero no revueltos</a> y <a href="http://www.barriblog.com/index.php/2008/07/09/visualizando-con-graphviz/">Visualizando con GraphViz el meme de Enjut@ Mojamut@</a>.</p>
<p>El proyecto <strong>Pajek</strong>, traducción del slovenio &#8216;Araña&#8217;, fue creado en 1996 por  <a href="https://www.fmf.uni-lj.si/si/imenik/2909/"><strong>Vladimir Batagelj</strong> </a>y <strong><a href="http://mrvar.fdv.uni-lj.si/">Andrej Mrvar</a></strong> de la Universidad de Ljubljana, Slovenia. El Software de <strong>Pajek</strong>  funciona bajo la plataforma de <strong>Windows</strong>    y es de libre distribución para uso no comerciales. Es una herramienta muy completa para los que estudian redes complejas, entre ellas las sociales. <a href="http://vlado.fmf.uni-lj.si/pub/networks/pajek/doc/pajekman.pdf">En este manual</a> se describen todas sus posibilidades. Entre sus funciones está la de visualizar grafos, cuyas posibilidades se explicarán a lo largo de este post.</p>
<p><strong>Pajek</strong> trabaja con un formato de entrada <strong>.net</strong>. No tiene definida la gramática formal, pero se se ajusta <a href="http://www.barriblog.com/enjuta_mojamuta/awk/lenguaje_net_BNC.txt">a  esta notación BNF</a>.</p>
<p>Para poder mostrar que <strong>la visualización no es algo complejo</strong> se utilizará el mismo método de explicación que en la herramienta <strong>GraphViz</strong>. mediante un procedimiento en tres pasos:</p>
<p><a href="http://www.barriblog.com/wp-content/uploads/2008/07/icon_no1.gif" title="icon_no1.gif"><img src="http://www.barriblog.com/wp-content/uploads/2008/07/icon_no1.gif" title="icon_no1.gif" alt="icon_no1.gif" align="left" /></a></p>
<p><strong>Preparar datos de origen</strong>: Los datos del meme recogidos en una <a href="http://barriblog.com/enjuta_mojamuta/xls/estadistica-150-visualizacion.xls">hoja de cálculo</a> se salvan en formato <a href="http://barriblog.com/enjuta_mojamuta/xls/estadistica-150-visualizacion.txt">texto separados por tabulaciones</a>.</p>
<p><a href="http://www.barriblog.com/wp-content/uploads/2008/07/icon_no2.gif" title="icon_no2.gif"><img src="http://www.barriblog.com/wp-content/uploads/2008/07/icon_no2.gif" title="icon_no2.gif" alt="icon_no2.gif" align="left" /></a> <strong>Transformar datos a formato .net</strong>: Se aplica un filtro <strong><a href="http://es.wikipedia.org/wiki/AWK">awk</a></strong> al fichero de<strong> </strong>texto separado por tabulaciones y se genera un fichero  en formato <strong>net</strong>.</p>
<p><a href="http://www.barriblog.com/wp-content/uploads/2008/07/icon_no3.gif" title="icon_no3.gif"><img src="http://www.barriblog.com/wp-content/uploads/2008/07/icon_no3.gif" title="icon_no3.gif" alt="icon_no3.gif" align="left" /></a><strong>Generar el gráfico</strong>: Se procesa el fichero <strong>.net</strong> con el programa <strong>Pajek</strong></p>
<p><img src="http://www.barriblog.com/wp-content/uploads/2008/07/flecha.jpg" alt="flecha.jpg" /></p>
<p>Al pulsar en las imágenes aparecerán en su tamaño real.</p>
<table width="425" align="center" bgcolor="#cccccc" border="0" cellpadding="4" cellspacing="1">
<tr>
<td bgcolor="#ffffff">
<p style="text-align: center" align="center"><strong>Circular</strong></p>
</td>
<td bgcolor="#ffffff">
<p align="center"><strong><a href="http://www.csse.monash.edu.au/hons/se-projects/2006/Kieran.Simpson/output/html/node10.html">Kamada-Kawai</a></strong></p>
</td>
<td bgcolor="#ffffff">
<p style="text-align: center" align="center"><strong><a href="http://www.csse.monash.edu.au/hons/se-projects/2006/Kieran.Simpson/output/html/node10.html"> </a><a href="http://www.boost.org/doc/libs/1_35_0/libs/graph/doc/fruchterman_reingold.html"><strong>Fruchterman Reingold</strong></a> </strong></p>
</td>
</tr>
<tr>
<td bgcolor="#ffffff">
<p style="text-align: center"><a href="http://www.barriblog.com/enjuta_mojamuta/SVG/enjuta-circular.htm"><img src="http://www.barriblog.com/enjuta_mojamuta/SVG/enjuta-circular.jpg" width="140" border="0" /></a></p>
</td>
<td bgcolor="#ffffff">
<p style="text-align: center"><a href="http://www.barriblog.com/enjuta_mojamuta/SVG/enjuta-Kamada-Kawai.htm"><img src="http://www.barriblog.com/enjuta_mojamuta/SVG/Kamda-kawai.jpg" width="140" border="0" /></a></p>
</td>
<td bgcolor="#ffffff">
<p style="text-align: center"><a href="http://www.barriblog.com/enjuta_mojamuta/SVG/enjuta-Fruchterman%20Reingold.htm"><img src="http://www.barriblog.com/enjuta_mojamuta/SVG/enjuta-Fruchterman%20Reingold.jpg" width="140" border="0" /></a></p>
</td>
</tr>
</table>
<p>Se han realizado tres visualizaciones en <strong>2D</strong>, cada una con un layout distinto.  El filtro <strong>awk</strong> aplicado y el fichero <strong>.net </strong> generado  es el mismo para las los tres layouts:</p>
<ul>
<li>Filtro <strong>awk</strong>: <a href="http://barriblog.com/enjuta_mojamuta/awk/memes_precedencias_pajek.awk">memes_precedencias_pajek.awk</a></li>
<li>fichero <strong>net</strong> generado: <a href="http://barriblog.com/enjuta_mojamuta/net/precedencias.net">precedencias.net</a></li>
<li><a href="http://www.barriblog.com/enjuta_mojamuta/comandos/comando_precedencias_pajek.txt">Comando para generar el fichero .net</a></li>
</ul>
<p><strong>Entorno de ejecución es  Windows</strong></p>
<p><span style="font-weight: bold"></span></p>
<table width="100%" align="center" bgcolor="#cccccc" border="0" cellpadding="4" cellspacing="1">
<tr>
<td bgcolor="#ffffff">Es necesario bajarse el <a href="http://gnuwin32.sourceforge.net/packages/gawk.htm">awk para Windows</a> y el <a href="http://pajek.imfm.si/doku.php?id=download">Pajek </a></td>
</tr>
</table>
<p><strong> Pajek</strong> permite generar grafos en dos o tres dimensiones con distintos layouts y exportar a distintos formatos.</p>
<table width="100%" align="center" bgcolor="#cccccc" border="0" cellpadding="4" cellspacing="1">
<tr>
<td colspan="2" bgcolor="#aaaaff">
<p align="center"> <strong>Layout</strong></p>
</td>
</tr>
<tr>
<td colspan="2" bgcolor="#ffffff"><strong>Cicurlar</strong></p>
<ul>
<li> Posición de los vértices en círculo</li>
</ul>
<p><strong>Layout generado automáticamente</strong>.</p>
<ul>
<li><strong><a href="http://www.csse.monash.edu.au/hons/se-projects/2006/Kieran.Simpson/output/html/node10.html"> Kamada-Kawai</a> </strong>– algoritmo de generación automática en un plano</li>
<li><a href="http://www.boost.org/doc/libs/1_35_0/libs/graph/doc/fruchterman_reingold.html"><strong>Fruchterman Reingold</strong></a> – Algoritmo de generación automática en un plano o en el espacio (es más rápido que <strong><a href="http://www.csse.monash.edu.au/hons/se-projects/2006/Kieran.Simpson/output/html/node10.html"> Kamada-Kawai</a>)</strong></li>
</ul>
<p><strong> EigenValues</strong></p>
<p>Dibuja usando <a href="http://en.wikipedia.org/wiki/Eigenvector">eigenvalues/eigenvectors</a> (algoritmo de <a href="http://en.wikipedia.org/wiki/Lanczos_algorithm">Lanczos</a>).</td>
</tr>
<tr>
<td colspan="2" bgcolor="#aaaaff">
<p align="center"> <strong>Formatos de salida    </strong></p>
</td>
</tr>
<tr>
<td bgcolor="#ffffff"><strong>Imágenes en 2D</strong></p>
<ul>
<li><a href="http://es.wikipedia.org/wiki/PostScript_encapsulado">EPS/PS</a> – Se puede incluir en ficheros pdf</li>
<li><a href="http://es.wikipedia.org/wiki/.svg">SVG</a> – Scalable Vector Graphic. Puede ser incluido en un html como un objeto. El plugin se puede obtener de adobe.</li>
<li><a href="http://es.wikipedia.org/wiki/Bitmap">Bitmap</a> – (bmp) para incluir en hatml u otros documentos. Ocupa bastante</li>
</ul>
</td>
<td bgcolor="#ffffff"><strong>Imágenes en 3D</strong></p>
<ul>
<li><a href="http://en.wikipedia.org/wiki/X3D">X3D</a> – XML based 3D computer graphics, el sucesor dl formato VRML.</li>
<li><a href="http://kinemage.biochem.duke.edu/kinemage/kinlist.php">Kinemages</a> – precisa un visualizador</li>
<li><a href="http://en.wikipedia.org/wiki/VRML">VRML</a> – Virtual Reality format. Necesita visualizadores tal como  <a href="http://www.parallelgraphics.com/products/cortona/">Cortona</a>  or (older) <a href="http://www.desarrolloweb.com/articulos/341.php">Cosmo player</a></li>
<li><a href="http://cccbdb.nist.gov/mdlmol1.asp">MDL MOL</a> file – Necesita <a href="http://www.umass.edu/microbio/chime/getchime.htm">Chime plugin</a></li>
</ul>
</td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.barriblog.com/index.php/2008/08/15/visualizando-con-pajek-el-meme-de-enjut-mojamut/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Visualizando con Graphviz el meme de Enjut@ Mojamut@</title>
		<link>http://www.barriblog.com/index.php/2008/07/09/visualizando-con-graphviz/</link>
		<comments>http://www.barriblog.com/index.php/2008/07/09/visualizando-con-graphviz/#comments</comments>
		<pubDate>Wed, 09 Jul 2008 00:22:40 +0000</pubDate>
		<dc:creator>M.Luz Congosto</dc:creator>
				<category><![CDATA[Entorno de desarrollo]]></category>
		<category><![CDATA[Visualizaciones]]></category>

		<guid isPermaLink="false">http://www.barriblog.com/index.php/2008/07/09/visualizando-con-graphviz/</guid>
		<description><![CDATA[Este post es la continuación de la entrada &#8220;Juntos pero no revueltos&#8221; y aquí se publicarán algunas visualizaciones estáticas del meme de Enjut@ Mojamut@ y el proceso que he seguido para obtenerlas. El objetivo es mostrar que visualizar está al alcance de todos los que quieran ponerse a ello. El pasado mes de marzo en]]></description>
			<content:encoded><![CDATA[<p>Este post es la continuación de la entrada  &#8220;<a href="http://www.barriblog.com/index.php/2008/07/03/juntos-pero-no-revueltos/">Juntos pero no revueltos</a>&#8221; y aquí se publicarán algunas visualizaciones estáticas del meme de <a href="http://seccionfemenina.blogspot.com/2008/05/informe-del-meme-de-enjut-mojamut.html">Enjut@ Mojamut@</a> y el proceso que he seguido para obtenerlas. El objetivo es mostrar que <strong>visualizar está al alcance de todos los  que quieran ponerse a ello</strong>.</p>
<p>El pasado mes de marzo en un post titulado &#8220;<a href="http://www.barriblog.com/index.php/2008/03/02/graphviz/">Graphviz</a>&#8221;  se describió esta herramienta ilustrándola con varios  ejemplos de visualización realizados por <strong>Gustavo Romero</strong>,  estudiante de Telecomunicaciones en la Universidad Carlos III. Basándome en su experiencia (tuvo la amabilidad de pasarme sus fuentes) la he aplicado al meme de Enjut@ Mojamu@ haciendo algunos cambios en el tipo de herramienta de filtrado de datos. A continuación se describe el procedimiento en tres pasos:</p>
<p><a href="http://www.barriblog.com/wp-content/uploads/2008/07/icon_no1.gif" title="icon_no1.gif"><img src="http://www.barriblog.com/wp-content/uploads/2008/07/icon_no1.gif" title="icon_no1.gif" alt="icon_no1.gif" align="left" /></a></p>
<p><strong>Preparar datos de origen</strong>: Los datos del meme recogidos en una <a href="http://barriblog.com/enjuta_mojamuta/xls/estadistica-150-visualizacion.xls">hoja de cálculo</a> se salvan en formato <a href="http://barriblog.com/xls/enjuta_mojamuta%2fxls&amp;file=estadistica-150-visualizacion.txt">texto separados por tabulaciones</a>.</p>
<p><a href="http://www.barriblog.com/wp-content/uploads/2008/07/icon_no2.gif" title="icon_no2.gif"><img src="http://www.barriblog.com/wp-content/uploads/2008/07/icon_no2.gif" title="icon_no2.gif" alt="icon_no2.gif" align="left" /></a> <strong>Transformar datos a formato dot</strong>: Se aplica un filtro <strong><a href="http://es.wikipedia.org/wiki/AWK">awk</a></strong> al fichero de<strong> </strong>texto separado por tabulaciones y se genera un fichero  en formato <a href="http://en.wikipedia.org/wiki/DOT_language"><strong>dot</strong></a>.</p>
<p><a href="http://www.barriblog.com/wp-content/uploads/2008/07/icon_no3.gif" title="icon_no3.gif"><img src="http://www.barriblog.com/wp-content/uploads/2008/07/icon_no3.gif" title="icon_no3.gif" alt="icon_no3.gif" align="left" /></a><strong>Generar el gráfico</strong>: Se procesa el fichero <a href="http://en.wikipedia.org/wiki/DOT_language"><strong>dot</strong></a> con el programa  <a href="http://www.graphviz.org/"><strong>Graphviz.</strong></a></p>
<p><img src="http://www.barriblog.com/wp-content/uploads/2008/07/flecha.jpg" alt="flecha.jpg" /></p>
<p>Se han realizado tres visualizaciones que se presentan a continuación indicando el filtro <strong>awk</strong> aplicado, el fichero <strong>dot </strong>generado<strong> y el tipo de </strong> <strong>visualización</strong> elegida. En el post de <a href="http://www.barriblog.com/index.php/2008/03/02/graphviz/">Graphviz</a> se explican los tipos de visualización de esta herramienta.</p>
<p>Al pulsar en las imágenes aparecerán en su tamaño real.</p>
<table width="100%" align="center" bgcolor="#cccccc" border="0" cellpadding="4" cellspacing="1">
<tr>
<td bgcolor="#ffffff">
<p style="text-align: center"><a href="http://www.barriblog.com/wp-content/uploads/2008/07/precedencias.png" title="precedencias.png"><img src="http://www.barriblog.com/wp-content/uploads/2008/07/precedencias.png" alt="precedencias.png" width="140" /></a></p>
</td>
<td bgcolor="#ffffff"><strong>Grafo libre: </strong>Esta visualización corresponde al dibujo de la propagación del meme sin ninguna restricción.</p>
<ul>
<li>Filtro <strong>awk</strong>: <a href="http://barriblog.com/enjuta_mojamuta/awk/memes_precedencias.awk">memes_precedencias.awk</a></li>
<li>fichero <strong>dot</strong> generado: <a href="http://barriblog.com/enjuta_mojamuta/dot/precedencias.dot">precedencias.dot</a></li>
<li>Formato de <strong>salida</strong>: fdp (implementa el <a href="http://www.boost.org/libs/graph/doc/fruchterman_reingold.html">heurístico Fruchterman-Reingold</a>)</li>
</ul>
<p><a href="http://www.barriblog.com/enjuta_mojamuta/comandos/comando_precedencias.txt">Comando para generar el fichero dot</a></td>
</tr>
<tr>
<td bgcolor="#ffffff"><a href="http://www.barriblog.com/wp-content/uploads/2008/07/precedencias_nivel.png" title="precedencias-nivel-mini.jpg"><img src="http://www.barriblog.com/wp-content/uploads/2008/07/precedencias-nivel-mini.jpg" title="precedencias-nivel-mini.jpg" alt="precedencias-nivel-mini.jpg" width="140" /></a></td>
<td bgcolor="#ffffff"><strong>Grafo por nivel de propagación: </strong>esta visualización corresponde al dibujo de la propagación del meme en la que se ha forzado a que los nodos se sitúen en su nivel de propagación.</p>
<ul>
<li>Filtro <strong>awk</strong>: <a href="http://barriblog.com/enjuta_mojamuta/awk/memes_precedencias-nivel.awk">memes_precedencias_nivel.awk</a></li>
<li>fichero <strong>dot</strong> generado: <a href="http://barriblog.com/enjuta_mojamuta/dot/precedencias_nivel.dot">precedencias_nivel.dot</a></li>
<li>Formato de <strong>salida</strong>: dot</li>
</ul>
<p><a href="http://www.barriblog.com/enjuta_mojamuta/comandos/comando_precedencias_nivel.txt">Comando para generar el fichero dot</a></td>
</tr>
<tr>
<td bgcolor="#ffffff"><a href="http://www.barriblog.com/wp-content/uploads/2008/07/precedencias_tiempo.png" title="precedencias-tiempo-mini1.jpg"><img src="http://www.barriblog.com/wp-content/uploads/2008/07/precedencias-tiempo-mini1.jpg" title="precedencias-tiempo-mini1.jpg" alt="precedencias-tiempo-mini1.jpg" width="140" /></a></td>
<td bgcolor="#ffffff"><strong>Grafo por tiempo de propagación: </strong>esta visualización corresponde al dibujo de la propagación del meme en la que se ha forzado a que los nodos se sitúen en su día publicación.</p>
<ul>
<li>Filtro <strong>awk</strong>: <a href="http://barriblog.com/enjuta_mojamuta/awk/memes_precedencias-tiempo.awk">memes_precedencias_tiempo.awk</a></li>
<li>fichero <strong>dot</strong> generado: <a href="http://barriblog.com/enjuta_mojamuta/dot/precedencias_tiempo.dot">precedencias_tiempo.dot</a></li>
<li>Formato de <strong>salida</strong>: dot</li>
</ul>
<p><a href="http://www.barriblog.com/enjuta_mojamuta/comandos/comando_precedencias_tiempo.txt">Comando para generar el fichero dot</a></td>
</tr>
</table>
<p><strong>Entornos de ejecución</strong></p>
<table width="100%" align="center" bgcolor="#cccccc" border="0" cellpadding="4" cellspacing="1">
<tr>
<td bgcolor="#ffffff">Linux</td>
<td bgcolor="#ffffff">Utilizar el comando awk y bajarse el ejecutable para <a href="http://www.graphviz.org/Download_linux.php">Graphviz para linux</a>.</td>
</tr>
<tr>
<td bgcolor="#ffffff">Windows</td>
<td bgcolor="#ffffff">Bajarse el <a href="http://gnuwin32.sourceforge.net/packages/gawk.htm">awk para Windows</a> y el <a href="http://www.graphviz.org/Download_windows.php">Graphviz para Windows</a></td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.barriblog.com/index.php/2008/07/09/visualizando-con-graphviz/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>El diablo Cojuelo</title>
		<link>http://www.barriblog.com/index.php/2008/01/11/el-diablo-cojuelo/</link>
		<comments>http://www.barriblog.com/index.php/2008/01/11/el-diablo-cojuelo/#comments</comments>
		<pubDate>Fri, 11 Jan 2008 20:01:46 +0000</pubDate>
		<dc:creator>M.Luz Congosto</dc:creator>
				<category><![CDATA[Entorno de desarrollo]]></category>

		<guid isPermaLink="false">http://www.barriblog.com/index.php/2008/01/11/el-diablo-cojuelo/</guid>
		<description><![CDATA[Barriblog necesita analizar el código HTML de TODAS las páginas de los blogs para encontrar sus relaciones. Es la única manera de poder establecer los vínculos de vecindad salvo que alguien más astuto este guardando todos los rss de los blogs desde el inicio de la blogosfera. Estoy segura que esa información está en algún]]></description>
			<content:encoded><![CDATA[<p align="center"><a href="http://www.barriblog.com/wp-content/uploads/2008/01/el-diablo-cojuelo.jpg" title="el-diablo-cojuelo.jpg"><img src="http://www.barriblog.com/wp-content/uploads/2008/01/el-diablo-cojuelo.jpg" alt="el-diablo-cojuelo.jpg" /></a></p>
<p>Barriblog necesita analizar el código <a href="http://es.wikipedia.org/wiki/HTML">HTML</a> de TODAS las páginas de los blogs para encontrar sus relaciones. Es la única manera de poder establecer los vínculos de vecindad salvo que alguien más astuto este guardando todos los <a href="http://es.wikipedia.org/wiki/RSS">rss </a>de los blogs desde el inicio de la blogosfera. Estoy segura que esa información está en algún lugar pero no creo que me dieran un <a href="http://es.wikipedia.org/wiki/Application_Programming_Interface">API</a> para acceder a ella ni para una tesis doctoral. El único camino que queda es arremangarse y sacar la información desde fuera.</p>
<p>Llevo un mes dejándome las pestañas en esquivar todos los errores del código HTML de los blogs que estoy analizando. No es fácil  cumplir la <a href="http://www.w3c.es/">W3C</a>, prácticamente nadie la cumple, ni siquiera el código que generan las plataformas de blogs se ajustan al estándar. A esta dificultad hay que añadir la mano de los bloggers incrustando HTML a su libre albedrío, que he podido comprobar cuan diverso es: no cabría ni en la <a href="http://en.wikipedia.org/wiki/The_Long_Tail">long tail</a>.</p>
<p>Mi buen amigo<a href="http://lamusediffuse.com/"> Jesús Sánchez</a> conoce mi capacidad de esquivar los obstáculos en la programación. En el <a href="http://www.barriblog.com/index.php/2007/11/21/primera-semana-en-el-taller-de-visualizacion/">taller de visualización </a>quedó un poco escandalizado de los trucos de una experimentada softwarera. Toda esa capacidad la he desplegado para BarriBlog pero en este momento, tras gestionar siete  flags de contexto para sortear los fallos sintácticos,  he exclamado antes de incluir el octavo: ¡BASTA YA! En su lugar acabo de implementar una rutina de manejo de errores sintácticos: El código HTML que no cubran los siete flags lo desecho y me sincronizo con el siguiente TAG. Ya me duele tirar información pero todo tiene su límite y hoy lo he alcanzado</p>
<p>Me ha venido a la cabeza  el delicioso libro &#8220;<a href="http://www.cervantesvirtual.com/servlet/SirveObras/91371620210248617422202/p0000001.htm#I_6_">El diablo Cojuelo</a>&#8221; que leí en mi juventud mientras entraba en las tripas de los blogs para que <a href="http://en.wikipedia.org/wiki/Lestat_de_Lioncourt">Lestat</a>, el programa raíz de BarriBlog,  les succionara la información para estructurarla. Esto me ha permitido ver el interior de los blogs al margen de su fachada o fama.  Algo parecido lo que vio <strong>Don Cleofás</strong> cuando el <strong>Diablo Cojuelo</strong>, como pago de su a liberación, le mostró  los hogares de <strong>Madrid</strong>  por dentro y qué miserias esconden:<br />
<em><br />
</em><img src="http://www.barriblog.com/wp-content/uploads/2008/01/cita.jpg" alt="cita.jpg" /><em> Y levantando a los techos de los edificios, por arte diabólica, lo hojaldrado, se descubrió la carne del pastelón de Madrid como entonces estaba, patentemente, que por el mucho calor estivo estaba con menos celosías, y tanta variedad de sabandijas racionales en esta arca del mundo, que la del diluvio, comparada con ella, fue de capas y gorras.</em></p>
<p>He analizado los 100 blogs de la tesis de <a href="http://tiscar.com/">Tiscar </a>y de algunos de mis blogs favoritos. Sorprendería lo que he visto y dónde lo he visto, pero como mujer discreta que soy me reservo el secreto como si fuera de confesión y no daré nombres, pero es difícil que olvide a los blogs que me han hecho perder tanto tiempo.</p>
<p>También he descubierto algunas cosas del código HTML que genera <strong>Blogger</strong>, pero eso como <strong>Schehrazada </strong>lo dejaré para otro día</p>
<p>Aún me quedan unas cuantas fases de lestat pero por fin he cerrado el capítulo del adaptarme al medio de sintaxis difusas. Ahora, iré al grano.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.barriblog.com/index.php/2008/01/11/el-diablo-cojuelo/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Primera semana en el taller de visualización</title>
		<link>http://www.barriblog.com/index.php/2007/11/21/primera-semana-en-el-taller-de-visualizacion/</link>
		<comments>http://www.barriblog.com/index.php/2007/11/21/primera-semana-en-el-taller-de-visualizacion/#comments</comments>
		<pubDate>Wed, 21 Nov 2007 00:32:53 +0000</pubDate>
		<dc:creator>barriblo</dc:creator>
				<category><![CDATA[Charlas]]></category>
		<category><![CDATA[Entorno de desarrollo]]></category>
		<category><![CDATA[Visualizaciones]]></category>

		<guid isPermaLink="false">http://www.barriblog.com/index.php/2007/11/21/primera-semana-en-el-taller-de-visualizacion/</guid>
		<description><![CDATA[Después de una semana de inmersión visual estas son las conclusiones a las que hemos llegado el grupo de trabajo. Desde aquí le doy las gracias a las personas que están colaborando en el proyecto: Jesús Sánchez, Tiscar Lara, y Pilar Gonzalo, al equipo de Bestiario que nos han orientado visualmente y al director del]]></description>
			<content:encoded><![CDATA[<p> Después de una  semana de inmersión visual estas son  las conclusiones a las que hemos llegado el grupo de trabajo.</p>
<p><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=bitacora-primera-semana-1195602357737832-3&#038;stripped_title=bitacora-primera-semana" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=bitacora-primera-semana-1195602357737832-3&#038;stripped_title=bitacora-primera-semana" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></p>
<p>Desde aquí le doy las gracias  a las personas que están colaborando en el proyecto: <a href="http://www.lamusediffuse.com/">Jesús Sánchez</a>,  <a href="http://tiscar.com/">Tiscar Lara,</a>  y <a href="http://www.lamusediffuse.com/">Pilar Gonzalo</a>,  al equipo de <a href="http://www.bestiario.org/web/bestiario.php">Bestiario</a> que nos han orientado visualmente y al director del taller <a href="http://medialab-prado.es/person/joe_luis_de_vicente">Jose Luis de Vicente</a> y a todo el equipo de <a href="http://medialab-prado.es">MediaLab</a> por hacer esto posible.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.barriblog.com/index.php/2007/11/21/primera-semana-en-el-taller-de-visualizacion/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>El Hada madrina</title>
		<link>http://www.barriblog.com/index.php/2007/09/19/el-hada-madrina/</link>
		<comments>http://www.barriblog.com/index.php/2007/09/19/el-hada-madrina/#comments</comments>
		<pubDate>Tue, 18 Sep 2007 23:58:32 +0000</pubDate>
		<dc:creator>M.Luz Congosto</dc:creator>
				<category><![CDATA[Entorno de desarrollo]]></category>
		<category><![CDATA[Visualizaciones]]></category>

		<guid isPermaLink="false">http://www.barriblog.com/index.php/2007/09/19/el-hada-madrina/</guid>
		<description><![CDATA[Después de volver a la línea de comandos he oscilado por todos los posibles estados de ánimo positivos y negativos: entusiasmo, frustración, desesperación, esperanza, cansancio, tedio&#8230; Volver a teclear una aplicación desde cero, es algo que tenía olvidado en alguna parte de mi cerebro. Empecé con el entusiasmo propio de arrancar algo nuevo, me frustré]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.barriblog.com/wp-content/uploads/2007/09/cenicienta2.jpg" title="cenicienta2.jpg"></a></p>
<p style="text-align: center"><a href="http://www.barriblog.com/wp-content/uploads/2007/09/cenicienta2.jpg" title="cenicienta2.jpg"><img src="http://www.barriblog.com/wp-content/uploads/2007/09/cenicienta2.jpg" title="cenicienta" alt="cenicienta" width="450" /></a></p>
<p>Después de <a href="http://www.barriblog.com/index.php/2007/08/04/volver-volver-volver/">volver a la línea de comandos</a> he oscilado por todos los posibles estados de ánimo positivos y negativos: entusiasmo, frustración, desesperación, esperanza, cansancio, tedio&#8230;</p>
<p>Volver a teclear una aplicación desde cero, es algo que tenía olvidado en alguna parte de mi cerebro. Empecé con el entusiasmo propio de arrancar algo nuevo, me frustré hasta llegar a la desesperación. Empecé con el<span>  </span>problema de. NO ME COMPILA pasé al NO SE EJECUTA y de allí a algo peor NO SE EJECUTA COMO YO PIENSO. Vi la luz y con ello llegó la esperanza pero el trabajo se torno en repetitivo y tedioso y me costaba ponerme a teclear.</p>
<p>Mi hada madrina me toco con una varita mágica y encontré en <a href="http://tiscar.com/2007/09/10/congreso-y-taller-sobre-visualizacion-de-datos/">un post de Tíscar</a> esa ilusión que tanta falta me hacía:</p>
<blockquote><h4><a href="http://www.medialab-matadero.es/article/convocatoria_para_la_presentacion_de_comunicaciones_y_proyectos">Convocatoria para la presentación de comunicaciones y proyectos</a></h4>
<p>Se abre la convocatoria para la selección de trabajos teóricos que se presentarán en el <strong>simposio</strong> internacional<strong> Visualizar</strong>, así como para la selección de las propuestas que se llevarán a cabo durante el <strong>taller de producción</strong> dirigido por <a href="http://acg.media.mit.edu/people/fry/" target="_blank">Benjamin Fry</a>, <a href="http://www.bestiario.org/bestiario.php" target="_blank">Bestiario</a> y <a href="http://www.holovaty.com/" target="_blank">Adrian Holovaty</a>&#8230;..</p></blockquote>
<p>Me tendré que poner las pilas no sea que en un reloj den las 12:00 y se rompa el hechizo</p>
]]></content:encoded>
			<wfw:commentRss>http://www.barriblog.com/index.php/2007/09/19/el-hada-madrina/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Volver, volver, volver&#8230;.</title>
		<link>http://www.barriblog.com/index.php/2007/08/04/volver-volver-volver/</link>
		<comments>http://www.barriblog.com/index.php/2007/08/04/volver-volver-volver/#comments</comments>
		<pubDate>Sat, 04 Aug 2007 19:31:17 +0000</pubDate>
		<dc:creator>M.Luz Congosto</dc:creator>
				<category><![CDATA[Entorno de desarrollo]]></category>

		<guid isPermaLink="false">http://www.barriblog.com/index.php/2007/08/04/volver-volver-volver/</guid>
		<description><![CDATA[Después de algunas tentativas, esta semana me he instalado el entorno de desarrollo en mi portátil. Estoy utilizando cygwin que me da el mismo servicio que tener que instalado linux para desarrollar los programas de BarriBlog ¡He vuelto a la línea de comandos! cygwin es una librería que emula linux sobre windows y en un]]></description>
			<content:encoded><![CDATA[<p align="center"><img src="http://www.barriblog.com/wp-content/uploads/2007/08/macros-vi.jpg" title="macros-vi.jpg" alt="macros-vi.jpg" width="450" /></p>
<p>Después de algunas tentativas, esta semana me he instalado el entorno de desarrollo en mi portátil. Estoy utilizando <a href="http://www.cygwin.com/">cygwin</a> que me da el mismo servicio que tener que instalado linux para desarrollar los programas de BarriBlog ¡He vuelto a la línea de comandos!</p>
<p><a href="http://www.cygwin.com/">cygwin</a> es una librería que emula linux sobre windows y en un entorno like-linux. Lo que se desarrolla sobre <a href="http://www.cygwin.com/">cygwin</a> se puede ejecutar en un entorno linux compilando los fuentes. Los administradores de <a href="http://www.cygwin.com/">cygwin</a> también se encargan de estructurar el SW de <a href="http://es.wikipedia.org/wiki/GNU">GNU</a> en paquetes para que se realicen las instalaciones del entorno de desarrollo a medida. Me he instalado <a href="http://www.gnu.org/software/flex/">flex</a> (versión del lex del UNIX), <a href="http://www.gnu.org/software/bison/">bison</a> (adaptado por el mismísimo <a href="http://es.wikipedia.org/wiki/Richard_Stallman">Richard Stallman</a> para hacerlo compatible con yacc de UNIX), el compilador de c, el <a href="http://es.wikipedia.org/wiki/Make">make</a> y el editor <a href="http://es.wikipedia.org/wiki/Vim">vin</a> (versión mejorada del editor vi), más un conjunto básico de comandos.</p>
<p>He rescatado del fondo de armario unas macros para el editor &#8220;vi&#8221; que ponen cabeceras a los programas para documentarlos como Dios manda. El diseño original de estas cabeceras data del 1980, del primer proyecto en el que trabajé ¡Y aún están vigentes! La metodología SW que aprendí en mi primer trabajo ha ido conmigo por todos los proyectos mejorándose y automatizándose. Este proyecto no iba a ser menos.</p>
<p>Me he sorprendido después de tantos años pervertida por el entorno gráfico de Windows que la línea de comandos me sea tan cómoda. De forma automática voy recordando todo, incluso el editor &#8220;vi&#8221; que me costó muchísimo aprender porque  no es nada evidente y le tomé cierta tirria. Vean esta canción dedicada a editor <a href="http://www.gnu.org/fun/jokes/vi.song.html">vi.</a></p>
<p>Podría emular a  <a href="http://es.wikipedia.org/wiki/Fray_Luis_de_Le%C3%B3n"><strong>Fray Luis de León</strong></a> diciendo algo como: &#8220;Como tecleábamos ayer..&#8221; Pero me pude dar cuenta que el tiempo pasa cuando le conté con toda mi ilusión a un compañero que ya tenía el entorno de desarrollo de BarriBlog y me contestó:<br />
- ¡Estas loca! ¿Lo vas a programar tu? ¡Venga, mujer! <strong>¡Eso se subcontrata!</strong><br />
<strong> Porca miseria de los tiempos que corren</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.barriblog.com/index.php/2007/08/04/volver-volver-volver/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
