<?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>Punksolid</title>
	<atom:link href="http://www.punksolid.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.punksolid.com</link>
	<description>Tecnologia, Curiosidades, Sistemas de Informacion y un poco de Religion</description>
	<lastBuildDate>Thu, 18 Aug 2011 13:06:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>De las Manifestaciones Méxicanas</title>
		<link>http://www.punksolid.com/de-las-manifestaciones-mexicanas/2011/</link>
		<comments>http://www.punksolid.com/de-las-manifestaciones-mexicanas/2011/#comments</comments>
		<pubDate>Thu, 18 Aug 2011 13:06:55 +0000</pubDate>
		<dc:creator>Punksolid</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Idealismo]]></category>
		<category><![CDATA[Mexico]]></category>
		<category><![CDATA[Narcotrafico]]></category>
		<category><![CDATA[Reflexion]]></category>
		<category><![CDATA[Sinaloa]]></category>
		<category><![CDATA[World Revolution]]></category>

		<guid isPermaLink="false">http://www.punksolid.com/?p=681</guid>
		<description><![CDATA[En México, nos han vendido que las manifestaciones son para atrasar a los demás, estorbos, un acto inútil, como mexicanos compramos la idea desde hace mucho, pocos se manifiestan. Lo curioso es que los inconformes son o somos muchos, ¿que pasa con eso que solo se quejan? ¿por que no dan el brinco a la [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignright" style="width: 206px"><img title="Anonymous" src="http://www.it-networks.org/wp-content/uploads/2011/01/anonymous.jpg" alt="" width="196" height="147" /><p class="wp-caption-text">Anonymous</p></div>
<p>En México, nos han vendido que las manifestaciones son para atrasar a los demás, estorbos, un acto inútil, como mexicanos compramos la idea desde hace mucho, pocos se manifiestan. Lo curioso es que los inconformes son o somos muchos, ¿que pasa con eso que solo se quejan? ¿por que no dan el brinco a la manifestación? a ¿que le temen?,</p>
<h3>De las posibles causas de la apatía</h3>
<p>Creo que uno de los problemas es que esperamos a sentirnos identificados con <strong>todos</strong> los aspectos de cualquier movimiento, algo sin duda muy difícil ya que no hay dos mentes iguales, debemos encontrar el punto en común y potenciarlo, así como mantener al movimiento lo mas objetivo posible, cosa también difícil por que siempre habrá grupos que querrán adueñarse de los movimientos y hacerlos a su manera con todo y atribuciones, tal como pasó con el movimiento de Javier Sicilia, que empezó al menos recuerdo, como una exigencia a las autoridades a hacer su labor, y actualmente pareciera ser una petición para sacar al ejercito de las calles, o como está pasando en las manifestaciones por la educación chilena, <a href="http://diarioelobservador.cl/255-Intendente_estudiantes_estan_sometidos_a_dictadura_de_minorias_violentistas">que grupos radicales actúan con violencia </a>para perseguir el mismo fin que miles o millones de chilenos pacifistas desean, obviamente el morbo vende y los medios muestran a mas vándalos con bombas molotov, <a href="http://www.lanacion.cl/masivo-cacerolazo-por-educacion-en-todo-chile/noticias/2011-08-09/213024.html">que a estudiantes con cacerolas y batakas.</a></p>
<p>Pero el principal motivo es el <strong>miedo</strong>, esa razón que solo existe en las mentes de las personas, que ha sido cultivada por años por los medios y el boca a boca, y es que no la tenemos tan fácil como las manifestaciones pacificas de los españoles por que sabemos que aquí armas sobran, el problema es que la gente de bien no tiene, ni quiere usarlas. Además de que tampoco conocemos al enemigo, ni siquiera lo hemos definido, mientras unos dicen que el enemigo es el narcotráfico, otros dicen que son los políticos, y así con la pelotita saltando entre ambos, como sociedad estamos confundidos de a quien agradecer y a quien ignorar, aunque por practicidad terminamos agradeciendo  y temiendo a ambos.</p>
<h3>Del dicho al hecho</h3>
<p>Como mencionaba, millones de mexicanos están inconformes, violencia y pobreza es lo que mas se escucha, ¿que hace falta? no creo que la policía mexicana sea mas civica que la española, pero aquí la policía no ha golpeado a decenas de manifestantes, y es claramente por que no necesitan dispersar a nadie, la misma sociedad ha mantenido el lema de que "somos el país en el que no pasa nada", no creo que el problema sea del país, es de nosotros, por clavarnos ese tipo de "ideas" como si fuesen teorías científicas.<br />
Para romper la inercia que nos ha mantenido en nuestro confort durante tantos años necesitamos:</p>
<ul>
<li>Mostrar a la sociedad que manifestarse es nuestro derecho y oportunidad de cambiar lo que no nos gusta.</li>
<li>Hacer a las manifestaciones atractivas.</li>
<li>Infundir miedo.</li>
</ul>
<p>La población ignora que tiene el poder, por que pocas veces hemos hecho valer nuestros derechos a manifestarnos de manera masiva, sumando en lugar de fragmentando, que eso, ojalá podamos ver mas hacia el exterior para aprender de países como Egipto que logró la dimisión de Hosni Mubarak (ver video abajo), ganándose incluso la simpatía del ejercito (al fin y al cabo también son humanos), tengo esperanza de que mi localidad haya aprendido algo de las pasadas elecciones, que  por primera vez en la historia se eligió a un político de otro partido. En cambio, las manifestaciones tradicionales son para pedir, y ya no estamos para esas gentilezas, lo que tenemos que hacer es exigir, y hacerlo de manera creativa, las huelgas de hambre ya son aburridas, necesitamos algo nuevo, y masivo, que se manifiesten artistas y ciudadanos, no sindicatos victimizados, no a todos les interesa ir a un lugar a hacerse las víctimas, pero si a casi todos nos gustan las fiestas, sonidos y colores. Si el miedo es un método de control, usemoslo!, infundamos miedo a la población explicándole que pasaría si no hacen nada, o que está pasando ya por su omisión, aprovechemoslo a nuestro favor con información verídica y enfocada, solo si el miedo que infundamos es mayor que el miedo que los mantiene inertes se logrará, al final  el primero de los miedos desaparece, si no hacemos nada el segundo permanece.<br />
<iframe src="http://www.youtube.com/embed/ThvBJMzmSZI" frameborder="0" width="560" height="345"></iframe></p>
<h3>Esperanza</h3>
<p>Todo es relativo y el futuro es incierto, posiblemente la ciudadanía esté en un estatus de confort, con miedo y hambre, pero agusto, muchos han aprendido a vivir así por años, ese confort al que me refiero es similar al que tienen los estadounidenses, que olvidan las guerras que tienen solo por que no quieren perder los privilegios en los que han nacido y crecido, por acá sucede igual, hemos vivido en un confort otorgado por el narcotráfico, ha desaparecido de nuestra visión la prepotencia y corrupción, no queremos verlas por que no queremos perderlas. Por eso tal vez las cosas no cambien, hasta que nos demos cuenta que lo hemos perdido todo.<br />
<iframe src="http://www.youtube.com/embed/x2xuSHdjZ00" frameborder="0" width="560" height="345"></iframe></p>
<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.punksolid.com/de-las-manifestaciones-mexicanas/2011/&via=Punksolid&text=De las Manifestaciones Méxicanas&related=José Palazuelos:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.punksolid.com/de-las-manifestaciones-mexicanas/2011/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Autocompletar con scriptaculous</title>
		<link>http://www.punksolid.com/autocompletar-con-scriptaculous/2011/</link>
		<comments>http://www.punksolid.com/autocompletar-con-scriptaculous/2011/#comments</comments>
		<pubDate>Tue, 16 Aug 2011 14:08:23 +0000</pubDate>
		<dc:creator>Punksolid</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[cakephp]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Prototype]]></category>
		<category><![CDATA[Scriptaculous]]></category>

		<guid isPermaLink="false">http://www.punksolid.com/?p=671</guid>
		<description><![CDATA[Lo que vamos a hacer es un cuadro search box como el google suggest, que a diferencia de este, no haremos una petición ajax al servidor ya que tendremos los valores precargados en una variable javascript, útil cuando los registros son pocos y estáticos. Reconozco que a estas alturas medio mundo usa jquery, pero como [...]]]></description>
			<content:encoded><![CDATA[<p>Lo que vamos a hacer es un cuadro search box como el google suggest, que a diferencia de este, no haremos una petición ajax al servidor ya que tendremos los valores precargados en una variable javascript, útil cuando los registros son pocos y estáticos.<br />
Reconozco que a estas alturas medio mundo usa jquery, pero como persona de escaso conocimiento en el área, para el propósito me sirvió prototype y scriptaculous.</p>
<p>Lo primero que tenemos que hacer es <a href="http://script.aculo.us/downloads" target="_blank">descargar scriptaculous</a>, y extraemos todos los js dentro de una carpeta javascripts.</p>
<p>El siguiente paso es crear el archivo css.css para darle un diseño bonito al recuadro de opciones que aparecerán conforme vayamos escribiendo, el código de css.css es</p>
<p>&nbsp;</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">div<span style="color: #6666ff;">.autocomplete</span> <span style="color: #00AA00;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">margin</span><span style="color: #00AA00;">:</span><span style="color: #933;">0px</span><span style="color: #00AA00;">;</span>
  <span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span><span style="color: #933;">0px</span><span style="color: #00AA00;">;</span>
  <span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">250px</span><span style="color: #00AA00;">;</span>
  <span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#fff</span><span style="color: #00AA00;">;</span>
  <span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span><span style="color: #933;">1px</span> <span style="color: #993333;">solid</span> <span style="color: #cc00cc;">#888</span><span style="color: #00AA00;">;</span>
  <span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span><span style="color: #993333;">absolute</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
div<span style="color: #6666ff;">.autocomplete</span> ul <span style="color: #00AA00;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">margin</span><span style="color: #00AA00;">:</span><span style="color: #933;">0px</span><span style="color: #00AA00;">;</span>
  <span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span><span style="color: #933;">0px</span><span style="color: #00AA00;">;</span>
  <span style="color: #000000; font-weight: bold;">list-style-type</span><span style="color: #00AA00;">:</span><span style="color: #993333;">none</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
div<span style="color: #6666ff;">.autocomplete</span> ul li<span style="color: #6666ff;">.selected</span> <span style="color: #00AA00;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#ffb</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
div<span style="color: #6666ff;">.autocomplete</span> ul li <span style="color: #00AA00;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">margin</span><span style="color: #00AA00;">:</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>
  <span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span><span style="color: #933;">2px</span><span style="color: #00AA00;">;</span>
  <span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span><span style="color: #933;">32px</span><span style="color: #00AA00;">;</span>
  <span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span><span style="color: #993333;">block</span><span style="color: #00AA00;">;</span>
  <span style="color: #000000; font-weight: bold;">list-style-type</span><span style="color: #00AA00;">:</span><span style="color: #993333;">none</span><span style="color: #00AA00;">;</span>
  <span style="color: #000000; font-weight: bold;">cursor</span><span style="color: #00AA00;">:</span><span style="color: #993333;">pointer</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>El tercer paso es crear el archivo autocompletar.html donde incluiremos los javascripts de prototype y scriptaculous, automáticamente se incluirán todas las dependencias.</p>
<p>&nbsp;</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">&lt;script type=&quot;text/javascript&quot; src=&quot;javascripts/prototype.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;javascripts/scriptaculous.js?load=effects,controls&quot;&gt;
&lt;/script&gt;
<span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;</span>
<span style="color: #003366; font-weight: bold;">var</span> bandsList <span style="color: #339933;">=</span> <span style="color: #009900;">&#91;</span>
  <span style="color: #3366CC;">'ABBA'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'AC/DC'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'Aerosmith'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'America'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'Bay City Rollers'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'Black Sabbath'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'Boston'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'David Bowie'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'Can'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'The Carpenters'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'Crass'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'Deep Purple'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'The Doobie Brothers'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'Eagles'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'Fleetwood Mac'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'Haciendo Punto en Otro Son'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'Heart'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'Iggy Pop and the Stooges'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'Journey'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'Judas Priest'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'KC and the Sunshine Band'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'Kiss'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'Kraftwerk'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'Led Zeppelin'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'Lindisfarne (band)'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'Lipps, Inc'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'Lynyrd Skynyrd'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'Pink Floyd'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'Queen'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'Ramones'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'REO Speedwagon'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'Rhythm Heritage'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'Rush'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'Sex Pistols'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'Slade'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'Steely Dan'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'Stillwater'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'Styx'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'Supertramp'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'Sweet'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'Three Dog Night'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'The Village People'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'Wings (fronted by former Beatle Paul McCartney)'</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'Yes'</span>
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;</span>
   window.<span style="color: #000066;">onload</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #003366; font-weight: bold;">new</span> Autocompleter.<span style="color: #660066;">Local</span><span style="color: #009900;">&#40;</span>
        <span style="color: #3366CC;">'bands_from_the_70s'</span><span style="color: #339933;">,</span>
        <span style="color: #3366CC;">'band_list'</span><span style="color: #339933;">,</span>
        bandsList<span style="color: #339933;">,</span>
        <span style="color: #009900;">&#123;</span>ignoreCase<span style="color: #339933;">:</span><span style="color: #003366; font-weight: bold;">false</span><span style="color: #009900;">&#125;</span>
      <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   <span style="color: #009900;">&#125;</span>
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span>
&lt;body&gt;
&lt;p&gt;
  &lt;label for=&quot;bands_from&quot;&gt;Your favorite rock  band from the 70's:&lt;/label&gt;
  &lt;br /&gt;
  &lt;input id=&quot;bands_from_the_70s&quot; autocomplete=&quot;off&quot; size=&quot;40&quot; type=&quot;text&quot; value=&quot;&quot; /&gt;
&lt;/p&gt;
&nbsp;
&lt;div class=&quot;autocomplete&quot; id=&quot;band_list&quot; style=&quot;display:none&quot;&gt;&lt;/div&gt;</pre></div></div>

<p>&nbsp;</p>
<p>Y listo ya con eso debemos tener un textbox con sugerencias.</p>
<p><strong>Enlaces</strong></p>
<p><a href="http://madrobby.github.com/scriptaculous/autocompleter-local/" target="_blank">Autocompleter.Local</a> para ver los parámetros aceptados.</p>
<p><a href="http://jonisalonen.com/2011/crazy-fast-ajax-search-suggest-in-cakephp-using-browser-cache/" target="_blank">Ajax search suggest with cakephp</a></p>
<p><a href="http://www.tutorialspoint.com/cgi-bin/practice.cgi?file=scriptaculous_51" target="_blank">Ejemplo simple autocomplete.local</a></p>
<h2></h2>
<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.punksolid.com/autocompletar-con-scriptaculous/2011/&via=Punksolid&text=Autocompletar con scriptaculous&related=José Palazuelos:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.punksolid.com/autocompletar-con-scriptaculous/2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Busquedas de filtros complejos en CakePHP</title>
		<link>http://www.punksolid.com/busquedas-de-filtros-complejos-en-cakephp/2011/</link>
		<comments>http://www.punksolid.com/busquedas-de-filtros-complejos-en-cakephp/2011/#comments</comments>
		<pubDate>Fri, 12 Aug 2011 11:57:44 +0000</pubDate>
		<dc:creator>Punksolid</dc:creator>
				<category><![CDATA[Aplicaciones]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[cakephp]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programas]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.punksolid.com/?p=644</guid>
		<description><![CDATA[Para comprender la situación mejor, necesitamos ver el screenshot de la vista. Hay varias formas de hacer esto, la mas común es usar la función query de CakePHP para armar la consulta SQL en base a condiciones by (@el_keogh) , está la función find, pero no se pueden poner condiciones dentro, así que lo que [...]]]></description>
			<content:encoded><![CDATA[<p>Para comprender la situación mejor, necesitamos ver el screenshot de la vista.</p>
<p><a href="http://www.punksolid.com/blog/wordpress/wp-content/uploads/2011/07/Selecci%C3%B3n_011.png"><img class="aligncenter size-full wp-image-660" title="Busqueda" src="http://www.punksolid.com/blog/wordpress/wp-content/uploads/2011/08/Selecci%C3%B3n_024.png" alt="" width="687" height="225" /></a></p>
<p>Hay varias formas de hacer esto, la mas común es usar la función query de CakePHP para armar la <a href="http://pastebin.com/XS1rMtr1" target="_blank">consulta SQL en base a condiciones</a> by (<a href="http://twitter.com/el_keogh" target="_blank">@el_keogh)</a> , está la función find, pero no se pueden poner condiciones dentro, así que lo que se puede hacer es armar el array conditions desde afuera de la siguiente forma:</p>
<p>&nbsp;</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> 
<span style="color: #666666; font-style: italic;">//Bloque #1 asignacion de variables para comodidad</span>
<span style="color: #000088;">$alumnoid</span><span style="color: #339933;">=</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'Examene'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'cuenta'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$user</span><span style="color: #339933;">=</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'Examene'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'user'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$fechaInicio</span><span style="color: #339933;">=</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'Examene'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'Fecha de Inicio'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$fechaFin</span><span style="color: #339933;">=</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'Examene'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'Fecha de Fin'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$formadepago</span><span style="color: #339933;">=</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'Examene'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'forma_de_pago'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$resultado</span><span style="color: #339933;">=</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'Examene'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'resultado'</span><span style="color: #009900;">&#93;</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: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//Bloque #2 Condiciones tabla Alumnos</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'Examene'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'nombre'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$conditions</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'Alumno.nombre LIKE'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #0000ff;">'%'</span><span style="color: #339933;">.</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'Examene'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'nombre'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'%'</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'Examene'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'apellido_paterno'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$conditions</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'Alumno.apellido_paterno LIKE'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #0000ff;">'%'</span><span style="color: #339933;">.</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'Examene'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'apellido_paterno'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'%'</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'Examene'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'apellido_materno'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$conditions</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'Alumno.apellido_materno LIKE'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #0000ff;">'%'</span><span style="color: #339933;">.</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'Examene'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'apellido_materno'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'%'</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #666666; font-style: italic;">//Bloque #3 Condiciones tabla Examenes</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$alumnoid</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$conditions</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'Examene.alumno_id'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #000088;">$alumnoid</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$user</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$conditions</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'Examene.user_id'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #000088;">$user</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #666666; font-style: italic;">//Bloque #4 Condiciones de intervalos de fecha</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fechaInicio</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$conditions</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'Examene.created &gt;'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$fechaInicio</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fechaFin</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$conditions</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'Examene.created &lt;='</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span><span style="color: #000088;">$fechaFin</span><span style="color: #339933;">.</span><span style="color: #0000ff;">' 23:59:59'</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$formadepago</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$conditions</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'Examene.forma_de_pago'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span><span style="color: #000088;">$formadepago</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$resultado</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$conditions</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'Examene.resultado'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span><span style="color: #000088;">$resultado</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #666666; font-style: italic;">//Bloque #5 query</span>
<span style="color: #000088;">$conditions</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'Examene.statusid &lt;&gt;'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">4</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$examenes</span><span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">paginate</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$conditions</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<h3>Bloque #1 asignación de variables</h3>
<p>En este caso se manejan dos tablas distintas de la base de datos, están relacionadas entre si, Alumnos y Examenes, utilicé asignación de variables para mas comodidad en su manejo, pero no son necesarias.</p>
<h3>Bloque #2 Condiciones de tabla Alumnos</h3>
<p>Las condiciones determinan cuando hay datos en los campos, si no hay datos, no hay condición que aplicar y nada que meter en el array, las primeras tres condiciones pertenecen a la tabla alumnos, de la cual se va a buscar por nombre NO exacto por eso los LIKE y la concatenación del símbolo de porcentaje. Para que esto funcione, las relaciones en el modelo deben estar previamente establecidas.</p>
<h3>Bloque #3 Condiciones de tabla Examenes</h3>
<p>En el segundo bloque ponemos las condiciones de la otra tabla, nada especial ya que los valores de esos campos deben ser exactos.</p>
<h3>Bloque #4 Condiciones de intervalos de fecha</h3>
<p>Para cuando tenemos intervalos de fechas y tenemos el formato en Datetime, es necesario concatenar la hora en la que termina el dia, si no lo hiciéramos contaría hasta la hora 00:00:00 no devolviéndonos los resultados del ultimo dia especificado.</p>
<h3>Bloque #5 Query</h3>
<p>La función paginate, se utiliza casi de la misma manera que un <a href="http://book.cakephp.org/view/1030/Complex-Find-Conditions" title="Complex Find Conditions" target="_blank">find</a> y listo automagicamente cakephp devolverá solo los exámenes de los campos donde se les haya especificado algun dato, notese que este tipo de búsqueda es de tipo AND, o sea cada campo va filtrando aun mas la búsqueda, en lugar de añadir nuevas coincidencias.</p>
<p>Cualquier duda o comentario es bienvenido.<br />
Referencias<br />
<a href="http://book.cakephp.org/view/1030/Complex-Find-Conditions" title="Documentación oficial cakephp" target="_blank">Complex Find Conditions</a><br />
<a href="http://book.cakephp.org/view/164/pagination" target="_blank">Pagination in cakephp</a></p>
<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.punksolid.com/busquedas-de-filtros-complejos-en-cakephp/2011/&via=Punksolid&text=Busquedas de filtros complejos en CakePHP&related=José Palazuelos:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.punksolid.com/busquedas-de-filtros-complejos-en-cakephp/2011/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Invitar a todos en facebook</title>
		<link>http://www.punksolid.com/invitar-a-todos-en-facebook/2011/</link>
		<comments>http://www.punksolid.com/invitar-a-todos-en-facebook/2011/#comments</comments>
		<pubDate>Sun, 31 Jul 2011 01:10:30 +0000</pubDate>
		<dc:creator>Punksolid</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[community manager]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[greasemonkey]]></category>
		<category><![CDATA[social media]]></category>
		<category><![CDATA[spam]]></category>
		<category><![CDATA[userscripts]]></category>

		<guid isPermaLink="false">http://www.punksolid.com/?p=648</guid>
		<description><![CDATA[Facebook constantemente cambia su arquitectura por innovación o para no poder enviar invitaciones masivas que podrían funcionar como spam, por eso aunque ya publiqué anteriormente como mandar invitaciones masivas, ya es obsoleto, y aquí explico una nueva forma de hacerlo para ello necesitamos 3 pasos: Instalar firefox, opcionalmente Google Chrome Instalar greasemonkey despues de reiniciar [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Facebook</strong> constantemente cambia su arquitectura por innovación o para no poder enviar invitaciones masivas que podrían funcionar como spam, por eso aunque ya publiqué anteriormente como <a title="Invitar a todos tus amigos de Facebook a un evento." href="http://www.punksolid.com/invitar-a-todos-tus-amigos-de-facebook-a-un-evento/2011/" target="_blank">mandar invitaciones masivas</a>, ya es obsoleto, y aquí explico una nueva forma de hacerlo para ello necesitamos 3 pasos:</p>
<blockquote>
<ol>
<li>Instalar firefox, opcionalmente Google Chrome</li>
<li>Instalar <a title="Greasemonkey para firefox" href="https://addons.mozilla.org/es-es/firefox/addon/greasemonkey/">greasemonkey</a> despues de reiniciar firefox.</li>
<li>Instalar el script que se instala sobre greasemonkey, eso se hace entrando a la pagina del script <a href="http://userscripts.org/scripts/show/89653">Facebook: InviteThemAll</a> y le damos en el botón install y seguimos las instrucciones.</li>
</ol>
</blockquote>
<p>&nbsp;</p>
<p><img class="alignleft size-full wp-image-653" title="Selección_018" src="http://www.punksolid.com/blog/wordpress/wp-content/uploads/2011/07/Selecci%C3%B3n_018.png" alt="" width="231" height="228" /> Ya para finalizar nos vamos a nuestra pagina de nuestro evento, presionamos seleccionar invitados del lado derecho</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Y para finalizar damos clic en el botón select all, esperamos unos segundos o minutos dependiendo de la computadora y el numero de amigos y hacemos clic en <strong>enviar</strong>.</p>
<p><img class="aligncenter size-full wp-image-652" title="Selección_016" src="http://www.punksolid.com/blog/wordpress/wp-content/uploads/2011/07/Selecci%C3%B3n_016.png" alt="" width="571" height="351" /></p>
<h3>Fuentes</h3>
<p><a href="https://addons.mozilla.org/es-es/firefox/addon/greasemonkey/" target="_blank">Extensión Greasemonkey para Firefox </a></p>
<p>Script para Greasemonkey | <a href="http://userscripts.org/scripts/show/89653" target="_blank">Facebook invite them all</a></p>
<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.punksolid.com/invitar-a-todos-en-facebook/2011/&via=Punksolid&text=Invitar a todos en facebook&related=José Palazuelos:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.punksolid.com/invitar-a-todos-en-facebook/2011/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Barcamp Culiacán 2011</title>
		<link>http://www.punksolid.com/barcamp-culiacan-2011/2011/</link>
		<comments>http://www.punksolid.com/barcamp-culiacan-2011/2011/#comments</comments>
		<pubDate>Wed, 22 Jun 2011 06:52:11 +0000</pubDate>
		<dc:creator>Punksolid</dc:creator>
				<category><![CDATA[Exposiciones]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[BarcampCLN]]></category>
		<category><![CDATA[culiacan]]></category>
		<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Mexico]]></category>
		<category><![CDATA[Sinaloa]]></category>
		<category><![CDATA[Tecnologia]]></category>

		<guid isPermaLink="false">http://www.punksolid.com/?p=639</guid>
		<description><![CDATA[&#160; Sinaloa es un estado que en los últimos años ha estado apostando por el desarrollo tecnológico, como en muchos otros lugares, hay el talento suficiente para desarrollar y aplicar tecnología. También hay empresas grandes en la entidad, como Coppel, Homex, Neoris entre otras que cuentan con grandes áreas de ingenieros en sistemas y afines. [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" title="Logo del Barcamp Culiacán" src="http://barcamp.org/f/logoBCC1.png" alt="Bonito logo del Barcamp Culiacán" width="330" height="100" /></p>
<p>&nbsp;</p>
<p>Sinaloa es un estado que en los últimos años ha estado apostando por el desarrollo tecnológico, como en muchos otros lugares, hay el talento suficiente para desarrollar y aplicar tecnología. También hay empresas grandes en la entidad, como Coppel, Homex, Neoris entre otras que cuentan con grandes áreas de ingenieros en sistemas y afines. Así mismo hay muchos estudiantes deseosos de aprender, autodidactas en su estado puro.</p>
<p>Todo eso es genial, y si podemos potenciarlo de alguna manera, puede ser algo que cambié el estado, actualmente creo que cada area está desconectada de otra, por ejemplo los jovenes aprendices no encuentran buenas referencias, las empresas no encuentran talentos, y los talentos no encuentran socios. Es por eso que creo que un evento como un Barcamp puede potenciar el desarrollo de todos.</p>
<p>Por eso varios organizadores hemos planeado #<strong>BarcampCLN</strong> que es el primer Barcamp que se llevará a cabo en la ciudad. Un barcamp tiene varias modalidades, entre ellos la forma de desconferencias que será la que utilizaremos en la primera edición. Una desconferencia es como una conferencia informal dada por los mismos asistentes, en un Barcamp no hay gurúes, solo participantes. Al inicio del ida habrá un pintarrón con los horarios para disponibles para dar las charlas, los asistentes escribirán su nombre para apartar el horario. No es necesario llevar diapositivas, pero contaremos con proyector si alguien desea utilizarlo.</p>
<p>Así que como apasionado de la tecnología, me complace invitarlos para compartir ideas, trucos, tips, o solo para hechar la platicada. Si se puede se me antoja dar una charla de desarrollo de aplicaciones nativas para Ubuntu, ¿'que tal?. =)</p>
<p>&nbsp;</p>
<p><img class="aligncenter" title="Poster #BarcampCLN Culiacán" src="http://s3.amazonaws.com/twitpic/photos/full/321281902.jpg?AWSAccessKeyId=AKIAJF3XCCKACR3QDMOA&amp;Expires=1308725336&amp;Signature=4gKDidd70hejwSh8%2Bi2OGQwHoJM%3D" alt="Poster #BarcampCLN Culiacán" width="518" height="800" /></p>
<p>P.D. Si planeas asistir y tienes twitter, ayudanos haciendo promocion en<a href="http://www.shoutatweet.com/share/agtzaG91dGF0d2VldHINCxIFVHdlZXQYg5cIDA" target="_blank"> shoutatweet</a>, si no tienes twitter, ayudanos pasando la voz, este evento es de todos, y cualquier promoción es necesaria.</p>
<p>P.D.2 El hashtag para conversar en twitter es #BarcampCLN.</p>
<h4>Enlaces</h4>
<p>Pagina principal de Barcamp Culiacan | <a href="http://www.barcampculiacan.com">http://www.barcampculiacan.com</a></p>
<p><a href="http://www.facebook.com/BarCampCln?ref=ts">Pagina oficial en facebook</a></p>
<p>Twitter | <a href="http://www.twitter.com/barcampcln">@BarcampCLN</a></p>
<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.punksolid.com/barcamp-culiacan-2011/2011/&via=Punksolid&text=Barcamp Culiacán 2011&related=José Palazuelos:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.punksolid.com/barcamp-culiacan-2011/2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>cakephp-instaweb</title>
		<link>http://www.punksolid.com/cakephp-instaweb/2011/</link>
		<comments>http://www.punksolid.com/cakephp-instaweb/2011/#comments</comments>
		<pubDate>Thu, 12 May 2011 08:12:43 +0000</pubDate>
		<dc:creator>Punksolid</dc:creator>
				<category><![CDATA[Aplicaciones]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[cakephp]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Ubuntu 10.10]]></category>
		<category><![CDATA[Ubuntu 11.04]]></category>

		<guid isPermaLink="false">http://www.punksolid.com/?p=636</guid>
		<description><![CDATA[cakephp-instaweb server es un webserver pequeño con todas las configuraciones necesarias para desarrollar en cakephp, no necesitas instalar todo el entorno php. Funciona igual al django-runserver, solo en la terminal te colocas en la carpeta de la aplicación, corres el comando y listo, tendrás tu app funcionando en http://localhost.com:3000 Si usas Ubuntu 10.10 y cakephp [...]]]></description>
			<content:encoded><![CDATA[<p><strong><img class="alignright" title="Cakephp" src="http://cakephp.org/img/new.png" alt="cakephp" width="134" height="132" />cakephp-instaweb</strong> server es un webserver pequeño con todas las configuraciones necesarias para desarrollar en cakephp, no necesitas instalar todo el entorno php. Funciona igual al django-runserver, solo en la terminal te colocas en la carpeta de la aplicación, corres el comando y listo, tendrás tu app funcionando en http://localhost.com:3000</p>
<p>Si usas Ubuntu 10.10 y cakephp 1.3.8 te marcará un error</p>
<blockquote>
<h3>CGI Script Error</h3>
<h3>Premature end of script headers.</h3>
</blockquote>
<p>Si instalaste cakephp-instaweb desde los repositorios de maverick se habrá instalado la versión 0.4.X, el error anterior se soluciona con la versión mas nueva 0.5-1 para instalarlo primero debes desinstalar completamente el cakephp-instaweb y luego <a href="https://launchpad.net/ubuntu/natty/amd64/cakephp-instaweb/0.5-1">descargar el .deb desde launchpad para Ubuntu Natty</a>, no causa conflicto alguno.</p>
<p>Con eso se habrá solucionado el problema.</p>
<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.punksolid.com/cakephp-instaweb/2011/&via=Punksolid&text=cakephp-instaweb&related=José Palazuelos:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.punksolid.com/cakephp-instaweb/2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Problema para bootear USB de Ubuntu 11.04 &#8216;Error setting up gfxboot&#8217;</title>
		<link>http://www.punksolid.com/problema-para-bootear-usb-de-ubuntu-11-04-error-setting-up-gfxboot/2011/</link>
		<comments>http://www.punksolid.com/problema-para-bootear-usb-de-ubuntu-11-04-error-setting-up-gfxboot/2011/#comments</comments>
		<pubDate>Sun, 08 May 2011 01:11:16 +0000</pubDate>
		<dc:creator>Punksolid</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Boot]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[Ubuntu 11.04]]></category>

		<guid isPermaLink="false">http://www.punksolid.com/?p=632</guid>
		<description><![CDATA[Al querer inicializar de un USB de Ubuntu 11.04 en algunas computadoras, principalmente netbooks toshiba, en mi caso la NB255 aparece el siguiente error: graphics initialization failed Error setting up gfxboot boot: Para continuar con la instalación basta con solo escribir 'help' y esperar unos segundos y todo continuar normalmente, es un bug bastante bobo [...]]]></description>
			<content:encoded><![CDATA[<p>Al querer inicializar de un USB de Ubuntu 11.04 en algunas computadoras, principalmente netbooks toshiba, en mi caso la NB255 aparece el siguiente error:</p>
<blockquote>
<h3>graphics initialization failed<br />
Error setting up gfxboot<br />
boot:</h3>
</blockquote>
<p>Para continuar con la instalación basta con solo escribir 'help' y esperar unos segundos y todo continuar normalmente, es un bug bastante bobo y sencillo de pasar.</p>
<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.punksolid.com/problema-para-bootear-usb-de-ubuntu-11-04-error-setting-up-gfxboot/2011/&via=Punksolid&text=Problema para bootear USB de Ubuntu 11.04 'Error setting up gfxboot'&related=José Palazuelos:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.punksolid.com/problema-para-bootear-usb-de-ubuntu-11-04-error-setting-up-gfxboot/2011/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Como imprimir en impresora (Miniprinter) desde Python en Linux</title>
		<link>http://www.punksolid.com/como-imprimir-en-impresora-miniprinter-desde-python-en-linux/2011/</link>
		<comments>http://www.punksolid.com/como-imprimir-en-impresora-miniprinter-desde-python-en-linux/2011/#comments</comments>
		<pubDate>Sat, 09 Apr 2011 22:08:43 +0000</pubDate>
		<dc:creator>Punksolid</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[Autotransportes]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.punksolid.com/?p=626</guid>
		<description><![CDATA[Como en muchas otras cosas, apenas soy un novato y hay muchas formas de hacer lo que expongo en el titulo, está podría no ser la mejor, pero es una de ellas y por supuesto gracias a @Jorgekbw3 que encontró la solución: Después de haber instalado la impresora en cuestión y haberla colocado como predeterminada [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignright" style="width: 310px"><img title="Via MrTopf" src="http://farm3.static.flickr.com/2202/2050489689_f986cb33f3.jpg" alt="" width="300" height="272" /><p class="wp-caption-text">Via MrTopf</p></div>
<p>Como en muchas otras cosas, apenas soy un novato y hay muchas formas de hacer lo que expongo en el titulo, está podría no ser la mejor, pero es una de ellas y por supuesto gracias a <a href="http://twitter.com/jorgekbw3" target="_blank">@Jorgekbw3</a> que encontró la solución:</p>
<p>Después de haber instalado la impresora en cuestión y haberla colocado como predeterminada con el administrador de impresoras, ya debe ser accesible a impresión con el comando</p>
<blockquote><p>lp texto.txt</p></blockquote>
<p>Bajo ese principio accesaremos al sistema desde python con</p>
<blockquote><p>import os</p></blockquote>
<blockquote><p>printer=os.popen('lpr','w')</p></blockquote>
<blockquote><p>printer.write('texto')</p></blockquote>
<blockquote><p>printer.close()</p></blockquote>
<p>Y eso es todo.</p>
<p>Probado con Ubuntu 10.10, Python 2.6 y Miniprinter Epson TM-T88V</p>
<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.punksolid.com/como-imprimir-en-impresora-miniprinter-desde-python-en-linux/2011/&via=Punksolid&text=Como imprimir en impresora (Miniprinter) desde Python en Linux&related=José Palazuelos:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.punksolid.com/como-imprimir-en-impresora-miniprinter-desde-python-en-linux/2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Invitar a todos tus amigos de Facebook a un evento.</title>
		<link>http://www.punksolid.com/invitar-a-todos-tus-amigos-de-facebook-a-un-evento/2011/</link>
		<comments>http://www.punksolid.com/invitar-a-todos-tus-amigos-de-facebook-a-un-evento/2011/#comments</comments>
		<pubDate>Tue, 05 Apr 2011 04:17:04 +0000</pubDate>
		<dc:creator>Punksolid</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Redes Sociales]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.punksolid.com/?p=622</guid>
		<description><![CDATA[Actualización: Para la fecha 30 de julio de 2011 este método ya no funciona. Pase a ver, Invitar a todos en facebook En internet está plagado de instrucciones para hacerlo, pero como facebook cambia constantemente su funcionamiento, dichas instrucciones dejan de funcionar, está manera recién la probé con éxito sobre Firefox 4. 1. Nos ponemos [...]]]></description>
			<content:encoded><![CDATA[<h3><strong>Actualización</strong>: Para la fecha 30 de julio de 2011 este método ya no funciona. Pase a ver, <a href="http://t.co/dmyJUfF">Invitar a todos en facebook</a></h3>
<p>En internet está plagado de instrucciones para hacerlo, pero como facebook cambia constantemente su funcionamiento, dichas instrucciones dejan de funcionar, está manera recién la probé con éxito sobre Firefox 4.</p>
<p>1. Nos ponemos en la pagina del evento.</p>
<p>2. Seleccionamos el botón de seleccionar invitados de la parque izquierda.</p>
<p>3. En la barra de direcciones donde está la URL, copiamos y pegamos lo siguiente:</p>
<blockquote><p><em>javascript:var elms=document.getElementsByName("checkableitems[]");for(var count=0;count&lt;elms.length;count++){var t = setTimeout("elms["+count+"].click()",100)}</em></p></blockquote>
<p>Luego esperamos unos segundos o minutos según la velocidad de la computadora y el numero de amigos, y damos clic en enviar invitaciones.<em><strong></strong></em></p>
<p><em><strong>Fuente | </strong></em><a href="http://inavegar.es/general/invitar-a-todos-tus-amigos-a-un-evento-nueva-forma">Invitar a todos tus amigos a un evento en Facebook (Nueva forma)</a></p>
<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.punksolid.com/invitar-a-todos-tus-amigos-de-facebook-a-un-evento/2011/&via=Punksolid&text=Invitar a todos tus amigos de Facebook a un evento.&related=José Palazuelos:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.punksolid.com/invitar-a-todos-tus-amigos-de-facebook-a-un-evento/2011/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Ninite Easy PC Setup &#8211; Silent Unattended Install Multiple Programs At Once</title>
		<link>http://www.punksolid.com/ninite-easy-pc-setup-silent-unattended-install-multiple-programs-at-once/2011/</link>
		<comments>http://www.punksolid.com/ninite-easy-pc-setup-silent-unattended-install-multiple-programs-at-once/2011/#comments</comments>
		<pubDate>Fri, 11 Feb 2011 11:17:09 +0000</pubDate>
		<dc:creator>Punksolid</dc:creator>
				<category><![CDATA[Aplicaciones]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[Ninite]]></category>
		<category><![CDATA[Seguridad Informatica]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.punksolid.com/?p=617</guid>
		<description><![CDATA[Como cualquier informatico o afín, no importa si eres un sysadmin, o tecnico o simplemente un Pringao (Howto) siempre es incomodo que una vez que instalas un windows tienes que descargarte las aplicaciones comunes una por una, al menos que ya las tengas almacenadas, lo cual también es incomodo por que tienes espacio alojado por aplicaciones que se [...]]]></description>
			<content:encoded><![CDATA[<p>Como cualquier informatico o afín, no importa si eres un sysadmin, o tecnico o simplemente un <a href="http://www.sromero.org/wiki/linux/sistema/pringao_howto">Pringao (Howto)</a> siempre es incomodo que una vez que instalas un windows tienes que descargarte las aplicaciones comunes una por una, al menos que ya las tengas almacenadas, lo cual también es incomodo por que tienes espacio alojado por aplicaciones que se descargan rápidamente. En fin, existen programas como Ninite, que seleccionas las aplicaciones que deseas y te genera el instalador que automáticamente te descarga e instala las aplicaciones sin necesidad de que el usuario vea configuraciones avanzadas, ideal para enviar por mensajería o usarlo de manera desatendida.</p>
<blockquote><p><a href="http://ninite.com/">Ninite Easy PC Setup - Silent Unattended Install Multiple Programs At Once</a>.</p></blockquote>
<p>Funcionó perfecto cuando lo probé, si conoces una aplicacion similar para windows o linux te lo agradeceria me dijeras en los comentarios.</p>
<div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.punksolid.com/ninite-easy-pc-setup-silent-unattended-install-multiple-programs-at-once/2011/&via=Punksolid&text=Ninite Easy PC Setup - Silent Unattended Install Multiple Programs At Once&related=José Palazuelos:&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.punksolid.com/ninite-easy-pc-setup-silent-unattended-install-multiple-programs-at-once/2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

