<?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>Desarrollando Ideas &#187; Tutoriales</title>
	<atom:link href="http://desarrollandoideas.com.ar/category/tutoriales/feed/" rel="self" type="application/rss+xml" />
	<link>http://desarrollandoideas.com.ar</link>
	<description>Abandon all hope, ye who enter here...</description>
	<lastBuildDate>Tue, 28 Feb 2012 18:48:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>GHRML en Django [ Haml ]</title>
		<link>http://desarrollandoideas.com.ar/2009/11/24/ghrml-en-django-haml/</link>
		<comments>http://desarrollandoideas.com.ar/2009/11/24/ghrml-en-django-haml/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 13:47:06 +0000</pubDate>
		<dc:creator>Paul M Dorr</dc:creator>
				<category><![CDATA[Desarrollo Web]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[GHRML]]></category>
		<category><![CDATA[Haml]]></category>
		<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">http://desarrollandoideas.com.ar/?p=685</guid>
		<description><![CDATA[Como mencioné en el anterior post, me encantó la simpleza de Haml, así que decidí probar GHRML, el cual tiene una sintaxis muy similar y puede ser utilizado con Django. Si bien fue un vistazo rápido, pude sacar algunas conclusiones interesantes. Instalación Instalar GHRML es tan fácil como hacerlo con casi cualquier otra aplicación de [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-689 alignright" title="django-logo" src="http://desarrollandoideas.com.ar/wp-content/uploads/2009/11/django-logo.jpg" alt="django-logo" width="150" height="84" />Como mencioné en el <a href="http://desarrollandoideas.com.ar/2009/11/16/adios-html-bienvenido-haml/">anterior post</a>, me encantó la simpleza de <strong>Haml</strong>, así que decidí probar <strong>GHRML</strong>, el cual tiene una sintaxis muy similar y puede ser utilizado con <strong>Django</strong>. Si bien fue un vistazo rápido, pude sacar algunas conclusiones interesantes.</p>
<p><strong>Instalación</strong></p>
<p>Instalar <strong>GHRML </strong>es tan fácil como hacerlo con casi cualquier otra aplicación de <strong>Python</strong>, vía setuptools (ejemplo en <strong>linux</strong>):</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">easy_install GHRML</pre></div></div>

<p>Y listo! Ya tenemos <strong>GHRML </strong>instalado en nuestro directorio de paquetes de <strong>Python</strong>. Ahora sólo resta indicarle a nuestra app de <strong>Django </strong>dónde buscar los templates cuando los representemos con este lenguaje de markup. En mi caso, como se trataba de una prueba, simplemente le indiqué el mismo directorio donde se encuentran usualmente los <em>templates </em>del sistema de templates de <strong>Django</strong>. Esto lo hice agregando al archivo <em>settings.py</em> lo siguiente:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">GENSHI_TEMPLATE_DIRS = <span style="color: black;">&#40;</span>
    <span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">join</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">basename</span><span style="color: black;">&#40;</span>__file__<span style="color: black;">&#41;</span>, <span style="color: #483d8b;">'templates'</span><span style="color: black;">&#41;</span>,
<span style="color: black;">&#41;</span></pre></div></div>

<p>Con esto nos aseguramos de que al llamar al <em>render_to_response</em> de <strong>GHRML</strong>, encuentre los templates. De otra forma lanzaría un error.</p>
<p><strong>Usando GHRML</strong></p>
<p>Para poder escribir <em>templates </em>mediante este lenguaje, simplemente importamos lo que necesitemos de <em>ghrml.ghrml_django</em>, por ejemplo, la antes mencionada <em>render_to_response</em>:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">from</span> ghrml.<span style="color: black;">ghrml_django</span> <span style="color: #ff7700;font-weight:bold;">import</span> render_to_response <span style="color: #ff7700;font-weight:bold;">as</span> render_ghrml</pre></div></div>

<p>En mi caso particular le puse un alias a <em>render_to_response</em>, ya que seguía usando su versión original para algunas pruebas.</p>
<p>Una vez importado, simplemente reemplazamos los <em>render_to_response</em> que queramos, por los correspondientes <em>render_ghrml</em>, siempre teniendo en cuenta que el template al que apuntamos esté escrito en este lenguaje.</p>
<p>Ventajas y desventajas</p>
<p>Una ventaja obvia de utilizar <strong>GHRML </strong>es que se simplifica enormemente la tarea y el tiempo de escribir nuestros templates, ya que no sólo &#8220;ahorramos&#8221; código, sino que <em><strong>Haml </strong>resulta muchísimo más fáciles de leer</em>. A esto tenemos que sumar la <em>facilidad de instalación</em> y el hecho de que podemos usar <em>Haml </em>con otros lenguajes (como <strong>Ruby </strong>o <strong>PHP</strong>), de forma que no necesitaremos acostumbrarnos a un sistema de templates diferentes para cada framework o lenguaje.</p>
<p>Por otro lado, <strong>GHRML </strong>tiene algunas &#8220;fallas&#8221;; por ejemplo, al querer utilizar el &#8220;tag&#8221; <em>%ul</em> (y <em>%li</em>), sin haber puesto <em>%html</em> y <em>%body</em> en el template que estamos editando, la lista no se renderizará como debe. Además de esto, me he encontrado con un problema muy grave, para el cual &#8211; de momento &#8211; no tengo solución: <em>los forms no se generan automáticamente</em>. Por ejemplo, cuando quiero hacer <em>form.as_p</em>, como esto renderiza un form en el lenguaje de templates de <strong>Django</strong>, <strong>GHRML </strong>no lo reconoce y pone otra cosa en la página (si no me equivoco, renderiza la representación del objeto). Imagino que existirá alguna solución (que no sea armar los forms a &#8220;mano&#8221;), sino ya me iré acostumbrando a hacerlos un poco más <em>&#8220;artesanales&#8221;</em>. Otra falencia grave de este lenguaje es la <em>ausencia casi total de documentación</em>, aunque la sintaxis es casi igual a la de <strong>Haml</strong>, por lo cual se puede aprender a usarlo en la <a href="http://haml-lang.com/docs.html">página de documentación de éste</a>.</p>
<p><em>Una última aclaración</em>: en la <a href="http://www.ghrml.org/">página del <strong>Trac </strong>de </a><strong><a href="http://www.ghrml.org/">GHRML</a> </strong>dicen que tiene dependencia con <strong>Genshi</strong>, por lo cual supongo que las <em>setuptools </em>se encargaron de instalarlo por mí.</p>
<p>¿Alguno de ustedes ha probado <strong>GHRML</strong>? ¿Han tenido los mismos problemas que yo? Si alguien encontró cómo hacer funcionar lo de los forms, ¡avise!</p>
]]></content:encoded>
			<wfw:commentRss>http://desarrollandoideas.com.ar/2009/11/24/ghrml-en-django-haml/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adiós HTML, bienvenido Haml</title>
		<link>http://desarrollandoideas.com.ar/2009/11/16/adios-html-bienvenido-haml/</link>
		<comments>http://desarrollandoideas.com.ar/2009/11/16/adios-html-bienvenido-haml/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 18:53:56 +0000</pubDate>
		<dc:creator>Paul M Dorr</dc:creator>
				<category><![CDATA[Desarrollo Web]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[Diseño Web]]></category>
		<category><![CDATA[ERB]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[Haml]]></category>
		<category><![CDATA[herramientas]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[soluciones]]></category>
		<category><![CDATA[templates]]></category>

		<guid isPermaLink="false">http://desarrollandoideas.com.ar/?p=677</guid>
		<description><![CDATA[Actualmente me encuentro comenzando varios proyectos pequeños basados en diferentes plataformas y/o frameworks (Django, Ruby on Rails, PHP), con lo cual se me &#8220;armó&#8221; un lío interesante a la hora de recordar las sintaxis que utiliza cada framework/lenguaje para generar el HTML final. RoR usa por defecto ERB, Django tiene su lenguaje para templates y [...]]]></description>
			<content:encoded><![CDATA[<p>Actualmente me encuentro comenzando varios <strong>proyectos </strong>pequeños basados en diferentes plataformas y/o frameworks (<strong>Django</strong>, <strong>Ruby on Rails</strong>, <strong>PHP</strong>), con lo cual se me &#8220;armó&#8221; un lío interesante a la hora de recordar las sintaxis que utiliza cada framework/lenguaje para generar el <strong>HTML </strong>final. <strong>RoR </strong>usa por defecto <a href="http://www.ruby-doc.org/stdlib/libdoc/erb/rdoc/index.html">ERB</a>, <strong>Django </strong>tiene su<em> lenguaje para templates</em> y con <strong>PHP </strong>me alcanzaba con la forma básica de <em>embeberlo </em>en <strong>HTML</strong>. Con la escasa memoria que tengo, se podrán imaginar que iba a terminar escribiendo cualquier cosa.</p>
<p>Por suerte, y gracias al <em>dios de los lenguajes de programación </em>(?), <a href="http://twitter.com/eljuanchosf">@eljuanchosf</a> llegó para salvarme con <a title="Haml" href="http://haml-lang.com/">Haml</a> en la mano.</p>
<p><strong>Haml </strong>fue ideado para<em> acelerar los tiempos de desarrollo </em>y a la vez lograr un lenguaje de markup <em>agradable a la vista</em>. No por nada de su idea principal es:</p>
<blockquote><p><em>Markup should be beautiful</em>.</p></blockquote>
<p>Luego de ver un ejemplo, se puede comprobar la<em> sencillez y &#8220;limpieza&#8221; </em>que este lenguaje le puede dar a nuestros <em>templates</em>. El ejemplo siguiente está extraído del <a title="Tutorial de Haml" href="http://haml-lang.com/tutorial.html"><strong>tutorial </strong>que se puede ver</a> en la página principal de <strong>Haml</strong>.</p>
<div style="float: left; width: 48%; margin-bottom: 20px">
<h4>ERB</h4>
<pre>&lt;div id='content'&gt;
  &lt;div class='left column'&gt;
    &lt;h2&gt;Welcome to our site!&lt;/h2&gt;
    &lt;p&gt;&lt;%= print_information %&gt;&lt;/p&gt;
  &lt;/div&gt;
  &lt;div&gt;
    &lt;%= render :partial =&gt; "sidebar" %&gt;
  &lt;/div&gt;
&lt;/div&gt;</pre>
</div>
<div style="float: left; width: 48%">
<h4>Haml</h4>
<pre>#content
  .left.column
    %h2 Welcome to our site!
    %p= print_information
  .right.column
    = render :partial =&gt; "sidebar"</pre>
</div>
<div style="clear: left;">
Si bien en principio (y sobre todo para aquellos que no conozcan <strong>ERB</strong>) el código pueda parecer un tanto extraño, una mirada más detenida nos demuestra que el increíble<em> ahorro de código y tiempo</em> que este<strong> lenguaje de markup</strong> nos puede brindar. Además, una vez que nos acostumbramos, el código de <strong>Haml </strong>es<em> mucho más agradable y legible</em> que el <strong>HTML </strong>puro, y ni hablar cuando se trata de <strong>HTML </strong>+ algún-lenguaje-de-template.
</div>
<p>Pero el hecho de que me gustara tanto <strong>Haml </strong>traía consigo un nuevo <strong>problema</strong>; empecé a &#8220;odiar&#8221; el lenguaje de templates de <strong>Django </strong>y <strong>PHP</strong> embebido en <strong>HTML </strong>(en realidad a éste último ya lo odiaba). Así que puse manos al teclado y busqué <strong><em>implementaciones </em>de </strong><strong>Haml </strong>para estos lenguajes, encontrando resultados mucho más<em> rápido y fácil </em>de lo que esperaba.</p>
<p>Para poder tener un lenguaje similar a <strong>Haml </strong>en <strong>Django</strong>, <a title="GHRML, Haml-like para Django" href="http://www.ghrml.org/">podemos utilizar GHRML</a>, el cual está basado en <strong>Genshi Markup Templates</strong>. En el caso de <strong>PHP</strong>, existe un <a title="Parser Haml para PHP" href="http://phphaml.sourceforge.net/">parser llamado phphaml</a>, el cual nos permite escribir los templates casi de la misma forma que lo hacemos en el <strong>Haml </strong>original. Pueden ver ejemplos de estos en sus respectivas páginas.</p>
<p>¿Conocen otras implementaciones de <strong>Haml </strong>para <strong>Django </strong>o <strong>PHP</strong>? ¿Son mejores que las encontradas por mi? ¡No duden en dejar sus comentarios recomendándolas!</p>
]]></content:encoded>
			<wfw:commentRss>http://desarrollandoideas.com.ar/2009/11/16/adios-html-bienvenido-haml/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Organizando proyectos con PHP</title>
		<link>http://desarrollandoideas.com.ar/2009/07/27/organizando-proyectos-con-php/</link>
		<comments>http://desarrollandoideas.com.ar/2009/07/27/organizando-proyectos-con-php/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 19:24:09 +0000</pubDate>
		<dc:creator>Paul M Dorr</dc:creator>
				<category><![CDATA[Desarrollo Web]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Recursos]]></category>
		<category><![CDATA[soluciones]]></category>

		<guid isPermaLink="false">http://desarrollandoideas.com.ar/?p=258</guid>
		<description><![CDATA[Si bien cada uno ordena sus proyectos como le parece más cómodo, siempre es útil encontrar documentación en este aspecto, al menos para tomarla como orientación. Con respecto a esto, hace ya algún tiempo que tenía ganas de escribir algún tutorial explicando la forma en la que ordeno mis proyectos de PHP, pero en nettuts [...]]]></description>
			<content:encoded><![CDATA[<p>Si bien cada uno ordena sus proyectos como le parece más cómodo, siempre es útil encontrar <em>documentación </em>en este aspecto, al menos para tomarla como orientación. Con respecto a esto, hace ya algún tiempo que tenía ganas de escribir algún <em>tutorial </em>explicando la forma en la que ordeno mis <em><strong>proyectos de PHP</strong></em>, pero en <em><strong>nettuts </strong></em>me ganaron de mano, utilizando una estructura muy similar a la que yo empleo.</p>
<p>En resumidas cuentas, me han ahorrado el trabajo, quedandome sólo publicar el siguiente link:</p>
<p><a title="Organize Your Next PHP Project the Right Way" href="http://net.tutsplus.com/tutorials/php/organize-your-next-php-project-the-right-way/"><strong><em>Organize Your Next PHP Project the Right Way</em></strong></a></p>
<p>Que lo disfruten! =)</p>
]]></content:encoded>
			<wfw:commentRss>http://desarrollandoideas.com.ar/2009/07/27/organizando-proyectos-con-php/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Scrobbling con Rhythmbox y last.fm</title>
		<link>http://desarrollandoideas.com.ar/2009/07/22/scrobbling-con-rhythmbox-y-last-fm/</link>
		<comments>http://desarrollandoideas.com.ar/2009/07/22/scrobbling-con-rhythmbox-y-last-fm/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 13:15:04 +0000</pubDate>
		<dc:creator>Paul M Dorr</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[Last.fm]]></category>
		<category><![CDATA[scrobbling]]></category>

		<guid isPermaLink="false">http://desarrollandoideas.com.ar/?p=240</guid>
		<description><![CDATA[Al fin, después de mucho tiempo de resistirme, decidí sumarme a la comunidad de Last.fm y realmente me está empezando a gustar mucho la idea y las posibilidades que esto puede llegar a brindarme. Para poder utilizar el sistema de scrobbling desde mi Ubuntu Jaunty 9.04 estuve probando varias alternativas, de las cuales elegí quedarme [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://desarrollandoideas.com.ar/wp-content/uploads/2009/07/recorte.jpg1.png" rel="wp-prettyPhoto[g240]"><img class="alignleft size-full wp-image-244" title="Last.fm" src="http://desarrollandoideas.com.ar/wp-content/uploads/2009/07/recorte.jpg1.png" alt="Last.fm" width="344" height="95" /></a>Al fin, después de mucho tiempo de resistirme, decidí sumarme a la comunidad de <a title="Last.fm" href="http://www.lastfm.es/home">Last.fm</a> y realmente me está empezando a gustar mucho la idea y las posibilidades que esto puede llegar a brindarme.</p>
<p>Para poder utilizar el sistema de <em>scrobbling </em>desde mi Ubuntu Jaunty 9.04 estuve probando varias alternativas, de las cuales elegí quedarme con <a title="Rhythmbox" href="http://projects.gnome.org/rhythmbox/">Rhythmbox</a> y el complemento llamado <a title="New-Style Last.fm Scrobbler" href="http://blog.blackdown.de/">New-Style Last.fm Scrobbler</a>, el cual reemplaza el llamado Last.fm que viene por defecto con este reproductor.</p>
<p><a href="http://desarrollandoideas.com.ar/wp-content/uploads/2009/07/lastfm.png" rel="wp-prettyPhoto[g240]"><img class="size-medium wp-image-247 alignright" title="Cliente lastfm" src="http://desarrollandoideas.com.ar/wp-content/uploads/2009/07/lastfm-300x201.png" alt="Cliente lastfm" width="300" height="201" /></a>Como primer requisito para poder utilizar el complemento de <em>scrobbling</em>, se necesita tener instalado el cliente lastfm, el cual se encuentra en los repositorios de <strong><em>Ubuntu 9.04</em></strong>:</p>
<pre>sudo apt-install lastfm</pre>
<p>Una vez instalado este cliente, se deben seguir los pasos que se indican en la página del complemento que mencioné antes.</p>
<p>Se agregan los repositorios al archivo /etc/apt/sources.list:</p>
<pre>deb http://blog.blackdown.de/static/debian/rhythmbox/ jaunty main
deb-src http://blog.blackdown.de/static/debian/rhythmbox/ jaunty main</pre>
<p><a href="http://desarrollandoideas.com.ar/wp-content/uploads/2009/07/rhythmbox.png" rel="wp-prettyPhoto[g240]"><img class="alignleft size-medium wp-image-248" title="Rhythmbox" src="http://desarrollandoideas.com.ar/wp-content/uploads/2009/07/rhythmbox-300x197.png" alt="Rhythmbox" width="300" height="197" /></a>Se obtiene la llave con la que están firmados estos repositorios:</p>
<pre>$ wget http://blog.blackdown.de/static/gpg.asc -O - | \
    sudo apt-key add -</pre>
<p>Se actualiza apt y se instala <strong><em>Rhythmbox</em></strong>:</p>
<pre>$ sudo aptitude update
$ sudo aptitude install rhythmbox</pre>
<p>En caso de haber tenido previamente instalado <em><strong>Rhythmbox</strong></em>, en lugar del install, deberemos hacer un upgrade.</p>
<p>Por último, se debe entrar a la sección de complementos del reproductor, desactivar el que se llama <em>Last.fm</em> y activar <em>New-Style Last.fm Scrobbler</em></p>
<p>También utilizo <a title="AIMP2" href="http://www.aimp.ru/index.php?do=lang-en">AIMP2</a> &#8211; en el trabajo &#8211; con un <a title="Plugin Last.fm" href="http://www.aimp.ru/files/plugins/aimplastfm.zip">plugin</a> que lo conecta al cliente de Last.fm de la misma forma que lo hace <strong><em>Rhythmbox</em></strong>, pero eso ya es tema para algún otro post&#8230;</p>
<p>Si a alguien quiere escuchar mi &#8211; por el momento escasa &#8211; emisora de Last.fm, puede agregarme como amigo desde la <a title="Perfil de gbthedoctor en Last.fm" href="http://www.lastfm.es/user/gbthedoctor">página de mi perfil</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://desarrollandoideas.com.ar/2009/07/22/scrobbling-con-rhythmbox-y-last-fm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Extensiones para Google Chrome</title>
		<link>http://desarrollandoideas.com.ar/2009/05/29/extensiones-para-google-chrome/</link>
		<comments>http://desarrollandoideas.com.ar/2009/05/29/extensiones-para-google-chrome/#comments</comments>
		<pubDate>Fri, 29 May 2009 17:11:18 +0000</pubDate>
		<dc:creator>Paul M Dorr</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Desarrollo Web]]></category>
		<category><![CDATA[Diseño Web]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Noticias]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[extensiones]]></category>
		<category><![CDATA[Google Chrome]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://desarrollandoideas.com.ar/?p=177</guid>
		<description><![CDATA[Hasta ahora no me había llamado mucho la atención este navegador, pero de a poco está mejorando y creo que es muy posible que sobrepase a Firefox si la versión 3.5 de éste no sale pronto (o si no es lo que esperamos). Al leer sobre las extensiones, me entero de que van a estar [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center"><img class="aligncenter size-full wp-image-181" style="float: none;" title="Chrome 3" src="http://desarrollandoideas.com.ar/wp-content/uploads/2009/05/chrome31.jpg" alt="Chrome 3" width="510" height="212" /></p>
<p>Hasta ahora no me había llamado mucho la atención este navegador, pero de a poco está mejorando y creo que es muy posible que sobrepase a Firefox si la versión 3.5 de éste no sale pronto (o si no es lo que esperamos).</p>
<p>Al <a title="Extending Google Chrome" href="http://googlesystem.blogspot.com/2009/05/extending-google-chrome.html">leer sobre las extensiones</a>, me entero de que van a estar hechas sobre HTML, JS y CSS, una idea que me parece excelente y que Firefox también está intentando adoptar con <a title="JetPack" href="https://jetpack.mozillalabs.com/">JetPack</a>. Esta forma de hacer las extensiones ampliaría la cantidad de desarrolladores que las crean, ya que el proceso es igual al que seguimos cuando hacemos una página web. Otra cosa interesante de este sistema, es que no es necesario reiniciar el browser para que funcionen.</p>
<p>Para ponerme a ver <a title="Google Chrome Extensions Howto" href="http://dev.chromium.org/developers/design-documents/extensions/howto"><strong>como crear estas extensiones</strong></a>, me he descargado la <a href="http://www.google.com/chrome/eula.html?extra=devchannel">versión de desarrollo de Google Chrome</a>, que según el &#8220;Acerca de&#8230;&#8221; es la 3.0.182.3 (OMG), y he visto muchas mejoras interesantes, pero sobre todo en la Consola JavaScript, la cual pinta mucho mejor que FireBug.</p>
<p>Si cuando todo esto funcione, también sale para Linux, quizás me termino cambiando de browser.</p>
]]></content:encoded>
			<wfw:commentRss>http://desarrollandoideas.com.ar/2009/05/29/extensiones-para-google-chrome/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Expresiones Regulares Avanzadas</title>
		<link>http://desarrollandoideas.com.ar/2009/05/07/expresiones-regulares-avanzadas-conceptos-cruciales/</link>
		<comments>http://desarrollandoideas.com.ar/2009/05/07/expresiones-regulares-avanzadas-conceptos-cruciales/#comments</comments>
		<pubDate>Fri, 08 May 2009 00:05:21 +0000</pubDate>
		<dc:creator>Paul M Dorr</dc:creator>
				<category><![CDATA[Desarrollo Web]]></category>
		<category><![CDATA[Expresiones Regulares]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[soluciones]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://desarrollandoideas.com.ar/?p=116</guid>
		<description><![CDATA[Las expresiones regulares pueden llegar a ser una herramienta extremadamente poderosa, siempre que logremos tener un buen nivel de entendimiento acerca de cómo funcionan. Si bien a veces podemos creer que ya sabemos todo (o casi) acerca de cierta herramienta o lenguaje, siempre hay algo nuevo que podemos aprender. En este caso les dejo el [...]]]></description>
			<content:encoded><![CDATA[<p>Las expresiones regulares pueden llegar a ser una herramienta extremadamente poderosa, siempre que logremos tener un buen nivel de entendimiento acerca de cómo funcionan. Si bien a veces podemos creer que ya sabemos todo (o casi) acerca de cierta herramienta o lenguaje, siempre hay algo nuevo que podemos aprender. En este caso les dejo el link de un tutorial (en inglés) muy bien explicado, el cual habla de <a title="Crucial concepts Behind Advanced Regular Expressions" href="http://www.smashingmagazine.com/2009/05/06/introduction-to-advanced-regular-expressions/">conceptos cruciales en las expresiones regulares avanzadas</a>.</p>
<p>Vía: <a title="Smashing Magazine" href="http://www.smashingmagazine.com">Smashing Magazine</a> | <a title="Crucial Concepts Behind Advanced Regular Expressions" href="http://www.smashingmagazine.com/2009/05/06/introduction-to-advanced-regular-expressions/">Crucial Concepts Behind Advanced Regular Expressions</a></p>
]]></content:encoded>
			<wfw:commentRss>http://desarrollandoideas.com.ar/2009/05/07/expresiones-regulares-avanzadas-conceptos-cruciales/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Parámetros en módulos de Joomla</title>
		<link>http://desarrollandoideas.com.ar/2009/05/05/parametros-en-modulos-de-joomla/</link>
		<comments>http://desarrollandoideas.com.ar/2009/05/05/parametros-en-modulos-de-joomla/#comments</comments>
		<pubDate>Wed, 06 May 2009 04:58:29 +0000</pubDate>
		<dc:creator>Paul M Dorr</dc:creator>
				<category><![CDATA[Desarrollo Web]]></category>
		<category><![CDATA[Joomla]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://desarrollandoideas.com.ar/?p=94</guid>
		<description><![CDATA[Cuando desarrollamos o modificamos un módulo de Joomla, es muy probable que necesitemos crear parámetros para que éste pueda ser fácilmente configurable desde el administrador del sitio. En la página No sólo código puede encontrarse un excelente tutorial para crear desde cero un módulo de Joomla, en el cual se muestra un ejemplo del archivo [...]]]></description>
			<content:encoded><![CDATA[<p>Cuando desarrollamos o modificamos un módulo de Joomla, es muy probable que necesitemos crear parámetros para que éste pueda ser fácilmente configurable desde el administrador del sitio. En la página <a title="No sólo código" href="http://www.nosolocodigo.com/"><em>No sólo código</em></a> puede encontrarse un excelente tutorial para <a title="Crear módulo de Joomla" href="http://www.nosolocodigo.com/tutorial-modulos-para-joomla-15">crear desde cero un módulo</a> de Joomla, en el cual se muestra un ejemplo del archivo XML que contiene las configuraciones básicas y los parámetros. Si bien la creación de éstos es bastante sencilla, agruparé en este post una lista con todo los posibles parámetros, así como una breve descripción de cada uno. Las descripciones están basadas en sus respectivos originales, extraídos de la <a title="Tutorial: Template parameters" href="http://docs.joomla.org/Tutorial:Template_parameters#Standard_parameter_types">documentación de Joomla</a>. Los links en el nombre de cada parámetro apuntan a sus descripciones detalladas con ejemplos, ubicadas en la página original en inglés.</p>
<ul>
<li><strong><a title="Calendar parameter type" href="http://docs.joomla.org/Calendar_parameter_type">calendar</a></strong>: es una caja de texto para ingresar fechas, la cual posee un icono que muestra un calendario en un pop-up.</li>
<li><strong><a title="Category parameter type" href="http://docs.joomla.org/Category_parameter_type">category</a></strong>: es una lista desplegable de las categorías de una determinada sección (elegida mediante <em>section</em>).</li>
<li><strong><a title="Editors parameter type" href="http://docs.joomla.org/Editors_parameter_type">editors</a></strong>: es una lista desplegable de los editores WYSIWYG disponibles.</li>
<li><strong><a title="Filelist parameter type" href="http://docs.joomla.org/Filelist_parameter_type">filelist</a></strong>: es una lista desplegable de archivos en un directorio especificado.</li>
<li><strong><a title="Folderlist parameter type" href="http://docs.joomla.org/Folderlist_parameter_type">folderlist</a></strong>: es una lista desplegable de carpetas en un directorio especificado.</li>
<li><strong><a title="Helpsites parameter type" href="http://docs.joomla.org/Helpsites_parameter_type">helpsites</a></strong>: es una lista desplegable de sitios de ayuda para tu instalación de Joomla.</li>
<li><strong><a title="Hidden parameter type" href="http://docs.joomla.org/Hidden_parameter_type">hidden</a></strong>: es un campo oculto para guardar valores que no pueden ser alterados directamente por un usuario en la interfaz de Administración (puede ser modificado desde el código o en el archivo <em>params.ini</em>).</li>
<li><strong><a title="Imagelist parameter type" href="http://docs.joomla.org/Imagelist_parameter_type">imagelist</a></strong>: es una lista desplegable de archivos de imagen en un directorio especificado.</li>
<li><strong><a title="Languages parameter type" href="http://docs.joomla.org/Languages_parameter_type">languages</a></strong>: es una lista desplegable de los idiomas instalados.</li>
<li><strong><a title="List parameter type" href="http://docs.joomla.org/List_parameter_type">list</a></strong>: es una lista desplegable con opciones personalizadas.</li>
<li><strong><a title="Menu parameter type" href="http://docs.joomla.org/Menu_parameter_type">menu</a></strong>: es una lista desplegable de los menus disponibles para el sitio.</li>
<li><strong><a title="Menuitem parameter type" href="http://docs.joomla.org/Menuitem_parameter_type">menuitem</a></strong>: es una lista desplegable de los <em>ítems</em> de menus disponibles para el sitio.</li>
<li><strong><a title="Password parameter type" href="http://docs.joomla.org/Password_parameter_type">password</a></strong>: es una caja de texto para contraseñas.</li>
<li><strong><a title="Radio parameter type" href="http://docs.joomla.org/Radio_parameter_type">radio</a></strong>: son botones de opción (radio buttons) para seleccionar uno entre diferentes valores.</li>
<li><strong><a title="Section parameter type" href="http://docs.joomla.org/Section_parameter_type">section</a></strong>: es una lista desplegable de las secciones existentes en tu sitio Joomla.</li>
<li><strong><a title="Spacer parameter type" href="http://docs.joomla.org/Spacer_parameter_type">spacer</a></strong>: es un separador para insertar entre los campos de parámetros. Puede ser una línea o un texto.</li>
<li><strong><a title="Sql parameter type" href="http://docs.joomla.org/Sql_parameter_type">sql</a></strong>: es una lista desplegable de elementos obtenidos mediante una consulta a la base de datos de Joomla. Contiene los datos de la primer columna resultante.</li>
<li><strong><a title="Text parameter type" href="http://docs.joomla.org/Text_parameter_type">text</a></strong>: es una caja de texto para ingresar datos.</li>
<li><strong><a title="Textarea parameter type" href="http://docs.joomla.org/Textarea_parameter_type">textarea</a></strong>: es un área de texto (campo textarea) para ingresar texto multilínea.</li>
<li><strong><a title="Timezones parameter type" href="http://docs.joomla.org/Timezones_parameter_type">timezones</a></strong>: es una lista desplegable de zonas horarias.</li>
<li><strong><a title="Usergroup parameter type" href="http://docs.joomla.org/Usergroup_parameter_type">usergroup</a></strong>: es una lista desplegable de grupos de usuarios.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://desarrollandoideas.com.ar/2009/05/05/parametros-en-modulos-de-joomla/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Cientos de tutoriales de WordPress</title>
		<link>http://desarrollandoideas.com.ar/2009/05/04/cientos-de-tutoriales-de-wordpress/</link>
		<comments>http://desarrollandoideas.com.ar/2009/05/04/cientos-de-tutoriales-de-wordpress/#comments</comments>
		<pubDate>Mon, 04 May 2009 15:49:21 +0000</pubDate>
		<dc:creator>Paul M Dorr</dc:creator>
				<category><![CDATA[Desarrollo Web]]></category>
		<category><![CDATA[Noticias]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[colecciones]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[trucos]]></category>

		<guid isPermaLink="false">http://desarrollandoideas.com.ar/?p=106</guid>
		<description><![CDATA[Siempre viene bien tener a mano algunas guias para trabajar con WordPress, ya sea desde cero o como desarrollador avanzado. Siempre son útiles los tips y trucos que podemos encontrar desperdigados por la web, muchas veces luego de intensas búsquedas. Pensando en esto es que la gente de Mogdesign ha recopilado una lista con cientos [...]]]></description>
			<content:encoded><![CDATA[<p>Siempre viene bien tener a mano algunas guias para trabajar con WordPress, ya sea desde cero o como desarrollador avanzado. Siempre son útiles los tips y trucos que podemos encontrar desperdigados por la web, muchas veces luego de intensas búsquedas. Pensando en esto es que la gente de <a title="Mogdesign" href="http://mogdesign.eu">Mogdesign</a> ha recopilado una <a title="Cientos de tutoriales" href="http://mogdesign.eu/blog/ultimate-wordpress-tutorial-collection/">lista con cientos de tutoriales, tips, trucos y guías</a>, tanto para administrar WordPress como para crear themes y plugins. Un excelente recurso que no puede faltar en nuestros marcadores.</p>
<p>Vía: <a title="Mogdesign" href="http://mogdesign.eu">Mogdesign</a> | <a title="Ultimate WordPress Tutorial Collection" href="http://mogdesign.eu/blog/ultimate-wordpress-tutorial-collection/">Ultimate WordPress Tutorial Collection</a></p>
]]></content:encoded>
			<wfw:commentRss>http://desarrollandoideas.com.ar/2009/05/04/cientos-de-tutoriales-de-wordpress/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Django desde cero [Screencasts]</title>
		<link>http://desarrollandoideas.com.ar/2008/10/14/django-desde-cero-screencasts/</link>
		<comments>http://desarrollandoideas.com.ar/2008/10/14/django-desde-cero-screencasts/#comments</comments>
		<pubDate>Tue, 14 Oct 2008 15:20:53 +0000</pubDate>
		<dc:creator>Paul M Dorr</dc:creator>
				<category><![CDATA[Desarrollo Web]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[Screencasts]]></category>

		<guid isPermaLink="false">http://brilliantideasstock.com.ar/?p=43</guid>
		<description><![CDATA[Django From the Ground Up es una serie de Screencasts muy interesantes que nos muestran como crear una aplicación web Django desde cero. El ejemplo utilizado durante el tutorial es una página con un funcionamiento similar al de Twitter, pero con el fin de publicar eventos y participar en ellos. En el primer video se [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Django from the ground up" href="http://showmedo.com/videos/series?name=PPN7NA155" target="_blank"><strong>Django From the Ground Up</strong></a> es una serie de Screencasts muy interesantes que nos muestran como crear una aplicación web Django desde cero. El ejemplo utilizado durante el tutorial es una página con un funcionamiento similar al de Twitter, pero con el fin de publicar eventos y participar en ellos.</p>
<p>En el primer video se muestra el funcionamiento de la aplicación, la creación del proyecto en Django y versionado del mismo mediante <a title="Git" href="http://git.or.cz/" target="_blank">Git</a>. A partir del segundo ya se configura la aplicación y se crean modelos, mientras que en el 12 (el último de la serie por ahora) agregan funcionalidades Ajax mediante jQuery.</p>
<p>Para aquellos que no está acostumbrados a escuchar inglés va una buena noticia (no, no es en español el video =P), y es que el autor de los mismos habla de una forma bastante entendible y tranquila, en un inglés que puede resultar claro incluso (quizás) para aquellos más &#8220;duros de oído&#8221; en lo que a este idioma respecta.</p>
<p>Nota: El autor de estos screencasts utiliza un entorno ya seteado de Django, el cual explica como realizar en esta otra serie de videos: <a title="Setting up a django development enviroment" href="http://showmedo.com/videos/series?name=LY7fNbpc1" target="_blank">Setting Up a Django Development Enviroment</a>.</p>
<p><strong><em>The Doctor</em></strong></p>
<p><em>Links:</em> <a title="Django from the ground up" href="http://showmedo.com/videos/series?name=PPN7NA155" target="_blank">Django From the Ground Up</a> | <a title="Setting up a django development enviroment" href="http://showmedo.com/videos/series?name=LY7fNbpc1" target="_blank">Setting Up a Django Development Enviroment</a></p>
<p><em>Origen:</em> <a title="ShowMeDo" href="http://showmedo.com" target="_blank">showmedo.com</a> | <em>Vía: </em>Mis feeds en <a title="Google Reader =P" href="http://www.google.com/reader" target="_blank">Google Reader</a> =P</p>
]]></content:encoded>
			<wfw:commentRss>http://desarrollandoideas.com.ar/2008/10/14/django-desde-cero-screencasts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Abandono del Tutorial de JSF</title>
		<link>http://desarrollandoideas.com.ar/2008/09/10/abandono-del-tutorial-de-jsf/</link>
		<comments>http://desarrollandoideas.com.ar/2008/09/10/abandono-del-tutorial-de-jsf/#comments</comments>
		<pubDate>Wed, 10 Sep 2008 14:30:24 +0000</pubDate>
		<dc:creator>Paul M Dorr</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[JSF]]></category>
		<category><![CDATA[Tutoriales]]></category>

		<guid isPermaLink="false">http://brilliantideasstock.com.ar/?p=36</guid>
		<description><![CDATA[Voy a dejar de escribir el tutorial de JSF que venía haciendo por varios motivos: Nadie lee este miserable blog Nadie lee el tutorial JSF/Java/Etc me están decepcionando mucho Hace rato que estoy por empezar a usar Django&#8230; &#8230; ya falta poco para que empiece a usarlo Ya salió la versión 1 de Django Django [...]]]></description>
			<content:encoded><![CDATA[<p>Voy a dejar de escribir el tutorial de JSF que venía haciendo por varios motivos:</p>
<ol>
<li>Nadie lee este miserable blog <img src='http://desarrollandoideas.com.ar/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </li>
<li>Nadie lee el tutorial</li>
<li>JSF/Java/Etc me están decepcionando mucho</li>
<li>Hace rato que estoy por empezar a usar Django&#8230;</li>
<li>&#8230; ya falta poco para que empiece a usarlo</li>
<li>Ya salió la versión 1 de Django</li>
<li>Django es más lindo</li>
<li>Más rápido</li>
<li>Más liviano</li>
<li>Menos rompebolas</li>
<li>Está en Python</li>
<li>Me fui de tema&#8230;</li>
<li>En fin, porque no tiene sentido ya seguir con este tutorial</li>
</ol>
<p>Espero que a alguien le haya servido lo poco que escribí, y que le sirva lo que escribiré más adelante cuando tenga tiempo, sobre otros temas de desarrollo.</p>
<p>El blog sigue la misma onda, pero intentaré incorporar más que nada noticias del mundo del desarrollo y demás yerbas&#8230;</p>
<p>Apenas tenga algo de tiempo y ganas, pretendo darle a este blog la vida que no tiene y que no tuvo el anterior.</p>
<p>Saludos!</p>
<p><em><strong>The Doctor</strong></em></p>
]]></content:encoded>
			<wfw:commentRss>http://desarrollandoideas.com.ar/2008/09/10/abandono-del-tutorial-de-jsf/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

