<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SKaRCHa &#187; Programación</title>
	<atom:link href="http://www.skarcha.com/category/programacion/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.skarcha.com</link>
	<description>La página personal de Antonio Pérez...</description>
	<lastBuildDate>Mon, 06 Feb 2012 00:30:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>NoBrowser: Aplicación Android para evitar el uso del navegador</title>
		<link>http://www.skarcha.com/2011/03/16/nobrowser-aplicacion-android-para-evitar-el-uso-del-navegador/</link>
		<comments>http://www.skarcha.com/2011/03/16/nobrowser-aplicacion-android-para-evitar-el-uso-del-navegador/#comments</comments>
		<pubDate>Wed, 16 Mar 2011 22:31:19 +0000</pubDate>
		<dc:creator>SKaRCHa</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[navegador]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[smartphone]]></category>
		<category><![CDATA[teléfono]]></category>

		<guid isPermaLink="false">http://www.skarcha.com/?p=519</guid>
		<description><![CDATA[Esta entrada es para presentar NoBrowser, mi primera aplicación para móviles. En concreto para Android, que es el sistema que uso. ¿Por qué se creó NoBrowser? Hasta hace poco había estado usando un teléfono HTC Magic, el cuál ya es &#8230; <a href="http://www.skarcha.com/2011/03/16/nobrowser-aplicacion-android-para-evitar-el-uso-del-navegador/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.skarcha.com/wp-content/uploads/2011/03/NoBrowser_512x512-150x150.png" alt="Logo NoBrowser" title="Logo NoBrowser" width="150" height="150" class="alignright size-medium wp-image-550" /></p>
<p>Esta entrada es para presentar <strong>NoBrowser</strong>, mi primera aplicación para móviles. En concreto para <a href="http://www.android.com">Android</a>, que es el sistema que uso.</p>
<h2>¿Por qué se creó NoBrowser?</h2>
<p>Hasta hace poco había estado usando un teléfono <a href="http://www.htc.com/es/product/magic/overview.html">HTC Magic</a>, el cuál ya es un poco viejecillo, y por tanto se puede considerar un dispositivo de gama baja: <strong>poca potencia de CPU y poca memoria. ¿Ves ya por dónde van los tiros?</strong> :-)</p>
<p>Una de las cosas que más hago con el teléfono es leer <a href="http://twitter.com/">Twitter</a>, y debido a la limitación de 140 caracteres, la gente usa servicios para &#8220;saltarse&#8221; esa limitación, como pueden ser:</p>
<ul>
<li>
<h3>Twitlonger</h3>
<p>Este servicio te permite escribir más de 140 caracteres, de forma que en Twitter se publica un tweet con todo lo que quepa más un enlace a su web para leer el resto. Sinceramente, no soy partidario de este tipo de servicios &mdash;si quieres escribir más, abre un blog&mdash; pero sí leo a gente que lo usa.
</li>
<li>
<h3>Videos de youtube con enlaces de <strong>youtu.be</strong></h3>
<p><a href="http://www.youtube.com/">Youtube</a> usa su propio servicio de acortado de direcciones, y curiosamente no son &#8220;capturados&#8221; por la aplicación de Youtube para Android, de forma que si haces clic sobre uno de estos enlaces, lo que ocurre es que primero se abre el navegador y luego te pregunta si quieres abrir la aplicación de Youtube. Y lo malo es que además, una vez visto el vídeo, vuelves atrás y se vuelve a ¡abrir el navegador! porque el sistema ya lo había sacado de memoria ¿No sería más rápido si no se tuviese que abrir el navegador?
</li>
<li>
<h3>Acortadores de direcciones</h3>
<p>Una cosa interesante de NoBrowser es que puede seguir los acortadores de direcciones, de forma que si tenemos, por ejemplo, un enlace <a href="http://bit.ly/">bit.ly</a> que redirige a <a href="http://youtu.be/">youtu.be</a> y éste al vídeo original, si tenemos la certeza de que es un vídeo, podemos abrir el enlace con NoBrowser y directamente nos abrirá la aplicación de Youtube.
</li>
</ul>
<p>Cuando ya estuve harto de estos problemas busqué en el <a href="http://market.android.com">Android Market</a> una aplicación que me permitiese hacer esto, y como habéis adivinado no la encontré. Así que nada, aprovechando que soy programador, y aunque no me gusta Java para nada, me remangué y me puse a trastear un poquillo para hacer lo que necesitaba. Poco a poco ha ido saliendo algo.</p>
<h2>¿Qué hace exactamente NoBrowser?</h2>
<p>Lo que hace la aplicación básicamente es capturar ciertos enlaces para tratarlos ella y evitar en todo lo posible que se abra el navegador cuando no es necesario, y como NoBrowser es una aplicación bastante liviana, todo el proceso es mucho más rápido. A continuación paso a detallar lo que hace exactamente:</p>
<ul>
<li>
<h3>Enlaces de Twitlonger</h3>
<p>Cuando se pulsa sobre un enlace de <a href="http://www.twitlonger.com/">Twitlonger</a>, el sistema nos preguntará si queremos abrirlo con el navegador o con NoBrowser.</p>
<p>Si elegimos el navegador, se abrirá éste y nos mostrará la página de Twitlonger con el tweet completo. Abrir el navegador en la Magic, como ya he dicho, supone un tiempo de espera precioso &mdash;y desesperante&mdash; y luego cargar la página completa, con sus imágenes y demás.</p>
<p>Sin embargo, si elegimos abrir el enlace con NoBrowser, lo que ocurre es que éste <strong>mostrará una ventanita con el contenido del tweet</strong>. Abrir NoBrowser es casi instantáneo, y además, no se descarga nada más que el texto, por lo que es un <strong>ahorro de tiempo y de ancho de banda</strong>, lo cual puede significar dinero también en una conexión de datos móvil.
</li>
<li>
<h3>Enlaces a youtu.be</h3>
<p>Este es un tipo de enlaces que la aplicación de Youtube ya debería capturar, pero por raro que parezca, no es así. Cuando pulsamos sobre uno de estos enlaces, el sistema nos preguntará de nuevo si queremos abrirlo con el navegador o con NoBrowser. Como en el caso anterior, si se abre con NoBrowser, éste nos redirigirá directamente a la aplicación de Youtube y se morirá, de forma que podremos ver el vídeo antes que si lo hiciésemos con el navegador, y además, una vez visto el vídeo volveremos directamente a la aplicación en la que estábamos &mdash;cliente de Twitter por ejemplo&mdash; sin tener que pasar otra vez por el navegador.
</li>
<li>
<h3>Enlaces seguros al Android Market</h3>
<p>Este caso es el mismo que el anterior. Curiosamente la aplicación del Market para Android no captura los enlaces seguros (https://), y nos manda a la web.</p>
<p>Si elegimos abrir estos enlaces con NoBrowser, éste nos redirige automáticamente a la aplicación.
</li>
</ul>
<h2>Futuro</h2>
<p>Tengo previsto añadir nuevas funcionalidades, como por ejemplo:</p>
<ul>
<li>Petición de confirmación antes de redirigir a la aplicación concreta.</li>
<li>Visualizador de imágenes.</li>
</ul>
<h2>Descarga y código fuente</h2>
<ul>
<li><a href="https://market.android.com/details?id=com.skarcha.nobrowser">NoBrowser en el Android Market</a>.</li>
<li><a href="https://github.com/skarcha/NoBrowser">Código fuente de NoBrowser en github</a>.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.skarcha.com/2011/03/16/nobrowser-aplicacion-android-para-evitar-el-uso-del-navegador/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cherokee Summit 2010</title>
		<link>http://www.skarcha.com/2010/01/12/cherokee-summit-2010/</link>
		<comments>http://www.skarcha.com/2010/01/12/cherokee-summit-2010/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 23:43:16 +0000</pubDate>
		<dc:creator>SKaRCHa</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[cherokee]]></category>

		<guid isPermaLink="false">http://www.skarcha.com/?p=507</guid>
		<description><![CDATA[Bueno, hoy se ha hecho el anuncio oficial de que el próximo 7 y 8 de mayo tendrá lugar en Madrid (España) el primer congreso/reunión de programadores, usuarios e interesados por mi servidor web favorito. El evento coincidirá con la &#8230; <a href="http://www.skarcha.com/2010/01/12/cherokee-summit-2010/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://summit.cherokee-project.com/"><img src="http://www.skarcha.com/wp-content/uploads/2010/01/cherokee-summit-2010.png" alt="Logo del Cherokee Summit 2010" title="cherokee-summit-2010" width="454" height="128" class="size-full wp-image-508" /></a><br />
Bueno, hoy se ha hecho el anuncio oficial de que el próximo <strong>7 y 8 de mayo</strong> tendrá lugar en <strong>Madrid (España)</strong> el primer congreso/reunión de programadores, usuarios e interesados por mi servidor web favorito.</p>
<p>El evento coincidirá con la <strong>liberación de la versión 1.0 de Cherokee</strong>, y además se hablará del <strong>roadmap de la versión 2.0</strong></p>
<p>Dentro de unos meses cogeré mis bártulos para acudir a la cita, porque además de poder conocer en persona al resto de miembros del equipo de desarrollo y usuarios activos, podré asistir y/o participar en varias charlas sobre infraestructuras web de alto rendimiento. Seguro que aprenderé bastante&#8230; ya estoy deseando. :-)</p>
<p>En la página web del <a href="http://summit.cherokee-project.com/">Cherokee Summit 2010</a> podréis encontrar más información sobre el evento, las charlas que se darán, cómo llegar, etc&#8230; y lo más importante: <strong>cómo apuntaros para asistir</strong>. Las plazas están <strong>limitadas a 80 asistentes</strong>, así que si estáis interesados ¡daos prisa!</p>
<p>Por cierto, <strong>la asistencia es gratuita</strong>.</p>
<ul>
<li><a href="http://www.alobbs.com/1379/Cherokee_Summit_2010.html">Anuncio de Álvaro</a></li>
<li><a href="http://unixwars.com/2010/01/11/its-official-cherokee-summit-2010-is-on-its-way/">Anuncio de Taher</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.skarcha.com/2010/01/12/cherokee-summit-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pymaldi: Accediendo a los lectores Kimaldi desde Python</title>
		<link>http://www.skarcha.com/2009/10/01/pymaldi-accediendo-a-los-lectores-kimaldi-desde-python/</link>
		<comments>http://www.skarcha.com/2009/10/01/pymaldi-accediendo-a-los-lectores-kimaldi-desde-python/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 18:07:11 +0000</pubDate>
		<dc:creator>SKaRCHa</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[pymaldi]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[rfid]]></category>

		<guid isPermaLink="false">http://www.skarcha.com/?p=474</guid>
		<description><![CDATA[Mi amigo David y yo estamos desarrollando una aplicación para el control de acceso a instalaciones, y la gestión de turnos de trabajo. Básicamente se trata de que cada trabajador tenga una tarjeta RFID con sus datos y foto, y &#8230; <a href="http://www.skarcha.com/2009/10/01/pymaldi-accediendo-a-los-lectores-kimaldi-desde-python/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Mi amigo <a href="http://www.huelvayork.com">David</a> y yo estamos desarrollando una aplicación para el control de acceso a instalaciones, y la gestión de turnos de trabajo. Básicamente se trata de que cada trabajador tenga una tarjeta <a href="http://es.wikipedia.org/wiki/RFID">RFID</a> con sus datos y foto, y que esa tarjeta la sirva para entrar a las instalaciones abriendo las barreras, para abrir puertas, para picar el comienzo de su jornada laboral, para poder comer en el comedor, etc&#8230; En fin, muchas cosas que ya contaré en profundidad cuando la terminemos, y si es que nos proponemos venderla a otros clientes además de para el que inicialmente la estamos haciendo, que será lo más probable, ya que su diseño es totalmente abierto.</p>
<p>El caso es que para implementar nuestra solución optamos por usar lectores de la empresa <a href="http://www.kimaldi.com">Kimaldi</a>, concretamente el <a href="http://www.kimaldi.com/productos/sistemas_rfid/lectores_rfid_y_tags_125_khz/terminales_para_acceso_rfid_125_khz/terminal_kimaldi_biomax2">Biomax2</a>, que tenía muy buena pinta. El problema es que el SDK que provee la empresa es sólo para Windows, así que tuvimos que coger el manual del aparato, mirar el protocolo de comunicaciones para intentar hacernos &#8220;algo&#8221; y así poder interactuar con él desde cualquier sistema operativo, pero principalmente desde Linux, que es el que nos interesaba.</p>
<p>Aprovechando que había descubierto las cualidades de <a href="http://www.python.org/">Python</a> colaborando en el desarrollo del <a href="http://www.cherokee-project.com">Cherokee-Admin</a>, propuse que usásemos Python. Es un lenguaje que te da muchas facilidades para programar cualquier cosa y es muy portable. Hacer eso en C no nos daría más que dolores de cabeza y mucho más tiempo de programación.</p>
<p>Así que nada, puestos manos a la obra, pensamos que lo mejor sería hacer una librería que intentase emular el comportamiento del componente OCX que proporciona Kimaldi, incluyendo los mismos nombres de funciones de éste. ¿Qué conseguíamos con esto? pues que el que estuviese habituado a ese API tuviese más facilidad para programarlo, ya que nuestra idea era liberar esa librería con algún tipo de licencia de código abierto.</p>
<p>Después de un tiempo de desarrollo inicial y de que todo lo básico funcionase, la liberamos, y está disponible en la página del <a href="http://code.google.com/p/pymaldi/">proyecto Pymaldi en Google Code</a>. Desde entonces hemos ido añadiendo nuevos métodos y hemos mejorado algunas cosas.</p>
<p>La librería funciona en base a eventos, es decir, el programa que usa la librería puede enviarle comandos al lector en plan: <em>&#8220;pon esto en el display&#8221;</em>, <em>&#8220;activa el relé 1 durante 2 décimas de segundo&#8221;</em>, etc&#8230; pero además puede recibir eventos que se produzcan en el lector, como cuando una tarjeta se pasa por él, cuando se pulsa una tecla del teclado, cuando se reinicia el lector, etc. Todo esto de una forma muy simple, como se puede ver en el ejemplo adjunto:</p>
<pre class="brush:python">
from pymaldi import Pymaldi

class MyPymaldi (Pymaldi):
    def __init__(self):
        Pymaldi.__init__(self)

    def onReadCard (self, card_id):
        if card_id:
            msg = 'Card ID: %s' % (card_id)
        else:
            msg = 'Error reading card'

        rc = self.WriteDisplay(msg)
        if rc:
            print "ERROR (WriteDisplay): %d" % rc

reader = MyPymaldi()
reader.OpenPortUDP('192.168.2.22')
rc = reader.SetUpBIOMAX2()
if not rc:
    print "BIOMAX2 ready!"
else:
    print "ERROR (SetUpBIOMAX2): %d" % rc
    raise SystemExit

while True:
    try:
        reader.wait_events()
    except KeyboardInterrupt:
        raise SystemExit
</pre>
<p>Este código lo que haría es conectar con el lector que tiene la IP 192.168.2.22 y se queda a la espera de que pasen una tarjeta por él. En cuanto se pasa una tarjeta, se ejecuta una función que lo que hace es decirle al lector que ponga en el display el texto: &#8220;Card ID: &#8221; seguido del número de tarjeta. ¿A que es fácil? :-)</p>
<p>Si sólo queremos pintar algo en la pantalla, nada más simple que:</p>
<pre class="brush:python">
from pymaldi import Pymaldi

class MyPymaldi (Pymaldi):
    def __init__(self):
        Pymaldi.__init__(self)

reader = MyPymaldi()
reader.OpenPortUDP('192.168.2.22')
rc = reader.SetUpBIOMAX2()
if not rc:
    print "BIOMAX2 ready!"
else:
    print "ERROR (SetUpBIOMAX2): %d" % rc
    raise SystemExit

rc = reader.WriteDisplay("Hola SKaRCHa ;)")
if rc:
    print "ERROR (WriteDisplay): %d" % rc

raise SystemExit
</pre>
<p>Y este sería el resultado:</p>
<p><img src="http://www.skarcha.com/wp-content/uploads/2009/10/biomax2.jpg" alt="Biomax2 usándose con Pymaldi" title="Biomax2 usándose con Pymaldi" width="500" height="375" class="aligncenter size-full wp-image-481" /></p>
<p>¿Se puede hacer más fácil? :D</p>
<p>Bueno, pues termino ya, que sólo pensaba hacer un comentario para anunciar la liberación de la librería y ha salido una entrada más larga de lo esperado. Si has llegado hasta aquí es porque te interesa la programación y/o el cacharreo, si no, no te entiendo&#8230; :D</p>
<p><a href="http://code.google.com/p/pymaldi/">Librería Pymaldi.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.skarcha.com/2009/10/01/pymaldi-accediendo-a-los-lectores-kimaldi-desde-python/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Cherokee y rTorrrent</title>
		<link>http://www.skarcha.com/2009/09/01/cherokee-y-rtorrrent/</link>
		<comments>http://www.skarcha.com/2009/09/01/cherokee-y-rtorrrent/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 09:41:54 +0000</pubDate>
		<dc:creator>SKaRCHa</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[cherokee]]></category>
		<category><![CDATA[rtorrent]]></category>
		<category><![CDATA[web server]]></category>

		<guid isPermaLink="false">http://www.skarcha.com/?p=449</guid>
		<description><![CDATA[Como mi amigo JLuis me preguntó si podía usar Cherokee con rTorrent, me puse a preparar una entrada explicando cómo configurarlo todo; pero hablando con Álvaro llegué a la conclusión de que iba a ser mejor invertir ese tiempo en &#8230; <a href="http://www.skarcha.com/2009/09/01/cherokee-y-rtorrrent/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Como mi amigo JLuis me preguntó si podía usar <a href="http://www.cherokee-project.com/">Cherokee</a> con <a href="http://libtorrent.rakshasa.no/">rTorrent</a>, me puse a preparar una entrada explicando cómo configurarlo todo; pero hablando con <a href="http://www.alobbs.com">Álvaro</a> llegué a la conclusión de que iba a ser mejor invertir ese tiempo en escribir un asistente para Cherokee-Admin, así que ayer subí un <a href="http://svn.cherokee-project.com/changeset/3609">parche que implementa el asistente que permite configurar Cherokee para conectar con rTorrent</a>.</p>
<p>Tan sólo tendríais que <a href="http://libtorrent.rakshasa.no/wiki/RTorrentXMLRPCGuide">configurar rTorrent</a> poniendo algo como esto en vuestro <em>rtorrent.rc</em>:</p>
<pre>scgi_port = localhost:5000</pre>
<p>La parte de Cherokee la hará el asistente. <a href="http://lists.octality.com/pipermail/cherokee/2009-September/011129.html">Disponible ya en la versión 0.99.24</a>.</p>
<p>¿Cómo? ¿que todavía no usas Cherokee? <strong>¡¿A qué estás esperando?!</strong> :D</p>
]]></content:encoded>
			<wfw:commentRss>http://www.skarcha.com/2009/09/01/cherokee-y-rtorrrent/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Límite de variables enviadas por POST en PHP</title>
		<link>http://www.skarcha.com/2009/03/11/limite-de-variables-enviadas-por-post-en-php/</link>
		<comments>http://www.skarcha.com/2009/03/11/limite-de-variables-enviadas-por-post-en-php/#comments</comments>
		<pubDate>Wed, 11 Mar 2009 11:24:20 +0000</pubDate>
		<dc:creator>SKaRCHa</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[formularios]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[post]]></category>
		<category><![CDATA[suhosin]]></category>
		<category><![CDATA[variables]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.skarcha.com/?p=412</guid>
		<description><![CDATA[Esta mañana me comentaba un amigo que tenía problemas a la hora de añadir nuevos campos en su aplicación de facturación en PHP. Después de muchas pruebas, descubrimos que la variable $_POST de PHP contenía sólo las primeras 200 variables &#8230; <a href="http://www.skarcha.com/2009/03/11/limite-de-variables-enviadas-por-post-en-php/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Esta mañana me comentaba un amigo que tenía problemas a la hora de añadir nuevos campos en su aplicación de facturación en PHP.</p>
<p>Después de muchas pruebas, descubrimos que la variable $_POST de PHP contenía sólo las primeras 200 variables que se le enviaban al PHP.</p>
<p>Me puse a buscar y el problema estaba en que la versión de PHP que está usando su proveedor de hosting está parcheada con <a href="http://www.hardened-php.net/">Suhosin</a>, y este parche por defecto limita el número de variables enviadas por POST a 200.</p>
<p>La solución, poner esta directiva en el php.ini:</p>
<p><code lang="bash">suhosin.post.max_vars = 2048</code></p>
<p>Por supuesto, se puede poner más, pero con eso nos era suficiente.</p>
<p><a href="http://www.hardened-php.net/suhosin/configuration.html">Más información sobre las opciones de configuración de este parche.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.skarcha.com/2009/03/11/limite-de-variables-enviadas-por-post-en-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cómo llegué al Proyecto Cherokee</title>
		<link>http://www.skarcha.com/2008/10/30/como-llegue-proyecto-cherokee/</link>
		<comments>http://www.skarcha.com/2008/10/30/como-llegue-proyecto-cherokee/#comments</comments>
		<pubDate>Thu, 30 Oct 2008 21:20:34 +0000</pubDate>
		<dc:creator>SKaRCHa</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[cherokee]]></category>
		<category><![CDATA[httpd]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[servidor]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.skarcha.com/?p=382</guid>
		<description><![CDATA[Trabajo por las mañanas, de 8:00 a 15:00, y las tardes las puedo dedicar a lo que quiera; pero estaba desperdiciando el tiempo más que nada leyendo blogs en Google Reader, aunque también me servía para aprender muchas cosas que &#8230; <a href="http://www.skarcha.com/2008/10/30/como-llegue-proyecto-cherokee/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/skarcha/2978748090/" title="Camiseta de Cherokee por SKaRCHa, en Flickr"><img src="http://farm4.static.flickr.com/3007/2978748090_6c2dd2c97f_m.jpg" width="202" height="240" alt="Camiseta de Cherokee" class="alignright" /></a>Trabajo por las mañanas, de 8:00 a 15:00, y las tardes las puedo dedicar a lo que quiera; pero estaba desperdiciando el tiempo más que nada leyendo blogs en <a href="http://www.google.com/reader/">Google Reader</a>, aunque también me servía para aprender muchas cosas que nunca llevaba a la práctica; o pensando que tenemos muchos proyectos en mente (proyectos de negocios) que podemos hacer y que no hacemos.</p>
<p>Es por esto que hace unos meses le comenté a <a href="http://www.huelvayork.com">David</a> que me gustaría involucrarme y colaborar en algún proyecto <a href="http://es.wikipedia.org/wiki/C%C3%B3digo_abierto">Open Source</a>. Ya estaba harto de pensar &#8220;hay que ver lo que podría hacer y no hago nada&#8221;, pero es de estas cosas que las piensas y ya las harás.</p>
<p>Un día me harté de mi anterior empresa de hosting (Webhostingbuzz) y decidí <a href="http://www.ovh.es">buscarme otra</a>. Contraté un servidor dedicado y como me dejaban elegir el sistema operativo, les dije que un Linux a pelo y yo me encargaría de montar el servidor web.</p>
<p>El caso es que ya que tenía que cambiar de servidor, pensé en cambiar también de servidor web en sí y abandonar <a href="http://httpd.apache.org/">Apache</a>, que consume bastante memoria. No sé si fue el día anterior, pero coincidió el cambio de servidor con la <a href="http://barrapunto.com/article.pl?sid=08/08/15/2211213&#038;from=rss">publicación en Barrapunto de la noticia del lanzamiento de la versión 0.8.0 de Cherokee</a>. Ya había leído en el pasado sobre <a href="http://www.cherokee-project.com">Cherokee, el servidor web libre más rápido</a>, programado desde cero por <a href="http://www.alobbs.com">Álvaro López Ortega</a>, un español que trabajaba en Irlanda para <a href="http://es.sun.com">Sun Microsystems</a>.</p>
<p>Tengo que reconocer que al principio todo fueron problemas:</p>
<ul>
<li>Para empezar, el programa se configura usando una interfaz por web, que me pareció más un estorbo que una ayuda.</li>
<li>La filosofía de funcionamiento era totalmente distinta a la que yo estaba acostumbrado en Apache. Nada ficheros .htaccess, por ejemplo.</li>
<li>No había forma de hacer andar WordPress, y me hacía falta para hacer andar este blog sobre Cherokee.</li>
</ul>
<p>Estuve a nada de pasarme a usar <a href="http://nginx.net">Nginx</a>, pero después de unos correos en la <a href="http://lists.cherokee-project.com/pipermail/cherokee/">lista de distribución de Cherokee</a>, y otros cuantos correos con Álvaro, me encabezoné en apoyar el proyecto de un español. Sin duda la ayuda que me dieron en la lista, y la ayuda personal que me dio Álvaro, sirvieron de mucho para decidirme a usar el programa.</p>
<p>Conforme iba configurando cosas, a la vez reportaba los errores que me iba encontrando tanto en el servidor en sí como en el configurador. Una cosa llevó a la otra y un día detecté un error y me puse a intentar arreglarlo yo. Después de pelearme con el C que ya lo tenía bastante oxidado, le mandé un parche a Álvaro y me ayudó a pulir un par de cosillas más.</p>
<p>Después de unos días ya le había enviado unos cuantos parches, y supongo que se hartó de recibir correos míos, porque me propuso el crearme una cuenta en el <a href="http://svn.cherokee-project.com/browser">repositorio de Subversion</a> donde están los fuentes del programa. Al principio le dije que no, que no me atrevía a meter la pata enviando parches yo directamente, pero insistió y me dio una cuenta. <a href="http://svn.cherokee-project.com/changeset/2206">Este es el primer parche que envié yo</a>. Aunque no empecé muy bien, porque me cargué el fichero de log de cambios por culpa del UTF-8. :D</p>
<p>Del parche que estoy más orgulloso es del que permite <a href="http://svn.cherokee-project.com/changeset/2220">hacer funcionar perfectamente WordPress en Cherokee</a>. El que no sea programador a lo mejor no lo entiende, pero saber que algo así funciona gracias a ti, pues la verdad, te hace sentir muy bien. ;)</p>
<p>En fin, poco a poco he ido colaborando, más que nada puliendo cosillas pero sobre todo <strong>APRENDIENDO</strong>. Estoy aprendiendo un montón de <a href="http://www.python.org">Python</a>, que tenía ganas de meterle mano desde hace mucho, y ahora poco a poco voy aprendiendo. También estoy refrescando mucho mi <a href="http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_C">C</a>, que ya casi ni me acordaba; y sobre todo en técnicas de programación: se aprende mucho viendo el código de otros, y el de Cherokee a mi me parece muy bueno.</p>
<p>Hace unos días recibí un correo electrónico de Álvaro diciéndome que por haber colaborado bastante, desde <a href="http://www.octality.com/">Octality</a> me iban a enviar una camiseta, y es la que podéis ver en la foto de esta entrada cubriendo mi pedazo de cuerpo serrano. :D La camiseta es guapísima, y me llegó también con 5 pegatinas, una de las cuales ya ha ido directamente a la parte trasera de la pantalla del portátil. :-)</p>
<p>Octality es la empresa que ha fundado Álvaro al dejar Sun, y se dedica a montar infraestructuras web de alto rendimiento para sitios que tengan mucho tráfico. Evidentemente sus soluciones están basadas en Cherokee, de ahí que últimamente su desarrollo esté avanzando tanto.</p>
<p>Así que sin haberlo planeado he hecho lo que pretendía: <strong>meterme en la comunidad de desarrollo de un proyecto Open Source, ¡y muy contento que estoy!</strong>. <a href="http://lists.octality.com/pipermail/cherokee/2008-October/009123.html">La última versión de Cherokee, la 0.10.0</a>, es la más estable hasta ahora. Y se nota.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.skarcha.com/2008/10/30/como-llegue-proyecto-cherokee/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Análisis de un programa</title>
		<link>http://www.skarcha.com/2007/03/02/analisis-de-un-programa/</link>
		<comments>http://www.skarcha.com/2007/03/02/analisis-de-un-programa/#comments</comments>
		<pubDate>Thu, 01 Mar 2007 23:23:57 +0000</pubDate>
		<dc:creator>SKaRCHa</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[analisis]]></category>
		<category><![CDATA[bar]]></category>
		<category><![CDATA[programa]]></category>
		<category><![CDATA[servilleta]]></category>

		<guid isPermaLink="false">http://www.skarcha.com/2007/03/02/analisis-de-un-programa/</guid>
		<description><![CDATA[Hace un porrón de años&#8230; pero muchos, muchos&#8230; cuando estábamos por Fidonet, nos dió por currarnos nuestro propio editor de mensajes para Linux. Quedamos en una cafetería que ya no existe y empezamos con el análisis&#8230; Sin duda, los mejores &#8230; <a href="http://www.skarcha.com/2007/03/02/analisis-de-un-programa/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Hace un porrón de años&#8230; pero muchos, muchos&#8230; cuando estábamos por <a href="http://www.fidonet.org">Fidonet</a>, nos dió por currarnos nuestro propio editor de mensajes para Linux.</p>
<p>Quedamos en una cafetería que ya no existe y empezamos con el análisis&#8230;</p>
<p>Sin duda, los mejores análisis de programas se hacen en las servilletas de bar&#8230; :D. Esta me la guardé de recuerdo&#8230; ;)</p>
<p><a href='http://www.skarcha.com/wp-content/uploads/2007/03/analisis.jpg' title='Análisis de un programa'><img src='http://www.skarcha.com/wp-content/uploads/2007/03/analisis.jpg' alt='Análisis de un programa' /></a></p>
<p>Por cierto, el que reconozca su letra que levante la mano&#8230; :D</p>
]]></content:encoded>
			<wfw:commentRss>http://www.skarcha.com/2007/03/02/analisis-de-un-programa/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Javascript Debugger</title>
		<link>http://www.skarcha.com/2006/04/13/javascript-debugger/</link>
		<comments>http://www.skarcha.com/2006/04/13/javascript-debugger/#comments</comments>
		<pubDate>Wed, 12 Apr 2006 22:46:17 +0000</pubDate>
		<dc:creator>SKaRCHa</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[debugger]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.skarcha.com/2006/04/13/javascript-debugger/</guid>
		<description><![CDATA[Ya hace un par de años que vengo disfrutando del navegador Firefox&#8230; Recuerdo que al principio (versiones 0.XX), cuando me lo instalé en el trabajo mis compañeros se reían&#8230; &#8220;Ea!, ya estás otra vez con el Morcilla ese&#8230; vaya chasca&#8221;. &#8230; <a href="http://www.skarcha.com/2006/04/13/javascript-debugger/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Ya hace un par de años que vengo disfrutando del navegador <a href="http://www.mozilla-europe.org/es/products/firefox/">Firefox</a>&#8230; Recuerdo que al principio (versiones 0.XX), cuando me lo instalé en el trabajo mis compañeros se reían&#8230; &#8220;Ea!, ya estás otra vez con el <strong>Morcilla</strong> ese&#8230; vaya chasca&#8221;. Al final, todos con el <strong>Firefox</strong> instalado&#8230; :D</p>
<p>Una de las cosas que más me gusta de <strong>Firefox</strong> es la posibilidad de instalarle <a href="https://addons.mozilla.org/">extensiones</a>, que te permiten aumentar las ya de por sí grandes posibilidades del programa. Hay extensiones para todo (algún día comentaré todas las que uso)&#8230; para ver el tiempo, para monitorizar si tienes correo nuevo en GMail, para bloquear publicidad, etc, etc&#8230; Lo dicho, el navegador es la caña&#8230; Y ya para el desarrollador web es la <strong>herramienta perfecta</strong> (EMHO)&#8230;</p>
<p>En mi trabajo no nos dedicamos a desarrollar web ni mucho menos, sólo hemos hecho la nuestra, pero  durante este tiempo hemos descubierto las maravillas de <strong>Firefox</strong> como herramienta de desarrollo web. A las herramientas que ya trae por defecto (como poder ver el código fuente de la página coloreado, la consola de javascript y el inspector DOM) se les unen otras que te ayudan a detectar más rápidamente errores en el código.</p>
<p>Hoy, navegando por el repositorio de <a href="https://addons.mozilla.org/">extensiones de Firefox</a> he descubierto <a href="https://addons.mozilla.org/addon.php?id=216">Javascript Debugger</a>&#8230; símplemente IM-PREZIONANTE!. Como su propio nombre indica es un debugger de código Javascript&#8230; Aquí teneis una captura, y podeis hacer click sobre ella para verla más grande&#8230;</p>
<p><a href="http://img422.imageshack.us/img422/7942/javascriptdebugger4pf.jpg"><img src="http://img428.imageshack.us/img428/7707/javascriptdebuggermini0rw.jpg" alt="Javascript Debugger" class="centro" /></a></p>
<p>Tiene de todo&#8230; Puedes ver los fuentes <strong>.js</strong> que carga la página, poner <strong>puntos de corte</strong> en el código, <strong>variables locales</strong>, <strong>watches</strong>, tracear <strong>paso a paso</strong>, etc, etc&#8230;</p>
<p>Yo lo he flipado&#8230; Lo podéis instalar desde <a href="https://addons.mozilla.org/addon.php?id=216">esta página</a>.</p>
<p>Y si aún no usas Firefox&#8230; ¡¿a qué estás esperando?!. [?php<br />
if (strstr($_SERVER['HTTP_USER_AGENT'], &#8216;MSIE&#8217;))<br />
  echo &#8216;Lo puedes descargar con la barra de Google ya instalada desde el botón que está arriba a la derecha (sección RECOMENDADO)&#8217;;<br />
else {<br />
  echo &#8216;<a href="http://www.mozilla-europe.org/es/products/firefox/">Descarga Firefox.&#8217;;<br />
  echo &#8220;</a>n&#8221;;<br />
}<br />
?]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.skarcha.com/2006/04/13/javascript-debugger/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Letras de colores</title>
		<link>http://www.skarcha.com/2006/04/10/letras-de-colores/</link>
		<comments>http://www.skarcha.com/2006/04/10/letras-de-colores/#comments</comments>
		<pubDate>Mon, 10 Apr 2006 14:31:53 +0000</pubDate>
		<dc:creator>SKaRCHa</dc:creator>
				<category><![CDATA[Citas]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">http://www.skarcha.com/2006/04/10/letras-de-colores/</guid>
		<description><![CDATA[- Alguien: ¿Qué estás haciendo?. - Yo: Trabajando&#8230; programando&#8230; - Alguien: ¡Mentira!, sólo veo letras de colores&#8230; Qué triste para un programador tener que oir esas cosas&#8230; Tu profesión reducida a letras de colores.]]></description>
			<content:encoded><![CDATA[<blockquote>
<p><strong>- Alguien:</strong> ¿Qué estás haciendo?.<br />
<strong>- Yo:</strong> Trabajando&#8230; programando&#8230;<br />
<strong>- Alguien:</strong> ¡Mentira!, sólo veo letras de colores&#8230;</p>
</blockquote>
<p>Qué triste para un programador tener que oir esas cosas&#8230; Tu profesión reducida a <strong>letras de colores</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.skarcha.com/2006/04/10/letras-de-colores/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Chuletas</title>
		<link>http://www.skarcha.com/2006/02/19/chuletas/</link>
		<comments>http://www.skarcha.com/2006/02/19/chuletas/#comments</comments>
		<pubDate>Sun, 19 Feb 2006 11:37:31 +0000</pubDate>
		<dc:creator>SKaRCHa</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">http://www.skarcha.com/archives/2006/02/19/chuletas/</guid>
		<description><![CDATA[Si eres programador, vives de la informática o eres el típico pringaíllo informático al que siempre llaman los amigos para que les solucione un problema en su ordenador, estas chuletas te pueden venir pero que muy bien. Visto en: aNieto2K]]></description>
			<content:encoded><![CDATA[<p>Si eres programador, vives de la informática o eres el típico pringaíllo informático al que siempre llaman los amigos para que les solucione un problema en su ordenador, <a href="http://www.ilovejackdaniels.com/cheat-sheets/">estas chuletas</a> te pueden venir pero que muy bien.</p>
<p>Visto en: <a href="http://www.anieto2k.com/2006/01/28/cheat-sheets/">aNieto2K</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.skarcha.com/2006/02/19/chuletas/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

