<?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>Adrian Catalan</title>
	<atom:link href="http://ykro.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://ykro.net</link>
	<description>Devaneos, divagaciones y pensamientos aleatorios</description>
	<lastBuildDate>Tue, 03 Aug 2010 05:30:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Se buscan patojas y patojos chispudos</title>
		<link>http://ykro.net/2010/08/02/se-buscan-patojas-y-patojos-chispudos/</link>
		<comments>http://ykro.net/2010/08/02/se-buscan-patojas-y-patojos-chispudos/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 05:30:24 +0000</pubDate>
		<dc:creator>ykro</dc:creator>
				<category><![CDATA[otros]]></category>

		<guid isPermaLink="false">http://ykro.net/?p=40</guid>
		<description><![CDATA[Al hueso, ¿cómo arreglamos Guatemala? pero, ¿qué queremos arreglar? si bien dicen que &#8220;si no esta roto no trates de arreglarlo&#8221; entonces partimos de que el país está roto, jodido, arruinado. Entonces, ¿cuándo se arruinó el país? llevamos años, décadas discutiendo eso y siempre llegamos a la conclusión que la culpa es de la gente [...]]]></description>
			<content:encoded><![CDATA[<p>Al hueso, ¿cómo arreglamos Guatemala? pero, ¿qué queremos arreglar? si bien dicen que &#8220;si no esta roto no trates de arreglarlo&#8221; entonces partimos de que el país está roto, jodido, arruinado. Entonces, ¿cuándo se arruinó el país? llevamos años, décadas discutiendo eso y siempre llegamos a la conclusión que la culpa es de la gente que nos gobierna. &#8220;Toda la culpa es de mi familia progresa, de Colom y su mujer&#8221; años atrás escuchaba que el conejo Berger nos vendió a la iniciativa privada y que el Pollo Ronco salió de pobre al ser presidente.</p>
<p>¿Acaso fue el golpe de estado de aquellos &#8220;oficiales jóvenes&#8221; que dejaron en el poder al &#8220;General&#8221; lo que nos hundió? ¿ó fueron las malas decisiones de Cerezo y el autogolpe de Serrano lo que nos condenó a lo que vivimos hoy? no nos alcanzaron las buenas intenciones de &#8220;huevos tibios&#8221; (QEPD) que se quedaron en eso, intenciones y ¿será que nos jodió mas la prepotencia del &#8220;mono de oro&#8221; Arzú?</p>
<p>Creo que después de un poco de tiempo empezamos a sospechar que el problema no es la gente que nos gobierna, somos nosotros, el pueblo de Guatemala, Guatemaltecos e invitados que habitamos esta bendita tierra. ¿Acaso nadie se da cuenta que la mayoría de chapines compartimos demasiados hábitos con la gente que criticamos y culpamos de nuestras desgracias?</p>
<p>Vivo y pertenezco a un país donde lo que vale es &#8220;ser el mas vivo&#8221;, donde se admira al que se enriquece de la noche a la mañana aun sabiendo que es con dinero ilícito, robado o del narcotráfico, donde los periódicos no se pueden vender en cajitas en las banquetas porque la gente paga uno y toma todos.</p>
<p>Aquí en Guatemala la gente se siente orgullosa de contar que se logra robar la señal de cable del vecino, aquí en mi país el jefe TIENE que bloquear el teléfono para que sus empleados no abusen sacando llamadas y es aquí donde para tributar nos prestamos/vendemos facturas e inventamos para no pagar o pagar menos y ¿qué mas da? si las empresas publicas y privadas son el lugar donde los empleados se llevan a su casa lapiceros, hojas y lo que haga falta, total si no me lo robo yo alguien mas se lo va a venir a robar.</p>
<p>La impuntualidad es un hábito, colarse en las filas para pasar antes, acelerar en amarillo y cruzarse en rojo es una costumbre &#8220;porque ya vamos tarde&#8221;, armamos un tercer carril donde solo hay espacio para dos y nos parqueamos en lugares reservados para minusválidos porque nadie lleva mas prisa que nosotros.</p>
<p>Clamamos por un país sin corrupción pero no nos pesa darle mordida a la PNC o a los de emetra para evitarnos una multa y comprar una licencia es tan fácil como conseguir unos tortrix con el de los chicles. Pedimos el cambio de alcalde pero seguimos tirando la basura en las calles y ya no nos queda nada de nuestra &#8220;tacita de plata&#8221;.</p>
<p>Los chapines aclamamos a nuestro futbol mediocre y no nos interesamos en nuestra historia, carecemos de una cultura de lectura, no tenemos memoria política o económica y terminamos repitiendo las consignas que cualquier sindicalista venga a decirnos.</p>
<p>Ya no nos sorprende encontrar cabezas humanas en distintos puntos de la capital y es cotidiano lo de las granadas en el transporte urbano, en este país donde los conflictos sociales están a la orden del día y aun no entendemos que dialogar no es obligar a otro a que acepte mis ideas.</p>
<p>Somos nosotros los que nos quedamos callados cuando el chofer del bus se pasa los altos y se detiene por nosotros donde no hay parada y cuando alguien hace algo bien decimos que parece ser extranjero, como que fuera mas meritorio por eso. Vivimos bajo la &#8220;ley del mas fuerte&#8221; y sabemos que nos urge hacer algo para parar la violencia pero ¿de qué sirve tener paz en las calles? si en los hogares es cotidiana la violencia contra la mujer.</p>
<p>¿Seguros qué la culpa es de nuestros gobernantes?</p>
<p>¿Cuántas veces se nos ha cruzado por la mente abandonar el país? ¿Cuántas veces hemos dicho &#8220;esto ya no lo salva nadie&#8221;? Todos decimos que cada día estamos mas fregados pero nadie mueve un dedo para mejorar las cosas.</p>
<p>Necesitamos esforzarnos más en salud y educación pero no servirá de nada si seguimos siendo &#8220;los mas vivos&#8221; porque nuestro país se hunde no de hoy ni de ayer si no que desde hace mucho por esa chispa chapina que nos caracteriza.</p>
<p>La materia prima de nuestro país no está bien, necesitamos cambiar y mejorar para ser la gente que necesita nuestra Guatemala. Porque el próximo que ocupe la silla presidencial por muy bueno o muy malo que sea no podrá cambiar nada si la materia prima sigue estando mal. No sirvió Berger ni sirvió Colom ni servirá nadie más, aquí falta otra cosa y no son marchas con un montón de gente vestida blanco, ni paros o cierres de carretera, ni gente dándole like a una pagina en facebook que dice &#8220;ya no mas asaltos en moto&#8221;, tampoco artículos en prensa o en un blog como este.</p>
<p>Ya no más alegrarnos por las desgracias de los otros, estamos tan sedientos de triunfo que celebramos a lo grande a Carlos Peña y todavía seguimos gritando el gol de Plata a Brasil de hace mas de 12 años.</p>
<p>Estoy harto de ver a los buenos Guatemaltecos sufriendo todos los días, viviendo con miedo, queriendo hacer algo pero sin saber que hacer. Los invito, busquemos al responsable pero no para darle un castigo si no que para exigirle que las cosas cambien. Mirémonos al espejo, no hay que buscar en otro lado porque vos y yo somos los que tenemos la culpa de que la cosa siga así porque lo permitimos y nada va a cambiar hasta que cambiemos nosotros. No tenemos que ser famosos por un agujero a media ciudad, tenemos que darnos a concoer al mundo por lo que vale la gente de aquí.</p>
<p>Lo que necesitamos es marcar la diferencia, vos y yo, en el día a día, la cosa tiene que empezar ya. No importa si es desde arriba o si desde abajo o si desde los lados pero tiene que ser ya.</p>
<p>y se me ocurre la mas loca de las ideas&#8230;¿por qué no marcamos el cambio? vos y yo</p>
<p>¿qué tal si le damos un alto a la mediocridad?</p>
<p>¿qué tal si de aquí en adelante comenzamos a llegar puntuales a nuestros compromisos?</p>
<p>¿qué tal si dejamos de sacarle la parentela al conductor de al lado y hacemos el intento de mejorar nuestros modales y conducta vial?</p>
<p>No importa si tenés algún credo o sos ateo por la gracias de Dios, por cualquier razón estás aquí y estamos compartiendo una tierra rica en recursos naturales, cubierta de un paisaje multicolor y rebozante de pluriculturalidad. No te invito a ninguna cruzada loca o a unirte a un grupo. Salí de tu área de confort y hacete la pregunta ¿cómo puedo mejorar hoy?</p>
<p>Yo creo que en Guate se puede vivir sobrio y cuerdo ¿y vos?</p>
<img src="http://ykro.net/?ak_action=api_record_view&id=40&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://ykro.net/2010/08/02/se-buscan-patojas-y-patojos-chispudos/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>CC3: Asignacion 1</title>
		<link>http://ykro.net/2010/01/28/cc3-asignacion-1/</link>
		<comments>http://ykro.net/2010/01/28/cc3-asignacion-1/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 16:16:37 +0000</pubDate>
		<dc:creator>ykro</dc:creator>
				<category><![CDATA[clases]]></category>
		<category><![CDATA[gamedev]]></category>

		<guid isPermaLink="false">http://ykro.net/?p=34</guid>
		<description><![CDATA[Ciencias de la computación III &#8211; Arquitectura de máquinas Proyecto I: Videojuegos en C Adrián Catalán - Etson Guerrero Propósito En este proyecto usted debe aplicar todos los conocimientos adquiridos durante la clase sobre el lenguaje C Algoritmos y estructuras de datos Desarrollo modular de aplicaciones Utilización de punteros Manejo y gestión eficiente de la memoria Videojuego [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Ciencias de la computación III &#8211; Arquitectura de máquinas</strong></p>
<h1>Proyecto I: Videojuegos en C</h1>
<address> <a href="mailto:ykro@galileo.edu">Adrián Catalán</a> - <a href="mailto:esgh@galileo.edu">Etson Guerrero</a><br />
</address>
<h3>Propósito</h3>
<p>En este proyecto usted debe aplicar todos los conocimientos adquiridos durante la clase sobre el lenguaje C</p>
<ul>
<li>Algoritmos y estructuras de datos</li>
<li>Desarrollo modular de aplicaciones</li>
<li>Utilización de punteros</li>
<li>Manejo y gestión eficiente de la memoria</li>
</ul>
<h3>Videojuego</h3>
<p>Debe desarrollar un videojuego utilizando el lenguaje C. Puede implementar el tipo de juego que desee. Por lo<br />
que la única límitante es su creatividad <img src='http://ykro.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  &#8230;¡Ahh si y el tiempo de desarrollo!&#8230; por lo que es muy importante<br />
que en la semana del 2 al 6 de febrero entreguen una propuesta de proyecto, conteniendo la siguiente información:</p>
<ul>
<li>Título del juego</li>
<li>Integrantes del grupo y nombre del grupo</li>
<li>Género del juego (RPG, FPS, RTS, MMOG, etc)</li>
<li>Descripción general del juego</li>
<li>Detalle de las pantallas</li>
<li>Descripción del gameplay</li>
<li>¿Qué diferencia a su juego de los demas?</li>
</ul>
<p>Este documento servirá para guiarles y evitar que al momento de compilar obtengamos el error &#8220;Creativity Overflow&#8221;<br />
debido a las limitaciones de tiempo que se tienen para el proyecto.</p>
<p>Adicional es permitido que utilice algunas de las librerías mas comunes<br />
para el desarrollo de videojuegos, tales como:</p>
<ul>
<li>Allegro (Lo recomendia el chef)</li>
<li>DirectX</li>
<li>OpenGL</li>
</ul>
<p>Las dos últimas son las librerías mas utilizadas comercialmente para el desarrollo de juegos en 3D. Lo mas recomendado es que utilicen<br />
Allegro, y si desean realizar su proyecto en 3D podrían experimentar con las librerías de Allegro/OpenGL. Recuerden que el objetivo del proyecto<br />
es la aplicación de los conceptos aprendidos del lenguaje C, y no del conocimiento de las librerías, las mismas son solo una herramienta<br />
para agilizar y facilitar su proyecto. Sin embargo mas adelante como proyecto extra del curso podemos continuar explorando la funcionalidad de estas<br />
librerías.</p>
<p>Se permite la utilización de clases de C++ para la ejecución de audio y video, etc.  NO se pueden utilizar<br />
estructuras de datos disponibles únicamente en ese lenguaje.</p>
<p>No se pueden utilizar frameworks, game engines o similares (Ejem. XNA, Torque, Ogre3D, Irrlicht, etc.) ya que estos contienen<br />
mucha funcionalidad implementada <img src='http://ykro.net/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> , por lo que desarrollar un juego ya no es tan divertido</p>
<h3>Evaluación</h3>
<p>Como requisito para la revisión presencial deberán entregar un CD o DVD con el proyecto completo, tanto<br />
código como la multimedia necesaria para la ejecución del programa.</p>
<p>Es importante que se concentren en que su juego funcione bien con los <em>features</em> básicos antes de iniciar cualquier parte de extras, no olviden<br />
lo importante que es la jugabilidad, traten de concentrarse en el funcionamiento del juego más que en conseguir imágenes <em>chileras</em> y perder<br />
mucho tiempo en esto.</p>
<p>¿Cómo puedo conseguir puntos extras?</p>
<p>Implementando features adicionales, por ejemplo:</p>
<ul>
<li>Integración para la ejecución de partes del juego con otras plataformas(xbox, psp, celular, etc)</li>
<li>Utilización de hardware adicional (webcams, wiimotes, bluetooth, etc.) *</li>
<li>Playback de video en su programa. ¡Es su propio juego! Graben y actuen a los personajes <img src='http://ykro.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </li>
<li>Opción para jugar en red. ¿Qué grupo será el primero en la historia de CCIII en implementar esto?</li>
<li>Nivel de dificultad e implementació de Inteligencia Artificial</li>
</ul>
<p>* Los gamepads y joysticks no son hardware adicional, ya que allegro provee dicha funcionalidad.</p>
<h3>Entrega</h3>
<p>La entrega se realizará a través del GES el día <strong>Viernes 26 de febrero del 2010</strong>, debe enviar un archivo llamado &lt;nombreProyecto&gt;.zip conteniendo<br />
<strong>todos</strong> los archivos necesarios para compilar y ejecutar su programa (Imágenes, librerías, archivos de audio y video,etc.). Si el archivo llega a ser muy grande, al menos<br />
debe entregar el código fuente.</p>
<img src="http://ykro.net/?ak_action=api_record_view&id=34&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://ykro.net/2010/01/28/cc3-asignacion-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SMS</title>
		<link>http://ykro.net/2009/08/27/sms/</link>
		<comments>http://ykro.net/2009/08/27/sms/#comments</comments>
		<pubDate>Thu, 27 Aug 2009 22:01:51 +0000</pubDate>
		<dc:creator>ykro</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[perl sms opensource linux ocr]]></category>

		<guid isPermaLink="false">http://ykro.net/?p=5</guid>
		<description><![CDATA[Hace un poco de tiempo, por alli en el 2003, vi un programa para enviar sms en Guatemala desarrollado por Oscar Bonilla y desde entonces he tratado de mantener el programa con pequeños cambios para que permanezca funcional. Desde aquel entonces han cambiado muchas cosas y tal vez una de las mas importantes es que [...]]]></description>
			<content:encoded><![CDATA[<p>Hace un poco de tiempo, por alli en el 2003, vi un programa para enviar <a href="http://home.galileo.edu/~obonilla/software/sms" target="_blank">sms</a> en Guatemala desarrollado por <a href="http://www.oscarbonilla.com/" target="_blank">Oscar Bonilla</a> y desde entonces he tratado de mantener el programa con pequeños cambios para que permanezca funcional. Desde aquel entonces han cambiado muchas cosas y tal vez una de las mas importantes es que agregaron un <a href="http://en.wikipedia.org/wiki/Captcha" target="_blank">CAPTCHA</a>, y tambien un manejo de sesiones y cookies. El codigo original estaba desarrollado en perl y decidi seguir asi durante buena parte del tiempo hasta hace poco que se me hizo una buena idea migrarlo a ruby y hacer un frontend web con <a href="http://rubyonrails.org/" target="_blank">rails</a>. El funcionamiento se basa en requisiciones POST y GET de <a href="http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol" target="_blank">HTTP</a> a las paginas de los operadores y para resolver lo de los CAPTCHA usamos un <a href="http://en.wikipedia.org/wiki/Optical_character_recognition" target="_blank">OCR</a>.</p>
<p><strong>Que necesitamos<br />
</strong></p>
<ul>
<li>Ruby (duh!), <a href="http://rubygems.org/">Ruby Gems</a> y la gema de <a href="http://mechanize.rubyforge.org/mechanize/" target="_blank">Mechanize</a>(para las requisiciones)</li>
<li><a href="http://www.gnu.org/software/ocrad/ocrad.html" target="_blank">Ocrad</a> (un ocr bueno, bonito y <span style="text-decoration: line-through;">barato</span> libre)</li>
<li><a href="http://www.imagemagick.org/" target="_blank">Imagemagick</a> (una herramienta para manipulacion de imagenes)</li>
</ul>
<p>Por ultimo, para determinar el carrier utilice los rangos publicados por la SIT para no molestar al usuario preguntando a que empresa pertenece el telefono. A continuacion el codigo del programa:</p>
<pre class="brush: ruby;">
#!/usr/bin/ruby
require 'rubygems'
require 'mechanize'

URLS = {
  &quot;claro&quot; =&gt; &quot;http://mensajes.claro.com.gt/mensaje.php&quot;,
  &quot;tigo&quot; =&gt; &quot;http://interactivo.mensajito.com/client.php&quot;,
  &quot;movistar&quot; =&gt;
    &quot;http://www.corporativo.telefonica.com.gt/EnviarSMSGT/faces/EnviarSMS.jsp&quot;
};

CONTENT = {
  &quot;claro&quot; =&gt; &quot;nombre=**smsSENDER**&amp;msg=**smsMESSAGE**&amp;telefono=**smsNUMBER**&quot;,
  &quot;tigo&quot; =&gt; &quot;orden=3&amp;**smsSESSIONID**&amp;nick=**smsSENDER**&amp;mensaje=**smsMESSAGE**&quot;,
  &quot;movistar&quot; =&gt; &quot;form1:edtDe=**smsSENDER**&amp;form1:edtMsj=**smsMESSAGE** form1:edtPara=**smsNUMBER**&amp;form1:edtDisp=**smsCOUNT**&amp;form1:btnEnviar=Enviar&amp;form1=form1&quot;
};

SUCCESS = {
  &quot;claro&quot; =&gt; &quot;Exitosamente&quot;,
  &quot;movistar&quot; =&gt; &quot;sido enviado&quot;,
  &quot;tigo&quot; =&gt; &quot;&quot;
};

def checkCarrier(smsNumber)
  movistar = [5020,5029,5070,5109,5140,5144,5210,5299,5312,5313,5390,5409,
                   5500,5509,5518,5519,5540,5542,5545,5549,5600,5609,5640,5689,
                   5790,5799,5915,5917];
  tigo = [5819,4000,4027,5000,5009,5030,5069,5150,5209,5300,5309,5314,5389,
            5521,5529,5550,5553,5580,5581,5700,5709,5719,5789,5800,5809,5880,
            5909,5918,5919,5990,5999];
  claro = [5010,5019,5110,5132,5310,5311,5410,5499,5510,5517,5530,5539,
              5543,5544,5554,5579,5582,5599,5610,5639,5690,5699,5710,5718,5810,
              5818,5820,5879,5910,5914,5920,5989];
  i = 0
  while i &lt; claro.length-1
   return &quot;claro&quot; if (smsNumber &gt;= claro[i] &amp;&amp; smsNumber &lt;= claro[i+1])
   i+=2;
  end
  i = 0
  while i &lt; movistar.length-1
   return &quot;movistar&quot; if (smsNumber &gt;= movistar[i] &amp;&amp; smsNumber &lt;= movistar[i+1])
   i+=2;
  end
  i = 1
  while i &lt; tigo.length-1
   return &quot;tigo&quot; if (smsNumber &gt;= tigo[i] &amp;&amp; smsNumber &lt;= tigo[i+1])
   i+=2;
  end
  return &quot;tigo&quot; if (smsNumber == tigo[0])
  &quot;error en el carrier&quot;
end

def sms (smsNumber, smsSender, smsMsg)
  smsCarrier = checkCarrier((smsNumber[0,4]).to_i)
  smsUrl = URLS[smsCarrier]
  smsContent = CONTENT[smsCarrier]
  smsSuccess = SUCCESS[smsCarrier]
  smsContent = smsContent.gsub(&quot;\*\*smsSENDER\*\*&quot;,smsSender);
  smsContent = smsContent.gsub(&quot;\*\*smsMESSAGE\*\*&quot;,smsMsg);
  smsContent = smsContent.gsub(&quot;\*\*smsNUMBER\*\*&quot;,smsNumber);

  if (smsCarrier.eql? &quot;movistar&quot;)
      smsLen = smsMsg.length + smsSender.length
      if (smsLen &gt; 120)
        maxMsgLen = 120 - smsSender;
        smsMsg = smsMsg[0,maxMsgLen]
        smsLen = 0;
      else
        smsLen = 120 -  smsLen;
      end
      smsContent = smsContent.gsub(&quot;\*\*smsCOUNT\*\*&quot;,smsLen.to_s)
  end

  if (smsCarrier.eql? &quot;claro&quot;)
    sesIdName = &quot;PHPSESSID&quot;
    sesId = &quot;(PHPSESSID=)([0-9a-zA-Z]+)&quot;
    smsCaptchaUrl = &quot;http://mensajes.claro.com.gt/captcha.php&quot;
    smsInitialUrl = &quot;http://mensajes.claro.com.gt/mensaje_claro.php&quot;
  elsif (smsCarrier.eql? &quot;movistar&quot;)
    smsInitialUrl = smsUrl
    sesIdName = &quot;JSESSIONID&quot;;
    sesId = &quot;(JSESSIONID=)([!-~]+)&quot;;
    smsCaptchaUrl = smsUrl + &quot;?vrClientId=form1:imageEx1&quot;;
  end

  smsRequest = WWW::Mechanize.new { |agent|
   agent.user_agent = 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3) Gecko/2008092510'
  }
  if ((smsCarrier.eql? &quot;claro&quot;) || (smsCarrier.eql? &quot;movistar&quot;))
    #hago un get inicial para obtener el session id
    smsResponse = smsRequest.get(smsInitialUrl)
    smsCookieJar = smsRequest.cookies()
    smsCookieJar.to_s.match(sesId)
    smsSessionId = $2

    #obtengo la imagen del captcha
    WWW::Mechanize::Cookie.parse(URI.parse(smsCaptchaUrl),
                  smsCookieJar.to_s, nil){
                     |c|
                     smsRequest.cookie_jar.add(URI.parse(smsCaptchaUrl), c)
                  }
    smsResponse = smsRequest.get(smsCaptchaUrl)
    smsCookieJar = smsRequest.cookies()
    File.open(&quot;c.gif&quot;, 'w') {
          |f| f.write(smsResponse.body)
                                 } if smsCarrier.eql? &quot;claro&quot;
    File.open(&quot;c.png&quot;, 'w') {
          |f| f.write(smsResponse.body)
                                } if smsCarrier.eql? &quot;movistar&quot;
    text = `convert -size 200x200 c.gif -resize 400x400 -negate c.gif;convert c.gif c.pbm;rm -rf c.gif` if smsCarrier.eql? &quot;claro&quot;
    text = `convert -size 200x200 c.png -resize 400x400 c.png;convert c.png c.pbm;rm -rf c.png` if smsCarrier.eql? &quot;movistar&quot;
    text = `ocrad c.pbm;`;

    #una serie de chapuces feos que a veces funcionan :p
    text = text.gsub(/( |\n)+/,&quot;&quot;)
    text = text.gsub(&quot;_&quot;,&quot;7&quot;)
    text = text.gsub(&quot;{&quot;,&quot;f&quot;)
    text = text.gsub(&quot;\|&quot;,&quot;l&quot;)
    smsContent = smsContent+&quot;&amp;tmptxt2=&quot;+text if smsCarrier.eql? &quot;claro&quot;
    smsContent = smsContent+&quot;&amp;form1:edtCodigo=&quot;+text if smsCarrier.eql? &quot;movistar&quot;

    query = {}
    smsContent.split(&quot;&amp;&quot;).each { |e| line = e.split(&quot;=&quot;)
                                     query[line[0]] = line [1] }

    WWW::Mechanize::Cookie.parse(URI.parse(smsUrl),
                  smsCookieJar.to_s, nil){
                     |c|
                     smsRequest.cookie_jar.add(URI.parse(smsUrl), c)
                  } 

    smsResponse = smsRequest.post(smsUrl,query)
    smsResult = 1 if smsResponse.body.match(smsSuccess)
  elsif (smsCarrier.eql? &quot;tigo&quot;)
    #abro la sesion (aqui viene el session_id
    smsNumber = &quot;502&quot; + smsNumber;
    smsRequestUrl = smsUrl+&quot;?orden=1&amp;nick=&quot;+smsSender+&quot;&amp;foo=&quot; + rand(30000).to_s
    smsResponse = smsRequest.get(smsRequestUrl)
    smsSessionId = smsResponse.body

    #agrego el telefono
    smsRequestUrl = smsUrl + &quot;?orden=2&amp;&quot; + smsSessionId
                            + &quot;&amp;nick=&quot; + smsSender + &quot;&amp;dstphone=&quot;
                            + smsNumber + &quot;&amp;foo=&quot;
                            + rand(30000).to_s + &quot;&amp;pin=512&quot;;
    smsResponse = smsRequest.get(smsRequestUrl)  

    #mando el mensaje
    smsContent = smsContent.gsub(&quot;\*\*smsSESSIONID\*\*&quot;,smsSessionId);
    smsRequestUrl = smsUrl + &quot;?&quot; + smsContent + &quot;&amp;foo=&quot; + rand(30000).to_s
    smsResponse = smsRequest.get(smsRequestUrl)

    #cierro la sesion
    smsRequestUrl = smsUrl + &quot;?orden=6&amp;&quot; + smsSessionId + &quot;&amp;foo=&quot;
                            + rand(30000).to_s
    smsResponse = smsRequest.get(smsRequestUrl)
    smsResult = 1
  end
end

#las variables numero,quienenvia,mensaje deben recibir un valor
msg = (sms(numero,quienenvia,mensaje).nil? &amp;amp;&amp;amp; &quot;Fallo&quot;) || &quot;Enviado&quot;
puts msg
</pre>
<img src="http://ykro.net/?ak_action=api_record_view&id=5&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://ykro.net/2009/08/27/sms/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>BizConf</title>
		<link>http://ykro.net/2009/06/12/bizconf/</link>
		<comments>http://ykro.net/2009/06/12/bizconf/#comments</comments>
		<pubDate>Fri, 12 Jun 2009 05:18:43 +0000</pubDate>
		<dc:creator>ykro</dc:creator>
				<category><![CDATA[bizconf]]></category>
		<category><![CDATA[conferencias]]></category>

		<guid isPermaLink="false">http://ykro.net/?p=14</guid>
		<description><![CDATA[I just wanna write some lines about a great upcoming event called BizConf. It&#8217;s a conference for leaders and entrepreneurs with specialist in many of the most importants fields for doing business today. There will be roundtable discussions, workshops and many other interesting things. It&#8217;s an event for startup founders, aspiring entrepreneurs, small software businesses, [...]]]></description>
			<content:encoded><![CDATA[<p>I just wanna write some lines about a great upcoming event called BizConf. It&#8217;s a conference for leaders and entrepreneurs with specialist in many of the most importants fields for doing business today. There will be roundtable discussions, workshops and many other interesting things. It&#8217;s an event for startup founders, aspiring entrepreneurs, small software businesses, independent consultant among many.</p>
<blockquote><p>&#8220;It&#8217;s for energetic, enthused folks who want to learn more about how to actually do business today&#8221;</p></blockquote>
<p>It will be a great experience for learning more in many different areas like sales, marketing, customer relations, and more. And because the event is in Florida (Amelia Island, Jacksonville) many of the attendees will spend some time vacationing. BizConf it’s from August 20-21.</p>
<p>I&#8217;m writing this blogspot hoping to be one of the lucky winners of the all expenses paid trip to BizConf (let&#8217;s cross fingers)</p>
<p><span class="status-body"><span class="entry-content">I wanna go to @<a href="http://twitter.com/BizConf">BizConf</a> </span></span> !!!</p>
<p>Bueno, para empezar a escribir un poco en el blog rapidamente quiero hablar (mas bien escribir :p) un poco de BizConf. Es una conferencia para lideres y emprendedores con presentadores especialistas en varias de las areas mas importantes de negocios. Van a haber mesas redondas, talleres y discusiones entre otras cosas. Principalmente esta orientado para aspirantes a emprendedores, pequeñas -medianas empresas de desarrollo de software o consultores independientes. La idea de la conferencia es aprender sobre temas importantes acerca de ventas, mercadeo, relaciones con los clientes, etc. Y dado que el evento es en Florida (Amelia Island, Jacksonville) muchos de los asistentes planean pasar tambien algunos dias de vacaciones. El evento se realizara el 20 y 21 de Agosto del 2009.</p>
<p>Esta entrada la escribo para ver si soy alguno de los afortunados ganadores de un viaje al BizConf (crucemos dedos)</p>
<p><a href="http://bit.ly/bizconf">http://bit.ly/bizconf</a></p>
<p class="MsoNormal"><a href="http://www.bizconf.org/">www.bizconf.org</a></p>
<img src="http://ykro.net/?ak_action=api_record_view&id=14&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://ykro.net/2009/06/12/bizconf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Felicidad</title>
		<link>http://ykro.net/2008/12/02/felicidad/</link>
		<comments>http://ykro.net/2008/12/02/felicidad/#comments</comments>
		<pubDate>Tue, 02 Dec 2008 05:48:49 +0000</pubDate>
		<dc:creator>ykro</dc:creator>
				<category><![CDATA[quotes]]></category>
		<category><![CDATA[quote happiness]]></category>

		<guid isPermaLink="false">http://ykro.net/?p=9</guid>
		<description><![CDATA[When I was 5 years old, my mom always told me that happiness was the key to life. When I went to school, they asked me what I wanted to be when I grew up. I wrote down “happy.” They told me I didn’t understand the assignment and I told them they didn’t understand life.]]></description>
			<content:encoded><![CDATA[<p>When I was 5 years old, my mom always told me that <strong>happiness was the key to life</strong>. When I went to school, they asked me what I wanted to be when I grew up. I wrote down “happy.” They told me I didn’t understand the assignment and I told them <strong>they didn’t understand life</strong>.</p>
<img src="http://ykro.net/?ak_action=api_record_view&id=9&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://ykro.net/2008/12/02/felicidad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blog de ykro@Elemental Geeks</title>
		<link>http://ykro.net/2008/11/22/hello-world/</link>
		<comments>http://ykro.net/2008/11/22/hello-world/#comments</comments>
		<pubDate>Sat, 22 Nov 2008 22:33:24 +0000</pubDate>
		<dc:creator>ykro</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ykro.net/?p=1</guid>
		<description><![CDATA[Bueno, un poco la idea de iniciar este blog es compartir a traves de un medio escrito el trabajo que estamos realizando en Elemental Geeks(vean el enlace para mas informacion). Muchas veces pasa que no encontramos forma de compartir el conocimiento, a veces es dificil realizar publicaciones sin embargo escribir en un blog es mucho [...]]]></description>
			<content:encoded><![CDATA[<p>Bueno, un poco la idea de iniciar este blog es compartir a traves de un medio escrito el trabajo que estamos realizando en <a href="http://www.elementalgeeks.com">Elemental Geeks</a>(vean el enlace para mas informacion). Muchas veces pasa que no encontramos forma de compartir el conocimiento, a veces es dificil realizar publicaciones sin embargo escribir en un blog es mucho mas facil. En este blog, encontraran articulos acerca de temas variados todos relacionados con tecnologia y especialmente con las distintas ramas de CS, en especial mis temas favoritos son Redes, Compiladores, Sistemas Operativos y Arquitectura de computadoras. Ademas, aqui tambien encontraran un poco de cual es el estatus de los proyectos trabajados por elemental geeks en los cuales estoy participando y que pensamos trabajar hacia el futuro.</p>
<img src="http://ykro.net/?ak_action=api_record_view&id=1&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://ykro.net/2008/11/22/hello-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
