<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Jesús Navarrete</title>
	
	<link>http://blog.jenaiz.com</link>
	<description>blog.jenaiz.com</description>
	<lastBuildDate>Tue, 28 Jun 2011 08:00:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/jenaiz" /><feedburner:info uri="jenaiz" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>When @deprecated becomes in dead code</title>
		<link>http://feedproxy.google.com/~r/jenaiz/~3/3F4z_nmlNTo/</link>
		<comments>http://blog.jenaiz.com/2011/06/28/when-deprecated-becomes-in-dead-code/#comments</comments>
		<pubDate>Tue, 28 Jun 2011 08:00:54 +0000</pubDate>
		<dc:creator>jenaiz</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[Clean Code]]></category>

		<guid isPermaLink="false">http://blog.jenaiz.com/?p=416</guid>
		<description><![CDATA[<p>In java @deprecated word means (directly from the Java API):</p> <p>A program element annotated @Deprecated is one that programmers are discouraged from using, typically because it is dangerous, or because a better alternative exists. Compilers warn when a deprecated program element is used or overridden in non-deprecated code.</p> <p>a way to say that something is [...]]]></description>
			<content:encoded><![CDATA[<p>In java @deprecated word means (directly from the Java API):</p>
<blockquote><p>A program element annotated @Deprecated is one that programmers are discouraged from using, typically because it is dangerous, or because a better alternative exists. Compilers warn when a deprecated program element is used or overridden in non-deprecated code.</p></blockquote>
<p>a way to say that something is from the past and we&#8217;re not going to update/use anymore. No more fix, no changes, no maintenance.</p>
<p>It&#8217;s easy to use, because you only need to write:</p>
<pre class="java">/**
  * @deprecated any-reason-if-you-want
  */</pre>
<p>or use @Deprecated annotation.</p>
<p>Easy to use, but not always well used. Sometimes I find uses of this keyword that it&#8217;s bad, at least in my opinion. I&#8217;m talking about refactoring. As bis as your project is, it&#8217;s very difficult to refactor, I know. But IDEs like Eclipse give you a very good tools to refactoring, in particular, change the name of your method or class.</p>
<p>If you use deprecation like a way to &#8220;change&#8221; the name of a method, because you found one more descriptive, you&#8217;re doing something wrong. The first, you are giving two different ways to do the same thing. The next developer could think why you don&#8217;t change this name and the most probably is that he don&#8217;t delete it. Other problem is that you have to update your Javadoc when you decide to change the new method name. Why don&#8217;t you decide to change the name only and fix the issues if they exist?</p>
<p>Don&#8217;t left that for the next iteration, don&#8217;t allow others to think &#8220;Why is this here?&#8221;. And don&#8217;t think that you are going to have more time in the future to delete that.</p>
<p>It&#8217;s different if you are using your class in serialization, the problem is more complex, not impossible, but yes more complex. If you have a public API with some version open to customers, you must to use deprecation.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jenaiz.com/2011/06/28/when-deprecated-becomes-in-dead-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.jenaiz.com/2011/06/28/when-deprecated-becomes-in-dead-code/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=when-deprecated-becomes-in-dead-code</feedburner:origLink></item>
		<item>
		<title>¿Cuál será el futuro de Java?</title>
		<link>http://feedproxy.google.com/~r/jenaiz/~3/ipSbcGtF_Qg/</link>
		<comments>http://blog.jenaiz.com/2010/10/28/cual-sera-el-futuro-de-java/#comments</comments>
		<pubDate>Thu, 28 Oct 2010 07:58:00 +0000</pubDate>
		<dc:creator>jenaiz</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[oracle]]></category>

		<guid isPermaLink="false">http://www.jenaiz.com/?p=383</guid>
		<description><![CDATA[<p>Tiempo atrás queda ya la <a href="http://www.oracle.com/us/corporate/press/018363">adquisición de Sun por parte Oracle</a>. Ya desde sus inicios surgieron <a href="http://blogs.computerworld.com/oracle_sun_what_happens_to_mysql">dudas</a> acerca del cómo sus productos serían <a href="http://www.osnews.com/story/21340/What_s_Going_to_Happen_with_OpenOffice_MySQL_SPARC_">absorbidos</a>. Tiempo ha pasado y ya se han visto algunos resultados: OpenOffice, <a href="http://sstallion.blogspot.com/2010/08/opensolaris-is-dead.html">Open solaris</a>, Glassfish, MySql, Java&#8230;</p> <p>Más tarde saltaría la <a href="http://www.scribd.com/doc/35811761/Oracle-s-complaint-against-Google-for-Java-patent-infringement">primera demanda</a> por el uso de [...]]]></description>
			<content:encoded><![CDATA[<p>Tiempo atrás queda ya la <a href="http://www.oracle.com/us/corporate/press/018363">adquisición de Sun por parte Oracle</a>. Ya desde sus inicios surgieron <a href="http://blogs.computerworld.com/oracle_sun_what_happens_to_mysql">dudas</a> acerca del cómo sus productos serían <a href="http://www.osnews.com/story/21340/What_s_Going_to_Happen_with_OpenOffice_MySQL_SPARC_">absorbidos</a>. Tiempo ha pasado y ya se han visto algunos resultados: OpenOffice, <a href="http://sstallion.blogspot.com/2010/08/opensolaris-is-dead.html">Open solaris</a>, Glassfish, MySql, Java&#8230;</p>
<p>Más tarde saltaría la <a href="http://www.scribd.com/doc/35811761/Oracle-s-complaint-against-Google-for-Java-patent-infringement">primera demanda</a> por el uso de Java desde Oracle a Google. Se le acusa de violación de diversas patentes en su SO Android, Google <a href="http://www.groklaw.net/pdf2/OraGoogle-32.pdf">se defiende</a> y pide que se <a href="http://www.groklaw.net/pdf2/OraGoogle-33.pdf">desestime la demanda</a>. ¿Podríamos ir considerando esto un tipo de presión? ¿Una forma de hacer caja por parte de Oracle? Algunos intentan dar alguna <a href="http://redmonk.com/sogrady/2010/08/14/oracle-v-google/">explicación</a> y arrojar luz al por qué.</p>
<p>Llega la JavaOne, uno de los eventos más populares y famoso en el mundo java. No se revela nada importante; parece hablarse mucho de  JavaFX. Aunque, de los temas candentes del momento como el futuro de Java, las demandas por patentes, etc, ni una palabra. La keynote de Larry Ellison muy orientada a los clientes de Oracle y no tanto a la comunidad Java. Un evento totalmente desvirtualizado.</p>
<p>En otro orden, IBM, después de contribuir durante tiempo a Harmony decide crear una <a href="http://www.oracle.com/us/corporate/press/176988">nueva alianza</a> con Oracle, posicionándose a su lado y discontinuando sus contribuciones a Harmony en favor del OpenJDK. Apache se <a href="https://blogs.apache.org/foundation/entry/statement_by_the_asf_board">pronuncia</a>, aunque dice poco acerca del futuro de Harmony o suficiente,  según se quiera interpretar.</p>
<p>De forma paralela se aprecian noticias de nuevas alianzas, hablamos de <a href="http://www.computerweekly.com/Articles/2010/10/25/243506/Google-and-VMware-launch-joint-Java-developer-tools-for-the.htm">Google y VMWare</a>. ¿Está esto manifestando algo más? ¿Son un grupo de presión? ¿Van a funcionar al margen de Oracle, en paralelo o entrarán por el aro?</p>
<p>Apple da su <a href="http://events.apple.com.edgesuite.net/1010qwoeiuryfg/event/index.html">keynote</a>, anuncia sus nuevos productos, su nueva dirección, y comunica que <a href="http://www.infoq.com/news/2010/10/apple-deprecates-java">java está deprecated</a>. Se cruzan correos, Steve Jobs responde, pero hay opiniones encontradas, <a href="http://nighthacks.com/roller/jag/entry/steve_jobs_comments_on_apple">por ejemplo</a> de Gosling.</p>
<p>De forma paralela, llegan las <a href="http://jcp.org/aboutJava/communityprocess/elections/2010.html">elecciones del JCP</a>. Oracle se saca de la chistera a una empresa (<a href="http://www.hologic.com/en/">Hologic</a>) de la que nadie ha oido hablar, un intento de sustituir a Doug Lead, que <a href="http://gee.cs.oswego.edu/dl/html/jcp22oct10.html">abandona</a> el comité por voluntad propia; Henrik Ståhl, <a href="http://blogs.oracle.com/henrik/2010/10/doug_lea_leaves_the_jcp_ec.html">responde</a>. <a href="http://ianskerrett.wordpress.com/">Ian Skerret</a>, director de marketing de la Fundación Eclipse, en una <a href="http://ianskerrett.wordpress.com/2010/10/22/dear-oracle-get-a-clue/">carta</a> dirigida a Oracle le resalta qué es lo que está haciendo mal.</p>
<p>Estas son algunas de las reacciones que la comunidad ha iniciado y le seguirán más. Algunos empiezan a pedir públicamente un <a href="http://gregluck.com/blog/archives/2010/10/is-it-time-to-fork-java/">fork de java</a>, otros empiezan a <a href="http://www.petitionspot.com/petitions/macjdk">aunar firmas</a> para la liberación por parte de Apple de su JDK&#8230; A lo que supongo vendrán más.</p>
<p>¿Es tiempo de ir mirando otros lenguajes? Mejor esperar y, ¿verlas venir? ¿Qué opináis?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jenaiz.com/2010/10/28/cual-sera-el-futuro-de-java/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		<feedburner:origLink>http://blog.jenaiz.com/2010/10/28/cual-sera-el-futuro-de-java/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=cual-sera-el-futuro-de-java</feedburner:origLink></item>
		<item>
		<title>Extraño error de Passenger por RubyGems</title>
		<link>http://feedproxy.google.com/~r/jenaiz/~3/aWeBVt0FOyI/</link>
		<comments>http://blog.jenaiz.com/2009/07/23/extrano-error-de-passenger-por-rubygems/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 22:52:22 +0000</pubDate>
		<dc:creator>jenaiz</dc:creator>
				<category><![CDATA[RubyOnRails]]></category>
		<category><![CDATA[dreamhost]]></category>
		<category><![CDATA[passenger]]></category>
		<category><![CDATA[ror]]></category>
		<category><![CDATA[rubygems]]></category>

		<guid isPermaLink="false">http://blog.jenaiz.com/?p=333</guid>
		<description><![CDATA[<p>Intentando configurar un entorno multistage en <a href="http://www.dreamhost.com">dreamhost</a> para un proyecto personal y tras haber logrado el despliegue para mi configuración de staging, al comprobar la aplicación descubro que <a href="http://www.modrails.com/">Passenger</a> me da un error. Dado que según él no es un error de aplicación, me recomienda comprobar los logs del servidor web, para ver [...]]]></description>
			<content:encoded><![CDATA[<p>Intentando configurar  un entorno multistage en <a href="http://www.dreamhost.com">dreamhost</a> para un proyecto personal y tras haber logrado el despliegue para mi configuración de staging, al comprobar la aplicación descubro que <a href="http://www.modrails.com/">Passenger</a> me da un error. Dado que según él no es un error de aplicación, me recomienda comprobar los logs del servidor web, para ver la traza del mismo.</p>
<p>Por si os sirve de ayuda, en <a href="http://blog.dreamhosters.com/kbase/index.cgi?area=400">dreamhost los logs del servidor</a>, se encuentran en:</p>
<blockquote><p>/home/username/logs/yourdomain.com/http.#####/access.log<br />
/home/username/logs/yourdomain.com/http.#####/error.log</p></blockquote>
<p>Los tenía localizados, pero no lograba ver nada en <em>error.log</em>, y en <em>access.log</em> sólo veía mis peticiones, lo normal.</p>
<p>Hace tiempo que no actualizo el servidor, y pensaba continuamente en los posibles errores que podría haber con respecto a versiones de gemas utilizadas, por lo que después de redesplegar varias veces intentando reajustar, seguía sin lograr ver la traza del error.</p>
<p>Tras comparar con mi instalación en local, decido buscar a fondo en el servidor, compruebo versiones de gemas, configuración, tenía cambios importantes con respecto a una versión anterior, a parte de estar utilizando una versión mucho más reciente de <a href="http://www.rubyonrails.org">Rails</a>, pero seguía sin funcionar y sin ver nada en las trazas. Cierto es que tenía algunas cosillas que no estaban del todo bien, y que gracias a esto he ido corrigiendo, pero nada que apuntase en la dirección del erro. Así que ejecuto un simple:</p>
<blockquote><p>rake -T</p></blockquote>
<p>si todo funciona bien con los plugins y las gemas, me dará el listado de tareas, simple; y he aquí que localizo la fuente del error! La versión de <a href="http://rubygems.org">RubyGems</a> es demasiado antigua para esta versión de Rails, la verdad es que las trazas inexistentes no han sido de gran ayuda para ver este error <img src='http://blog.jenaiz.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Mi versión era la 1.2.0 y se requería mínimo la 1.3.</p>
<p>Decidido a solucionarlo, intento actualizar, un simple:</p>
<blockquote><p>gem update &#8211;system</p></blockquote>
<p>&#8230; no soluciona nada, dado que responde con un:</p>
<blockquote><p>Nothing to Update</p></blockquote>
<p>Así que probamos la siguiente opción:</p>
<blockquote><p>gem install rubygems-update<br />
update_rubygems</p></blockquote>
<p>El problema es que ya de partida la instalación de rubygems-update, versión 1.3.5, arroja unos errores, aparentemente no preocupantes al terminar de instalarse, sin embargo al intentar ejecutar el segundo comando, nos da un error, siento no haber anotado la traza.</p>
<p>Navegando en internet, descubro que dicha versión tiene ese problema, que está anotado en los foros, pero que no ha sido resuelto, y la recomendación es: instalación manual; ante esto me han entrado las dudas y la simple pereza. Si actualizaba, ¿existirían problemas con mis gemas instaladas en mi directorio personal? Tendría que reinstalarlo todo, en principio suponía que no, pero no estaba del todo seguro, cuando sin embargo me he acordado de algo.</p>
<p>En las últimas versiones de <a href="http://rubygems.org">RubyGems</a>, si no antepones <strong>sudo</strong>, al comando de instalación, la copia se hace en la home del usuario que instala y todo funciona sin problemas, para él. Así que me he decidido por quitar todas las configuraciones que existían en mis ficheros acerca del mi propia instalación de <a href="http://rubygems.org">RubyGems</a> y he logrado comprobar que los chicos de <a href="http://www.dreamhost.com">dreamhost</a> ya habían actualizado a la última versión. Así que ni corto ni perezoso he pasado de actualizar manualmente mi copia, y eso sí, continuaré utilizando mi instalación de gemas en mi cuenta de usuario, así podré controlar que gemas instalo y que versiones, dado que no siempre he encontrado las gemas que necesitaba instaladas, es por esto por lo que empezó todo (&#8230;y por no poder ejecutar <em>sudo</em> <img src='http://blog.jenaiz.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jenaiz.com/2009/07/23/extrano-error-de-passenger-por-rubygems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.jenaiz.com/2009/07/23/extrano-error-de-passenger-por-rubygems/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=extrano-error-de-passenger-por-rubygems</feedburner:origLink></item>
		<item>
		<title>Migración total del sistema</title>
		<link>http://feedproxy.google.com/~r/jenaiz/~3/wF3GnZ0L8o8/</link>
		<comments>http://blog.jenaiz.com/2009/06/01/migracion-total-del-sistema/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 18:21:34 +0000</pubDate>
		<dc:creator>jenaiz</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blog.jenaiz.com/?p=326</guid>
		<description><![CDATA[<p>Para todos aquellos que seguís este blog, y continuáis ahí después de la última actualización&#8230; decir que se va a realizar una migración total del sistema, esto es: servidor, sistema de blog, actualización de los feeds y un pequeño cambio en el dominio.</p> <p>Los cambios:</p> <p>- El sistema de gestión del blog, hasta ahora <a [...]]]></description>
			<content:encoded><![CDATA[<p>Para todos aquellos que seguís este blog, y continuáis ahí después de la última actualización&#8230; decir que se va a realizar una migración total del sistema, esto es: servidor, sistema de blog, actualización de los feeds y un pequeño cambio en el dominio.</p>
<p>Los cambios:</p>
<p>- El sistema de gestión del blog, hasta ahora <a href="http://www.s9y.org">serendipity</a>, deja de ser el alma del blog y pasamos a <a href="http://www.wordpress.com">WordPress</a>. Todos los datos, las imágenes, etc. han sido migrados ya.</p>
<p>- Los feeds. Con respecto a esto hace tiempo que empezé a utiliar feedburner, pero tras la compra por parte de google, he migrado la cuenta tal como me recomendaba el sistema y a partir de ahora hay una nueva dirección:</p>
<p><a href="http://feeds2.feedburner.com/jenaiz">http://feeds2.feedburner.com/jenaiz</a></p>
<p>aunque según cuentan el sistema redireccionará automáticamente a los antiguos. Os recomendaría pasaros a la nueva dirección.</p>
<p>- El dominio, un pequeño cambio. La dirección del blog ahora colgará de:</p>
<p><a href="http://blog.jenaiz.com">http://blog.jenaiz.com</a></p>
<p>así el dominio general dará cabida a otras cosillas que iréis viendo.</p>
<p>- Cambiamos de servidor, nos pasamos a utilizar el servicio de dreamhost a ver que tal resulta.</p>
<p>Golpes de tambor&#8230;.</p>
<p>- Habrá un nuevo diseño, que espero os guste más que el actual. Un poco más moderno, y con colores que permitirán leer los post con mejor contraste.</p>
<p>Sólo decir que la gestión del dominio cambiará también de servidores, por lo que puede que existan algunos problemas en 24 &#8211; 48 horas.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jenaiz.com/2009/06/01/migracion-total-del-sistema/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.jenaiz.com/2009/06/01/migracion-total-del-sistema/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=migracion-total-del-sistema</feedburner:origLink></item>
		<item>
		<title>Instanciar clase desde String en Ruby</title>
		<link>http://feedproxy.google.com/~r/jenaiz/~3/aZCgLIT1Yr8/</link>
		<comments>http://blog.jenaiz.com/2008/11/26/instanciar-clase-desde-string-en-ruby/#comments</comments>
		<pubDate>Wed, 26 Nov 2008 10:13:00 +0000</pubDate>
		<dc:creator>jenaiz</dc:creator>
				<category><![CDATA[RubyOnRails]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[instanciar]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[string]]></category>

		<guid isPermaLink="false">http://192.168.1.100/~jenaiz/wordpress/?p=84</guid>
		<description><![CDATA[<p>Investigando un poco el comportamiento de <a href="http://github.com/linkingpaths/acts_as_scribe/tree/master">acts_as_scribe</a>, me surgió la necesidad de instanciar un clase conociendo el nombre de la misma. Algo que en java conocía como se realizaba:</p> Object o = Class.forName("className").newInstance() <p>lo curioso es que vi que no necesitaba esta solución, que mi problema era otro , sin embargo la curiosidad pudo [...]]]></description>
			<content:encoded><![CDATA[<p>Investigando un poco el comportamiento de <a href="http://github.com/linkingpaths/acts_as_scribe/tree/master">acts_as_scribe</a>, me surgió la necesidad de instanciar un clase conociendo el nombre de la misma. Algo que en java conocía como se realizaba:</p>
<pre name="code" class="java">Object o = Class.forName("className").newInstance()</pre>
<p>lo curioso es que vi que no necesitaba esta solución, que mi problema era otro <img src='http://blog.jenaiz.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> , sin embargo la curiosidad pudo más que la necesidad.</p>
<p>Esperaba utilizar para ello la misma clase: <a href="http://www.ruby-doc.org/core/classes/Class.html">Class</a>, sin embargo descubrí que no podía hacerlo así. En Ruby el camino es distinto. Un post en <a href="http://stackoverflow.com/questions/157480/dynamically-instantiate-a-ruby-class-similar-to-java">stackoverflow</a> me llevó a encontrar una solución múltiple, aquí las distintas posibilidades:</p>
<pre name="code" class="ruby">Object::const_get('String').new()

class_name = 'String'
eval(class_name).new

Module.const_get('Array').new</pre>
<p>Y un helper:</p>
<pre name="code" class="ruby">"String".constantize.new</pre>
<p><strong>Module.const_get</strong> no funciona con clases anidadas en módulos, digamos que no admite la sintaxis Admin::Folder, debido a que sólo reconoce sintaxis válidas para dar nombre a una constante.</p>
<p><strong>eval</strong>, por el contrario sí permite nombres de clases con namespaces, aunque sufrimos un decrimento en el rendimiento.</p>
<p>Podríamos comprobar el rendimiento de todas ellas con un simple script:</p>
<pre name="code" class="ruby">#class_instanciation.rb
#!/usr/bin/env ruby
#
#  Created by  on 2008-11-24.

require 'benchmark'
require 'qualified_const_get'

n = 1000000

Benchmark.bmbm(10) do |rpt|
rpt.report("simple") do
n.times {Array.new}
end

rpt.report("Object::const_get") do
n.times {Object::const_get('Array').new()}
end

rpt.report("Kernel.const_get") do
n.times {Kernel.const_get('Array').new}
end

rpt.report("Kernel.qualified_const_get") do
n.times {Kernel.qualified_const_get('Array').new}
end

rpt.report("eval") do
n.times {eval('Array').new}
end

# no funciona!!
#rpt.report("eval") do
#  n.times {"String".constantize.new}
#end
end</pre>
<pre name="code" class="ruby">#qualified_const_get.rb
module Kernel
def qualified_const_get(str)
path = str.to_s.split('::')
from_root = path[0].empty?
if from_root
from_root = []
path = path[1..-1]
else
start_ns = ((Class === self)||(Module === self)) ? self : self.class
from_root = start_ns.to_s.split('::')
end
until from_root.empty?
begin
return (from_root+path).inject(Object) { |ns,name| ns.const_get(name) }
rescue NameError
from_root.delete_at(-1)
end
end
path.inject(Object) { |ns,name| ns.const_get(name) }
end
end</pre>
<p>Los resultados obtenidos los podéis ver en la siguiente gráfica:</p>
<p><img src="http://farm4.static.flickr.com/3218/3061040154_93fb9041dd.jpg" alt="" /></p>
<p>en ella podemos apreciar que si utilizamos <strong>const_get</strong> se tarda aproximadamente 2 veces más que con la creación normal; que el uso de <strong>eval</strong> nos hace emplear 5 veces más tiempo y que sin duda la implementación de <strong>qualified_const_get</strong> no es nada buena, dado que nos hace emplear unos 10sg! osea unas 15 veces más.</p>
<p>La recomendación sería utilizar <strong>const_get</strong> siempre que se pueda, es decir mientras nuestra clase no tenga namespaces y <strong>eval</strong> cuando no quede más remedio. El caso de <strong>qualified_const_get</strong>, me parece poco apropiado para cualquier caso.</p>
<p>Por otro lado, el caso de <strong>constantize</strong>, no terminó de funcionar, por lo que es imposible compararlo.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jenaiz.com/2008/11/26/instanciar-clase-desde-string-en-ruby/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.jenaiz.com/2008/11/26/instanciar-clase-desde-string-en-ruby/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=instanciar-clase-desde-string-en-ruby</feedburner:origLink></item>
		<item>
		<title>Rails 2.2 liberado</title>
		<link>http://feedproxy.google.com/~r/jenaiz/~3/DGPVSKq_9JI/</link>
		<comments>http://blog.jenaiz.com/2008/11/24/rails-22-liberado/#comments</comments>
		<pubDate>Mon, 24 Nov 2008 17:55:00 +0000</pubDate>
		<dc:creator>jenaiz</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[RubyOnRails]]></category>
		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://192.168.1.100/~jenaiz/wordpress/?p=81</guid>
		<description><![CDATA[<p>Desde el <a href="http://weblog.rubyonrails.org/2008/11/21/rails-2-2-i18n-http-validators-thread-safety-jruby-1-9-compatibility-docs">viernes pasado</a> tenemos disponible la versión 2.2 de Rails, por lo que ya podemos disfrutar de innumerables características que llevábamos tiempo viendo en el <a href="http://wiki.rubyonrails.org/rails/pages/EdgeRails">Edge de Rails</a>.</p> <p>Algunas de las características que me han llamado más la atención por el uso inmediato que voy a hacer de ellas o por su [...]]]></description>
			<content:encoded><![CDATA[<p>Desde el <a href="http://weblog.rubyonrails.org/2008/11/21/rails-2-2-i18n-http-validators-thread-safety-jruby-1-9-compatibility-docs">viernes pasado</a> tenemos disponible la versión 2.2 de Rails, por lo que ya podemos disfrutar de innumerables características que llevábamos tiempo viendo en el <a href="http://wiki.rubyonrails.org/rails/pages/EdgeRails">Edge de Rails</a>.</p>
<p>Algunas de las características que me han llamado más la atención por el uso inmediato que voy a hacer de ellas o por su potencial futuro:</p>
<p>- <strong>Internacionalización i18n.</strong> Aún existiendo numerosas opciones para <a href="http://wiki.rubyonrails.org/rails/pages/Internationalization">internacionalización</a> (tal como gettext, globalize, etc), sin duda es una de las características que más se le echaban en falta a Rails desde hacía tiempo. Nosotros en <a href="http://www.toghq.com/">Tog</a> habíamos empezado a internacionalizar utilizando esta característica que estaba disponible en el <a href="http://wiki.rubyonrails.org/rails/pages/EdgeRails">Edge</a>.</p>
<p>- <strong>Compatibilidad con Ruby 1.9 y con JRuby.</strong> Mucho es el trabajo que se ha realizado para utilizar las nuevas características del lenguaje mejorando el rendimiento y adaptándose a la nueva versión de Ruby.</p>
<p>- <strong>Documentación.</strong> En este sentido caben destacar las <a href="http://guides.rubyonrails.org/">guías</a>, donde se está realizando una labor de documentación increíble. Aquí podemos apuntar un nombre de alguien que a todos os sonará por su labor: <a href="http://advogato.org/person/fxn/diary.html">Xavier Noria</a>. Sin duda uno de los puntitos para haber sido elegido <a href="http://www.flickr.com/photos/svet/3034624246">personaje Rails 2008</a> <img src='http://blog.jenaiz.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>- <strong>Mejoras en HTTP.</strong> Soporte de <em>ETag</em> y <em>Last-Modified</em> que responderán con una respuesta vacía si la página no ha cambiado.</p>
<p>- <strong>Thread Safety.</strong> Threads en rails; sin duda un tema complejo, para el cual os recomiendo leer una <a href="http://blog.headius.com/2008/08/qa-what-thread-safe-rails-means.html">explicación</a> realizada por <a href="http://blog.headius.com/">Charles Nutter</a>.</p>
<p>- <strong>Migraciones transaccionales.</strong> Desde ahora los errores producidos en una migración harán que la migración no se ejecute, como hasta ahora, pero también que quede registrado todo el proceso de la misma como inválido, restableciendo el estado de la base de datos a la migración anterior.</p>
<p>- <strong>Pool de conexiones.</strong> Podemos manejar un <em>pool de conexiones</em> para conectarnos con la base de datos, fácilmente configurable en nuestro <em>database.yml</em>.</p>
<p>- <strong>Resources con acciones específicas.</strong> Hasta ahora cuando creabas los <strong>resources</strong> automáticamente para un modelo se creaban las 7 acciones por defecto: <em>index</em>, <em>show</em>, <em>create</em>, <em>new</em>, <em>edit</em>, <em>update</em> y <em>destroy</em>. Sin embargo esto tiene un gasto de memoria extra y crea una lógica que en ocasiones no tienes porqué usar, por lo que ahora puedes seleccionar cuales te interesan:</p>
<pre name="code" class="ruby">map.resources :articles, <img src='http://blog.jenaiz.com/wp-includes/images/smilies/icon_surprised.gif' alt=':o' class='wp-smiley' /> nly =&gt; [:index, :show]</pre>
<p>- <strong>Action Mailer:</strong> Ahora dispone de soporte para <em>layouts</em>; tal como el resto de nuestras vistas.</p>
<p>- Se incluye también soporte para cuentas de <strong>Gmail</strong>, aunque esto requiere de la versión 1.8.7 de ruby.</p>
<p>Existen más características e información ampliada de todo lo aquí mostrado en la <a href="http://guides.rubyonrails.org/2_2_release_notes.html">nota publicada</a> de esta <em>release</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jenaiz.com/2008/11/24/rails-22-liberado/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.jenaiz.com/2008/11/24/rails-22-liberado/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rails-22-liberado</feedburner:origLink></item>
		<item>
		<title>Reflexión tras la Conferencia Rails</title>
		<link>http://feedproxy.google.com/~r/jenaiz/~3/TQfwlrtF32E/</link>
		<comments>http://blog.jenaiz.com/2008/11/19/reflexia%c2%b3n-tras-la-conferencia-rails/#comments</comments>
		<pubDate>Wed, 19 Nov 2008 10:27:00 +0000</pubDate>
		<dc:creator>jenaiz</dc:creator>
				<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[RubyOnRails]]></category>
		<category><![CDATA[conferencia rails]]></category>
		<category><![CDATA[ror]]></category>

		<guid isPermaLink="false">http://192.168.1.100/~jenaiz/wordpress/?p=83</guid>
		<description><![CDATA[<p>A finales de la semana pasada, se celebró en Madrid la <a href="http://www.conferenciarails.org/">Conferencia Rails 2008</a>, tal como os comenté, estuve allí conociendo gente, intercambiando opiniones y descubriendo lo que se está haciendo con Rails.</p> <p>Este año he podido disfrutar asistiendo ambos días, además he disfrutado como más me hubiese gustado hacerlo siempre. Dado que desde [...]]]></description>
			<content:encoded><![CDATA[<p>A finales de la semana pasada, se celebró en Madrid la <a href="http://www.conferenciarails.org/">Conferencia Rails 2008</a>, tal como os comenté, estuve allí conociendo gente, intercambiando opiniones y descubriendo lo que se está haciendo con Rails.</p>
<p>Este año he podido disfrutar asistiendo ambos días, además he disfrutado como más me hubiese gustado hacerlo siempre. Dado que desde hace un tiempo he estado trabajando más intensamente con Rails, y este ha sido el primer evento relacionado con el tema al que he podido asistir, eso si no contamos el <a href="http://www.toghq.com/info/event20081009">evento de Tog</a> en octubre <img src='http://blog.jenaiz.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>
<p>Como es habitual, aporto mi pequeña gota de feedback y como también es normal, no lo haré de todas las charlas, sino de aquellas que más me impactaron o que por una causa u otra más <em>recuerdos</em> han dejado en mi. Para los que se queden con ganas de más, les recuerdo que la organización grabó las charlas y que seguramente pronto estarán disponibles los vídeos como en otras ocasiones.</p>
<p><strong>Apertura y keynote por <a href="http://www.hashref.com/">fxn</a>.</strong> Una manera de abrir la conferencia singular, con referencias a hechos que originaron cambios. Personas que fueron contra corriente, con formas de pensar y/o hacer diferentes&#8230; Somos reacios al cambio, somos <em>animales</em> de costumbres y nos cuesta aceptar algo nuevo, pero cuando el cambio es llevado a cabo, cuando nos dejamos embaucar por lo extraño, sin duda disfrutamos como niños. Rails sin dudarlo es una <a href="http://www.amazon.com/Tipping-Point-Little-Things-Difference/dp/0316346624">pequeña cosa que ha hecho una gran diferencia</a>. Frameworks hay muchos, intentos de hacerlo de otra forma también, pero corrientes como la que vivimos no han habido tantas. Lo que más me maravilla de esta comunidad es que muchos hemos llegado a ella con experiencia sobre otras, con lecciones aprendidas a fuego y veo cosas que me gustan bastante.</p>
<p><strong>Caso de éxito: &#8220;Tog: Open Web, Social Networks y cintas de video&#8221;.</strong> Una explicación de la visión sobre los objetos sociales y sobre lo que una red social debería crearse. Intentando mostrar el aporte que <a href="http://www.toghq.com/">Tog</a> podría hacer con respecto a crear una red social. No sé si fue la charla, si oir a Aitor en estado catarroso o si definitivamente <a href="http://www.toghq.com/">Tog</a> tiene el tirón que parece. El caso es que el último día las votaciones de mejor proyecto del año 2008 recayó sobre él XD, y eso que fue liberado a ¡finales de septiembre! La verdad es que el trabajo detrás de esta primera inflexión que supuso la liberación del código se remonta a bastantes meses atrás. Antes hubo pruebas, proyectos, afinamiento de ideas y tras todo eso la creación de lo que ahora mismo es. Todo ello entorno a la idea que nos mueve de los objetos sociales y su valor.</p>
<p><strong>Rails HOT or NOT.</strong> Os recomiendo verla en video <img src='http://blog.jenaiz.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . No había utilizado todos los plugins que se comentaron, en ocasiones no podía decir nada malo por uno de ellos, pero sin duda descubrí opciones, opiniones en base a experiencias y espero pronto leer las conclusiones en la lista de <a href="http://lists.simplelogica.net/mailman/listinfo/ror-es">ror-es</a>; además de invertir algo de tiempo en cacharrear con alguno de ellos.</p>
<p><strong>Speed dating.</strong> Un experimento que pudo hacer que nos relacionásemos <em>gente con proyectos en busca de gente</em> y <em>gente en busca de proyectos</em>, aunque tubo un mayor aporte de empresas que buscaban personal para contratar que lo yo personalmente hubiese querido encontrar. Aún así, una grata experiencia.</p>
<p><strong>Caso de éxito: &#8220;b5map: Maps on Rails&#8221;.</strong> La verdad es que ya conocía la web desde hacía tiempo, conozco Aitor por sus post en <a href="http://www.jaiku.com">jaiku</a>, pero desconocía las <strong>tiranteces</strong> que parece haber entre los ayuntamientos. Algo que me llamó mucho la atención, fue descubrir que el proyecto se había llevado a cabo aunando a freelances y pequeñas empresas, algo loable viniendo de una administración pública.</p>
<p><strong>Keynote por Obie.</strong> Una forma de ver el mundo laboral y empresarial diferente a lo que se ve en este país. Sin duda oír hablar a <a href="http://obiefernandez.com/">Obie</a> diciendo que son buenos desarrollando, que les gusta y que eso es a lo que se dedican y es lo que le transmiten a sus clientes; lo cual despertó algún comentario en los asistentes, dada la comparación con lo que vivimos aquí en España. Aplicación de <a href="http://en.wikipedia.org/wiki/Pair_programming">Pair Programming</a> todo el tiempo, un ambiente laboral agradable, invitaciones a personas destacadas dentro del mundo de la programación para que interaccionen con la gente que trabaja en <a href="http://www.hashrocket.com/">Hashrocket</a>, etc etc. Fue agradable de escuchar y creo que sería increíble trabajar en esos ambientes (al lado de la playa <img src='http://blog.jenaiz.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ) y de con esas premisas. Aunque sin duda mi conclusión actual es que no estamos tan lejos de conseguirlo, y que la nueva cultura de empresas pequeñas haciendo software creada entorno a Rails, podría llevarnos a eso.</p>
<p>Por comentar, me queda por ver a fondo la charla de <a href="http://www.eparreno.com/">Emili Parreño</a> sobre ActiveRecord, echarle un vistazo a <a href="http://francescesplugas.com/pages/typus">Typus</a>, probar <a href="http://aws.amazon.com/ec2/">EC2 de Amazon</a>, hacerse con uno de los aparatos que vimos en: <strong>Hardware Hacking en Ruby y casi en Rails</strong> para <em>iluminar los deploys</em> y definitivamente: hacer <a href="http://rubyhoedown2008.confreaks.com/05-bryan-liles-lightning-talk-tatft-test-all-the-f-in-time.html">TAFT</a> <img src='http://blog.jenaiz.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jenaiz.com/2008/11/19/reflexia%c2%b3n-tras-la-conferencia-rails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.jenaiz.com/2008/11/19/reflexia%c2%b3n-tras-la-conferencia-rails/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=reflexia%25c2%25b3n-tras-la-conferencia-rails</feedburner:origLink></item>
		<item>
		<title>En la conferencia Rails</title>
		<link>http://feedproxy.google.com/~r/jenaiz/~3/C0SsCRgfkIg/</link>
		<comments>http://blog.jenaiz.com/2008/11/14/en-la-conferencia-rails/#comments</comments>
		<pubDate>Fri, 14 Nov 2008 14:03:40 +0000</pubDate>
		<dc:creator>jenaiz</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[RubyOnRails]]></category>
		<category><![CDATA[conferencia rails]]></category>
		<category><![CDATA[evento]]></category>

		<guid isPermaLink="false">http://192.168.1.100/~jenaiz/wordpress/?p=82</guid>
		<description><![CDATA[<p>Desde ayer estoy disfrutando de lo que se está viendo en la conferencia rails; por tercer año consecutivo se está celebrando en Madrid y por primera vez para mi puedo asistir.</p> <p>En breve mi feedback de la misma.</p> <p>Si alguno estáis por allí y aún no nos hemos visto, no dudéis soy tímido pero no [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-101" title="Asistente a la Conferencia Rails 2008" src="http://farm4.static.flickr.com/3475/3775389988_d17188850b.jpg" alt="Asistente a la Conferencia Rails 2008" width="110" height="66" />Desde ayer estoy disfrutando de lo que se está viendo en la conferencia rails; por tercer año consecutivo se está celebrando en Madrid y por primera vez para mi puedo asistir.</p>
<p>En breve mi feedback de la misma.</p>
<p>Si alguno estáis por allí y aún no nos hemos visto, no dudéis soy tímido pero no muerdo <img src='http://blog.jenaiz.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jenaiz.com/2008/11/14/en-la-conferencia-rails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.jenaiz.com/2008/11/14/en-la-conferencia-rails/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=en-la-conferencia-rails</feedburner:origLink></item>
		<item>
		<title>Internship 2008 y flatee.com</title>
		<link>http://feedproxy.google.com/~r/jenaiz/~3/0is48Fe5hF0/</link>
		<comments>http://blog.jenaiz.com/2008/10/03/internship-2008-y-flateecom/#comments</comments>
		<pubDate>Fri, 03 Oct 2008 09:00:00 +0000</pubDate>
		<dc:creator>jenaiz</dc:creator>
				<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[RubyOnRails]]></category>
		<category><![CDATA[flatee]]></category>
		<category><![CDATA[internship]]></category>

		<guid isPermaLink="false">http://192.168.1.100/~jenaiz/wordpress/?p=79</guid>
		<description><![CDATA[<p>A poco de iniciar mi actividad como freelance, comenzamos un proyecto para aprender los entresijos de rails y a la vez enfrentarnos a otro tipo de problemas que no tenían que ver tanto con programación. Como recordaréis estoy hablando de <a href="http://www.jenaiz.com/index.php?/archives/135-El-comienzo-de-un-nuevo-proyecto-flatee.com.html">flatee.com</a>.</p> <p>Pues bien, he de anunciar que el <a href="http://weblog.linkingpaths.com/2008/06/02/linking-internship-2008/">Internship</a> se ha dado por [...]]]></description>
			<content:encoded><![CDATA[<p>A poco de iniciar mi actividad como freelance, comenzamos un proyecto para aprender los entresijos de rails y a la vez enfrentarnos a otro tipo de problemas que no tenían que ver tanto con programación. Como recordaréis estoy hablando de <a href="http://www.jenaiz.com/index.php?/archives/135-El-comienzo-de-un-nuevo-proyecto-flatee.com.html">flatee.com</a>.</p>
<p>Pues bien, he de anunciar que el <a href="http://weblog.linkingpaths.com/2008/06/02/linking-internship-2008/">Internship</a> se ha dado por clausurado y el resultado no ha sido nada alentador.</p>
<p>La verdad es que se juntaron varias cosas, como ya <a href="http://weblog.linkingpaths.com/2008/10/03/decepcion-con-el-linking-internship-2008/trackback/">apuntan</a> en el blog de Linking. Una vez más se ha evidenciado <strong>la importancia de la dedicación total</strong>, es difícil que un proyecto propio o sideproject se convierta en una realidad cuando el tiempo empleado para ello es muy limitado.</p>
<p>Creo sinceramente que el momento en el tiempo no fue el mejor (verano); que se junto con el comienzo de nuestra nueva actividad; que quizás es bastante cierto que faltó algo de presión por tener un entregable; que nuestra dedicación no era completa y se juntó con otras actividades que colapsaron nuestro día a día; y quizás otros factores que no soy capaz de ver en este momento. Todo esto suena a <em>excusas explicatorias</em>, pero nada más lejos; lo importante es el análisis de lo ocurrido y sacar conclusiones, para aprender de la experiencia.</p>
<p>Para mi es un trago amargo pensar en el resultado, no se puede decir que de la experiencia no haya sacado nada, pues no estaría diciendo la verdad. Sin embargo he querido concluir totalmente con ello y en principio dado que no podía comprometerme una vez más y mentirme a mi mismo y a mis compañeros sobre el tiempo real que podría dedicar, he decicido <em>no continuar activamente</em> con el proyecto. No descarto volver a hacer más cosas en el proyecto, pero a día de hoy no tengo la certeza suficiente de cuánto puedo dedicarme a él.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jenaiz.com/2008/10/03/internship-2008-y-flateecom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.jenaiz.com/2008/10/03/internship-2008-y-flateecom/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=internship-2008-y-flateecom</feedburner:origLink></item>
		<item>
		<title>Una red social para desarrolladores: debug_mode=ON</title>
		<link>http://feedproxy.google.com/~r/jenaiz/~3/_XWptMc3mgI/</link>
		<comments>http://blog.jenaiz.com/2008/10/02/una-red-social-para-desarrolladores-debug_modeon/#comments</comments>
		<pubDate>Thu, 02 Oct 2008 12:45:00 +0000</pubDate>
		<dc:creator>jenaiz</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[desarrolladores]]></category>
		<category><![CDATA[redes sociales]]></category>

		<guid isPermaLink="false">http://192.168.1.100/~jenaiz/wordpress/?p=78</guid>
		<description><![CDATA[<p>La verdad es que estos días he estado bastante en silencio, pero más por falta de tiempo que otra cosa, me disculpo, y empiezo por noticias que alegran nuestro trabajo. Hace un par de semanas fue lanzado <a href="http://www.debugmodeon.com/">debug_mode=ON</a>, un portal para desarrolladores, que pretende crear una red social entorno a los mismos.</p> <p>La idea [...]]]></description>
			<content:encoded><![CDATA[<p>La verdad es que estos días he estado bastante en silencio, pero más por falta de tiempo que otra cosa, me disculpo, y empiezo por noticias que alegran nuestro trabajo. Hace un par de semanas fue lanzado <a href="http://www.debugmodeon.com/">debug_mode=ON</a>, un portal para desarrolladores, que pretende crear una red social entorno a los mismos.</p>
<p>La idea quizás tiene bastantes alicientes aunque a mi me gustaría destacar un par de ellos:</p>
<p>- Una página de referencia <em>independiente</em> del lenguaje, del sistema, de la plataforma&#8230; da igual si eres programador o administrador o como ellos mismos dicen <em>informático en general</em>, <strong>todos tienen cabida en el mismo espacio</strong>.</p>
<p>- Un lugar donde escribir artículos puede darte beneficios, pues debug_mode=ON ha optado por que los obtengas, basta con que añadas tu código de <a href="https://www.google.com/adsense/login/en_US/">Google Adsense</a> y listo.</p>
<p>El hecho de que me haya retrasado con el post, ha tenido un efecto curioso, porque he podido intercambiar impresiones con alguno de los miembros del proyecto, en concreto con <a href="http://www.gimenete.net">Alberto Gimeno</a>. La verdad es que la idea ha tenido repercusión en algunos medios, tales como: <a href="http://barrapunto.com/articles/08/09/22/224258.shtml">barrapunto</a>, <a href="http://www.javahispano.org/contenidos/es/debug_modeon_nueva_red_social_de_programadores_en_espanol/">javaHispano</a> y algún otro, lo cual ha hecho más <em>emocionante</em> el arranque inicial.</p>
<p>La tecnología utilizada, para los que aún no lo hayáis adivinado es <a href="http://code.google.com/appengine/">Google App Engine</a>, lo cual ha sido enriquecedor a un punto y ha traido algún quebradero de cabeza que otro, dado que han tenido que superar bastantes <a href="http://groups.google.com/group/google-appengine/browse_thread/thread/6ff62bbb2ee9f373?hl=en&amp;pli=1">problemas de over quota</a> en los momentos iniciales, aunque lo <a href="http://www.debugmodeon.com/item/45851/como-resolvimos-los-problemas-de-carga">superaron</a>. Como curiosidad, coincidiendo con el <a href="http://code.google.com/intl/es_ALL/events/developerday/2008/home.html">Google Developer Day</a>, que se celebró en Madrid el pasado día 25 de septiembre (al que en el último momento no puede asistir) tuvieron la oportunidad de charlar con los ingenieros de Google sobre la herramienta de Google y sobre la página, además de poder enseñársela a algunas personas que asistieron al evento.</p>
<p>Desde aquí desearles mucha suerte y fuerzas para tirar de la idea.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jenaiz.com/2008/10/02/una-red-social-para-desarrolladores-debug_modeon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.jenaiz.com/2008/10/02/una-red-social-para-desarrolladores-debug_modeon/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=una-red-social-para-desarrolladores-debug_modeon</feedburner:origLink></item>
	</channel>
</rss>

