<?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>Jesús Navarrete &#187; Open Source</title>
	<atom:link href="http://www.jenaiz.com/category/open-source/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jenaiz.com</link>
	<description>jenaiz.com</description>
	<lastBuildDate>Thu, 14 Jan 2010 12:00:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Rails 2.2 liberado</title>
		<link>http://www.jenaiz.com/2008/11/24/rails-22-liberado/</link>
		<comments>http://www.jenaiz.com/2008/11/24/rails-22-liberado/#comments</comments>
		<pubDate>Mon, 24 Nov 2008 17:55:00 +0000</pubDate>
		<dc:creator>admin</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[Desde el viernes pasado 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 Edge de Rails.
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:
- Internacionalización [...]]]></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://www.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://www.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://www.jenaiz.com/2008/11/24/rails-22-liberado/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalación de recaptcha</title>
		<link>http://www.jenaiz.com/2008/07/31/instalacion-de-recaptcha/</link>
		<comments>http://www.jenaiz.com/2008/07/31/instalacion-de-recaptcha/#comments</comments>
		<pubDate>Thu, 31 Jul 2008 07:47:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[RubyOnRails]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[recaptcha]]></category>
		<category><![CDATA[ror]]></category>

		<guid isPermaLink="false">http://192.168.1.100/~jenaiz/wordpress/?p=75</guid>
		<description><![CDATA[Si el otro día hablábamos de crear comentarios gracias al plugin acts_as_commentable, creo que convendréis conmigo en que nos dejamos una cosita en el tintero, ¿qué pasa con la seguridad? Existen infinidad de robots en internet que si ven un formulario y pueden utilizarlo, no dudarán en hacerlo. Por lo que nuestro sistema de comentarios [...]]]></description>
			<content:encoded><![CDATA[<p>Si el otro día hablábamos de crear comentarios gracias al plugin <a href="http://agilewebdevelopment.com/plugins/acts_as_commentable">acts_as_commentable</a>, creo que convendréis conmigo en que nos dejamos una cosita en el tintero, ¿qué pasa con la seguridad? Existen infinidad de robots en internet que si ven un formulario y pueden utilizarlo, no dudarán en hacerlo. Por lo que nuestro sistema de comentarios está inconcluso: debemos protegerlo. Y que mejor manera que añadir <a href="http://recaptcha.net/ ">Recaptcha</a> para validar el envio de un comentario.</p>
<p>Paso uno e indispensable, instalación del <a href="http://ambethia.com/recaptcha">plugin</a>:</p>
<blockquote><p>script/plugin install http://svn.ambethia.com/pub/rails/plugins/recaptcha</p></blockquote>
<p>Si queréis, podéis utilizar la última versión del plugin, que está alojada ahora en <a href="http://www.github.com">github</a>, por lo que si no habéis experimentado con <a href="http://es.wikipedia.org/wiki/Git">git</a> aún, os lo recomiendo como experiencia para empezar a utiliar <a href="http://es.wikipedia.org/wiki/Git">git</a>.</p>
<p>Por si os interesa lo anterior, el plugin ahora se encuentra en: <a href="http://github.com/ambethia/recaptcha">http://github.com/ambethia/recaptcha</a>.</p>
<p>Lo primero que os recomiendo es que vayáis a <a href="http://recaptcha.net/ ">Recaptcha</a> y obtengáis vuestras llaves, pública y privada, que hacen falta para poder utilizar el plugin; en mi caso ya las estaba utilizando en este blog. No os las pego por seguridad y porque no os servirían, dado que están asociadas a la url en cuestión.</p>
<p>Una vez las tenéis, deben ser añadidas a environment.rb de la forma:</p>
<pre name="code" class="ruby">ENV['RECAPTCHA_PUBLIC_KEY'] = 'tullavepublica'
ENV['RECAPTCHA_PRIVATE_KEY'] = 'tullaveprivada'</pre>
<p>En la vista, para mostrarlo, sólo tendríamos que añadir:</p>
<pre name="code" class="ruby">&lt;%= recaptcha_tags %&gt;</pre>
<p>en caso de estar utilizando ssl, deberéis cambiarlo a:</p>
<pre name="code" class="ruby">&lt;%= recaptcha_tags :ssl =&gt; true %&gt;</pre>
<p>Y ahora en nuestro método de publicación, debéis comprobar la validez del <a href="http://recaptcha.net/ ">Recaptcha</a>, de la forma:</p>
<pre name="code" class="ruby">if verify_recaptcha
      ...
      else
      flash[:error] = "Ha habido un error en el envio."
      render :action =&gt; 'show'
    end</pre>
<p>Nosotros lo utilizamos para publicar comentarios, por lo que el método en cuestión queda como sigue:</p>
<pre name="code" class="ruby">if verify_recaptcha
      @entry = Entry.find(params[:id])
      comment = Comment.new(params[:comment])
      @entry.add_comment comment
      comment.save!
      flash[:notice] = "Comentario añadido con éxito"
    else
      flash[:error] = "Ha habido un error en el envio del comentario."
    end
    redirect_to :action =&gt; 'show'</pre>
<p>Pues nada, listo, ya tenéis validación con <a href="http://recaptcha.net/ ">Recaptcha</a> en vuestros comentarios.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jenaiz.com/2008/07/31/instalacion-de-recaptcha/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debugear en Rails con ruby-debug</title>
		<link>http://www.jenaiz.com/2008/07/22/debugear-en-rails-con-ruby-debug/</link>
		<comments>http://www.jenaiz.com/2008/07/22/debugear-en-rails-con-ruby-debug/#comments</comments>
		<pubDate>Tue, 22 Jul 2008 09:09:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[RubyOnRails]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[ror]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://192.168.1.100/~jenaiz/wordpress/?p=26</guid>
		<description><![CDATA[Investigando podemos descubrir diferentes formas para debugear en RoR, para el caso he elegido hacerlo con  ruby-debug, no sólo por su utilidad sino por la extensa lista de recomendaciones que existen en la red. Kent Sibilev, es el creador de esta gema, que desde el principio nacía con una importante mejora de rendimiento sobre [...]]]></description>
			<content:encoded><![CDATA[<p>Investigando podemos descubrir diferentes formas para debugear en RoR, para el caso he elegido hacerlo con  <a href="http://rubyforge.org/projects/ruby-debug/">ruby-debug</a>, no sólo por su utilidad sino por la extensa lista de recomendaciones que existen en la red. <a href="http://www.datanoise.com">Kent Sibilev</a>, es el creador de esta gema, que desde el principio nacía con una importante mejora de rendimiento sobre el tradicional <em>rdebug</em>, esto es posible dado que utiliza una extensión nativa haciendo uso directo de la API Ruby en C, en lugar de usar la API <em>Kernel#set_trace_func</em>.</p>
<p>Algunas de las funcionalidades aportadas son:</p>
<ul>
<li> avanzar y retroceder en nuestro código mientras debugeamos.</li>
<li> ejecutar o saltar líneas de codigo</li>
<li> listar el contexto actual en el que estamos detenidos</li>
<li> realizar cambios en caliente sobre el código y poder recargar</li>
<li> usar el modo <em>irb</em>, además de tener un modo consola propio más potente que el anterior</li>
</ul>
<p>Para comenzar a utilizarlo, basta con tenerlo instalado, para ello:</p>
<blockquote><p>sudo gem install ruby-debug</p></blockquote>
<p>He observado que en algunos lugares, te recomiendan estar atento a la instalación, para seleccionar la plataforma sobre la que se va a instalar: Linux/Mac o Windows. Aquí tengo que decir que en mi caso, sobre Mac OS X, no tuve que elegir plataforma, dado que fue seleccionada de forma automática.</p>
<p>Para empezar a hacer uso del plugin, debemos configurar algunas cosas; la primera de ellas es añadir una línea a nuestro <strong>environment.rb</strong>:</p>
<blockquote><p>SCRIPT_LINES__ = {} if ENV['RAILS_ENV'] == &#8216;development&#8217;</p></blockquote>
<p>Con esto debemos de ser cautelosos. <em>SCRIPT_LINES__</em> almacena todos los ficheros ruby leidos en un hash para poder decir luego en qué línea de código estamos. Esto sin duda puede causar problemas de rendimiento y algunos de consumo de memoria, de ahí que hayamos puesto que sólo se use en desarrollo. Debemos tener mucho cuidado para que no activemos el debug en entornos de producción.</p>
<p>Una vez, tenemos esto, bastaría con situarnos en nuestro código y añadir lo siguiente para poder empezar a debugear allí mismo:</p>
<blockquote><p><strong>require &#8216;ruby-debug&#8217;</strong><br />
&#8230;<br />
def your_method<br />
&#8230;<br />
<strong>debugger if ENV['RAILS_ENV'] == &#8216;development&#8217;</strong><br />
&#8230;<br />
end</p></blockquote>
<p>El debug se parará justo en <em>debugger</em>.</p>
<p>Ahora arrancamos el servidor web el cual se detendrá en nuestro <em>breakpoint</em> y estaremos en modo consola en el mismo terminal en el que el servidor estaba trabajando, como decíamos es una consola más potente que <em>IRB</em>, algunos la comparan a <a href="http://sourceware.org/gdb/">GDB</a>, el debugger de <a href="http://www.gnu.org">GNU</a> para C.</p>
<p>En este momento, ya podemos interacturar, bastaría con conocer los comandos y podríamos debugear. Una lista de los más indispensables:</p>
<p><strong>list</strong>: te muestra unas líneas de código y te dice donde estás detenido.</p>
<p><strong>irb</strong>: pasas a la consola de <em>IRB</em>, puedes interactuar con los objetos, obtener valores, etc. Por ejemplo para ver el valor de una propiedad:</p>
<blockquote><p>@users.name</p></blockquote>
<p><strong>exit</strong>: salir del IRB</p>
<p><strong>PP (pretty print)</strong>: para ver el contenido de forma bonita, por ejemplo un formulario:</p>
<blockquote><p>pp params[:user][:email]<br />
o<br />
pp params</p></blockquote>
<p><strong>cont</strong>: continúa la ejecución</p>
<p><strong>next</strong>: avanza a la siguiente línea de código</p>
<p><strong>method</strong>: para listar los métodos de un objeto:</p>
<blockquote><p>method instance @user</p></blockquote>
<p>o si queremos listar los métodos de una clase:</p>
<blockquote><p>method User</p></blockquote>
<p><strong>break</strong>: para ir a un sitio dado y saltar todo lo demás:</p>
<blockquote><p>break Entry#create</p></blockquote>
<p>para ir al método <em>create</em> de <em>Entry</em></p>
<p><strong>set autoreload</strong>: recarga el código para aceptar los cambios</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jenaiz.com/2008/07/22/debugear-en-rails-con-ruby-debug/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Actualizar JDK 1.6 en Mac OS X</title>
		<link>http://www.jenaiz.com/2008/07/16/actualizar-jdk-16-en-mac-os-x/</link>
		<comments>http://www.jenaiz.com/2008/07/16/actualizar-jdk-16-en-mac-os-x/#comments</comments>
		<pubDate>Wed, 16 Jul 2008 08:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[1.6]]></category>
		<category><![CDATA[jdk]]></category>
		<category><![CDATA[macosx]]></category>

		<guid isPermaLink="false">http://192.168.1.100/~jenaiz/wordpress/?p=69</guid>
		<description><![CDATA[Hasta ahora he trabajado con la versión por defecto instalada en el OS X del JDK de java la 1.5; esta se ha ido actualizando automáticamente. Sin embargo ahora quería hacer algunas pruebas con VisualVM y resulta que necesitaba una versión más moderna del JDK, la 6.0 mínimo, así que he decidido ver como funciona [...]]]></description>
			<content:encoded><![CDATA[<p>Hasta ahora he trabajado con la versión por defecto instalada en el OS X del JDK de java la 1.5; esta se ha ido actualizando automáticamente. Sin embargo ahora quería hacer algunas pruebas con <a href="https://visualvm.dev.java.net/relnotes.html#system_requirements">VisualVM</a> y resulta que necesitaba una versión más moderna del JDK, la 6.0 mínimo, así que he decidido ver como funciona el sistema de actualizaciones de Mac OS X.</p>
<p>Cual ha sido mi sorpresa cuando en <a href="http://support.apple.com/kb/HT1856">una de las actualizaciones del sistema</a> venía la nueva versión del JDK. Sin embargo esta release no se convierte en la release por defecto, sino que si deseas utilizarla, debes hacer los cambios por ti mismo.</p>
<p>Investigando un poco logramos la ruta física donde se instalan todas las versiones de los JDK de java descargados:</p>
<blockquote><p>/System/Library/Frameworks/JavaVM.framework/Versions</p></blockquote>
<p>Además de todas las versiones, existen tres directorios llamativos: <em>A,</em> <em>Current</em> y <em>CurrentJDK</em>; estos dos últimos directorios son <em>symbolic links</em> a la versión que interesa. Lo que significa que para cambiar de versión del JDK sólo hay que cambiarlos a ellos.</p>
<p>Si buscáis por internet encontraréis <a href="http://www.macosxhints.com/article.php?story=20060121171126988">un script bastante utilizado</a>, que nos muestra las JDKS que existen instaladas en vuestra máquina y cambia el <em>CurrentJDK</em> a la versión que queramos. Sin embargo, habría que completar este script. Ambos <em>Current</em> y <em>CurrentJDK</em> deben ser cambiados o algunos programas os dejarán de funcionar. La verdad es que por lo que he encontrado, lo único que he podido sacar en claro es que hay algunas razones por las que no cambiar <em>CurrentJDK</em>:</p>
<blockquote><p>it affects the system globally, it changes the system from how Apple shipped it (things under /System are Apple managed), and it can cause updates to fail and/or have unintended side effects.</p></blockquote>
<p>Si aún así queréis seguir adelante con el cambio podéis hacer lo siguiente.</p>
<p>Un vistazo rápido al directorio : /System/Library/Frameworks/JavaVM.framework/Versions/ os devolverá algo parecido a:</p>
<blockquote><p>weemac:Versions jenaiz$ ls -la<br />
total 56<br />
drwxr-xr-x  14 root  wheel  476 15 jul 08:59 .<br />
drwxr-xr-x  11 root  wheel  374  4 jul 08:08 ..<br />
lrwxr-xr-x   1 root  wheel    5  7 may 20:39 1.3 -&gt; 1.3.1<br />
drwxr-xr-x   3 root  wheel  102 29 sep  2007 1.3.1<br />
lrwxr-xr-x   1 root  wheel    5 21 oct  2007 1.4 -&gt; 1.4.2<br />
lrwxr-xr-x   1 root  wheel    3  7 may 20:39 1.4.1 -&gt; 1.4<br />
drwxr-xr-x   8 root  wheel  272 21 oct  2007 1.4.2<br />
lrwxr-xr-x   1 root  wheel    5 21 oct  2007 1.5 -&gt; 1.5.0<br />
drwxr-xr-x   8 root  wheel  272 21 oct  2007 1.5.0<br />
lrwxr-xr-x   1 root  wheel    5  7 may 20:39 1.6 -&gt; 1.6.0<br />
drwxr-xr-x   8 root  wheel  272  7 may 20:39 1.6.0<br />
drwxr-xr-x   8 root  wheel  272  7 may 20:40 A<br />
lrwxr-xr-x   1 root  wheel    1 15 jul 08:57 Current -&gt; A<br />
lrwxr-xr-x   1 root  wheel    3 15 jul 08:59 CurrentJDK -&gt; 1.5</p></blockquote>
<p>Como podéis ver, en estos momentos mi <em>CurrentJDK</em> está usando la 1.5 y mi <em>Current</em> apunta a <em>A.</em></p>
<p>Para hacer que el JDK 1.6 sea el actual, tendréis que hacer:</p>
<blockquote><p>ln -hfs 1.6 Current<br />
y<br />
ln -hfs 1.6 CurrentJDK</p></blockquote>
<p>Así es tal como <a href="http://darelltan.multiply.com/journal/item/515">darrell</a> lo explica, y es parecido a como el script lo hace. Todo esto hay que hacerlo como <strong>super usuario</strong>.</p>
<p>El porqué algunas aplicaciones dejan de funcionar hay que encontrarlo a que existen <a href="http://java.dzone.com/news/java-6-mac-worsest-release-eve">algunos problemas</a> en esta versión, que Apple no ha considerado en solucionar aún:</p>
<blockquote><p>- Sólo soporta 64 bits: adios a los applets en Safari.<br />
- No hay soporte para Cocoa: aplicaciones como Cyberdurk dejarán de funcionar. Esto no <em>sólo</em> significa que no podamos tener look&amp;feel de Mac OS sino que también perderemos algunas de las utilidades tales, como poder usar Growl como sistema de notificación, por ejemplo.</p></blockquote>
<p>Si el tema de cómo está organizado el directorio de versiones de Java y el porqué de esta cosas, os interesa realmente, os  dejo unos links interesantes sobre todo esto, no sólo aplicable al JDK:</p>
<p><a href="http://developer.apple.com/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/FrameworkAnatomy.html">Anatomy of Framework Bundles</a><br />
<a href="http://developer.apple.com/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/VersionInformation.html">Framework Versions</a><br />
<a href="http://developer.apple.com/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/WhatAreFrameworks.html#//apple_ref/doc/uid/20002303">What are Frameworks?<br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jenaiz.com/2008/07/16/actualizar-jdk-16-en-mac-os-x/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Ruby 1.9.0 released</title>
		<link>http://www.jenaiz.com/2008/01/15/ruby-190-released/</link>
		<comments>http://www.jenaiz.com/2008/01/15/ruby-190-released/#comments</comments>
		<pubDate>Tue, 15 Jan 2008 15:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://192.168.1.100/~jenaiz/wordpress/?p=56</guid>
		<description><![CDATA[Una nueva versión de ruby ha sido liberada, en concreto la versión 1.9.0 y lo normal sería actualizarse a ella. Sin embargo en la lista de ruby preguntaron cuál era el propósito de dicha versión, y si se seguía el típico nombrado de versiones de los kernels de linux o si por el contrario era [...]]]></description>
			<content:encoded><![CDATA[<p>Una nueva versión de ruby ha sido liberada, en concreto la versión 1.9.0 y lo normal sería actualizarse a ella. Sin embargo en la <a href="http://www.ruby-forum.com/topic/136659">lista</a> de ruby preguntaron cuál era el propósito de dicha versión, y si se seguía el típico nombrado de versiones de los kernels de linux o si por el contrario era una versión superior que había que instalar por corregir bugs y por ofrecer nuevas características.</p>
<p>La respuesta viene de varias fuentes, pero la conclusión es la misma. La versión 1.9.0 no es estable, <strong>es una versión para desarrollo</strong>, no para entornos de producción. Se recomienda hacer compatible tu código con ella, para que el paso a la nueva versión de producción sea menos traumático, pero no se recomienda hacer uso de ella en entornos de producción, sino esperar a la release que sí será lanzada para ello, la 2.0.</p>
<p>El cambio puede ser algo traumático, así que un listado de las características nuevas ha sido publicado en <a href="http://eigenclass.org/hiki/Changes+in+Ruby+1.9">eigenclass</a>; es aconsejable echarle un vistazo, pues vienen ejemplos de lo nuevo.</p>
<p>Si queréis leer opiniones al respecto, quizás la <a href="http://pragdave.blogs.pragprog.com/pragdave/2007/12/ruby-19right-fo.html">trazada</a> por Dave Thomas en su blog os guste; os advierto que la conclusión es la misma.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jenaiz.com/2008/01/15/ruby-190-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Publicar o no publicar una beta para desarrolladores</title>
		<link>http://www.jenaiz.com/2007/03/01/publicar-o-no-publicar-una-beta-para-desarrolladores/</link>
		<comments>http://www.jenaiz.com/2007/03/01/publicar-o-no-publicar-una-beta-para-desarrolladores/#comments</comments>
		<pubDate>Thu, 01 Mar 2007 18:50:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Proyectos]]></category>
		<category><![CDATA[opinión]]></category>
		<category><![CDATA[belegost]]></category>
		<category><![CDATA[beta]]></category>

		<guid isPermaLink="false">http://192.168.1.100/~jenaiz/wordpress/?p=38</guid>
		<description><![CDATA[Llevo tiempo planteándome si es bueno o no adelantar algo del desarrollo de Belegost, o simplemente esperar.
En realidad su código actual dicta mucho de ser bueno, teniendo en cuenta que está en sus primeras fases, y que de momento no se ha buscado una gran amalgama de funcionalidades, sino más bien cerrar una versión 0 [...]]]></description>
			<content:encoded><![CDATA[<p>Llevo tiempo planteándome si es bueno o no adelantar algo del desarrollo de Belegost, o simplemente esperar.</p>
<p>En realidad su código actual dicta mucho de ser bueno, teniendo en cuenta que está en sus primeras fases, y que de momento no se ha buscado una gran amalgama de funcionalidades, sino más bien cerrar una versión 0 de la que partir y ampliar.</p>
<p>He leido en algunos lugares, que para que la gente se anime a mirarlo, probarlo y quizás hasta a participar en el desarrollo, es bueno tener una versión descargable, no del subversión, sino en un zip y unas instrucciones básicas con las que se pueda empezar.</p>
<p>En estos momentos está planificada una versión <em>light</em> de belegost, con unas funcionalidades mínimas que hacen al sistema usable, pero sólo para un desarrollador, no es apto para entornos productivos, solo para jugar con él. El problema es que al leer por la red determinados artículos, me da la sensación de que no he logrado mucho hasta ahora, y de que quizás esto no anime sino que tire para atrás a personas que quisiesen participar en el desarrollo.</p>
<p>Por no hablar de que si alguien está valorando sistemas de weblogs, se podría llevar una impresión horrorosa comparado con los demás sistemas que existen en la red.</p>
<p>Así que ahí van unas preguntas al aire, Â¿sería bueno lanzar un versión 0.0.0 &#8211; beta &#8211; development? o Â¿sería mejor esperar a tener una versión 0.0.1 &#8211; beta para entornos productivos?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jenaiz.com/2007/03/01/publicar-o-no-publicar-una-beta-para-desarrolladores/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java 6 de IBM, una reflexión</title>
		<link>http://www.jenaiz.com/2007/01/24/java-6-de-ibm-una-reflexia%c2%b3n/</link>
		<comments>http://www.jenaiz.com/2007/01/24/java-6-de-ibm-una-reflexia%c2%b3n/#comments</comments>
		<pubDate>Wed, 24 Jan 2007 20:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ibm]]></category>

		<guid isPermaLink="false">http://192.168.1.100/~jenaiz/wordpress/?p=33</guid>
		<description><![CDATA[Leyendo la noticia acerca de la versión beta de Java 6 de IBM (en inglés), me han asaltado algunas hipótesis, quizás sin fundamento o quizás no tanto.
He visto en la web de IBM que los sistemas operativos para los que que esta JVM es distribuida son:
- Linux® on x86
- Linux® on PowerPC® 32-bit
- Linux® on [...]]]></description>
			<content:encoded><![CDATA[<p>Leyendo la noticia <a href="http://www.javahispano.org/news.item.action?id=382740661">acerca de la versión beta de Java 6 de IBM</a> (<a href="http://feeds.feedburner.com/~r/techtarget/tsscom/home/~3/79590129/thread.tss">en inglés</a>), me han asaltado algunas hipótesis, quizás sin fundamento o quizás no tanto.</p>
<p>He visto en la web de IBM que los sistemas operativos para los que que esta JVM es distribuida son:</p>
<blockquote><p>- Linux® on x86<br />
- Linux® on PowerPC® 32-bit<br />
- Linux® on PowerPC® 64-bit<br />
- Linux® on AMD64/EM64T<br />
- IBM AIX® on PowerPC 32-bit<br />
- IBM AIX® on PowerPC 64-bit</p></blockquote>
<p>Al ver esto, se me plantea una duda con respecto a la elección de IBM de no soportar plataformas Windows. Siendo totalmente prácticos e irreflexivos, podríamos pensar que esta estrategia está totalmente equivocada, tengamos en cuenta que la mayor parte de usuarios cuentan con Windows como sistema operativo; y claro, esto podría llevarnos a fabricar la hipótesis, Â¿algo errada!, de que su estrategia empresarial está totalmente equivocada, dado que de esta forma no van a conseguir que su JVM sea utilizada por el público en general, ni por los desarrolladores que tengan que trabajar en entornos Windows, que son unos pocos.</p>
<p>Quizás, la hipótesis pueda ser otra. IBM como gigante de la informática que es, cuenta con muchas vías de negocio dentro de la compañía y una que no debemos olvidar son sus máquinas. Dispone de una vía de negocio muy amplia con el negocio de servidores. No parece extraño pensar, por lo tanto, que si optimizas un JVM para los sistemas operativos que más se utilizan en tus máquinas, a la vez estás haciendo más atractivo el potencial que ofrecen tus servidores frente a los del mercado. En este punto no podemos olvidar que el principal representante de Java, Sun MicroSystems, también trabaja en ese mercado.</p>
<p>Por otro lado, me asalta la curiosidad. Si planteo un caso hipotético, un caso en el que el usuario de partida trabaja sobre windows, y realiza todo su desarrollo en dicha plataforma, necesita utilizar un JDK para ella, pongamos por caso que utiliza el de Sun, tras meses de desarrollo, su aplicación a sido preparada para un JDK, y ha sido más que probada, hasta la saciedad si se ha contemplado bien el tiempo de pruebas dentro del proyecto. Cabe hacerse la pregunta de si verdaderamente dicho software debe terminar o no ejecutándose en una JVM para la que apenás ha sido probada. Podrían presentarse, ¿incompatibilidades? Entiendo que no deberían de ser con respecto al lenguaje, pero cuando uno hace las cosas de diferente manera (me refiero a la JVM de IBM) se enfrenta a que quizás lo que el programador consideró más óptimo en un JDK-SUN no lo es en un JDK-IBM, por lo que parte del trabajo que se realizó en la fase de pruebas de desarrollo se ha perdido por completo. Además si hacemos bien las cosas, el salto de desarrollo a preproducción, implicará en la mayoría de los casos un tiempo extra para ver si el JDK-IBM continúa funcionando correctamente y nos ese mayor rendimiento del que hablábamos.</p>
<p>Preguntas que se me ocurren para aquellos que hayáis cambiado de un JDK-SUN a un JDK-IBM: ¿Es considerable el tiempo empleado en probar con un JDK y luego con el otro? Dado el modo en el que se suelen hacer las cosas para los cambios de desarrollo a preproducción y finalmente a producción, ¿os arriesgaríais a cambiar de una a otra?</p>
<p>A todo esto, ¿no os parece que así se pierde, un poco, una de las principales características de java, la multiplataforma?</p>
<p>(<a href=" https://www14.software.ibm.com/iwm/web/cc/earlyprograms/ibm/java6/">Más características</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jenaiz.com/2007/01/24/java-6-de-ibm-una-reflexia%c2%b3n/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>blogitis II (el análisis)</title>
		<link>http://www.jenaiz.com/2006/12/26/blogitis-ii-el-ana%c2%a1lisis/</link>
		<comments>http://www.jenaiz.com/2006/12/26/blogitis-ii-el-ana%c2%a1lisis/#comments</comments>
		<pubDate>Tue, 26 Dec 2006 12:39:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Proyectos]]></category>
		<category><![CDATA[opinión]]></category>
		<category><![CDATA[blogs]]></category>
		<category><![CDATA[herramientas]]></category>

		<guid isPermaLink="false">http://192.168.1.100/~jenaiz/wordpress/?p=29</guid>
		<description><![CDATA[Cuando empezé a pensar en montar el weblog comenzó un processo de valoración de algunos de los sistemas que existían, decidí investigar cuales podrían cumplir con mis condiciones. Para empezar pregunté a los amigos sobre sus experiencias y vi con qué estaban montados los blogs que habitualmente leo.
Una de mis principales necesidades era que el [...]]]></description>
			<content:encoded><![CDATA[<p>Cuando empezé a pensar en montar el weblog comenzó un processo de valoración de algunos de los sistemas que existían, decidí investigar cuales podrían cumplir con mis condiciones. Para empezar pregunté a los amigos sobre sus experiencias y vi con qué estaban montados los blogs que habitualmente leo.</p>
<p>Una de mis principales necesidades era que el sistema debía de ser ligero y ofrecer la mejor respuesta con una máquina algo <em>lenta</em>. El mayor problema que se presentaba a este respecto era de memoria Ram. Valoré principalmente sistemas basados en PHP y algunos en java.</p>
<p>Algo a tener en cuenta es el uso que se le va a dar a la herramienta que buscamos, en mi caso es sencillo, máximo 365 post al año (algo que no he alcanzado nunca) textos de una media de 2500 caracteres, un único usuario, y algunos plugins que hagan esta labor más sencilla; aquí incluyo: últimos comentarios, calendario, estadísticas y similares.</p>
<p>Aquí va un análisis particular de los sistemas que estuve valorando.</p>
<p><a href="http://www.mamboserver.com">mambo:</a> corre sobre php + mysql, es open source, multisitio, multilenguaje, puede emplearse para ecommerce, dispone de foros dinámicos y encuestas, válido en múltiples sistemas operativos (Linux, FreeBSD, MacOSX server, Solaris, AIX, SCO, WinNT y Win2K). Todas las características <a href="http://www.mambohispano.org/Especiales/Newbie/%BFQu%E9_es_Mambo?/">aquí.</a></p>
<p>El caso es que mambo no es un sistema de blogs es un gestor de contenidos, un CMS. Y la inmensidad de utilidades, tareas, herramientas, plugins, etc. Están pensadas para convertirlo en algo profesional, bastante ideal para generar el contenido de un web de empresa con multitud de documentos y de usuarios.</p>
<p>Lo descargué, instalé y empezé a jugar con él, y ciertamente, yo lo había visto utilizar como sistema de blog, pero en seguida noté la inmensidad del mismo. Era un sistema demasiado complejo, demasiado avanzado para utilizarlo gestionando los post que yo realizo en el sistema. El sistema de administración, su gestión multiusuarios con distintos tipos de privilegio, la gestión de los temas a publicar, etc. Me pareció demasiado completo y amplio para lo que yo estaba buscando.</p>
<p>Entre todo el laberinto que me ofrecía Mambo y por el que estaba viendo que me perdía, por la grandiosidad de la aplicación, descubrí a <a href="www.joomlaspanish.org">Joomla</a>, y al final decidí que era mucho más de lo que andaba buscando.</p>
<p><a href="http://rollerweblogger.org/">Roller</a>: fue mi segundo candidato. Digamos que para utilizar este, no llegué a dar el paso de instalarlo y probarlo. Ya lo conocía de usarlo en <a href="http://weblogs.javahispano.org">jH</a> y conocía los problemas que había dado en su administración, y que se debía de dedicar bastante tiempo a la administración y mantenimiento del sistema. La verdad es que en este caso había sido utilizado por bastantes más usuarios de los que yo había pensado tener en ningún momento, pero aún así, la mala experiencia con él no me motivaba demasiado.</p>
<p>No sólo esto fue por lo que quedó descartado, sino que el equipo con el que contaba tampoco ayudaba demasiado a probar. 256 Mb de Ram con un apache+java+tomcat+mysql no es una buena combinación. De hecho cuando medía rendimientos con la instalación básica de este equipo, veía que era totalmente inviable utilizar nada desarrollado con java, puesto que no podría dar un servicio ni tan siquiera <em>medio decente</em>.</p>
<p><a href="http://www.s9y.org">serendipity:</a> Bueno, la verdad es que empecé a mirar más los sistemas basados en php y en mysql frente a otros. Montar un sistema con un apache+php+mysql no requiere de tanta potencia como uno desarrollado en java. Y en mi caso no tenía ninguna pretensión de tocar el código, sólo quería que funcionase, adaptar algún template y a correr. </p>
<p><b>serendipity</b> me costó muy poco instalarlo, sólo tuve que cambiar algunos permisos de escritura en disco, para que el sistema estuviese totalmente funcional y operativo. La instalación se bifurca en simple y compleja (para usuarios avanzados) por ser mi primera vez utilizé la primera, y el sistema estuvo instalado en breve. </p>
<p>Es un sistema sencillo de utilizar, orientado exactamente a publicar un blog, en el que pueden darse cabida varios autores, multiples lenguajes, se puede configurar el lenguaje, puedes con una instalación configurar múltiples blogs, sistema de plugins, importación de post de diferentes sistemas de blogs, etc. </p>
<p><a href="http://wordpress.org/">WordPress</a>: De este puedo decir poco, salvo que cometí un pequeño error que debo corregir. En su valoración inicial, aún estudiaba la posibilidad de no disponer de servidor propio sino de utilizar sistemas como <a href="">WordPress.com</a>. Los problemas a los que me refería, estaban (no encuentro el link que lo demuestre) relacionados con no poder poner publicidad en el blog (tipo adwords de google). Dado esto dejé de pensar en él. Veo ahora que puedes utilizar WordPress como software con la libertad que la licencia GNU te permita, que para mi es suficiente. Gracias a <a href="http://blog.alucardx.net/">Iban</a> por la corrección. Un detalle importante, es que no podía contrastar wordpress con alguien que lo estuviese utilizando y pudiese contarme cosas sobre su experiencia.</p>
<p>Algunos otros sistemas que luego he ido viendo utilizar, que no consideré en su momento, porque no estaba <em>afectado</em> por RoR son: <a href="http://www.mephistoblog.com">mephisto</a>, <a href="http://www.typosphere.org">typo</a>, <a href="http://www.simplelog.net">simpleblog</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jenaiz.com/2006/12/26/blogitis-ii-el-ana%c2%a1lisis/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Official announcement of Belegost</title>
		<link>http://www.jenaiz.com/2006/12/20/official-announcement-of-belegost/</link>
		<comments>http://www.jenaiz.com/2006/12/20/official-announcement-of-belegost/#comments</comments>
		<pubDate>Wed, 20 Dec 2006 08:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Proyectos]]></category>
		<category><![CDATA[announcement]]></category>
		<category><![CDATA[belegost]]></category>
		<category><![CDATA[blog]]></category>

		<guid isPermaLink="false">http://192.168.1.100/~jenaiz/wordpress/?p=31</guid>
		<description><![CDATA[Poco tiempo hace, que empezé a ver las posibilidades que ofrecía Ruby on Rails, el mismo tiempo que empezé a investigar acerca de estas, y me inicié en el desarrollo de aplicaciones sencillas de ejemplo.
Tras este paso inicial, decidí iniciar un desarrollo personal y open source. El nombre de la criatura es: Belegost. Voy camino [...]]]></description>
			<content:encoded><![CDATA[<p>Poco tiempo hace, que empezé a ver las posibilidades que ofrecía Ruby on Rails, el mismo tiempo que empezé a investigar acerca de estas, y me inicié en el desarrollo de aplicaciones sencillas de ejemplo.</p>
<p>Tras este paso inicial, decidí iniciar un desarrollo personal y open source. El nombre de la criatura es: <a href="http://www.sourceforge.net/projects/belegost">Belegost</a>. Voy camino de un mes desarrollándola, y modificándola a cada paso que doy dentro de ror. Con pasos muy pequeños, pero con mucha energía. La decisión de iniciar el proyecto fue extraña, por así decirlo; sin embargo puse en él desde sus inicios una gran ilusión, tanto que desde entonces encuentro una mayor motivación personal hacia el desarrollo. Ganas, energía y motivación, son la esencia del nacimiento del <a href="http://www.sourceforge.net/projects/belegost">Belegost</a>.</p>
<p>Su cometido es:</p>
<blockquote><p><a href="http://www.sourceforge.net/projects/belegost">Belegost</a> is an weblog system based in Ruby on Rails technology. We want to be faithful to three principles: easy to use; more secure and stable; and hot updates. With an easy interface, install and configuration.</p></blockquote>
<p>Creo que esta descripción lo dice todo. Pero por si aún no queda claro, lo comento. La misión es crear un sistema de weblogs, en principio para un sólo usuario, con pretensiones de convertirse en multiusuario, mono blog, con opciones de conseguir un &#8220;sistema&#8221; de blogs, y un largo etcétera. Eso sí, para mi en estos momentos existen tres principios fundamentales: <strong>easy</strong>, <strong>secure</strong> y <strong>hot-updates</strong>.</p>
<p><strong>Easy:</strong> Fácil de manejar, de instalar, de configurar. Porque sino es sencillo, no tiene sentido, y seguro existen otros.</p>
<p><strong>Secure:</strong> Si cualquiera puede reventarte tus post, puede hacer que tus comentarios crezcan, o puede entrar en tu zona de administración y hacer lo que quiera, entonces nos debemos preocupar por algo más que administrar nuestro blog, y, eso es inadmisible.</p>
<p><strong>hot-updates:</strong> Una vez se haya instalado por primera vez, las actualizaciones deben ser cuestión de unos cuantos clicks. De nada sirve tener todo lo anterior y que la actualización deba hacerse casi como si instalases desde cero, pudiéndose perder los datos hasta ese momento generados.</p>
<p>En el aire hay muchas opciones, pero no quiero tan siquiera comentarlas en voz alta para que no queden en saco roto desde su primera fase.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jenaiz.com/2006/12/20/official-announcement-of-belegost/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[book] Run your own web server using linux &amp; apache</title>
		<link>http://www.jenaiz.com/2006/11/14/book-run-your-own-web-server-using-linux-apache/</link>
		<comments>http://www.jenaiz.com/2006/11/14/book-run-your-own-web-server-using-linux-apache/#comments</comments>
		<pubDate>Tue, 14 Nov 2006 14:15:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Proyectos]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[configuración]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://192.168.1.100/~jenaiz/wordpress/?p=18</guid>
		<description><![CDATA[
En mi afán de investigación para tener los conocimientos necesarios para hacer un buen mantenimiento y una buena administración del servidor que aloja este blog, me he topado con este libro.
Cuando decides montar un servidor web, muchas son las dudas que te pueden asaltar, algunas muy sencillas acerca de problemas de instalación u otras más [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-269 alignleft" title="web_server_using_linux" src="http://farm3.static.flickr.com/2619/3774583935_147536a1e2.jpg" alt="web_server_using_linux" width="240" height="240" /></p>
<p>En mi afán de investigación para tener los conocimientos necesarios para hacer un buen mantenimiento y una buena administración del servidor que aloja este blog, me he topado con este libro.</p>
<p>Cuando decides montar un servidor web, muchas son las dudas que te pueden asaltar, algunas muy sencillas acerca de problemas de instalación u otras más complejas acerca de cuando considerar actualizaciones de software, añadir una nueva web al servidor, nuevas cuentas de mail, subdominios, configurar tu máquina linux y tu servidor apache para ser lo más seguros posibles, filtros antispam, backups, recuperaciones en caso de desastre, etc.</p>
<p>Este libro nos introduce en ese tipo de tareas. Instala una Fedora Core 4 como sistema base y nos enseña lo básico sobre el sistema; nos acerca a la línea de comandos; nos explica cómo son las unidades de un sistema linux; herramientas de administración del mismo; instalación de apache, mysql y php; utiliza webmin para administrar el servidor, viendo algunos de sus plugins; administración remota con ssh o vnc; cómo realizar backups, estudio de los ficheros de logs del sistema; y por último se preocupa de la seguridad del servidor. Nueve capítulos donde se tratan cada uno de estos temas.</p>
<p>No es demasiado profundo en las materias, además de que tiene un nivel básico, a mi parecer; sin embargo toca todos los temas que uno debe mirar y configurar para tener un servidor web completamente funcional. Y establece un buen marco de partida. Más aún cuando nuestros conocimientos de linux no son muy profundos.</p>
<p><a href="http://www.amazon.com/Your-Server-Using-Linux-Apache/dp/0975240226">El libro.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jenaiz.com/2006/11/14/book-run-your-own-web-server-using-linux-apache/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
