<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
	<title>Iver's web place</title>
	<description>Life is a journey ... taken one shot at a time!</description>
	<link>http://es.iver.com.mx</link>
	<managingEditor>ivan.iver@gmail.com (Iván Jaimes)</managingEditor>
	<copyright>2005 - 2008, Iver</copyright>
	<pubDate>Thu, 29 Jul 2010 17:27:54 -0500</pubDate>
	<generator>JAWS 0.8.9</generator>
	<atom:link href="http://es.iver.com.mx/data/xml/blog.rss" rel="self" type="application/rss+xml" />
	<item>
		<category>Programación</category>
		<title><![CDATA[ Código con aroma de mujer ]]></title>
		<description><![CDATA[ <P>Si, eso es! ... como cualquier ejemplar de la especie humana de sexo masculino (ok, no discriminemos, igual las les, bi y hetero) que aprecie la belleza de las féminas, me declaro susceptible a la esencia de una mujer o a su perfume.<br />
</P>
<p>
Que agradable es percibir el aroma de una mujer cuando pasa cerca de ti, cuando te saluda, te besa, se sienta a tu lado o un sin fin de sucesos que pueden despertar tu interés en el momento, si no te habías percatado de su presencia con anterioridad, en ese momento te obligue a voltear en su dirección para saber el origen del aroma. </p>
<P><br />
¿Y a que viene todo ese rollo del aroma? Resulta que encontré un texto escrito por <a href="http://martinfowler.com/">Martin Fowler</a> que menciona un termino llamado "<strong>Olor en el código</strong>" (CodeSmells) y se me ocurrió escribir una entrada en mi blog que me permita expresar lo que pienso de un buen desarrollo de software basando mis comentarios en el <a href="http://martinfowler.com/bliki/CodeSmell.html">texto</a> que encontré de Fowler.
</p>
<table>
<tr>
<td><img src="http://lh3.ggpht.com/_PFbAnK8DT9E/TFIIYJPU0nI/AAAAAAAAAU4/nmlA_fMF9hc/Code.jpg" width="200px" /></td>
<td>
<p>Dicen algunos amigos que suelo ser muy criticon, realmente no tengo nada que decir al respecto. Si ellos lo dicen, ha de ser verdad (me queda de consuelo que suelo ser más critico con mi persona que con los demás =P ). Así que aprovechando que critico muchas cosas (objetivamente), el código no puede ser la excepción ya que es a lo que dedicamos muchos de nosotros (informáticos) la mayor parte de nuestro tiempo.</P>
<p>
¿Te imaginas que el código fuera tan agradable como el aroma de una mujer? Que cuando lo veas puedas decir, me gusta, quiero saber quién lo escribió, quiero conocer como decidió el autor que debía estructurarse así para que yo lo pueda leer sin pasar horas rastreando variables, métodos, instancias y artefactos fumados. Que no necesite documentación para saber que el código hace lo que debe de hacer. Que simplemente el código me <strong>susurre al oído</strong> como si quisiera seducir mis sentidos y hacerme parte de él.
</p>
<P>Te sugiero leas el artículo de Fowler, lo tienes en <a href="http://martinfowler.com/bliki/CodeSmell.html">inglés</a> y <a href="http://www.agile-spain.com/olorenelcodigo">español</a>.</P><br />
<em>Se despide, /me ... disfrutando de sus problemas =).</em>
</td></tr>
</table> ]]></description>
		<link>http://es.iver.com.mx/index.php/blog/show/CodigoConAroma.html</link>
		<author>ivan.iver@gmail.com (Iván Jaimes)</author>
		<guid>http://es.iver.com.mx/index.php/blog/show/CodigoConAroma.html</guid>
		<pubDate>Thu, 29 Jul 2010 17:06:25 -0500</pubDate>
	</item>
	<item>
		<category>Inhalaciones</category>
		<category>Personajes</category>
		<title><![CDATA[ Lo sabroso de la vida ]]></title>
		<description><![CDATA[ <P><br />
Desde hace unos años, me doy cuenta que cuando mejor hago las cosas es cuando tengo más problemas. Con el siguiente extracto escrito por Albert Einstein puedo confirmar que, <strong>la necesidad te ayuda a mejorar</strong>.<br />
</P><br />
<table>
<tr><td>
<img src="http://upload.wikimedia.org/wikipedia/commons/a/ad/Albert_Einstein_as_a_child.jpg" width="200px" />
</td><td>
<P><br />
La crisis es la mejor bendición que puede sucederle a personas y países porque la crisis trae progresos. La creatividad nace de la angustia como el día nace de la noche oscura. Es en la crisis que nace la inventiva, los descubrimientos y las grandes estrategias. Quién supera la crisis se supera a si mismo sin quedar "superado". Quién atribuye a la crisis sus fracasos y penurias violenta su propio talento y respeta más a a los problemas que a las soluciones. La verdadera crisis es la crisis de la incompetencia. El problema de las personas y los países es la pereza para encontrar las salidas y soluciones.</P><br />
<P>Sin crisis no hay desafíos, sin desafíos la vida es una rutina, una lenta agonía. Sin crisis no hay méritos. Es en la crisis donde aflora lo mejor de cada uno, porque sin crisis todo viento es caricia.<br />
</P><br />
<P>Hablar de crisis es promoverla, y callar en la crisis es exaltar el conformismo. En vez de esto trabajemos duro. Acabemos de una vez con la única crisis amenazadora que es la tragedia de no querer luchar por superarla.<P><br />
<div style="width: 90%; text-align:right"><img src="http://upload.wikimedia.org/wikipedia/commons/4/44/Albert_Einstein_signature.svg" width="180px" /> </div>
</td>
</tr>
</table>
<P><br />
Y tu, ¿Obtienes lo mejor de ti mismo cuando tienes problemas? ¿Te la pasas quejando de lo mal que te va? ¿Todo te molesta? ... no, no te voy a recomendar a neuróticos anónimos. Solo era curiosidad, total, existimos otras personas que si disfrutamos la vida aún con todo y los problemas que se nos presentan. <strong>Eso "my friend" es lo sabroso de la vida!</strong>.<br />
</P><br />
Enjoy your life! ]]></description>
		<link>http://es.iver.com.mx/index.php/blog/show/La-Necesidad-Mejora.html</link>
		<author>ivan.iver@gmail.com (Iván Jaimes)</author>
		<guid>http://es.iver.com.mx/index.php/blog/show/La-Necesidad-Mejora.html</guid>
		<pubDate>Sun, 25 Jul 2010 13:49:10 -0500</pubDate>
	</item>
	<item>
		<category>Programación</category>
		<category>SQL</category>
		<title><![CDATA[ Cuando los Identities se revelan ]]></title>
		<description><![CDATA[ <P>Que bonito es eso de que el motor de SQL haga las cosas más comunes automáticamente, ejemplo de esto pueden ser los valores calculados, un trigger o  insertar un valor numérico auto incremental, los tres son muy similares.</P><br />
<P><br />
Sin embargo esto puede causar un dolor de cabeza si no sabemos como emplearlos, a veces necesitamos usar el identificador de un registro que apenas insertamos en una tabla desde la sesión 52 en la sesión 53 del SQL o bien puede ser útil el conocer el último identificador insertado en una tabla sin tener que hacer un max sobre el campo.<br />
</P><br />
<P><br />
Haber, tenemos <strong>IDENT_CURRENT</strong> tal como en el SQL Server 2000 <strong>SCOPE_IDENTITY</strong> y <strong>&#64&#64IDENTITY</strong>. Las tres funciones regresan el ultimo valor generado automáticamente. Peeeeroooo, tienen un alcance de sesión que se pueden definir de la siguiente manera:</P>
<ul>
<li class="level1"><span class="li"><strong>IDENT_CURRENT</strong> Regresa el último valor generado por una tabla específica en cualquier sesión y cualquier alcance(scope).</span></li>
<li class="level1"><span class="li"><strong>&#64&#64IDENTITY</strong> Regresa el último valor generado por cualquier tabla en la sesión actual en todos los alcances (scope).</span></li>
<li class="level1"><span class="li"><strong>SCOPE_IDENTITY</strong> Regresa el último valor generado para cualquier tabla en la sesión actual y el alcance actual (scope).</span></li>
</ul>
<P><br />
Osea, si me explican ... entiendo! Ahora si ya todo claro =).<br />
</P><br />
<P><br />
<strong>NOTA</strong>: cuando el valor de IDENT_CURRENT es null (porque la tabla ha sido truncada o no contiene datos), la función regresa el valor de siembra (seed), esto es el valor autoincrmental.<br />
</P><br />
Ahora los ejemplos, que "hermosa weba"... para que hacerlo todo? mejor reutilizo lo que está en la ayuda de MSDN <img src="plugins/Emoticons/images/tongue.png" border="0" alt="tongue.png " width="16" height="16" /> :<br />
<P><br />
Que se puede encontrar en <a href="http://msdn.microsoft.com/es-es/library/ms175098.aspx">http://msdn.microsoft.com/es-es/library/ms175098.aspx</a><br />
</P><br />
Vale la pena darle un vistazo a :
<ul>
<li class="level1"><span class="li">IDENT_SEED ( 'table_or_view' )</span></li>
<li class="level1"><span class="li">IDENT_CURRENT ( 'table_or_view' )</span></li>
<li class="level1"><span class="li">DBCC CHECKIDENT()</span></li>
</ul>
<a href="http://msdn.microsoft.com/es-es/library/ms176057.aspx">http://msdn.microsoft.com/es-es/library/ms176057.aspx</a> ]]></description>
		<link>http://es.iver.com.mx/index.php/blog/show/RevelacionIdentities.html</link>
		<author>ivan.iver@gmail.com (Iván Jaimes)</author>
		<guid>http://es.iver.com.mx/index.php/blog/show/RevelacionIdentities.html</guid>
		<pubDate>Wed, 21 Jul 2010 05:48:09 -0500</pubDate>
	</item>
	<item>
		<category>Subversion</category>
		<title><![CDATA[ SVN ignore list ]]></title>
		<description><![CDATA[ <table>
<tr><td>
<P>Si has usado la consola para hacer "commits" del subversion (¿Con que se come? o_O!! consulta <a href="http://es.iver.com.mx/index.php?blog/category/svn.html">aquí</a>) , sabrás lo molesto que resulta que te  muestren archivos que se generan automáticamente con la creación de nuevos proyectos.</P><br />
<P>Para esos momentos tan molestos tenemos un comando (como casi siempre >P)</P><br />
<div class="terminal">
svn propset svn:ignore *.suo .
</div>
<P>Donde <em>propset</em> nos permite asignar la propiedad de svn que en este caso es <em>ignore</em>, *.suo es el patrón que queremos ignorar y "." es el directorio al que se le aplica la propiedad.</P>
</td><td>
<div style="align:center;width:100%">
<img src="http://upload.wikimedia.org/wikipedia/commons/0/03/Svn_3D-tree.svg" width="250px">
</div>
<td>
</tr></table>
<P>Ahora bien, como nunca estamos contentos y siempre queremos hacer más (lo se, lo se, soy positivo <img src="plugins/Emoticons/images/tongue.png" border="0" alt="tongue.png " width="16" height="16" />). Que tal si le agregamos más patrones, resulta que el svn nos ignora los anteriores y solamente asigna el nuevo patrón. ¿Esto es un error? nones, el detalle está en que para facilitar la vida podemos emplear una lista de patrones y para esto se aplica el siguiente comando:</P><br />
<div class="terminal">
svn propset svn:ignore -F [ignore_list_file] dir_name -R
</div>
<P>Donde "-F" le indica al comando que espere un archivo (exacto! [ignore_list_file]) y le decimos en que directorio queremos que se aplique la propiedad, en caso de querer que sea recursivo (osea que se actualicen los subdirectorios) simplemente se agrega la opción "-R"</P><br />
<P><br />
Si todo sale como debe en la consola aparecerá lo siguiente:<br />
</P><br />
<div class="terminal">
property 'svn:ignore' set on 'dir_name'<br />
property 'svn:ignore' set on 'dir_name\sub_dir_name'
</div>
<P>Sencillo, ¿Que no?</P><br />
<P>¿Quieres saber más? ... consulta:<a href=" http://subversion.apache.org/faq.html"> http://subversion.apache.org/faq.html</a></P> ]]></description>
		<link>http://es.iver.com.mx/index.php/blog/show/SVN-ignore-list.html</link>
		<author>ivan.iver@gmail.com (Iván Jaimes)</author>
		<guid>http://es.iver.com.mx/index.php/blog/show/SVN-ignore-list.html</guid>
		<pubDate>Tue, 13 Jul 2010 00:47:29 -0500</pubDate>
	</item>
	<item>
		<category>Inhalaciones</category>
		<title><![CDATA[ El valor de las personas ]]></title>
		<description><![CDATA[ <P><br />
Hace tiempo escribí un post sobre <a href="http://es.iver.com.mx/index.php?blog/show/Qu_puedo_hacer_para_que_me_valoren_ms.html">¿Que hacer para que te valoren más?</a>.</P>
<p>
Es interesante como cada uno de nosotros tiene su propia apreciación de lo que importa y el valor que le damos a las cosas. Lo que para uno bien puede ser el mejor método para solucionar su vida, para otro puede ser tan solo una forma de evadir su responsabilidad.</p>
<p>
En fin que hoy leí un artículo donde se ha realizado un experimento en el metro de Washington, resulta que un violinista interpretó seis piezas de Bach durante una hora. En ese tiempo aproximadamente 2.000 personas pasaron por su lado sin saber si quiera que dos días antes había agotado todas las entradas a un teatro de Boston, con un costo de 100 dólares por persona, que deseaban escucharlo tocar (las mismas piezas que interpretó en el metro).</p>
<p>
Puedes leer más al respecto en: <a href="http://geeksroom.com/2010/06/24/genio-violinista-en-el-metro/#ixzz0s5nxmuYT">http://geeksroom.com/2010/06/24/genio-violinista-en-el-metro/#ixzz0s5nxmuYT</a>
</p> ]]></description>
		<link>http://es.iver.com.mx/index.php/blog/show/El-valor-de-las-personas.html</link>
		<author>ivan.iver@gmail.com (Iván Jaimes)</author>
		<guid>http://es.iver.com.mx/index.php/blog/show/El-valor-de-las-personas.html</guid>
		<pubDate>Sun, 27 Jun 2010 15:15:51 -0500</pubDate>
	</item>
</channel>
</rss>
