<?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"
	>

<channel>
	<title>doce cosas</title>
	<atom:link href="http://docecosas.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://docecosas.com</link>
	<description>El sitio personal de Pablo Martínez Schroder</description>
	<pubDate>Thu, 02 Jul 2009 22:51:14 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
	<language>en</language>
			<item>
		<title>P1000384</title>
		<link>http://www.flickr.com/photos/segfault/3406445183/</link>
		<comments>http://www.flickr.com/photos/segfault/3406445183/#comments</comments>
		<pubDate>Thu, 02 Apr 2009 15:18:36 +0000</pubDate>
		<dc:creator>SegFault</dc:creator>
		
		<category><![CDATA[Ego]]></category>

		<guid isPermaLink="false">tag:flickr.com,2005:/photo/3406445183</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[]]></content:encoded>
			<wfw:commentRss>http://www.flickr.com/photos/segfault/3406445183/feed</wfw:commentRss>
		</item>
		<item>
		<title>Panoramica del parque</title>
		<link>http://www.flickr.com/photos/segfault/3406111464/</link>
		<comments>http://www.flickr.com/photos/segfault/3406111464/#comments</comments>
		<pubDate>Thu, 02 Apr 2009 02:14:53 +0000</pubDate>
		<dc:creator>SegFault</dc:creator>
		
		<category><![CDATA[Ego]]></category>

		<guid isPermaLink="false">tag:flickr.com,2005:/photo/3406111464</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[]]></content:encoded>
			<wfw:commentRss>http://www.flickr.com/photos/segfault/3406111464/feed</wfw:commentRss>
		</item>
		<item>
		<title>Vista desde el hotel</title>
		<link>http://www.flickr.com/photos/segfault/3387627810/</link>
		<comments>http://www.flickr.com/photos/segfault/3387627810/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 13:46:06 +0000</pubDate>
		<dc:creator>SegFault</dc:creator>
		
		<category><![CDATA[Ego]]></category>

		<guid isPermaLink="false">tag:flickr.com,2005:/photo/3387627810</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[]]></content:encoded>
			<wfw:commentRss>http://www.flickr.com/photos/segfault/3387627810/feed</wfw:commentRss>
		</item>
		<item>
		<title>Nosotros no iniciamos el fuego</title>
		<link>/~SegFault/journal/32012?from=rss</link>
		<comments>/~SegFault/journal/32012?from=rss#comments</comments>
		<pubDate>Sun, 15 Mar 2009 19:31:24 +0000</pubDate>
		<dc:creator>SegFault</dc:creator>
		
		<category><![CDATA[Ego]]></category>

		<guid isPermaLink="false">tag:barrapunto.com://8288a32690b9c340ffa96d4cc35eae03</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[]]></content:encoded>
			<wfw:commentRss>/~SegFault/journal/32012?from=rss/feed</wfw:commentRss>
		</item>
		<item>
		<title>Nosotros no iniciamos el fuego</title>
		<link>http://barrapunto.com/~SegFault/journal/32012?from=rss</link>
		<comments>http://barrapunto.com/~SegFault/journal/32012?from=rss#comments</comments>
		<pubDate>Sun, 15 Mar 2009 19:31:24 +0000</pubDate>
		<dc:creator>SegFault</dc:creator>
		
		<category><![CDATA[Ego]]></category>

		<guid isPermaLink="false">tag:barrapunto.com://9f6891145a416823f82cba5dc39f6448</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[]]></content:encoded>
			<wfw:commentRss>http://barrapunto.com/~SegFault/journal/32012?from=rss/feed</wfw:commentRss>
		</item>
		<item>
		<title>Despedida</title>
		<link>http://www.flickr.com/photos/segfault/3313335135/</link>
		<comments>http://www.flickr.com/photos/segfault/3313335135/#comments</comments>
		<pubDate>Fri, 27 Feb 2009 14:19:43 +0000</pubDate>
		<dc:creator>SegFault</dc:creator>
		
		<category><![CDATA[Ego]]></category>

		<guid isPermaLink="false">tag:flickr.com,2005:/photo/3313335135</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[]]></content:encoded>
			<wfw:commentRss>http://www.flickr.com/photos/segfault/3313335135/feed</wfw:commentRss>
		</item>
		<item>
		<title>Ruby, suficientemente rápido</title>
		<link>http://docecosas.com/blog/ruby-suficientemente-rapido.html</link>
		<comments>http://docecosas.com/blog/ruby-suficientemente-rapido.html#comments</comments>
		<pubDate>Tue, 24 Feb 2009 06:59:02 +0000</pubDate>
		<dc:creator>Pablo Martínez Schroder</dc:creator>
		
		<category><![CDATA[Blog]]></category>

		<category><![CDATA[ruby programación]]></category>

		<guid isPermaLink="false">http://docecosas.com/?p=1655</guid>
		<description><![CDATA[Leyendo una entrevista sobre Ruby y herramientas de visualización me he acordado de algo que me está pasando y que se resume en una parte de la entrevista.
So if execution time isn&#8217;t important, why Ruby then? Why not use Java, C or Erlang? I think there are two main reasons. The first is Ruby&#8217;s ability [...]]]></description>
			<content:encoded><![CDATA[<p>Leyendo una <a href="http://on-ruby.blogspot.com/2009/02/matt-bauer-interview.html">entrevista sobre Ruby y herramientas de visualización</a> me he acordado de algo que me está pasando y que se resume en una parte de la entrevista.</p>
<blockquote><p>So if execution time isn&#8217;t important, why Ruby then? Why not use Java, C or Erlang? I think there are two main reasons. The first is Ruby&#8217;s ability to easily access and transform data and Ruby&#8217;s ability to integrate with almost anything.</p></blockquote>
<p>En el trabajo llevo varias semanas trabajando en una herramienta que ayuda al departamento comercial, se trata de una serie de proramas situados entre facturación y ventas que les ayuda a analizar costes y realizar una oferta comercial lo más ajustada. Para ello los distintos programas trabajan con varias decenas de listas de coste, cada uno con miles de precios, para intentar unificarlas y generar una lista de venta que tiene unas centenas de precios.</p>
<p>Siento ser tan vago en detalles, pero diré que se manipulan listas de códigos telefónicos, destinos y precios/costes. Para ello se necesitan transformar muchas filas almacenadas en bases de datos mediante árboles y algunos otros algoritmos más o menos complejos. Todo ello empecé a programarlo en Ruby, que es un lenguaje que permite un <em>prototipado</em> muy rápido, llevandome una grata sorpresa ya que los cálculos se hacían en segundos.</p>
<p>Al ver que los tiempoes eran muy manejables, cree una aplicación Rails, metí las librerías en <tt>lib/</tt> y doté de un frontend vía web a la aplicación. Por ahora ha seguido creciendo, y en total el proceso que realizan mensualmente lleva unos 10 minutos. En un principio había pensado reescribir la aplicación, o las librerías, en C# para ganar velocidad, pero ¿realmente merece la pena el esfuerzo? Como mucho, podría ganar 10 minutos cada mes, suponiendo que el proceso pasara a ser instantáneo al reescribirse en un lenguaje compilado.</p>
<p>Más de una vez todos nosotros nos habremos encontrado con la situación de que se necesite alguna herramienta interna, y puesto que los requisitos de ese tipo de aplicaciones suele ser muy diferente, en la mayoría de ocasiones nos vale tener una aplicación con calidad de prototipo que podamos desarrollar rápidamente utilizando un lenguaje/plataforma que quizás no sea la ideal, pero es lo suficientemente rápido y nos permite agilizar la creación de nuestro pequeño monstruo.</p>
<p>Supongo que da para otro post hablar de esos pequeños monstruitos que van creciendo y acaban convirtiendose en algo que no es lo que estaba pensado ¡cuánto echaremos de menos no haberlo planteado y desarrollado de otra forma en esos momentos!</p>
]]></content:encoded>
			<wfw:commentRss>http://docecosas.com/blog/ruby-suficientemente-rapido.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>07/02/2009</title>
		<link>http://www.flickr.com/photos/segfault/3260560310/</link>
		<comments>http://www.flickr.com/photos/segfault/3260560310/#comments</comments>
		<pubDate>Sat, 07 Feb 2009 14:27:44 +0000</pubDate>
		<dc:creator>SegFault</dc:creator>
		
		<category><![CDATA[Ego]]></category>

		<guid isPermaLink="false">tag:flickr.com,2005:/photo/3260560310</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[]]></content:encoded>
			<wfw:commentRss>http://www.flickr.com/photos/segfault/3260560310/feed</wfw:commentRss>
		</item>
		<item>
		<title>UTF-8 evita solucionar los problemas de codificación</title>
		<link>/~SegFault/journal/31591?from=rss</link>
		<comments>/~SegFault/journal/31591?from=rss#comments</comments>
		<pubDate>Wed, 21 Jan 2009 18:01:11 +0000</pubDate>
		<dc:creator>SegFault</dc:creator>
		
		<category><![CDATA[Ego]]></category>

		<guid isPermaLink="false">tag:barrapunto.com://b5d94921f46d65bb9d6d2c1f4a2a750e</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[]]></content:encoded>
			<wfw:commentRss>/~SegFault/journal/31591?from=rss/feed</wfw:commentRss>
		</item>
		<item>
		<title>UTF-8 evita solucionar los problemas de codificación</title>
		<link>http://barrapunto.com/~SegFault/journal/31591?from=rss</link>
		<comments>http://barrapunto.com/~SegFault/journal/31591?from=rss#comments</comments>
		<pubDate>Wed, 21 Jan 2009 18:01:11 +0000</pubDate>
		<dc:creator>SegFault</dc:creator>
		
		<category><![CDATA[Ego]]></category>

		<guid isPermaLink="false">tag:barrapunto.com://2b577b6bd505129099e127de5f439d9c</guid>
		<description><![CDATA[En la anterior entrada mencioné un problema de
        Twitter con el Unicode, y también prometí que diría porqué creo que
se producen tantos problemas con los encodings y a qué se debe que mucha gente
no entienda el problema de las distintas codificaciones. ¿Por qué creo que
ocurre eso? Por falta [...]]]></description>
			<content:encoded><![CDATA[<p>En la anterior entrada mencioné <a
        href="http://barrapunto.com/~SegFault/journal/31585">un problema de
        Twitter con el Unicode</a>, y también prometí que diría porqué creo que
se producen tantos problemas con los encodings y a qué se debe que mucha gente
no entienda el problema de las distintas codificaciones. ¿Por qué creo que
ocurre eso? Por falta de visibilidad. Para que un problema pueda resolverse de
una forma más o menos definitiva es importante que exista consciencia sobre ese
problema, y el de los problemas de codificación está bastante escondido a pesar
de todo.</p>

<p>Es más, creo que gran parte de esa invisibilidad del problema puede deberse
a la existencia de <a href="http://es.wikipedia.org/wiki/UTF-8">UTF-8</a>. Uno
de las características de UTF-8 es su <em>compatibilidad hacía atrás</em> con
ASCII extendido, y he ahí la fuente de gran parte de los problemas, ya que
mucha gente cree no tener un problema haciendo pruebas, hasta que de repetne
aparecen unos acentos, eñes, ß, umlauts o signos arábicos y todo deja de
funcionar tan bien.</p>

<p>¿Y qué tiene de malo utilizar UTF-8? Intentaré explicarlo con un ejemplo.
Supongamos que el nuevo presidente del mundo, Barack Obama decide reformar la
constitución norteamericana y le envía el fichero que contiene tan sacro texto
a 2 grupos de trabajo para que hagan sus modificaciones, y pasado el periodo de
trabajo el señor Obama recibe los 2 ficheros de vuelta, y puesto que ha
decidido hacer una apuesta fuerte por la tecnología decide que lo mejor es usar
una herramienta automática para hacer merge. Obama decide revisar el nuevo
borrador de la Constitución y ¡horror! hay partes que se han convertido en
signos indescifrables ¿es que esos expertos no saben hacer su trabajo o qué?</p>

<p>Posiblemente el problema haya venido a la unión de 2 factores: la
compatibilidad de ASCII con ISO-8859-1 y la compatibilidad de ASCII con UTF-8.
La antigüedad de la constitución americana nos garantiza que no estaba escrita
ni en ISO ni en UTF-8, lo que nos deja nada más que pensar que estaba redactada
en un .txt en ASCII :-). Ese fichero ASCII se pasó a los 2 grupos de trabajo,
cada uno decidió utilizar un método distinto. El primer grupo publicó el
fichero de la Constitución en la portada de Slashdot para que todos los
comentaristas aportaran sus modificaciones. Puesto que /. utiliza ISO-8859-1
como encoding, al pegarle todos los bytes de la constitución se sigue leyendo
perfectamente. El segundo grupo decidió editar el texto en una Ubuntu usando
vim, como mandan los cánones. Puesto que Ubuntu por defecto viene configurado
en UTF-8 y que hay una compatibilidad, vim leyó correctamente el fichero como
UTF-8 ya que la ristra de bytes es la misma.</p>

<p>¿Y eso que tuvo de malo? Puesto que Obama apostó por la participación de las
minorías se han introducido palabras españolas, de hecho el documento que venía
de Slashdot contenía la palabra América (con tilde) y en el segundo documento
incluyeron la expresión "¡viva el presidente!" (abriendo exclamación). El
documento resultado final puede ser ASCII, ISO o UTF-8, pero de cualquiera de
las 3 formas se verían mal el la é o la ¡ (las 2 en caso de ASCII).</p> 
<p><b>Moraleja</b></p> 
 
<p>¿Cuál es la moraleja de todo esto? Que cuando estamos trabajando con textos 
en ISO-8859-1 y UTF-8 la compatibilidad de UTF-8 nos puede hacer creer que todo 
está funcionando bien sin tener que recodificar las cadenas, siempre y cuando 
estemos utilizando caracteres ASCII (escribiendo en ingés, no acentuando y 
todas esas cosas). ¿Qué ocurriría si no existiera UTF-8? Si por ejemplo las
cadenas estuvieran codificadas todas en UTF-16, en nuestras pruebas sin
recodificación ni un mísero "Hello world" funcionaría correctamente.</p>

<p>Admito que es probable que sin la compatibilidad de UTF-8 quizás la adopción
de Unicode sería mucho más lento, pero también seríamos mucho más conscientes
de los problemas, ya que detectariamos los problemas con las primeras pruebas,
y veriamos que "simplemente no funciona", que posiblemente sea mejor que un
"parece que funciona" como primer paso para resolver un problema.</p>

<p>Y toda esa parrafada es la explicación a porqué creo que UTF-8 tiene gran
parte de culpa de que aún hoy en día haya tantos problemas trabajando con
codificaciones y existan tantos problemas que desconozcan totalmente el
problema.</p>
]]></content:encoded>
			<wfw:commentRss>http://barrapunto.com/~SegFault/journal/31591?from=rss/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
