<?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>Arturo Hoffstadt &#187; Desarrollo de Software</title>
	<atom:link href="http://www.arturo.hoffstadt.cl/wp/category/desarrollo-de-software/feed" rel="self" type="application/rss+xml" />
	<link>http://www.arturo.hoffstadt.cl/wp</link>
	<description>La magia existe, solo debes buscar mejor.</description>
	<lastBuildDate>Fri, 04 Sep 2009 05:44:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Ohloh, que buen sitio!</title>
		<link>http://www.arturo.hoffstadt.cl/wp/2008/12/11/ohloh-que-buen-sitio</link>
		<comments>http://www.arturo.hoffstadt.cl/wp/2008/12/11/ohloh-que-buen-sitio#comments</comments>
		<pubDate>Fri, 12 Dec 2008 02:07:20 +0000</pubDate>
		<dc:creator>Arturo Hoffstadt</dc:creator>
				<category><![CDATA[Desarrollo de Software]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.arturo.hoffstadt.cl/wp/?p=122</guid>
		<description><![CDATA[Image by hongiiv via Flickr www.ohloh.net, es un indice de proyectos opensource. La gracia que tiene, es que más que ser un indice, es capaz de dar métricas basadas en el repositorio del proyecto, indicar aportes realizados, fortalezas y debilidades responde a análisis del código, entre otros. Ohloh, además da información sobre los desarrolladores, y [...]]]></description>
			<content:encoded><![CDATA[<div class="zemanta-img">
<div>
<dl class="wp-caption alignright" style="margin: 1em; float: right; display: block; width: 250px;">
<dt class="wp-caption-dt"><a href="http://www.flickr.com/photos/14809413@N00/2213024777"><img title="ohloh_project" src="http://farm3.static.flickr.com/2043/2213024777_449303c62f_m.jpg" alt="ohloh_project" width="240" height="219" /></a></dt>
<dd class="wp-caption-dd zemanta-img-attribution" style="font-size: 0.8em;">Image by <a href="http://www.flickr.com/photos/14809413@N00/2213024777">hongiiv</a> via Flickr</dd>
</dl>
</div>
</div>
<p><a href="http://www.ohloh.net">www.ohloh.net</a>, es un indice de proyectos <a class="zem_slink" title="Open source" rel="wikipedia" href="http://en.wikipedia.org/wiki/Open_source">opensource</a>. La gracia que tiene, es que más que ser un indice, es capaz de dar métricas basadas en el repositorio del proyecto, indicar aportes realizados, fortalezas y debilidades responde a análisis del código, entre otros.</p>
<p><a class="zem_slink" title="Ohloh" rel="homepage" href="http://ohloh.net/">Ohloh</a>, además da información sobre los desarrolladores, y uno puede ver los distintos aportes registrados de varias personas que uno conoce!!!, jajjajaja.</p>
<p>Bueno, si participan de un proyecto opensource, ingrésenlo a Ohloh. Pueden indicar que uds. participaron en ese u otro proyecto (ya que guarda las entradas de los autores de los commits), y les hará reconocimiento de su trabajo. Es una muy buena herramienta!</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Zemified by Zemanta" href="http://www.zemanta.com/"><img class="zemanta-pixie-img" style="border: medium none; float: right;" src="http://img.zemanta.com/zemified_c.png?x-id=40616e91-d8e8-426b-81e7-e6f3d061c322" alt="Enhanced by Zemanta" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.arturo.hoffstadt.cl/wp/2008/12/11/ohloh-que-buen-sitio/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introducción a la Arquitectura y Desarrollo con el Framework KDE4</title>
		<link>http://www.arturo.hoffstadt.cl/wp/2008/10/28/introduccion-a-la-arquitectura-y-desarrollo-con-el-framework-kde4</link>
		<comments>http://www.arturo.hoffstadt.cl/wp/2008/10/28/introduccion-a-la-arquitectura-y-desarrollo-con-el-framework-kde4#comments</comments>
		<pubDate>Tue, 28 Oct 2008 18:38:28 +0000</pubDate>
		<dc:creator>Arturo Hoffstadt</dc:creator>
				<category><![CDATA[Desarrollo de Software]]></category>
		<category><![CDATA[Encuentro Linux]]></category>
		<category><![CDATA[kde]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[Desktop environment]]></category>
		<category><![CDATA[KDE 4]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Phonon]]></category>
		<category><![CDATA[Qt]]></category>

		<guid isPermaLink="false">http://www.arturo.hoffstadt.cl/wp/?p=103</guid>
		<description><![CDATA[Hace mucho tiempo que trabaje con Qt 3, en mi proyecto de Feria de Software, Nómada (ufff, por ahí por el año 2006). Luego, seguí trabajando con Qt, pero mi idea era siempre tratar de aportar al proyecto KDE. En fín, por pega y estudios, nunca pude hacerme el tiempo, hasta que finalmente, para el [...]]]></description>
			<content:encoded><![CDATA[<div class="zemanta-img zemanta-action-click">
<div class="wp-caption alignright" style="width: 212px"><a href="http://commons.wikipedia.org/wiki/Image:Konqi-klogo-official-400x500_b.png" rel="lightbox[103]"><img title="Konqi, mascot of the KDE project" src="http://upload.wikimedia.org/wikipedia/commons/thumb/0/0a/Konqi-klogo-official-400x500_b.png/202px-Konqi-klogo-official-400x500_b.png" alt="Konqi, mascot of the KDE project" width="202" height="237" /></a><p class="wp-caption-text">Image via Wikipedia</p></div>
</div>
<p>Hace mucho tiempo que trabaje con <a class="zem_slink" title="Qt (toolkit)" rel="homepage" href="http://trolltech.com/products/qt/">Qt</a> 3, en mi proyecto de <a href="http://www.feriadesoftware.cl">Feria de Software</a>, <a href="http://www.feriadesoftware.cl/2006/proyecto/taranis/">Nómada </a>(ufff, por ahí por el año 2006). Luego, seguí trabajando con Qt, pero mi idea era siempre tratar de aportar al proyecto <a class="zem_slink" title="KDE" rel="homepage" href="http://www.kde.org/">KDE</a>. En fín, por pega y estudios, nunca pude hacerme el tiempo, hasta que finalmente, para el <a href="http://www.encuentrolinux.cl">Noveno Encuentro <span class="zem_slink">Linux</span></a>, dije &#8220;Es ahora o nunca&#8221;, asi que envié el trabajo, y fue aceptado.</p>
<p>La charla es principalmente un rápido resumen sobre las tecnologías usadas en KDE4, qué es lo nuevo, qué es lo viejo, y como se puede usar, haciendo enfoque a que varias librerías desarrolladas para KDE, ahora no dependen de las librerias KDE.</p>
<p>Luego, seguí con varios ejemplos, tomados del <a href="http://techbase.kde.org">Techbase</a> de KDE, actualizándolos un poco.</p>
<ul>
<li>01 Aplicación Sencilla, compilando via g++.</li>
<li>02 La misma aplicación, usando <a class="zem_slink" title="CMake" rel="homepage" href="http://www.cmake.org/">CMake</a> para generar un <a class="zem_slink" title="Make (software)" rel="wikipedia" href="http://en.wikipedia.org/wiki/Make_%28software%29">Makefile.</a></li>
<li>03 Aplicación KDE, usando KXMLGuiWindow para crear la ventana principal.</li>
<li>04 Introducción a las Señales y Slots de KDE, y las KActions, creando una aplicación que permite mostrar texto.</li>
<li>06 Se agrega a la aplicación la funcionalidad de cargar y guardar, mediante KActions.</li>
<li>08 Se reemplaza el editor de textos, por un reproductor de sonido, mediante <a class="zem_slink" title="Phonon (KDE)" rel="wikipedia" href="http://en.wikipedia.org/wiki/Phonon_%28KDE%29">Phonon</a>.</li>
<li>09 Se agrega al reproductor de sonidos, la reproducción de videos.</li>
<li>10 Se agrega al reproductor de videos, el descubrimiento de pendrives automático, mediante <a class="zem_slink" title="Solid (KDE)" rel="wikipedia" href="http://en.wikipedia.org/wiki/Solid_%28KDE%29">Solid.</a></li>
</ul>
<p>Si se pierden en lo que estoy mostrando en los ejemplos, o diapositivas, les recomiendo que vean antes la <a href="http://www.arturo.hoffstadt.cl/wp/2008/08/27/kde-4/">presentación</a> que hice sobre KDE4, donde me extiendo más en las nuevas cosas que hay en KDE4.</p>
<p><a href="http://www.arturo.hoffstadt.cl/wp/wp-content/uploads/2008/10/kdetar.gz">Ejemplos KDE4</a></p>
<div id="__ss_699391" style="width: 425px; text-align: left;"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" title="Introducción a la Arquitectura y Desarrollo en KDE4" href="http://www.slideshare.net/bewatched/introduccin-a-la-arquitectura-y-desarrollo-en-kde4-presentation?type=powerpoint">Introducción a la Arquitectura y Desarrollo en KDE4</a><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=desarrollo-en-kde4v2-1225218604005639-8&amp;stripped_title=introduccin-a-la-arquitectura-y-desarrollo-en-kde4-presentation" /><embed type="application/x-shockwave-flash" width="425" height="355" src="http://static.slideshare.net/swf/ssplayer2.swf?doc=desarrollo-en-kde4v2-1225218604005639-8&amp;stripped_title=introduccin-a-la-arquitectura-y-desarrollo-en-kde4-presentation" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;">View SlideShare <a style="text-decoration:underline;" title="View Introducción a la Arquitectura y Desarrollo en KDE4 on SlideShare" href="http://www.slideshare.net/bewatched/introduccin-a-la-arquitectura-y-desarrollo-en-kde4-presentation?type=powerpoint">presentation</a> or <a style="text-decoration:underline;" href="http://www.slideshare.net/upload?type=powerpoint">Upload</a> your own. (tags: <a style="text-decoration:underline;" href="http://slideshare.net/tag/kde">kde</a> <a style="text-decoration:underline;" href="http://slideshare.net/tag/kde4">kde4</a>)</div>
</div>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Zemified by Zemanta" href="http://www.zemanta.com/"><img class="zemanta-pixie-img" style="border: medium none; float: right;" src="http://img.zemanta.com/zemified_c.png?x-id=aba46745-d8ff-472a-8adf-6b20e3cf2c70" alt="Enhanced by Zemanta" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.arturo.hoffstadt.cl/wp/2008/10/28/introduccion-a-la-arquitectura-y-desarrollo-con-el-framework-kde4/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Introducción a FIX y QuickFIX: Financial Information eXchange</title>
		<link>http://www.arturo.hoffstadt.cl/wp/2008/02/10/introduccion-a-fix-y-quickfix-financial-information-exchange</link>
		<comments>http://www.arturo.hoffstadt.cl/wp/2008/02/10/introduccion-a-fix-y-quickfix-financial-information-exchange#comments</comments>
		<pubDate>Mon, 11 Feb 2008 04:35:11 +0000</pubDate>
		<dc:creator>Arturo Hoffstadt</dc:creator>
				<category><![CDATA[Desarrollo de Software]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[financial]]></category>
		<category><![CDATA[finanzas]]></category>
		<category><![CDATA[fix]]></category>
		<category><![CDATA[quickfix]]></category>
		<category><![CDATA[quotes]]></category>
		<category><![CDATA[trading]]></category>

		<guid isPermaLink="false">http://www.arturo.hoffstadt.cl/wp/?p=3</guid>
		<description><![CDATA[Durante mis años trabajando como sysadmin, desarrollador, e investigador en Ifitec, tuve que (obviamente), hacer muchos proyectos, pero solo dos me dieron dolores de cabeza por la poca documentación que había para introducirse. El primero, fuero Oracle, en específico, su motor de Bases de Datos. Es monolítico, lo cual hace que la instalación, sea igual [...]]]></description>
			<content:encoded><![CDATA[<p>Durante mis años trabajando como sysadmin, desarrollador, e investigador en <a href="http://www.ifitec.cl" title="Ifitec S.A - Desarrollo de SW Financiero, Trading y cientifico.">Ifitec</a>, tuve que (obviamente), hacer muchos proyectos, pero solo dos me dieron dolores de cabeza por la poca documentación que había para introducirse.</p>
<p>El primero, fuero Oracle, en específico, su motor de Bases de Datos. Es monolítico, lo cual hace que la instalación, sea igual de ingente. Y el segundo, fue el motor de mensajería para transacciones financieras, QuickFIX, por su escasa documentación inicial, y prácticamente su carencia de &#8220;Hello Worlds!&#8221;.</p>
<p>Pero obviamente, si todo fuese tan fácil, no existirían los desafíos, asique puse manos a la obra, y aquí les dejo mis &#8220;traspies&#8221; con QuickFIX para que no les pase lo mismo que a mi <img src='http://www.arturo.hoffstadt.cl/wp/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<h1>Introducción a FIX y QuickFIX</h1>
<p><a href="http://www.arturo.hoffstadt.cl/wp/wp-content/uploads/2008/02/a1.gif" title="FIX Protocol" rel="lightbox[3]"><img src="http://www.arturo.hoffstadt.cl/wp/wp-content/uploads/2008/02/a1.gif" alt="FIX Protocol" align="right" /></a><a href="http://www.fixprotocol.org" title="Pagina oficial de FIX">FIX</a>, es la especificación del Protocolo para transacciones financieras &#8220;Financial Information eXchange&#8221;, o FIX. Participan en su elaboración un gran número de stakeholders, interesados en hacerla cada día mas completa, y abierta. Fue concebida en el 1992, y su misión es <em>&#8220;To improve the global trading process by defining, managing and promoting an open protocol for real-time, electronic communication between industry participants, while complementing industry standards.&#8221; </em>(Mas información sobre FIX <a href="http://www.fixprotocol.org/what-is-fix.shtml" title="Creación, misión y progreso de FIX">aquí</a>, <strong>NOTA</strong>: si quieres obtener acceso al sitio completo, debe registrarte)</p>
<p>A pesar de que la especificación del protocola es abiertas, sus implementaciones no tienen la obligación de serlo (ya se libre &#8211; como libre en cerveza-, o codigo abierto), y la mayoría son especificaciones comerciales. Aquí es donde entra en el cuadro QuickFIX.</p>
<p><a href="http://www.arturo.hoffstadt.cl/wp/wp-content/uploads/2008/02/logo.gif" title="QuickFIX" rel="lightbox[3]"><img src="http://www.arturo.hoffstadt.cl/wp/wp-content/uploads/2008/02/logo.gif" alt="QuickFIX" align="right" /></a>QuickFIX, es una implementación de código abierto de FIX. Actualmente soporta hasta la versión 4.4 de la especificación FIX, y es bastante robusto. Tiene implementaciones para Java, C++, Ruby y Python.</p>
<p><span id="more-3"></span></p>
<h1>Usando QuickFIX</h1>
<p>La <a href="http://www.quickfixengine.org/quickfix/doc/html/license.html" title="Licencia de QuickFIX">licencia</a> de QuickFIX no es una de las tradicionales open-source, pero sigue su espíritu, permitiendo la modificación y redistribución del código, siempre y cuando se conserve su autoría original, se reconozca a sus autores en los softwares derivados, y el nombre QuickFIX, no puede ser usado sin consultar antes a sus dueños.</p>
<p>Del <a href="http://www.quickfixengine.org/quickfix/doc/html/FAQ.html" title="Frequently Asked Questions de QuickFIX">FAQ</a> de QuickFIX, es bastante importante tener en consideración los siguientes puntos:</p>
<ul>
<li> Las horas de todos los computadores envueltos en transacciones FIX deben estar sincronizadas, de preferencia, usando un servidor NTP común.</li>
<li>Quickfix esta programado en C++ y hace uso de excepciones. Compilar tus proyectos con la opción &#8220;-fexceptions&#8221;.</li>
</ul>
<p align="center">&nbsp;</p>
<h1>Arquitectura de FIX</h1>
<p>QuickFIX, más allá de ser una implementación de un protocolo, es también un motor de mensajería. Esto delega gran parte del control sobre la transmisión, a QuickFIX. Es por esto, que hay que conocer la arquitectura antes de poder usarlo.</p>
<p>FIX en si, divide todos sus mensajes en dos tipos, Session y Application. Asimismo, el motor QuickFIX divide su funcionamiento entre estas dos capas.</p>
<ul>
<li><strong>Sesión</strong>: esta capa esta encargada de manejar cosas como login, logout, recuperación de mensajes, heartbeats, peticiones de test, peticiones de reenvio, rechazos, reseteos de secuencia (gap fills), entre otros. La mayoría de estos mensajes se usan de forma automática, pero siempre pueden ser modificados, o enviados bajo petición del programador.</li>
<li><strong>Aplicación</strong>: Dado que FIX maneja información de trade para stock market y futures market, los mensajes de la capa de aplicación estarán en la linea de enviar una orden, obtener una confirmación (fill), cambiar una orden, entre otros. Estos mensajes nunca son generador de forma automática por el motor QuickFIX, el programador debe controlar el flujo de mensajes en esta aplicación de forma <strong>total</strong>.</li>
</ul>
<p>Si desea un buen resumen de la estructura y funcionamiento de FIX y Quickfix, referirse a este <a href="http://www.devchix.com/2007/04/20/fix-protocol/">link</a>. (una breve y muy intuitiva introducción a FIX, por DevChix).</p>
<h1>Conceptos de FIX</h1>
<ul>
<li><strong>Contra parte</strong>: El otro lado de la conexión. Si se esta trabajando en el cliente, la contraparte será el servidor, y vice-versa.</li>
<li><strong>Mensaje</strong>: Mensaje que se envía una contra parte a otra. Existen dos tipos:
<ul>
<li><strong>Aplicación</strong>: Mensaje generados por la aplicación (que en si, es lo que realmente se programa, es decir, la información financiera)</li>
<li><strong>Administrativos</strong>: Mensajes generados por el Engine Quickfix para control de la conexión, la mayoría son mensajes de Sesión.</li>
</ul>
</li>
</ul>
<ul>
<li><strong>Sesiones:</strong> Las sesiones existen mientras exista la aplicación, y pueden ser definidas como un canal de comunicación entre dos contrapartes. Estas existen incluso si no hay contra parte que escuche o este conectada. Al momento de ser creada una sesión, puedes enviar mensajes. Si no hay contraparte activa, los mensajes serán enviados al momento en que una conexión sea establecida por la contra parte (un cliente conectado).
<ul>
<li><strong>Iniciador</strong>: En cada sesión, existe, un iniciador, una de las contraparte debe iniciar la sesión. Esto se debe a que QuickFIX esta implementado sobre TCP/IP, por ende, una de las contrapartes debe intentar contactar a otro &#8220;servidor&#8221;</li>
<li><strong>Aceptador</strong>: El aceptador actúa como listener en TCP/IP, normalmente también es el servidor central de transacciones financieras. Esta contraparte escucha la red en un socket, esperando conexiones entrantes de sus contrapartes &#8220;iniciadoras&#8221;.</li>
</ul>
</li>
</ul>
<p><a href="http://www.arturo.hoffstadt.cl/wp/wp-content/uploads/2008/02/fix.png" title="FIX, de forma gráfica" rel="lightbox[3]"></a></p>
<p style="text-align: center"><a href="http://www.arturo.hoffstadt.cl/wp/wp-content/uploads/2008/02/fix.png" title="FIX, de forma gráfica" rel="lightbox[3]"><img src="http://www.arturo.hoffstadt.cl/wp/wp-content/uploads/2008/02/fix.png" alt="FIX, de forma gráfica" /></a></p>
<h1></h1>
<h1>Mensajes FIX al descubierto</h1>
<p>Este es un ejemplo de un mensaje FIX</p>
<blockquote></blockquote>
<pre>Send(12/06/2006-10:23:43.175)|8=FIX.4.2|9=00060|35=0|49=Alex|56=orders|34=99|52=20041206-10:23:43.175|10=080|</pre>
<blockquote></blockquote>
<p>Un mensaje esta compuesto de varios tags ( Ej: <strong>8=FIX.4.2|</strong> ). Este tag, esta compuesto de:</p>
<ul>
<li><strong>ID del Tag</strong>: Un número que identifica a que corresponde el tag. (ej: 8). Es muy importante entender estos números. Por ejemplo, el número 43, indica que es un valor de secuencia de mensajes.</li>
<li><strong>=:</strong> Signo igual (ej: =)</li>
<li><strong>valor</strong>: Dependiendo del id de tag, el valor puede cambiar (ej: FIX.4.2)</li>
<li><strong>delimitador</strong>: Indica el fin del tag. (ej: |)</li>
</ul>
<p>Dado que ya sabemos como esta compuesto un mensaje, podemos analizarlos.  La especificación 4.4 de FIX posee cerca de 900 tags, y cada mensaje tiene especificado cuales de estos tags son obligatorios, opcionales, o prohibidos para ese mensaje. Pero todo deben tener los siguientes dos tags, que son universales.</p>
<ul>
<li>34: Número de secuencia (permite la sincronización entre contrapartes)</li>
<li>35: Tipo de mensaje (permite identificar el mensaje, y darle un sentido a los datos que trae).</li>
</ul>
<p>El tipo de mensaje permite saber que comunica ese mensaje, algunos casos son:</p>
<ul>
<li>0: Heartbeat(usado para mantener vivas &#8211;keepalive&#8211; las comunicaciones)</li>
<li>A: Logon (es usado para iniciar las sesiones, permite identificar y autenticar)</li>
<li>5: Logout</li>
<li>B: News (Noticia)</li>
<li>S: Quote (Para registrar en tiempo real los bid &amp; ask)</li>
<li>y otros&#8230;</li>
</ul>
<p><a href="http://www.fixprotocol.org/specifications/fix4.4fiximate/index.html" title="FIXimate 4.4">FIXimate 4.4</a>, es una presentación mas amigable de la especificación de FIX 4.4 (que es XML), ordenada por mensajes o tags. Cuando programes, ten siempre un navegador abierto con esta página.</p>
<h1>Instalación y Compilación de las fuentes</h1>
<p>En Fedora (cuando comence, era Fedora 7), es necesario tener instalados lo siguientes paquetes:</p>
<ul>
<li>mysql-devel</li>
<li>libxml2</li>
<li>libxml2-devel</li>
<li>gcc</li>
<li>gcc-c++</li>
<li>glibc-devel</li>
<li>make</li>
<li>python</li>
<li>python-devel</li>
<li>ruby</li>
<li>ruby-devel</li>
</ul>
<p>Utiliza el siguiente comando de yum para instalarlos:</p>
<pre>yum install  mysql-devel libxml2 gcc gcc-c++ glibc-devel make python python-devel ruby ruby-devel</pre>
<p>Luego, debes descargar la ultima versión desde esta <a href="http://www.quickfixengine.org/download.html">dirección</a> y descomprimirla:</p>
<pre>cd /tmp</pre>
<pre>wget http://ufpr.dl.sourceforge.net/sourceforge/quickfix/quickfix-1.12.4.tar.gz</pre>
<pre>tar xvfz quickfix-1.12.4.tar.gz</pre>
<p>Luego, ingresa al directorio <strong>quickfix</strong> y crea los scripts makefile con la siguiente configuración:</p>
<pre>./configure --with-python=/usr/include/python2.4/ --with-ruby --with-mysql=/usr</pre>
<p><strong>Nota</strong>: La opción de mysql esta incorrecta apropósito. Si no se especifica así, el Makefile construido no es capaz de encontrar las cabeceras de desarrollo de MySQL.Luego, compilamos QuickFIX. Es normal cuando se compila el soporte para Python, el computador deje de responder (esto sucede cuando el computador tiene poca RAM)&#8230; (y si&#8230; el computador completo deja de responder <img src='http://www.arturo.hoffstadt.cl/wp/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  ).</p>
<pre>make</pre>
<p>Una vez que termina de compilar, instalamos las bibliotecas quickfix en nuestro sistema. Esto debe ejecutarse como usuario <strong>root</strong>.</p>
<pre>su -</pre>
<pre>cd /tmp/quickfix</pre>
<pre>make install</pre>
<p>¡Y listo!, ya tienes QuickFIX en tu sistema.</p>
<p><strong>NOTA: </strong>Los siguientes pasos de la instalación solo deben realizarse si se utilizará el soporte de MySQL.</p>
<p>Ahora se deben crear la BD y tablas de QuickFIX en MySQL. Para eso, QuickFIX proporciona un script, el cual se modificara ligeramente.</p>
<pre>cd /tmp/quickfix/src/sql/mysql</pre>
<p>Edita el archivo &#8221;&#8217;<strong>create.sh</strong>&#8221;&#8217;. Este archivo tiene una solo linea, que ahora deberá ser:</p>
<pre>mysql -u root -p --execute="source mysql.sql";</pre>
<p>Esto permite autenticar con password de forma interactiva. Ejecuta ahora el script, e ingresa la password del usuario &#8221;&#8217;<strong>root</strong>&#8221;&#8217; de mysql.</p>
<pre>./create.sh</pre>
<h1>Explicación sobre el funcionamiento de QuickFIX</h1>
<p>QuickFIX en si posee una arquitectura cliente(s)/servidor(es). Y su implementación se basa en TCP/IP.  La biblioteca de QuickFIX se encarga de crear las conexiones, y de auto-configurarse (a partir de un archivo). Como programador, solo es necesario preocuparse de crear un archivo de configuración y los mensajes a enviar.</p>
<p>Toda aplicación de QuickFIX, debe tener un archivo de configuración, el cual define el tipo de conexión, el puerto, si el puerto sera reutilizado, cuando inician y finalizan las sesiones, entre otros parámetros.</p>
<pre>[DEFAULT]</pre>
<pre>ConnectionType=acceptor</pre>
<pre>SocketAcceptPort=5001</pre>
<pre>SocketReuseAddress=Y</pre>
<pre>StartTime=00:00:00</pre>
<pre>EndTime=00:00:00</pre>
<pre>
[SESSION]</pre>
<pre>BeginString=FIX.4.4</pre>
<pre>SenderCompID=EXECUTOR</pre>
<pre>TargetCompID=CLIENT1</pre>
<pre>FileStorePath=store</pre>
<pre>DataDictionary=spec/FIX44.xml</pre>
<p>Cada sección <strong>SESSION</strong> del archivo de configuración, puede especificar el <strong>DataDictionary</strong> a usar, el cual, es el DTD del protocolo FIX (la especificación formal del lenguaje). Se usa para validar los mensajes entrantes y salientes. Estos, debe estar en la ruta especificada. Los archivos spec se pueden encontrar junto con las fuentes de QuickFIX.</p>
<p>Las aplicaciones QuickFIX deben tener un conjunto de clases instanciadas, para poder funcionar como motor de mensajes, entre ellas podemos encontrar los Logger, Initiators, Acceptors. Todos estos actúan por separado.</p>
<p>Para poder enviar y recibir mensajes, se debe implementar la interfaz <a href="http://www.quickfixengine.org/quickfix/doc/html/class_f_i_x_1_1_application.html">Application</a>. Los métodos de esta interfaz serán llamados cuando ocurran los eventos a los cuales hacen referencia.</p>
<pre> namespace FIX</pre>
<pre>  {</pre>
<pre>    class Application</pre>
<pre>    {</pre>
<pre>    public:</pre>
<pre>      virtual ~Application() {};</pre>
<pre>      virtual void onCreate( const SessionID&amp; ) = 0;</pre>
<pre>      virtual void onLogon( const SessionID&amp; ) = 0;</pre>
<pre>      virtual void onLogout( const SessionID&amp; ) = 0;</pre>
<pre>      virtual void toAdmin( Message&amp;, const SessionID&amp; ) = 0;</pre>
<pre>      virtual void toApp( Message&amp;, const SessionID&amp; )</pre>
<pre>        throw( DoNotSend ) = 0;</pre>
<pre>      virtual void fromAdmin( const Message&amp;, const SessionID&amp; )</pre>
<pre>        throw( FieldNotFound, IncorrectDataFormat, IncorrectTagValue, RejectLogon ) = 0;</pre>
<pre>      virtual void fromApp( const Message&amp;, const SessionID&amp; )</pre>
<pre>        throw( FieldNotFound, IncorrectDataFormat, IncorrectTagValue, UnsupportedMessageType ) = 0;</pre>
<pre>    };</pre>
<pre>  }</pre>
<table>
<tr>
<th>Método</th>
<th>Observaciones</th>
</tr>
<tr>
<td>~Application</td>
<td>Destructor que se encarga de limpiar el objeto</td>
</tr>
<tr>
<td>onCreate</td>
<td>Esta función es llamada cuando se establece una sesión</td>
</tr>
<tr>
<td>onLogon</td>
<td>Esta función es llamada cuando una contraparte envía un mensaje de tipo Logon (A). Por defecto, acepta toda conexión entrante. Es posible utilizar esta función para crear autenticación simple, o basada en sistemas de autententicación centralizadas.</td>
</tr>
<tr>
<td>onLogout</td>
<td>Notifica cuando una sesión FIX ya no esta en linea, o cuando se recibe un mensaje de Logout (5). Posibles causes de ser llamada esta función son: un logout válido, problemas en la conexión, o terminación forzada de la conexión</td>
</tr>
<tr>
<td>toAdmin</td>
<td>Notifica cuando el Engine QuickFIX enviará un mensaje administrativo a la contra parte. Algo interesante, es  que la referencia que es pasada del mensaje no es constante. Es decir, se puede modificar el mensaje.</td>
</tr>
<tr>
<td>toApp</td>
<td>Función de callback que se llama cuando se envía un mensaje de aplicación. La referencia al mensaje no es constante. Arrojar una excepción &#8221;DoNotSend&#8221;, hace que el engine QuickFIX no envie este mensaje.</td>
</tr>
<tr>
<td>fromAdmin</td>
<td>Notifica cuando llega al engine QuickFIX un mensaje administrativo de su contra parte</td>
</tr>
<tr>
<td>fromApp</td>
<td>Es prácticamente el núcleo de una aplicación quickfix. Por ejemplo, en el caso de un sistema <font color="#000000">OMS (Order Management System)</font>, el lado del servidor recibe a través de esta función, las peticiones de nuevas ordenes. En cambio, por el lado del cliente,  esta función dará permitirá recibir las confirmaciones de una orden emitida (o rechazo). La excepción &#8221;FieldNotFound&#8221; permite decir a la contraparte que faltaron campos en el mensaje, esta excepción es tirada automáticamente por la clase Message. La excepción &#8221;UnsupportedMessageType&#8221; permite indicar a la contra parte que no se posible procesar ese tipo de mensaje. La excepción &#8221;IncorrectTagValue&#8221; permite indicar que un campo tiene un valor o rango no soportado.</td>
</tr>
</table>
<h1>Compilación de Programas en C++</h1>
<p>Para compilar con QuickFIX:</p>
<pre>g++ -fexceptions -finline-functions -lquickfix -lpthread -lxml2 -lz -L/usr/local/lib Application.cpp  main.cpp</pre>
<ul>
<li> -<strong>fexceptions</strong> -  Para el soporte de exceptions</li>
<li><strong>-finline-functions</strong> &#8211; Que las funciones sean compiladas inline.</li>
<li><strong>-lquickfix</strong> &#8211; Que incluya la libreria de quickfix al compilar.</li>
<li><strong>-lpthread</strong> &#8211; Que incluya la libreria de threads.</li>
<li><strong>-lxml2</strong> &#8211; Que incluya al compilar, la libreria &#8221;&#8217;xml2&#8221;&#8217;, para parsing de xml.</li>
<li><strong>-lz</strong> &#8211; Que incluya al compilar, la libreria &#8221;&#8217;z&#8221;&#8217;, para compresión.</li>
<li><strong>-L/usr/local/lib</strong> &#8211; Que incluya en la ruta de librerias, este directorio</li>
</ul>
<p>Para facilitar la compilación, usaremos &#8221;&#8217;Makefile&#8221;&#8217;. Un archivo makefile como el siguiente, permite compilar una aplicación en quickfix:</p>
<pre>CC = g++</pre>
<pre>CXXFLAGS = -fexceptions -finline-functions -lquickfix -lpthread -lxml2 -lz -L/usr/local/lib</pre>
<pre>all: executor</pre>
<pre>executor: Application.o</pre>
<pre>clean:</pre>
<pre>        rm -rf *.o executor</pre>
<h1>Conclusiones</h1>
<p>A pesar de que no se toco el tema de diseño y arquitectura, existe un trabajo en las referencias (<a href="http://traxel.com/fix/fix-architecture.pdf">Exploring FM Software Architecture</a>), el cual trata sobre este tema, y posee análisis sobre características deseadas, consideraciones y recomendaciones para el diseño y arquitectura de software para Mercados Financieros.</p>
<p>Espero haber cumplido como introducción a QuickFIX. Pronto pondré un Hello World! de QuickFIX. Porfavor, dejen comentarios, para saber si interesa el tema. Saludos!!</p>
<h1>Referencias</h1>
<ul>
<li><a href="http://fixprotocol.org" title="Sitio del Protocolo FIX">Sitio del Protocolo FIX</a></li>
<li><a href="http://www.quickfixengine.org">Sitio de Quickfix</a></li>
<li><a href="http://www.quickfixengine.org/download.html">Sitio de descargas de Quickfix</a></li>
<li><a href="http://www.quickfixengine.org/documentation.html">Documentación de Quickfix</a></li>
<li><a href="http://www.quickfixengine.org/mailinglist.html">Listas de Correo de Quickfix</a></li>
<li><a href="http://www.quickfixengine.org/quickfix/doc/html/license.html">Licencia de Quickfix</a></li>
<li><a href="http://www.quickfixengine.org/quickfix/doc/html/FAQ.html">FAQ de Quickfix</a></li>
<li><a href="http://www.devchix.com/2007/04/20/fix-protocol/">FIX Protocol &#8211; DevChix</a></li>
<li><a href="http://traxel.com/fix/fix-architecture.pdf">Exploring FM Software Architecture</a></li>
<li><a href="http://www.fixprotocol.org/specifications/fix4.4fiximate/index.html">FIXimate 4.4</a></li>
</ul>
<h1>Agradecimientos</h1>
<ul>
<li>A Renato (<a href="http://rnt.bla.cl">RNT</a>), por recordarme que debo corregir las faltas de ortografía <img src='http://www.arturo.hoffstadt.cl/wp/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </li>
<li>A mis colegas de <a href="http://www.ifitec.cl">Ifitec</a>, que ellos son ahora más expertos en FIX que yo <img src='http://www.arturo.hoffstadt.cl/wp/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.arturo.hoffstadt.cl/wp/2008/02/10/introduccion-a-fix-y-quickfix-financial-information-exchange/feed</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Sneak Peak al Sector de Videojuegos</title>
		<link>http://www.arturo.hoffstadt.cl/wp/2008/01/05/sneak-peak-alsector-de-videojuegos</link>
		<comments>http://www.arturo.hoffstadt.cl/wp/2008/01/05/sneak-peak-alsector-de-videojuegos#comments</comments>
		<pubDate>Sat, 05 Jan 2008 19:17:00 +0000</pubDate>
		<dc:creator>Arturo Hoffstadt</dc:creator>
				<category><![CDATA[Desarrollo de Software]]></category>
		<category><![CDATA[GameDev]]></category>

		<guid isPermaLink="false">http://www.arturo.hoffstadt.cl/wp/?p=37</guid>
		<description><![CDATA[Navegando y navegando en los Twitters de mis amigos, llegue a SlideShare, un sitio, como YouTube (de hecho tiene una estructura similar), pero su contenido es diapositivas&#8230; Si, esas mismas que te ponen en clases, o en presentaciones. Buscando en el sitio por GameDev, Videogames, y otros, me encontre con estas diapos, que se las [...]]]></description>
			<content:encoded><![CDATA[<p>Navegando y navegando en los <a href="http://twitter.com">Twitters</a> de mis amigos, llegue a <a href="http://www.slideshare.net">SlideShare</a>, un sitio, como <a href="http://www.youtube.com">YouTube</a> (de hecho tiene una estructura similar), pero su contenido es diapositivas&#8230; Si, esas mismas que te ponen en clases, o en presentaciones.</p>
<p>Buscando en el sitio por GameDev, Videogames, y otros, me encontre con estas diapos, que se las dejo como  preview.</p>
<p>Es un &#8220;Sneak Peak&#8221;, o vista rápida, al sector de videojuego, rompiendo mitos, viendo tendencias, empresas que hay hoy en dia, consolas, entre otro.</p>
<div style="width:425px;text-align:left" id="__ss_122252"><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=video-game-landscape-overview-final969"/><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=video-game-landscape-overview-final969" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;"><a href="http://www.slideshare.net/?src=embed"><img src="http://static.slideshare.net/swf/logo_embd.png" style="border:0px none;margin-bottom:-5px" alt="SlideShare"/></a> | <a href="http://www.slideshare.net/dherman76/video-game-landscape-overview-final" title="View 'Video Game Landscape Overview Final' on SlideShare">View</a> | <a href="http://www.slideshare.net/upload">Upload your own</a></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.arturo.hoffstadt.cl/wp/2008/01/05/sneak-peak-alsector-de-videojuegos/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>XVI Feria de Software</title>
		<link>http://www.arturo.hoffstadt.cl/wp/2007/10/27/xvi-feria-de-software</link>
		<comments>http://www.arturo.hoffstadt.cl/wp/2007/10/27/xvi-feria-de-software#comments</comments>
		<pubDate>Sun, 28 Oct 2007 04:25:11 +0000</pubDate>
		<dc:creator>Arturo Hoffstadt</dc:creator>
				<category><![CDATA[Departamento de Informática]]></category>
		<category><![CDATA[Desarrollo de Software]]></category>
		<category><![CDATA[UTFSM]]></category>
		<category><![CDATA[di]]></category>
		<category><![CDATA[eventos]]></category>
		<category><![CDATA[feria de software]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.arturo.hoffstadt.cl/wp/?p=27</guid>
		<description><![CDATA[Ya nos acercamos a la recta final, y los 18 equipos que estaban en la Feria de Software fueron confirmados este jueves 25 para seguir hacia el evento final: La XVI Feria de Software. Desde ya les mando mis felicitaciones a todos mis amigos y conocidos que estan participando en la Feria, y no que [...]]]></description>
			<content:encoded><![CDATA[<p>Ya nos acercamos a la recta final, y los 18 equipos que estaban en la <strong><a href="http://www.feriasoftware.cl">Feria de Software</a></strong> fueron confirmados este jueves 25 para seguir hacia el evento final: La XVI <strong><a href="http://www.feriasoftware.cl">Feria de Software.</a></strong></p>
<p>Desde ya les mando mis felicitaciones <strong>a todos mis amigos y conocidos que estan participando en la Feria</strong>, y no que queda más que desearles lo mejor para dos de los días mas esforzados de y esperados durante el año.</p>
<p>Este año hay tres categorías:</p>
<ul>
<li>Automatización de Procesos</li>
<li>Educación y Entretenimiento</li>
<li>Ciencia y Tecnología</li>
</ul>
<p>Entonces&#8230; Les dejo la invitación abierta a todos las personas que estén interesadas en la informática, innovación, tecnología, educación, entretenimiento, ciencia. La Feria de software tiene, este año, software de muchas áreas, así que no hay excusa para no venir. <em>La entrada es liberada</em>  <img src='http://www.arturo.hoffstadt.cl/wp/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Espero tener tiempo para subir fotos, pero junto con otros chicos, estamos en el equipo organizador&#8230; <img src='http://www.arturo.hoffstadt.cl/wp/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p align="center">  <a href="http://www.arturo.hoffstadt.cl/wp/wp-content/uploads/2007/10/dscf9340.JPG" title="Pendon XVI Feria de Software" rel="lightbox[27]"><img src="http://www.arturo.hoffstadt.cl/wp/wp-content/uploads/2007/10/dscf9340.thumbnail.JPG" alt="Pendon XVI Feria de Software" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.arturo.hoffstadt.cl/wp/2007/10/27/xvi-feria-de-software/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>En el countdown para Feria de Software 2007</title>
		<link>http://www.arturo.hoffstadt.cl/wp/2007/10/07/en-el-countdown-para-feria-de-software-2007</link>
		<comments>http://www.arturo.hoffstadt.cl/wp/2007/10/07/en-el-countdown-para-feria-de-software-2007#comments</comments>
		<pubDate>Mon, 08 Oct 2007 03:00:53 +0000</pubDate>
		<dc:creator>Arturo Hoffstadt</dc:creator>
				<category><![CDATA[Departamento de Informática]]></category>
		<category><![CDATA[Desarrollo de Software]]></category>
		<category><![CDATA[di]]></category>
		<category><![CDATA[UTFSM]]></category>

		<guid isPermaLink="false">http://www.arturo.hoffstadt.cl/wp/?p=8</guid>
		<description><![CDATA[El 30 y 31 de Octubre, 18 equipos de estudiantes de Informática, de la Universidad Técnica Federico Santa María, participaran en una muestra donde expondrán su trabajo de todo un año. En la Feria de Software, participan alumnos de 4to año, comenzando a principios de año, cuando tienen que proponer una idea para crear un [...]]]></description>
			<content:encoded><![CDATA[<p>El 30 y 31 de Octubre, 18 equipos de estudiantes de <a href="http://portal.inf.utfsm.cl">Informática</a>, de la <a href="http://www.utfsm.cl">Universidad Técnica Federico Santa María</a>, participaran en una muestra donde expondrán su trabajo de todo un año.</p>
<p><a href="http://www.arturo.hoffstadt.cl/wp/wp-content/uploads/2007/10/sitio1.jpg" title="Sitio de la Feria de Software 2007" rel="lightbox[8]"></a></p>
<p style="text-align: center"><a href="http://www.arturo.hoffstadt.cl/wp/wp-content/uploads/2007/10/sitio1.jpg" title="Sitio de la Feria de Software 2007" rel="lightbox[8]"><img src="http://www.arturo.hoffstadt.cl/wp/wp-content/uploads/2007/10/sitio1.jpg" alt="Sitio de la Feria de Software 2007" /></a></p>
<p>En la <a href="http://www.feriasoftware.cl">Feria de Software</a>, participan alumnos de 4to año, comenzando a principios de año, cuando tienen que proponer una idea para crear un software, conseguir un cliente (real), y exponer ante un jurado, el cual decidirá si su idea es:</p>
<ul>
<li>Innovadora</li>
<li>Original</li>
<li>Realista</li>
<li>Poseen conocimiento, dominio del tema</li>
</ul>
<p>Luego, a lo largo de todo el primer semestre, existen una serie de hitos, donde los profesores del ramo, van controlando avances del proyecto y dando consejos.</p>
<p>Finalmente, el primer semestre termina con la entrega del primer (a veces, segundo) prototipo.</p>
<p>El segundo semestre comienza con otro enfoque, donde los profesores harán de clientes. Serán tan exigentes como un cliente, y dado que uno (en la vida real), nunca la muestra los avances en lineas de código o arquitectura, se deben mostrar avances visibles, en funcionalidad, requerimientos, aspectos, etc&#8230;</p>
<p>Existen una serie de hitos en este semestre, pero todo se define en la entrevista final (a mediados de Octubre), donde los profesores (clientes), decidirán si consideran que el software cumple con la carta de requerimientos firmada a comienzo de año. Además, los clientes (reales), deben enviar una carta de aceptación del producto.</p>
<p>Todo culmina en la &#8220;Feria de Software&#8221;, evento que dura 2 días (este año), y los equipos muestran sus proyectos al público, empresas, gobierno, prensa, y familiares <img src='http://www.arturo.hoffstadt.cl/wp/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><a href="http://www.arturo.hoffstadt.cl/wp/wp-content/uploads/2007/10/visitas1.jpg" title="Feria de Software" rel="lightbox[8]"></a></p>
<p style="text-align: center"><a href="http://www.arturo.hoffstadt.cl/wp/wp-content/uploads/2007/10/visitas1.jpg" title="Feria de Software" rel="lightbox[8]"><img src="http://www.arturo.hoffstadt.cl/wp/wp-content/uploads/2007/10/visitas1.jpg" alt="Feria de Software" /></a></p>
<p>Luego, existe una premiación, ya que un jurado evaluara durante esos dos días las presentaciones de lo equipos. Adicionalmente, el equipo con mejor nota, no paga arancel de matriculo el año siguiente.</p>
<p><a href="http://www.arturo.hoffstadt.cl/wp/wp-content/uploads/2007/10/visitas2.jpg" title="Feria de Software" rel="lightbox[8]"></a></p>
<p style="text-align: center"><a href="http://www.arturo.hoffstadt.cl/wp/wp-content/uploads/2007/10/visitas2.jpg" title="Feria de Software" rel="lightbox[8]"><img src="http://www.arturo.hoffstadt.cl/wp/wp-content/uploads/2007/10/visitas2.jpg" alt="Feria de Software" /></a></p>
<p>Como pueden ver, la feria de software es algo sobre esfuerzo, compañerismo, trabajo en equipo, y compromiso. Muchos de los que ya pasamos por este evento, consideramos que marca un hito en nuestra formación profesional, ya que es tan exigente como el ambiente real de trabajo, da muchas oportunidades para emprender, conseguir trabajo, práctica, y permite entablar nuevas amistades.</p>
<p><a href="http://www.arturo.hoffstadt.cl/wp/wp-content/uploads/2007/10/visitas3.jpg" title="Feria de Software" rel="lightbox[8]"></a></p>
<p style="text-align: center"><a href="http://www.arturo.hoffstadt.cl/wp/wp-content/uploads/2007/10/visitas3.jpg" title="Feria de Software" rel="lightbox[8]"><img src="http://www.arturo.hoffstadt.cl/wp/wp-content/uploads/2007/10/visitas3.jpg" alt="Feria de Software" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.arturo.hoffstadt.cl/wp/2007/10/07/en-el-countdown-para-feria-de-software-2007/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
