<?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>Reymundo Lopez &#187; Programación</title>
	<atom:link href="http://reymundolopez.com/category/programacion/feed/" rel="self" type="application/rss+xml" />
	<link>http://reymundolopez.com</link>
	<description>Dev en caos!</description>
	<lastBuildDate>Fri, 03 Feb 2012 22:27:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Música para desarrollar</title>
		<link>http://reymundolopez.com/2012/02/musica-para-desarrollar/</link>
		<comments>http://reymundolopez.com/2012/02/musica-para-desarrollar/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 22:27:40 +0000</pubDate>
		<dc:creator>Reymundo López</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Música]]></category>

		<guid isPermaLink="false">http://reymundolopez.com/?p=788</guid>
		<description><![CDATA[Los desarrolladores de software vivimos conectados toda la vida a dos cosas, internet y a nuestros audífonos, por lo general le damos la vuelta a nuestras bibliotecas musicales unas 100 veces en un periodo de un año, así que facilmente &#8230; <a href="http://reymundolopez.com/2012/02/musica-para-desarrollar/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Los desarrolladores de software vivimos conectados toda la vida a dos cosas, internet y a nuestros audífonos, por lo general le damos la vuelta a nuestras bibliotecas musicales unas 100 veces en un periodo de un año, así que facilmente nos aburrimos de la misma música.</p>
<p>Además no podemos escuchar cualquier música, ya que si hay demasiadas voces tiendes a distraerte, tu cerebro lo hace inconscientemente, para eso es mejor tener música clásica, ciertos soundtracks o música electronica/tecno.</p>
<p>Hace poco acabo de descubrir a <a title="DJ Bolivia" href="http://djbolivia.blogspot.com/" target="_blank">DJ Bolivia</a> y con uno de sus tracks pude trabajar sin parar durante varias horas, sin distracciones y con una productividad bastante buena, así que es mejor si les doy un listado de sus mixes y un pequeño extra para hacer cosas heroicas sacadas de una lista de Reddit.</p>
<p>Music to code by DJ Bolivia:</p>
<ul>
<li><a title="Music to code volumes 1 - 3" href="http://djbolivia.blogspot.com/2011/04/music-to-code-by-volumes-1-3.html" target="_blank">Volumen 1-3</a>, tracks directos en mp3 : <a href="http://www.chma.fm/DJ_Bolivia_-_I_Never_Expected_This.mp3" target="_blank">1</a>, <a href="http://www.chma.fm/DJ_Bolivia_-_Memory_Leak.mp3" target="_blank">2</a> y <a href="http://www.chma.fm/DJ_Bolivia_-_Exception_Handler.mp3" target="_blank">3</a></li>
<li><a title="Music to code volumes 4 - 6" href="http://djbolivia.blogspot.com/2011/04/music-to-code-by-volumes-4-6.html" target="_blank">Volumen 4-5</a>, tracks directos en mp3 : <a href="http://www.chma.fm/DJ_Bolivia_-_Partisan_Scream_Fest.mp3" target="_blank">4</a>, <a href="http://www.chma.fm/DJ_Bolivia_-_Hunt_The_Wumpus.mp3" target="_blank">5</a> y <a href="http://www.chma.fm/DJ_Bolivia_-_Dancing_Baloney.mp3" target="_blank">6</a></li>
<li><a title="Reddit on Grooveshark" href="http://grooveshark.com/playlist/Reddit/33595185" target="_blank">Lista de Reddit</a> en Grooveshark</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://reymundolopez.com/2012/02/musica-para-desarrollar/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
<enclosure url="http://www.chma.fm/DJ_Bolivia_-_Hunt_The_Wumpus.mp3" length="155112013" type="audio/mpeg" />
<enclosure url="http://www.chma.fm/DJ_Bolivia_-_Dancing_Baloney.mp3" length="154193672" type="audio/mpeg" />
<enclosure url="http://www.chma.fm/DJ_Bolivia_-_Memory_Leak.mp3" length="154910568" type="audio/mpeg" />
<enclosure url="http://www.chma.fm/DJ_Bolivia_-_Partisan_Scream_Fest.mp3" length="146136105" type="audio/mpeg" />
<enclosure url="http://www.chma.fm/DJ_Bolivia_-_Exception_Handler.mp3" length="144152776" type="audio/mpeg" />
<enclosure url="http://www.chma.fm/DJ_Bolivia_-_I_Never_Expected_This.mp3" length="156004052" type="audio/mpeg" />
		</item>
		<item>
		<title>Y así es como trabajé este año</title>
		<link>http://reymundolopez.com/2011/12/y-asi-es-como-trabaje-este-ano/</link>
		<comments>http://reymundolopez.com/2011/12/y-asi-es-como-trabaje-este-ano/#comments</comments>
		<pubDate>Mon, 26 Dec 2011 15:25:07 +0000</pubDate>
		<dc:creator>Reymundo López</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://reymundolopez.com/?p=774</guid>
		<description><![CDATA[Y se fue otro año más, pero para no escribir el típico post de propósitos no-cumplidos y que pasarán a la lista de &#8220;ahora si voy a hacer ejercicio este año, pero de verdad lo haré!&#8221; voy a cambiar un poco y &#8230; <a href="http://reymundolopez.com/2011/12/y-asi-es-como-trabaje-este-ano/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Y se fue otro año más, pero para no escribir el típico post de propósitos no-cumplidos y que pasarán a la lista de &#8220;ahora si voy a hacer ejercicio este año, pero de verdad lo haré!&#8221; voy a cambiar un poco y mejor mencionaré que herramientas se convirtieron en indispensables para mi trabajo diario.</p>
<p>Ha sido un año muy interesante, nuevos proyectos nuevas herramientas y sobre todo mucho aprendizaje, ahora sí la lista sin un orden especial:</p>
<ul>
<li><strong><a title="iTerm2" href="http://www.iterm2.com/">iTerm2</a></strong> &#8211; Remplazo de terminal, dado que ahora mantengo 3 servidores linux esta herramienta es la que más uso día a día, me permite acceso SSH y la posibilidad de usar VIM tanto en el servidor como en mi local, tiene muy buenas paletas de colores y lo que más me encanta la opción de dividir la pantalla en multiples ventanas, así que usualmente verán mi pantalla de esta manera: <a href="http://reymundolopez.com/wp-content/uploads/2011/12/Screen-Shot-2011-12-26-at-8.56.16-AM.png"><img class="alignnone size-medium wp-image-775" title="iTerm2 dividido" src="http://reymundolopez.com/wp-content/uploads/2011/12/Screen-Shot-2011-12-26-at-8.56.16-AM-300x173.png" alt="iTerm2 dividido" width="300" height="173" /></a></li>
<li><strong><a title="Sparrow Mail App" href="http://sparrowmailapp.com/">Sparrow</a></strong> &#8211; El mejor cliente de email para Mac que conozco, simplemente lo mejor, la forma de organizar las conversaciones al estilo Gmail, los shortcuts y la excelente interfaz lo hacen mi cliente preferido (yo profesaba el amor por el uso de una interfaz web, pero Sparrow me ganó).</li>
<li><strong><a title="Xcode" href="http://developer.apple.com/xcode/">Xcode</a></strong> &#8211; Estoy haciendo algunas aplicaciones para iOS así que este editor esta abierto una buena parte del día en mi maquina, el storyboard y las mejoras en la version 4.2.1 son una delicia.</li>
<li><strong><a title="PHPStorm" href="http://www.jetbrains.com/phpstorm/">PHPStorm</a></strong> &#8211; Dado que aún hago bastante PHP en Babker, mi editor preferido es este, muchos shortcuts, configuración de plantillas, refactoring e integración con SVN.</li>
<li><strong><a title="Sublime Text 2" href="http://www.sublimetext.com/2">SublimeText 2</a></strong> &#8211; Otro editor, dado que aún no me puedo acostumbrar al 100% a usar vim, este editor se ha convertido muchas veces en el remplazo de phpStorm, la simplicidad, el agrupamiento de carpetas para el proyecto y el remplazar palabras dado el enfoque, hacen de este un must.</li>
<li><strong><a title="Evernote" href="http://www.evernote.com/">Evernote</a></strong> &#8211; No se por que pero me resistía a probar este servicio, supongo que era por que no le veía la suficiente utilidad pero eso cambio ahora que lo uso como herramienta de notas y GTD.</li>
<li><strong><a title="VMWare Fusion" href="http://www.vmware.com/products/fusion/overview.html">VMWare Fusion</a></strong> &#8211; Maquinas virtuales por todos lados, Linux, Windows y Mac, solo necesito un SSD y el probar en multiples plataformas será pan comido.</li>
<li><strong><a title="Nginx" href="http://nginx.org/">Nginx</a></strong> &#8211; Servidor web y proxy, este año cambié el servidor web de Apache por Nginx y el cambio fue asombroso, la escalabilidad y el alto performance, piece of cake.</li>
<li><strong><a title="Flu.x" href="http://stereopsis.com/flux/">Flux</a></strong> &#8211; Si haz estado en la computadora en la noche/madrugada y luego te lloran los ojos, esta app es para tí, ajusta el color a uno más cálido conforme avanza el día, para que así tus ojos no se cansen.</li>
<li>Adium, MonoDevelop, MacFuse, NaviCat, Lion, Balsamiq Mockups y GitHub (la app) son mención especial dado que si los uso pero algunos ya lo hacia desde antes o no lo hago con tanta frecuencia.</li>
</ul>
<p>Este año hubo nuevos proyectos y cambios, lo más notable es el cambio que poco a poco estoy haciendo a Objective-C, me encanta este lenguaje y las plataformas donde se puede usar, posiblemente me pase a tiempo completo como iOS/Mac developer pero aún no lo sé.</p>
<p>Estas son las herramientas que este año utilice en el día a día, son las que mejor resultado me han dado y las que hacen que realizar las tareas sea algo delicioso, en una semana o tal ves 2 publicaré un nuevo post con algunas sorpresas y proyectos que verán luz este 2012.</p>
<p>¿Y para tí, cuáles fueron esas Apps que te hicieron grande este 2011?</p>
]]></content:encoded>
			<wfw:commentRss>http://reymundolopez.com/2011/12/y-asi-es-como-trabaje-este-ano/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>¿Por qué trabajar largas horas realmente no funciona?</title>
		<link>http://reymundolopez.com/2011/09/%c2%bfpor-que-trabajar-largas-horas-realmente-no-funciona/</link>
		<comments>http://reymundolopez.com/2011/09/%c2%bfpor-que-trabajar-largas-horas-realmente-no-funciona/#comments</comments>
		<pubDate>Thu, 01 Sep 2011 21:54:27 +0000</pubDate>
		<dc:creator>Reymundo López</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Talk about]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://reymundolopez.com/?p=747</guid>
		<description><![CDATA[Si existe algo en la mentalidad de los empresarios de edad avanzada y muchos jóvenes también es que toda persona que no realice un cargo de gerencia es un simple obrero y debería trabajar 8 horas continuas sin descanso e &#8230; <a href="http://reymundolopez.com/2011/09/%c2%bfpor-que-trabajar-largas-horas-realmente-no-funciona/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Si existe algo en la mentalidad de los empresarios de edad avanzada y muchos jóvenes también es que toda persona que no realice un cargo de gerencia es un simple obrero y debería trabajar 8 horas continuas sin descanso e incluso más si es necesario por periodos largos de tiempo.</p>
<p>En el caso de los desarrolladores, diseñadores y demás personas que trabajan creando ideas o resolviendo problemas, es una regla que no es aplicable y lo que es peor, es la razón por la cuál las personas bajan su productividad y calidad en el trabajo.</p>
<p>Veamos, ¿En que momento del día es cuando se te ocurre esa maravillosa idea que resolvera aquel problema complicado que tienes asignado?, ¿a las 9am cuando prendes tu computadora para trabajar?, ¿después de esa reunión que te quito 1 hora de tu valioso tiempo?, ¿durante alguna de las 8 horas que trabajas?.</p>
<p>La realidad es que solo un pequeño porcentaje de esas ideas ocurren mientras estas en el trabajo, todas las otras ocurren mientras estas con tu familia, el en gimnasio, en el parque, en el transporte, en el baño, etc&#8230;, lo cierto es que todas ocurren mientras no estas obligado a sentarte y cumplir un horario, sino cuando tu cerebro se relaja y permite que el lado creativo fluya.</p>
<p>No solo yo digo esto, Jason Fried fundador de 37signals (son los que tienen BaseCamp, FireCamp y una serie de soluciones para manejar proyectos bastante exitosos) lo dice en su charla en el TED:</p>
<p><a href="http://www.youtube.com/watch?v=6N6XU1xoN38">http://www.youtube.com/watch?v=6N6XU1xoN38</a></p>
<p>Tengo una rutina bastante curiosa, al menos 3 días a la semana me levanto a las 5am a codificar algo, puede ser un proyecto para algún cliente, un proyecto propio o la misma tesis, me levanto lo más temprano posible, a la hora en que nadie se encuentra despierto y las distracciones son mínimas, voy por un vaso de agua o leche, enciendo mi monitor externo y las ideas comienzan a fluir.</p>
<p>En ocasiones problemas en los que he estado atascado por más de 4 horas los resuelvo en 20 minutos a esa hora de la mañana, simplemente funciono mejor en ese momento. No solo eso, cuando me siento a codificar los fines de semana pasa lo mismo, al no tener una presión de horarios ni distracción por parte de otros compañeros de trabajo puedo comenzar a las 10am y perderme hasta que dan las 4pm en una concentración que definitivamente es casi imposible en el trabajo.</p>
<p>Ahora regresando al tema, desgastar a los profesionistas haciendo que trabajen horas extras por periodos largos de tiempo es simplemente estúpido, dado que es como sobre calentar el motor de un vehículo, simplemente deja de funcionar y se quema debido a que se fuerza más allá de sus limites. Lo mismo pasa con el cerebro de estas personas, entran en un estado en donde lo único que hacen es sentarse y buscar la mejor manera de distraerse o de pasar el tiempo, ¿por qué?, por que sus cerebros están agotados y no piensan más, piden descanso y distracción, el cuerpo humano así esta diseñado.</p>
<p>Cuando trabajo a mi ritmo, en los lugares donde puedo ser creativo y sin presiones o distracciones soy un 200% más productivo, termino las cosas más rapido, mejor y aún con un extra que de otra forma no lo daría, ¿no lo crees?, intenta darles un respiro a tus profesionistas, deja que la creatividad fluya en su cerebro al no encajonarlos y dales libertad, ¿sabes que es lo que ocurrirá?, serán felices, la felicidad dopara su cerebro y comenzará a crear ideas y soluciones, esas soluciones se volverán tangibles con su esfuerzo y gracias a eso la empresa mejorará de una manera como nunca antes, para los viejos eso significa mucho más dinero. ¿Qué pasa si no lo hago?, nada, solo preparate para tener un buen departamento de Recursos Humanos por la alta rotación de personal y la poca calidad del trabajo que se entregará.</p>
]]></content:encoded>
			<wfw:commentRss>http://reymundolopez.com/2011/09/%c2%bfpor-que-trabajar-largas-horas-realmente-no-funciona/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>De tecnologías, herramientas y otras cosas</title>
		<link>http://reymundolopez.com/2011/02/de-tecnologias-herramientas-y-otras-cosas/</link>
		<comments>http://reymundolopez.com/2011/02/de-tecnologias-herramientas-y-otras-cosas/#comments</comments>
		<pubDate>Mon, 14 Feb 2011 01:53:16 +0000</pubDate>
		<dc:creator>Reymundo López</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Talk about]]></category>
		<category><![CDATA[Opinion Web]]></category>

		<guid isPermaLink="false">http://reymundolopez.com/?p=707</guid>
		<description><![CDATA[Hace un tiempo ya, mientras estaba tomando un café dentro de un Starbucks y pasaba un sitio de .NET a Mono (vaya cosa no es complicado ja!), un conocido al que tenía bastante sin ver llego y comenzamos a charlar, &#8230; <a href="http://reymundolopez.com/2011/02/de-tecnologias-herramientas-y-otras-cosas/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Hace un tiempo ya, mientras estaba tomando un café dentro de un Starbucks y pasaba un sitio de .NET a Mono (vaya cosa no es complicado ja!), un conocido al que tenía bastante sin ver llego y comenzamos a charlar, todo iba perfectamente bien en ponerlos al día en que haciamos en esos momentos hasta que noto un detalle, yo estaba usando una MacBook Pro en lugar de la XPS Dell que tenía anteriormente.</p>
<p>La charla se fue a algo como esto:</p>
<blockquote><p>El &#8211; ¿Y por qué es que dejaste Windows?, aquí (León) nadie paga por desarrollos que no sean en .NET</p>
<p>Yo &#8211; Por que no requiero Windows para desarrollar en .NET, lo puedo hacer desde aquí.</p>
<p>El &#8211; Mmm&#8230; no lo se, yo no pagaría eso.</p></blockquote>
<p>Además de la charla normal de por que OS X o Windows, lo anterior es lo realmente importante, este amigo es un empresario consolidado en la región, así que su punto de vista me dejo pensando, ¿acasó estamos tan casados con una tecnología?, ¿juzgamos unicamente por la herramienta y no por el resultado?.</p>
<p>En ese momento me dio un poco de miedo, ¿acaso esta es el punto de vista del empresario común?, un par de días despues me di cuenta que no es así, comencé un proyecto usando PHP y otro de nuevo en Mono, a estos nuevos clientes no les importó en absoluto la plataforma o tecnología a utilizar, ellos solo querían resultados y los querían pronto.</p>
<p>No eh vuelto a ver a mi amigo, se que su negocio va bien, pero se que podría ir mejor, la inclusión de tecnologías Open Source, el acercamiento a plataformas móviles como iOS o Android es inevitable en la región, ya estoy en platicas con otro excelente amigo para crear aplicaciones para móviles orientadas al mercado local y mejorar la industria.</p>
<p>¿Usas .NET, PHP, Objective-C, Ruby, Java?, excelente, entonces eres parte del ecosistema de desarrolladores pero nadamás, no existe ni mejor ni peor, solo herramientas y buenos o malos desarrolladores.</p>
<p>Sí, un post sin mucho sentido pero, ¿para eso esta el blog no?</p>
]]></content:encoded>
			<wfw:commentRss>http://reymundolopez.com/2011/02/de-tecnologias-herramientas-y-otras-cosas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cambiar el usuario a una working copy de SVN</title>
		<link>http://reymundolopez.com/2010/10/cambiar-el-usuario-a-una-working-copy-de-svn/</link>
		<comments>http://reymundolopez.com/2010/10/cambiar-el-usuario-a-una-working-copy-de-svn/#comments</comments>
		<pubDate>Mon, 11 Oct 2010 14:42:56 +0000</pubDate>
		<dc:creator>Reymundo López</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[SVN]]></category>

		<guid isPermaLink="false">http://reymundolopez.com/?p=677</guid>
		<description><![CDATA[SVN es un sistema de control de código fuente, es el más popular actualmente aunque Git esta tomando muchos adeptos. Me pasaron una maquina virtual de Ubuntu con una cuenta de SVN que no era la mía, para cambiarla sencillamente entras a &#8230; <a href="http://reymundolopez.com/2010/10/cambiar-el-usuario-a-una-working-copy-de-svn/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>SVN es un sistema de control de código fuente, es el más popular actualmente aunque Git esta tomando muchos adeptos.</p>
<p>Me pasaron una maquina virtual de Ubuntu con una cuenta de SVN que no era la mía, para cambiarla sencillamente entras a la Terminal y escribes el siguiente código:</p>
<p><code>svn update --username &lt;usuario&gt;  --password &lt;password&gt;</code></p>
<p>El Password hasta donde recuerdo no es necesario ya que te volvera a pedir autenticarte, aquí es donde podrás asignar tus nuevas credenciales y los cambios ya aparecerán con tu usuario.</p>
]]></content:encoded>
			<wfw:commentRss>http://reymundolopez.com/2010/10/cambiar-el-usuario-a-una-working-copy-de-svn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Editor de texto enriquecido jHtmlArea (WYSIWYG) para ASP.NET y jQuery</title>
		<link>http://reymundolopez.com/2010/07/editor-enriquecido-jhtmlarea-de-texto-wysiwyg-para-asp-net-y-jquery/</link>
		<comments>http://reymundolopez.com/2010/07/editor-enriquecido-jhtmlarea-de-texto-wysiwyg-para-asp-net-y-jquery/#comments</comments>
		<pubDate>Sun, 25 Jul 2010 00:11:15 +0000</pubDate>
		<dc:creator>Reymundo López</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://reymundolopez.com/?p=618</guid>
		<description><![CDATA[Los editores de texto enriquecidos o mejor conocidos como editores WYSIWYG (What You See is What You Got &#8211; Lo que ves es lo que obtienes) son de bastante utilidad para cierto tipo de desarrollos, como lo es cuando el &#8230; <a href="http://reymundolopez.com/2010/07/editor-enriquecido-jhtmlarea-de-texto-wysiwyg-para-asp-net-y-jquery/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Los editores de texto enriquecidos o mejor conocidos como editores WYSIWYG (What You See is What You Got &#8211; Lo que ves es lo que obtienes) son de bastante utilidad para cierto tipo de desarrollos, como lo es cuando el usuario quiere modificar el mismo los estilos de lo que escribe, agregar listados o agregar hipervinculos, etc, sin que tenga que aprender HTML para realizarlo.</p>
<p>Buscando un buen rato por alguno sencillo, ligero y que se integrara rapidamente a ASP.NET/Mono, me encontre con <a title="jHtmlArea editor WYSIWYG" href="http://jhtmlarea.codeplex.com/" target="_blank">jHtmlArea</a>, un plugin para jQuery aun en desarrollo pero lo bastante estable como para poder utilizarlo en el proyecto que estoy desarrollando.</p>
<p><a href="http://www.flickr.com/photos/reymundolopez/4785023123/"><img class="alignnone" title="Editor jHtmlArea" src="http://farm5.static.flickr.com/4134/4785023123_accb7a3962_z.jpg" alt="Editor WYSIWYG jHtmlArea" width="429" height="578" /></a></p>
<p>Configurarlo y usarlo es realmente sencillo:</p>
<ul>
<li>Descarga el archivo del <a title="jHtmlArea Download" href="http://jhtmlarea.codeplex.com/" target="_blank">sitio web</a> del proyecto.</li>
<li>Descarga jQuery.</li>
<li>Los archivos javascript agregarlos a una carpeta (js por ejemplo) y los CSS lo mismo (puede llamarse css el folder <img src='http://reymundolopez.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  ).</li>
<li>Agregar las referencias de los archivos en el código:
<pre class="brush: xml; title: ; notranslate">&lt;head&gt;
	&lt;script src=&quot;/js/jquery-1.3.2.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
	&lt;script src=&quot;/admin/js/jHtmlArea.ColorPickerMenu-0.7.0.min.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
	&lt;script src=&quot;/admin/js/jHtmlArea-0.7.0.min.js&quot; type=&quot;text/javascript&quot; &gt;&lt;/script&gt;

	&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/admin/css/jHtmlArea.css&quot; /&gt;

	&lt;script type=&quot;text/javascript&quot;&gt;
		$(document).ready(function(){
			$(&quot;textarea&quot;).htmlarea();
		});
	&lt;/script&gt;
&lt;/head&gt;</pre>
</li>
<li>Agregar un elemento <code>&lt;textarea&gt;</code> simple o un textbox multilinea de asp.net.
<pre class="brush: xml; title: ; notranslate">&lt;asp:TextBox runat=&quot;server&quot; id=&quot;txtContenido&quot; TextMode=&quot;MultiLine&quot; Width=&quot;680&quot; Height=&quot;300&quot; &gt;&lt;/asp:TextBox&gt;</pre>
</li>
</ul>
<p>Con esto automaticamente cada elemento textarea aparecera con las opciones del editor, existen otras configuraciones como agregar o eliminar elementos de la barra de botones tal y como lo indica el <a href="http://pietschsoft.com/post/2009/07/21/jHtmlArea-The-all-NEW-HTML-WYSIWYG-Editor-for-jQuery.aspx" target="_BLANK">autor en su sitio.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://reymundolopez.com/2010/07/editor-enriquecido-jhtmlarea-de-texto-wysiwyg-para-asp-net-y-jquery/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Tip, instalar librerías de VB.NET en Mono</title>
		<link>http://reymundolopez.com/2010/07/tip-instalar-librerias-de-vb-net-en-mono/</link>
		<comments>http://reymundolopez.com/2010/07/tip-instalar-librerias-de-vb-net-en-mono/#comments</comments>
		<pubDate>Sat, 03 Jul 2010 06:52:22 +0000</pubDate>
		<dc:creator>Reymundo López</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://reymundolopez.com/?p=612</guid>
		<description><![CDATA[Últimamente he estado hablando mucho de Mono, pero es que me he metido bastante ahora que puedo desarrollar proyectos por mi cuenta, aplicando todo lo que se de .NET pero en Mac/Linux, así seguirá por un rato, mientras les traigo este otro &#8230; <a href="http://reymundolopez.com/2010/07/tip-instalar-librerias-de-vb-net-en-mono/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Últimamente he estado hablando mucho de Mono, pero es que me he metido bastante ahora que puedo desarrollar proyectos por mi cuenta, aplicando todo lo que se de .NET pero en Mac/Linux, así seguirá por un rato, mientras les traigo este otro tipo que es de bastante ayuda.</p>
<p>En Mono cuando quieres ejecutar un programa o usar una dll que llame contenga librerias de VB.NET, te puede dar un error como el siguiente:</p>
<pre class="brush: plain; title: ; notranslate">Could not load file or assembly 'Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.</pre>
<p>Para solucionarlo lo único que se tiene que hacer es correr en la consola el siguiente comando:</p>
<pre class="brush: plain; title: ; notranslate">sudo apt-get install libmono-microsoft-visualbasic8.0-cil</pre>
<p>Si no haz actualizado <strong>apt-get</strong> te aconsejo que lo hagas antes de que corras el comando, ya que te puede marcar algún error.</p>
<p>Y listo, con esto las librerías necesarias para interpretar VB se instalan en tu equipo y puedes correr esas aplicaciones que te daban problemas.</p>
]]></content:encoded>
			<wfw:commentRss>http://reymundolopez.com/2010/07/tip-instalar-librerias-de-vb-net-en-mono/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Tip: Solución a Failed to find or load the registered .Net Framework Data Provider &#8216;MySql.Data.MySqlClient&#8217;</title>
		<link>http://reymundolopez.com/2010/07/tip-solucion-a-failed-to-find-or-load-the-registered-net-framework-data-provider-mysql-data-mysqlclient/</link>
		<comments>http://reymundolopez.com/2010/07/tip-solucion-a-failed-to-find-or-load-the-registered-net-framework-data-provider-mysql-data-mysqlclient/#comments</comments>
		<pubDate>Thu, 01 Jul 2010 05:27:01 +0000</pubDate>
		<dc:creator>Reymundo López</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Mono]]></category>

		<guid isPermaLink="false">http://reymundolopez.com/?p=605</guid>
		<description><![CDATA[Este error me ocurrió el día de hoy cuando intentaba usar una dll de acceso a datos que me paso un amigo para un proyecto en el cual estamos trabajando juntos, estamos usando Mono en Mac y como servidor de &#8230; <a href="http://reymundolopez.com/2010/07/tip-solucion-a-failed-to-find-or-load-the-registered-net-framework-data-provider-mysql-data-mysqlclient/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Este error me ocurrió el día de hoy cuando intentaba usar una <strong>dll</strong> de acceso a datos que me paso un amigo para un proyecto en el cual estamos trabajando juntos, estamos usando Mono en Mac y como servidor de pruebas Ubuntu 9.4 con Mono, MySQL en ambos.</p>
<p>El mensaje de error que me dio al intentar probar las conexiones con la base de datos fue:</p>
<p><code>Failed to find or load the registered .Net Framework Data Provider 'MySql.Data.MySqlClient'</code></p>
<p>La solución la encontre en las listas de Mono-dev, y fue simplemente agregar las referencias exactas para el ensamblado de MySQL, en el archivo Web.Config o App.Config hay que agregar lo siguiente dentro de las etiquetas <strong>&lt;configuration&gt; &#8230; &lt;/configuration&gt;</strong></p>
<pre class="brush: xml; title: ; notranslate">
  	&lt;system.data&gt;
        &lt;DbProviderFactories&gt;
			&lt;add name=&quot;MySQL Data Provider&quot; invariant=&quot;MySql.Data.MySqlClient&quot; description=&quot;.Net Framework Data Provider for MySQL&quot;  type=&quot;MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=5.2.1.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d&quot; /&gt;
		&lt;/DbProviderFactories&gt;
	&lt;/system.data&gt;
</pre>
<p>Cabe notar que en la maquina donde estoy trabajando, tengo instalado MySQL y agregue como referencia la dll del conector de MySQL (MySql.Data.dll).</p>
<p>Ojalá a alguien le sirva.</p>
]]></content:encoded>
			<wfw:commentRss>http://reymundolopez.com/2010/07/tip-solucion-a-failed-to-find-or-load-the-registered-net-framework-data-provider-mysql-data-mysqlclient/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>DropDownList en cascada con jQuery y ASP.NET</title>
		<link>http://reymundolopez.com/2010/06/dropdownlist-en-cascada-con-jquery-y-asp-net/</link>
		<comments>http://reymundolopez.com/2010/06/dropdownlist-en-cascada-con-jquery-y-asp-net/#comments</comments>
		<pubDate>Sun, 13 Jun 2010 23:59:31 +0000</pubDate>
		<dc:creator>Reymundo López</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://reymundolopez.com/?p=537</guid>
		<description><![CDATA[Como usar DropDownList o Selects en cascada con ASP.NET y jQuery?, es una de las dudas que mas se generan en los foros de discusión al momento de realizar cosas con AJAX y .NET sin el UpdatePanel. Voy a explicar &#8230; <a href="http://reymundolopez.com/2010/06/dropdownlist-en-cascada-con-jquery-y-asp-net/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Como usar DropDownList o Selects en cascada con ASP.NET y jQuery?, es una de las dudas que mas se generan en los foros de discusión al momento de realizar cosas con AJAX y .NET sin el UpdatePanel.</p>
<p>Voy a explicar como realizo esta tarea para que sea un proceso sencillo.</p>
<p>Crearemos un nuevo proyecto web y nos aseguraremos de <a href="http://reymundolopez.com/2009/01/05/intellisense-para-jquery-en-visual-studio-2008/">configurarlo para que pueda usar jQuery</a>.</p>
<p>En la pagina Default.aspx agregaremos dos DropDownList y quedara algo como el siguiente codigo:</p>
<pre class="brush: xml; title: ; notranslate">&lt;%@ Page Language=&quot;C#&quot; Inherits=&quot;EjemploDropDownList.Default&quot; %&gt;
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;
&lt;html&gt;
&lt;head runat=&quot;server&quot;&gt;
	&lt;title&gt;Ejemplo DropDownList&lt;/title&gt;
	&lt;script src=&quot;js/jquery-1.4.2.min.js&quot; type=&quot;text/javascript&quot; &gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
	&lt;form id=&quot;form1&quot; runat=&quot;server&quot;&gt;
		&lt;asp:DropDownList runat=&quot;server&quot; id=&quot;ddlPrincipal&quot; &gt;&lt;/asp:DropDownList&gt;

		&lt;br /&gt;

		&lt;asp:DropDownList runat=&quot;server&quot; id=&quot;ddlSecundario&quot; &gt; &lt;/asp:DropDownList&gt;
	&lt;/form&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>Lo unico que hace este código es agregar la referencia de jQuery (la <a href="http://code.jquery.com/jquery-1.4.2.min.js" target="_BLANK">1.4.2</a>) y dos DropDownList, sin ningún otro control ni tampoco código que tenga que ser procesado aun por el servidor.</p>
<p>Enseguida vamos a llenar el primer DropDownList (ddlPrincipal) con algunos datos, en este caso seran continentes, esto lo vamos a colocar en el evento Load de la pagina Default.aspx:</p>
<pre class="brush: csharp; title: ; notranslate">private void Page_Load(object sender, System.EventArgs e)
		{
			ListItem elemento;

			elemento = new ListItem(&quot;America&quot;, &quot;1&quot;);
			ddlPrincipal.Items.Add(elemento);

			elemento = new ListItem(&quot;Africa&quot;, &quot;2&quot;);
			ddlPrincipal.Items.Add(elemento);

			elemento = new ListItem(&quot;Europa&quot;, &quot;3&quot;);
			ddlPrincipal.Items.Add(elemento);
		}</pre>
<p>Corremos el proyecto y nos debe mostrar algo como esto:</p>
<p><a title="Ejemplo de DropDownList by Reymundo López, on Flickr" href="http://www.flickr.com/photos/reymundolopez/4672535370/"><img src="http://farm5.static.flickr.com/4005/4672535370_7d2d2d6f8c.jpg" alt="Ejemplo de DropDownList" width="309" height="243" /></a></p>
<p>Ahora es tiempo de meter un poco de código JavaScript en nuestra aplicación, para eso insertaremos el siguiente código entre las etiquetas <strong>&lt;head&gt;</strong> de Default.aspx :</p>
<pre class="brush: jscript; title: ; notranslate">&lt;script type=&quot;text/javascript&quot;&gt;
		$(document).ready(function(){

		// Configuracion de jQuery y AJAX
		$.ajaxSetup({
            type: &quot;POST&quot;,
            contentType: &quot;application/json; charset=utf-8&quot;,
            data: &quot;{}&quot;,
            dataFilter: function(data) {
                var msg;

                if (typeof (JSON) !== 'undefined' &amp;&amp;
                    typeof (JSON.parse) === 'function')
                  msg = JSON.parse(data);
                else
                  msg = eval('(' + data + ')');

                if (msg.hasOwnProperty('d'))
                  return msg.d;
                else
                  return msg;
            }
        });

			// Solo se ejecuta cuando seleccionamos alguna opcion.
			$('#&lt;%=ddlPrincipal.ClientID %&gt;').change(function(){
				$.ajax({
					url: &quot;Default.aspx/obtenerPaises&quot;,
					data: &quot;{'continente':'&quot; + $(&quot;#&lt;%=ddlPrincipal.ClientID %&gt;&quot;).val() + &quot;'}&quot;,
					success: function(msg) {
						$('#&lt;%=ddlSecundario.ClientID %&gt;').html(msg);
					},
					error: function(XMLHttpRequest, textStatus, errorThrown) {
				       alert('Error: ' + textStatus + &quot;, &quot; + errorThrown);
				   }
				});
			});

		});
	&lt;/script&gt;</pre>
<p>Este código hace dos cosas:</p>
<ol>
<li>Configura jQuery para usar AJAX y JSON como nosotros necesitamos y nos evita un pequeno malestar respecto a las &#8220;d&#8221; en los .NET frameworks anteriores a 3.5.</li>
<li>Captura el evento Change del DropDownList Principal que ocurre cuando se selecciona cualquier opción del DropDownList y va a buscar el código que se ejecutara por .NET para traer lo que haga falta.</li>
</ol>
<blockquote><p>Como nota especial, si observan estoy pidiendo la información de la misma pagina &#8220;Default.aspx&#8221; y no de un WebService que es como comúnmente se hacen estas peticiones, a esto se le llama usar WebMethods.</p></blockquote>
<p>Enseguida veremos el código que en .NET dependiendo de la opción seleccionada traerá una respuesta diferente, para lo cual agregaremos al archivo Default.aspx.cs el siguiente codigo debajo de Load_Page :</p>
<pre class="brush: csharp; title: ; notranslate">[WebMethod()]
		public static string obtenerPaises(string continente)
		{
			List&lt;ListItem&gt; elementos = new List&lt;ListItem&gt;();
			ListItem elemento;
			string resultado = &quot;&quot;;

			// Usaremos simples 'if' para hacer sencillo el ejemplo.
			if (continente == &quot;1&quot;) {
				elemento = new ListItem(&quot;Mexico&quot;, &quot;1&quot;);
				elementos.Add(elemento);
				elemento = new ListItem(&quot;EUA&quot;, &quot;2&quot;);
				elementos.Add(elemento);
			}

			if (continente == &quot;2&quot;) {
				elemento = new ListItem(&quot;Kenia&quot;,&quot;1&quot;);
				elementos.Add(elemento);
				elemento = new ListItem(&quot;Congo&quot;,&quot;2&quot;);
				elementos.Add(elemento);
			}

			if (continente == &quot;3&quot;) {
				elemento = new ListItem(&quot;Francia&quot;,&quot;1&quot;);
				elementos.Add(elemento);
				elemento = new ListItem(&quot;Italia&quot;,&quot;2&quot;);
				elementos.Add(elemento);
			}

			foreach (ListItem item in elementos) {
				resultado = resultado + &quot;&lt;option value='&quot; + item.Value + &quot;'&gt;&quot;;
				resultado = resultado + item.Text;
				resultado = resultado + &quot;&lt;/option&gt;,&quot;;
			}

			return resultado;
		}</pre>
<p>Este código como verán es bastante sencillo y lo unico que hace es recibir como parametro el &#8220;<strong>continente</strong>&#8221; y en base al que se selecciono agregar a un listado ciertos elementos y al final regresar una cadena de <strong>&lt;options&gt;</strong> de un select de HTML.</p>
<blockquote><p>Segunda nota: el nombre de la variable que recibe el parametro debe ser el mismo que el que pasamos en el javascript (data: &#8220;{&#8216;continente&#8217;: &#8230; )</p></blockquote>
<p>Y listo, ahora hay que correr el proyecto y esto nos permitira realizar DropDownList en cascada.</p>
]]></content:encoded>
			<wfw:commentRss>http://reymundolopez.com/2010/06/dropdownlist-en-cascada-con-jquery-y-asp-net/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Predicciones al futuro de la programacion</title>
		<link>http://reymundolopez.com/2010/03/predicciones-al-futuro-de-la-programacion/</link>
		<comments>http://reymundolopez.com/2010/03/predicciones-al-futuro-de-la-programacion/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 19:50:39 +0000</pubDate>
		<dc:creator>Reymundo López</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[WTF]]></category>
		<category><![CDATA[Talk about]]></category>

		<guid isPermaLink="false">http://reymundolopez.com/?p=501</guid>
		<description><![CDATA[Andando un poco en Stackoverflow me encontre con esto y me hizo bastante gracia! My predictions for the future of programming: Every 2 years there will be a great hot new language that you just have to use. Every 5 &#8230; <a href="http://reymundolopez.com/2010/03/predicciones-al-futuro-de-la-programacion/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Andando un poco en <a href="http://stackoverflow.com/" target="_BLANK">Stackoverflow</a> me encontre con <a href="http://stackoverflow.com/questions/2427661/the-future-of-programming-or-what-lies-in-the-future-in-programming" target="_BLANK">esto</a> y me hizo bastante gracia!</p>
<blockquote><p>My predictions for the future of programming:</p>
<ul>
<li>Every 2 years there will be a great hot new language that you just have to use.</li>
<li>Every 5 years Microsoft will come up with a completely new way to create GUIs.</li>
<li>Every 10 years someone will come up with a great new software development methodology.</li>
<li>Every 20 years someone will come up with a great new programming paradigm.</li>
<li>Until the heat death of the universe, there will still be more installed and running legacy Cobol code than everything else put together.</li>
</ul>
</blockquote>
<p>Bastante gracioso! <img src='http://reymundolopez.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  </p>
]]></content:encoded>
			<wfw:commentRss>http://reymundolopez.com/2010/03/predicciones-al-futuro-de-la-programacion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

