<?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>Juan Benavides</title>
	<atom:link href="http://juanbenavides.info/feed/" rel="self" type="application/rss+xml" />
	<link>http://juanbenavides.info</link>
	<description>Anotaciones de un Geek</description>
	<lastBuildDate>Fri, 20 Aug 2010 16:08:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Una forma de conocer a las personas</title>
		<link>http://juanbenavides.info/una-forma-de-conocer-a-las-personas/2010/08/</link>
		<comments>http://juanbenavides.info/una-forma-de-conocer-a-las-personas/2010/08/#comments</comments>
		<pubDate>Fri, 20 Aug 2010 16:08:20 +0000</pubDate>
		<dc:creator>Juan Benavides</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[experiencias]]></category>
		<category><![CDATA[recuentos de la vida]]></category>

		<guid isPermaLink="false">http://juanbenavides.info/?p=344</guid>
		<description><![CDATA[Decir que es una filosofía de vida es demasiado, pero si tengo una costumbre muy particular sobre mi forma de tratar a las personas que recién conozco. Siempre que me presentan a alguien pongo todo mi esfuerzo y atención en descubrir algo maravilloso en esa persona, únicamente para aprender de ella. Casi todos tienen cualidades, [...]]]></description>
			<content:encoded><![CDATA[<p>Decir que es una filosofía de vida es demasiado, pero si tengo una costumbre muy particular sobre mi forma de tratar a las personas que recién conozco.</p>
<p>Siempre que me presentan a alguien pongo todo mi esfuerzo y atención en <strong>descubrir</strong> algo maravilloso en esa persona, únicamente para aprender de ella. <strong>Casi todos</strong> tienen cualidades, algunos son buenos en la música, hay quienes para jugar videojuegos, unos son buenos matemáticos, otros son físicos, algunos locos son escritores y otros simplemente son <em>buena onda</em>. Por lo mismo, <strong>casi todos</strong> tienen algo que enseñarte.</p>
<p>Al igual que <a href="http://twitter.com/Othaner">Otháner</a> decía alguna vez, creo que <a href="http://othaner.net/algunas-ideas-sueltas-sobre-la-cortesia-la-sinceridad-los-buenos-y-los-malos/2009/10/08/">no existen personas buenas ni malas</a>. Existen personas, llenas de errores y bondades casi aleatorias, también tu y yo somos así de raros.</p>
<p>Lo aprendí por las malas, hasta el amigo que menos gracia le he encontrado en 8 años, me ha sorprendido con algo al noveno de conocerlo. No se trata de ser ingenuo (todo mundo sabe que soy muy escéptico), sino de <strong>no volverse prejuicioso</strong>.</p>
<p>Porque es muy fácil ver los defectos de alguien y cuando te cuelgas de algún problema personal es aún más fácil tratarlo de idiota por el resto de su vida. Lo difícil es recordar que por más idiota que sea, todos tienen alguna experiencia de vida interesante que quizás tu no has vivido y que podría enseñarte mucho. Es casi por pura probabilidad que haya alguna vivencia en aquella persona que te cae tan mal, la cual puede enseñarte algo valioso.</p>
<p>Esa es mi forma de conocer a las personas. Soy muy crítico, soy muy escéptico, pero siempre me esfuerzo al máximo por descubrir <strong>alguna chispa de genialidad en las personas</strong> y evitar cualquier prejuicio que pueda nublarme la oportunidad de conocer algo admirable.</p>
<p>Y si, <strong>me cagan las <del datetime="2010-08-20T07:08:21+00:00">personas</del> actitudes prejuiciosas.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://juanbenavides.info/una-forma-de-conocer-a-las-personas/2010/08/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>El gran argumento de la ciencia fáustica</title>
		<link>http://juanbenavides.info/el-gran-argumento-de-la-ciencia-faustica/2010/06/</link>
		<comments>http://juanbenavides.info/el-gran-argumento-de-la-ciencia-faustica/2010/06/#comments</comments>
		<pubDate>Tue, 29 Jun 2010 16:12:16 +0000</pubDate>
		<dc:creator>Juan Benavides</dc:creator>
				<category><![CDATA[Filosofía]]></category>
		<category><![CDATA[ciencia fáustica]]></category>
		<category><![CDATA[el hombre postorgánico]]></category>
		<category><![CDATA[paula sibilia]]></category>

		<guid isPermaLink="false">http://juanbenavides.info/?p=334</guid>
		<description><![CDATA[&#8220;Si hay hombre es porque una tecnología lo ha hecho evolucionar a partir de lo prehumano; entonces ella es la verdadera productora de seres humanos, o el plano sobre el cual puede haberlos. [...] de modo que los seres humanos no se encuentran con nada nuevo cuando se exponen a si mismos a la subsiguiente [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>&#8220;Si hay hombre es porque una tecnología lo ha hecho evolucionar a partir de lo prehumano; entonces ella es la verdadera productora de seres humanos, o el plano sobre el cual puede haberlos. </p>
<p>[...] de modo que los seres humanos no se encuentran con nada nuevo cuando se exponen a si mismos a la subsiguiente creación y manipulación, y no hacen nada perverso si se cambian a si mismos autotecnológicamente.&#8221; &#8211; <strong>Peter Sloterdijk</strong></p></blockquote>
<p><strong>Aclaración</strong>: &#8220;prehombre&#8221; hace referencia a nuestro antecesor humano que no poseía herramientas primitivas con las cuales mejorar su calidad de vida -tecnología al fin y al cabo.</p>
<p>Fausto figura como una <em>especie</em> o tipo de filosofía científica en <strong>El hombre postorgánico</strong>, libro de <strong>Paula Sibilia</strong>. Haciendo referencia a aquella que desea superar todos los limites, sin importar lo que cueste -incluyendo, <em>vender su alma al diablo</em>.</p>
<p><strong>El hombre postorgánico</strong> es un libro que voy terminando esta misma noche y del que me gustaría hablar, pero antes tendría que leerme el siguiente libro que promete complementar muchísimo todos los temas tratados.</p>
<p>Si nos encontramos en algún bar, ¡por favor, saca el tema a conversar! :D</p>
]]></content:encoded>
			<wfw:commentRss>http://juanbenavides.info/el-gran-argumento-de-la-ciencia-faustica/2010/06/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Conjuntivitis, la fe y la evolución del ojo humano</title>
		<link>http://juanbenavides.info/conjuntivitis-la-fe-y-la-evolucion-del-ojo-humano/2010/05/</link>
		<comments>http://juanbenavides.info/conjuntivitis-la-fe-y-la-evolucion-del-ojo-humano/2010/05/#comments</comments>
		<pubDate>Thu, 20 May 2010 18:15:52 +0000</pubDate>
		<dc:creator>Juan Benavides</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[ateísmo]]></category>
		<category><![CDATA[conjuntivitis]]></category>
		<category><![CDATA[evolución]]></category>

		<guid isPermaLink="false">http://juanbenavides.info/?p=318</guid>
		<description><![CDATA[Quizás fue un golpe de aire, un dedo sucio, la nube permanente de cigarro en la oficina o un castigo de dios, no estoy seguro por qué, pero tengo conjuntivitis. Nunca antes había tenido este tipo de infección, tampoco es la gran cosa, solo es molesta. El caso es que fui con el oftalmólogo para [...]]]></description>
			<content:encoded><![CDATA[<p>Quizás fue un golpe de aire, un dedo sucio, la nube permanente de cigarro en la oficina o un castigo de dios, no estoy seguro por qué, pero tengo <strong>conjuntivitis</strong>. Nunca antes había tenido este tipo de infección, tampoco es la gran cosa, solo es molesta.</p>
<p>El caso es que fui con el oftalmólogo para que me me diera algo y en lo que el médico hacia sus observaciones dentro de mis ojos, yo me aburría. Empecé a ver sus paredes, que las tiene tapizadas de imágenes descriptivas del ojo humano y como funciona. Fue ahí donde recordé esa &#8220;eterna batalla&#8221; entre los cristianos más ortodoxos y la ciencia.</p>
<p><img src="http://juanbenavides.info/wp-content/uploads/2010/05/bookjehova29-300x277.jpg" alt="" title="El ojo humano y la evolución" width="300" height="277" align="right" style="margin-left:20px;" class="alignright size-medium wp-image-319" />Cuando uno de estos hombrecitos radicales sale con que el ojo humano no pudo haber evolucionado dada su complejidad actual, ningún argumento sobre la teoría <em>pura</em> de la evolución les convence. Y es que imaginar la evolución del ojo no es tan fácil, o eso es lo que creía. Enfrente de mi tenía a un <strong>experto en ojos</strong> y no iba a perder la oportunidad de preguntarle su opinión.</p>
<p>Lo importante fue el inicio: El primer ojo, no era un &#8220;medio ojo&#8221;, sino un sensor de luz. Con el tiempo, los organismos fueron desarrollando más y más sensores de luz. La cámara ocular se empezó a formar para percibirla mejor y además empezaban a recibir en diferentes frecuencias. Poco a poco, el ojo humano va tomando forma y un sistema que parece complejo, esta compuesto por muchas partes simples (como la mayoría de los sistemas).</p>
<p><a href="http://www.sindioses.org/cienciaorigenes/bookjehova03.html">Más sobre la evolución del ojo</a>.</p>
<p>Fue una plática interesante, además parece que el señor se aburre mucho con los demás pacientes, por que se veía emocionado hablando sobre temas de su carrera, aunque la evolución no es precisamente su especialidad y claro, diciendo una que otra blasfemia para complementar.</p>
]]></content:encoded>
			<wfw:commentRss>http://juanbenavides.info/conjuntivitis-la-fe-y-la-evolucion-del-ojo-humano/2010/05/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Descansar</title>
		<link>http://juanbenavides.info/descansar/2010/05/</link>
		<comments>http://juanbenavides.info/descansar/2010/05/#comments</comments>
		<pubDate>Wed, 19 May 2010 09:33:40 +0000</pubDate>
		<dc:creator>Juan Benavides</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[autobahn]]></category>
		<category><![CDATA[blogger]]></category>
		<category><![CDATA[proyectos]]></category>

		<guid isPermaLink="false">http://juanbenavides.info/?p=315</guid>
		<description><![CDATA[&#8220;¡A descansar al panteón!&#8221; Sabias palabras del padre de Otháner. Aunque tengo ganas de ir un par de días. Lo irónico, es que mientras más trabajo tengo, más ganas me dan de seguir con proyectos más independientes. Incluyendo a Autobahn, tengo unos cuantos experimentos y proyectos que con un poco de suerte y trabajo, estarán [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>&#8220;¡A descansar al panteón!&#8221;</p></blockquote>
<p>Sabias palabras del padre de <a href="http://othaner.net/">Otháner</a>. Aunque tengo ganas de ir un par de días.</p>
<p>Lo irónico, es que mientras más trabajo tengo, más ganas me dan de seguir con proyectos más independientes. Incluyendo a <a href="http://juanbenavides.info/autobahn-una-abstraccion-para-bases-de-datos/2010/01/">Autobahn</a>, tengo unos cuantos experimentos y proyectos que con un poco de suerte y trabajo, estarán listos en poco tiempo.</p>
]]></content:encoded>
			<wfw:commentRss>http://juanbenavides.info/descansar/2010/05/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rediseño de IndieWeblogs</title>
		<link>http://juanbenavides.info/rediseno-de-indieweblogs/2010/04/</link>
		<comments>http://juanbenavides.info/rediseno-de-indieweblogs/2010/04/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 22:22:16 +0000</pubDate>
		<dc:creator>Juan Benavides</dc:creator>
				<category><![CDATA[Diseño]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[indieweblogs]]></category>
		<category><![CDATA[rediseño]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://juanbenavides.info/?p=308</guid>
		<description><![CDATA[Despues de 3 días de locura con WordPress, finalmente salió el rediseño de IdentidadGeek, MetropoliBlog, CriticaPura, junto con los nuevos blogs SalaDeportiva y Cinescopia. De hecho me da gusto que salió este último, era un proyecto que tenía desde hace mucho tiempo y ahora funciona finalmente. Falta que se llenen de contenido para ver que [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://juanbenavides.info/wp-content/uploads/2010/04/footer-indieblogs.png" alt="" title="footer-indieblogs" width="700" class="alignnone size-medium wp-image-309" /></p>
<p>Despues de 3 días de locura con WordPress, finalmente salió el rediseño de <a href="http://identidadgeek.com/">IdentidadGeek</a>, <a href="http://metropoliblog.com/">MetropoliBlog</a>, <a href="http://criticapura.com/">CriticaPura</a>, junto con los nuevos blogs <a href="http://saladeportiva.com/">SalaDeportiva</a> y <a href="http://cinescopia.com/">Cinescopia</a>. De hecho me da gusto que salió este último, era un proyecto que tenía desde hace mucho tiempo y ahora funciona finalmente.</p>
<p>Falta que se llenen de contenido para ver que maravillas nos traerán y espero poder darme el tiempo de colaborar. Además quedé enamorado del pie de página :)</p>
]]></content:encoded>
			<wfw:commentRss>http://juanbenavides.info/rediseno-de-indieweblogs/2010/04/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Lo normal, es que no me importa que digan de mi</title>
		<link>http://juanbenavides.info/lo-normal-es-que-no-me-importa-que-digan-de-mi/2010/04/</link>
		<comments>http://juanbenavides.info/lo-normal-es-que-no-me-importa-que-digan-de-mi/2010/04/#comments</comments>
		<pubDate>Sun, 04 Apr 2010 20:06:10 +0000</pubDate>
		<dc:creator>Juan Benavides</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://juanbenavides.info/?p=305</guid>
		<description><![CDATA[Quien me conoce de verdad, sabe que soy muy despreocupado frente a cualquier crítica. El tono, la intensidad o los gritos de lo que dicen otras personas acerca de mi, no influye, salvo que los argumentos sean buenos. Otháner dice que soy excesivamente neutral, quizás es cierto. La verdad es que si me importa. Cuando [...]]]></description>
			<content:encoded><![CDATA[<p>Quien me conoce de verdad, sabe que soy muy despreocupado frente a cualquier crítica. El tono, la intensidad o los gritos de lo que dicen otras personas acerca de mi, no influye, salvo que los argumentos sean buenos. <a href="http://othaner.net/">Otháner</a> dice que soy excesivamente neutral, quizás es cierto.</p>
<p>La verdad es que si me importa. Cuando esas palabras salen de mi familia, se rompe esa neutralidad que normalmente sostengo frente a la gente. Me dolió mucho cuando dijeron que no podría programar, cuando no querían que entrara a esa escuela en la que estoy, que no trabajara tan joven ó que no contratara Internet -jajaja olvidaba esa, un día les contaré.</p>
<p>No se confundan, de verdad no <em>estoy</em> &#8220;emo&#8221;. Mi familia siempre me ha apoyado. Pero normalmente tampoco necesito  la aprobación o el apoyo moral de las personas, excepto cuando se me ocurren ideas locas. Levantar un <em>changarro</em> (antes conocidos como emprendimientos) es una de ellas y lo que menos se necesita es, que esos seres cercanos que siempre deberían apoyarnos, te <del datetime="2010-04-04T19:39:36+00:00">tiren mierda</del> hagan la poca vida en casa más difícil y estresante.</p>
<p>Antes me deprimía. Hoy volvió a pasar y me dieron ganas de ir a la oficina a trabajar más. Como diría un psicólogo, <strong>eso es un avance&#8230;</strong></p>
<p>Nada como una nota sincera para romper el hielo que se había formado en este blog :)</p>
<p><strong>Actualización:</strong> Tienen razón <a href="http://twitter.com/zapata131/status/12131114910">Zapata131</a> y <a href="http://juanbenavides.info/lo-normal-es-que-no-me-importa-que-digan-de-mi/2010/04/#comment-108">Sereníssima</a>, a la mayoría nos importa, sobre todo cuando es &#8220;importante&#8221;. Le he dado vueltas y lección aprendida.</p>
]]></content:encoded>
			<wfw:commentRss>http://juanbenavides.info/lo-normal-es-que-no-me-importa-que-digan-de-mi/2010/04/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Autobahn: una abstracción para bases de datos</title>
		<link>http://juanbenavides.info/autobahn-una-abstraccion-para-bases-de-datos/2010/01/</link>
		<comments>http://juanbenavides.info/autobahn-una-abstraccion-para-bases-de-datos/2010/01/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 11:54:20 +0000</pubDate>
		<dc:creator>Juan Benavides</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[autobahn]]></category>
		<category><![CDATA[microbus]]></category>
		<category><![CDATA[orm]]></category>

		<guid isPermaLink="false">http://juanbenavides.info/?p=292</guid>
		<description><![CDATA[Un proyecto que ya tenía en mente desde hace un buen tiempo, era hacer un nano-framework. CakePHP es muy bueno, pero a veces es simplemente demasiado para lo que paga el cliente. El punto es que nunca llegué a nada concreto y Armando se me adelanto espectacularmente con Microbus :D Microbus es mucho mejor de [...]]]></description>
			<content:encoded><![CDATA[<p>Un proyecto que ya tenía en mente desde hace un buen tiempo, era hacer un nano-framework. <a href="http://cakephp.org/">CakePHP</a> es muy bueno, pero a veces es simplemente <strong>demasiado</strong> para lo que paga el cliente. El punto es que nunca llegué a nada concreto y <a href="http://dupermag.com/">Armando</a> se me adelanto espectacularmente con <a href="http://github.com/soska/microbus">Microbus</a> :D</p>
<p><a href="http://github.com/soska/microbus">Microbus</a> es mucho mejor de lo que yo tenía en mente, así que prefiero meterle mano a este que reescribir la rueda -como si no fuera suficiente. El único detalle es que le faltaba un modelo de base de datos. <a href="http://github.com/Linnk/Autobahn">Autobahn</a> fue el resultado que por algunas razones, no pude liberar antes. Falta mucho todavía, pero así es como funciona:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">require</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'lib/autobahn.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$library</span> <span style="color: #339933;">=</span> Autobahn<span style="color: #339933;">::</span><span style="color: #004000;">getConnection</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'default'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//	Classic SQL</span>
<span style="color: #000088;">$authors</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$library</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'SELECT Author.id, Author.firstname FROM authors Author'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	
&nbsp;
<span style="color: #666666; font-style: italic;">//	Find (like Select)</span>
<span style="color: #000088;">$book</span>	  <span style="color: #339933;">=</span> <span style="color: #000088;">$library</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">findBooksById</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$books</span>	  <span style="color: #339933;">=</span> <span style="color: #000088;">$library</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">findAllBooks</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$favorites</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$library</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">findAllBooksById</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">3</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">4</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//	Insert</span>
<span style="color: #000088;">$newBook</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'id'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'author_id'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">12</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Frameworks for PHP'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$library</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">insertBooks</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$newBook</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//	Update</span>
<span style="color: #000088;">$values</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Frameworks for PHP 5'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'...'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$conditions</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'id'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$library</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">updateBooks</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$values</span><span style="color: #339933;">,</span> <span style="color: #000088;">$conditions</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//	Delete</span>
<span style="color: #000088;">$library</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">deleteBooksById</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">10</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">11</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">12</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//	Show stats of all queries :) ... only for CLI mode, for now.</span>
<span style="color: #000088;">$library</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">showLogs</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Lo que sigue es mejorar el generador de consultas, el cual está mal hecho y repartido entre el objeto que abstrae MySQL y el objeto abstracto administrador. Una parte del generador se hace en el objeto abstracto y eso está mal, según mi teoría. SQL debería ser un estándar universal -como el HTML/CSS, ja- pero en la práctica no lo es del todo, siempre hay mínimas diferencias y debo de cuidar este hecho.</p>
<p>Una vez hecho lo anterior, el siguiente paso es diseñar el modelo padre, del cual se van a instanciar los modelos creados para la aplicación. Aquí seré cuidadoso, porque podría cometer el error de crecer demasiado el código, cuando la idea es mantenerlo corto y simple. El objetivo a lograr sería que pudiera manejar la base de datos de la siguiente manera:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">require</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'lib/autobahn.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">require</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'model/book.php'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$book</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Book<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$book</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">author_id</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">12</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$book</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">title</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'Frameworks for PHP'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$book</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">save</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$book</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">showLogs</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Entre algunas otras ideas por ahí que rondan mi cabeza, esto es más o menos el resultado final que me gustaría. Pero siempre con el propósito de hacerlo corto y simple, por eficiencia y portabilidad principalmente. Ojalá a alguien le sirva :)</p>
]]></content:encoded>
			<wfw:commentRss>http://juanbenavides.info/autobahn-una-abstraccion-para-bases-de-datos/2010/01/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>El contenido está antes que el diseño</title>
		<link>http://juanbenavides.info/el-contenido-esta-antes-que-el-diseno/2010/01/</link>
		<comments>http://juanbenavides.info/el-contenido-esta-antes-que-el-diseno/2010/01/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 04:52:24 +0000</pubDate>
		<dc:creator>Juan Benavides</dc:creator>
				<category><![CDATA[Diseño]]></category>
		<category><![CDATA[contenido]]></category>

		<guid isPermaLink="false">http://juanbenavides.info/?p=288</guid>
		<description><![CDATA[Contenido precede al diseño. Diseño en la ausencia de contenido no es diseño, es decoración. Jeffrey Zeldman Evidente para algunos de nosotros, ridículo para la gran mayoría de las personas e incluso diseñadores. La frase me recuerda aquella vez cuando el diseñador de Google renunció por que &#8220;le pedían justificar cada píxel que movía&#8221;, y [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Contenido precede al diseño. Diseño en la ausencia de contenido no es diseño, es decoración.</p></blockquote>
<p style="text-align:right"><a href="http://twitter.com/zeldman/statuses/804159148">Jeffrey Zeldman</a></p>
<p>Evidente para algunos de nosotros, ridículo para la gran mayoría de las personas e incluso diseñadores. La frase me recuerda aquella vez cuando el diseñador de Google renunció por que &#8220;le pedían justificar cada píxel que movía&#8221;, y más de un diseñador conocido se ofendió. Una pena.</p>
]]></content:encoded>
			<wfw:commentRss>http://juanbenavides.info/el-contenido-esta-antes-que-el-diseno/2010/01/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Herramienta c99 para Newbies</title>
		<link>http://juanbenavides.info/herramienta-c99-para-newbies/2010/01/</link>
		<comments>http://juanbenavides.info/herramienta-c99-para-newbies/2010/01/#comments</comments>
		<pubDate>Sat, 09 Jan 2010 23:59:18 +0000</pubDate>
		<dc:creator>Juan Benavides</dc:creator>
				<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[c99]]></category>
		<category><![CDATA[seguridad]]></category>

		<guid isPermaLink="false">http://juanbenavides.info/?p=281</guid>
		<description><![CDATA[&#8220;La seguridad de un sistema, es tan fuerte como la de su eslabón más débil.&#8221; Esta herramienta fue la que nos colaron y con la que nos hicieron travesuras en año nuevo. La subo por que merece la pena instalarla en los servidores de cada uno y ver que tanto daño puede hacer o que [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://juanbenavides.info/wp-content/uploads/2010/01/screenshot1.png" alt="" title="c99" width="700" height="450" class="alignnone size-full wp-image-282" /></p>
<blockquote><p>&#8220;La seguridad de un sistema, es tan fuerte como la de su eslabón más débil.&#8221;</p></blockquote>
<p>Esta herramienta fue la que nos colaron y con la que <a href="http://juanbenavides.info/%c2%a1feliz-ano-nuevo-2010/2010/01/">nos hicieron travesuras en año nuevo</a>. La subo por que merece la pena instalarla en los servidores de cada uno y ver que tanto daño puede hacer o que tan inseguro es nuestro servidor.</p>
<p>La pueden descargar -junto con otras- de aquí: <a href='http://juanbenavides.info/wp-content/uploads/2010/01/tools-for-newbies.tar.gz'>c99</a></p>
<p>La herramienta se llama <code>ajnnk.php</code>, que aparentemente es el seudónimo de quien nos la dejó, estaba encriptada pero igual subí una versión legible para que se pueda analizar, con fines educativos obviamente :P Básicamente, son una recopilación de comandos y pequeños algoritmos en PHP que te permiten explorar y atacar el sistema donde está instalado. Es una herramienta para newbies, pero algunos de los errores que cometimos fueron bastante ridículos. El consuelo es que así se aprende.</p>
]]></content:encoded>
			<wfw:commentRss>http://juanbenavides.info/herramienta-c99-para-newbies/2010/01/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oídos sordos, dedos lastimados y bugs de WordPress</title>
		<link>http://juanbenavides.info/oidos-sordos-dedos-lastimados-y-bugs-de-wordpress/2010/01/</link>
		<comments>http://juanbenavides.info/oidos-sordos-dedos-lastimados-y-bugs-de-wordpress/2010/01/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 14:00:22 +0000</pubDate>
		<dc:creator>Juan Benavides</dc:creator>
				<category><![CDATA[Musica]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[blues]]></category>
		<category><![CDATA[the fall of troy]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://juanbenavides.info/?p=275</guid>
		<description><![CDATA[WordPress 2.9 tiene esta pequeña lista de bugs. Entre los que se encuentran, un fallo crítico en el componente Cron para los posts a futuro y del que me habían avisado los chicos de IndieWeblogs. Pues nada que, debido a los recientes eventos la paranoia nos volvió por un momento, pero por suerte esta ves [...]]]></description>
			<content:encoded><![CDATA[<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/DOatmk4obzI&#038;hl=es_MX&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/DOatmk4obzI&#038;hl=es_MX&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p><a href="http://core.trac.wordpress.org/query?status=closed&#038;group=resolution&#038;order=priority&#038;milestone=2.9.1&#038;resolution=fixed">WordPress 2.9 tiene esta pequeña lista de bugs</a>. Entre los que se encuentran, un fallo crítico en el componente Cron para los posts a futuro y del que me habían avisado los chicos de <a href="http://indieweblogs.com">IndieWeblogs</a>. Pues nada que, debido a los recientes eventos la paranoia nos volvió por un momento, pero por suerte esta ves fue lo cotidiano.</p>
<p>El video es para festejarme que despues de muchísimo sin tocar, pude sacar al fin esa linda canción de mi banda favorita estos días <strong>The Fall of Troy</strong>, llamada <strong>Caught up</strong>. Dice mi hermano que es de las pocas bandas -relativamente- nuevas que, manteniendo su estilo, puede hacer <em>blues</em>. Estoy de acuerdo, aparte de Dragonforce no conozco otra banda que toque en esa hermosa escala -y sin hacerlo a 10,000 notas por segundo.</p>
]]></content:encoded>
			<wfw:commentRss>http://juanbenavides.info/oidos-sordos-dedos-lastimados-y-bugs-de-wordpress/2010/01/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
