<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>NicoPaez Blog</title>
	<atom:link href="http://nicopaez.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://nicopaez.wordpress.com</link>
	<description>{haciendo camino al andar}</description>
	<lastBuildDate>Wed, 25 Jan 2012 04:02:47 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='nicopaez.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>NicoPaez Blog</title>
		<link>http://nicopaez.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://nicopaez.wordpress.com/osd.xml" title="NicoPaez Blog" />
	<atom:link rel='hub' href='http://nicopaez.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Instalación de Ruby (la posta para mi)</title>
		<link>http://nicopaez.wordpress.com/2012/01/25/instalacion-de-ruby-la-posta-para-mi/</link>
		<comments>http://nicopaez.wordpress.com/2012/01/25/instalacion-de-ruby-la-posta-para-mi/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 04:02:45 +0000</pubDate>
		<dc:creator>npaez</dc:creator>
				<category><![CDATA[noticia]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://nicopaez.wordpress.com/?p=1339</guid>
		<description><![CDATA[En los últimos meses instalé Ruby en al menos 4 máquinas distintas (mi máquina personal, mi desktop del trabajo, una máquina virtual y mi build server). En todos los casos intenté seguir el mismo procedimiento, pero en todos me encontré con distintos issues, estimo que debido a que los ambientes eran levemente distintos (pero todos [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicopaez.wordpress.com&amp;blog=4971453&amp;post=1339&amp;subd=nicopaez&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>En los últimos meses instalé Ruby en al menos 4 máquinas distintas (mi máquina personal, mi desktop del trabajo, una máquina virtual y mi build server). En todos los casos intenté seguir el mismo procedimiento, pero en todos me encontré con distintos issues, estimo que debido a que los ambientes eran levemente distintos (pero todos eran Ubuntus).</p>
<p>Cuando hablo de instalación de Ruby, no estoy hablando de la instalación base de ruby para hacer un &#8220;Hola  mundo&#8221;, sino una instalación como para crear una aplicación &#8220;de verdad&#8221; (básicamente aplicación web, con conexión a internet, manejo de xml, pruebas y build automatizado).</p>
<p>Habiendo seteado el contexto paso a describir los pasos comunes que logré identificar en todas las instalación que realicé y que voy a seguir la próxima vez que tenga que preparar un ambiente.</p>
<p>Vamos a comenzar por instalar Ruby usando apt-get, no importa si luego queremos utilizar otra versión, yo me inclino por comenzar instalando ruby con apt-get pues eso se encargará de hacer varios seteos. Entonces abrimos una terminal y ejecutamos</p>
<p><pre class="brush: plain;">sudo apt-get install ruby</pre></p>
<p>Luego vamos a instalar Ruby Version Manager (rvm). Esta herramienta nos va permitir instalar y administrar distintas versiones de Ruby en una misma máquina. Pero para instalar RVM primero tendremos que instalar git y curl, entonces:</p>
<p><pre class="brush: plain;">
sudo apt-get install git curl
bash &lt;&lt;(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer )
</pre></p>
<p>Cuando finalice la instalación de estos componentes cerramos la terminal.</p>
<p>Ahora instalaremos ruby 1.9.2 usando RVM, para ello abrimos una nueva terminal y ejecutamos</p>
<p><pre class="brush: plain;">
rvm install 1.9.2
</pre></p>
<p>El siguiente paso es installar RubyGem, un administrador de paquetes (que en ruby se llaman gemas). La instalación de esta herramienta consisten en descargar el paquete desde <a href="http://rubygems.org/pages/download">http://rubygems.org/pages/download</a> , descomprimirlo y ejecutar setup.rb (ruby setup.rb). Con esto ya estamos en condiciones de comenzar a installar gemas, pero resulta que algunas gemas en su proceso de instalación incluyen un proceso de compilación de código C, el cual puede requerir de la existencia de ciertas librerías nativas en nuestro ambiente. Por suerte las mismas pueden instalarse fácilmente utilizando apt-get.</p>
<p><pre class="brush: plain;">
sudo apt-get install libmysqlclient-dev libpq-dev libsqlite3-dev zlib1g-dev libreadline5-dev libssl-dev libxml2-dev libopenssl-ruby libxslt1-dev
</pre></p>
<p>Ahora  si, podemos proceder a la instalación de dos gemas fundamentales: rake (ruby make) y bundler (un administrador de dependencias en un punto similar a Maven).</p>
<p><pre class="brush: plain;">
gem install rake
gem install bundler
</pre></p>
<p>Con esto estamos listos para comenzar, cuando creemos nuestras aplicaciones tendremos un archivo llamado Gemfile en el cual especificaremos las dependencias de nuestra aplicación (las gemas) y con solo ejecutar bundle install, bundler se encargará de instalar las gemas especificadas.</p>
<p>Espero que esto les resulte útil.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nicopaez.wordpress.com/1339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nicopaez.wordpress.com/1339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nicopaez.wordpress.com/1339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nicopaez.wordpress.com/1339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nicopaez.wordpress.com/1339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nicopaez.wordpress.com/1339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nicopaez.wordpress.com/1339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nicopaez.wordpress.com/1339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nicopaez.wordpress.com/1339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nicopaez.wordpress.com/1339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nicopaez.wordpress.com/1339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nicopaez.wordpress.com/1339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nicopaez.wordpress.com/1339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nicopaez.wordpress.com/1339/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicopaez.wordpress.com&amp;blog=4971453&amp;post=1339&amp;subd=nicopaez&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nicopaez.wordpress.com/2012/01/25/instalacion-de-ruby-la-posta-para-mi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a5ef1ae46ae4e9aa7210a56a4b53a740?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">npaez</media:title>
		</media:content>
	</item>
		<item>
		<title>Continué con Ruby y me copé</title>
		<link>http://nicopaez.wordpress.com/2012/01/22/continue-con-ruby-y-cuando-pude-hacer-andar-todo-me-cope/</link>
		<comments>http://nicopaez.wordpress.com/2012/01/22/continue-con-ruby-y-cuando-pude-hacer-andar-todo-me-cope/#comments</comments>
		<pubDate>Sun, 22 Jan 2012 15:10:55 +0000</pubDate>
		<dc:creator>npaez</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://nicopaez.wordpress.com/?p=1463</guid>
		<description><![CDATA[Luego de mi comienzo en el mundo Ruby, seguí avanzando: agregué tests (utilizando rspec), medí la cobertura (con simplecov) y automaticé el build contínuo (con rake y jenkins). Ahora que tengo todo mi código cubierto por pruebas voy aplicar algunos refactorings pues no estoy muy conforme con los nombres de algunos métodos y al mismo [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicopaez.wordpress.com&amp;blog=4971453&amp;post=1463&amp;subd=nicopaez&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Luego de <a title="Y un día llegué a Ruby…y publiqué una gema" href="http://nicopaez.wordpress.com/2011/12/22/y-un-dia-llegue-a-ruby-y-publique-una-gema/">mi comienzo en el mundo Ruby</a>, seguí avanzando: agregué tests (utilizando rspec), medí la cobertura (con simplecov) y automaticé el build contínuo (con rake y jenkins). Ahora que tengo todo mi código cubierto por pruebas voy aplicar algunos refactorings pues no estoy muy conforme con los nombres de algunos métodos y al mismo tiempo quiero agregar algunas funcionalidades nuevas. Lo que aún me falta agregar es algo que verifique el cumplimiento de estándares de codificación.</p>
<p>Si bien aún soy un principiante en el mundo Ruby, puedo afirmar que hacer el setup de todo lo mencionado arriba en un proyecto Ruby, me ha resultado mucho más simple que hacerlo para un proyecto C#, a pesar de la experiencia mucho más extensa que tengo con este último.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nicopaez.wordpress.com/1463/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nicopaez.wordpress.com/1463/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nicopaez.wordpress.com/1463/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nicopaez.wordpress.com/1463/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nicopaez.wordpress.com/1463/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nicopaez.wordpress.com/1463/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nicopaez.wordpress.com/1463/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nicopaez.wordpress.com/1463/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nicopaez.wordpress.com/1463/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nicopaez.wordpress.com/1463/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nicopaez.wordpress.com/1463/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nicopaez.wordpress.com/1463/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nicopaez.wordpress.com/1463/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nicopaez.wordpress.com/1463/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicopaez.wordpress.com&amp;blog=4971453&amp;post=1463&amp;subd=nicopaez&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nicopaez.wordpress.com/2012/01/22/continue-con-ruby-y-cuando-pude-hacer-andar-todo-me-cope/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a5ef1ae46ae4e9aa7210a56a4b53a740?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">npaez</media:title>
		</media:content>
	</item>
		<item>
		<title>¿Y si tu sueldo dependiera de la cobertura de tu código?</title>
		<link>http://nicopaez.wordpress.com/2012/01/19/y-si-tu-sueldo-dependiera-de-la-cobertura-de-tu-codigo/</link>
		<comments>http://nicopaez.wordpress.com/2012/01/19/y-si-tu-sueldo-dependiera-de-la-cobertura-de-tu-codigo/#comments</comments>
		<pubDate>Thu, 19 Jan 2012 11:09:46 +0000</pubDate>
		<dc:creator>npaez</dc:creator>
				<category><![CDATA[Ingeniería de software]]></category>
		<category><![CDATA[opinion]]></category>
		<category><![CDATA[agile]]></category>

		<guid isPermaLink="false">http://nicopaez.wordpress.com/?p=1430</guid>
		<description><![CDATA[Definitivamente algunos meses habría pasado hambre  y  creo que algunos otros no habrían cobrado ni un solo peso, ja! Más allá de lo chistoso (o lo triste) del título, este post es una continuación  de otro que escribí hace un par de dias sobre esta misma temática. En dicho post compartí algo de teoría junto con [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicopaez.wordpress.com&amp;blog=4971453&amp;post=1430&amp;subd=nicopaez&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Definitivamente algunos meses habría pasado hambre  y  creo que algunos otros no habrían cobrado ni un solo peso, ja!</p>
<p>Más allá de lo chistoso (o lo triste) del título, este post es una continuación  <a title="Code Coverage" href="http://nicopaez.wordpress.com/2012/01/14/code-coverage/" target="_blank">de otro</a> que escribí hace un par de dias sobre esta misma temática. En dicho post compartí algo de teoría junto con algunos links interesantes (<a href="http://www.exampler.com/testing-com/writings/coverage.pdf" target="_blank">el de artículo de Marrick es excelente</a>) y en los cuales he encontrado justificación para algunas de las ideas que compartiré a continuación. Durante las últimas semanas he estado dedicando la mitad de mi tiempo en entrenar gente y la otra mitad al desarrollo de una aplicación y en ambos casos he puesto bastante foco en el tema de la cobertura de código lo cual me ha llevado a una reflexión profunda sobre el tema.</p>
<p>Si desarrollamos nuestra aplicación siguiendo un enfoque TDD extremo, siempre mantendremos un alto grado de cobertura, pues solo agregaremos código cuando haya una prueba que lo ejercite.</p>
<p>Si procuramos seguir las buenas prácticas de diseño la relación entre nuestros componentes será por medio de interfaces, lo cual nos permitirá utilizar mocking y asi superar la infantil excusa &#8220;No lo puedo testear porque tiene dependencias&#8221;.</p>
<p>Si nuestros métodos son cohesivos y hacen usa sola cosa, entonces será más simple testearlos.</p>
<p>Si hechamos mano del polimorfirmo, seguramente podamos evitar algunos &#8220;if&#8221; en nuestro código lo cual también ayudará con la cobertura.</p>
<p>Para cerrar este post, les comparto una situación que viví hace unos dias. Resulta que una de las personas que estuve capacitando durante la semana pasada hizo una demo de la aplicación que desarrolló como parte de la capacitación. La demo venia bien y en un momento le pedimos que mostrara una funcionalidad particular que no habia sido mostrada. Resulta que cuando la va a mostrar, la aplicación ¡pincha!, ja!  a lo que le pregunto: ¿y los tests? adivinen&#8230;.no había tests para esa funcionalidad. Y cuando pregunto por el porcentaje de cobertura de la aplicación, resulta que no superaba el 40%. ¡Que mejor forma de ilustrar la importancia de estas cuestiones! Espero que este colega haya aprendido la lección.</p>
<p>Por último quiero agradecer a <a href="http://www.linkedin.com/in/frassonidavid" target="_blank">David Frassoni</a> quien la semana pasada me dió la idea de escribir este post.</p>
<p>El siguiente post de esta serie lo dedicaré a analizar las implicancias/consecuencias de tener una alta cobertura y de definir un shipping criteria en base al mismo.</p>
<p>Continuará&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nicopaez.wordpress.com/1430/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nicopaez.wordpress.com/1430/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nicopaez.wordpress.com/1430/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nicopaez.wordpress.com/1430/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nicopaez.wordpress.com/1430/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nicopaez.wordpress.com/1430/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nicopaez.wordpress.com/1430/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nicopaez.wordpress.com/1430/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nicopaez.wordpress.com/1430/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nicopaez.wordpress.com/1430/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nicopaez.wordpress.com/1430/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nicopaez.wordpress.com/1430/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nicopaez.wordpress.com/1430/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nicopaez.wordpress.com/1430/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicopaez.wordpress.com&amp;blog=4971453&amp;post=1430&amp;subd=nicopaez&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nicopaez.wordpress.com/2012/01/19/y-si-tu-sueldo-dependiera-de-la-cobertura-de-tu-codigo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a5ef1ae46ae4e9aa7210a56a4b53a740?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">npaez</media:title>
		</media:content>
	</item>
		<item>
		<title>Code Coverage</title>
		<link>http://nicopaez.wordpress.com/2012/01/14/code-coverage/</link>
		<comments>http://nicopaez.wordpress.com/2012/01/14/code-coverage/#comments</comments>
		<pubDate>Sat, 14 Jan 2012 16:53:43 +0000</pubDate>
		<dc:creator>npaez</dc:creator>
				<category><![CDATA[Ingeniería de software]]></category>
		<category><![CDATA[agile]]></category>

		<guid isPermaLink="false">http://nicopaez.wordpress.com/?p=1440</guid>
		<description><![CDATA[Durante las últimas semanas he estado dedicando la mitad de mi tiempo en entrenar gente y la otra mitad al desarrollo de una aplicación y en ambos casos he puesto bastante foco en la cobertura de código. Esto me ha motivado a compartir algunas ideas sobre este tema y para setear el contexto y las [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicopaez.wordpress.com&amp;blog=4971453&amp;post=1440&amp;subd=nicopaez&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Durante las últimas semanas he estado dedicando la mitad de mi tiempo en entrenar gente y la otra mitad al desarrollo de una aplicación y en ambos casos he puesto bastante foco en la cobertura de código. Esto me ha motivado a compartir algunas ideas sobre este tema y para setear el contexto y las expectativas, voy comenzar este post compartiendo algunos conceptos básicos y luego en otro post voy a volcar algunas ideas/experiencias personales.</p>
<p><strong>¿Qué es la cobertura de código?</strong></p>
<p>La cobertura código es la cantidad de código (medida porcentualmente) que está siento cubierto por las pruebas. O sea, ejecuto las pruebas de mi aplicación y si hay alguna línea de mi código que nunca fue ejecutada en el contexto de las pruebas, entonces dicha línea no está cubierta. Si mi código consta te 100 líneas y solo 50 líneas están siendo ejecutadas al correr las pruebas, entonces mi cobertura es del 50%. La pregunta que viene a continuación es:</p>
<p><strong>¿Qué beneficio tiene medir la cobertura? y más específicamente ¿que beneficios tiene tener una alta cobertura?</strong>.</p>
<p>Una respuesta genérica podría ser que aumenta la calidad de mi aplicación. Siendo más concreto podría decir que si tengo una alta cobertura, significa que gran parte me mi código está siendo probado y por consiguiente podria tener cierta certeza sobre el correcto funcionamiento de mi aplicación. Al mismo tiempo medir la cobertura podria ayudarme a detectar código innecesario en mi aplicación, ya que no se ejecuta.</p>
<p>La pregunta que surge a continuación es:</p>
<p><strong>¿Qué porcentaje de cobertura es suficiente?</strong></p>
<p>La respuesta no es única, existen distintos criterios y pueden resultar bastante polémicos por eso voy a tratarlos en otro post. Pero por ahora solo diré que para <a href="https://github.com/colszowka/simplecov" target="_blank">SimpleCov</a>, lo idea es de al menos 90% y en <a href="http://www.southworks.net/" target="_blank">Southworks</a> soliamos perseguir el 80%.</p>
<p><strong>¿Una cobertura del 100% asegura que mi código no tiene bugs?</strong></p>
<p>De ninguna manera, una cobertura del 100% solo nos dice que todo nuestro código está siendo cubierto por pruebas, pero puede que las pruebas no esten contemplando algunas situaciones, o sea, me falta pruebas.</p>
<p><strong>¿Qué necesito para poder medir la cobertura?</strong></p>
<p><strong></strong>En primer lugar  es necesario escribir pruebas y en segundo lugar contar con alguna herramienta que permita medir la cobertura.En la actualidad los lenguajes más populares cuentan con herramientas para medir la cobertura. Si trabajamos con C# y escribimos nuestras pruebas con MSTest, entonces el Visual Studio nos ofrece la posibilidad de habilitar la medición de cobertura de código. Si en cambio trabajamos con Ruby, podríamos utilizar <a href="http://rspec.info/" target="_blank">RSpec</a> para escribir nuestras pruebas y <a href="https://github.com/colszowka/simplecov" target="_blank">SimpleCov</a> para medir la cobertura.</p>
<p>Esto es todo por ahora, les algunos links interesantes sobre el tema:</p>
<ul>
<li><a href="http://www.exampler.com/testing-com/writings/coverage.pdf" target="_blank">How to Misuse Code Coverage por Brian Marrick</a>, lindo artículo sobre el tema escrito por uno de los firmantes del manifiesto ágil.</li>
<li><a href="http://www.bullseye.com/coverage.html" target="_blank">Code Coverage Analysis, por Steve Cornett</a>, artículo bastante completo, con bastante teoría sobre el tema</li>
<li><a href="http://googletesting.blogspot.com/2010/07/code-coverage-goal-80-and-no-less.html" target="_blank">Testivus on Test Coverage, del blog de Google Test</a>, cuentito muy ilustrativo los criterios de Code Coverage</li>
</ul>
<p>En el siguiente post voy hacer algunos comentarios sobre estos artículos.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nicopaez.wordpress.com/1440/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nicopaez.wordpress.com/1440/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nicopaez.wordpress.com/1440/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nicopaez.wordpress.com/1440/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nicopaez.wordpress.com/1440/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nicopaez.wordpress.com/1440/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nicopaez.wordpress.com/1440/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nicopaez.wordpress.com/1440/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nicopaez.wordpress.com/1440/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nicopaez.wordpress.com/1440/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nicopaez.wordpress.com/1440/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nicopaez.wordpress.com/1440/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nicopaez.wordpress.com/1440/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nicopaez.wordpress.com/1440/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicopaez.wordpress.com&amp;blog=4971453&amp;post=1440&amp;subd=nicopaez&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nicopaez.wordpress.com/2012/01/14/code-coverage/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a5ef1ae46ae4e9aa7210a56a4b53a740?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">npaez</media:title>
		</media:content>
	</item>
		<item>
		<title>Peer Reviews</title>
		<link>http://nicopaez.wordpress.com/2012/01/12/peer-reviews/</link>
		<comments>http://nicopaez.wordpress.com/2012/01/12/peer-reviews/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 04:26:25 +0000</pubDate>
		<dc:creator>npaez</dc:creator>
				<category><![CDATA[opinion]]></category>
		<category><![CDATA[fiuba]]></category>

		<guid isPermaLink="false">http://nicopaez.wordpress.com/?p=1424</guid>
		<description><![CDATA[Estaba degustando un aperitivo post-cena mientras hacía un poco de zapping entre las pestañas de mi explorador. Fue entonces cuando me topé con un mail de un ex-compañero de trabajo consultando sobre el tema de referencia. Puntualmente la consulta fue:  ¿cuáles serían los 4 puntos más importantes a tener en cuenta para hacer un peer review? [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicopaez.wordpress.com&amp;blog=4971453&amp;post=1424&amp;subd=nicopaez&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Estaba degustando un aperitivo post-cena mientras hacía un poco de zapping entre las pestañas de mi explorador. Fue entonces cuando me topé con un mail de un ex-compañero de trabajo consultando sobre el tema de referencia. Puntualmente la consulta fue:  ¿cuáles serían los 4 puntos más importantes a tener en cuenta para hacer un peer review? Luego de pensarlo brevemente, comencé a redactar mi respuesta cuando caí en la cuenta que era un tema interesante para compartir y entonces decidí publicarlo aquí.</p>
<p>Haciendo un poco de memoria, creo que mi primer acercamiento a este tema fue con Code Complete, el clásico de Steve McConnell. Pero no estoy seguro, tal haya sido cuando cursé la materia Calidad con Alejando Oliveros en Fiuba.</p>
<p>Comencemos por el principio. El términos generales podemos decir que el peer review es una técnica de revisión del trabajo producido por una persona, realizada por sus pares. El fin de este tipo de actividad suele variar levelmente dependiendo del campo de aplicación, pero usualmente tiene que ver con el aseguramiento del cumplimiento de normas/estándares, la detección de oportunidades de mejora y la validación (esto último es muy común en el campo académico, previo de la publicación de trabajos de investigación).</p>
<p>Bajando a concreto y hablando especificamente del ámbito de desarrollo del software, un peer review es una revisión de un artecfacto (código, especifición, etc) realizada por su autor y un conjunto de pares con el fin de evaluar su contenido técnico y/0 calidad.  La técnicas existentes para realizar este tipo de revisiones varian considerablemente en su nivel de formalidad. En un extremo podriamos encontrar el collective ownership de los métodos ágiles y en otro las <a href="http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=4601584" target="_blank">inspecciones formales propuestas por el IEEE</a>. En medio hay unas cuantas alternativas. <strong>¿cual de todas es la más apropiada? Dependerá del fin concreto de la revisión y de la cultura de la organización donde pretenda implementarse.</strong></p>
<p>Volviendo a la pregunta de mi colega que motivo estas lineas, asumo en primer lugar que su inquietud apunta a implementar la práctica de peer review en una organización y no a simplemente realizar UN peer review. Al mismo tiempo asumo que estamos habland de review en el sentido de revisión de artefactos y no de evaluar el desempeño general de una persona. Dicho esto, los principales puntos a considerar son a mi enteder:</p>
<ol>
<li>El objetivo del peer review</li>
<li>La cultura organizacional</li>
<li>La conformación del equipo</li>
<li>El proceso</li>
</ol>
<p>Si bien los items estan enumerados, dichos números no representan necesariamente su orden de importancia. Más allá de eso, tanto (1) como (2) son fundamentales para determinar la técnica concreta a utilizar y ello sin duda tiene impacto en (3) y (4).</p>
<p>En cuanto a (1), si el objetivo es la implementación de alguna práctica de mejora certificada como la propuestas por modelos como CMMi, entonces tal vez las <a href="http://vir.liu.se/~TDDC90/labs/fagan76.pdf" target="_blank">inspecciones formales propuestas por Michael Fagan</a> resulten muy convenientes.</p>
<p>En lo referente a (2), hay que tener mucho cuidado puessi en la orgnaización hay gente de gran antiguedad que puede sentirse amenaza por este tipo de prácticas. En casos así, la implementación puede llegar a resultar verdaderamente muy dificil y de no hacerlo con la debida precaución podría llegar a resultar contraproducente.</p>
<p>Respecto a (3) creo que el equipo debiera estar conformado por gente con cierto reconocimiento de sus pares, gente que ha demostrado sus habilidades técnicas y que es reconocida por sus pares independiente del título que ostenta dentro de la organización.</p>
<p>Finalmente respecto a (4)  resulta importante mirar el proceso completo, pues solo hacer revisiones y registrar los resultados, no va a llevar por si solo a la mejora. Es necesario definir que hacer a partir de los hallazgos de la revisión.</p>
<p>Algunas recomendación claves a la hora realizar revisiones:</p>
<ul>
<li>El foco es la detección, no la corrección</li>
<li>El management no participa de la revisiones (a excepción de lo que se esté revisando sea algún artefacto de gestión como un plan)</li>
<li>Lo que está bajo revisión es el artefacto, no la persona que lo produjo</li>
<li>Entrenar a los revisores</li>
<li>Preparar checklist para realizar las revisiones</li>
</ul>
<p>Para los interesados en profundizar puedo recomendar algunos materiales que acabo de chequear en mi biblioteca:</p>
<ul>
<li>Capítulo 21: Collaborative Construction, de <a href="http://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670" target="_blank">Code Complete</a> (Steve McConnell)</li>
<li>Sección 26.4: Formal Technical Reviews, de <a href="http://www.amazon.com/Software-Engineering-Practitioners-Roger-Pressman/dp/0077227808" target="_blank">Software Engineering: A Practitioner&#8217;s Approach</a> (Roger Pressman)</li>
<li>Capítulo 11: Clean Code, de <a href="http://www.amazon.com/Agile-Coaching-Rachel-Davies/dp/1934356433" target="_blank">Agile Coaching</a> (Rachel Davies)</li>
</ul>
<p>Otro titulo importante en esta temática (pero al que no he tenido accesso) es <a href="http://www.amazon.com/exec/obidos/ASIN/0201734850" target="_blank">Peer Reviews in Software, de Karl Wiegers</a>.</p>
<p>Por último, les dejo algunos link interesantes sobre el tema:</p>
<ul>
<li><a href="http://vir.liu.se/~TDDC90/labs/doolan91.pdf" target="_blank">Experience with Fagan&#8217;s inspection method</a></li>
<li><a href="http://www.processimpact.com/pr_goodies.shtml" target="_blank">Goodies for peer reviews</a></li>
<li><a href="http://www-sst.informatik.tu-cottbus.de/~db/doc/People/Broy/Software-Pioneers/Fagan_new.pdf" target="_blank">A history of software inspections</a></li>
</ul>
<p>Espero este ayude a resolver las dudas de mi colega.</p>
<p>¡Nos leemos!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nicopaez.wordpress.com/1424/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nicopaez.wordpress.com/1424/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nicopaez.wordpress.com/1424/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nicopaez.wordpress.com/1424/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nicopaez.wordpress.com/1424/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nicopaez.wordpress.com/1424/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nicopaez.wordpress.com/1424/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nicopaez.wordpress.com/1424/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nicopaez.wordpress.com/1424/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nicopaez.wordpress.com/1424/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nicopaez.wordpress.com/1424/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nicopaez.wordpress.com/1424/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nicopaez.wordpress.com/1424/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nicopaez.wordpress.com/1424/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicopaez.wordpress.com&amp;blog=4971453&amp;post=1424&amp;subd=nicopaez&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nicopaez.wordpress.com/2012/01/12/peer-reviews/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a5ef1ae46ae4e9aa7210a56a4b53a740?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">npaez</media:title>
		</media:content>
	</item>
		<item>
		<title>Eventos (académicos) 2012</title>
		<link>http://nicopaez.wordpress.com/2012/01/08/eventos-academicos-2012/</link>
		<comments>http://nicopaez.wordpress.com/2012/01/08/eventos-academicos-2012/#comments</comments>
		<pubDate>Sun, 08 Jan 2012 01:09:11 +0000</pubDate>
		<dc:creator>npaez</dc:creator>
				<category><![CDATA[academia]]></category>
		<category><![CDATA[evento]]></category>
		<category><![CDATA[Ingeniería de software]]></category>
		<category><![CDATA[fiuba]]></category>
		<category><![CDATA[poo]]></category>
		<category><![CDATA[unq]]></category>

		<guid isPermaLink="false">http://nicopaez.wordpress.com/?p=1409</guid>
		<description><![CDATA[Durante el año pasado mientras estudiaba para las materias que cursé en la maestría de la UNLP, se me ocurrieron dos artículos que me gustaría desarrollar para presentar en algún congreso y casualmente recien empezado el año tengo tres posibles eventos donde presentarlos. El primero es AgenCon, organizado por la sección argentina de IEEE. El [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicopaez.wordpress.com&amp;blog=4971453&amp;post=1409&amp;subd=nicopaez&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Durante el año pasado mientras estudiaba para las materias que cursé en la maestría de la UNLP, se me ocurrieron dos artículos que me gustaría desarrollar para presentar en algún congreso y casualmente recien empezado el año tengo tres posibles eventos donde presentarlos.</p>
<p>El primero es <a href="http://www.argencon.org.ar/" target="_blank">AgenCon</a>, organizado por la sección argentina de IEEE. El mismo se desarrollará del 9 al 13 de Junio  en Córdoba. La fecha límite para el envío de trabajos es el 15 de Marzo.</p>
<p>El segundo evento es la edición <a href="http://www.41jaiio.org.ar/" target="_blank">41 de las JAIIO</a>, este año organizadas en conjunto con la UNLP entre el 27 y 31 de Agosto. La convocatoria de trabajos trabajos esta abierta hasta el 30 de Abril.</p>
<p>Finalmente el tercer evento que tengo en el radar es <a href="http://www.weef2012.edu.ar/" target="_blank">Foro Mundial de Educación en Ingenieria</a> (WEEF: World Engineering Education Forum). Sinceramente nunca había nunca había escuchado hablar de este evento (tal vez porque no siempre se realiza en Argentina). El mismo será organizado por UTN y se desarrollará en Buenos Aires del 15 al 18 de Octubre.La fecha límite para el envio de trabajo es el 2 de Marzo.</p>
<p>Volviendo a los trabajos que tengo en mente, el primero es sobre el enfoque que estoy utilizando en UNQ para dictar ingeniería de software. El otro es sobre algunas ideas que he venido madurando para la enseñanza de la programación en los cursos introductorios de programación.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nicopaez.wordpress.com/1409/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nicopaez.wordpress.com/1409/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nicopaez.wordpress.com/1409/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nicopaez.wordpress.com/1409/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nicopaez.wordpress.com/1409/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nicopaez.wordpress.com/1409/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nicopaez.wordpress.com/1409/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nicopaez.wordpress.com/1409/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nicopaez.wordpress.com/1409/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nicopaez.wordpress.com/1409/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nicopaez.wordpress.com/1409/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nicopaez.wordpress.com/1409/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nicopaez.wordpress.com/1409/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nicopaez.wordpress.com/1409/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicopaez.wordpress.com&amp;blog=4971453&amp;post=1409&amp;subd=nicopaez&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nicopaez.wordpress.com/2012/01/08/eventos-academicos-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a5ef1ae46ae4e9aa7210a56a4b53a740?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">npaez</media:title>
		</media:content>
	</item>
		<item>
		<title>Sueldos IT (version 2011)</title>
		<link>http://nicopaez.wordpress.com/2012/01/05/sueldos-it-version-2011/</link>
		<comments>http://nicopaez.wordpress.com/2012/01/05/sueldos-it-version-2011/#comments</comments>
		<pubDate>Thu, 05 Jan 2012 03:07:48 +0000</pubDate>
		<dc:creator>npaez</dc:creator>
				<category><![CDATA[noticia]]></category>
		<category><![CDATA[fiuba]]></category>
		<category><![CDATA[industria del software]]></category>

		<guid isPermaLink="false">http://nicopaez.wordpress.com/?p=1411</guid>
		<description><![CDATA[La semana pasada en iinfo (la lista de correo de ingeniría informática de la UBA) surgió un hilo de discusión sobre este tema. Un dato importante mencionado durante la discusión por GuidoDeB es que la Cámara Cámara de Empresas de Software &#38; Servicios Informáticos de la República Argentina (CESSI), a través de su Observatorio Permanente de la Industria [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicopaez.wordpress.com&amp;blog=4971453&amp;post=1411&amp;subd=nicopaez&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>La semana pasada en iinfo (la lista de correo de ingeniría informática de la UBA) surgió un hilo de discusión sobre este tema. Un dato importante mencionado durante la discusión por <a href="http://www.linkedin.com/in/gdebenedetti" target="_blank">GuidoDeB</a> es que la Cámara Cámara de Empresas de Software &amp; Servicios Informáticos de la República Argentina (<a href="http://www.cessi.org.ar/" target="_blank">CESSI</a>), a través de su Observatorio Permanente de la Industria del Software y Servicios Informáticos (<a href="http://www.cessi.org.ar/opssi" target="_blank">OPSSI</a>), elabora un informe sobre la evolución salarial semestral dentro de las empresas del sector, socias de la cámara.</p>
<p>A continuación les dejo algunos de los links que se compartieron durante la discusión.</p>
<ul>
<li><a href="http://management.iprofesional.com/notas/106590-Cuales-son-los-perfiles-IT-mas-buscados-y-que-salarios-se-pagan-hoy-en-el-mercado">http://management.iprofesional.com/notas/106590-Cuales-son-los-perfiles-IT-mas-buscados-y-que-salarios-se-pagan-hoy-en-el-mercado</a></li>
<li><a href="http://www.cessi.org.ar/documentacion/OPSSI_RRHH_dic2010.pdf">http://www.cessi.org.ar/documentacion/OPSSI_RRHH_dic2010.pdf</a></li>
<li><a href="http://www.encuestasit.com/Sueldo.aspx#">http://www.encuestasit.com/Sueldo.aspx#</a></li>
</ul>
<p>&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nicopaez.wordpress.com/1411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nicopaez.wordpress.com/1411/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nicopaez.wordpress.com/1411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nicopaez.wordpress.com/1411/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nicopaez.wordpress.com/1411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nicopaez.wordpress.com/1411/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nicopaez.wordpress.com/1411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nicopaez.wordpress.com/1411/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nicopaez.wordpress.com/1411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nicopaez.wordpress.com/1411/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nicopaez.wordpress.com/1411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nicopaez.wordpress.com/1411/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nicopaez.wordpress.com/1411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nicopaez.wordpress.com/1411/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicopaez.wordpress.com&amp;blog=4971453&amp;post=1411&amp;subd=nicopaez&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nicopaez.wordpress.com/2012/01/05/sueldos-it-version-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a5ef1ae46ae4e9aa7210a56a4b53a740?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">npaez</media:title>
		</media:content>
	</item>
		<item>
		<title>Chau 2011</title>
		<link>http://nicopaez.wordpress.com/2012/01/01/chau-2011/</link>
		<comments>http://nicopaez.wordpress.com/2012/01/01/chau-2011/#comments</comments>
		<pubDate>Sun, 01 Jan 2012 19:34:06 +0000</pubDate>
		<dc:creator>npaez</dc:creator>
				<category><![CDATA[opinion]]></category>
		<category><![CDATA[southworks]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[unlp]]></category>
		<category><![CDATA[unq]]></category>

		<guid isPermaLink="false">http://nicopaez.wordpress.com/?p=1404</guid>
		<description><![CDATA[¡Adentro! se fué el 2011 y tal como lo dijera en su momento: 2010 fue un año bisagra y con 2011 empezó una nueva etapa. Entre los hechos destacados de esta nueva etapa debo mencionar: Un giro en mi carrera profesional enfocándome en cuestiones de capacitación/entrenamiento. En este punto debo agreder a Southworks (la empresa [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicopaez.wordpress.com&amp;blog=4971453&amp;post=1404&amp;subd=nicopaez&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>¡Adentro! se fué el 2011 y <a href="http://nicopaez.wordpress.com/2011/01/02/balance-2010/" target="_blank">tal como lo dijera en su momento</a>: 2010 fue un año bisagra y con 2011 empezó una nueva etapa. Entre los hechos destacados de esta nueva etapa debo mencionar:</p>
<ul>
<li>Un giro en mi carrera profesional enfocándome en cuestiones de capacitación/entrenamiento. En este punto debo agreder a <a href="http://www.southworks.net/" target="_blank">Southworks</a> (la empresa donde trabajo desde 2009) y en particular a un conjunto de colegas que han colaborado en que pueda realizar este giro: <a href="http://www.salias.com.ar/" target="_blank">MartinS</a>, <a href="http://ar.linkedin.com/pub/matias-woloski/1/433/250" target="_blank">MatiasW</a>, <a href="http://ar.linkedin.com/in/arielschapiro" target="_blank">ArielS</a> y <a href="http://ar.linkedin.com/in/ezequieljadib" target="_blank">EzequielJ</a>.</li>
<li>Mi vuelta al estudio.  Comencé a cursar la <a href="http://postgrado.info.unlp.edu.ar/Carreras/Magisters/Tecnologia_Informatica_Aplicada_en_Educacion/Tecnologia_Informatica_Aplicada_en_Educacion.html" target="_blank">Maestria en Tecnologia Informática Aplicada en Educación</a> en la UNLP.</li>
<li>Mi incorporación como docente a la <a href="http://unq.edu.ar/" target="_blank">Universidad Nacional de Quilmes</a> y particularmente mi cargo como docente responsable de la materia Elementos de Ingenieria de Software.</li>
<li>La consolidación de mi <a href="http://somosfogoneros.com.ar/" target="_blank">proyecto musical</a>.</li>
<li>Una serie de cuestiones de caracter personal que no vienen al caso en este contexto.</li>
</ul>
<p>Respecto de eventos fui orador en <a href="http://www.codecamp.com.ar/" target="_blank">Codecamp</a> y en <a href="http://www.fast.org.ar/smalltalks2011" target="_blank">Smalltalks</a>,  participé activamente en el <a href="http://agiles2011.agiles.org" target="_blank">Agiles2011</a> y en el <a href="http://www.agiles.org/agile-open-tour" target="_blank">AO Tour</a> y dicté un workshop en el contexto de <a href="http://www.40jaiio.org.ar/asse" target="_blank">ASSE/JAIIO</a>.</p>
<p>Otro punto que quiero destacar es que he mantenido mi constancia en este blog. Durante 2011 escribí 88 post superando las 66 que había escrito durante 2010. Este incremento de casi 30% también se correlaciona con la cantidad de visitas que paso de casi 7.000 en 2010 a casi 11.000 durante 2011. Intentar superar estos números durante 2012 será sin duda una gran desafío.</p>
<p>Bueno, es todo, chau 2011. Me despido no sin antes agradecer a los lectores de este blog deseándoles un gran 2012 y esperando poder seguir aportandoles mis 2 centavos durante este nuevo año.</p>
<p>¡Salud!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nicopaez.wordpress.com/1404/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nicopaez.wordpress.com/1404/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nicopaez.wordpress.com/1404/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nicopaez.wordpress.com/1404/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nicopaez.wordpress.com/1404/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nicopaez.wordpress.com/1404/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nicopaez.wordpress.com/1404/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nicopaez.wordpress.com/1404/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nicopaez.wordpress.com/1404/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nicopaez.wordpress.com/1404/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nicopaez.wordpress.com/1404/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nicopaez.wordpress.com/1404/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nicopaez.wordpress.com/1404/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nicopaez.wordpress.com/1404/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicopaez.wordpress.com&amp;blog=4971453&amp;post=1404&amp;subd=nicopaez&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nicopaez.wordpress.com/2012/01/01/chau-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a5ef1ae46ae4e9aa7210a56a4b53a740?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">npaez</media:title>
		</media:content>
	</item>
		<item>
		<title>Orientación a Obejtos Pura</title>
		<link>http://nicopaez.wordpress.com/2011/12/30/orientacion-a-obejtos-pura/</link>
		<comments>http://nicopaez.wordpress.com/2011/12/30/orientacion-a-obejtos-pura/#comments</comments>
		<pubDate>Fri, 30 Dec 2011 04:06:59 +0000</pubDate>
		<dc:creator>npaez</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[poo]]></category>
		<category><![CDATA[smalltalk]]></category>

		<guid isPermaLink="false">http://nicopaez.wordpress.com/?p=1399</guid>
		<description><![CDATA[Es común cuando se presenta Smalltalk mencionar que es un lenguaje orientado a objetos puro. También es común que la audiencia no logré captar el significado de esta afirmación inmediatamente. Yo mismo he analizado esta afirmación montones de veces, pensando que tal vez sea un poco extrema, pero esta semana, vi la luz y me [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicopaez.wordpress.com&amp;blog=4971453&amp;post=1399&amp;subd=nicopaez&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Es común cuando se presenta Smalltalk mencionar que es un lenguaje orientado a objetos puro. También es común que la audiencia no logré captar el significado de esta afirmación inmediatamente. Yo mismo he analizado esta afirmación montones de veces, pensando que tal vez sea un poco extrema, pero esta semana, vi la luz y me dí cuenta de que es absolutamente acertada.</p>
<p>Resulta que por estos dias, me encuentro entrenando a un grupo de programadores en C#. Fue en este contexto que me encontré hablando de las diferencias y relaciones entre interfaces, clases, estructuras (structs) y enumerados, ¡recorcholis! <strong>4 artefactos del lenguaje que NO son objetos</strong>. ¡Y aún no expliqué eventos, delegados, tipos primitivos y atributos (anotaciones)!. ¡Cuantas cosas que explicar!</p>
<p><strong>¡Cuanto más fácil seria explicar Smalltalk!</strong></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nicopaez.wordpress.com/1399/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nicopaez.wordpress.com/1399/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nicopaez.wordpress.com/1399/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nicopaez.wordpress.com/1399/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nicopaez.wordpress.com/1399/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nicopaez.wordpress.com/1399/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nicopaez.wordpress.com/1399/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nicopaez.wordpress.com/1399/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nicopaez.wordpress.com/1399/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nicopaez.wordpress.com/1399/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nicopaez.wordpress.com/1399/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nicopaez.wordpress.com/1399/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nicopaez.wordpress.com/1399/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nicopaez.wordpress.com/1399/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicopaez.wordpress.com&amp;blog=4971453&amp;post=1399&amp;subd=nicopaez&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nicopaez.wordpress.com/2011/12/30/orientacion-a-obejtos-pura/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a5ef1ae46ae4e9aa7210a56a4b53a740?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">npaez</media:title>
		</media:content>
	</item>
		<item>
		<title>¿Bug en Mercado Libre?</title>
		<link>http://nicopaez.wordpress.com/2011/12/29/bug-en-mercado-libre/</link>
		<comments>http://nicopaez.wordpress.com/2011/12/29/bug-en-mercado-libre/#comments</comments>
		<pubDate>Thu, 29 Dec 2011 11:19:49 +0000</pubDate>
		<dc:creator>npaez</dc:creator>
				<category><![CDATA[curiosidades]]></category>

		<guid isPermaLink="false">http://nicopaez.wordpress.com/?p=1395</guid>
		<description><![CDATA[Busco un producto, reviso las opciones, finalmente me decido y compro.Voy a retirar el producto, llego a casa y veo que no tiene una característica que recuerdo explícitamente me interesaba. Entro a mi cuenta de Mercado Libre a ver los detalles de la compra. En mi lista de compras figura el item comprado junto con [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicopaez.wordpress.com&amp;blog=4971453&amp;post=1395&amp;subd=nicopaez&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Busco un producto, reviso las opciones, finalmente me decido y compro.Voy a retirar el producto, llego a casa y veo que no tiene una característica que recuerdo explícitamente me interesaba.</p>
<p>Entro a mi cuenta de Mercado Libre a ver los detalles de la compra. En mi lista de compras figura el item comprado junto con su precio (digamos $100). Hago click en el item para ver el detalle de la compra y me lleva a la publicación. Pero&#8230;. ¡rechorlis! la publicación ha sido actualizada, el precio ya no es $100, sino $80 y la especificación a cambiado.</p>
<p>Llamo al vendedor, explico la situación. El flaco comprende el problema y admite que hubo una actualización en la publicación. Me indica que me acerque al local asi arreglamos la situación. Parece que no va a haber problemas, mañana les cuento.</p>
<p>Si el flaco no tenia buena onda, yo estaba al horno, pues al parecer Mercado Libre no guarda &#8220;una foto&#8221; de la publicación al realizar la compra. Hablando tecnicamente, parece que la entidad compra, no tiene los detalles de la compra sino simplemente una referencia a la entidad publicación. Puede que esto sea asi explícitamente por diseño, pero desde el punto de vista del negocio, yo creo que es un Bug, pues yo como comprador quiero poder tener el detalle exacto de lo que compré independientemente de que la publicación sea actualizada.</p>
<p>Por otro lado miro mi lista de compras y veo que solo figuran las más recientes, las compras que realicé hace 11 meses no figuran en el listado. Mmmm esto tampoco me gusta, pues tampoco veo ningún link del estilo &#8220;Ver compras anteriores&#8221;.</p>
<p><em>Nota: si bien el post está escrito en primera persona, esta situación no me sucedió a mi sino mi hermano, pero yo la seguí de cerca e incluso la reproduje.</em></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nicopaez.wordpress.com/1395/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nicopaez.wordpress.com/1395/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nicopaez.wordpress.com/1395/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nicopaez.wordpress.com/1395/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nicopaez.wordpress.com/1395/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nicopaez.wordpress.com/1395/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nicopaez.wordpress.com/1395/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nicopaez.wordpress.com/1395/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nicopaez.wordpress.com/1395/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nicopaez.wordpress.com/1395/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nicopaez.wordpress.com/1395/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nicopaez.wordpress.com/1395/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nicopaez.wordpress.com/1395/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nicopaez.wordpress.com/1395/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nicopaez.wordpress.com&amp;blog=4971453&amp;post=1395&amp;subd=nicopaez&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nicopaez.wordpress.com/2011/12/29/bug-en-mercado-libre/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a5ef1ae46ae4e9aa7210a56a4b53a740?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">npaez</media:title>
		</media:content>
	</item>
	</channel>
</rss>
