<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">

<channel>
	<title>Planet Warp</title>
	<link>http://planet.warp.es</link>
	<language>en</language>
	<description>Planet Warp - http://planet.warp.es</description>

<item>
	<title>Pablo: Testing ntrack</title>
	<guid>http://minimoesfuerzo.org/2010/03/12/testing-ntrack/</guid>
	<link>http://minimoesfuerzo.org/2010/03/12/testing-ntrack/</link>
	<description>&lt;h4&gt;Background&lt;/h4&gt;
&lt;p&gt;Until &lt;a href=&quot;http://projects.gnome.org/NetworkManager/&quot;&gt;NetworkManager&lt;/a&gt; appeared in scene, network management was painful on Linux. Connecting to a wireless network or a VPN involved several command line scripts, editing files with alien syntax, etc. Seriously, it was a joke when compared to what other operating systems had available. So when NetworkManager was released it filled a nice gap in the Linux Desktop, and everyone rejoiced.&lt;/p&gt;
&lt;h4&gt;The problem&lt;/h4&gt;
&lt;p&gt;In early 2008, some key apps of the Linux desktop were patched to listen to NetworkManager for connectivity status. Applications such as &lt;a href=&quot;http://www.mozilla.com/en-US/firefox/firefox.html&quot;&gt;Firefox&lt;/a&gt; or &lt;a href=&quot;http://www.pidgin.im/&quot;&gt;pidgin&lt;/a&gt; would not work if &lt;strong&gt;NetworkManager considered&lt;/strong&gt; the system wasn't online.&lt;/p&gt;
&lt;p&gt;As you might know, I have been involved in Linux connection managers since late 2006. The software were I have spent most of my energies, &lt;a href=&quot;http://www.wader-project.org/&quot;&gt;Wader&lt;/a&gt;, suffered from this. As the connection was established without NetworkManager, the applications that listened to its signals thought they were offline and thus did not work. Some apps had a workaround (like Firefox) while others didn't (pidgin).&lt;/p&gt;
&lt;p&gt;Say you want to connect via a competing connection manager, such as &lt;a href=&quot;http://wicd.sourceforge.net/&quot;&gt;WICD&lt;/a&gt;, Firefox &amp;amp; co will not work. Say you are a token ring user, well you are out of luck, NetworkManager has no plans to support token ring. As you can see the current status is not that good if you are not a NetworkManager developer/user.&lt;/p&gt;
&lt;h4&gt;The solution&lt;/h4&gt;
&lt;p&gt;Thankfully, &lt;a href=&quot;http://www.asoftsite.org/s9y/&quot;&gt;Alexander Sack&lt;/a&gt; stepped up and started working on &lt;a href=&quot;http://launchpad.net/ntrack&quot;&gt;ntrack&lt;/a&gt; after some talks we had in a &lt;a href=&quot;https://wiki.ubuntu.com/UDS&quot;&gt;UDS&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;ntrack is described on its homepage as:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&quot;ntrack aims to be a lightweight and easy to use library for application developers that
want to get events on network online status changes such as online, offline or route changes.&quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;ntrack does one thing, and excels at it. It just listens for Netlink messages regarding route changes, and will infer if it is connected from them. As you can see, this approach will work regardless of the connection manager or underlying technology used. In order to be online, you &lt;strong&gt;must&lt;/strong&gt; create a route. Thus the responsibility of determining whether we are connected or not resides on a small daemon completely &lt;b&gt;independent&lt;/b&gt; of the connection manager. This is a good thing.&lt;/p&gt;
&lt;p&gt;Today I have tested the last ntrack release (0.6) and a patched &lt;a href=&quot;http://live.gnome.org/Empathy&quot;&gt;empathy&lt;/a&gt; that listens to ntrack rather than NetworkManager and it worked wonderfully! I tested it with both PPP and NDIS (HSO) dialup and ntrack detected immediately if I was connected or not. Nice job Alexander :)&lt;/p&gt;
&lt;h4&gt;Future steps&lt;/h4&gt;
&lt;p&gt;We are going to &quot;lobby&quot; for its inclusion on Debian/Ubuntu, and patch those applications listening to NetworkManager to listen to ntrack instead. ntrack has already &lt;a href=&quot;http://packages.qa.debian.org/n/ntrack/news/20100310T134745Z.html&quot;&gt;been accepted in Debian&lt;/a&gt; and it will automatically appear in the next Ubuntu version (Lucid+1). Hopefully the rest of the distros will follow, and in 1-2 years we will have recovered from this error.&lt;/p&gt;</description>
	<pubDate>Fri, 12 Mar 2010 09:54:30 +0000</pubDate>
</item>
<item>
	<title>Warp Networks: Abierta incripción: MySQL 5.1 para administradores de bases de datos</title>
	<guid>http://warp.es/?p=298</guid>
	<link>http://feedproxy.google.com/~r/WarpNetworks/~3/UX6puApPouo/</link>
	<description>&lt;p class=&quot;western&quot;&gt;&lt;span&gt;&lt;span&gt;Abierta la inscripción para el curso &lt;strong&gt;MySQL 5.1 para administradores de bases de datos. &lt;/strong&gt;En este curso &lt;span lang=&quot;es-ES&quot;&gt;&lt;span&gt;un instructor autorizado MySQL te enseñará como instalar MySQL, crear y ejecutar estrategias de &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;em&gt;&lt;span&gt;&lt;span&gt;&lt;span lang=&quot;es-ES&quot;&gt;&lt;span&gt;backup&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;span&gt;&lt;span&gt;&lt;span lang=&quot;es-ES&quot;&gt;&lt;span&gt;, crear procedimientos almacenados de forma segura, y mucho más. Además, el curso incluye la preparación para obtener el&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span lang=&quot;es-ES&quot;&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;&lt;span lang=&quot;es-ES&quot;&gt;&lt;strong&gt;Certified MySQL 5.0 DBA.&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;span&gt;&lt;span lang=&quot;es-ES&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&quot;western&quot;&gt;
&lt;p class=&quot;western&quot; lang=&quot;es-ES&quot;&gt;&lt;span&gt;&lt;span&gt;El número de plazas limitado. &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;strong&gt;&lt;a href=&quot;http://warp.es/inscripcion/47/&quot;&gt;Inscribete ya&lt;/a&gt;, y asegura tu formación!&lt;/strong&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; &lt;span&gt;&lt;span&gt;Fechas: &lt;strong&gt;5 al 9 de 	abril 2010&lt;br /&gt;
&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt;Duración: &lt;strong&gt;40 horas&lt;/strong&gt; distribuidas en 5 sesiones (lunes a viernes)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt;Lugar: Zaragoza&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt;Inversión: 1.500€&lt;/span&gt;&lt;/span&gt; (*)&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt;Requisitos: Haber 	realizado el curso MySQL for Beginners, o tener conocimientos 	previos en Bases de datos y SQL.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p class=&quot;western&quot; lang=&quot;es-ES&quot;&gt;&lt;em&gt;&lt;span&gt;&lt;span&gt;(*) Informate sobre como subvencionar la inscripción a través de la &lt;a title=&quot;Fundación Tripartita&quot; href=&quot;http://www.fundaciontripartita.org/&quot;&gt;Fundación Tripartita&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p class=&quot;western&quot; lang=&quot;es-ES&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&quot;western&quot; lang=&quot;es-ES&quot;&gt;&lt;span&gt;&lt;span&gt;Otros cursos MySQL con período de inscripción abierto:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p class=&quot;western&quot;&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;&lt;span lang=&quot;es-ES&quot;&gt;&lt;span&gt;&lt;strong&gt;MySQL 	Alta Disponibilidad:&lt;/strong&gt; 3 al 5 de mayo &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;span&gt;&lt;span lang=&quot;es-ES&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p class=&quot;western&quot;&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;&lt;span lang=&quot;es-ES&quot;&gt;&lt;span&gt;&lt;strong&gt;MySQL 	Optimización del Rendimiento:&lt;/strong&gt; 17 al 20 de mayo &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p class=&quot;western&quot;&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;&lt;span lang=&quot;es-ES&quot;&gt;&lt;span&gt;&lt;strong&gt;MySQL 	Cluster: &lt;/strong&gt;24 al 26 de mayo &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;span&gt;&lt;span lang=&quot;es-ES&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p class=&quot;western&quot;&gt;&lt;strong&gt;&lt;span&gt;&lt;span&gt;&lt;span lang=&quot;es-ES&quot;&gt;&lt;span&gt;&lt;strong&gt;MySQL 	para Administradores de Bases de Datos: &lt;/strong&gt;14 al 18 de junio&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;Contacto para consultas e inscripciones: &lt;a href=&quot;mailto:training@warp.es&quot;&gt;training@warp.es&lt;/a&gt; / +34 976 392 644&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;img src=&quot;http://feeds.feedburner.com/~r/WarpNetworks/~4/UX6puApPouo&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Mon, 08 Mar 2010 17:39:43 +0000</pubDate>
</item>
<item>
	<title>Blaxter: Code Monkey like Fritos</title>
	<guid>http://bicosyes.com/?p=922</guid>
	<link>http://bicosyes.com/code-monkey-like-fritos/</link>
	<description>&lt;p&gt;Until now I've never heard about this song, about a code monkey, funny and nice at the same time. The same songwriter, &lt;a href=&quot;http://en.wikipedia.org/wiki/Jonathan_Coulton&quot;&gt;Jonathan Coulton&lt;/a&gt;, has a lot more of similar (geek) songs. Awesome.&lt;/p&gt;
&lt;div class=&quot;center&quot;&gt;&lt;embed src=&quot;http://www.youtube.com/v/7s8S7QxpjeY&amp;hl=es_ES&amp;fs=1&amp;rel=0&quot; type=&quot;application/x-shockwave-flash&quot; width=&quot;480&quot; height=&quot;385&quot;&gt;&lt;/embed&gt;&lt;/div&gt;
&lt;blockquote&gt;&lt;p&gt;
Code Monkey get up get coffee&lt;br /&gt;
Code Monkey go to job&lt;br /&gt;
Code Monkey have boring meeting with boring manager Rob&lt;br /&gt;
Rob say Code Monkey very diligent&lt;br /&gt;
but his output stink&lt;br /&gt;
his code not functional or elegant&lt;br /&gt;
what do Code Monkey think&lt;br /&gt;
Code Monkey think maybe manager want to write goddamn login page himself&lt;br /&gt;
Code Monkey not say it out loud&lt;br /&gt;
Code Monkey not crazy just proud&lt;/p&gt;
&lt;p&gt;Code Monkey like Fritos&lt;br /&gt;
Code Monkey like Tab and Mountain Dew&lt;br /&gt;
Code Monkey very simple man&lt;br /&gt;
with big warm fuzzy secret heart&lt;br /&gt;
Code Monkey like you&lt;br /&gt;
Code Monkey like you&lt;/p&gt;
&lt;p&gt;Code Monkey hang around at front desk&lt;br /&gt;
tell you sweater look nice&lt;br /&gt;
Code Monkey offer buy you soda&lt;br /&gt;
bring you cup bring you ice&lt;br /&gt;
you say no thank you for the soda cause&lt;br /&gt;
soda make you fat&lt;br /&gt;
anyway you busy with the telephone&lt;br /&gt;
no time for chat&lt;/p&gt;
&lt;p&gt;Code Monkey have long walk back to cubicle&lt;br /&gt;
he sit down pretend to work&lt;br /&gt;
Code Monkey not thinking so straight&lt;br /&gt;
Code Monkey not feeling so great&lt;/p&gt;
&lt;p&gt;Code Monkey like Fritos&lt;br /&gt;
Code Monkey like Tab and Mountain Dew&lt;br /&gt;
Code Monkey very simple man&lt;br /&gt;
with big warm fuzzy secret heart&lt;br /&gt;
Code Monkey like you&lt;br /&gt;
Code Monkey like you a lot&lt;/p&gt;
&lt;p&gt;Code Monkey have every reason&lt;br /&gt;
to get out this place&lt;br /&gt;
Code Monkey just keep on working&lt;br /&gt;
to see your soft pretty face&lt;br /&gt;
Much rather wake up eat a coffee cake&lt;br /&gt;
Take bath, take nap&lt;br /&gt;
This job fulfilling in creative way&lt;br /&gt;
such a load of crap&lt;br /&gt;
Code Monkey think someday he have everything even pretty girl like you&lt;br /&gt;
Code Monkey just waiting for now&lt;br /&gt;
Code Monkey say someday, somehow&lt;/p&gt;
&lt;p&gt;Code Monkey like Fritos&lt;br /&gt;
Code Monkey like Tab and Mountain Dew&lt;br /&gt;
Code Monkey very simple man&lt;br /&gt;
with big warm fuzzy secret heart&lt;br /&gt;
Code Monkey like you&lt;br /&gt;
Code Monkey like you&lt;/p&gt;&lt;/blockquote&gt;
&lt;img src=&quot;http://bicosyes.com/?ak_action=api_record_view&amp;id=922&amp;type=feed&quot; alt=&quot;&quot; /&gt;</description>
	<pubDate>Sat, 06 Mar 2010 20:01:55 +0000</pubDate>
</item>
<item>
	<title>Warp Networks: Curso certificado eBox en el CTA de Zaragoza</title>
	<guid>http://warp.es/?p=290</guid>
	<link>http://feedproxy.google.com/~r/WarpNetworks/~3/5ElK3WfGcf8/</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://warp.es/wp-content/uploads/2010/02/eboxtrainingpartner.png&quot;&gt;&lt;img class=&quot;size-medium wp-image-296 alignright&quot; title=&quot;eBox Training Partner&quot; src=&quot;http://warp.es/wp-content/uploads/2010/02/eboxtrainingpartner.png&quot; alt=&quot;&quot; width=&quot;280&quot; height=&quot;111&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Warp Networks,  como partner oficial de formación de &lt;a href=&quot;http://www.ebox-technologies.com/&quot;&gt;eBox Technologies&lt;/a&gt;, informa que en  el &lt;a href=&quot;http://inaem.aragon.es/portal/page/portal/INA/CentroFormacion/CTA%20Centro%20Tecnologias%20Avanzadas%20Zaragoza&quot;&gt;Centro de Tecnologías Avanzadas (CTA) de Zaragoza&lt;/a&gt;, se van a impartir dos cursos de la plataforma certificada eBox (marzo 2010). Los cursos, &lt;a href=&quot;http://inaem.aragon.es/portal/page/portal/INA/CentroFormacion/CTA%20Centro%20Tecnologias%20Avanzadas%20Zaragoza/CTA%20Programa%20TIC/CTA%20Programacion%20TIC/CTA%20eBox&quot;&gt;&amp;#8220;Administración de sistemas con Ubuntu - Aplicación eBox&amp;#8221;&lt;/a&gt;, se dirigen a los empleados, desempleados y profesionales independientes  interesados en la gestión de redes basada en Linux. Ambos cursos van a impartirse por el equipo docente de Warp Networks, que cuenta con profesores certificados en la plataforma eBox.&lt;/p&gt;
&lt;p&gt;Los cursos están subvencionados al 100% por el Instituto Aragonés de Empleo y se desarrollarán entre el 8 y el 26 de marzo - uno en horario de mañanas, con una duración total de 60 horas y otro en horario de tardes, con una duración total de 48 horas. Ambos cursos  se imparte en castellano e incluyen un examen de certificación. Los alumnos interesados &lt;a href=&quot;http://inaem.aragon.es/portal/page/portal/INA/CentroFormacion/CTA%20Centro%20Tecnologias%20Avanzadas%20Zaragoza/CTA%20Inscripcion&quot;&gt;pueden solicitar,   hasta el 26 de febrero, su preinscripción&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Estos cursos están dirigidos a  profesionales con conocimientos básicos sobre la gestión de redes informáticas. Por ejemplo, administradores de sistemas Windows que estén interesados en conseguir de manera rápida experiencia en la gestión de redes informáticas con sistemas basados en Linux. Después de recibir estos cursos, los estudiantes serán capaces de entender conceptos sobre gestión de equipos de red y de crear las redes de &lt;span&gt;pequeñas y  medianas &lt;/span&gt;&lt;span&gt;empresas mediante la plataforma eBox.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Los cursos incluyen un amplio conjunto de ejercicios prácticos con la plataforma eBox, todas ellas llevadas a cabo en un entorno virtual instalado en el PC de cada estudiante.&lt;span&gt; &lt;/span&gt;El &lt;a href=&quot;http://inaem.aragon.es/portal/page/portal/INA/CentroFormacion/CTA%20Centro%20Tecnologias%20Avanzadas%20Zaragoza/CTA%20Programa%20TIC/CTA%20Programacion%20TIC/CTA%20eBox&quot;&gt;programa detallado del curso está disponible en la página web del CTA&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;El número máximo de estudiantes aceptados para cada curso será de 15 y los estudiantes serán seleccionados en base a su currículum vítae y un examen de conocimientos previos, que se realizará el próximo 1 de marzo en las instalaciones del CTA.&lt;/p&gt;
&lt;img src=&quot;http://feeds.feedburner.com/~r/WarpNetworks/~4/5ElK3WfGcf8&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Tue, 23 Feb 2010 16:40:37 +0000</pubDate>
</item>
<item>
	<title>Hector: Wader-UI prototyping with Qt and D-BUS</title>
	<guid>http://people.warp.es/~xtor/blog/?p=664</guid>
	<link>http://people.warp.es/~xtor/blog/?p=664</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://wader-project.org&quot;&gt;Wader&lt;/a&gt;, and &lt;a href=&quot;https://forge.betavine.net/projects/bcm/&quot;&gt;Betavine Connection Manager&lt;/a&gt; &lt;a href=&quot;http://www.vodafone.com/start/innovation/betavine/vodafone_mobile_connect.html&quot;&gt;since 3.0&lt;/a&gt;, your favorite cellnet connection managers, sport a nice GTK+ user interface completely decoupled from their core functionality, which runs as a standalone component, using &lt;a href=&quot;http://en.wikipedia.org/wiki/D-Bus&quot;&gt;D-BUS&lt;/a&gt; for &lt;a href=&quot;http://en.wikipedia.org/wiki/Inter-process_communication&quot;&gt;IPC&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;As one of my regular hacking activities, this weekend I decided to take a look at Qt&amp;#8217;s Python bindings, and try to build a proof-of-concept Qt Wader UI interacting with a core using D-BUS.&lt;/p&gt;
&lt;p&gt;I tried the two existing Qt Python bindings,&lt;a href=&quot;http://en.wikipedia.org/wiki/PyQt&quot;&gt; Riverbank&amp;#8217;s PyQt4&lt;/a&gt; (GPL) and &lt;a href=&quot;http://en.wikipedia.org/wiki/PySide&quot;&gt;Nokia&amp;#8217;s PySide&lt;/a&gt; (LGPL), concluding that, at the moment, the former offers a more mature and reliable alternative.&lt;/p&gt;
&lt;p&gt;The first step was reproducing Wader main window with &lt;a href=&quot;http://qt.nokia.com/products/developer-tools/developer-tools&quot;&gt;Qt Designer&lt;/a&gt;. Here is my first try &lt;img src=&quot;http://people.warp.es/~xtor/blog/wp-includes/images/smilies/icon_razz.gif&quot; alt=&quot;:P&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;http://people.warp.es/~xtor/img/wader_1st_try.png&quot; title=&quot;¿Pero tú has visto cutééééé?&quot; class=&quot;aligncenter&quot; width=&quot;266&quot; height=&quot;177&quot; /&gt;&lt;/p&gt;
&lt;p&gt;After some minutes tweaking the interface, I was able to remove most of the &lt;i&gt;ugliness&lt;/i&gt; &amp;#8230;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;http://people.warp.es/~xtor/img/wader_qter.png&quot; title=&quot;Second qtry...&quot; class=&quot;aligncenter&quot; width=&quot;183&quot; height=&quot;112.5&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I played with both QtUiTools&amp;#8217; UiLoader (UI built in runtime) and Python uic (UI built in &amp;#8220;compile&amp;#8221; time), getting a neat MainWindow class generated with the user interface compiler. I prefer this approach because it allows subclassing the MainWindow, and so it gives me a cleaner code with the autoconnection features (e.g. &lt;tt&gt;on_connButton_clicked&lt;/tt&gt;):&lt;/p&gt;
&lt;pre&gt;
class MainWindow(QMainWindow, Ui_MainWindow):

	def __init__(self, parent=None):
		super(MainWindow, self).__init__(parent)
		self.setupUi(self)

	def on_connButton_clicked(self):
		print &quot;Connect button clicked&quot;
		self.dbus.screenOff()
&lt;/pre&gt;
&lt;p&gt;Then I created a simple class to bridge between D-BUS and the UI. I implemented two simple features: a call to a method which turns the screen off, and a handler for the screensaver activation signal. This way I was able to test D-BUS methods and signals with a single action &lt;img src=&quot;http://people.warp.es/~xtor/blog/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt;  The code worked with both Qt and Glib main loops:&lt;/p&gt;
&lt;pre&gt;
class DBusBridge():

	def __init__(self):

		self.mainloop = dbus.mainloop.qt.DBusQtMainLoop(set_as_default=True)

		self.sessionBus = dbus.SessionBus()
		self.powerdevil = self.sessionBus.get_object('org.freedesktop.PowerManagement', '/modules/powerdevil')
		self.screensaver = self.sessionBus.get_object('org.freedesktop.ScreenSaver', '/ScreenSaver')

		dbus.set_default_main_loop(self.mainloop)

		self.screensaver.connect_to_signal('ActiveChanged', self.screensaverActivated, sender_keyword='sender', destination_keyword='dest', interface_keyword='interface', member_keyword='member', path_keyword='path', message_keyword='message')

		print &quot;D-BUS bridge initialized&quot;

	# D-BUS method call
	def screenOff(self):
		self.powerdevil.turnOffScreen(dbus_interface='org.kde.PowerDevil')

	# D-BUS signal handler
	def screensaverActivated(self, *args, **kwargs):
		print &quot;got signal from %s&quot; % kwargs
		print kwargs['message'].get_args_list()
&lt;/pre&gt;
&lt;p&gt;So here is the main program code: it just creates the D-BUS bridge and the main window, shows it, and then lets main loop to take control:&lt;/p&gt;
&lt;pre&gt;
from PyQt4 import *
from MainWindow import *
from DBusBridge import *

import sys

if __name__ == &quot;__main__&quot;:
	app = QApplication(sys.argv)

	bridge = DBusBridge()

	mainWindow = MainWindow(bridge)
	mainWindow.show()

	sys.exit(app.exec_())
&lt;/pre&gt;
&lt;p&gt;To be able to link the connect button with the D-BUS method, we pass bridge as a parameter to MainWindow&amp;#8217;s constructor, and then add the call in &lt;tt&gt;on_connButton_clicked&lt;/tt&gt;:&lt;/p&gt;
&lt;pre&gt;
from PyQt4.QtGui import *
from Ui_MainWindow import *

class MainWindow(QMainWindow, Ui_MainWindow):

	def __init__(self, bridge, parent=None):
		super(MainWindow, self).__init__(parent)
		self.setupUi(self)
		self.dbus = bridge

	def on_connButton_clicked(self):
		print &quot;Connect button clicked&quot;
		self.dbus.screenOff()
&lt;/pre&gt;
&lt;p&gt;To conclude, some interesting tutorials and examples about Python and D-BUS:&lt;/p&gt;
&lt;li&gt;&lt;a href=&quot;http://techbase.kde.org/Development/Languages/Python/PyKDE_DBus_Tutorial&quot;&gt;PyKDE D-BUS Tutorial&lt;/a&gt;: powerdevil stuff and method invocation example (Qt and KDE centric)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://lateral.netmanagers.com.ar/stories/BBS54.html&quot;&gt;D-BUS Reactor&lt;/a&gt;: includes a signal handler example and a nice step by step explanation
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://dbus.freedesktop.org/doc/dbus-python/doc/tutorial.html&quot;&gt;Python-DBUS Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.pyside.org/docs/pyside/dbus.html&quot;&gt;PySide D-BUS integration example&lt;/a&gt;&lt;/li&gt;</description>
	<pubDate>Sun, 14 Feb 2010 13:59:47 +0000</pubDate>
</item>
<item>
	<title>Jorge: Review of Android OS looking at the Top 5 apps in the Market</title>
	<guid>http://people.warp.es/~jorge/blog/?p=242</guid>
	<link>http://people.warp.es/~jorge/blog/?p=242</link>
	<description>&lt;p&gt;As a heavy user of my Android powered mobile phone, I&amp;#8217;ve detected some &amp;#8216;must to have&amp;#8217; improvements, not yet officialy developed by Google.&lt;/p&gt;
&lt;p&gt;A possible solution to these Android lacks, could be installing the Top 5 paid apps in the Market, but it isn&amp;#8217;t the final solution whatsoever. Let&amp;#8217;s see some of the top apps in the market:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Power manager: short battery life is not only an Android related issue, but I&amp;#8217;m sure they could make more efforts to improve the battery life.&lt;/li&gt;
&lt;li&gt;Task manager: probably related with the short battery life, but an easy way to close opened applications shouldn&amp;#8217;t be so difficult to implement. Something to learn from Palm WebOS is their impressive window manager, you can see all the opened apps a la expose, and/or close a choosen app. They call it &lt;em&gt;&lt;a href=&quot;http://developer.palm.com/index.php?option=com_content&amp;#038;view=article&amp;#038;id=1761&amp;#038;Itemid=42&amp;#038;limitstart=1&quot;&gt;card view&lt;/a&gt;&lt;/em&gt;. It&amp;#8217;s the mayor usability improvement I&amp;#8217;ve seen in the latest couple of OS-mobile-development years.&lt;/li&gt;
&lt;li&gt;Better keyboard: this is a very big problem for me. My little experience with the iPhone virtual keyboard was pretty nice, but on Android devices, with the same or better screen resolution, it&amp;#8217;s very hard to write without having mistakes. A new keyboard layout, with more space bettwen rows of letters could be the solution.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Google, please, listen to my prayers&amp;#8230; or you could paid &lt;a href=&quot;http://warp.es&quot;&gt;Warp&lt;/a&gt; to do the job &lt;img src=&quot;http://people.warp.es/~jorge/blog/wp-includes/images/smilies/icon_wink.gif&quot; alt=&quot;;)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;div id=&quot;mainphotoarea&quot;&gt;&lt;/div&gt;</description>
	<pubDate>Fri, 12 Feb 2010 20:57:33 +0000</pubDate>
</item>
<item>
	<title>Jorge: Como mejorar las reuniones de trabajo</title>
	<guid>http://people.warp.es/~jorge/blog/?p=202</guid>
	<link>http://people.warp.es/~jorge/blog/?p=202</link>
	<description>&lt;p&gt;Hace poco leí un artículo que sugería diferentes acciones para mejorar y hacer más productiva una reunión de trabajo. Este artículo me llevo a otro, este a otro, y a otro&amp;#8230;&lt;/p&gt;
&lt;p&gt;Lo cierto es que recopilé unos cuantas sugerencias que luego contaré, y que deberíamos aplicar por Warp, pero también me di cuenta de que, por lo visto, hay dos tipos de productividad en las reuniones:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Las que terminan lo más rápido posible&lt;/li&gt;
&lt;li&gt;Las que terminan con conclusiones, y tareas, sobre lo que has ido a hablar, centrándote en la agenda&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Yo me quedo con la segunda, ya que la primera, aunque no dediques ni 10 minutos, pueden significar 10 minutos tirados a la basura.&lt;/p&gt;
&lt;p&gt;Las ideas que me han parecido más significativas para sacar provecho de una reunión son las siguientes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Reloj de pared para tener bien presente la hora en todo momento&lt;/li&gt;
&lt;li&gt;Asignar un note-taker. Nadie más puede tener distracciones electrónicas, salvo él.&lt;/li&gt;
&lt;li&gt;Prohibir telefonos, ordenadores, etc. Las distracciones fuera.&lt;/li&gt;
&lt;li&gt;Tener agenda previa, y seguirla en todo momento. El note-taker es la figura indicada para desempeñar esta función&lt;/li&gt;
&lt;li&gt;No planificar reuniones largas, después se alargarán ellas solas, además demasiados puntos en el orden del día sugieren que no tendrán demasiada relación entre si, y podría estar más justificado hacer varios encuentros, con personas diferentes&lt;/li&gt;
&lt;li&gt;Al finalizar, hacer un repaso de las conclusiones y tareas, para evitar olvidarnos alguna cosa. Estimar todas las tareas es una buena idea, así podemos planificar el siguiente encuentro para repasar si hemos alcanzado los objetivos que habían resultado de la reunión previa&lt;/li&gt;
&lt;li&gt;Stand-up meetings. Esta me ha gustado especialmente. Si todo el mundo está de pie, se centrarán en los puntos de la reunión, con el único objetivo de no cansarse o acabar con los pies molidos &lt;img src=&quot;http://people.warp.es/~jorge/blog/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:-)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;div id=&quot;mainphotoarea&quot;&gt;&lt;/div&gt;</description>
	<pubDate>Fri, 12 Feb 2010 09:10:15 +0000</pubDate>
</item>
<item>
	<title>Koke: Spotify is the new Napster</title>
	<guid>http://www.jorgebernal.info/?p=495</guid>
	<link>http://www.jorgebernal.info/technology/spotify-napster</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/koke/3538385447/&quot;&gt;&lt;img src=&quot;http://www.jorgebernal.info/wp-content/uploads/2010/01/3538385447_4d8a4d7450.jpg&quot; alt=&quot;&quot; title=&quot;Music&quot; width=&quot;700&quot; height=&quot;200&quot; class=&quot;alignnone size-full wp-image-503&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I was searching for a solution to a small Spotify bug and found this user praise: &lt;a href=&quot;http://getsatisfaction.com/spotify/topics/spotify_is_what_napster_was_for_ten_years_ago&quot;&gt;Spotify is what napster was for ten years ago&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Then another user replied:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;how do you mean?&lt;/p&gt;
&lt;p&gt;ten years ago Napster was an illegal channel for sharing and downloading music, built p2p.&lt;/p&gt;
&lt;p&gt;are you ironic and i missed the punchline? &lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Fair enough. But still this guy had a point. &lt;strong&gt;Spotify is not the same thing as Napster, but another milestone in the Music Industry transformation&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Napster started a revolution. I&amp;#8217;m not talking about piracy, I&amp;#8217;m talking about spreading the message that the current formats were obsolete and people had different musical needs. The success of the iTunes Store is a good proof of that.&lt;/p&gt;
&lt;p&gt;Spotify, as I see it, is the beginning of the end of that revolution. Say goodbye to useless CDs and DVDs. Goodbye to paying for an album with a couple of good songs and crap for filling.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The next logical step would be a &lt;em&gt;Spotify for video&lt;/em&gt;. &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The only thing I&amp;#8217;ve seen coming from the (music and movie) industry in the last 10 years has been the message that piracy was illegal, and immoral, and that it would kill the music and movies. Maybe they have a point, maybe not.&lt;/p&gt;
&lt;p&gt;Recently, they&amp;#8217;ve been &lt;a href=&quot;http://www.msnbc.msn.com/id/34769344/ns/technology_and_science-tech_and_gadgets/&quot;&gt;trying to ban&lt;/a&gt; download sites in Spain. What then? Without P2P:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I can only get movies on theaters (when/where they want) or DVD (how they want). Theaters are expensive (especially if you account for most of the movies not being worth the price) and I just don&amp;#8217;t see myself going to a store or having to wait for a DVD to arrive to watch a movie&lt;/li&gt;
&lt;li&gt;If you want movies in VO, there are little options. Thankfully we have now one cinema playing VO movies in our town, but still not enough&lt;/li&gt;
&lt;li&gt;If you want TV Shows on VO you have to wait until the DVD comes out. Most of the successful shows are on TV, but delayed for weeks (or even months) and in Spanish&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I found a &lt;a href=&quot;http://sam.brown.tc/entry/398/andy-budd-on-the-uk-film-and-tv-industry&quot;&gt;quote&lt;/a&gt; yesterday that summed it up pretty well:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;“People don&amp;#8217;t go out of their way to pirate movies and TV programs; they&amp;#8217;re not intrinsically bad people. They do it because often it&amp;#8217;s quicker and easier than legitimate means. The quicker the film and TV industries recognise this and make it as easy to buy legal content as it is to download illegitimate content, the more likely they are to stem the flow.”&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;But I believe if they shut up for a minute and &lt;strong&gt;listen&lt;/strong&gt;, they&amp;#8217;d realize &lt;strong&gt;there&amp;#8217;s people willing to pay, but they are not selling to them&lt;/strong&gt;.&lt;/p&gt;
&lt;h3 class=&quot;related_post_title&quot;&gt;Related posts&lt;/h3&gt;&lt;ul class=&quot;related_post&quot;&gt;&lt;li&gt;&lt;a href=&quot;http://www.jorgebernal.info/innovation/fair-price&quot; title=&quot;Fair price&quot;&gt;Fair price&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</description>
	<pubDate>Mon, 18 Jan 2010 15:14:48 +0000</pubDate>
</item>
<item>
	<title>Dani: Datos y no especulaciones</title>
	<guid>http://people.warp.es/~dani/blog/?p=216</guid>
	<link>http://people.warp.es/~dani/blog/?p=216</link>
	<description>&lt;p&gt;El día 5 de Enero (como regalo de la noche de Reyes, dirán algunos), Google presentó su propio terminal Android: &lt;a href=&quot;http://www.google.com/phone/?locale=en_US&amp;#038;s7e=&quot;&gt;Nexus On&lt;/a&gt;e. Este móvil se lanzó con su propia versión de &lt;a href=&quot;http://developer.android.com/sdk/android-2.1.html&quot;&gt;la plataforma Android, la 2.1&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Durante estos días &lt;a href=&quot;http://www.eleconomista.es/telecomunicaciones-tecnologia/noticias/1829743/01/10/El-Nexus-One-de-Google-pincha-en-el-mercado-y-solo-vende-20000-unidades-.html&quot;&gt;se ha especulado&lt;/a&gt; sobre la cantidad de terminales vendidos (~20.000) en los primeros días, pero no se sabe a ciencia cierta cual es la cuota real de estos terminales o lo que han supuesto sobre el total del mercado.&lt;/p&gt;
&lt;p&gt;Aparte, Google lanzó como recurso de programación el &lt;a href=&quot;http://developer.android.com/resources/dashboard/platform-versions.html&quot;&gt;Android Dashboard&lt;/a&gt;, una página que muestra cual es la cuota del mercado Android, diferenciado por versiones del SDK. Los cálculos se realizan desde quince días antes de la fecha indicada, y muestra un sencillo gráfico para que los programadores calculen si les interesa o no soportar determinada plataforma.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://chart.apis.google.com/chart?cht=p&amp;#038;chs=400x250&amp;#038;chd=t:0.3,31.0,47.6,0.7,20.4&amp;#038;chl=Android%201.1|Android%201.5|Android%201.6|Android%202.0|Android%202.0.1&amp;#038;chco=c4df9b,6fad0c&quot; alt=&quot;Vista actual del Android Dashboard&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Hoy muestra como fecha final de análisis, la del día anterior a la presentación de Nexus One, lo que quiere decir que pronto crecerá el sector de la plataforma 2.1, y veremos cuál es el impacto real de este pequeño aparatito.&lt;/p&gt;</description>
	<pubDate>Mon, 18 Jan 2010 10:16:40 +0000</pubDate>
</item>
<item>
	<title>Dani: Android no significa “garantía de éxito” (II)</title>
	<guid>http://people.warp.es/~dani/blog/?p=188</guid>
	<link>http://people.warp.es/~dani/blog/?p=188</link>
	<description>&lt;p&gt;Ha pasado algo más de un mes desde el último post. No quería que hubiera pasado tanto, pero ha sido un mes Android bastante interesante. Han salidos nuevos dispositivos, aplicaciones interesantes, juegos divertidísimos, pero como se quedó colgando en el post anterior: &amp;#8220;Android no significa garantía de éxito&amp;#8221;.&lt;/p&gt;
&lt;p&gt;El por qué tiene un nombre propio: Samsung Galaxy. Cualquiera que vea las &lt;a href=&quot;http://www.gsmarena.com/samsung_i7500_galaxy-2791.php&quot;&gt;prestaciones del aparato&lt;/a&gt; puede quedarse bastante impresionado: buena cámara, buenísima pantalla, batería de gran duración&amp;#8230; pero, ¿y qué tal se comporta Android? ¿qué tal está integrado? ¿cómo es que no tiene esa serigrafía que dice &amp;#8220;with Google&amp;#8221;?&lt;/p&gt;
&lt;p&gt;Bien, empecemos con un poco de historia. Este terminal fue puesto a la venta (aproximadamente) en Julio de 2008. Quizá muchos usuarios no tenían muy claro entonces de lo que era aquello de &amp;#8220;with Google&amp;#8221; pero la explicación es sencilla: &amp;#8221; &amp;#8216;with Google&amp;#8217; marca aquellos dispositivos desarrollados conjuntamente con Google, y los cuales dispondrán de actualizaciones OTA&amp;#8221;. OTA significa &amp;#8216;over-the-air&amp;#8217; y quiere decir que estos móviles pueden actualizarse descargandose un archivo dentro del móvil y reiniciando. Fin de complicaciones.&lt;/p&gt;
&lt;p&gt;¿Y si no tienes un móvil &amp;#8216;with Google&amp;#8217;? Pues entonces pasará como con Samsung Galaxy, que has de disponer de un paquete de software provisto por el fabricante que te permitirá actualizar tu terminal. Aquí empieza el calvario de Galaxy. El software provisto por Samsung:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Es una aplicación bastante pesada&lt;/li&gt;
&lt;li&gt;Realiza muchas operaciones que no quiero (por ejemplo sincronizar contactos, tarea que ya hace Android con mi cuenta Google)&lt;/li&gt;
&lt;li&gt;Sólo es para Windows. El resto de sistemas operativos pueden irse a plantar patatas al campo&lt;/li&gt;
&lt;li&gt;Y la más divertida de todas&amp;#8230;. &lt;strong&gt;La aplicación no soporta Samsung Galaxy!&lt;/strong&gt; Por lo que por mucho que la tengas instalada, sólo servirá para el resto de los dispositivos Samsung, pero no para este móvil&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Aunque la aplicación para actualizar el teléfono, no funcione porque no lo soporta, Samsung ha ido colgando firmwares en su web durante meses. Y la gente los ha usado&amp;#8230; pero para ello han tenido que fabricarse una herramienta que pudiera &amp;#8220;inyectar&amp;#8221; las actualizaciones (más que necesarias) al teléfono.&lt;/p&gt;
&lt;p&gt;Actualizar un buen móvil puede ser una tarea casi innecesaria, puede pensar cualquiera, pero Galaxy habrá tenido entre 7 y 10 firmwares distintos. Con éxitos y fracasos a partes bastante desiguales. En uno de los más sonados firmwares rotos, la fantástica batería que en reposo debería durar 450 horas, duraba 4 aproximadamente. Una centena de veces menos que lo que afirmaba el fabricante! Para asustarse&amp;#8230;&lt;/p&gt;
&lt;p&gt;Pero esto fue un suma y sigue:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;¿La brujula electrónica?&lt;/em&gt; Tiene un bug su firmware que hace que muchas aplicaciones tengan que adaptarse específicamente para este terminal&lt;/li&gt;
&lt;li&gt;&lt;em&gt;¿Y el GPS?&lt;/em&gt;Bien gracias, siempre que no lo actives junto con la WiFi, porque entones la conexión inalámbrica empieza a fallar. No escanea redes algunas veces, muy alto consumo de batería&amp;#8230; genial&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Pero la pantalla es buena, ¿no?&lt;/em&gt; La pantalla es una de las mejores que he visto para un móvil, pero&amp;#8230; nunca había visto que el módulo de telefonía haga interferencias y se pueda ver cuando se está asociando a la red o le llega un SMS porque la pantalla tiemble&lt;/li&gt;
&lt;li&gt;El soporte de 3D está bastante estropeado&lt;/li&gt;
&lt;li&gt;Incluso el botón para hacer fotos con la cámara integrada tiene un bug, por el cual, aunque esté bloqueado el móvil, si el botón se pulsa parcialmente, el teléfono se activa perdiendo batería. Si a esto le sumamos que la funda del móvil, por diseño, deja pulsado parcialmente el botón de la cámara&amp;#8230;&lt;/li&gt;
&lt;li&gt;También se puede disfrutar de una capa de telefonía a la que le faltan partes por terminar de implementar y fallos en cosas como el teclado de teléfono, el cual muchas veces no puede ser utilizado durante la llamada para enviar tonos DTMF (los contéstadores de Telefónica nunca oirán un Galaxy)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;¿Ocurre todo esto en los terminales de HTC? Pues no lo sé ciertamente, pero lo dudo, porque se han desarrollado &amp;#8216;with Google&amp;#8217; &lt;img src=&quot;http://people.warp.es/~dani/blog/wp-includes/images/smilies/icon_wink.gif&quot; alt=&quot;;-)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;Mirando las tripas que corren dentro del móvil, también se pueden observar procesos extras. Por ejemplo está el que ayuda a la comunicación con la suite de la que antes hablábamos&amp;#8230; que lógicamente no funciona, por lo que sólo sirve para gastar batería del terminal. O buscando por las trazas del sistema, puedes encontrar &amp;#8220;explosiones&amp;#8221; de demonios del sistema operativo, o incluso de la capa de telefonía.&lt;/p&gt;
&lt;p&gt;Si no supiéramos que es Android, y fuera un firmware X desarrollado por el fabricante, este terminal no tendría más de un 2 sobre 10 en su calificación. Y es lo que tienen las cosas a medio hacer, que por muy buen hardware y software base que exista detrás, si no hay una cuidadosa labor de integración entre ambas partes, no sirve de nada.&lt;/p&gt;
&lt;p&gt;Por suerte, las cosas cambiaron hace muy pocas semanas con la aparición de dos nuevos firmwares (abreviados como IK4 e IK5) que resuelven el 90% de los problemas&amp;#8230; pero segun los rumores que corren, Galaxy no tendrá actualizaciones posteriores a Android 1.5, cuando la mayoría del resto de terminales si.&lt;/p&gt;
&lt;p&gt;Por tanto, por mucho Android que se pueda disfrutar, queda un sabor bastante descafeinado y muy lejos de ser un terminal &amp;#8220;de éxito&amp;#8221;. Aunque de todas formas, no tiene por qué ser todo tan malo en el mundo de Android si uno no va de la mano de Google, ¿no?&lt;/p&gt;</description>
	<pubDate>Thu, 14 Jan 2010 00:33:29 +0000</pubDate>
</item>
<item>
	<title>Blaxter: Practical Reporting with Ruby and Rails</title>
	<guid>http://bicosyes.com/?p=911</guid>
	<link>http://bicosyes.com/practical-reporting-with-ruby-and-rails/</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://bicosyes.com/wp-content/uploads/2010/01/practicalreporting.jpg&quot;&gt;&lt;img src=&quot;http://bicosyes.com/wp-content/uploads/2010/01/practicalreporting-227x300.jpg&quot; alt=&quot;practical reporting with ruby and rails&quot; title=&quot;practical reporting with ruby and rails&quot; width=&quot;127&quot; class=&quot;noframe alignleft size-medium wp-image-913&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://bicosyes.com/feed/Practical Reporting with Ruby and Rails&quot;&gt;Practical Reporting with Ruby and Rails&lt;/a&gt; es un libro escrito por &lt;a href=&quot;http://dtb.me/&quot;&gt;David Berube&lt;/a&gt; sobre reporting con la ayuda de ruby. Se compone de varios capítulos que van desde generar un gráfico con &lt;a href=&quot;http://nubyonrails.com/pages/gruff&quot;&gt;gruff&lt;/a&gt;, generar &lt;a href=&quot;http://github.com/clivecrous/remarkably&quot;&gt;xml&lt;/a&gt;/&lt;a href=&quot;http://fastercsv.rubyforge.org/&quot;&gt;csv&lt;/a&gt;/&lt;a href=&quot;http://ruby-pdf.rubyforge.org/pdf-writer/&quot;&gt;pdf&lt;/a&gt;, importaciones desde &lt;a href=&quot;http://sporkmonger.com/projects/feedtools&quot;&gt;feeds&lt;/a&gt;, hojas de cálculo o &lt;a href=&quot;http://ruby-doc.org/stdlib/libdoc/win32ole/rdoc/index.html&quot;&gt;Microsoft Office&lt;/a&gt;. Todo esto suena bastante bien, pero es el propio carácter del libro, &lt;em&gt;practical&lt;/em&gt;, que hace que pierda bastante puntos por su simpleza y falta de profundidad a la hora de tocar los distintos temas.&lt;/p&gt;
&lt;p&gt;Es un libro realmente bueno si lo lees con las expectativas apropiadas, y puede llegar a ser un auténtico fiasco en otros casos. En mi particular caso fue el último escenario.&lt;/p&gt;
&lt;p&gt;Ya es la segunda vez que me pasa con libros de esta editorial, &lt;a href=&quot;http://www.apress.com/&quot;&gt;Apress&lt;/a&gt;. Son libros bien escritos, tratando muchos temas, pero con un nivel bastante bajo en cuanto a profundidad de conceptos y nivel requerido. Esto no es malo, por supuesto, simplemente es algo a tener en cuenta para saber si es un libro que te reportará algún beneficio y satisfacción.&lt;/p&gt;
&lt;p&gt;Cada capítulo suele seguir la siguiente estructura: (1) Puesta en contexto del problema a resolver, (2) introducción de herramientas a usar, (3) trozo de código, (4) explicación del código. Donde las dos últimas partes suelen ser prácticamente la totalidad del capítulo. El código suele ser bastante simple y sencillo de entender, pero a pesar de ello tendremos luego un considerable número de páginas para explicar obviedades para cualquiera que haya programado mínimamente en ruby o en reporting en general. Si a esto añadimos que el libro no es muy extenso en páginas (280 aprox.) tenemos que se podría resumir el libro en un listado de referencias a herramientas usadas y 5 o 6 &lt;em&gt;snippets&lt;/em&gt; de código interesantes de no más de 200 líneas.&lt;/p&gt;
&lt;p&gt;De todas formas, para alguien que esté interesado en estos temas (reporting) y que no tenga mucha experiencia (en reporting, en ruby o en ambos), es un libro bastante bueno, bien redactado, bien explicado (demasiado) y de rápida lectura. En otros casos no lo recomendaría, y personalmente no me ha gustado mucho que digamos.&lt;/p&gt;
&lt;img src=&quot;http://bicosyes.com/?ak_action=api_record_view&amp;id=911&amp;type=feed&quot; alt=&quot;&quot; /&gt;</description>
	<pubDate>Mon, 11 Jan 2010 11:58:40 +0000</pubDate>
</item>
<item>
	<title>Warp Networks: Formación JAVA y MySQL en Zaragoza. Calendario 2010.</title>
	<guid>http://warp.es/?p=279</guid>
	<link>http://feedproxy.google.com/~r/WarpNetworks/~3/B53H5pCSR_o/</link>
	<description>&lt;p&gt;Os informamos de los cursos públicos JAVA y MySQL,  que se van a impartir en el primer semestre de 2010,  en Zaragoza.&lt;/p&gt;
&lt;p&gt;Warp Networks como partner oficial de Sun Microsystems,  imparte formación certificada MySQL y JAVA.&lt;/p&gt;
&lt;p&gt;También puede proveer a los interesados de vouchers para certificaciones Sun.&lt;/p&gt;
&lt;h3 id=&quot;toc-formacion-java-en-zaragoza&quot;&gt;FORMACIÓN JAVA EN ZARAGOZA:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt; &lt;strong&gt;Desarrollo de aplicaciones con Java SE Platform (SL-285-SE6): Febrero 1-5&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Desarrollo de Aplicaciones Java EE (FJ-310-EE5): 31 Mayo-4 Junio&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Programación Java (SL-275-SE6): Junio 21-25&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Desarrollo de aplicaciones con Java SE Platform (SL-285-SE6):28 Junio-2 Julio&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;toc-formacion-mysql-en-zaragoza&quot;&gt;FORMACIÓN MYSQL EN ZARAGOZA:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;MySQL para Administradores de Bases de Datos: Abril 5-9&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MySQL Alta Disponibilidad; Mayo 3-5&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MySQL Optimización del Rendimiento: Mayo 17-20&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MySQL Cluster: mayo 24-26&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MySQL para Administradores de Bases de Datos: Junio 14-18&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;INSCRIPCIONES E INFORMACION: training@warp.es&lt;/strong&gt;&lt;/p&gt;
&lt;img src=&quot;http://feeds.feedburner.com/~r/WarpNetworks/~4/B53H5pCSR_o&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Mon, 11 Jan 2010 10:36:21 +0000</pubDate>
</item>
<item>
	<title>Koke: My 2009 in pictures</title>
	<guid>http://www.jorgebernal.info/?p=491</guid>
	<link>http://www.jorgebernal.info/photography/2009-pictures</link>
	<description>&lt;p&gt;Looking back at 2009, it seems I haven&amp;#8217;t been taking so many pictures as I did in 2008, but I see more variety. Here are some of those, some I feel proud of, some bring some good memories and some just make me smile&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/koke/3468699733/in/dateposted/&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3605/3468699733_f06d0d4e0f.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/koke/3503844931/in/dateposted/&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3632/3503844931_d8d7a5deb1.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/koke/3567227866/in/dateposted/&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3655/3567227866_6449966f08.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/koke/3696218688/in/dateposted/&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3578/3696218688_7f259a45c4.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/koke/3698417080/in/dateposted/&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2447/3698417080_9c1ae6ec2b.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/koke/3777057023/in/dateposted/&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3498/3777057023_b3d424dbc7.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/koke/3782814342/in/dateposted/&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2549/3782814342_b89f5138a6.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/koke/3828210238/in/dateposted/&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2519/3828210238_a0b35258b7.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/koke/3827399125/in/dateposted/&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3570/3827399125_a2e40e4c7c.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/koke/3827394549/in/dateposted/&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3423/3827394549_661324f87f.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/koke/3827393339/in/dateposted/&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2586/3827393339_b989fdef4a.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/koke/3827387237/in/dateposted/&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2581/3827387237_622d8500d3.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/koke/3839885322/in/dateposted/&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2644/3839885322_0ab4ae50d9.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/koke/4065342358/in/dateposted/&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2713/4065342358_0480e4e4fa.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/koke/4124481931/in/dateposted/&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2589/4124481931_230433445d.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/koke/4143138565/in/dateposted/&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2657/4143138565_6aeb8306c2.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 class=&quot;related_post_title&quot;&gt;Most Commented Posts&lt;/h3&gt;&lt;ul class=&quot;related_post&quot;&gt;&lt;li&gt;&lt;a href=&quot;http://www.jorgebernal.info/innovation/ibuy&quot; title=&quot;Shop in Amazon from your iPhone with iBuy&quot;&gt;Shop in Amazon from your iPhone with iBuy&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.jorgebernal.info/dev-random/fake-ad-i-presume&quot; title=&quot;Fake ad, I presume&quot;&gt;Fake ad, I presume&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.jorgebernal.info/innovation/amazing-new-image-resizing-technology&quot; title=&quot;Amazing new image resizing technology&quot;&gt;Amazing new image resizing technology&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.jorgebernal.info/wtf/whats-wrong-with-colors-in-firefox&quot; title=&quot;What&amp;#8217;s wrong with colors in Firefox?&quot;&gt;What&amp;#8217;s wrong with colors in Firefox?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.jorgebernal.info/opensource/is-ubuntu-the-new-linux&quot; title=&quot;Is Ubuntu the new Linux?&quot;&gt;Is Ubuntu the new Linux?&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</description>
	<pubDate>Wed, 06 Jan 2010 23:01:55 +0000</pubDate>
</item>
<item>
	<title>Pablo: minimoesfuerzo.org site details</title>
	<guid>http://minimoesfuerzo.org/2009/12/29/minimoesfuerzoorg-site-details/</guid>
	<link>http://minimoesfuerzo.org/2009/12/29/minimoesfuerzoorg-site-details/</link>
	<description>&lt;p&gt;I got interested in &lt;a href=&quot;http://www.djangoproject.com/&quot;&gt;Django&lt;/a&gt; around mid 2007 (0.96 timeline), I quickly built a django blog following a known early &lt;a href=&quot;http://www.rossp.org/blog/2006/jan/23/building-blog-django-1/&quot;&gt;tutorial&lt;/a&gt; in the matter. It was lean and fast, but some basic features were missing.&lt;/p&gt;
&lt;p&gt;Around that time Nat released django-basic-blog (now a part of &lt;a href=&quot;http://code.google.com/p/django-basic-apps/&quot;&gt;django-basic-apps&lt;/a&gt;), it offered pretty much what you need from a basic blog, but still I wanted to do something on my own.&lt;/p&gt;
&lt;p&gt;I started a couple of half-baked attempts before I lost all interest, it was fun but I couldn't help but thinking that I was reimplementing other people's apps. That's when &lt;a href=&quot;http://github.com/montylounge/django-mingus/&quot;&gt;django-mingus&lt;/a&gt; appeared on my radar.&lt;/p&gt;
&lt;h2&gt;django-mingus&lt;/h2&gt;
&lt;p&gt;Mingus is a blog engine leveraging reusable apps for all its features, its &lt;a href=&quot;http://blog.montylounge.com/&quot;&gt;author&lt;/a&gt; explained the apps that power django-mingus in great &lt;a href=&quot;http://blog.montylounge.com/2009/sep/24/apps-that-power-django-mingus/&quot;&gt;detail&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I quickly knew that this is what I intended to build in first place, so I just &lt;a href=&quot;http://github.com/pmarti/django-mingus/&quot;&gt;forked&lt;/a&gt; it and started customizing it.&lt;/p&gt;
&lt;h2&gt;Customizations&lt;/h2&gt;
&lt;p&gt;Apart from some CSS tweaks, I was generally pleased with the feature set provided by Mingus. The only grip that I initially had is that Mingus (as Wordpress IIRC) sports both &quot;Categories&quot; and &quot;Tags&quot;, I didn't quite like the overlap between them so I removed all the categories uses by tags'. I added restructuredtext support too as that's my favourite lightweight markup. I also removed the quoteme related functionality, as I didn't picture myself using it much.&lt;/p&gt;
&lt;h2&gt;Deployment&lt;/h2&gt;
&lt;p&gt;This site is deployed with &lt;a href=&quot;http://code.google.com/p/modwsgi/&quot;&gt;mod_wsgi&lt;/a&gt; and it was quite easy, mod_wsgi should be the blessed deployment method rather than mod_python by a mile!&lt;/p&gt;</description>
	<pubDate>Tue, 29 Dec 2009 14:41:38 +0000</pubDate>
</item>
<item>
	<title>Blaxter: boost::asio, synchronous read with timeout</title>
	<guid>http://bicosyes.com/?p=833</guid>
	<link>http://bicosyes.com/boostasio-synchronous-read-with-timeout/</link>
	<description>&lt;p&gt;The &lt;strong&gt;&lt;a href=&quot;http://www.boost.org/doc/libs/1_40_0/doc/html/boost_asio.html&quot;&gt;boost::asio&lt;/a&gt;&lt;/strong&gt; (which means asynchronous input/output) library, is quite powerful library for asynchronous i/o, but it could be a bit difficult at first to figure out how to do a normal &lt;strong&gt;synchronous&lt;/strong&gt; read. So, as a reminder for my future-me, and for you, this snippet it'll be very useful to accomplish that. Probably there will be another ways for doing that, but this is how I managed to do it:&lt;/p&gt;
&lt;pre class=&quot;cpp&quot;&gt;&lt;span&gt;using&lt;/span&gt; &lt;span&gt;namespace&lt;/span&gt; boost::&lt;span&gt;asio&lt;/span&gt;;
&lt;span&gt;using&lt;/span&gt; &lt;span&gt;namespace&lt;/span&gt; boost::&lt;span&gt;system&lt;/span&gt;;
&lt;span&gt;using&lt;/span&gt; boost::&lt;span&gt;optional&lt;/span&gt;;
&amp;nbsp;
ip::&lt;span&gt;tcp&lt;/span&gt;::&lt;span&gt;socket&lt;/span&gt; _socket; &lt;span&gt;// it could be another kind of socket, not only ip::tcp&lt;/span&gt;
&amp;nbsp;
&lt;span&gt;/**
 * Dumb function to be used as handler argument and save the error_code
 * into a pointer
 *
 * e.g.: boost::bind( &amp;amp;set_result, some_pointer, _1 )
 */&lt;/span&gt;
&lt;span&gt;void&lt;/span&gt; set_result&lt;span&gt;&amp;#40;&lt;/span&gt; optional&amp;lt;error_code&amp;gt;* a, error_code b &lt;span&gt;&amp;#41;&lt;/span&gt;
&lt;span&gt;&amp;#123;&lt;/span&gt;
  a-&amp;gt;reset&lt;span&gt;&amp;#40;&lt;/span&gt; b &lt;span&gt;&amp;#41;&lt;/span&gt;;
&lt;span&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&lt;span&gt;#define TIMEOUT 60&lt;/span&gt;
&lt;span&gt;/**
 * it uses _socket
 * if timeout happends throw a system_error exception
 */&lt;/span&gt;
template&amp;lt;typename MutableBufferSequence&amp;gt;
optional&amp;lt;error_code&amp;gt; read_with_timeout&lt;span&gt;&amp;#40;&lt;/span&gt;
    &lt;span&gt;const&lt;/span&gt; MutableBufferSequence&amp;amp; buffer
  &lt;span&gt;&amp;#41;&lt;/span&gt; throw&lt;span&gt;&amp;#40;&lt;/span&gt; system_error &lt;span&gt;&amp;#41;&lt;/span&gt;
&lt;span&gt;&amp;#123;&lt;/span&gt;
  optional&amp;lt;error_code&amp;gt; timer_result;
  optional&amp;lt;error_code&amp;gt; read_result;
&amp;nbsp;
  deadline_timer timer&lt;span&gt;&amp;#40;&lt;/span&gt; _socket.&lt;span&gt;io_service&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;&amp;#41;&lt;/span&gt;;
&amp;nbsp;
  timer.&lt;span&gt;expires_from_now&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt; seconds&lt;span&gt;&amp;#40;&lt;/span&gt;TIMEOUT&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;&amp;#41;&lt;/span&gt;;
  timer.&lt;span&gt;async_wait&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt; boost::&lt;span&gt;bind&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&amp;amp;set_result, &amp;amp;timer_result, _1&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;&amp;#41;&lt;/span&gt;;
&amp;nbsp;
  boost::&lt;span&gt;asio&lt;/span&gt;::&lt;span&gt;async_read&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;
      _socket,
      buffer,
      boost::&lt;span&gt;asio&lt;/span&gt;::&lt;span&gt;transfer_at_least&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt; buffer_size_helper&lt;span&gt;&amp;#40;&lt;/span&gt;buffer&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;&amp;#41;&lt;/span&gt;,
      boost::&lt;span&gt;bind&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt; &amp;amp;set_result, &amp;amp;read_result, _1 &lt;span&gt;&amp;#41;&lt;/span&gt;
    &lt;span&gt;&amp;#41;&lt;/span&gt;;
&amp;nbsp;
  _socket.&lt;span&gt;io_service&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;.&lt;span&gt;reset&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;;
&amp;nbsp;
  &lt;span&gt;while&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt; _socket.&lt;span&gt;io_service&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;.&lt;span&gt;run_one&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;&amp;#41;&lt;/span&gt;
  &lt;span&gt;&amp;#123;&lt;/span&gt;
    &lt;span&gt;if&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt; read_result &lt;span&gt;&amp;#41;&lt;/span&gt;
    &lt;span&gt;&amp;#123;&lt;/span&gt;
      timer.&lt;span&gt;cancel&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;;
    &lt;span&gt;&amp;#125;&lt;/span&gt;
    &lt;span&gt;else&lt;/span&gt; &lt;span&gt;if&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt; timer_result &lt;span&gt;&amp;#41;&lt;/span&gt;
    &lt;span&gt;&amp;#123;&lt;/span&gt;
      _socket.&lt;span&gt;cancel&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;;
      throw system_error&lt;span&gt;&amp;#40;&lt;/span&gt;
          error_code&lt;span&gt;&amp;#40;&lt;/span&gt; errc::&lt;span&gt;timed_out&lt;/span&gt;, get_generic_category&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;&amp;#41;&lt;/span&gt;
        &lt;span&gt;&amp;#41;&lt;/span&gt;;
    &lt;span&gt;&amp;#125;&lt;/span&gt;
  &lt;span&gt;&amp;#125;&lt;/span&gt;
  &lt;span&gt;return&lt;/span&gt; read_result;
&lt;span&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;&lt;/pre&gt;
&lt;p&gt;I hope it will be useful, have fun.&lt;/p&gt;
&lt;img src=&quot;http://bicosyes.com/?ak_action=api_record_view&amp;id=833&amp;type=feed&quot; alt=&quot;&quot; /&gt;</description>
	<pubDate>Sun, 20 Dec 2009 20:48:25 +0000</pubDate>
</item>
<item>
	<title>Jorge: Probando la fotografía réflex digital</title>
	<guid>http://people.warp.es/~jorge/blog/?p=234</guid>
	<link>http://people.warp.es/~jorge/blog/?p=234</link>
	<description>&lt;p&gt;Ya me he decidido a aprender un poco más en serio sobre fotografía, y para hacerlo&amp;#8230; empezaré a usar la cámara que me han regalado hace poco, una Nikon D90.&lt;/p&gt;
&lt;p&gt;Estas son las primeras fotos que hice en modo automático, sin complicaciones vamos:&lt;/p&gt;
				&lt;div id=&quot;gallery-ccf37316&quot; class=&quot;flickr-gallery photoset&quot;&gt;
													&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=4158476626&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Olguita&quot; src=&quot;http://farm3.static.flickr.com/2700/4158476626_32172b0ede_s.jpg&quot; alt=&quot;Olguita&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=4158495820&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Olguita&quot; src=&quot;http://farm3.static.flickr.com/2517/4158495820_359cab71be_s.jpg&quot; alt=&quot;Olguita&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=4158510486&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Pingo&quot; src=&quot;http://farm3.static.flickr.com/2518/4158510486_4a90a8a12f_s.jpg&quot; alt=&quot;Pingo&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=4158513822&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Pingo&quot; src=&quot;http://farm5.static.flickr.com/4002/4158513822_dea3d39eb4_s.jpg&quot; alt=&quot;Pingo&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=4157755353&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Pingo&quot; src=&quot;http://farm3.static.flickr.com/2660/4157755353_52fbcb5382_s.jpg&quot; alt=&quot;Pingo&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=4157759279&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Pingo&quot; src=&quot;http://farm3.static.flickr.com/2735/4157759279_e5d303b8c1_s.jpg&quot; alt=&quot;Pingo&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=4160406017&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Pingo&quot; src=&quot;http://farm3.static.flickr.com/2511/4160406017_1113ce613d_s.jpg&quot; alt=&quot;Pingo&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=4161169924&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Pingo&quot; src=&quot;http://farm3.static.flickr.com/2620/4161169924_eae0e3b268_s.jpg&quot; alt=&quot;Pingo&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=4161176808&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Pingo&quot; src=&quot;http://farm3.static.flickr.com/2589/4161176808_e681363c33_s.jpg&quot; alt=&quot;Pingo&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=4282483894&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Pingo!&quot; src=&quot;http://farm3.static.flickr.com/2774/4282483894_1edf325477_s.jpg&quot; alt=&quot;Pingo!&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=4281748217&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Interesante&quot; src=&quot;http://farm5.static.flickr.com/4028/4281748217_76da374a39_s.jpg&quot; alt=&quot;Interesante&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=4282500198&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Pingo cabezón&quot; src=&quot;http://farm5.static.flickr.com/4001/4282500198_42e9b441e5_s.jpg&quot; alt=&quot;Pingo cabezón&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=4282507532&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Pingo tiene sueño&quot; src=&quot;http://farm3.static.flickr.com/2682/4282507532_95cb810c01_s.jpg&quot; alt=&quot;Pingo tiene sueño&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=4281774769&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Mmmm&quot; src=&quot;http://farm3.static.flickr.com/2774/4281774769_ae4f8eac4c_s.jpg&quot; alt=&quot;Mmmm&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=4281786215&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;A dormir!!!&quot; src=&quot;http://farm5.static.flickr.com/4061/4281786215_b2bed4c830_s.jpg&quot; alt=&quot;A dormir!!!&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=4281795801&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Pingo posando&quot; src=&quot;http://farm3.static.flickr.com/2706/4281795801_3e1d462813_s.jpg&quot; alt=&quot;Pingo posando&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=4282549516&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Que tienes en la mano?&quot; src=&quot;http://farm5.static.flickr.com/4005/4282549516_8eb910880d_s.jpg&quot; alt=&quot;Que tienes en la mano?&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=4281814565&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;C-o-m-i-d-a&quot; src=&quot;http://farm3.static.flickr.com/2698/4281814565_1c1ca0e045_s.jpg&quot; alt=&quot;C-o-m-i-d-a&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=4282568622&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Esparta!!!&quot; src=&quot;http://farm5.static.flickr.com/4014/4282568622_a788eb8e8f_s.jpg&quot; alt=&quot;Esparta!!!&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
												&lt;div class=&quot;fg-clear&quot;&gt;&lt;/div&gt;
				&lt;/div&gt;
													&lt;div class=&quot;fg-clear alignright&quot;&gt;Powered by &lt;a href=&quot;http://co.deme.me/projects/flickr-gallery/&quot;&gt;Flickr Gallery&lt;/a&gt;&lt;/div&gt;
								&lt;div class=&quot;fg-clear&quot;&gt;&lt;/div&gt;
							
			 
&lt;div id=&quot;mainphotoarea&quot;&gt;&lt;/div&gt;</description>
	<pubDate>Wed, 09 Dec 2009 15:29:07 +0000</pubDate>
</item>
<item>
	<title>Dani: Android no significa “garantía de éxito” (I)</title>
	<guid>http://people.warp.es/~dani/blog/?p=186</guid>
	<link>http://people.warp.es/~dani/blog/?p=186</link>
	<description>&lt;p&gt;Hablar de Android hoy en día ya no resulta raro para casi nadie. Hace dos años y un mes, Google desveló &lt;a href=&quot;http://www.android.com&quot;&gt;el proyecto&lt;/a&gt; en el que estaban trabajando desde hacía ya tiempo: un sistema operativo para móviles basado en GNU/Linux. &lt;a href=&quot;http://www.google.com/intl/en/press/pressrel/20071105_mobile_open.html&quot;&gt;Ya entonces&lt;/a&gt;, y antes de que apareciera ningún dispositivo móvil liberaron un &lt;a href=&quot;http://developer.android.com/intl/de/sdk/index.html&quot;&gt;juego de bibliotecas&lt;/a&gt; y una &lt;a href=&quot;http://developer.android.com/intl/de/reference/android/view/Display.html&quot;&gt;extensa documentación&lt;/a&gt; para el desarrollo de aplicaciones. Desde entonces y hasta casi un año después, &lt;a href=&quot;http://www.htc.com/www/press.aspx?id=66338&amp;#038;lang=1033&quot;&gt;cuando apareció el HTC Dream&lt;/a&gt; (el primer terminal Android), la gente ya había podido comenzar a desarrollar aplicaciones.&lt;/p&gt;
&lt;p&gt;¿Cuál fue la mayor consecuencia de una acción así? Sencillo, facilitar el desarrollo de aplicaciones significó que los primeros terminales que salieron al mercado ya podían disponer de un gran número de aplicaciones.&lt;/p&gt;
&lt;p&gt;Además del anuncio con el que comenzaba toda esta historia, se le dio la puntilla al proyecto: &amp;#8220;La mayor parte de Android será un proyecto liberado bajo la licencia Apache 2.0&amp;#8243;. Fantástico. Sencillamente, era díficil pedir más. Y comenzaron a dedicar recursos. &lt;a href=&quot;http://developer.android.com&quot;&gt;Un sitio&lt;/a&gt;, &lt;a href=&quot;http://android.git.kernel.org&quot;&gt;un repositorio&lt;/a&gt;, &lt;a href=&quot;http://source.android.com/discuss&quot;&gt;listas de correo&lt;/a&gt;, etc. &lt;/p&gt;
&lt;p&gt;En las listas de correo se pueden encontrar fácilmente las respuestas de ingenieros de Google. Uno de los que tienen más dedicación (por ser exactamente este su trabajo) es &lt;a href=&quot;http://jbq.livejournal.com/&quot;&gt;Jean Baptiste Queru&lt;/a&gt;, quien aguanta todas las preguntas que tiene la comunidad, y encima trabaja de sol a sol por que todo el mundo pueda construir la versión deseada de Android. Su trabajo es admirable. Otra de sus grandes tareas es &lt;a href=&quot;http://groups.google.com/group/repo-discuss/msg/9342e2f300ce702f&quot;&gt;mantener una sincronía&lt;/a&gt; entre los repositorios de Android; ya que existen dos repositorios: los internos, sobre los que trabaja Google, y los externos, para la comunidad. Tanto los arreglos que la comunidad envía al proyecto, como las nuevas características desarrolladas, son transferidas de un repositorio a otro por él. También existen rumores de la fusión entre ambos repositorios, aunque parece difícil que ocurra, y más cuando (por poner un ejemplo) la &lt;a href=&quot;http://groups.google.com/group/android-platform/msg/89897d6567f13986?pli=1&quot;&gt;publicación del código de Android 2.0&lt;/a&gt; se hizo solo dos semanas más tarde de &lt;a href=&quot;http://mediacenter.motorola.com/content/detail.aspx?ReleaseID=12058&amp;#038;NewsAreaID=2&quot;&gt;la presentación oficial&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Aparte de todo este esfuerzo para la comunidad, Google también (es obvio) tiene sus acuerdos/contratos con los fabricantes para poder desarrollar terminales que funcionen impecablemente con este sistema operativo. &lt;/p&gt;
&lt;p&gt;Resumiendo un poco algunos de los detalles del proyecto, tenemos:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Un nuevo sistema operativo basado en GNU/Linux&lt;/li&gt;
&lt;li&gt;Disponibilidad de la mayor parte del código fuente con licencia Apache 2.0 (o la correspondiente, según el subproyecto)&lt;/li&gt;
&lt;li&gt;Muchos materiales disponibles para que se pueda crear un amplio abanico de aplicaciones&lt;/li&gt;
&lt;li&gt;Posibilidad de modificar el propio sistema operativo según las necesidades concretas de cada caso&lt;/li&gt;
&lt;li&gt;Recursos dedicados por la empresa para que cualquiera pueda adquirir conocimientos, modificar el código, adaptarlo, etc&lt;/li&gt;
&lt;li&gt;Trabajo directo con los fabricantes para fabricar terminales modernos, y así completar el único hueco al que &amp;#8220;todavía&amp;#8221; no se dedica Google, el hardware&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pero, si tenemos todo este material en nuestras manos, y todo parece tan perfecto, ¿por qué no es &amp;#8220;garantía de éxito&amp;#8221;?&lt;/p&gt;</description>
	<pubDate>Mon, 07 Dec 2009 10:20:38 +0000</pubDate>
</item>
<item>
	<title>Blaxter: Mostrar iconos en los botones y menús de gnome</title>
	<guid>http://bicosyes.com/?p=904</guid>
	<link>http://bicosyes.com/mostrar-iconos-en-los-botones-y-menus-de-gnome/</link>
	<description>&lt;p&gt;En la última versión de &lt;a href=&quot;http://www.gnome.org/&quot;&gt;gnome&lt;/a&gt;, han decidido poner por defecto &lt;a href=&quot;http://www.osnews.com/story/21935/GNOME_To_Drop_Icons_in_Buttons_Menus&quot;&gt;que &lt;strong&gt;no&lt;/strong&gt; salgan iconos ni en los botones, ni en los menús&lt;/a&gt;. Hasta ahora, tenías iconos en todos lados, esto implicaba que los botones eran siempre más grandes de los normal (por incluir dentro de ellos el icono pertinente) lo que hacia que en general, en gnome, las cosas fuesen como &lt;em&gt;más grandes&lt;/em&gt;. Con este cambio los layouts van a ser más compactos, aunque también más rancios y menos usuables, &lt;acronym title=&quot;en mi opinión&quot;&gt;IMHO&lt;/acronym&gt;.&lt;/p&gt;
&lt;p&gt;No me gusta nada este cambio, más vale una imagen que mil palabras, teniendo iconos vas más rápido porque los reconoces y no necesitas leer cosas, aparte que uno de los aspectos que más me gusta de gnome es esa sensación de que todo es grandote &lt;img src=&quot;http://bicosyes.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; . Al menos volver a tenerlos es tarea simple, activa &lt;em&gt;/desktop/gnome/interface/buttons_have_icons&lt;/em&gt; y &lt;em&gt;/desktop/gnome/interface/menus_have_icons&lt;/em&gt; en el editor de configuración de gnome y ya los tendrás.&lt;/p&gt;
&lt;pre&gt;$ gconftool-2 --type bool --set /desktop/gnome/interface/buttons_have_icons true
$ gconftool-2 --type bool --set /desktop/gnome/interface/menus_have_icons true&lt;/pre&gt;
&lt;img src=&quot;http://bicosyes.com/?ak_action=api_record_view&amp;id=904&amp;type=feed&quot; alt=&quot;&quot; /&gt;</description>
	<pubDate>Wed, 02 Dec 2009 20:14:24 +0000</pubDate>
</item>
<item>
	<title>Koke: How we track outbound links with Google Analytics Events API</title>
	<guid>http://www.jorgebernal.info/?p=474</guid>
	<link>http://www.jorgebernal.info/development/track-outbound-links-google-analytics-events-api</link>
	<description>&lt;p&gt;&lt;img src=&quot;http://www.jorgebernal.info/wp-content/uploads/2009/12/ebox.jpg&quot; alt=&quot;eBox Platform homepage&quot; title=&quot;eBox Platform homepage&quot; width=&quot;700&quot; height=&quot;200&quot; class=&quot;alignnone size-full wp-image-480&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Since the &lt;a href=&quot;http://www.jorgebernal.info/business/ebox/redesigning-ebox-homepage&quot;&gt;redesign of eBox platform&lt;/a&gt;, our bounce rate increased dramatically. After a short investigation, it made sense: our new website was just the homepage and news, and the rest of the content was on different domains (&lt;a href=&quot;http://trac.ebox-platform.com/&quot;&gt;trac&lt;/a&gt;, &lt;a href=&quot;http://www.ebox-technologies.com/&quot;&gt;eBox Technologies&lt;/a&gt;, &amp;#8230;).&lt;/p&gt;
&lt;p&gt;So our bounces were either real bounces, or &lt;strong&gt;people visiting our other sites&lt;/strong&gt; (which I wouldn&amp;#8217;t count as bounces).&lt;/p&gt;
&lt;p&gt;My solution: &lt;strong&gt;track outgoing links&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;I searched for a solution and found &lt;a href=&quot;http://think2loud.com/use-jquery-with-google-analytics-to-track-clicks-on-outgoing-links-from-your-site/&quot;&gt;this article&lt;/a&gt;, but it wasn&amp;#8217;t exactly what I wanted.&lt;/p&gt;
&lt;p&gt;It&amp;#8217;s a good first approach, but tracking external links as pageviews makes the analytics reports more confusing. &lt;a href=&quot;http://code.google.com/apis/analytics/docs/tracking/eventTrackerGuide.html&quot;&gt;Events Tracking API&lt;/a&gt; to the rescue! This API was conceived to track actions that don&amp;#8217;t match a page view, like video plays and other application interactions.&lt;/p&gt;
&lt;p&gt;So, with events we could track our exits separately, get the information we need, and get a more accurate Bounce rate.&lt;/p&gt;
&lt;p&gt;The extra code:&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;The original article used &lt;code&gt;rel=&quot;external&quot;&lt;/code&gt; to mark the links to track. There is an easiest way: searching for absolute URLS in the &lt;code&gt;href&lt;/code&gt; attribute. Also, I&amp;#8217;m using the &lt;strong&gt;action&lt;/strong&gt; parameter to differentiate between internal (our other websites) and external (facebook, twitter,&amp;#8230;) links.&lt;/p&gt;
&lt;p&gt;What we are tracking, and will be able to see on the Analytics reports is:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Category:&lt;/strong&gt; Exits. Could have been called &amp;#8216;outbound links&amp;#8217;, or any other variation&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Action:&lt;/strong&gt; external or internal&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Label:&lt;/strong&gt; the destination URL&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Value:&lt;/strong&gt; not using it. This could be useful for other kind of events, like &lt;a href=&quot;http://code.google.com/apis/analytics/docs/tracking/eventTrackerGuide.html#Values&quot;&gt;tracking video load times&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Warning:&lt;/strong&gt; your bounce rate will probably drop by tracking events. For us, it reflects our visits more accurately, but that might not be your case.&lt;/p&gt;
&lt;p&gt;This is what google has to say on &lt;a href=&quot;http://code.google.com/apis/analytics/docs/tracking/eventTrackerGuide.html#implementationConsiderations&quot;&gt;bounce rate impact&lt;/a&gt;: &lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
In general, a &amp;#8220;bounce&amp;#8221; is described as a single-page visit to your site. In Analytics, a bounce is calculated specifically as a session that triggers only a single GIF request, such as when a user comes to a single page on your website and then exits without causing any other request to the Analytics server for that session. However, if you implement Event Tracking for your site, you might notice a change in bounce rate metrics for those pages where Event Tracking is present. This is because Event Tracking, like page tracking is classified as an interaction request.&lt;/p&gt;
&lt;p&gt;For example, suppose you have a page with a video player where the bounce rate is historically high, and you have not implemented Event Tracking for the page. If you subsequently set up Event Tracking for the player, you might notice a decrease in the bounce rate for that page, because Analytics will record user interaction with the player and send that interaction to the server as an additional GIF request. Thus, even though the same percentage of visitors to the page might still exit without viewing any other page on your site, their interaction with the video player triggers Event Tracking calls, which disqualifies their visit as a bounce.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;In this way, &amp;#8220;bounces&amp;#8221; for your event-enabled pages means something slightly different: a single-page visit that includes no user interaction on tracked events.&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;h3 class=&quot;related_post_title&quot;&gt;Related posts&lt;/h3&gt;&lt;ul class=&quot;related_post&quot;&gt;&lt;li&gt;&lt;a href=&quot;http://www.jorgebernal.info/business/ebox/redesigning-ebox-homepage&quot; title=&quot;Redesigning eBox homepage&quot;&gt;Redesigning eBox homepage&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.jorgebernal.info/photography/discovr-flickr-experiment-wrong&quot; title=&quot;Discovr: a flickr experiment gone wrong&quot;&gt;Discovr: a flickr experiment gone wrong&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.jorgebernal.info/business/ebox/ebox-technologies-website&quot; title=&quot;eBox Technologies new website&quot;&gt;eBox Technologies new website&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.jorgebernal.info/business/ebox/local-global&quot; title=&quot;Local vs. global&quot;&gt;Local vs. global&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.jorgebernal.info/business/ebox/planet-ebox-running&quot; title=&quot;Planet eBox up and running&quot;&gt;Planet eBox up and running&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</description>
	<pubDate>Tue, 01 Dec 2009 18:12:30 +0000</pubDate>
</item>
<item>
	<title>Hector: Is it… me?</title>
	<guid>http://people.warp.es/~xtor/blog/?p=655</guid>
	<link>http://people.warp.es/~xtor/blog/?p=655</link>
	<description>&lt;p&gt;I have completed BBC&amp;#8217;s &lt;a href=&quot;https://www.bbc.co.uk/labuk/experiments/personality&quot;&gt;The Big Personality Test&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You just need to create an account, and after answering some questions, you will get your &lt;a href=&quot;http://en.wikipedia.org/wiki/Big_Five_personality_traits&quot;&gt;Big Five personality traits&lt;/a&gt;, with your scores for Openness, Conscientiousness, Extroversion, Agreeableness and Extroversion.&lt;/p&gt;
&lt;p&gt;These are my results:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Openness&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;You scored 4.5 out of 5 for Openness&lt;/p&gt;
&lt;p&gt;You scored high on Openness.&lt;/p&gt;
&lt;p&gt;This trait is sometimes known as ‘Openness to experience’. People with scores like yours tend to be imaginative and curious about a wide range of things, from appreciating different art forms to exploring new places, cultures and foods.&lt;/p&gt;
&lt;p&gt;Generating lots of imaginative ideas probably comes very easily to you. However, it&amp;#8217;s likely that you are prone to daydreaming too.&lt;/p&gt;
&lt;p&gt;Innovators, investigators and creators often score highly on this trait. It has also been suggested that Openness is related to a person&amp;#8217;s likelihood to hold unusual beliefs. Do you enjoy the odd conspiracy &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Conscientiousness&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;You scored 4.2 out of 5 for Conscientiousness&lt;/p&gt;
&lt;p&gt;You scored high on Conscientiousness.&lt;/p&gt;
&lt;p&gt;Conscientiousness describes how dependable, organised and hard-working a person is likely to be. This may be the reason why, of all the personality traits, Conscientiousness is the most consistent indicator of job success. People with scores like yours tend to be extremely dependable and organised. It&amp;#8217;s likely that your life is well-planned and you approach things in a thorough manner.&lt;/p&gt;
&lt;p&gt;At work, you probably approach tasks methodically and thoroughly, with everything in its right place.&lt;/p&gt;
&lt;p&gt;Some studies have shown the more Conscientious an individual is, the more disciplined they are likely to be about exercise and diet.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Extroversion&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;You scored 3.1 out of 5 for Extroversion&lt;/p&gt;
&lt;p&gt;You scored medium on Extroversion.&lt;/p&gt;
&lt;p&gt;Extroversion is characterised by positive emotions and the tendency to seek out pleasure-stimulating or risk-taking activities. People with scores like yours are likely to be comfortable meeting new people and will usually enjoy social occasions.&lt;/p&gt;
&lt;p&gt;You are likely to have a generally positive outlook on life and may display a greater gift for leadership compared to those with low scores on this trait.&lt;/p&gt;
&lt;p&gt;People with high Extroversion are more likely to lead risky lifestyles and take greater risks in pursuit of rewards. Health studies have shown they are more likely to smoke and less likely to get enough sleep than people who score less highly on this trait.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Agreeableness&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;You scored 4 out of 5 for Agreeableness&lt;/p&gt;
&lt;p&gt;You scored high on Agreeableness.&lt;/p&gt;
&lt;p&gt;Agreeableness measures how sympathetic and considerate a person is likely to be. People with scores like yours are likely to find it very easy to get along with other people. You probably find that you are sensitive to the feelings of others and that people find it easy to warm to you.&lt;/p&gt;
&lt;p&gt;As a &amp;#8216;people person&amp;#8217; you will probably be very comfortable in situations that require teamwork.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Neuroticism&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;You scored 3.9 out of 5 for Neuroticism&lt;/p&gt;
&lt;p&gt;You scored high on Neuroticism.&lt;/p&gt;
&lt;p&gt;In the context of the Big Five personality traits, the term &amp;#8216;Neuroticism&amp;#8217; relates to a person’s response to threatening or stressful situations. People with scores like yours may find that they often feel tense or anxious, and may well experience changeable moods.&lt;/p&gt;
&lt;p&gt;Some scientists have suggested that Neuroticism was beneficial in evolutionary terms. Early man may have found it advantageous to live in a population where certain individuals had a high sensitivity to threats to the group&amp;#8217;s survival.&lt;/p&gt;
&lt;p&gt;There is evidence to suggest that Neuroticism, when combined with high scores in personality traits such as Conscientiousness, can result in a powerful work ethic and a will to succeed.&lt;/p&gt;</description>
	<pubDate>Sun, 29 Nov 2009 20:35:43 +0000</pubDate>
</item>
<item>
	<title>Blaxter: Mostrar notificaciones emergentes desde la consola</title>
	<guid>http://bicosyes.com/?p=894</guid>
	<link>http://bicosyes.com/mostrar-notificaciones-emergentes-desde-la-consola/</link>
	<description>&lt;p&gt;A veces es útil mostrar algún tipo de notificación gráfica para informarte, por ejemplo, de cuándo se ha terminado una tarea. &lt;a href=&quot;https://wiki.ubuntu.com/NotifyOSD&quot;&gt;Las notificaciones emergentes de Ubuntu&lt;/a&gt;, añadidas hace un par de versiones, son una muy buena opción.&lt;/p&gt;
&lt;p&gt;Dos opciones, (1) instalarnos esta librería de perl &lt;em&gt;libnet-dbus-perl&lt;/em&gt;, y nos ponemos esta función en nuestro &lt;em&gt;~/.bashrc&lt;/em&gt;&lt;/p&gt;
&lt;pre class=&quot;bash&quot;&gt;&lt;span&gt;function&lt;/span&gt; notify&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
&lt;span&gt;&amp;#123;&lt;/span&gt;
    &lt;span&gt;perl&lt;/span&gt; -e &lt;span&gt;&quot;use Net::DBus; my &lt;span&gt;\$&lt;/span&gt;sessionBus = Net::DBus-&amp;gt;session; my &lt;span&gt;\$&lt;/span&gt;notificat
ionsService = &lt;span&gt;\$&lt;/span&gt;sessionBus-&amp;gt;get_service('org.freedesktop.Notifications'); my &lt;span&gt;\$&lt;/span&gt;n
otificationsObject = &lt;span&gt;\$&lt;/span&gt;notificationsService-&amp;gt;get_object('/org/freedesktop/Notifi
cations', 'org.freedesktop.Notifications'); my &lt;span&gt;\$&lt;/span&gt;notificationId; &lt;span&gt;\$&lt;/span&gt;notificationI
d = &lt;span&gt;\$&lt;/span&gt;notificationsObject-&amp;gt;Notify(shift, 0, '', '$1', '$2', [], {}, -1);&quot;&lt;/span&gt;
&lt;span&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;$ notify foooooooo baaarrr&lt;/pre&gt;
&lt;p&gt;&lt;a href=&quot;http://bicosyes.com/wp-content/uploads/2009/11/notify.png&quot;&gt;&lt;img src=&quot;http://bicosyes.com/wp-content/uploads/2009/11/notify.png&quot; alt=&quot;notify&quot; title=&quot;notify&quot; width=&quot;357&quot; height=&quot;204&quot; class=&quot;aligncenter size-full wp-image-895&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;El primer parámetro es el título y el segundo el contenido. &lt;/p&gt;
&lt;p&gt;Otra forma (2) todavía más fácil es instalarnos el paquete &lt;em&gt;libnotify-bin&lt;/em&gt;, el cual contiene el binario &lt;em&gt;notify-send&lt;/em&gt; que hace justamente esto. Probablemente la primera solución nos servirá para cualquier distro, mientras que la segunda solo en debian, ubuntu y derivados. Ambas funcionan exactamente igual y sin problemas.&lt;/p&gt;
&lt;img src=&quot;http://bicosyes.com/?ak_action=api_record_view&amp;id=894&amp;type=feed&quot; alt=&quot;&quot; /&gt;</description>
	<pubDate>Sun, 29 Nov 2009 14:20:21 +0000</pubDate>
</item>
<item>
	<title>Koke: Redesigning eBox homepage</title>
	<guid>http://www.jorgebernal.info/?p=463</guid>
	<link>http://www.jorgebernal.info/business/ebox/redesigning-ebox-homepage</link>
	<description>&lt;div id=&quot;__ss_2597686&quot;&gt;&lt;embed src=&quot;http://static.slidesharecdn.com/swf/ssplayerd.swf?doc=progression-091127105020-phpapp02&amp;#038;rel=0&amp;#038;stripped_title=redesign-ebox-platform-homepage-2597686&quot; type=&quot;application/x-shockwave-flash&quot; width=&quot;477&quot; height=&quot;510&quot;&gt;&lt;/embed&gt;
&lt;div&gt;&lt;a href=&quot;http://www.slideshare.net/koke/redesign-ebox-platform-homepage-2597686&quot; title=&quot;Redesign eBox Platform homepage&quot;&gt;Redesign eBox Platform homepage&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;View more &lt;a href=&quot;http://www.slideshare.net/&quot;&gt;documents&lt;/a&gt; from &lt;a href=&quot;http://www.slideshare.net/koke&quot;&gt;Jorge Bernal&lt;/a&gt;.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;It&amp;#8217;s been 3 weeks since we &lt;a href=&quot;http://twitter.com/eboxplatform/status/5475628078&quot;&gt;launched&lt;/a&gt; the new &lt;a href=&quot;http://www.ebox-platform.com&quot;&gt;eBox Platform&lt;/a&gt; homepage, and I wanted to share the different steps through the redesign.&lt;/p&gt;
&lt;p&gt;Do you like the new design?&lt;/p&gt;
&lt;p&gt;Do you like any of the previous steps better?&lt;/p&gt;
&lt;p&gt;Do you have any suggestions?&lt;/p&gt;
&lt;h3 class=&quot;related_post_title&quot;&gt;Related posts&lt;/h3&gt;&lt;ul class=&quot;related_post&quot;&gt;&lt;li&gt;&lt;a href=&quot;http://www.jorgebernal.info/development/track-outbound-links-google-analytics-events-api&quot; title=&quot;How we track outbound links with Google Analytics Events API&quot;&gt;How we track outbound links with Google Analytics Events API&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.jorgebernal.info/business/ebox/ebox-technologies-website&quot; title=&quot;eBox Technologies new website&quot;&gt;eBox Technologies new website&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.jorgebernal.info/business/ebox/local-global&quot; title=&quot;Local vs. global&quot;&gt;Local vs. global&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.jorgebernal.info/business/ebox/planet-ebox-running&quot; title=&quot;Planet eBox up and running&quot;&gt;Planet eBox up and running&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.jorgebernal.info/business/innovate-09&quot; title=&quot;Innovate 09 is over&quot;&gt;Innovate 09 is over&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</description>
	<pubDate>Fri, 27 Nov 2009 16:57:58 +0000</pubDate>
</item>
<item>
	<title>Blaxter: How to know, in ruby, which methods have been added and by whom?</title>
	<guid>http://bicosyes.com/?p=885</guid>
	<link>http://bicosyes.com/how-to-know-in-ruby-which-methods-have-been-added-and-by-whom/</link>
	<description>&lt;p&gt;If you are not very careful, monkeypatching could be very harmful. One thing to remember is that you should &lt;strong&gt;never&lt;/strong&gt; override a method to &lt;strong&gt;add&lt;/strong&gt; funcionality, for those kind of thinks you must use &lt;em&gt;alias chain method pattern&lt;/em&gt;, a safer way of doing that. &lt;/p&gt;
&lt;p&gt;For the rest of the &lt;em&gt;monkeypatching&lt;/em&gt;, i.e. add new methods, you could debug them really easy with something like this:&lt;/p&gt;
&lt;pre class=&quot;ruby&quot;&gt;&lt;span&gt;class&lt;/span&gt; &lt;span&gt;Class&lt;/span&gt;
   &lt;span&gt;def&lt;/span&gt; method_added&lt;span&gt;&amp;#40;&lt;/span&gt;method_name&lt;span&gt;&amp;#41;&lt;/span&gt;
      &lt;span&gt;puts&lt;/span&gt; &lt;span&gt;&quot;#{method_name} added to #{self}, callstack:&quot;&lt;/span&gt;
      &lt;span&gt;puts&lt;/span&gt; &lt;span&gt;caller&lt;/span&gt;.&lt;span&gt;map&lt;/span&gt;&lt;span&gt;&amp;#123;&lt;/span&gt;|line| &lt;span&gt;&quot;&lt;span&gt;\t&lt;/span&gt;#{line}&quot;&lt;/span&gt; &lt;span&gt;&amp;#125;&lt;/span&gt;.&lt;span&gt;join&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&quot;&lt;span&gt;\n&lt;/span&gt;&quot;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
   &lt;span&gt;end&lt;/span&gt;
&lt;span&gt;end&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;You can always add more code to filter by class or by method's name. Let's see an example:&lt;/p&gt;
&lt;pre class=&quot;ruby&quot;&gt;$ more example.&lt;span&gt;rb&lt;/span&gt;
&lt;span&gt;require&lt;/span&gt; &lt;span&gt;'date'&lt;/span&gt;
&lt;span&gt;require&lt;/span&gt; &lt;span&gt;'time'&lt;/span&gt;
&amp;nbsp;
&lt;span&gt;class&lt;/span&gt; &lt;span&gt;Class&lt;/span&gt;
   &lt;span&gt;def&lt;/span&gt; method_added&lt;span&gt;&amp;#40;&lt;/span&gt;method_name&lt;span&gt;&amp;#41;&lt;/span&gt;
      &lt;span&gt;return&lt;/span&gt; &lt;span&gt;if&lt;/span&gt; %w&lt;span&gt;&amp;#40;&lt;/span&gt;method_added&lt;span&gt;&amp;#41;&lt;/span&gt;.&lt;span&gt;include&lt;/span&gt;? method_name.&lt;span&gt;to_s&lt;/span&gt;
      &lt;span&gt;puts&lt;/span&gt; &lt;span&gt;&quot;#{method_name} added to #{self}, callstack:&quot;&lt;/span&gt;
      &lt;span&gt;puts&lt;/span&gt; &lt;span&gt;caller&lt;/span&gt;.&lt;span&gt;map&lt;/span&gt;&lt;span&gt;&amp;#123;&lt;/span&gt;|line| &lt;span&gt;&quot;&lt;span&gt;\t&lt;/span&gt;#{line}&quot;&lt;/span&gt; &lt;span&gt;&amp;#125;&lt;/span&gt;.&lt;span&gt;join&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&quot;&lt;span&gt;\n&lt;/span&gt;&quot;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
   &lt;span&gt;end&lt;/span&gt;
&lt;span&gt;end&lt;/span&gt;
&amp;nbsp;
&lt;span&gt;class&lt;/span&gt; &lt;span&gt;Time&lt;/span&gt;
   &lt;span&gt;def&lt;/span&gt; to_date
      &lt;span&gt;Date&lt;/span&gt;.&lt;span&gt;ordinal&lt;/span&gt; &lt;span&gt;self&lt;/span&gt;.&lt;span&gt;year&lt;/span&gt;, &lt;span&gt;self&lt;/span&gt;.&lt;span&gt;yday&lt;/span&gt;
   &lt;span&gt;end&lt;/span&gt;
&lt;span&gt;end&lt;/span&gt;
&amp;nbsp;
&lt;span&gt;class&lt;/span&gt; &lt;span&gt;Date&lt;/span&gt;
   &lt;span&gt;def&lt;/span&gt; to_time
      &lt;span&gt;Time&lt;/span&gt;.&lt;span&gt;parse&lt;/span&gt; &lt;span&gt;self&lt;/span&gt;.&lt;span&gt;to_s&lt;/span&gt;
   &lt;span&gt;end&lt;/span&gt;
&lt;span&gt;end&lt;/span&gt;
&amp;nbsp;
&lt;span&gt;raise&lt;/span&gt; &lt;span&gt;&quot;to_date not working&quot;&lt;/span&gt; &lt;span&gt;unless&lt;/span&gt;
   &lt;span&gt;Time&lt;/span&gt;.&lt;span&gt;now&lt;/span&gt;.&lt;span&gt;to_date&lt;/span&gt; == &lt;span&gt;Date&lt;/span&gt;.&lt;span&gt;today&lt;/span&gt;
&lt;span&gt;raise&lt;/span&gt; &lt;span&gt;&quot;to time not working&quot;&lt;/span&gt; &lt;span&gt;unless&lt;/span&gt;
   &lt;span&gt;Time&lt;/span&gt;.&lt;span&gt;now&lt;/span&gt;.&lt;span&gt;to_date&lt;/span&gt;.&lt;span&gt;to_time&lt;/span&gt; == &lt;span&gt;Date&lt;/span&gt;.&lt;span&gt;today&lt;/span&gt;.&lt;span&gt;to_time&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;The output will be:&lt;/p&gt;
&lt;pre&gt;$ ruby example.rb
to_date added to Time, callstack:
	example.rb:13
to_time added to Date, callstack:
	example.rb:19&lt;/pre&gt;
&lt;p&gt;Nice, isn't it?. Remember to be carefull with your monkeypatching, with great power comes great responsibility, it's just a tool, neither magic nor the panacea.&lt;/p&gt;
&lt;img src=&quot;http://bicosyes.com/?ak_action=api_record_view&amp;id=885&amp;type=feed&quot; alt=&quot;&quot; /&gt;</description>
	<pubDate>Mon, 23 Nov 2009 19:50:37 +0000</pubDate>
</item>
<item>
	<title>Blaxter: Comandos Windows para linuxeros: kill -9, ps, route, servicios</title>
	<guid>http://bicosyes.com/?p=862</guid>
	<link>http://bicosyes.com/comandos-windows-para-linuxeros-kill-9-ps-route-servicios/</link>
	<description>&lt;p&gt;Si por cuestiones del destino tienes la mala suerte de tener que lidiar con este sistema operativo, he aquí unas pequeñas ayudas para típicas tareas a realizar, traduciendo desde comandos *nix.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Matar un proceso
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Linux&lt;/em&gt;: &lt;tt&gt;kill -9 PID&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Windows&lt;/em&gt;: &lt;tt&gt;taskkill /f /pid PID&lt;/tt&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Mirar procesos y filtrarlos
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Linux&lt;/em&gt;: &lt;tt&gt;ps aux | grep PID&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Windows&lt;/em&gt;: &lt;tt&gt;tasklist /fi &quot;PID eq $PID&quot; | filter $PID&lt;/tt&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Establecer la ruta por defecto
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Linux&lt;/em&gt;: &lt;tt&gt;route add default gw IP&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Windows&lt;/em&gt;: &lt;tt&gt;route change 0.0.0.0 mask 0.0.0.0 IP&lt;/tt&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Iniciar/parar servicios
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Linux&lt;/em&gt;: &lt;tt&gt;/etc/init.d/foobar start|stop&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Windows&lt;/em&gt;: &lt;tt&gt;net start|stop foobar&lt;/tt&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Espero que nunca tengas que usarlos, por el bien de tu salud mental. Si llega a ser el caso, y no hay forma de salir del atolladero sin matar gente, te recomiendo usar &lt;a href=&quot;http://www.mingw.org/wiki/msys&quot;&gt;alguna que&lt;/a&gt; &lt;a href=&quot;http://gnuwin32.sourceforge.net/packages.html&quot;&gt;otra ayuda&lt;/a&gt; en este hostil, adverso y aciago entorno.&lt;/p&gt;
&lt;img src=&quot;http://bicosyes.com/?ak_action=api_record_view&amp;id=862&amp;type=feed&quot; alt=&quot;&quot; /&gt;</description>
	<pubDate>Sat, 21 Nov 2009 15:24:36 +0000</pubDate>
</item>
<item>
	<title>Blaxter: Hola qué tal</title>
	<guid>http://bicosyes.com/?p=874</guid>
	<link>http://bicosyes.com/hola-que-tal/</link>
	<description>&lt;p&gt;Cuando no apetece escribir, simplemente no apetece escribir, qué le vamos a hacer. Después de mucho tiempo creo que toca ya volver a dar mal por estos lares. Van ya cerca de 5 años con el blog, y aunque últimamente las &lt;strong&gt;redes sociales&lt;/strong&gt; y el &lt;strong&gt;microblogging&lt;/strong&gt; han quitado muchos usuarios a los blogs (posiblemente todos aquellos que creaban un blog y a los cuatro post lo dejaban abandonado), a &lt;em&gt;la blogosfera&lt;/em&gt; la veo mejor que nunca.&lt;/p&gt;
&lt;p&gt;De nuevo, como otras muchas veces, tengo el dilema sobre qué &lt;strong&gt;idioma&lt;/strong&gt; elegir, español o inglés. Mientras que con el primero puedo conseguir, a veces, no cometer faltas ortográficas y crear frases coherentes y comprensibles por otros seres humanos, el segundo, por suerte o desgracia, es el idioma neutral y empleado principalmente en esto del &lt;em&gt;interné&lt;/em&gt;, nuevas tecnologías y especialmente en el desarrollo de software. Posiblemente iré decidiéndolo post a post, intercalando, para dar emoción al asunto.&lt;/p&gt;
&lt;p&gt;Y tú, ¿has dejado de escribir en tu blog? Él no lo haría.&lt;/p&gt;
&lt;img src=&quot;http://bicosyes.com/?ak_action=api_record_view&amp;id=874&amp;type=feed&quot; alt=&quot;&quot; /&gt;</description>
	<pubDate>Sat, 21 Nov 2009 13:14:27 +0000</pubDate>
</item>
<item>
	<title>Koke: Fixing Snow Leopard ruby readline</title>
	<guid>http://www.jorgebernal.info/?p=453</guid>
	<link>http://www.jorgebernal.info/development/fixing-snow-leopard-ruby-readline</link>
	<description>&lt;p&gt;&lt;img src=&quot;http://www.jorgebernal.info/wp-content/uploads/2009/11/Default.png&quot; alt=&quot;Building ruby readline&quot; title=&quot;Building ruby readline&quot; width=&quot;700&quot; height=&quot;200&quot; class=&quot;alignnone size-full wp-image-458&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Since I upgraded to Snow Leopard I&amp;#8217;ve been missing readline whe using irb. As I discovered in &lt;a href=&quot;http://henrik.nyh.se/2008/03/irb-readline&quot;&gt;this article&lt;/a&gt;, this is due to apple&amp;#8217;s ruby linking to libedit instead of libreadline. I didn&amp;#8217;t have that problem before the upgrade since I had compiled ruby myself.&lt;/p&gt;
&lt;p&gt;This time, I was looking for another solution. I could have compiled ruby with readline support, but then probably I&amp;#8217;d had to reinstall some gems too. So I present you the quick way to fix your readline&lt;/p&gt;
&lt;h3&gt;Step 0: Setup temp dir&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;mkdir -p /tmp/rlruby&lt;br /&gt;
cd /tmp/rlruby&lt;br /&gt;
sudo -s&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;Step 1: Install readline&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;curl -O ftp://ftp.cwru.edu/pub/bash/readline-6.0.tar.gz&lt;br /&gt;
tar xvf readline-6.0.tar.gz&lt;br /&gt;
cd readline-6.0&lt;br /&gt;
./configure &amp;#038;&amp;#038; make &amp;#038;&amp;#038; make install&lt;br /&gt;
cd ..&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;Step 2: Get ruby source&lt;/h3&gt;
&lt;p&gt;To keep the complications to a minimum, I downloaded ruby from apple (check &lt;a href=&quot;http://www.opensource.apple.com/release/mac-os-x-1062/&quot;&gt;10.6.2 open source&lt;/a&gt;, or &lt;a href=&quot;http://www.opensource.apple.com/&quot;&gt;other releases&lt;/a&gt;). The current patchlevel is ruby-75 so fetch that one:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;curl -O http://www.opensource.apple.com/tarballs/ruby/ruby-75.tar.gz&lt;br /&gt;
tar xvf ruby-75.tar.gz&lt;br /&gt;
cd ruby-75&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;Step 4: Build readline extension&lt;/h3&gt;
&lt;p&gt;We don&amp;#8217;t need to build all ruby, just the readline extension&lt;/p&gt;
&lt;p&gt;&lt;code&gt;cd ruby/ext/readline/&lt;br /&gt;
ruby extconf.rb&lt;br /&gt;
make&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;At this point, you&amp;#8217;ll probably get the following error:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;readline.c: In function ‘username_completion_proc_call’:&lt;br /&gt;
readline.c:730: error: ‘username_completion_function’ undeclared (first use in this function)&lt;br /&gt;
readline.c:730: error: (Each undeclared identifier is reported only once&lt;br /&gt;
readline.c:730: error: for each function it appears in.)&lt;br /&gt;
readline.c: In function ‘username_completion_proc_call’:&lt;br /&gt;
readline.c:730: error: ‘username_completion_function’ undeclared (first use in this function)&lt;br /&gt;
readline.c:730: error: (Each undeclared identifier is reported only once&lt;br /&gt;
readline.c:730: error: for each function it appears in.)&lt;br /&gt;
lipo: can't open input file: /var/folders/s4/s4qO7oueE3ijABAH7qB6Dk+++TI/-Tmp-//ccW5lOLL.out (No such file or directory)&lt;br /&gt;
make: *** [readline.o] Error 1&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;We need to tell gcc that our readline is in /usr/local&lt;/p&gt;
&lt;p&gt;&lt;code&gt;make readline.o CFLAGS='-I/usr/local/include -DHAVE_RL_USERNAME_COMPLETION_FUNCTION'&lt;br /&gt;
cc -arch i386 -arch x86_64 -pipe -bundle -undefined dynamic_lookup -o readline.bundle readline.o -L/usr/local/lib -L/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib -L. -arch i386 -arch x86_64     -lruby -lreadline -lncurses  -lpthread -ldl&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;To be sure we are using the real readline run otool and make sure libedit doesn&amp;#8217;t appear on the results:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;$ otool -L readline.bundle&lt;br /&gt;
readline.bundle:&lt;br /&gt;
        /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/libruby.1.dylib (compatibility version 1.8.0, current version 1.8.7)&lt;br /&gt;
        /usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, current version 5.4.0)&lt;br /&gt;
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.0.0)&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;Step 5: Replace readline.bundle&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;cd /System/Library/Frameworks/Ruby.framework/Versions/Current/usr/lib/ruby/1.8/universal-darwin10.0/&lt;br /&gt;
mv readline.bundle readline.bundle.libedit&lt;br /&gt;
cp /tmp/rlruby/ruby-75/ruby/ext/readline/readline.bundle readline.bundle&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Now launch irb and check if all your favorite shortcuts are in place&lt;/p&gt;
&lt;h3 class=&quot;related_post_title&quot;&gt;Most Commented Posts&lt;/h3&gt;&lt;ul class=&quot;related_post&quot;&gt;&lt;li&gt;&lt;a href=&quot;http://www.jorgebernal.info/innovation/ibuy&quot; title=&quot;Shop in Amazon from your iPhone with iBuy&quot;&gt;Shop in Amazon from your iPhone with iBuy&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.jorgebernal.info/dev-random/fake-ad-i-presume&quot; title=&quot;Fake ad, I presume&quot;&gt;Fake ad, I presume&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.jorgebernal.info/innovation/amazing-new-image-resizing-technology&quot; title=&quot;Amazing new image resizing technology&quot;&gt;Amazing new image resizing technology&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.jorgebernal.info/wtf/whats-wrong-with-colors-in-firefox&quot; title=&quot;What&amp;#8217;s wrong with colors in Firefox?&quot;&gt;What&amp;#8217;s wrong with colors in Firefox?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.jorgebernal.info/opensource/is-ubuntu-the-new-linux&quot; title=&quot;Is Ubuntu the new Linux?&quot;&gt;Is Ubuntu the new Linux?&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</description>
	<pubDate>Wed, 18 Nov 2009 15:36:51 +0000</pubDate>
</item>
<item>
	<title>Koke: Sick of getting your wordpress hacked? (contest below)</title>
	<guid>http://www.jorgebernal.info/?p=431</guid>
	<link>http://www.jorgebernal.info/opensource/sick-wordpress-hacked-contest</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/koke/4065346502/&quot;&gt;&lt;img src=&quot;http://www.jorgebernal.info/wp-content/uploads/2009/11/DSC_8408.jpg&quot; alt=&quot;Crashed again&quot; title=&quot;Crashed again&quot; width=&quot;700&quot; height=&quot;200&quot; class=&quot;alignnone size-full wp-image-446&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I sure am. After a proper installation/configuration, the most important factor is to &lt;strong&gt;always stay updated&lt;/strong&gt; to the last version. I&amp;#8217;m managing at this time 8 or more blogs/websites running different versions of &lt;a href=&quot;http://wordpress.org/&quot;&gt;WordPress&lt;/a&gt; and it&amp;#8217;s hard to keep them up to date. &lt;/p&gt;
&lt;p&gt;Automatic upgrades help, although they still terrify me after the &lt;a href=&quot;http://www.jorgebernal.info/technology/open-source-technology/upgrade-wordpress-28&quot;&gt;2.8 crash&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The problem is, some of these blogs are set up for friends or old projects, and I forgot to frequently check if they are using the latest version. Most of the times, they become crammed with spam, and eventually trigger google&amp;#8217;s malware detectors. Most of the times I notice the hack because of firefox &lt;a href=&quot;http://www.mozilla.com/firefox/its-an-attack.html&quot;&gt;malware warning&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;So I started a side project to help me keep track of all those blogs and their versions, and it&amp;#8217;s seems is close to see the light. This is how it looks right now:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://www.jorgebernal.info/wp-content/uploads/2009/11/wp2date.jpg&quot; alt=&quot;beta screenshot&quot; width=&quot;700&quot; height=&quot;264&quot; class=&quot;size-full wp-image-435&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I will need testing, so if you want to &lt;strong&gt;participate in the beta&lt;/strong&gt;, fill the &lt;a href=&quot;http://eepurl.com/eSAj&quot;&gt;signup form&lt;/a&gt;, and I&amp;#8217;ll send some invitations.&lt;/p&gt;
&lt;p&gt;Also, I&amp;#8217;m looking for a nice name for &lt;em&gt;the thing&lt;/em&gt;. If you have a good idea, put it in the &amp;#8216;Proposed name&amp;#8217; field on the &lt;a href=&quot;http://eepurl.com/eSAj&quot;&gt;signup form&lt;/a&gt;. The winner(*) will get the &lt;strong&gt;first beta invitation and free full access&lt;/strong&gt; to the product for 1 year after it launches. Make sure a .com &lt;a href=&quot;https://domize.com/&quot;&gt;domain is available&lt;/a&gt; for the name you propose or it won&amp;#8217;t have many chances.&lt;/p&gt;
&lt;p&gt;(*) There will be only 1 winner: the first person to propose the chosen product name. Simple rules, but&amp;#8230; &lt;a href=&quot;http://www.imdb.com/title/tt0994491/quotes#qt0246522&quot;&gt;without rules we are nothing but savages&lt;/a&gt;.&lt;/p&gt;
&lt;h3 class=&quot;related_post_title&quot;&gt;Related posts&lt;/h3&gt;&lt;ul class=&quot;related_post&quot;&gt;&lt;li&gt;&lt;a href=&quot;http://www.jorgebernal.info/business/lock-screen-osx-saving-energy&quot; title=&quot;Lock screen in OSX while saving energy&quot;&gt;Lock screen in OSX while saving energy&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.jorgebernal.info/opensource/upgrade-wordpress-28&quot; title=&quot;Don&amp;#8217;t upgrade to wordpress 2.8&quot;&gt;Don&amp;#8217;t upgrade to wordpress 2.8&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.jorgebernal.info/wtf/pay-attention-blog&quot; title=&quot;You don&amp;#8217;t pay much attention to your blog when&amp;#8230;&quot;&gt;You don&amp;#8217;t pay much attention to your blog when&amp;#8230;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.jorgebernal.info/opensource/introducing-wordpress-scripts-01&quot; title=&quot;Introducing wordpress-scripts 0.1 (0.2 out)&quot;&gt;Introducing wordpress-scripts 0.1 (0.2 out)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.jorgebernal.info/business/does-your-company-have-happiness-engineers&quot; title=&quot;Does your company have Happiness Engineers?&quot;&gt;Does your company have Happiness Engineers?&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</description>
	<pubDate>Tue, 10 Nov 2009 02:35:11 +0000</pubDate>
</item>
<item>
	<title>Koke: Discovr: a flickr experiment gone wrong</title>
	<guid>http://www.jorgebernal.info/?p=414</guid>
	<link>http://www.jorgebernal.info/photography/discovr-flickr-experiment-wrong</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/koke/4086924614/&quot;&gt;&lt;img class=&quot;alignnone&quot; title=&quot;discovr screenshot&quot; src=&quot;http://farm3.static.flickr.com/2572/4086924614_f258e658df.jpg&quot; alt=&quot;&quot; width=&quot;500&quot; height=&quot;331&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I need help with this. I had a dream&amp;#8230; Well, not so much as a dream, maybe a &amp;#8220;It&amp;#8217;d be cool to&amp;#8230;&amp;#8221;&lt;/p&gt;
&lt;p&gt;I thought it&amp;#8217;d be nice to discover new photos on flickr using your favorite photos and the people who also favorited those photos, and the &lt;strong&gt;favorite photos of those who also favorited my pictures&lt;/strong&gt;. Still with me?&lt;/p&gt;
&lt;p&gt;It&amp;#8217;s actually a quite simple code (about 500 lines, check it on github: &lt;a href=&quot;http://github.com/koke/discovr/&quot;&gt;discovr&lt;/a&gt;), but it&amp;#8217;s terribly slow. Some possible reasons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Way too much data. I&amp;#8217;ve found people with &lt;del&gt;around&lt;/del&gt; &lt;a href=&quot;http://www.flickr.com/photos/astrokid/favorites/&quot;&gt;more than 18000 favorites&lt;/a&gt;, and there are photos with &lt;a href=&quot;http://www.flickr.com/photos/jonlucas/1290276/&quot;&gt;more than 2k fans&lt;/a&gt;. After limiting to 50 last favorites, the numbers are still creepy. Following from my &lt;a href=&quot;http://www.flickr.com/photos/koke/favorites/&quot;&gt;personal favorites&lt;/a&gt; (366), I discovered 1268 users and 52632 photos&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Too complicated for an API&lt;/strong&gt;. This is the kind of feature that wouldn&amp;#8217;t be so hard to implement if you have access to the flickr database directly, but having to do so many requests adds a lot of time to the process.&lt;/li&gt;
&lt;li&gt;Inefficient library. I had to do some modifications to the flickr ruby library just to make it work, but it&amp;#8217;s still quite inefficient in some cases. Want to know the url of a picture (knowing the picture id)? 4 (completely unnecessary) API calls&lt;/li&gt;
&lt;li&gt;My code is bad. OK, I know it&amp;#8217;s ugly to start blaming everyone else. I know my code is not very good, as it&amp;#8217;s a quick prototype. Still, I&amp;#8217;m not sure if making my code/libraries better would be enough improvement given the network/api bottleneck&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The simplified algorithm goes like this.&lt;/p&gt;

&lt;div class=&quot;wp_codebox_msgheader&quot;&gt;&lt;span class=&quot;right&quot;&gt;&lt;sup&gt;&lt;a href=&quot;http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples&quot; target=&quot;_blank&quot; title=&quot;WP-CodeBox HowTo?&quot;&gt;&lt;span&gt;?&lt;/span&gt;&lt;/a&gt;&lt;/sup&gt;&lt;/span&gt;&lt;span class=&quot;left&quot;&gt;&lt;a href=&quot;javascript:;&quot;&gt;View Code&lt;/a&gt; RUBY&lt;/span&gt;&lt;div class=&quot;codebox_clear&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;wp_codebox&quot;&gt;&lt;table&gt;&lt;tr id=&quot;p4142&quot;&gt;&lt;td class=&quot;line_numbers&quot;&gt;&lt;pre&gt;1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot; id=&quot;p414code2&quot;&gt;&lt;pre class=&quot;ruby&quot;&gt;  &lt;span&gt;# method from class User&lt;/span&gt;
  &lt;span&gt;def&lt;/span&gt; similar_pictures
    similar = &lt;span&gt;&amp;#123;&lt;/span&gt;&lt;span&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
    favorites.&lt;span&gt;each&lt;/span&gt; &lt;span&gt;do&lt;/span&gt; &lt;span&gt;|&lt;/span&gt;favorite&lt;span&gt;|&lt;/span&gt;
      favorite.&lt;span&gt;favorited_by&lt;/span&gt;.&lt;span&gt;each&lt;/span&gt; &lt;span&gt;do&lt;/span&gt; &lt;span&gt;|&lt;/span&gt;user&lt;span&gt;|&lt;/span&gt;
        user.&lt;span&gt;favorites&lt;/span&gt;.&lt;span&gt;each&lt;/span&gt; &lt;span&gt;do&lt;/span&gt; &lt;span&gt;|&lt;/span&gt;v&lt;span&gt;|&lt;/span&gt;
          similar&lt;span&gt;&amp;#91;&lt;/span&gt;k&lt;span&gt;&amp;#93;&lt;/span&gt; &lt;span&gt;||&lt;/span&gt;= &lt;span&gt;&amp;#123;&lt;/span&gt;:weight &lt;span&gt;=&amp;gt;&lt;/span&gt; &lt;span&gt;0&lt;/span&gt;, &lt;span&gt;:picture&lt;/span&gt; &lt;span&gt;=&amp;gt;&lt;/span&gt; v&lt;span&gt;&amp;#91;&lt;/span&gt;&lt;span&gt;:picture&lt;/span&gt;&lt;span&gt;&amp;#93;&lt;/span&gt;&lt;span&gt;&amp;#125;&lt;/span&gt;
          similar&lt;span&gt;&amp;#91;&lt;/span&gt;k&lt;span&gt;&amp;#93;&lt;/span&gt;&lt;span&gt;&amp;#91;&lt;/span&gt;&lt;span&gt;:weight&lt;/span&gt;&lt;span&gt;&amp;#93;&lt;/span&gt; &lt;span&gt;+&lt;/span&gt;= &lt;span&gt;1&lt;/span&gt;
        &lt;span&gt;end&lt;/span&gt;
      &lt;span&gt;end&lt;/span&gt;
    &lt;span&gt;end&lt;/span&gt;
&amp;nbsp;
    similar.&lt;span&gt;values&lt;/span&gt;.&lt;span&gt;sort&lt;/span&gt; &lt;span&gt;&amp;#123;&lt;/span&gt;&lt;span&gt;|&lt;/span&gt;a,b&lt;span&gt;|&lt;/span&gt; b&lt;span&gt;&amp;#91;&lt;/span&gt;&lt;span&gt;:weight&lt;/span&gt;&lt;span&gt;&amp;#93;&lt;/span&gt; &lt;span&gt;&amp;lt;=&amp;gt;&lt;/span&gt; a&lt;span&gt;&amp;#91;&lt;/span&gt;&lt;span&gt;:weight&lt;/span&gt;&lt;span&gt;&amp;#93;&lt;/span&gt;&lt;span&gt;&amp;#125;&lt;/span&gt;.&lt;span&gt;select&lt;/span&gt; &lt;span&gt;&amp;#123;&lt;/span&gt;&lt;span&gt;|&lt;/span&gt;v&lt;span&gt;|&lt;/span&gt; v&lt;span&gt;&amp;#91;&lt;/span&gt;&lt;span&gt;:weight&lt;/span&gt;&lt;span&gt;&amp;#93;&lt;/span&gt; &lt;span&gt;&amp;gt;&lt;/span&gt; &lt;span&gt;1&lt;/span&gt;&lt;span&gt;&amp;#125;&lt;/span&gt;
  &lt;span&gt;end&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;So I&amp;#8217;ve created a github repository and uploaded the code: &lt;a href=&quot;http://github.com/koke/discovr/&quot;&gt;discovr at github&lt;/a&gt;. Feel free to clone, test and improve&lt;/p&gt;
&lt;h3 class=&quot;related_post_title&quot;&gt;Related posts&lt;/h3&gt;&lt;ul class=&quot;related_post&quot;&gt;&lt;li&gt;&lt;a href=&quot;http://www.jorgebernal.info/development/track-outbound-links-google-analytics-events-api&quot; title=&quot;How we track outbound links with Google Analytics Events API&quot;&gt;How we track outbound links with Google Analytics Events API&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.jorgebernal.info/opensource/mysql-conference-2009-i-need-an-idea&quot; title=&quot;MySQL Conference 2009, I need an idea&quot;&gt;MySQL Conference 2009, I need an idea&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.jorgebernal.info/opensource/flickr-commentr&quot; title=&quot;Flickr commentr&quot;&gt;Flickr commentr&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.jorgebernal.info/opensource/introducing-wordpress-scripts-01&quot; title=&quot;Introducing wordpress-scripts 0.1 (0.2 out)&quot;&gt;Introducing wordpress-scripts 0.1 (0.2 out)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.jorgebernal.info/technology/function-of-the-day-rgrep&quot; title=&quot;Function of the day: rgrep&quot;&gt;Function of the day: rgrep&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</description>
	<pubDate>Sun, 08 Nov 2009 19:41:51 +0000</pubDate>
</item>
<item>
	<title>Golo: Cómo me quedé sin teléfono (VIII)</title>
	<guid>http://www.capitangolo.net/Blog/?p=340</guid>
	<link>http://www.capitangolo.net/Blog/?p=340</link>
	<description>&lt;p&gt;
Este verano estuve un par de semanas sin teléfono, por culpa de una portabilidad. Partes &lt;a href=&quot;http://www.capitangolo.net/Blog/?p=280&quot;&gt;I&lt;/a&gt;, &lt;a href=&quot;http://www.capitangolo.net/Blog/?p=284&quot;&gt;II&lt;/a&gt;, &lt;a href=&quot;http://www.capitangolo.net/Blog/?p=288&quot;&gt;III&lt;/a&gt;, &lt;a href=&quot;http://www.capitangolo.net/Blog/?p=328&quot;&gt;IV&lt;/a&gt;, &lt;a href=&quot;http://www.capitangolo.net/Blog/?p=332&quot;&gt;V&lt;/a&gt;, &lt;a href=&quot;http://www.capitangolo.net/Blog/?p=334&quot;&gt;VI&lt;/a&gt;, y &lt;a href=&quot;http://www.capitangolo.net/Blog/?p=335&quot;&gt;VII&lt;/a&gt;
&lt;/p&gt;
&lt;h3&gt;Mi Terminal&lt;/h3&gt;
&lt;p&gt;
Por un &lt;strong&gt;fallo del distribuidor&lt;/strong&gt; en mi última portabilidad, tengo un &lt;strong&gt;compromiso de permanencia&lt;/strong&gt;. Esta experiencia me ha servido para darme cuenta del &lt;strong&gt;chollo&lt;/strong&gt; que suponen los distribuidores para la operadora.
&lt;/p&gt;
&lt;p&gt;
Si el distribuidor comete un fallo, la operadora alega que yo no he firmado el contrato con ellos, y el distribuidor alega que el operador no le ayuda con el problema. En definitiva, entre unos y otros el &lt;strong&gt;cliente se come los mocos&lt;/strong&gt;.
&lt;/p&gt;
&lt;p&gt;
Justo después de que este distribuidor intente darme largas, paso por el distribuidor de un amigo, donde sí tienen &lt;strong&gt;el terminal que yo quería&lt;/strong&gt; con mi primera portabilidad.
&lt;/p&gt;
&lt;p&gt;
Con el calentón no me lo pienso Así que inicio la portabilidad, y sin problemas, en una semana&amp;#8230; &lt;strong&gt;¡¡¡Lo tengo!!! ¡¡¡eoeooeoeoeeo!!!&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Y todavía no me lo acabo de creer &lt;img src=&quot;http://www.capitangolo.net/Blog/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; .
&lt;/p&gt;
&lt;p&gt;
Eso sí, me costará entrar en la &lt;strong&gt;lista de morosos&lt;/strong&gt; por no pagar un compromiso de permanencia que &lt;strong&gt;no tengo que pagar&lt;/strong&gt;. Y reclamaciones, juicios y lo que haga falta para volver a salir&amp;#8230; pero&amp;#8230; &lt;strong&gt;¡¡¡Lo tengo!!!&lt;/strong&gt;&lt;/p&gt;</description>
	<pubDate>Wed, 04 Nov 2009 15:00:07 +0000</pubDate>
</item>
<item>
	<title>Golo: Cómo me quedé sin teléfono (VII)</title>
	<guid>http://www.capitangolo.net/Blog/?p=335</guid>
	<link>http://www.capitangolo.net/Blog/?p=335</link>
	<description>&lt;p&gt;
Este verano estuve un par de semanas sin teléfono, por culpa de una portabilidad. Partes &lt;a href=&quot;http://www.capitangolo.net/Blog/?p=280&quot;&gt;I&lt;/a&gt;, &lt;a href=&quot;http://www.capitangolo.net/Blog/?p=284&quot;&gt;II&lt;/a&gt;, &lt;a href=&quot;http://www.capitangolo.net/Blog/?p=288&quot;&gt;III&lt;/a&gt;, &lt;a href=&quot;http://www.capitangolo.net/Blog/?p=328&quot;&gt;IV&lt;/a&gt;, &lt;a href=&quot;http://www.capitangolo.net/Blog/?p=332&quot;&gt;V&lt;/a&gt;, y &lt;a href=&quot;http://www.capitangolo.net/Blog/?p=334&quot;&gt;VI&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Estoy sin contrato ni compromiso de permanencia, &lt;strong&gt;huyo&lt;/strong&gt; de mi distribuidor.
&lt;/p&gt;
&lt;h3&gt;Compromiso de Permanencia&lt;/h3&gt;
&lt;p&gt;
El plan es, &lt;strong&gt;vuelvo a mi operador anterior&lt;/strong&gt;, con el terminal que ya tengo, y como si nada hubiera pasado. Eso sí, vuelvo &lt;strong&gt;sin compromiso de permanencia&lt;/strong&gt;, que ya me canso de que me tengan agarrao.
&lt;/p&gt;
&lt;p&gt;
Todo es tan bonito&amp;#8230; hasta que la comercial se equivoca al hacer los papeles, y me pone permanencia de 18 meses.
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt; &amp;#8211; Oye perdona, habíamos quedado que si no me llevo terminal, no tenía compromiso de permanencia&amp;#8230;&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt; &amp;#8211; ¡Ay!, Sí, perdona, vaya, ahora no me deja cambiarlo el sistema, lo cambiamos en el contrato, vuelve la semana que viene y lo cambiamos por teléfono en el sistema.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
La semana siguiente estoy de vacaciones. Me paso cuando puedo, pero la chica está de vacaciones. &lt;em&gt;&amp;#8220;Vuelve la semana que viene&amp;#8221;&lt;/em&gt;. Tengo mudanzas por medio, estoy un poco liado, me paso un par de meses después. &lt;em&gt;&amp;#8220;Es que la chica ya no trabaja aquí, te digo donde trabaja y te pasas.&amp;#8221;&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
Y hasta ahí aguanto. Yo hice el contrato con el distribuidor, no con una comercial. &lt;em&gt;&amp;#8220;Veremos a ver si podemos hacer algo desde aquí.&amp;#8221;&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
Pues más les vale, porque en mi copia del contrato dice que &lt;strong&gt;no tengo compromiso de permanencia&lt;/strong&gt;.&lt;/p&gt;</description>
	<pubDate>Tue, 03 Nov 2009 15:00:05 +0000</pubDate>
</item>
<item>
	<title>Golo: Cómo me quedé sin teléfono (VI)</title>
	<guid>http://www.capitangolo.net/Blog/?p=334</guid>
	<link>http://www.capitangolo.net/Blog/?p=334</link>
	<description>&lt;p&gt;
Este verano estuve un par de semanas sin teléfono, por culpa de una portabilidad. Partes &lt;a href=&quot;http://www.capitangolo.net/Blog/?p=280&quot;&gt;I&lt;/a&gt;, &lt;a href=&quot;http://www.capitangolo.net/Blog/?p=284&quot;&gt;II&lt;/a&gt;, &lt;a href=&quot;http://www.capitangolo.net/Blog/?p=288&quot;&gt;III&lt;/a&gt;, &lt;a href=&quot;http://www.capitangolo.net/Blog/?p=328&quot;&gt;IV&lt;/a&gt;, y &lt;a href=&quot;http://www.capitangolo.net/Blog/?p=332&quot;&gt;V&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
En una hoja de reclamaciones el distribuidor se compromete a darme el terminal solicitado en cuanto tenga existencias. ¿Será verdad?
&lt;/p&gt;
&lt;h3&gt;Camino de vuelta&lt;/h3&gt;
&lt;p&gt;
Desgraciadamente, para contratos de &lt;strong&gt;empresa&lt;/strong&gt;, el procedimiento de reclamación se realiza vía &lt;strong&gt;burofax&lt;/strong&gt;. Mi hoja de reclamaciones no sirve para nada &lt;img src=&quot;http://www.capitangolo.net/Blog/wp-includes/images/smilies/icon_sad.gif&quot; alt=&quot;:(&quot; class=&quot;wp-smiley&quot; /&gt; .
&lt;/p&gt;
&lt;p&gt;
El distribuidor se pone en contacto conmigo para indicarme que si no me llevo un teléfono antes de final de mes, darán de &lt;strong&gt;baja&lt;/strong&gt; mi número de teléfono.
&lt;/p&gt;
&lt;p&gt;
Después de varias quejas en todos los medios de atención al cliente del operador, y llamadas casi diarias al distribuidor (que ya empezaba a cansarse de mí), el distribuidor accede a cancelarme el contrato. Eso sí, manteniéndome el número &lt;strong&gt;sin compromiso de permanencia&lt;/strong&gt;, para que pueda portar a otro operador.
&lt;/p&gt;
&lt;p&gt;
Así que acudo a un distribuidor de mi viejo operador para realizar otra &lt;strong&gt;portabilidad&lt;/strong&gt;, la segunda en un mes.&lt;/p&gt;</description>
	<pubDate>Mon, 02 Nov 2009 15:00:04 +0000</pubDate>
</item>
<item>
	<title>Golo: Cómo me quedé sin teléfono (V)</title>
	<guid>http://www.capitangolo.net/Blog/?p=332</guid>
	<link>http://www.capitangolo.net/Blog/?p=332</link>
	<description>&lt;p&gt;
Este verano estuve un par de semanas sin teléfono, por culpa de una portabilidad. Partes &lt;a href=&quot;http://www.capitangolo.net/Blog/?p=280&quot;&gt;I&lt;/a&gt;, &lt;a href=&quot;http://www.capitangolo.net/Blog/?p=284&quot;&gt;II&lt;/a&gt;, &lt;a href=&quot;http://www.capitangolo.net/Blog/?p=288&quot;&gt;III&lt;/a&gt;, y &lt;a href=&quot;http://www.capitangolo.net/Blog/?p=328&quot;&gt;IV&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Me intentaron vender un teléfono que &lt;strong&gt;yo no quería&lt;/strong&gt; sin permitirme cambiarlo. Me dieron &lt;strong&gt;tres precios diferentes&lt;/strong&gt; para el mismo terminal&amp;#8230; toca reclamar.
&lt;/p&gt;
&lt;h3&gt;Reclamaciones&lt;/h3&gt;
&lt;p&gt;
Es el momento de ponerse en contacto con la companía de telecomunicaciones.
&lt;/p&gt;
&lt;p&gt;
Puesto que el proceso de portabilidad se ha realizado a través de un distribuidor, &lt;strong&gt;desde el operador no &amp;#8220;pueden&amp;#8221; hacer nada&lt;/strong&gt;. Saber eso, me cuesta dos horas y cinco llamadas.
&lt;/p&gt;
&lt;p&gt;
En el distribuidor me prometen ponerse en contacto conmigo al día siguiente para solucionar mi problema.
&lt;/p&gt;
&lt;p&gt;
Al día siguiente &lt;strong&gt;me quedo sin teléfono&lt;/strong&gt;, el proceso de portabilidad ha finalizado.
&lt;/p&gt;
&lt;p&gt;
Después de mucho pelearme con el servicio telefónico consigo sacarles que el distribuidor puede cambiarme el teléfono. Respuesta del distribuidor: &lt;em&gt;&amp;#8220;Entonces pierdo 500 euros&amp;#8221;&amp;#8230;&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
Resulta que el distribuidor ha cometido un fallo, y en vez de solucionarlo humildemente, me pone más problemas para que me acojone y deje de quejarme.
&lt;/p&gt;
&lt;p&gt;
El distribuidor al final accede a realizar el cambio, pero no puede asegurar cuándo recibirá terminales. Los dos terminales que tenían ya los han repartido a otros clientes.
&lt;/p&gt;
&lt;p&gt;
Por si acaso, me llevo escrito este acuerdo en una &lt;strong&gt;hoja de reclamaciones&lt;/strong&gt;.&lt;/p&gt;</description>
	<pubDate>Sun, 01 Nov 2009 15:00:04 +0000</pubDate>
</item>
<item>
	<title>Golo: Cómo me quedé sin teléfono (IV)</title>
	<guid>http://www.capitangolo.net/Blog/?p=328</guid>
	<link>http://www.capitangolo.net/Blog/?p=328</link>
	<description>&lt;p&gt;
Este verano estuve un par de semanas sin teléfono, por culpa de una portabilidad. Partes &lt;a href=&quot;http://www.capitangolo.net/Blog/?p=280&quot;&gt;I&lt;/a&gt;, &lt;a href=&quot;http://www.capitangolo.net/Blog/?p=284&quot;&gt;II&lt;/a&gt;, y &lt;a href=&quot;http://www.capitangolo.net/Blog/?p=288&quot;&gt;III&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Me prometieron un teléfono que yo creía que era difícil de conseguir, me cambiaron el precio el día antes de ir a recogerlo, y aún así quise seguir adelante con la portabilidad.
&lt;/p&gt;
&lt;h3&gt;El gran día&lt;/h3&gt;
&lt;p&gt;
Y llegó el gran día.
&lt;/p&gt;
&lt;p&gt;
Acudo a la otra tienda del distribuidor a recoger mi terminal. Y&amp;#8230; ¡Sorpresa! Allí nadie sabe que me tienen que cambiar el terminal. De hecho&amp;#8230;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;¡¡¡Mi terminal no se puede cambiar!!!&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Si me hubieran avisado antes hubiera cancelado la portabilidad. Ahora no es posible técnicamente, ya que queda demasiado poco para que sea efectiva.
&lt;/p&gt;
&lt;p&gt;
Más preocupante es cuando me dice la dependienta:
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;&amp;#8220;Pero si el teléfono que has pedido no lo tenemos en catálogo&amp;#8230;&amp;#8221;&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
Me he quedado sin el teléfono que quería, nadie me había dicho que no lo tenían, y no me ofrecían ninguna solución.¿Podría ser peor? Sí.&lt;/p&gt;
&lt;p&gt;En la tienda disponen de dos terminales como el que solicité, pero en otro color. Pregunto por ellos.
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;&amp;#8220;Pero ese terminal no es gratis, tienes que abonar 99€.&amp;#8221;&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
Tercer cambio de precio en tres días. ¿Alguien da más?
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;Continuará&amp;#8230; (con final feliz)&lt;/em&gt;&lt;/p&gt;</description>
	<pubDate>Sat, 31 Oct 2009 22:30:05 +0000</pubDate>
</item>
<item>
	<title>Dani: ANSTE en O’Reilly</title>
	<guid>http://people.warp.es/~dani/blog/?p=174</guid>
	<link>http://people.warp.es/~dani/blog/?p=174</link>
	<description>&lt;p&gt;Hoy es un día curioso. Zaragoza se ha despertado bastante gris y oscura, pero sin embargo hay una noticia que alegraría la mañana a cualquiera. Estábamos a la espera de la confirmación y, por fin ha llegado gracias a &lt;a href=&quot;http://ebox-platform.com/archives/2009/10/28/304-ebox-testing-environment-anste-one-of-oreillys-beautiful-testing-essays/trackback//&quot;&gt;este post&lt;/a&gt;. &lt;a href=&quot;http://public.warp.es/anste&quot;&gt;ANSTE, developed by Warp Networks&lt;/a&gt;, como diría cualquier inglés orgulloso de su obra, ya ha aparecido en una publicación de &lt;a href=&quot;http://oreilly.com/&quot;&gt;O&amp;#8217;Reilly&lt;/a&gt; (Oh! Really?). En el libro &lt;a href=&quot;http://oreilly.com/catalog/9780596159818/&quot;&gt;Beautiful Testing&lt;/a&gt;, uno de los capítulos está dedicado a la herramienta GPL de pruebas automatizadas &lt;a href=&quot;http://public.warp.es/anste&quot;&gt;ANSTE&lt;/a&gt;. Este sistema se ha utilizado para realizar las pruebas del proyecto &lt;a href=&quot;http://www.ebox-platform.com/&quot;&gt;eBox Platform&lt;/a&gt; (que se lanzó como spin-off de Warp el año pasado), y ahorrar costes de realización de pruebas durante su desarrollo. Gracias a &lt;a href=&quot;http://public.warp.es/anste&quot;&gt;ANSTE&lt;/a&gt;, en &lt;a href=&quot;http://www.ebox-technologies.com&quot;&gt;eBox&lt;/a&gt; pueden definir complejos escenarios de red (rutas, reglas del cortafuegos, interacción entre máquinas, etc) y ejecutar varios conjuntos de tests sin necesidad de la acción humana.&lt;/p&gt;
&lt;p&gt;En el libro, se relata cuál fue el origen de la idea, la necesidad de tener un proyecto de estas características y una introducción a cómo se pueden realizar los tests, para mostrar toda la potencia de la plataforma. Además, los royalties derivados de la publicación del libro, serán donados al proyecto de la &lt;a href=&quot;http://www.nothingbutnets.net/partners/united-nations-foundation.html&quot;&gt;Fundación de Naciones Unidas&lt;/a&gt; &amp;#8220;&lt;a href=&quot;http://www.nothingbutnets.net/about-the-campaign/&quot;&gt;Nothing But Nets&lt;/a&gt;&amp;#8220;, que envía redes anti-mosquitos a África para prevenir la malaria.&lt;/p&gt;
&lt;p&gt;Enhorabuena a todos los autores, pero por supuesto más especialmente a Isaac, quien redactó el capítulo del libro, y a José Antonio, como ilustre y excelentísimo desarrollador de la herramienta &lt;img src=&quot;http://people.warp.es/~dani/blog/wp-includes/images/smilies/icon_wink.gif&quot; alt=&quot;;-)&quot; class=&quot;wp-smiley&quot; /&gt; .&lt;/p&gt;</description>
	<pubDate>Wed, 28 Oct 2009 12:06:33 +0000</pubDate>
</item>
<item>
	<title>Warp Networks: ANSTE incluido en el libro Beautiful Testing de O’Reilly</title>
	<guid>http://warp.es/?p=267</guid>
	<link>http://feedproxy.google.com/~r/WarpNetworks/~3/mWHOoO19sJ4/</link>
	<description>&lt;p&gt;Estamos orgullosos de anunciar que un ensayo sobre &lt;a title=&quot;Advanced Network Service Testing Environment&quot; href=&quot;http://public.warp.es/anste&quot;&gt;Advanced Network Service Testing Environment (ANSTE)&lt;/a&gt; ha sido incluido en el libro de &lt;a title=&quot;Beautiful Testing&quot; href=&quot;http://oreilly.com/catalog/9780596159818/&quot;&gt;O&amp;#8217;Reilly, Beatiful Testing,&lt;/a&gt; que &lt;strong&gt;será publicado el próximo 30 de octubre&lt;/strong&gt;. El libro ha sido editado por Tim Riley y Adam Goucher y dispone de 23 ensayos de 27 testers y desarrolladores líderes que ilustran las cualidades y técnicas que hacen del &lt;em&gt;testing &lt;/em&gt;un verdadero arte.&lt;/p&gt;
&lt;p&gt;La herramienta &lt;strong&gt;ANSTE fue desarrollada por Warp Networks para llevar a cabo las pruebas sobre la plataforma &lt;a title=&quot;eBox technologies&quot; href=&quot;http://www.ebox-technologies.com/&quot;&gt;eBox&lt;/a&gt; .&lt;/strong&gt; Según Isaac Clerencia desarrollador de tecnologías en eBox y autor del ensayo &lt;em&gt;Testing Network Services in Multimachine Scenarios&lt;/em&gt;, &amp;#8220;la plataforma eBox es una compleja herramienta que integra una serie de servicios de red independientes, lanzado como un conjunto de módulos también independientes que necesitan ser probados a fondo para evitar regresiones y para verificar el correcto funcionamiento de cada función&amp;#8221;.&lt;/p&gt;
&lt;p&gt;En cuanto a la motivación del proyecto, Clerencia agrega &amp;#8220;después de más de un año desde que comenzamos a desarrollar la plataforma eBox, obtener una nueva versión a punto se había convertido en una lucha por optimizar las pruebas y asegurar la calidad&amp;#8221;&lt;/p&gt;
&lt;p&gt;De ese reto ha nacido ANSTE, en palabras de José Antonio Calvo -desarrollador de la herramienta y actualmente en el equipo de ebox Technologies-  &amp;#8220;como no se pudo encontrar una herramienta de prueba que se adaptara a nuestras necesidades, hemos terminado el desarrollo de nuestra propia suite de pruebas de fuentes abiertas&amp;#8221;.&lt;/p&gt;
&lt;p&gt;Como resultado, &amp;#8220;&lt;strong&gt;ANSTE permite definir con facilidad escenarios de redes complejas con múltiples máquinas virtuales&lt;/strong&gt;, capaz de ejecutar de forma remota el calendario de pruebas de acuerdo a una serie de ensayos pre-definidos que incluyen el command-based y el Selenium-based test y finalmente obtener un informe completo que está disponible a través de una interfaz web &amp;#8220;.&lt;/p&gt;
&lt;p&gt;&amp;#8220;Creemos que&lt;strong&gt; ANSTE es una solución muy completa para ejecutar las pruebas en el proceso de desarrollo de software&lt;/strong&gt; que incluya varias máquinas conectadas a una red&amp;#8221;, dijo Isaac Clerencia. &amp;#8220;ANSTE ya &lt;strong&gt;ha sido utilizado con éxito para poner a prueba &lt;a title=&quot;Testing the Cluster with ANSTE&quot; href=&quot;http://www.mysqlconf.com/mysql2009/public/schedule/detail/6757&quot;&gt;MySQL Cluster&lt;/a&gt; y pensamos que también podría ser útil para otros proyectos&lt;/strong&gt;, tales como XMMP o Squid, por ejemplo. Estamos contentos por estar incluidos en &lt;em&gt;Beautiful Testing&lt;/em&gt; para dar más visibilidad al proyecto por una buena causa&amp;#8221;.&lt;/p&gt;
&lt;img src=&quot;http://feeds.feedburner.com/~r/WarpNetworks/~4/mWHOoO19sJ4&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Wed, 28 Oct 2009 09:02:44 +0000</pubDate>
</item>
<item>
	<title>Koke: Consulta los tiempos de los autobuses de zaragoza desde el iPhone</title>
	<guid>http://www.amedias.org/?p=586</guid>
	<link>http://feedproxy.google.com/~r/Amedias/~3/jed1mU2R6Qg/</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://www.jorgebernal.info/ibus&quot;&gt;&lt;img class=&quot;alignleft&quot; title=&quot;iBus screenshot&quot; src=&quot;http://www.jorgebernal.info/wp-content/uploads/2009/09/IMG_0138.PNG&quot; alt=&quot;&quot; width=&quot;270&quot; /&gt;&lt;img class=&quot;alignleft&quot; title=&quot;iBus screenshot&quot; src=&quot;http://www.jorgebernal.info/wp-content/uploads/2009/09/IMG_0139.PNG&quot; alt=&quot;&quot; width=&quot;270&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class=&quot;clear&quot;&gt;&lt;/div&gt;
&lt;p&gt;Después de experimentar una temporada con el SDK del iPhone, aquí llega mi primera aplicación, con sabor local. &lt;/p&gt;
&lt;p&gt;Descarga: &lt;a href=&quot;http://bit.ly/iBusApp&quot;&gt;iBus&lt;/a&gt;&lt;/p&gt;
&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/Amedias?a=jed1mU2R6Qg:PgM_YVnZNDw:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Amedias?i=jed1mU2R6Qg:PgM_YVnZNDw:D7DqB2pKExk&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Amedias?a=jed1mU2R6Qg:PgM_YVnZNDw:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Amedias?i=jed1mU2R6Qg:PgM_YVnZNDw:F7zBnMyn0Lo&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/Amedias/~4/jed1mU2R6Qg&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Mon, 26 Oct 2009 13:29:26 +0000</pubDate>
</item>
<item>
	<title>Warp Networks: e-book Papyre en las Jornadas Escribit</title>
	<guid>http://warp.es/?p=237</guid>
	<link>http://feedproxy.google.com/~r/WarpNetworks/~3/kpbK8vB_LpI/</link>
	<description>&lt;p&gt;Entre el &lt;strong&gt;27 y el 30 de octubre&lt;/strong&gt; de 2009 tendrá lugar en Zaragoza &lt;a title=&quot;Escribit, Jornadas sobre Literatura y Nuevas Tecnologías&quot; href=&quot;http://escribit.net/&quot;&gt;&lt;strong&gt;Escribit, Jornadas sobre Literatura y Nuevas Tecnologías&lt;/strong&gt;&lt;/a&gt;. La iniciativa promovida por la Asociación Aragonesa de Escritores cuenta con el patrocinio de los Departamentos de Ciencia, Tecnología y Universidad y de Educación, Cultura y Deporte del Gobierno de Aragón.&lt;/p&gt;
&lt;p&gt;Uno de los temas a tratar en las jornadas serán los nuevos canales y soportes de difusión y la nueva economía de los derechos de explotación on line.&lt;/p&gt;
&lt;p&gt;En esta línea se enmarcará el Taller &amp;#8220;El libro electrónico, Utilidades del e-book&amp;#8221; a cargo de Juan Gónzalez de la Cámara, fundador y director general de &lt;a title=&quot;Grammata&quot; href=&quot;http://www.grammata.es/&quot;&gt;&lt;strong&gt;Grammata&lt;/strong&gt;&lt;/a&gt;, firma española que comercializa el &lt;a title=&quot;e-book Papyre&quot; href=&quot;http://www.grammata.es/papyre&quot;&gt;&lt;strong&gt;e-book&lt;/strong&gt;&lt;strong&gt; Papyre&lt;/strong&gt;&lt;/a&gt;, dispositivo sobre el que está trabajando &lt;strong&gt;Warp Networks&lt;/strong&gt; en el desarrollo de nuevas aplicaciones.&lt;/p&gt;
&lt;p&gt;La cita para este taller es el &lt;strong&gt;29 de octubre a las 18:00&lt;/strong&gt;, y al igual que todas las jornadas se desarrollará en la &lt;strong&gt;Biblioteca de Aragón en Zaragoza.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
&lt;img src=&quot;http://feeds.feedburner.com/~r/WarpNetworks/~4/kpbK8vB_LpI&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Mon, 26 Oct 2009 08:50:40 +0000</pubDate>
</item>
<item>
	<title>Golo: My day yesterday 2009</title>
	<guid>http://www.capitangolo.net/Blog/?p=323</guid>
	<link>http://www.capitangolo.net/Blog/?p=323</link>
	<description>&lt;p&gt;
This is an experiment I discovered thanks to &lt;a href=&quot;http://www.eckelon.net&quot;&gt;my friend eckelon&lt;/a&gt;. You have to record one day of your life, create a 90 sec video without editing the sound, and upload it to the &lt;a href=&quot;http://www.flickr.com/groups/mydayyesterday/&quot;&gt;facebook group (My Day Yesterday)&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
So, this was my day yesterday &lt;img src=&quot;http://www.capitangolo.net/Blog/wp-includes/images/smilies/icon_biggrin.gif&quot; alt=&quot;:D&quot; class=&quot;wp-smiley&quot; /&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;embed type=&quot;application/x-shockwave-flash&quot; src=&quot;http://www.flickr.com/apps/video/stewart.swf?v=71377&quot; flashvars=&quot;intl_lang=es-us&amp;#038;photo_secret=7ae9b14fb8&amp;#038;photo_id=4037692889&quot; height=&quot;432&quot; width=&quot;540&quot;&gt;&lt;/embed&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 23 Oct 2009 20:51:43 +0000</pubDate>
</item>
<item>
	<title>Warp Networks: Primer curso MySQL Cluster en España</title>
	<guid>http://warp.es/?p=252</guid>
	<link>http://feedproxy.google.com/~r/WarpNetworks/~3/mJgSlDLtQ7Q/</link>
	<description>&lt;p&gt;Nuevo:&lt;strong&gt;&lt;em&gt; ¡¡¡&lt;span class=&quot;UIStory_Message&quot;&gt;Elige cualquier Paquete de certificación &amp;#8216;Success&amp;#8217; en Java o MySQL (curso + voucher de certificación) y podrá volver a examinarse gratuitamente, en caso de que no apruebe. Promoción sólo hasta el 31 de diciembre!!!&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;strong&gt;Reserve su curso ahora y obtenga un descuento del 10% +  iPod Touch de regalo&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;El próximo&lt;strong&gt; 30 de noviembre&lt;/strong&gt; se impartirá el primer curso&lt;strong&gt; MySQL Cluster,&lt;/strong&gt; en Zaragoza,  a cargo del partner oficial Warp Networks.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;MySQL Cluster ofrece tanto la alta disponibilidad como el rendimiento necesarios para aplicaciones de tiempo real. Dada su flexibilidad, MySQL Cluster es ideal también para situaciones que requieran un alto grado de escalabilidad.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;El curso, pretende que el alumno conozca &lt;span&gt;los detalles más importantes sobre clustering, necesarios para iniciarse con MySQL Cluster. Cómo configurar adecuadamente y gestionar los nodos del clúster para asegurar alta disponibilidad, instalar los diferentes nodos, y proporcionar un mejor entendimiento de su funcionamiento interno.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Detalles del curso&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Duración: &lt;strong&gt; 24 horas&lt;/strong&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Fechas: &lt;strong&gt;lunes 30 de noviembre al miércoles 2 de diciembre&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Horario: &lt;strong&gt;9.00h a 17.00h&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Coste: &lt;strong&gt;900€&lt;/strong&gt; (consultar condiciones de la promoción)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Para formalizar su inscripción por favor ponerse en contacto con su partner oficial a través de &lt;strong&gt;training@warp.es&lt;/strong&gt;, o en el teléfono: &lt;strong&gt;+ 34 976 39 26 44.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;(*) Plazas Limitadas.&lt;strong&gt;&lt;br /&gt;
&lt;/strong&gt;&lt;/p&gt;
&lt;img src=&quot;http://feeds.feedburner.com/~r/WarpNetworks/~4/mJgSlDLtQ7Q&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Mon, 19 Oct 2009 13:21:36 +0000</pubDate>
</item>
<item>
	<title>Hector: Anabolicse Now</title>
	<guid>http://people.warp.es/~xtor/blog/?p=651</guid>
	<link>http://people.warp.es/~xtor/blog/?p=651</link>
	<description>&lt;p&gt;I love the smell of &lt;a href=&quot;http://en.wikipedia.org/wiki/Chloro&quot;&gt;Chlorine&lt;/a&gt; in the morning.&lt;/p&gt;
&lt;p&gt;&lt;embed src=&quot;http://www.youtube.com/v/bPXVGQnJm0w&amp;#038;hl=es&amp;#038;fs=1&amp;#038;rel=0&quot; type=&quot;application/x-shockwave-flash&quot; width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;/embed&gt;&lt;/p&gt;</description>
	<pubDate>Sun, 18 Oct 2009 08:10:22 +0000</pubDate>
</item>
<item>
	<title>Hector: Using kdesvn-build with Qt 4.6 git repo</title>
	<guid>http://people.warp.es/~xtor/blog/?p=638</guid>
	<link>http://people.warp.es/~xtor/blog/?p=638</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Kde&quot;&gt;KDE&lt;/a&gt;&amp;#8217;s trunk &lt;a href=&quot;http://osdir.com/ml/general/2009-09/msg14269.html&quot;&gt;has switched to Qt 4.6 recently&lt;/a&gt;, and &lt;tt&gt;qt-copy&lt;/tt&gt; doesn&amp;#8217;t seem to be updated, so trying to compile KDE using &lt;tt&gt;kdesvn-build-1.9.1&lt;/tt&gt; fails.&lt;/p&gt;
&lt;p&gt;I downloaded &lt;a href=&quot;http://websvn.kde.org/trunk/KDE/kdesdk/scripts/&quot;&gt;the most recent kdesvn-build (and config file) from KDE&amp;#8217;s Subversion&lt;/a&gt;, which includes preliminary &lt;a href=&quot;http://en.wikipedia.org/wiki/Git&quot;&gt;git&lt;/a&gt; support, and tried to build &lt;tt&gt;qt-copy&lt;/tt&gt; using it, but I had some issues with my connection, and after that I started to experience strange problems when running &lt;tt&gt;kdesvn-build qt-copy&lt;/tt&gt;, with messages like:&lt;/p&gt;
&lt;pre&gt;
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
&lt;/pre&gt;
&lt;p&gt;So then I changed the repository URL in the config file and cloned the repository by hand&amp;#8230;&lt;/p&gt;
&lt;pre&gt;
git clone -- http://git.gitorious.org/+kde-developers/qt/kde-qt.git ~/kdesvn/qt-copy
&lt;/pre&gt;
&lt;p&gt;&amp;#8230;and added the repo in the &lt;tt&gt;.kdesvn-build-data&lt;/tt&gt; file in &lt;tt&gt;kdesvn-build&lt;/tt&gt; directory, as the build script does:&lt;/p&gt;
&lt;pre&gt;
  'qt-copy' =&gt; {
    . . .
    'git-cloned-repository' =&gt; 'http://git.gitorious.org/+kde-developers/qt/kde-qt.git',
    . . .
  },
&lt;/pre&gt;
&lt;p&gt;After that changes, I was able to launch &lt;tt&gt;kdesvn-build as usual&lt;/tt&gt;, and now I&amp;#8217;m waiting for everything compiled against &lt;a href=&quot;http://qt.nokia.com/doc/4.6-snapshot/qt4-6-intro.html&quot;&gt;Qt 4.6&lt;/a&gt; &lt;img src=&quot;http://people.warp.es/~xtor/blog/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;</description>
	<pubDate>Sat, 17 Oct 2009 15:11:45 +0000</pubDate>
</item>
<item>
	<title>Dani: ¡Felicidades Warp Networks!</title>
	<guid>http://people.warp.es/~dani/blog/?p=147</guid>
	<link>http://people.warp.es/~dani/blog/?p=147</link>
	<description>&lt;p&gt;Hoy hace cinco años un grupo de personas pensaron que la situación empresarial del momento, respecto al uso de software libre, no era tan buena como ellos querían. Pensaron entonces que tenían el suficiente conocimiento y valor como para poder iniciar un pequeño proyecto en el que trabajar a gusto y compartir ese sueño común. Ese grupo de personas plantó ese día la semilla de una empresa que ha ido creciendo hasta ser lo que hoy es: una empresa referente en tecnologías de código abierto, y que trabaja con empresas locales, nacionales e internacionales.&lt;/p&gt;
&lt;p&gt;Durante todo este tiempo en Warp se han intentado hacer mejor algunas cosas, tanto &lt;a href=&quot;http://people.warp.es/~xtor/blog/?p=494&quot;&gt;hacia fuera&lt;/a&gt; como &lt;a href=&quot;http://people.warp.es/~jorge/blog/?p=158&quot;&gt;hacia dentro&lt;/a&gt;. Y para llegar a cumplir cinco años y estar donde está, este camino no ha sido una aventura en solitario. &lt;/p&gt;
&lt;p&gt;Warp es así gracias a los &lt;a href=&quot;http://warp.es/warp/equipo/&quot;&gt;trabajadores pasados y presentes&lt;/a&gt;, ya que con &lt;a href=&quot;http://bicosyes.com/c-cadenas-multilinea-de-forma-clara/&quot;&gt;su profesionalidad&lt;/a&gt;, &lt;a href=&quot;http://www.youtube.com/watch?v=d793sFnbHfA&quot;&gt;trabajo&lt;/a&gt; (y sobre todo &lt;a href=&quot;http://people.warp.es/~dani/blog/?p=134&quot;&gt;buen&lt;/a&gt; &lt;a href=&quot;http://www.capitangolo.net/Blog/?p=265&quot;&gt;rollo&lt;/a&gt;) se han podido hacer grandes cosas. También es así gracias a los clientes que ha tenido, por haber dado su confianza a la empresa durante este tiempo. Y ahora no es así (pero lo será) gracias a los que en un futuro se animen &lt;a href=&quot;http://warp.es/blog/2009/01/27/we-are-hiring/&quot;&gt;a ser parte de un equipo&lt;/a&gt; que quiera hacer las cosas bien y conseguir un mundo mejor (y dominado por nosotros &lt;img src=&quot;http://people.warp.es/~dani/blog/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:-)&quot; class=&quot;wp-smiley&quot; /&gt;  ). También parece ser que &lt;a href=&quot;http://people.warp.es/~xtor/blog/?p=373&quot;&gt;el caldo de cultivo ya era bueno&lt;/a&gt;, y que conseguir reunir a &lt;a href=&quot;http://warp.es/warp/equipo/&quot;&gt;lo mejor de cada casa&lt;/a&gt; ha terminado de hacer el resto.&lt;/p&gt;
&lt;p&gt;Por todo esto hoy toca decir: ¡Felicidades Warp!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PD:&lt;/strong&gt; Dejo un pequeño regalo para compartirlo con todo aquel que quiera celebrar el cumpleaños con nosotros&lt;br /&gt;
&lt;a href=&quot;http://people.warp.es/~dani/wp-content/uploads/2009/09/WallpaperWarp5Aniversario.jpg&quot;&gt;&lt;img src=&quot;http://people.warp.es/~dani/wp-content//uploads/2009/09/WallpaperWarp5Aniversario-300x187.jpg&quot; alt=&quot;Wallpaper Warp 5 Aniversario&quot; title=&quot;Wallpaper Warp 5 Aniversario&quot; width=&quot;300&quot; height=&quot;187&quot; class=&quot;aligncenter size-medium wp-image-152&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Mon, 28 Sep 2009 11:11:30 +0000</pubDate>
</item>
<item>
	<title>Dani: Cuando las esperas se hacen largas</title>
	<guid>http://people.warp.es/~dani/blog/?p=134</guid>
	<link>http://people.warp.es/~dani/blog/?p=134</link>
	<description>&lt;p&gt;Hay días duros en la vida de un informático, en los que la tregua no es una opción. Se deben asumir los retos y enfrentarse a ellos con todas las armas posibles. En caso de desesperación, uno puede aprender de &lt;a href=&quot;http://xkcd.com/303/&quot;&gt;fuentes externas&lt;/a&gt; que ayuden a sobrellevar la labor encomendada.&lt;/p&gt;
&lt;p&gt;Así, en nuestros largos tiempos de espera, hemos asimilado bien la lección y hemos decidido ponerla en práctica:&lt;br /&gt;
&lt;a href=&quot;http://people.warp.es/~dani/wp-content//uploads/2009/09/compiling2.png&quot;&gt;&lt;img src=&quot;http://people.warp.es/~dani/wp-content//uploads/2009/09/compiling2-300x226.png&quot; alt=&quot;Compiling!&quot; title=&quot;Compiling!&quot; width=&quot;300&quot; height=&quot;226&quot; class=&quot;aligncenter size-medium wp-image-137&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;PD: Para que no parezca que fue una farsa, aquí queda también una secuencia de la cruenta batalla&lt;br /&gt;
&lt;div id=&quot;attachment_135&quot; class=&quot;wp-caption aligncenter&quot;&gt;&lt;img src=&quot;http://people.warp.es/~dani/wp-content//uploads/2009/09/compiling.gif&quot; alt=&quot;Batalla a vida o muerte&quot; title=&quot;Batalla a vida o muerte&quot; width=&quot;422&quot; height=&quot;317&quot; class=&quot;size-full wp-image-135&quot; /&gt;&lt;p class=&quot;wp-caption-text&quot;&gt;Batalla a vida o muerte&lt;/p&gt;&lt;/div&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 25 Sep 2009 16:12:26 +0000</pubDate>
</item>
<item>
	<title>Jorge: Cámaras Lomo</title>
	<guid>http://people.warp.es/~jorge/blog/?p=230</guid>
	<link>http://people.warp.es/~jorge/blog/?p=230</link>
	<description>&lt;p&gt;Hace un tiempo descubrí por Internet la &lt;a href=&quot;http://es.wikipedia.org/wiki/Lomografía&quot;&gt;Lomografía&lt;/a&gt;, y en cuanto vi una tienda con cámaras Lomo no pude resistirme a comprar una desechable y una &lt;a href=&quot;http://www.lomospain.com/tienda/detalle.php?id=5&quot;&gt;Colorsplash&lt;/a&gt;. Bueno, en realidad me las regaló Olga.&lt;/p&gt;
&lt;p&gt;Aquí la muestra del primer revelado:&lt;/p&gt;
				&lt;div id=&quot;gallery-e0e5b980&quot; class=&quot;flickr-gallery photoset&quot;&gt;
													&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=3891672159&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Moog con Olguita&quot; src=&quot;http://farm3.static.flickr.com/2515/3891672159_68d4dcc401_s.jpg&quot; alt=&quot;Moog con Olguita&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=3891673011&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Las primas y olga&quot; src=&quot;http://farm3.static.flickr.com/2652/3891673011_b13a03b480_s.jpg&quot; alt=&quot;Las primas y olga&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=3891673655&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Kira&quot; src=&quot;http://farm3.static.flickr.com/2480/3891673655_6fba77a1a1_s.jpg&quot; alt=&quot;Kira&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=3892461564&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;El cuadro de la entrada&quot; src=&quot;http://farm3.static.flickr.com/2424/3892461564_059552fd07_s.jpg&quot; alt=&quot;El cuadro de la entrada&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=3892462332&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Maite y Moog&quot; src=&quot;http://farm3.static.flickr.com/2503/3892462332_3c7a1df315_s.jpg&quot; alt=&quot;Maite y Moog&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=3892463134&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;La mesa de la entrada&quot; src=&quot;http://farm3.static.flickr.com/2453/3892463134_0b84657596_s.jpg&quot; alt=&quot;La mesa de la entrada&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=3891676747&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Olga por la mañanita&quot; src=&quot;http://farm4.static.flickr.com/3089/3891676747_2d99234cc0_s.jpg&quot; alt=&quot;Olga por la mañanita&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=3892464630&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Olga y yo&quot; src=&quot;http://farm3.static.flickr.com/2523/3892464630_a8f50e7aa5_s.jpg&quot; alt=&quot;Olga y yo&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
												&lt;div class=&quot;fg-clear&quot;&gt;&lt;/div&gt;
				&lt;/div&gt;
													&lt;div class=&quot;fg-clear alignright&quot;&gt;Powered by &lt;a href=&quot;http://co.deme.me/projects/flickr-gallery/&quot;&gt;Flickr Gallery&lt;/a&gt;&lt;/div&gt;
								&lt;div class=&quot;fg-clear&quot;&gt;&lt;/div&gt;
							
			 
&lt;div id=&quot;mainphotoarea&quot;&gt;&lt;/div&gt;</description>
	<pubDate>Sun, 06 Sep 2009 09:41:13 +0000</pubDate>
</item>
<item>
	<title>Jorge: Se han terminado las vacaciones</title>
	<guid>http://people.warp.es/~jorge/blog/?p=223</guid>
	<link>http://people.warp.es/~jorge/blog/?p=223</link>
	<description>&lt;p&gt;Una muestra de relax, paz y tranquilidad&amp;#8230; hasta el año que viene!!! &lt;/p&gt;
				&lt;div id=&quot;gallery-10276370&quot; class=&quot;flickr-gallery photoset&quot;&gt;
													&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=3855709442&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Pingo rescatando a Olga&quot; src=&quot;http://farm3.static.flickr.com/2261/3855709442_c7e3f49052_s.jpg&quot; alt=&quot;Pingo rescatando a Olga&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=3855706808&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;La calita de Peñiscola&quot; src=&quot;http://farm3.static.flickr.com/2570/3855706808_9f94fa24ff_s.jpg&quot; alt=&quot;La calita de Peñiscola&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=3854913015&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Pingo en la playita&quot; src=&quot;http://farm3.static.flickr.com/2421/3854913015_f73f6a4820_s.jpg&quot; alt=&quot;Pingo en la playita&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=3855698208&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;El vigilante de la playa&quot; src=&quot;http://farm3.static.flickr.com/2580/3855698208_4826b5651e_s.jpg&quot; alt=&quot;El vigilante de la playa&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=3855693956&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Volviendo con la piedra&quot; src=&quot;http://farm3.static.flickr.com/2479/3855693956_fb9ee9e74e_s.jpg&quot; alt=&quot;Volviendo con la piedra&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=3855690386&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Buscando una piedra&quot; src=&quot;http://farm4.static.flickr.com/3483/3855690386_49a1a25fa5_s.jpg&quot; alt=&quot;Buscando una piedra&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=3855686418&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;A nadar!!!!&quot; src=&quot;http://farm3.static.flickr.com/2542/3855686418_9ae4109771_s.jpg&quot; alt=&quot;A nadar!!!!&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=3854892683&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;El perrito nadador&quot; src=&quot;http://farm4.static.flickr.com/3478/3854892683_51f882492d_s.jpg&quot; alt=&quot;El perrito nadador&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=3855679242&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Olga en la playita&quot; src=&quot;http://farm3.static.flickr.com/2479/3855679242_ddbe6f02f2_s.jpg&quot; alt=&quot;Olga en la playita&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=3855676050&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;La calita para nosotros solos&quot; src=&quot;http://farm3.static.flickr.com/2520/3855676050_e236e208a8_s.jpg&quot; alt=&quot;La calita para nosotros solos&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=3855672358&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;El perro ninja&quot; src=&quot;http://farm3.static.flickr.com/2666/3855672358_f813162850_s.jpg&quot; alt=&quot;El perro ninja&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=3855669582&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Olga y Pingo mirando el mar&quot; src=&quot;http://farm3.static.flickr.com/2362/3855669582_8289b6b103_s.jpg&quot; alt=&quot;Olga y Pingo mirando el mar&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=3854877043&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;De paseo en Peñiscola&quot; src=&quot;http://farm3.static.flickr.com/2617/3854877043_848767c1ae_s.jpg&quot; alt=&quot;De paseo en Peñiscola&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=3855665118&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;El pañuelo rojo de Pingo&quot; src=&quot;http://farm4.static.flickr.com/3489/3855665118_6a76b8ce9b_s.jpg&quot; alt=&quot;El pañuelo rojo de Pingo&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=3855662274&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Subiendo al castillo&quot; src=&quot;http://farm4.static.flickr.com/3542/3855662274_7a0c28b57f_s.jpg&quot; alt=&quot;Subiendo al castillo&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=3855658768&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Pingo sonrisas&quot; src=&quot;http://farm4.static.flickr.com/3522/3855658768_8a7218c2b0_s.jpg&quot; alt=&quot;Pingo sonrisas&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=3854864951&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Yo subiendo al castillo&quot; src=&quot;http://farm4.static.flickr.com/3517/3854864951_936b804479_s.jpg&quot; alt=&quot;Yo subiendo al castillo&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=3855653402&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Mojito de fresa!!!!&quot; src=&quot;http://farm3.static.flickr.com/2462/3855653402_9036d8b6db_s.jpg&quot; alt=&quot;Mojito de fresa!!!!&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=3855650274&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Yo en el chill out&quot; src=&quot;http://farm4.static.flickr.com/3503/3855650274_8c798b376d_s.jpg&quot; alt=&quot;Yo en el chill out&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=3855646742&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Olga en el chill out&quot; src=&quot;http://farm4.static.flickr.com/3445/3855646742_e3d6354328_s.jpg&quot; alt=&quot;Olga en el chill out&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=3855644146&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Yo y el perro vigilante :)&quot; src=&quot;http://farm4.static.flickr.com/3132/3855644146_fdffe0538e_s.jpg&quot; alt=&quot;Yo y el perro vigilante :)&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=3854850327&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Pingo sobao&quot; src=&quot;http://farm3.static.flickr.com/2463/3854850327_e0eb8b8a75_s.jpg&quot; alt=&quot;Pingo sobao&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=3855638092&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Olga tonteando con Pingo&quot; src=&quot;http://farm3.static.flickr.com/2158/3855638092_c229d08971_s.jpg&quot; alt=&quot;Olga tonteando con Pingo&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=3855634344&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Pingo sobao en la playa&quot; src=&quot;http://farm3.static.flickr.com/2498/3855634344_76bc26546b_s.jpg&quot; alt=&quot;Pingo sobao en la playa&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=3854841119&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Jugando con la pelota&quot; src=&quot;http://farm3.static.flickr.com/2645/3854841119_0b49949bba_s.jpg&quot; alt=&quot;Jugando con la pelota&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=3855626226&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Amaneciendo&quot; src=&quot;http://farm3.static.flickr.com/2623/3855626226_00b4f7fa48_s.jpg&quot; alt=&quot;Amaneciendo&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
															&lt;div class=&quot;flickr-thumb&quot;&gt;
									&lt;a href=&quot;http://flickr.com/photo.gne?id=3854833399&quot;&gt;&lt;img class=&quot;photo&quot; title=&quot;Los nenes&quot; src=&quot;http://farm3.static.flickr.com/2541/3854833399_c6454a269d_s.jpg&quot; alt=&quot;Los nenes&quot; /&gt;&lt;/a&gt;
								&lt;/div&gt;
												&lt;div class=&quot;fg-clear&quot;&gt;&lt;/div&gt;
				&lt;/div&gt;
													&lt;div class=&quot;fg-clear alignright&quot;&gt;Powered by &lt;a href=&quot;http://co.deme.me/projects/flickr-gallery/&quot;&gt;Flickr Gallery&lt;/a&gt;&lt;/div&gt;
								&lt;div class=&quot;fg-clear&quot;&gt;&lt;/div&gt;
							
			 
&lt;div id=&quot;mainphotoarea&quot;&gt;&lt;/div&gt;</description>
	<pubDate>Tue, 25 Aug 2009 15:20:12 +0000</pubDate>
</item>
<item>
	<title>Golo: Blaapps 0.5.0 Released</title>
	<guid>http://www.capitangolo.net/Blog/?p=314</guid>
	<link>http://www.capitangolo.net/Blog/?p=314</link>
	<description>&lt;p&gt;
After 21 months of sporadic work, I&amp;#8217;ve finished the application for my &amp;#8220;Thesis&amp;#8221;. Today I&amp;#8217;m proud to announce the &lt;a href=&quot;https://sourceforge.net/projects/rudder/&quot;&gt;release&lt;/a&gt; of &lt;a href=&quot;http://www.blaapps.org&quot;&gt;&lt;strong&gt;Blaapps Application Framework&lt;/strong&gt;&lt;/a&gt; version &lt;strong&gt;0.5.0&lt;/strong&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;img src=&quot;http://www.capitangolo.net/Blog/wp-content/uploads/2009/08/blaapps.png&quot; alt=&quot;Blaaps Logo for version 0.5.0&quot; title=&quot;blaapps logo 0.5.0&quot; width=&quot;320&quot; height=&quot;50&quot; class=&quot;size-full wp-image-320&quot; /&gt;
&lt;/p&gt;
&lt;p&gt;
I&amp;#8217;ve done lots of work transforming rudder Application Server, a previous project, into an Application Framework.
&lt;/p&gt;
&lt;p&gt;
&lt;img src=&quot;http://www.capitangolo.net/Blog/wp-content/uploads/2009/08/blaapps-architecture.png&quot; alt=&quot;Blaapps Architecture&quot; title=&quot;blaapps-architecture&quot; width=&quot;350&quot; height=&quot;320&quot; class=&quot;size-full wp-image-315&quot; /&gt;
&lt;/p&gt;
&lt;p&gt;
The Kernel of Blaapps is based on core &lt;strong&gt;Subsystems&lt;/strong&gt;. Two of them are the most important:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Deployer&lt;/li&gt;
&lt;li&gt;Messaging&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
The &lt;strong&gt;Deployer&lt;/strong&gt; reads components called &lt;strong&gt;Modules&lt;/strong&gt;, and loads them into memory. Modules are like plugins, hot plug-gable extensions to the application.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Messaging&lt;/strong&gt; brings the infrastructure for the inter-module comunication.
&lt;/p&gt;
&lt;p&gt;
Other features which are usually needed for Application development are packaged as &lt;strong&gt;Kernel Modules&lt;/strong&gt;. In this version, two modules are included:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Remote&lt;/li&gt;
&lt;li&gt;Persistence&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;strong&gt;Remote&lt;/strong&gt; helps you to publish objects into a RMI Registry.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Persistence&lt;/strong&gt; Is a JPA (Hibernate) wrapper.
&lt;/p&gt;
&lt;p&gt;
As you can see, blaapps 0.5.0 is reinventing the wheel. There&amp;#8217;s lots of plugin frameworks, and the EJB 3.0 standards helps you with persistence and remote objects. So &lt;strong&gt;why develop something like blaapps?&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
The first reason was that &lt;strong&gt;I wanted to learn&lt;/strong&gt; how to do cool stuff, like Dependency Injection. Blaapps contains &amp;#8220;only&amp;#8221; 1800 lines of code, so it&amp;#8217;s easier to learn from blaapps than from a real Application Server.
&lt;/p&gt;
&lt;p&gt;
The second one is that I wanted &lt;strong&gt;something fast&lt;/strong&gt; for my developments. Blaapps is very limited, but it starts in few seconds.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;What&amp;#8217;s next?&lt;/strong&gt; Once I present my Thesis and became an official engineer, I&amp;#8217;ll start with blaapps 0.6.0. There&amp;#8217;s already a &lt;a href=&quot;http://blaapps.org/milestone/0.6.0&quot;&gt;Milestone planning&lt;/a&gt; which will focus on making easier the building of GUIs.&lt;/p&gt;</description>
	<pubDate>Mon, 24 Aug 2009 21:55:53 +0000</pubDate>
</item>
<item>
	<title>Blaxter: A new gem: rubygems is it jruby?</title>
	<guid>http://bicosyes.com/?p=864</guid>
	<link>http://bicosyes.com/a-new-gem-rubygems-is-it-jruby/</link>
	<description>&lt;p&gt;A few days ago after seeing &lt;a href=&quot;http://twitter.com/jruby/status/3431143889&quot;&gt;this tweet&lt;/a&gt;, I've decided to migrate the gem &lt;em&gt;&lt;a href=&quot;http://seattlerb.rubyforge.org/rubygems-isit19/&quot;&gt;&lt;strong&gt;rubygems-isit19&lt;/strong&gt;&lt;/a&gt;&lt;/em&gt; to &lt;strong&gt;&lt;a href=&quot;http://jruby.org&quot;&gt;jruby&lt;/a&gt;&lt;/strong&gt;. Thanks to this, when you install another gem you'll be able to read about compability of this gem with jruby, the information is fetched from &lt;a href=&quot;http://isitjruby.com/&quot;&gt;&lt;strong&gt;isitjruby.com&lt;/strong&gt;&lt;/a&gt; website.&lt;/p&gt;
&lt;p&gt;Once you have installed the gem you will have two main features, it's easier if I just show you. First the messages when you install gems:&lt;/p&gt;
&lt;pre class=&quot;bash&quot;&gt;&amp;nbsp;
$ jgem &lt;span&gt;install&lt;/span&gt; daemons
&amp;nbsp;
daemons &lt;span&gt;1.0&lt;/span&gt;&lt;span&gt;.10&lt;/span&gt; probably might not work, blaxter says &lt;span&gt;1.0&lt;/span&gt; fails
Update http://isitjruby.com/daemons with your experiences!
&amp;nbsp;
Successfully installed daemons&lt;span&gt;-1.0&lt;/span&gt;&lt;span&gt;.10&lt;/span&gt;
&lt;span&gt;1&lt;/span&gt; gem installed
$ jgem &lt;span&gt;install&lt;/span&gt; cucumber
&amp;nbsp;
cucumber &lt;span&gt;0.3&lt;/span&gt;&lt;span&gt;.97&lt;/span&gt; might work, &lt;span&gt;100&lt;/span&gt;% say &lt;span&gt;0.3&lt;/span&gt;&lt;span&gt;.11&lt;/span&gt;&lt;span&gt;.3&lt;/span&gt; works on jruby
Update http://isitjruby.com/cucumber with your experiences!
&amp;nbsp;
Successfully installed cucumber&lt;span&gt;-0.3&lt;/span&gt;&lt;span&gt;.97&lt;/span&gt;
&lt;span&gt;1&lt;/span&gt; gem installed
$ jgem &lt;span&gt;install&lt;/span&gt; faker
&amp;nbsp;
faker &lt;span&gt;0.3&lt;/span&gt;&lt;span&gt;.1&lt;/span&gt; is &lt;span&gt;100&lt;/span&gt;% verified jruby
Update http://isitjruby.com/faker with your experiences!
&amp;nbsp;
Successfully installed faker&lt;span&gt;-0.3&lt;/span&gt;&lt;span&gt;.1&lt;/span&gt;
&lt;span&gt;1&lt;/span&gt; gem installed
&amp;nbsp;&lt;/pre&gt;
&lt;p&gt;And also we have an explicit gem command:&lt;/p&gt;
&lt;pre class=&quot;bash&quot;&gt;&amp;nbsp;
$ jgem isitjruby faker
faker &lt;span&gt;0.3&lt;/span&gt;&lt;span&gt;.1&lt;/span&gt;:    http://isitjruby.com/faker
    Blaxter says &lt;span&gt;0.3&lt;/span&gt;&lt;span&gt;.1&lt;/span&gt; works on GNU/Linux
        it works perfectly, and it passes all &lt;span&gt;test&lt;/span&gt;.
$ jgem isitjruby daemons
daemons &lt;span&gt;1.0&lt;/span&gt;&lt;span&gt;.10&lt;/span&gt;:    http://isitjruby.com/daemons
    blaxter says &lt;span&gt;1.0&lt;/span&gt; fails on GNU/Linux
        Daemons use fork, jruby doesn&lt;span&gt;'t support fork, so it doesn'&lt;/span&gt;t work and
        never will
&amp;nbsp;&lt;/pre&gt;
&lt;p&gt;And that's it. &lt;a href=&quot;http://github.com/blaxter/rubygems-isitjruby/tree/master&quot;&gt;The code is on github&lt;/a&gt; be free of fork me or open any issues. The important thing is populate with relevant information &lt;a href=&quot;http://isitjruby.com&quot;&gt;isitjruby.com&lt;/a&gt; for benefit of all jruby community. Oh I forgot to tell you &lt;strong&gt;how to install it&lt;/strong&gt;, very easy, I've uploaded the gem to &lt;a href=&quot;http://gemcutter.org/gems/rubygems-isitjruby&quot;&gt;gemcutter&lt;/a&gt; so you can install it with something like&lt;/p&gt;
&lt;pre&gt;$ jgem install rubygems-isitjruby -s http://gemcutter.org&lt;/pre&gt;
&lt;p&gt;It's also in github, but I think (and I hope) gemcutter will be the next rubyforge, so better gemcutter &lt;img src=&quot;http://bicosyes.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; .&lt;/p&gt;
&lt;img src=&quot;http://bicosyes.com/?ak_action=api_record_view&amp;id=864&amp;type=feed&quot; alt=&quot;&quot; /&gt;</description>
	<pubDate>Mon, 24 Aug 2009 18:30:11 +0000</pubDate>
</item>
<item>
	<title>Koke: 42foo: all the virtual hosts you need for your web development</title>
	<guid>http://www.jorgebernal.info/?p=365</guid>
	<link>http://www.jorgebernal.info/opensource/42foo-virtual-hosts-web-development</link>
	<description>&lt;p&gt;I&amp;#8217;ve done a fair amount of web &amp;#8220;design&amp;#8221; (mostly implementing designs of others) and development in the past, I usually set up a lot of virtual hosts in my local apache. I&amp;#8217;ve done that in three different ways.&lt;/p&gt;
&lt;h3&gt;The quick&amp;#038;dirty hosts file&lt;/h3&gt;
&lt;p&gt;Point any of your development domains to 127.0.0.1 in the /etc/hosts file. It&amp;#8217;s the easiest way, but you need to add them one by one. At some point, mine could look like this:&lt;/p&gt;
&lt;pre&gt;
127.0.0.1 warp.dev
127.0.0.1 ebox-platform.dev
127.0.0.1 ebox-technologies.dev
127.0.0.1 jorgebernal.dev
127.0.0.1 projectA.dev
# ... and so on
&lt;/pre&gt;
&lt;h3&gt;Getting smart with dnsmasq&lt;/h3&gt;
&lt;p&gt;This is a more automated method. You install dnsmasq and configure 127.0.0.1 as your DNS server. Then add this to your conf:&lt;/p&gt;
&lt;pre&gt;
address=/.dev/127.0.0.1
&lt;/pre&gt;
&lt;p&gt;This worked well, and acted as a dns cache. But I had some trouble with dynamic dns entries at our old office: projects.warp.es would point to a local address inside the office and our remote IP from outside, so I found myself clearing the cache too often.&lt;/p&gt;
&lt;h3&gt;42foo: the zero-code web service&lt;/h3&gt;
&lt;p&gt;So I made it external. I bought 42foo.com and set up a bind zone with this:&lt;/p&gt;
&lt;pre&gt;
@                       A       127.0.0.1
*                       A       127.0.0.1
&lt;/pre&gt;
&lt;p&gt;So warp.42foo.com, ebox-platform.42foo.com or whateveryourprojectis.42foo.com always point to 127.0.0.1&lt;/p&gt;
&lt;p&gt;You still have to set up the virtual host, but there is one step less for web development. Feel free to use it, and let me know if you set up something similar with a shorter domain name &lt;img src=&quot;http://www.jorgebernal.info/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;h3 class=&quot;related_post_title&quot;&gt;Related posts&lt;/h3&gt;&lt;ul class=&quot;related_post&quot;&gt;&lt;li&gt;&lt;a href=&quot;http://www.jorgebernal.info/opensource/store-countries-with-iso-3166-codes-in-rails&quot; title=&quot;Store countries with ISO-3166 codes in rails&quot;&gt;Store countries with ISO-3166 codes in rails&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</description>
	<pubDate>Thu, 16 Jul 2009 23:57:24 +0000</pubDate>
</item>
<item>
	<title>Koke: Probably the best compact camera out there: Panasonic Lumix DMC-LX3</title>
	<guid>http://www.jorgebernal.info/?p=355</guid>
	<link>http://www.jorgebernal.info/photography/compact-camera-panasonic-lumix-dmclx3</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://www.amazon.com/gp/product/B001CCLBSA?ie=UTF8&amp;#038;tag=amedias-20&amp;#038;linkCode=as2&amp;#038;camp=1789&amp;#038;creative=390957&amp;#038;creativeASIN=B001CCLBSA&quot;&gt;&lt;img src=&quot;http://www.jorgebernal.info/wp-content/uploads/2009/07/LX3k_slant_500.jpg&quot; alt=&quot;LX3k_slant_500&quot; title=&quot;LX3k_slant_500&quot; width=&quot;470&quot; height=&quot;306&quot; class=&quot;alignnone size-full wp-image-354&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Sorry for the title. Actually there is no overall &amp;#8220;best camera&amp;#8221;, &amp;#8220;best laptop&amp;#8221; or &amp;#8220;best whatever&amp;#8221;. It always depends on what you need. If you just need a compact camera to take some pictures of your family trips or your college parties, almost &lt;a href=&quot;http://www.kenrockwell.com/tech/notcamera.htm&quot;&gt;any camera will do the trick&lt;/a&gt; for a much lower price.&lt;/p&gt;
&lt;p&gt;That said, if you are serious about learning photography you should probably get a DSLR. You can get a &lt;a href=&quot;http://www.amazon.com/gp/product/B000KJQ1DG?ie=UTF8&amp;#038;tag=amedias-20&amp;#038;linkCode=as2&amp;#038;camp=1789&amp;#038;creative=390957&amp;#038;creativeASIN=B000KJQ1DG&quot;&gt;Nikon D40&lt;/a&gt; for about $400 or a &lt;a href=&quot;http://www.amazon.com/gp/product/B001CBKJGG?ie=UTF8&amp;#038;tag=amedias-20&amp;#038;linkCode=as2&amp;#038;camp=1789&amp;#038;creative=390957&amp;#038;creativeASIN=B001CBKJGG&quot;&gt;Canon Rebel XS&lt;/a&gt; (aka 1000D) for about $500. I own the older Nikon D50 and I love it. Most of the pictures in this website were taken with that camera. I would only upgrade to the &lt;a href=&quot;http://www.amazon.com/gp/product/B001BTCSI6?ie=UTF8&amp;#038;tag=amedias-20&amp;#038;linkCode=as2&amp;#038;camp=1789&amp;#038;creative=390957&amp;#038;creativeASIN=B001BTCSI6&quot;&gt;Nikon D700&lt;/a&gt; but the gain isn&amp;#8217;t worth $3000 to me.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/koke/3698417080/&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2447/3698417080_9c1ae6ec2b.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Then, why am I recommending the LX3? Simple. The only problem I have with my D50 (and any other DSLR for that matter) is the size. It&amp;#8217;s not too big for a DSLR, but it&amp;#8217;s not a gadget to carry everywhere.&lt;/p&gt;
&lt;p&gt;So, if you want a portable camera which allows you to learn photography, the LX3 is for you. I won&amp;#8217;t go too technical here, but let&amp;#8217;s highlight some of the features&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;10 Megapixels (large enough for screen and print)&lt;/li&gt;
&lt;li&gt;Shoots in &lt;a href=&quot;http://en.wikipedia.org/wiki/Raw_image_format&quot;&gt;RAW&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;It has manual exposure and manual focus modes, so you can learn all the basics&lt;/li&gt;
&lt;li&gt;And the automatic modes are really smart&lt;/li&gt;
&lt;li&gt;It&amp;#8217;s actually a leica (in fact &lt;a href=&quot;http://www.amazon.com/gp/product/B001H8DF0G?ie=UTF8&amp;#038;tag=amedias-20&amp;#038;linkCode=as2&amp;#038;camp=1789&amp;#038;creative=390957&amp;#038;creativeASIN=B001H8DF0G&quot;&gt;this one&lt;/a&gt; but with the lumix logo and $200 less in the price)&lt;/li&gt;
&lt;li&gt;Very good optics&lt;/li&gt;
&lt;li&gt;Shoots video in HD&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you want more details, read the full review at &lt;a href=&quot;http://www.dpreview.com/reviews/panasonicdmclx3/&quot;&gt;dpreview&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Some samples:&lt;/p&gt;
&lt;p&gt;I added more contrast on this one, but the original was already amazing.&lt;br /&gt;
&lt;a href=&quot;http://www.flickr.com/photos/koke/3723280467/&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2488/3723280467_663c3816f1.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Macro focus works like a charm&lt;br /&gt;
&lt;a href=&quot;http://www.flickr.com/photos/koke/3723277105/&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2507/3723277105_269e3a1220.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.flickr.com/photos/koke/3721317768/&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2565/3721317768_ecdd4aa8fb.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Not actually a video, but a time-lapse. It has a hi-speed burst mode where it can take 3-megapixel stills at 6fps&lt;br /&gt;
&lt;embed src=&quot;http://vimeo.com/moogaloop.swf?clip_id=5595252&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=1&amp;amp;color=b1c800&amp;amp;fullscreen=1&quot; type=&quot;application/x-shockwave-flash&quot; width=&quot;460&quot; height=&quot;259&quot;&gt;&lt;/embed&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.vimeo.com/5595252&quot;&gt;Get a drink&lt;/a&gt; on Vimeo&lt;/p&gt;
&lt;p&gt;Not mine, but shot with a LX3, although it seems to have gone through some good post-production&lt;br /&gt;
&lt;embed src=&quot;http://vimeo.com/moogaloop.swf?clip_id=2383305&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=1&amp;amp;color=b1c800&amp;amp;fullscreen=1&quot; type=&quot;application/x-shockwave-flash&quot; width=&quot;460&quot; height=&quot;259&quot;&gt;&lt;/embed&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.vimeo.com/2383305&quot;&gt;Words Don&amp;#8217;t Mean The Same Thing To You&amp;#8230;&lt;/a&gt; on Vimeo&lt;/p&gt;
&lt;p&gt;If you like what you see, you can &lt;a href=&quot;http://www.amazon.com/gp/product/B001CCLBSA?ie=UTF8&amp;#038;tag=amedias-20&amp;#038;linkCode=as2&amp;#038;camp=1789&amp;#038;creative=390957&amp;#038;creativeASIN=B001CCLBSA&quot;&gt;get the LX3&lt;/a&gt; on Amazon for $567.99&lt;/p&gt;
&lt;h3 class=&quot;related_post_title&quot;&gt;Most Commented Posts&lt;/h3&gt;&lt;ul class=&quot;related_post&quot;&gt;&lt;li&gt;&lt;a href=&quot;http://www.jorgebernal.info/innovation/ibuy&quot; title=&quot;Shop in Amazon from your iPhone with iBuy&quot;&gt;Shop in Amazon from your iPhone with iBuy&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.jorgebernal.info/dev-random/fake-ad-i-presume&quot; title=&quot;Fake ad, I presume&quot;&gt;Fake ad, I presume&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.jorgebernal.info/innovation/amazing-new-image-resizing-technology&quot; title=&quot;Amazing new image resizing technology&quot;&gt;Amazing new image resizing technology&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.jorgebernal.info/wtf/whats-wrong-with-colors-in-firefox&quot; title=&quot;What&amp;#8217;s wrong with colors in Firefox?&quot;&gt;What&amp;#8217;s wrong with colors in Firefox?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.jorgebernal.info/opensource/is-ubuntu-the-new-linux&quot; title=&quot;Is Ubuntu the new Linux?&quot;&gt;Is Ubuntu the new Linux?&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</description>
	<pubDate>Thu, 16 Jul 2009 23:19:39 +0000</pubDate>
</item>
<item>
	<title>Blaxter: Backup incremental de tu base de datos con Git</title>
	<guid>http://bicosyes.com/?p=858</guid>
	<link>http://bicosyes.com/backup-incremental-de-tu-base-de-datos-con-git/</link>
	<description>&lt;p&gt;Una forma realmente interesante de realizar backups de tus bases de datos (por ser &lt;strong&gt;trivial&lt;/strong&gt; y muy potente) es usando &lt;strong&gt;&lt;a href=&quot;http://git-scm.com/&quot;&gt;Git&lt;/a&gt;&lt;/strong&gt;. El proceso es simple y se basa en la realización de los dumps de la base de datos de forma que cada &lt;strong&gt;fila&lt;/strong&gt; de las tablas sea &lt;strong&gt;un&lt;/strong&gt; &lt;em&gt;insert&lt;/em&gt; aislado, de esa forma en cada commit solo estaremos salvando las diferencias respecto al último estado (tanto &lt;em&gt;deletes&lt;/em&gt; como &lt;em&gt;inserts&lt;/em&gt;, como &lt;em&gt;updates&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;En el caso concreto de &lt;a href=&quot;http://www.mysql.com/&quot;&gt;MySQL&lt;/a&gt; inicialmente haríamos algo como esto:&lt;/p&gt;
&lt;pre class=&quot;bash&quot;&gt;$ &lt;span&gt;mkdir&lt;/span&gt; mydatabase &amp;amp;&amp;amp; &lt;span&gt;cd&lt;/span&gt; mydatabase
$ mysqldump --skip-extended-insert &amp;gt; data.sql
$ git init
$ git add data.sql
$ git commit -m &lt;span&gt;&quot;Initial dump of mydatabase&quot;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;A partir de entonces podemos automatizar el proceso con un script tan simple como este:&lt;/p&gt;
&lt;pre class=&quot;bash&quot;&gt;$ &lt;span&gt;cat&lt;/span&gt; /usr/bin/git_backup_database
&lt;span&gt;#!/bin/sh&lt;/span&gt;
&lt;span&gt;BACKUP_DIRECTORY=&lt;/span&gt;$&lt;span&gt;1&lt;/span&gt;
&lt;span&gt;DATABASE=&lt;/span&gt;$&lt;span&gt;2&lt;/span&gt;
&amp;nbsp;
&lt;span&gt;cd&lt;/span&gt; &lt;span&gt;$BACKUP_DIRECTORY&lt;/span&gt; &amp;amp;&amp;amp; \
mysqldump --skip-extended-insert &lt;span&gt;$DATABASE&lt;/span&gt; &amp;gt; data.sql &amp;amp;&amp;amp; \
git commit -am &lt;span&gt;&quot;Updating dump `date +%Y_%m_%d__%H_%M`&quot;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Según el volumen de consultas que tenga tu base de datos, te será interesante ponerlo en &lt;strong&gt;cron&lt;/strong&gt; con una frecuencia determina u otra. Adicionalmente sería recomendable ejecutar &lt;em&gt;$ git gc&lt;/em&gt; para optimizar el repositorio. Por ejemplo, dos veces al día y una vez a la semana mantenimiento:&lt;/p&gt;
&lt;pre class=&quot;bash&quot;&gt;&lt;span&gt;0&lt;/span&gt; &lt;span&gt;0&lt;/span&gt; * * * /usr/bin/git_backup_database /path/to/mydatabase mydatabase
&lt;span&gt;0&lt;/span&gt; &lt;span&gt;12&lt;/span&gt; * * * /usr/bin/git_backup_database  /path/to/mydatabase mydatabase
&lt;span&gt;0&lt;/span&gt; &lt;span&gt;1&lt;/span&gt; * * &lt;span&gt;1&lt;/span&gt; &lt;span&gt;cd&lt;/span&gt; /path/to/mydatabase &amp;amp;&amp;amp; git &lt;span&gt;gc&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Además desde otro equipo nadie te impide hacer un &lt;em&gt;$ git clone ssh://equipo:path/to/mydatabase&lt;/em&gt; y tener todo el historial de la base de datos en un plis (bueno eso es relativo, que ocupará lo suyo...) o incluso programar un &lt;em&gt;$ git pull&lt;/em&gt; para tener varios backups en distintas maquinas. En definitiva, se abren un sinfín de opciones &lt;img src=&quot;http://bicosyes.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; .&lt;/p&gt;
&lt;img src=&quot;http://bicosyes.com/?ak_action=api_record_view&amp;id=858&amp;type=feed&quot; alt=&quot;&quot; /&gt;</description>
	<pubDate>Thu, 09 Jul 2009 19:48:13 +0000</pubDate>
</item>
<item>
	<title>Isaac: CarHire.ie discriminating against Spaniards … and Irishmen too</title>
	<guid>http://people.warp.es/~isaac/blog/?p=100</guid>
	<link>http://people.warp.es/~isaac/blog/index.php/carhireie-discriminating-against-spaniards-and-irishmen-too-100</link>
	<description>&lt;p&gt;I was just having a look today at several car rental websites for a weekend trip out of Dublin when I came across this &amp;#8216;interesting&amp;#8217; answer in the &lt;a href=&quot;http://www.carhire.ie/car-hire-faq.html&quot;&gt;FAQ&lt;/a&gt; at &lt;a href=&quot;http://www.carhire.ie&quot;&gt;CarHire.ie&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
What are your age limits?&lt;br /&gt;
23 – 74 years. &amp;#8230; snip &amp;#8230; The minimum age for holders of Irish, Italian, Spanish, Portuguese and Israeli licences is 30 years.
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;and also:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
Holder of Italian, Spanish, Portuguese and Israeli licences there is a non waiveable excess of €2,500.
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Is this kind of discrimination legal? Why did they throw in Israeli people too? Why not Greeks? Don&amp;#8217;t they trust even their own Irish people?!&lt;/p&gt;</description>
	<pubDate>Thu, 25 Jun 2009 17:41:56 +0000</pubDate>
</item>
<item>
	<title>Richi: Sourceforge community choice awards</title>
	<guid>http://people.warp.es/~ricardo/blog/?p=65</guid>
	<link>http://people.warp.es/~ricardo/blog/?p=65</link>
	<description>&lt;p&gt;Para &lt;a href=&quot;http://www.boost.org&quot;&gt;Boost C++ Libraries&lt;/a&gt;&amp;#8230;&lt;br /&gt;
&lt;a href=&quot;http://sourceforge.net/community/cca09/nominate/?project_name=Boost C++ Libraries&amp;#038;project_url=http://boost.sourceforge.net/&quot;&gt;&lt;img src=&quot;http://sourceforge.net/images/cca/cca_nominate.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;#8230; y para &lt;a href=&quot;http://www.ebox-platform.com&quot;&gt;EBox Platform&lt;/a&gt;.&lt;br /&gt;
&lt;a href=&quot;http://sourceforge.net/community/cca09/nominate/?project_name=Ebox&amp;#038;project_url=http://sourceforge.net/projects/freshmeat_ebox/&quot;&gt;&lt;img src=&quot;http://sourceforge.net/images/cca/cca_nominate.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;¿Para quién si no?&lt;/p&gt;</description>
	<pubDate>Tue, 19 May 2009 16:55:30 +0000</pubDate>
</item>
<item>
	<title>Nacho: Closing the blog, opening a new one</title>
	<guid>http://people.warp.es/~nacho/blog/?p=327</guid>
	<link>http://people.warp.es/~nacho/blog/?p=327</link>
	<description>&lt;p&gt;So, this is it, I arrived to the end of this blog. It&amp;#8217;s been almost four years since I opened &amp;#8220;Embracing Open Sources&amp;#8221; and now after 100 posts this is going to be my last writing here. It has been a great experience and I have learned a lot. Keeping a blog open has forced me to think deeply about the matters I was going to write about. It has also taught me what a blog really is and how to work with it. And it has helped me to keep and create professional contacts. I just hope it has also been useful to somebody else &lt;img src=&quot;http://people.warp.es/~nacho/blog/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:-)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;I have made a selection of the top 10 posts of this blog. Most of them are summaries and comments on other people&amp;#8217;s articles or presentations but, anyway, for me that&amp;#8217;s already valuable &lt;img src=&quot;http://people.warp.es/~nacho/blog/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:-)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;ol&gt;&lt;a href=&quot;http://people.warp.es/~nacho/blog/?p=294&quot;&gt;Untangle tangling with eBox&lt;/a&gt;&lt;/ol&gt;
&lt;ol&gt;&lt;a href=&quot;http://people.warp.es/~nacho/blog/?p=288&quot;&gt;The MySQL model&lt;/a&gt;&lt;/ol&gt;
&lt;ol&gt;&lt;a href=&quot;http://people.warp.es/~nacho/blog/?p=277&quot;&gt;Web 2.0 is dead&lt;/a&gt;&lt;/ol&gt;
&lt;ol&gt;&lt;a href=&quot;http://people.warp.es/~nacho/blog/?p=272&quot;&gt;The art of negotiation&lt;/a&gt;&lt;/ol&gt;
&lt;ol&gt;&lt;a href=&quot;http://people.warp.es/~nacho/blog/?p=270&quot;&gt;Chris Anderson talking about &amp;#8220;Free&amp;#8221; (as in free beer)&lt;/a&gt;&lt;/ol&gt;
&lt;ol&gt;&lt;a href=&quot;http://people.warp.es/~nacho/blog/?p=260&quot;&gt;From “Internet Traffic” to “Open Source Community”&lt;/a&gt;&lt;/ol&gt;
&lt;ol&gt;&lt;a href=&quot;http://people.warp.es/~nacho/blog/?p=257&quot;&gt;The Wapit story&lt;/a&gt;&lt;/ol&gt;
&lt;ol&gt;&lt;a href=&quot;http://people.warp.es/~nacho/blog/?p=259&quot;&gt;Launching a virtual company&lt;/a&gt;&lt;/ol&gt;
&lt;ol&gt;&lt;a href=&quot;http://people.warp.es/~nacho/blog/?p=250&quot;&gt;Phases of maturity of OSS ecosystems&lt;/a&gt;&lt;/ol&gt;
&lt;ol&gt;&lt;a href=&quot;http://people.warp.es/~nacho/blog/?p=249&quot;&gt;Sun&amp;#8217;s open source business strategy&lt;/a&gt;&lt;/ol&gt;
&lt;/ul&gt;
&lt;p&gt;At this very moment I am opening a new blog, &lt;a href=&quot;http://blogs.ebox-platform.com/icorreas/&quot;&gt;Learning to Fly&lt;/a&gt;, where I will be reflecting my experiences and the lessons I learn during my new professional challenges launching &lt;a href=&quot;http://ebox-platform.com/&quot;&gt;eBox&lt;/a&gt; as a sustainable company. See you there!&lt;/p&gt;</description>
	<pubDate>Tue, 21 Apr 2009 02:24:35 +0000</pubDate>
</item>
<item>
	<title>Nacho: New professional challenges</title>
	<guid>http://people.warp.es/~nacho/blog/?p=320</guid>
	<link>http://people.warp.es/~nacho/blog/?p=320</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://www.postershop-espana.com/Anonymous/Anonymous-Challenge-5000367.html&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://www.poster.net/anonymous/anonymous-challenge-5000367.jpg&quot; title=&quot;Challenge&quot; class=&quot;alignright&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;129 days since my last post in this blog. The earth has completed one third of a circle around the sun. 44 million people have been born and 20 million people have died on earth. Around 18.000 species have disappeared on the planet. And there is a new president at the White House. All of this and much more happened since my last post.&lt;/p&gt;
&lt;p&gt;But what could keep me so long for posting? Work, it couldn&amp;#8217;t be otherwise. Over a year ago we considered that &lt;a href=&quot;http://ebox-platform.com/&quot;&gt;eBox&lt;/a&gt; had already enough entity to become a company by itself, so we span it out from Warp, creating eBox Technologies S.L., getting some seed funding and starting to develop its own business model. Well, the whole past twelve months have been focused mostly on building the new organization and hiring the right people. By December, when I wrote my last post, we had already an excellent technical team (lead by our beloved CTO, Javier Uruen) and we started the enormous task of forming the management team, which until then consisted basically on I, me and myself. Now, it is up and running, and it looks really promising, with &lt;a href=&quot;http://blogs.ebox-platform.com/javivazquez/&quot;&gt;Javi Vázquez&lt;/a&gt; as our operations officer, &lt;a href=&quot;http://blogs.ebox-platform.com/heidi/&quot;&gt;Heidi&lt;/a&gt; as our marketing officer, &lt;a href=&quot;http://www.jorgebernal.info&quot;&gt;Koke&lt;/a&gt; as our IT officer and (last but not least) Esther as our happiness officer.&lt;/p&gt;
&lt;p&gt;However, that was not the only professional challenge I have been facing. By the same time when we founded eBox Technologies, the companies in the region decided to join and founded an association of open source businesses, where I was chosen the president. It sounds very glamorous but I can assure that being the president of a just born association means a lot of work and no glamor at all. So, we created &lt;a href=&quot;http://cesla.info/&quot;&gt;CESLA&lt;/a&gt;, defined a strategic plan during 2008 and in the last few months we have been putting this plan into practice, launching the first projects and organizing the first CESLA event.&lt;/p&gt;
&lt;p&gt;Moreover, being the main responsible for CESLA included also a site on the board of &lt;a href=&quot;http://www.aeia.com/&quot;&gt;AEIA&lt;/a&gt;, the regional IT association. During the last few months AEIA has suffered a full renovation, including board, strategy, management, statute and even name and logo. It will be all presented in ten days, so stay tuned &lt;img src=&quot;http://people.warp.es/~nacho/blog/wp-includes/images/smilies/icon_wink.gif&quot; alt=&quot;;-)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;And finally, right after its foundation CESLA got integrated in &lt;a href=&quot;http://www.asolif.org/&quot;&gt;Asolif&lt;/a&gt;, the federation of open source businesses in Spain, which guarantees a site on the board for the president of each regional association. Asolif was founded around the same time as CESLA, so it needed a similar effort to be launched. Now it is finally organized and with a growing activity, thanks to the actions taken by its president Dani and its new manager Agustín.&lt;/p&gt;
&lt;p&gt;So many things have happened in the past months. I have learned a lot and met a bunch of interesting people. My context, goals and responsibilities have changed. My points of view have evolved. I think this is a good moment to start a new stage as a blogger, close this blog and start a new one with a different approach, lined up with the new challenges I am currently facing. More information in my next (and last) post in this blog &lt;img src=&quot;http://people.warp.es/~nacho/blog/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:-)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;</description>
	<pubDate>Fri, 10 Apr 2009 13:56:21 +0000</pubDate>
</item>
<item>
	<title>Koke: Las cosas del karma</title>
	<guid>http://www.amedias.org/?p=582</guid>
	<link>http://feedproxy.google.com/~r/Amedias/~3/EvzeTH9xUSU/</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;q=si+eres+legal%2C+eres+legal&amp;amp;btnG=Search&quot;&gt;&lt;img class=&quot;alignnone size-full wp-image-583&quot; title=&quot;Si eres legal...&quot; src=&quot;http://www.amedias.org/wp-content/uploads/2009/02/picture-2.png&quot; alt=&quot;&quot; width=&quot;499&quot; height=&quot;66&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Ya sabes: &lt;a href=&quot;http://siereslegalcomparte.com/&quot;&gt;si eres legal, eres legal&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/Amedias?a=EvzeTH9xUSU:Rry39HXFAlc:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Amedias?i=EvzeTH9xUSU:Rry39HXFAlc:D7DqB2pKExk&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Amedias?a=EvzeTH9xUSU:Rry39HXFAlc:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Amedias?i=EvzeTH9xUSU:Rry39HXFAlc:F7zBnMyn0Lo&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/Amedias/~4/EvzeTH9xUSU&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Mon, 02 Feb 2009 20:42:51 +0000</pubDate>
</item>
<item>
	<title>Crash: Zombies de Centro comercial</title>
	<guid>http://gnucrash.wordpress.com/?p=93</guid>
	<link>http://gnucrash.wordpress.com/2008/12/01/zombies-de-centro-comercial/</link>
	<description>&lt;p&gt;Zombies en el centro comercial, y no me refiero al amanecer de los muertos no, ni a ninguna película de John Carpenter. Sino nuestros centros comerciales, y los zombies de su interior.&lt;/p&gt;
&lt;p&gt;Ayer estuve en un centro comercial en Vitoria, pero supongo esa escena se repitió por todos y cada uno de los centros comerciales de este país y problablemente de esto a lo que le llaman &amp;#8216;el primer mundo&amp;#8217;.&lt;/p&gt;
&lt;p&gt;Por los atavoces del centro comercial atronaban villancicos, uno tras otro los mismos de todos los años, ande ande ande, pastorcillos, campanitas y su **** ****. Contrastaba con el frio exterior un calor notable con la humedad relativa acentuada por la transpiración de los que allí moraban.&lt;/p&gt;
&lt;p&gt;Había gente, mucha gente, no demasiada, pero mucha.  Yo me acerqué a mirar una prenda que necesito y por eso del comparar precios . Algo bueno si que saqué, me encontré de bruces en una tienda de videojuegos con un dvd de segunda mano de la película de &amp;#8216;Tommy&amp;#8217; la ópera rock de The Who, lo cual creo que me alegró la tarde de dos modos, una por encontrarla que es una joya, y dos que la sgae no se llevo ni un sucio céntimo  de los 4.95 euros de mi exquisita compra.&lt;/p&gt;
&lt;p&gt;En uno de los momentos la gente comenzó a agolparse en las baradillas de la escalera porque abajo había una actuación de unas señoritas que debían estar haciendo la danza del vientre. Lo supongo por la música porque no miré.&lt;/p&gt;
&lt;p&gt;Allí estaban cientos de personas, con sus abrigos, metidos en el centro comercial, agarrando sus bolsas con una mano y a sus hijos con la otra, mirando chicas moviendo el culo. Todos con una sonrisa vacía. Solo faltaba una lluvia de prozac, para darles a todos un pasaporte al país felicidad total y absoluta.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Mientras están ahí no están pensando y me están haciendo ganar dinero seguro que pensarán algunos&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Así que me dió miedo, aseguro que me dió miedo ver cientos de personas cuyo fin de semana, dias de esparcimiento físico y mental lo derrochan en sitios donde hacen lo que otros quieren que hagan, con su mente en blanco como zombies.&lt;/p&gt;
&lt;p&gt;La gente en ese estado &amp;#8216;no da problemas&amp;#8217; que es lo que a muchos les viene bien.&lt;/p&gt;
&lt;p&gt;Y luego a los que le dedicamos la vida a la informática nos llaman frikis y que hay que salir más de casa, o peor aún son ellos los que se creen normales.&lt;/p&gt;
&lt;p&gt;He decidido que para ser normal y para llegar a estados alterados de conciencia como su zombificación. Prefiero echar unos tragos una risas, y despotricar sobre el mundo, que al fin y al cabo es mas sano, al menos para la mente y así huir de la lobotomía colectiva.&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/gnucrash.wordpress.com/93/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/gnucrash.wordpress.com/93/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/gnucrash.wordpress.com/93/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/gnucrash.wordpress.com/93/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/gnucrash.wordpress.com/93/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/gnucrash.wordpress.com/93/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/gnucrash.wordpress.com/93/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/gnucrash.wordpress.com/93/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/gnucrash.wordpress.com/93/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/gnucrash.wordpress.com/93/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=gnucrash.wordpress.com&amp;blog=1030999&amp;post=93&amp;subd=gnucrash&amp;ref=&amp;feed=1&quot; /&gt;</description>
	<pubDate>Sun, 30 Nov 2008 22:34:31 +0000</pubDate>
</item>
<item>
	<title>Isaac: The coolest IP on the net</title>
	<guid>http://people.warp.es/~isaac/blog/?p=94</guid>
	<link>http://people.warp.es/~isaac/blog/index.php/the-coolest-ip-on-the-net-94</link>
	<description>&lt;p&gt;My workmate Josh just discovered this &lt;img src=&quot;http://people.warp.es/~isaac/blog/wp-includes/images/smilies/icon_razz.gif&quot; alt=&quot;:P&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;&lt;code&gt;٢ isaac@cooper:~&lt;br /&gt;
% host 69.69.69.69&lt;br /&gt;
69.69.69.69.in-addr.arpa domain name pointer the-coolest-ip-on-the-net.com.&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;</description>
	<pubDate>Tue, 25 Nov 2008 19:16:38 +0000</pubDate>
</item>
<item>
	<title>Crash: Google Developer Day 2008</title>
	<guid>http://gnucrash.wordpress.com/?p=90</guid>
	<link>http://gnucrash.wordpress.com/2008/09/29/google-developer-day-2008/</link>
	<description>&lt;p&gt;&lt;strong&gt;Un gran día&lt;/strong&gt; fue como decía en su blog mi amigo y compañero &lt;a href=&quot;http://www.gimenete.net&quot;&gt;Alberto Gimeno&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Por la mañana un desayuno y por la cara, que esas cosas siempre animan la mañana, sobre todo a Alberto, que junto con&lt;a href=&quot;http://plunchete.wordpress.com&quot;&gt; plunchete&lt;/a&gt; estuvieron toda la noche cambiando el motor de plantillas de &lt;a href=&quot;http://debugmodeon.com&quot;&gt;Debug_mode=ON&lt;/a&gt; mientras yo estaba dormido como un bebé. Lo siento chicos.&lt;/p&gt;
&lt;p&gt;Bien, el día comenzó  tras la acreditación la recogida de una bolsa con unos obsequios (exquisito el pendrive con forma de muñeco de lego) y el desayuno acudimos al acto de apertura, donde Javier Rodriguez Zapatero director de Google España comenzó una ronda de presentaciones, entre las que estuvo la de &lt;a href=&quot;http://egofood.blogspot.com/&quot;&gt;Chris Dibona&lt;/a&gt; poniendonos los dientes largos con el google phone.&lt;img class=&quot;aligncenter&quot; src=&quot;http://farm4.static.flickr.com/3146/2889669947_d29a00a281.jpg&quot; alt=&quot;&quot; width=&quot;500&quot; height=&quot;375&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Tras esta presentación  fuimos al taller de &lt;a href=&quot;http://code.google.com/appengine/&quot;&gt;Google App Engine&lt;/a&gt; Donde se iba a trabajar sobre un ejemplo que nos dieron los ingenieros de google de una wiki. No obstante&amp;#8230;  Nosotros la verdad nos desviamos un poco del ejemplo y seguimos trabajando en unas cuantas cosas referentes a Debug_Mode=ON. En la ronda de presentación de los ejemplos donde salimos a enseñar un poco nuestra recién nacida web.&lt;/p&gt;
&lt;p&gt;Tras la comida, no pudimos entrar a la charla sobre startups, que estaba &amp;#8220;hasta la bandera&amp;#8221;, estuvimos escuchando a los chicos de la charla de Gadgets sociales, fue interesante escucharles y siempre se dan ideas. Pero la mención de honor para estos chicos, es que la charla fue entretenida, supieron contrarrestar esos inconvenientes de la franja horaria (hora de la siesta &lt;img src=&quot;http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; ) en la que tuvieron que presentar.&lt;/p&gt;
&lt;p&gt;Y luego&amp;#8230;. Pues sí Otra vez al taller de Google App Engine, esta vez con &lt;a href=&quot;http://debugmodeon.com/user/danilat&quot;&gt;Daniel Latorre&lt;/a&gt; que se vino también, por la mañana estuvimos separados el en unas charlas y Alberto  y yo en el Taller.&lt;/p&gt;
&lt;p&gt;El día fue muy grande porque &lt;a href=&quot;http://debugmodeon.com&quot;&gt;Debug_Mode=ON&lt;/a&gt; suscitó bastante expectación y hubo gente interesada en ello y estuvimos gustosos de atenderles e intercambiar impresiones como &lt;a href=&quot;http://debugmodeon.com/user/mangel_ajo&quot;&gt;Miguel Angel Ajo&lt;/a&gt;. Lo que fue ya no grande, si no enorme cuando a algunos de los ingenieros de google se nos acercaron y bueno sobre todo Mano Marks, que nos ayudó con los problemas que estabamos teniendo con las quotas de servicio.&lt;/p&gt;
&lt;p&gt;Tras el acto de cierre, nos dejaron abierta la Lanzadera, para poder darnos unos viajecitos y luego, nos invitaron a picoteo y a una barra libre, que eso siempre anima&amp;#8230;&lt;/p&gt;
&lt;br /&gt;  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/gnucrash.wordpress.com/90/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/gnucrash.wordpress.com/90/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/gnucrash.wordpress.com/90/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/gnucrash.wordpress.com/90/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/gnucrash.wordpress.com/90/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/gnucrash.wordpress.com/90/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/gnucrash.wordpress.com/90/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/gnucrash.wordpress.com/90/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/gnucrash.wordpress.com/90/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/gnucrash.wordpress.com/90/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=gnucrash.wordpress.com&amp;blog=1030999&amp;post=90&amp;subd=gnucrash&amp;ref=&amp;feed=1&quot; /&gt;</description>
	<pubDate>Sun, 28 Sep 2008 22:06:56 +0000</pubDate>
</item>
<item>
	<title>Quique: BitTorrent to download eBox</title>
	<guid>http://people.warp.es/~quique/blog/?p=22</guid>
	<link>http://people.warp.es/~quique/blog/?p=22</link>
	<description>&lt;p&gt;BitTorrent is a &lt;a href=&quot;http://en.wikipedia.org/wiki/Peer-to-peer&quot;&gt;P2P&lt;/a&gt; protocol to share files. It is quite cool to share quite big files such as High Definition multimedia or ISO files. &lt;a href=&quot;http://forum.eboxplatform.com/index.php?topic=413.0&quot;&gt;An eBox user asked&lt;/a&gt; to download eBox iso files not using HTTP but a P2P protocol because of his bad network connection. I completely agree in this matter, how many of you does a HTTP download crash on the middle or become corrupt (uhmm, &lt;em&gt;wget&lt;/em&gt; should work in this matter&amp;#8230;).&lt;/p&gt;
&lt;p&gt;Well, I decided to create a &lt;a href=&quot;http://pulsar.unizar.es/wiki/doku.php?id=tracker&quot;&gt;HOWTO&lt;/a&gt; (in Spanish) for my mates in Pulsar about how to set a tracker up. And now it is serving as &lt;a href=&quot;http://ftp.unizar.es:6969/&quot;&gt;coordination point&lt;/a&gt; among bittorrrent clients to download eBox isos &lt;img src=&quot;http://people.warp.es/~quique/blog/wp-includes/images/smilies/icon_biggrin.gif&quot; alt=&quot;:D&quot; class=&quot;wp-smiley&quot; /&gt; . So far 23 people has downloaded completely eBox using this method.&lt;/p&gt;
&lt;p&gt;How beautiful is sharing!&lt;/p&gt;</description>
	<pubDate>Sat, 12 Jul 2008 14:56:10 +0000</pubDate>
</item>
<item>
	<title>Richi: Un multitouch pad… casero</title>
	<guid>http://people.warp.es/~ricardo/blog/?p=64</guid>
	<link>http://people.warp.es/~ricardo/blog/?p=64</link>
	<description>&lt;p&gt;&lt;embed src=&quot;http://www.youtube.com/v/pQpr3W-YmcQ&amp;#038;hl=en&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;/embed&gt;&lt;/p&gt;
&lt;p&gt;Visto en &lt;a href=&quot;http://gb01.blogspot.com/2008/05/how-to-make-your-own-multitouch-surface.html&quot;&gt;Yet Another Geek Blog&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Thu, 22 May 2008 18:48:10 +0000</pubDate>
</item>

</channel>
</rss>
