<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Angel "Java" Lopez : Video, Desarrollo de Software</title><link>http://msmvps.com/blogs/lopez/archive/tags/Video/Desarrollo+de+Software/default.aspx</link><description>Tags: Video, Desarrollo de Software</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>Ejemplo de TDD: Implementando una pila (parte 1)</title><link>http://msmvps.com/blogs/lopez/archive/2010/04/28/ejemplo-de-tdd-implementando-una-pila-parte-1.aspx</link><pubDate>Wed, 28 Apr 2010 10:42:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1764469</guid><dc:creator>lopez</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1764469</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2010/04/28/ejemplo-de-tdd-implementando-una-pila-parte-1.aspx#comments</comments><description>&lt;p&gt;Siguiendo con los ejemplos que se han armado para el material del &lt;a target="_blank" href="http://msmvps.com/blogs/lopez/archive/2010/03/26/hogwarts_2D00_project.aspx"&gt;Proyecto Hogwarts&lt;/a&gt;, quiero hoy publicar un caso de uso de Test-Driven Development con Visual Studio 2008 y C#. Ya hab&amp;iacute;a publicado un ejemplo anterior con video en:&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://msmvps.com/blogs/lopez/archive/2010/04/22/un-ejemplo-de-tdd.aspx"&gt;Un ejemplo de TDD&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;La idea es implementar una pila. Ya tenemos una implementaci&amp;oacute;n dentro del propio framework de .NET. Pero la idea ac&amp;aacute; es desarrollarla usando TDD. Para eso, planteamos una serie de test iniciales, a cumplir por nuestra implementaci&amp;oacute;n. Programar de esta forma, permite poner expl&amp;iacute;citamente c&amp;oacute;mo esperamos consumir al software que estamos construyendo. Al escribir los tests, estamos poniendo c&amp;oacute;mo queremos que se consuma y act&amp;uacute;e nuestro objeto pila. En una pila, colocamos elementos, en este caso enteros, y los retiramos, con el criterio &amp;uacute;ltimo entrado, primero salido.&lt;/p&gt;
&lt;p&gt;Por simplicidad, hacia el final de este ejemplo, se implement&amp;oacute; usando una pila interna de .NET. Pero podr&amp;iacute;amos haber implementado con una lista o de otra forma. Puede quedar el caso para un pr&amp;oacute;ximo refactoring. Tambi&amp;eacute;n se repiti&amp;oacute; c&amp;oacute;digo de inicializaci&amp;oacute;n: hay que estudiar c&amp;oacute;mo podemos mejorar esto. Y un tema para la pr&amp;oacute;xima edici&amp;oacute;n de este ciclo, es el uso de code coverage: c&amp;oacute;mo podemos conocer qu&amp;eacute; parte de nuestro c&amp;oacute;digo hemos probado.&lt;/p&gt;
&lt;p&gt;(Please visit the site to view this media)&lt;/p&gt;
&lt;p&gt;Pueden verlo directamente en Youtube, m&amp;aacute;s grande, en &lt;a href="http://www.youtube.com/watch?v=d6JrhC1u2Dw"&gt;http://www.youtube.com/watch?v=d6JrhC1u2Dw&lt;/a&gt; y con opci&amp;oacute;n a pantalla completa.&lt;/p&gt;
&lt;p&gt;Espero que les sirva, cualquier &amp;ldquo;feedback&amp;rdquo; es bienvenido.&lt;/p&gt;
&lt;p&gt;El c&amp;oacute;digo del ejemplo en &lt;a href="http://cid-9f903f3d6db0c176.skydrive.live.com/self.aspx/Examples/Hogwarts/TddStack01.zip"&gt;TddStack01.zip&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Nos leemos!&lt;/p&gt;
&lt;p&gt;Angel &amp;ldquo;Java&amp;rdquo; Lopez &lt;br /&gt;&lt;a href="http://www.ajlopez.com"&gt;http://www.ajlopez.com&lt;/a&gt; &lt;br /&gt;&lt;a href="http://twitter.com/ajlopez"&gt;http://twitter.com/ajlopez&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1764469" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Video/default.aspx">Video</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+Agil/default.aspx">Desarrollo Agil</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/TDD/default.aspx">TDD</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Hogwarts/default.aspx">Hogwarts</category></item><item><title>Un ejemplo de TDD</title><link>http://msmvps.com/blogs/lopez/archive/2010/04/22/un-ejemplo-de-tdd.aspx</link><pubDate>Thu, 22 Apr 2010 17:40:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1764041</guid><dc:creator>lopez</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1764041</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2010/04/22/un-ejemplo-de-tdd.aspx#comments</comments><description>&lt;p&gt;Ya coment&amp;eacute; sobre &lt;a target="_blank" href="http://msmvps.com/blogs/lopez/archive/2010/03/26/hogwarts_2D00_project.aspx"&gt;el Proyecto Hogwarts&lt;/a&gt;: el desarrollo de material, entregables, que sirva de soporte para el entrenamiento de desarrolladores de software. Los puntos claves a atacar en este primer release, son:&lt;/p&gt;
&lt;p&gt;- TDD Test-Driven Development &lt;br /&gt;- DI Dependency Injection, contenedores de Inversion of Control &lt;br /&gt;- Mocks, usos y librer&amp;iacute;as &lt;br /&gt;- Principios SOLID&lt;/p&gt;
&lt;p&gt;Una de las ideas que estamos explorando, es producir peque&amp;ntilde;os ejemplos de los temas, como parte de los entregables. En este post, viene una primera versi&amp;oacute;n de un ejemplo que proponemos como parte de una charla de introducci&amp;oacute;n a TDD.&lt;/p&gt;
&lt;p&gt;El instructor describe primero a grandes rasgos los elementos de TDD, como el ciclo rojo-verde-refactor, pero para fijar el concepto, se necesita mostrar un ejemplo andando.&lt;/p&gt;
&lt;p&gt;En este video, mostramos el uso de Visual Studio 2008, con sus proyectos de tests, y la forma de encarar el ejemplo: queremos desarrollar una simple clase que implemente una calculadora, y la suma de dos n&amp;uacute;meros.&lt;/p&gt;
&lt;p&gt;(Please visit the site to view this media)&lt;/p&gt;
&lt;p&gt;Esperamos ir generando m&amp;aacute;s videos de los ejemplos que estamos preparando, como forma de exponer a la comunidad parte de los entregables que se van sumando al proyecto. Se agradece cualquier comentario, sugerencia, sobre este video y los pr&amp;oacute;ximos (resoluci&amp;oacute;n, calidad de video, sonido, as&amp;iacute; como ejemplos elegidos, claridad de exposici&amp;oacute;n, etc&amp;hellip;)&lt;/p&gt;
&lt;p&gt;Pueden bajar el c&amp;oacute;digo de &lt;a href="http://cid-9f903f3d6db0c176.skydrive.live.com/self.aspx/Examples/Hogwarts/TddCalculator01.zip"&gt;TddCalculator01.zip&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Nos leemos!&lt;/p&gt;
&lt;p&gt;Angel &amp;ldquo;Java&amp;rdquo; Lopez &lt;br /&gt;&lt;a href="http://www.ajlopez.com"&gt;http://www.ajlopez.com&lt;/a&gt; &lt;br /&gt;&lt;a href="http://twitter.com/ajlopez"&gt;http://twitter.com/ajlopez&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1764041" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Video/default.aspx">Video</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+Agil/default.aspx">Desarrollo Agil</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/TDD/default.aspx">TDD</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Hogwarts/default.aspx">Hogwarts</category></item><item><title>Resultado de la VAN ALT.NET Hispano sobre Domain-Driven Design</title><link>http://msmvps.com/blogs/lopez/archive/2010/01/17/resultado-de-la-van-alt-net-hispano-sobre-domain-driven-design.aspx</link><pubDate>Sun, 17 Jan 2010 12:45:25 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1752075</guid><dc:creator>lopez</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1752075</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2010/01/17/resultado-de-la-van-alt-net-hispano-sobre-domain-driven-design.aspx#comments</comments><description>&lt;p&gt;&lt;img style="display:inline;margin:0px 20px 20px 0px;" src="http://www.ajlopez.com/images/articles2/altnethispano01.jpg" align="left" alt="" /&gt; Gracias a la comunidad de ALT.NET Hispano, he podido presentar el tema Domain-Driven Design, como anunciara hace un tiempo en:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/blogs/lopez/archive/2009/12/18/alt-net-hispano-van-reuni-243-n-virtual-domain-driven-design.aspx" target="_blank"&gt;ALT.NET Hispano VAN (Reunión Virtual): Domain-Driven Design&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Y ahora, la comunidad se ha tomado el trabajo de escribir los principales puntos, y editar y publicar el video de la presentación y la charla. Pueden verlo en:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://altnet-hispano.pbworks.com/van-2009-12-19-domain-driven-design" target="_blank"&gt;ALT.NET Hispano VAN 2009-12-19 Domain-Driven Design&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;En la presentación, comenté los principales puntos (DDD daría para varias horas), pero no fue sólo slides, sino que comentamos el código del proyecto: &lt;a title="http://code.google.com/p/ndddsample" href="http://code.google.com/p/ndddsample"&gt;http://code.google.com/p/ndddsample&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Como decía, DDD es un gran tema, que seguramente dará para más presentaciones en detalle, y más ejemplos de implementación. Por un lado, el uso de objetos y dominio estuvo desde temprano presente en el ambiente Java, pero por razones históricas, al llegar .NET no se hizo hincapié en el tema de armar un dominio, sino que se puso énfasis en los datos, más o menos directos.&lt;/p&gt;  &lt;p&gt;Igualmente, el problema no es armar un dominio con objetos, sino llevarlo a una implementación exitosa, donde el dominio pueda convivir con tecnologías de todos los días, como bases de datos relacionales, concurrencia de usuarios, interfaces de presentación de distinto tipo, etc…. Por ejemplo, uno de los ejemplos de uso de dominio transparente, ha sido dado desde hace años, en el ambiente de la programación con Smalltalk. Pero hay que reconocer que esta tecnología no ha conseguido llegar al “mainstream” de desarrollo, y, en mi opinión, también se ha aislado de otros activos, como el acceso a base de datos y aplicaciones distribuidas.&lt;/p&gt;  &lt;p&gt;Es aquí donde las ideas de Eric Evans y otros, abrieron la puerta para que hoy tengamos algunos patrones a adoptar o adaptar, para construir un dominio, e implementarlo de forma razonable, con lenguajes y tecnologías “mainstream”. Aún necesitamos varios artefactos para conseguirlo (me gustaría que fuera más simple, como en Smalltalk (no me olvido de mi post &lt;a href="http://msmvps.com/blogs/lopez/archive/2009/10/16/191-es-tiempo-de-volver-a-la-simplicidad.aspx" target="_blank"&gt;¿Es tiempo de volver a la simplicidad?&lt;/a&gt;)), pero para un programador pragmático, las ideas de DDD tienen aplicación práctica.&lt;/p&gt;  &lt;p&gt;Para mí, fue una feliz experiencia haber podido participar de este evento. Agradezco a todos lo que hicieron posible esto. Es notable lo que ha dado Internet y la Web en particular, para que podamos entre todos, compartir información, conocimiento, discutir opiniones, y aprender de cada uno algo. Y que las actividades como éstas, vayan quedando con “entregable”: no sólo una reunión, sino algo como resultado tangible.&lt;/p&gt;  &lt;p&gt;Espero ir completando la página de la VAN con algunos enlaces más, pero veo que la gente de ALT.NET Hispano ha hecho un gran trabajo. Muchas gracias!&lt;/p&gt;  &lt;p&gt;Nos leemos!&lt;/p&gt;  &lt;p&gt;Angel “Java” Lopez   &lt;br /&gt;&lt;a href="http://www.ajlopez.com"&gt;http://www.ajlopez.com&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://twitter.com/ajlopez"&gt;http://twitter.com/ajlopez&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1752075" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Domain-Driven+Design/default.aspx">Domain-Driven Design</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Video/default.aspx">Video</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/DDD/default.aspx">DDD</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/ALT.NET/default.aspx">ALT.NET</category></item><item><title>Tales from the Scrum: Estimación Agil por Mike Cohn</title><link>http://msmvps.com/blogs/lopez/archive/2010/01/08/agile_2D00_estimation_2D00_by_2D00_mike_2D00_cohn.aspx</link><pubDate>Fri, 08 Jan 2010 10:01:32 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1750497</guid><dc:creator>lopez</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1750497</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2010/01/08/agile_2D00_estimation_2D00_by_2D00_mike_2D00_cohn.aspx#comments</comments><description>&lt;p&gt;Una de las preguntas más frecuentes de los asistentes a mis charlas de Scrum, es ¿cómo se estima en un proyecto de Scrum o ágil? Hace unos meses, encontré estos videos. Quiero hoy compartirlos con Uds.&amp;#160; &lt;a href="http://www.mountaingoatsoftware.com/" target="_blank"&gt;Mike Cohn&lt;/a&gt; es un reconocido experto en el mundo Agile y Scrum. Pueden visitar &lt;a href="http://blog.mountaingoatsoftware.com/" target="_blank"&gt;su blog&lt;/a&gt; donde publica posts sobre temas que nos podemos encontrar en un proyecto Scrum.&lt;/p&gt;  &lt;p&gt;En estos dos videos, él explica claramente que significa estimación en un proyecto ágil (involucrando al equipo en la estimación, haciendo iteraciones, planning poker, todas las prácticas de Scrum …):&lt;/p&gt;  &lt;p&gt;(Please visit the site to view this media)&lt;/p&gt;  &lt;p&gt;Alta resolución: &lt;a href="http://www.youtube.com/watch?v=fb9Rzyi8b90" target="_blank"&gt;http://www.youtube.com/watch?v=jeT0pOVg0EI&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;(Please visit the site to view this media)&lt;/p&gt;  &lt;p&gt;Alta resolución: &lt;a href="http://www.youtube.com/watch?v=jeT0pOVg0EI" target="_blank"&gt;http://www.youtube.com/watch?v=jeT0pOVg0EI&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Los videos fueron tomados el 20 de Marzo del 2007, en la Bay XP Meeting.&lt;/p&gt;  &lt;p&gt;Espero ir comentando en español los principales puntos que expone Mike Cohn, en futuros posts de esta serie.&lt;/p&gt;  &lt;p&gt;Nos leemos!&lt;/p&gt;  &lt;p&gt;Angel “Java” Lopez    &lt;br /&gt;&lt;a href="http://www.ajlopez.com"&gt;http://www.ajlopez.com&lt;/a&gt;     &lt;br /&gt;&lt;a href="http://twitter.com/ajlopez"&gt;http://twitter.com/ajlopez&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1750497" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/Scrum/default.aspx">Scrum</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Video/default.aspx">Video</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+Agil/default.aspx">Desarrollo Agil</category></item><item><title>Ejemplo de TDD con Python</title><link>http://msmvps.com/blogs/lopez/archive/2009/12/24/python_2D00_tdd_2D00_example.aspx</link><pubDate>Thu, 24 Dec 2009 09:40:35 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1747490</guid><dc:creator>lopez</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1747490</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2009/12/24/python_2D00_tdd_2D00_example.aspx#comments</comments><description>&lt;p&gt;Una de las prácticas que siempre intento “vender” a cualquiera involucrado en el desarrollo de software, es la práctica de Test-Driven Development. Una vez que se practica TDD, no quieren volver atrás. Es una forma de programar con tanta recompensa y gozo asociados, que me siento incómodo si no lo usa cuando escribo software real.&lt;/p&gt;  &lt;p&gt;Gracias a un tweet de ayer de &lt;a href="http://twitter.com/jjfalcon" target="_blank"&gt;@jjfalcon&lt;/a&gt;, descubrí este ejemplo, en Youtube, del usuario &lt;a href="http://www.youtube.com/user/objarni" target="_blank"&gt;objarni&lt;/a&gt;. El usa Ubuntu, programando en Python, usa pyTDDemon para ver inmediatamente el resultado de los tests.&lt;/p&gt;  &lt;p&gt;Implementa algo sencillo: código que dado un string con una URL, identificar el protocolo, el dominio, y el recurso que está contenida en esa dirección. En TDD, se va escribiendo el test, el código que pasa el test, y se va progresando de a poco. No hace falta escribir el código correcto y completo desde el principio. Como en otras tantas actividades, el “baby-step”, el “pequeños pasos” de avance, nos ayuda para ir incrementalmente produciendo el resultado esperado.&lt;/p&gt;  &lt;p&gt;Noten el ciclo rojo-verde-refactor, el código mínimo que se agrega en cada tests (a veces, retornando valores puestos a mano, sólo para pasar los tests), refactorizando el test si hay código duplicado, las micro-decisiones de diseño que se van tomando, etc… Excelente trabajo para mostrar en video!&lt;/p&gt;  &lt;p&gt;(Please visit the site to view this media)&lt;/p&gt;  &lt;p&gt;(Please visit the site to view this media)&lt;/p&gt;  &lt;p&gt;(Please visit the site to view this media)&lt;/p&gt;  &lt;p&gt;(Please visit the site to view this media)&lt;/p&gt;  &lt;p&gt;Habría tanto para comentar de TDD. Por ahora, dos recursos. He “tagueado” más videos sobre TDD, en mi delicious:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://delicious.com/ajlopez/tdd+video" href="http://delicious.com/ajlopez/tdd+video"&gt;http://delicious.com/ajlopez/tdd+video&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Los enlaces que colecciono sobre TDD:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://delicious.com/ajlopez/tdd"&gt;http://delicious.com/ajlopez/tdd&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Nos leemos!&lt;/p&gt;  &lt;p&gt;Angel “Java” Lopez    &lt;br /&gt;&lt;a href="http://www.ajlopez.com"&gt;http://www.ajlopez.com&lt;/a&gt;     &lt;br /&gt;&lt;a href="http://twitter.com/ajlopez"&gt;http://twitter.com/ajlopez&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1747490" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Video/default.aspx">Video</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+Agil/default.aspx">Desarrollo Agil</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/TDD/default.aspx">TDD</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Python/default.aspx">Python</category></item><item><title>Resultado de la VAN ALT.NET Hispano sobre Generación de Código</title><link>http://msmvps.com/blogs/lopez/archive/2009/10/27/resultado-de-la-van-alt-net-hispano-sobre-generaci-243-n-de-c-243-digo.aspx</link><pubDate>Tue, 27 Oct 2009 16:15:40 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1735639</guid><dc:creator>lopez</dc:creator><slash:comments>7</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1735639</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2009/10/27/resultado-de-la-van-alt-net-hispano-sobre-generaci-243-n-de-c-243-digo.aspx#comments</comments><description>&lt;p&gt;&lt;img style="display:inline;margin:0px 20px 20px 0px;" src="http://www.todocontenidos.com/images/articles/gencodvan01.png" align="left" alt="" /&gt; Gracias a la comunidad ALT.NET Hispano, quedó publicado el video de la VAN (des-conferencia virtual) sobre Generación de Código, al que fui invitado. Ahí presenté mi proyecto personal preferido, &lt;a href="http://ajgenesis.codeplex.com/" target="_blank"&gt;AjGenesis&lt;/a&gt;, generador de código, escrito en .NET, y publicado en código abierto. Pueden ver el resultado en:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://altnet-hispano.pbworks.com/van-2009-09-26-generacion-codigo" target="_blank"&gt;VAN – Septiembre 26 de 2009 – Generación de Código&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Ahí encontraran el video, enlaces, lecturas, y la presentación que utilicé, para descargar.&lt;/p&gt;  &lt;p&gt;Al final de mi presentación, hubo discusión y preguntas. Uno de los puntos mencionados, fue cuales serán los próximos pasos de AjGenesis. Algo comenté ahí, pero me gustaría contestar algo más en detalle por acá:&lt;/p&gt;  &lt;p&gt;- En principio, es un proyecto que me gusta, y que me ha resultado muy flexible. Y al que voy a seguir incorporando características.&lt;/p&gt;  &lt;p&gt;- Hay desarrolladores que lo usan, pero son pocos, o por lo menos, no publican resultados, o escriben posts (en estos últimos 5 años, debe haber 4 post sobre AjGenesis NO escritos por mí, solamente; tampoco es mencionado mucho en las listas de correo, sobre desarrollo de software en general, que frecuento (debe haber dos o tres menciones en los últimos 3 años)). Entonces, como digo en la des-conferencia, “lo uso yo y mi tía Carlota”… :-)&lt;/p&gt;  &lt;p&gt;- Hay que mejorar la documentación. Por ahora, estoy escribiendo &lt;a href="http://msmvps.com/blogs/lopez/archive/tags/AjGenesis/default.aspx" target="_blank"&gt;posts casi todos los meses sobre el tema&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;- Lo que me gustaría encarar, es poner en línea el tema de &lt;a href="http://msmvps.com/blogs/lopez/archive/2008/04/03/code-generation-as-a-service.aspx" target="_blank"&gt;Code Generation as a Service&lt;/a&gt;, que menciono en la charla.&lt;/p&gt;  &lt;p&gt;Como comento hacia el final de la presentación, cuando expongo sobre generación de código, lo hago mostrando ideas e implementaciones con AjGenesis, porque me siento más cómodo. Pero, por supuesto, hay multitud de otras herramientas, más documentadas, con más soporte, con más comunidad, que pueden usar. La idea de la presentación es que tengan contacto con lo pragmático de generar código, y que vaya quedando en claro por qué estamos hoy generando código: ante la multitud de tecnologías, frameworks y librerías, es un poco difícil zafar de escribir y escribir código. Y como las tecnologías, frameworks y librerías son buenas, en general, es difícil también, hoy por hoy, prescindir de ellas. He dejado enlaces a otras herramientas en la página de la VAN.&lt;/p&gt;  &lt;p&gt;Otro camino a explorar sería abandonar todo eso, y buscar la simplicidad. Algo expongo en &lt;a href="http://msmvps.com/blogs/lopez/archive/2009/10/16/191-es-tiempo-de-volver-a-la-simplicidad.aspx" target="_blank"&gt;¿Es tiempo de volver a la simplicidad?&lt;/a&gt;. Pero, yendo a la realidad, de todos los días, eso todavía no está, y quien sabe cuándo volveremos o conseguiremos eso. Así, que caemos de nuevo en tecnología, frameworks y librerías.&lt;/p&gt;  &lt;p&gt;Como expongo en el post citado, otro camino, que algunos&amp;#160; de Uds. habrán recorrido, habrá sido armarse su propio framework y librerías. Ante la calidad y cantidad de librerías disponibles, y todas las necesidades a cubrir, es un camino algo difícil de recorrer actualmente. Y aún recorrido ese camino, muchas veces nuestro framework necesita que trabajemos incorporando código o archivos de configuración, que bien podemos generar automáticamente desde un modelo.&lt;/p&gt;  &lt;p&gt;Si es la primera vez que visitan este blog, y quieren conocer por qué le dedico tanto tiempo a la generación de código, y encontrar una explicación más detallada de lo que planteo en la charla y en los párrafos de arriba, les recomiendo leer primero mi post &lt;a href="http://msmvps.com/blogs/lopez/archive/2007/08/02/sobre-la-generaci-243-n-de-c-243-digo.aspx" target="_blank"&gt;Sobre la generación de código&lt;/a&gt;. Más enlaces, más relacionados con AjGenesis, en &lt;a href="http://msmvps.com/blogs/lopez/archive/2008/06/10/quot-ver-la-luz-quot-con-generaci-243-n-de-c-243-digo-y-ajgenesis.aspx" target="_blank"&gt;Ver la luz con generación de código y AjGenesis&lt;/a&gt; :-)&lt;/p&gt;  &lt;p&gt;Como verán en el video, y en algunos enlaces que están en la página de la VAN, y leen &lt;a href="http://msmvps.com/blogs/lopez/archive/tags/AjGenesis/default.aspx" target="_blank"&gt;los posts anteriores sobre generación de código y AjGenesis&lt;/a&gt; que ya he escrito, la idea no es solamente generar código, sino generar código desde un modelo: llevamos años eludiendo modelos, solamente dibujándolos (en UML, por ejemplo), pero sin utilizarlos como instrumentos para implementar efectivamente un sistema. La conversión de un modelo a código concreto, ha quedado en nuestras manos. Y ante la cantidad del trabajo, es hora de “elevar el nivel de abstracción”, y comenzar a basarnos en modelos. De alguna forma, eso es lo que hicimos cuando pasamos de programar en lenguaje de máquina, a ensamblador, y luego, a lenguajes de programación: nos olvidamos de los detalles, y le dejamos ese trabajo a la propia máquina. Estamos generando código cada día: ya no armamos el .exe a mano (como en los tiempos de la ENIAC), sino que hay herramientas (compilador ¿recuerdan?) que pasa nuestro modelo (el programa escrito en un lenguaje de modelado de instrucciones, llamado lenguaje de programación) a código ejecutable (instrucciones para nuestros procesadores).&lt;/p&gt;  &lt;p&gt;El tema es que desde hace años, nos hemos quedado en ese nivel de abstracción. Menciono en la charla, que hubo excepciones: hubo algunos avances y adoptamos modelos para olvidarnos de los detalles, en algunos casos. Un caso que menciono: Visual Basic (el clásico, de los noventa). Cuando apareció Visual Basic, ya no hubo que programar ventanas, botones y eventos de Windows, en C, ocupando decenas de líneas para hacer un simple “Hola, mundo” (era lo que yo llamo la “Era Petzoldiana”). Ahora, con un modelo gráfico, arrastramos botones, cajas de textos, y voilá: tenemos el código de un formulario (vean que en .NET, tanto en VB.NET como en C#, todavía es más evidente que generamos código: el diseñador genera el código correspondiente a crear los controles, ponerles las propiedades, por nuestra cuenta y orden).&lt;/p&gt;  &lt;p&gt;Bueno, basta por ahora. Pasen y vean el video, vean las discusiones, y participen de la comunidad ALT.NET Hispano.&lt;/p&gt;  &lt;p&gt;Si les interesa el tema de la generación de código, hay una lista de correo, sobre el tema, en español. Pueden ver los mensajes y suscribirse, en:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://groups.google.com/group/codegeneration"&gt;http://groups.google.com/group/codegeneration&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Nos leemos!&lt;/p&gt;  &lt;p&gt;Angel “Java” Lopez   &lt;br /&gt;&lt;a href="http://www.ajlopez.com"&gt;http://www.ajlopez.com&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://twitter.com/ajlopez"&gt;http://twitter.com/ajlopez&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1735639" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/Generaci_26002300_243_3B00_n+de+C_26002300_243_3B00_digo/default.aspx">Generaci&amp;#243;n de C&amp;#243;digo</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/AjGenesis/default.aspx">AjGenesis</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Video/default.aspx">Video</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/ALT.NET/default.aspx">ALT.NET</category></item><item><title>Tales from the Scrum: Un día en el equipo</title><link>http://msmvps.com/blogs/lopez/archive/2009/10/13/tales-from-the-scrum-un-d-237-a-en-el-equipo.aspx</link><pubDate>Tue, 13 Oct 2009 09:20:03 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1732135</guid><dc:creator>lopez</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1732135</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2009/10/13/tales-from-the-scrum-un-d-237-a-en-el-equipo.aspx#comments</comments><description>&lt;p&gt;Una de las cosas que hay que destacar de Scrum, por si es la primera vez que lo ven, es el trabajo en equipo. Los miembros del equipo realizan una reunión diaria inicial, el Standup, se reparten las tareas, y van trabajando físicamente juntos durante el día, programando, diseñando, haciendo pruebas del software, etc… Hace un tiempo, encontré este video, donde, oh! sorpresa! el ScrumMaster es el bueno de Tobías Mayer (&lt;a href="http://www.infoq.com/interviews/mayer-welfarecsm-scrum" target="_blank"&gt;@tobiasgmayer&lt;/a&gt;) (visiten su blog &lt;a href="http://agilethinking.net/blog/" target="_blank"&gt;Agile Thinking&lt;/a&gt;, y su iniciativa &lt;a href="http://agilethinking.net/welfareCSM/" target="_blank"&gt;WelfareSCM&lt;/a&gt; (entramiento Scrum de bajo costo), también &lt;a href="http://www.infoq.com/interviews/mayer-welfarecsm-scrum" target="_blank"&gt;el video que grabó sobre el tema en InfoQ&lt;/a&gt;).&lt;/p&gt;  &lt;p&gt;(Please visit the site to view this media)&lt;/p&gt;  &lt;p&gt;Vean cómo se trabaja a veces de a pares, a veces en solitario. El ScrumMaster (el que acerca la cara y hace muecas…:-), va acompañando al equipo, de forma intermitente. El lugar físico es importante: todos se ven, todos están en contacto directo. Vean cómo van organizando las tareas en papeles. A la derecha, parece que tiene el tablero de control.&lt;/p&gt;  &lt;p&gt;Para los que no lo vivieron, es así: los miembros van avanzando en tareas, tienen reuniones de diseño, o para discutir dudas y caminos. No hace falta comer en el mismo lugar :-) pero pueden hacerlo.&lt;/p&gt;  &lt;p&gt;Pueden leer un post de Tobías que traduje al español en &lt;a href="http://msmvps.com/blogs/lopez/archive/2009/08/18/tales-from-the-scrum-el-coraz-243-n-de-scrum.aspx" target="_blank"&gt;Tales from the Scrum: El corazón de Scrum&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Nos leemos!&lt;/p&gt;  &lt;p&gt;Angel “Java” Lopez    &lt;br /&gt;&lt;a href="http://www.ajlopez.com"&gt;http://www.ajlopez.com&lt;/a&gt;     &lt;br /&gt;&lt;a href="http://twitter.com/ajlopez"&gt;http://twitter.com/ajlopez&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1732135" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/Scrum/default.aspx">Scrum</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Video/default.aspx">Video</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+Agil/default.aspx">Desarrollo Agil</category></item><item><title>Bing, el nuevo chico del barrio</title><link>http://msmvps.com/blogs/lopez/archive/2009/05/30/bing-el-nuevo-chico-del-barrio.aspx</link><pubDate>Sat, 30 May 2009 09:39:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1693450</guid><dc:creator>lopez</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1693450</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2009/05/30/bing-el-nuevo-chico-del-barrio.aspx#comments</comments><description>&lt;p&gt;Lleg&amp;oacute; el nuevo producto de Microsoft, que presentan, no como un buscador, como un engine de b&amp;uacute;squeda, sino como un motor de decisiones:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.decisionengine.com" title="http://www.decisionengine.com"&gt;http://www.decisionengine.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(Please visit the site to view this media)&lt;/p&gt;
&lt;p&gt;Como empresa gigante, Microsoft se puede dar el lujo de tener un gran equipo de research, y llega el momento en que todo ese conocimiento y esfuerzo se vuelca en alg&amp;uacute;n producto (no siempre).&lt;/p&gt;
&lt;p&gt;Yo todav&amp;iacute;a tengo que probar ese producto, que no est&amp;aacute; liberado al p&amp;uacute;blico. Como muchos productos globales, hoy se anuncian de esta manera, con un video viral, como el de arriba, que no s&amp;oacute;lo est&amp;aacute; en el sitio, sino que tambi&amp;eacute;n est&amp;aacute; en Youtube, y lo puedo embeber en mis blogs.&lt;/p&gt;
&lt;p&gt;A simple vista, es un producto que montado sobre ideas (no implementaciones) de web sem&amp;aacute;ntica, apunta a no tener tanto agentes recorriendo y obteniendo informaci&amp;oacute;n, sino a presentarla y organizarla para que el usuario tenga una experiencia distinta.&lt;/p&gt;
&lt;p&gt;Veremos si cumple con la expectativa. Pero es interesante ver c&amp;oacute;mo la fuente de la informaci&amp;oacute;n es la propia web. Tambi&amp;eacute;n es interesante notar que la informaci&amp;oacute;n de la que parte, no estaba pensada para ser consumida de esa forma. Eso es lo que imagino que va a pasar con las ideas de web sem&amp;aacute;ntica. Las p&amp;aacute;ginas publicada s&amp;oacute;lo va a comenzar a contener informaci&amp;oacute;n sem&amp;aacute;ntica, cuando este tipo de aplicaciones se popularicen. Mientras tanto, el &amp;ldquo;trabajo sucio&amp;rdquo; de obtener informaci&amp;oacute;n de los datos de una p&amp;aacute;gina, quedar&amp;aacute; a cargo de las aplicaciones.&lt;/p&gt;
&lt;p&gt;No veo que sea una &amp;ldquo;killer application&amp;rdquo; para Google. M&amp;aacute;s bien, como Wikipedia, va a brindar otra experiencia de usuario. As&amp;iacute; como hay temas que investigamos con Google, as&amp;iacute; como habr&amp;aacute; otros m&amp;aacute;s estructurados que investigamos partiendo de Wikipedia, habr&amp;aacute; consultas, tareas, comparaciones, donde preferiremos (o no) a Bing.&lt;/p&gt;
&lt;p&gt;Nos leemos!&lt;/p&gt;
&lt;p&gt;Angel &amp;ldquo;Java&amp;rdquo; Lopez &lt;br /&gt;&lt;a href="http://www.ajlopez.com"&gt;http://www.ajlopez.com&lt;/a&gt; &lt;br /&gt;&lt;a href="http://twitter.com/ajlopez"&gt;http://twitter.com/ajlopez&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1693450" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/Inteligencia+Artificial/default.aspx">Inteligencia Artificial</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Video/default.aspx">Video</category></item><item><title>Twitter da para todo</title><link>http://msmvps.com/blogs/lopez/archive/2009/01/04/twitter-da-para-todo.aspx</link><pubDate>Sun, 04 Jan 2009 20:07:52 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1658468</guid><dc:creator>lopez</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1658468</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2009/01/04/twitter-da-para-todo.aspx#comments</comments><description>&lt;p&gt;En algún tweet de &lt;a href="http://twitter.com/delicious_prog" target="_blank"&gt;@delicious_prog&lt;/a&gt; (que suele enviar varios mensajes con enlaces relacionados con la programación en general, que terminan agregados en &lt;a href="http://delicious.com/ajlopez" target="_blank"&gt;mi propio delicious&lt;/a&gt;), encontré este post:&lt;/p&gt; &lt;h4&gt;&lt;a href="http://www.engadget.com/2009/01/03/washing-machine-hacked-to-tweet-when-the-loads-done-maytag-y/" target="_blank"&gt;Washing machine hacked to tweet when the load&amp;#39;s done: @maytag, you listening?&lt;/a&gt;&lt;/h4&gt; &lt;p&gt;del que saco este video:&lt;/p&gt; &lt;p&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/wkMXpKmRXvU"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/wkMXpKmRXvU" type="application/x-shockwave-flash" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt; &lt;p&gt;Vean el trabajo que se tomó esta persona para conectar a una máquina lavadora de ropa, para que al detectarse que terminó su trabajo, envíe un mensaje a una cuenta de Twitter, &lt;a href="http://twitter.com/pimpy3wash" target="_blank"&gt;@pimpy3wash&lt;/a&gt;. Pueden ir ahí y ver que no hubo mucho trabajo en este fin de semana.&lt;/p&gt; &lt;p&gt;Habrá que ver si es todo un montaje, o realmente funciona. Pero más allá del sentido del humor que tiene el autor de esto, es interesante ver podemos usar Internet, con mensajes que ya existen, para avisar de eventos, o accionar en dispositivos remotos, o recibir información de sensores.&lt;/p&gt; &lt;p&gt;Como ejemplos de aplicaciones más serias, pueden ver los proyectos de la gente de Instedd (donde trabaja el bueno de Eduardo Jeziersky), como:&lt;/p&gt; &lt;p&gt;&lt;a href="http://instedd.org/smsgeochat" target="_blank"&gt;SMS Geo-Chat&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Pueden ver cómo puede usarse en&lt;/p&gt; &lt;p&gt;&lt;a href="http://instedd.org/goldenshadow" target="_blank"&gt;Golden Shadow&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;img height="419" src="http://instedd.org/files/image/Golden%20Shadow/GShadowGeoChat.jpg" width="640" alt="" /&gt; &lt;/p&gt; &lt;p&gt;También tienen el interesante:&lt;/p&gt; &lt;p&gt;&lt;a href="http://instedd.org/twitterbots" target="_blank"&gt;Twitter Bots&lt;/a&gt;&lt;/p&gt; &lt;p&gt;al que usan también en otro proyecto&lt;/p&gt; &lt;p&gt;&lt;a href="http://instedd.org/aboutdirectory" target="_blank"&gt;Instedd Directory&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;img src="http://instedd.org/files/ContactsNearbyScreenCapSmall.png" alt="" /&gt; &lt;/p&gt; &lt;p&gt;Uno de los enlaces que mencionan es lo que tiene la gente de research de Microsoft India:&lt;/p&gt; &lt;p&gt;&lt;a title="http://www.codeplex.com/smstoolkit" href="http://www.codeplex.com/smstoolkit"&gt;http://www.codeplex.com/smstoolkit&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Más sobre Twitter y aplicaciones relacionadas en:&lt;/p&gt; &lt;p&gt;&lt;a href="http://delicious.com/twitter"&gt;http://delicious.com/twitter&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Nos leemos!&lt;/p&gt; &lt;p&gt;Angel &amp;quot;Java&amp;quot; Lopez&lt;br /&gt;&lt;a href="http://www.ajlopez.com/"&gt;http://www.ajlopez.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://twitter.com/ajlopez"&gt;http://twitter.com/ajlopez&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1658468" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/interfaces/default.aspx">interfaces</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Video/default.aspx">Video</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Twitter/default.aspx">Twitter</category></item><item><title>Explicando punteros</title><link>http://msmvps.com/blogs/lopez/archive/2009/01/02/explicando-punteros.aspx</link><pubDate>Fri, 02 Jan 2009 00:17:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1658324</guid><dc:creator>lopez</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1658324</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2009/01/02/explicando-punteros.aspx#comments</comments><description>&lt;p&gt;Hace ya unos a&amp;ntilde;os que no programo en C. Como coment&amp;eacute; en mi anterior post, mi primer encuentro con el lenguaje fue una delicia: un lenguaje flexible, con una sintaxis sencilla, un placer para programar. Pero comparado con algunos lenguajes modernos, le faltaba un manejo de strings como tipo &amp;quot;primitivo&amp;quot;, y hab&amp;iacute;a que programar con todos los ojos abiertos, al no tener un garbage collector.&lt;/p&gt;
&lt;p&gt;Una de lass caracter&amp;iacute;sticas que uno tiene que aprender a manejar, son los punteros. Encuentro este video gracias a un twitter de &lt;a target="_blank" href="http://twitter.com/codinghorror"&gt;@codinghorror&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;(Please visit the site to view this media)&lt;/p&gt;
&lt;p&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/UvoHwFvAvQE"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/UvoHwFvAvQE" type="application/x-shockwave-flash" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.youtube.com/watch?v=UvoHwFvAvQE" title="http://www.youtube.com/watch?v=UvoHwFvAvQE"&gt;http://www.youtube.com/watch?v=UvoHwFvAvQE&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Hoy, algo parecido muestro&amp;nbsp;(dibujando en una PPT)&amp;nbsp;para ense&amp;ntilde;ar c&amp;oacute;mo una variable en Java o .NET es una referencia a un objeto. Una lecci&amp;oacute;n m&amp;aacute;s convencional sobre el tema en:&lt;/p&gt;
&lt;p&gt;(Please visit the site to view this media)&lt;/p&gt;
&lt;p&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/LlQgb_39TYY"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/LlQgb_39TYY" type="application/x-shockwave-flash" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.youtube.com/watch?v=LlQgb_39TYY" title="http://www.youtube.com/watch?v=LlQgb_39TYY"&gt;http://www.youtube.com/watch?v=LlQgb_39TYY&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Siguiendo ese enlace encontraran m&amp;aacute;s lecciones de lenguaje C, del usuario &lt;a href="http://www.youtube.com/user/umicom" title="umicom"&gt;umicom&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Nos leemos!&lt;/p&gt;
&lt;p&gt;Angel &amp;quot;Java&amp;quot; Lopez&lt;br /&gt;&lt;a href="http://www.ajlopez.com/"&gt;http://www.ajlopez.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://twitter.com/ajlopez"&gt;http://twitter.com/ajlopez&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1658324" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Video/default.aspx">Video</category></item><item><title>Cómo programar y no morir en el intento</title><link>http://msmvps.com/blogs/lopez/archive/2008/11/16/c-243-mo-programar-y-no-morir-en-el-intento.aspx</link><pubDate>Sun, 16 Nov 2008 13:18:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1654273</guid><dc:creator>lopez</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1654273</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2008/11/16/c-243-mo-programar-y-no-morir-en-el-intento.aspx#comments</comments><description>&lt;p&gt;El martes pasado, tuve el placer de compartir una charla con &lt;a target="_blank" href="http://blog.salias.com.ar/"&gt;Mart&amp;iacute;n Sal&amp;iacute;as&lt;/a&gt;, en la sede del MUG en Buenos Aires. Mart&amp;iacute;n ya escribi&amp;oacute; en su blog sobre el evento:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blog.salias.com.ar/2008/11/vivir-programando.html" title="Vivir programando"&gt;Vivir programando&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Todos los &amp;quot;slides&amp;quot; son obra de su arte, yo no podr&amp;iacute;a pasar de poner un t&amp;iacute;tulo y &amp;quot;bullets&amp;quot; :-)&lt;/p&gt;
&lt;p&gt;Fue interesante ver a la gente poner prioridades a los temas a tratar, usando simples &amp;quot;post-its&amp;quot;. Cada persona pod&amp;iacute;a poner hasta 5 puntos de prioridad, repartidos en los temas que ten&amp;iacute;amos listados. El resultado fueron dos rondas, donde tratamos 6+6 temas, en 10 minutos cada uno:&lt;/p&gt;
&lt;p&gt;&lt;img align="left" src="http://www.todocontenidos.com/images/articles/livetocode.jpg" style="margin:0px 20px 20px 0px;" alt="" /&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Actualizacion Profesional &lt;/li&gt;
&lt;li&gt;Trabajo en Equipo &lt;/li&gt;
&lt;li&gt;Cloud Computing &lt;/li&gt;
&lt;li&gt;Application Frameworks&lt;/li&gt;
&lt;li&gt;Disenio de APIs&lt;/li&gt;
&lt;li&gt;Generacion de Codigo &lt;/li&gt;
&lt;li&gt;Patrones de Disenio &lt;/li&gt;
&lt;li&gt;No somos vulcanos &lt;/li&gt;
&lt;li&gt;Dise&amp;ntilde;o orientado a objetos&lt;/li&gt;
&lt;li&gt;Dynamic Languages&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Capas Logicas &lt;/li&gt;
&lt;li&gt;Documentaci&amp;oacute;n &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La idea ahora, es escribir sobre los temas tratados: tanto Mart&amp;iacute;n como yo, estamos inclinados a que lo escrito tiene su valor, m&amp;aacute;s all&amp;aacute; de una charla. (Err... le robo... digo, le pido prestado a Mart&amp;iacute;n su imagen del resultado final de las votaciones)&lt;/p&gt;
&lt;p&gt;Espero ir agregando en este post, los enlaces a los posts de los temas tratados, y los que quedaron en el tintero. Por ahora:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blog.salias.com.ar/2008/11/mocking-by-leo.html" title="Mocking by Leo"&gt;Mocking by Leo&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Posts relacionados con los temas tratados:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/blogs/lopez/archive/2008/09/22/codethinked-estratagia-para-ser-un-mejor-desarrollador.aspx" title="CodeThinked Estrategia para ser un mejor desarrollador"&gt;CodeThinked Estrategia para ser un mejor desarrollador&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msmvps.com/blogs/lopez/archive/2008/09/23/todo-lo-que-usted-quer-237-a-saber-sobre-programaci-243-n-y-nunca-se-atrevi-243-a-preguntar.aspx" title="Todo lo que usted quer&amp;iacute;a saber sobre programaci&amp;oacute;n y nunca se atrevi&amp;oacute; a pr"&gt;Todo lo que usted quer&amp;iacute;a saber sobre programaci&amp;oacute;n y nunca se atrevi&amp;oacute; a pr&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msmvps.com/blogs/lopez/archive/2008/09/09/matriz-de-competencias-de-programaci-243-n.aspx" title="Matriz de Competencias de Programaci&amp;oacute;n"&gt;Matriz de Competencias de Programaci&amp;oacute;n&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msmvps.com/blogs/lopez/archive/2008/08/25/diez-reglas-principales-en-generaci-243-n-de-c-243-digo.aspx" title="Diez reglas principales en generaci&amp;oacute;n de c&amp;oacute;digo"&gt;Diez reglas principales en generaci&amp;oacute;n de c&amp;oacute;digo&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msmvps.com/blogs/lopez/archive/2008/08/21/191-por-qu-233-fallan-los-proyectos-de-software.aspx" title="&amp;iquest;Por qu&amp;eacute; fallan los proyectos de software-"&gt;&amp;iquest;Por qu&amp;eacute; fallan los proyectos de software-&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msmvps.com/blogs/lopez/archive/2008/06/29/tato-bores-y-el-desarrollo-de-software.aspx" title="Tato Bores y el desarrollo de software"&gt;Tato Bores y el desarrollo de software&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msmvps.com/blogs/lopez/archive/2008/10/31/manejo-del-riesgo-en-proyectos.aspx" title="Manejo del riesgo en proyectos"&gt;Manejo del riesgo en proyectos&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msmvps.com/blogs/lopez/archive/2008/09/13/arquitectura-de-capas-en-domain-driven-design.aspx" title="Arquitectura de capas en Domain-Driven Design"&gt;Arquitectura de capas en Domain-Driven Design&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Ah! Y el video que mostramos al comienzo de la charla &amp;quot;Hug a developer today...&amp;quot;:&lt;/p&gt;
&lt;p&gt;(Please visit the site to view this media)&lt;/p&gt;
&lt;p&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/1lqxORnQARw"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/1lqxORnQARw" type="application/x-shockwave-flash" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;
&lt;p&gt;Gracias al &lt;a target="_blank" href="http://www.mug.org.ar/"&gt;MUG&lt;/a&gt; por habernos dado la oportunidad de dar esta charla.&lt;/p&gt;
&lt;p&gt;Nos leemos!&lt;/p&gt;
&lt;p&gt;Angel &amp;quot;Java&amp;quot; Lopez&lt;br /&gt;&lt;a href="http://www.ajlopez.com/"&gt;http://www.ajlopez.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://twitter.com/ajlopez"&gt;http://twitter.com/ajlopez&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1654273" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Video/default.aspx">Video</category></item><item><title>Guerra IT vs el resto del mundo</title><link>http://msmvps.com/blogs/lopez/archive/2008/08/27/guerra-it-vs-el-resto-del-mundo.aspx</link><pubDate>Wed, 27 Aug 2008 10:45:13 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1645942</guid><dc:creator>lopez</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1645942</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2008/08/27/guerra-it-vs-el-resto-del-mundo.aspx#comments</comments><description>&lt;p&gt;En algunas empresas, IT es el departamento odiado, o por lo menos, olvidado, despreciado, como una tía loca que uno no quiere mostrar en público. La aparición de series como &lt;a href="http://www.channel4.com/entertainment/tv/microsites/I/itcrowd/" target="_blank"&gt;IT Crowd&lt;/a&gt; nos muestra un poco relegados en el ambiente de una empresa. No debería ser así, pero es lo que pasa en varios lugares que he visitado. Tendríamos que conseguir revertir esa impresión. Creo que las metodologías ágiles son un camino. Pero el tema da para más discusión. Por ahora, veamos un video de broma, la guerra IT vs Ventas en una empresa:&lt;/p&gt; &lt;p&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/pVKnF26qFFM"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/pVKnF26qFFM" type="application/x-shockwave-flash" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt; &lt;p&gt;Gracias a &lt;a href="http://blogs.southworks.net/jcisneros" target="_blank"&gt;Jonathan Cisneros&lt;/a&gt;, creador del &lt;a href="http://www.codeplex.com/ajgenesisstudio" target="_blank"&gt;AjGenesis Studio&lt;/a&gt;,&amp;nbsp;por el enlace a este video.&lt;/p&gt; &lt;p&gt;Nos leemos!&lt;/p&gt; &lt;p&gt;Angel &amp;quot;Java&amp;quot; Lopez&lt;br /&gt;&lt;a href="http://www.ajlopez.com/"&gt;http://www.ajlopez.com/&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1645942" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Video/default.aspx">Video</category></item><item><title>Tato Bores y el desarrollo de software</title><link>http://msmvps.com/blogs/lopez/archive/2008/06/29/tato-bores-y-el-desarrollo-de-software.aspx</link><pubDate>Sun, 29 Jun 2008 09:26:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1638790</guid><dc:creator>lopez</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1638790</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2008/06/29/tato-bores-y-el-desarrollo-de-software.aspx#comments</comments><description>&lt;p&gt;Perm&amp;iacute;taseme esta vez escribir una visita ficticia del personaje de Tato Bores (para quienes no lo conocen, alguna informaci&amp;oacute;n al final), a un supuesto Ministerio de Software reci&amp;eacute;n creado en Argentina:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Andaba por la Plaza de Mayo, cuando decid&amp;iacute; dirigirme al Ministerio de Software. Ah&amp;iacute; me atrev&amp;iacute; a preguntar por qu&amp;eacute; tanto problema para crear software.&lt;/p&gt;
&lt;p&gt;&amp;iexcl;Eso pasa por que abandonaron el camino y no se escribe en C!, grit&amp;oacute; Jos&amp;eacute; LenguajeC, mientras escrib&amp;iacute;a una nueva versi&amp;oacute;n del Hello World de Kernighan y Ritchie, y trataba de depurar un programa que manejaba punteros y malloc, sin free.&lt;/p&gt;
&lt;p&gt;&amp;iexcl;Mentira!, exclam&amp;oacute; Jos&amp;eacute; C++. Gracias a que aparec&amp;iacute; yo pudieron comenzar a aplicar clases y objetos.&lt;/p&gt;
&lt;p&gt;&amp;iexcl;Uds dos no saben nada! confunden clase con tipo, y cu&amp;aacute;ndo un int fue un objeto?, desga&amp;ntilde;it&amp;oacute; Jose Smalltalk, mientras trataba de hacer un formulario de ingresos de datos con primitivas de Squeak. Nosotros fuimos los que inventamos todo.&lt;/p&gt;
&lt;p&gt;&amp;iexcl;No, nosotros fuimos los primeros! &amp;iexcl;Vuelvan a&amp;nbsp;las fuentes! se escuch&amp;oacute; fuerte decir a Jos&amp;eacute; COBOL, mientras escrib&amp;iacute;a p&amp;aacute;ginas y p&amp;aacute;ginas de Data Division.&lt;/p&gt;
&lt;p&gt;&amp;iexcl;Las fuentes las pelotas! Usen lo nuevo que somos nosotros, dec&amp;iacute;a Jos&amp;eacute; Ruby, mientras trataba de explicar porqu&amp;eacute; usar @ y @@ para acceder a variables es bonito.&lt;/p&gt;
&lt;p&gt;&amp;iexcl;No saben lo que dicen! Denme tiempo y creo cualquier sistema, dec&amp;iacute;a Jos&amp;eacute; RedNeuronal, mientras se entrenaba a s&amp;iacute; mismo reconociendo videos de Wanda Nara.&lt;/p&gt;
&lt;p&gt;&amp;iexcl;Qu&amp;eacute; tiempo ni que tiempo! &amp;iexcl;Persistencia ahora para todo el mundo!, armaba l&amp;iacute;o Jos&amp;eacute; NHibernate, que se tir&amp;oacute; a dormir porque ten&amp;iacute;a el atributo de lazy en true.&lt;/p&gt;
&lt;p&gt;&amp;iexcl;Copiones! Persistencia eran las de antes,&amp;nbsp;vociferaba Jos&amp;eacute; Hibernate, mientras escrib&amp;iacute;a 20 cap&amp;iacute;tulos de mejores pr&amp;aacute;cticas de manejar la sesi&amp;oacute;n, y trataba de explicarle a un DBA por qu&amp;eacute; las Stored Procedures eran obra del diablo.&lt;/p&gt;
&lt;p&gt;&amp;iexcl;Vuelvan a las bases! proclamaba Jos&amp;eacute; Oracle, mientras escrib&amp;iacute;a toda la l&amp;oacute;gica en paquetes de procedimientos almacenados.&lt;/p&gt;
&lt;p&gt;&amp;iexcl;Sacrilegio! le recriminaba Jos&amp;eacute; DDD, mientras se entablaba en una dicusi&amp;oacute;n interminable consigo mismo sobre si poner acceso a los repositorios desde las entidades, se lo vi&amp;oacute; hablar solo por horas.&lt;/p&gt;
&lt;p&gt;&amp;iexcl;Dej&amp;aacute; de decir pavadas! le espet&amp;oacute; Jos&amp;eacute; DataSet, mientras trataba de dominar una grilla con edici&amp;oacute;n y paginado, y miraba con ganas a Josefina Linq, que como era nuevita en el grupo, todav&amp;iacute;a no se atrev&amp;iacute;a a decir nada.&lt;/p&gt;
&lt;p&gt;&amp;iexcl;No la compliquen tanto! &amp;iexcl;Yo la hago f&amp;aacute;cil! dec&amp;iacute;a Jos&amp;eacute; PHP, mientras creaba sitios con cuarenta includes uno dentro del otro, pero que soportaban 40 idiomas, lunfardo incluido.&lt;/p&gt;
&lt;p&gt;&amp;iexcl;Pero callate! A ver si te arm&amp;aacute;s una aplicaci&amp;oacute;n empresarial como la gente, dec&amp;iacute;a Jos&amp;eacute; J2EE, mientras trataba de ocultar a todos que ten&amp;iacute;a algo de EJB en la aplicaci&amp;oacute;n que estaba armando.&lt;/p&gt;
&lt;p&gt;&amp;iexcl;Aplicaciones empresariales son las nuestras! bramaba Jos&amp;eacute; CSharp, mientras trataba de mandar un mensaje WCF con WsHttpBinding que ocupara menos de un mega.&lt;/p&gt;
&lt;p&gt;&amp;iexcl;Call&amp;eacute;nse, cipayos! &amp;iexcl;Ututo o muerte! patal&amp;eacute;o Jos&amp;eacute; Ututo, mientras estrangulaba a un fan de Tuquito (ambas distros de Linux argentinas)&lt;/p&gt;
&lt;p&gt;&amp;iexcl;Dejen de programar! Usen nuestra API, proclam&amp;oacute; Jos&amp;eacute; Facebook mientras publicaba una nueva encuesta&amp;nbsp;aplicaci&amp;oacute;n del estilo&amp;nbsp;&amp;quot;Qu&amp;eacute; tipo de &amp;aacute;rbol bonsai eres&amp;quot;.&lt;/p&gt;
&lt;p&gt;&amp;iexcl;No! &amp;iexcl;Vengan a programar para nosotros! A ver si arreglan el l&amp;iacute;o que tenemos,&amp;nbsp;suplicaba a tres voces Jos&amp;eacute; Twitter, que desde hac&amp;iacute;a media hora estaba d&amp;aacute;ndole al F5 del browser, a ver si reaparec&amp;iacute;a su p&amp;aacute;gina.&lt;/p&gt;
&lt;p&gt;&amp;iexcl;No saben ni de qu&amp;eacute; estan hablando! La programaci&amp;oacute;n no es nada, exclamaba Jos&amp;eacute; Patr&amp;oacute;nUML, mientras dibujaba en su Enterprise Architect diagramas y m&amp;aacute;s diagramas de secuencia.&lt;/p&gt;
&lt;p&gt;&amp;iexcl;Callate! Menos dibujos y m&amp;aacute;s entregables &amp;iexcl;A ver s&amp;iacute; hacemos algo hoy mismo! se enojaba Jos&amp;eacute; Agil, mientras trataba de hacer pair programming con la secretaria del ministro.&lt;/p&gt;
&lt;p&gt;&amp;iexcl;In&amp;uacute;tiles! Siempre se me van de presupuesto, exclamabla Jos&amp;eacute; ProgramManager, mientras abr&amp;iacute;a en su notebook la &amp;uacute;ltima versi&amp;oacute;n de Microsoft Project, que le calculaba sin ninguna sombra de duda, qu&amp;eacute; deber&amp;iacute;a haber pasado en el desarrollo de su proyecto.&lt;/p&gt;
&lt;p&gt;&amp;iexcl;Guard&amp;aacute; eso, y ponete a trabajar! gritaba Jos&amp;eacute; Customer, que no entend&amp;iacute;a por qu&amp;eacute; si &amp;eacute;l hab&amp;iacute;a pedido un sistema de CRM, le entregaban una lista de contactos en el Outlook.&lt;/p&gt;
&lt;p&gt;&amp;iexcl;Muerte al new! &amp;iexcl;Ese tiene toda la culpa! comenzaron a corear Jos&amp;eacute; SpringFramework (los dos, el de Java y el de .NET), mientras se inyectaban dependencias uno al otro.&lt;/p&gt;
&lt;p&gt;&amp;iexcl;Lo que pasan es que programan cualquier cosa, sin hacer el test! despotricaba Jos&amp;eacute; TDD, que estaba escribiendo una serie assert.AreEqual(1,0+1), assert.AreEqual(2,1+1) y as&amp;iacute;, para comprobar si Peano ten&amp;iacute;a raz&amp;oacute;n.&lt;/p&gt;
&lt;p&gt;&amp;iexcl;Antes tienen que simular los sistemas! exclamaba Jos&amp;eacute; Mock, mientras trataba de explicarle a su esposa que su secretaria no era su amante, solo una mock de una noche. &lt;/p&gt;
&lt;p&gt;&amp;iexcl;Los sistemas no salen porque usan esas IDEs que complican todo! dec&amp;iacute;a Jos&amp;eacute; Notepad, mientras miraba a la gente que usaba Dreamweaver con desprecio manifiesto.&lt;/p&gt;
&lt;p&gt;&amp;iexcl;Pero dej&amp;aacute; de flagelarte! Es todo cuesti&amp;oacute;n de encontrar el plugin adecuado, dec&amp;iacute;a Jos&amp;eacute; Eclipse, que estaba buscando cuatro plugins de modelado (porque cada uno depend&amp;iacute;a de los otros tres), que corrieran en menos de 4 gigas, sin quemar el disco por paginado de memoria.&lt;/p&gt;
&lt;p&gt;&amp;iexcl;A ver si alguna vez madur&amp;aacute;s! Fijate, yo ya vengo con todo completo,&amp;nbsp;exclamaba Jos&amp;eacute; VisualStudio, mientras trataba de calcular cuantos litros&amp;nbsp;ten&amp;iacute;a que hipotecar de su sangre para conseguir las licencias del Team Foundation Server para su equipo de trabajo.&lt;/p&gt;
&lt;p&gt;&amp;iexcl;Lo importante es la experiencia de usuario! part&amp;iacute;a de la garganta de Jos&amp;eacute; Ajax, mientras pon&amp;iacute;a autocomplete hasta a los botones de aceptar un formulario.&lt;/p&gt;
&lt;p&gt;&amp;iexcl;Experiencia de usuario son las m&amp;iacute;as! exclamaba Jos&amp;eacute; Silverlight20, que se estaba peleando de antes con Jos&amp;eacute; Silverlight11, por razones de incompatibilidad manifiesta.&lt;/p&gt;
&lt;p&gt;...&lt;/p&gt;
&lt;p&gt;Como ve&amp;iacute;a que el bolonki ven&amp;iacute;a in crescendo, me retir&amp;eacute; por una puerta lateral. Al salir al aire libre, record&amp;eacute; la frase del maestro ajlopez, que me hab&amp;iacute;a dicho &amp;quot;la mejor herramienta est&amp;aacute; entre nuestras orejas&amp;quot;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;As&amp;iacute; que, mis queridos chichip&amp;iacute;os, la neurona atenta, vermouth con papas fritas, y &amp;iexcl;&amp;iexcl;&amp;iexcl;GOOOD SHOOOWWW!!!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Bueno, espero que les guste, no s&amp;eacute; si sali&amp;oacute; muy bien, pero record&amp;eacute; un mon&amp;oacute;logo real en mi otro blog en:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://ajlopez.zoomblog.com/archivo/2008/06/08/la-culpa-segun-Tato-Bores.html" title="La culpa, seg&amp;uacute;n Tato Bores"&gt;La culpa, seg&amp;uacute;n Tato Bores&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Un regalo offtopic, un verdadero mon&amp;oacute;logo, el mon&amp;oacute;logo 2000 de Tato, imperdible:&amp;acute;&lt;/p&gt;
&lt;p&gt;(Please visit the site to view this media)&lt;/p&gt;
&lt;p&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/wkZquG6-joA"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/wkZquG6-joA" type="application/x-shockwave-flash" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;
&lt;p&gt;La segunda parte en&lt;/p&gt;
&lt;p&gt;(Please visit the site to view this media)&lt;/p&gt;
&lt;p&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/0bqkZGpGE4c"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/0bqkZGpGE4c" type="application/x-shockwave-flash" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;
&lt;p&gt;Nos leemos!&lt;/p&gt;
&lt;p&gt;Angel &amp;quot;Java&amp;quot; Lopez&lt;br /&gt;&lt;a href="http://www.ajlopez.com/"&gt;http://www.ajlopez.com/&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1638790" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Video/default.aspx">Video</category></item><item><title>La historia secreta de Silicon Valley</title><link>http://msmvps.com/blogs/lopez/archive/2008/06/01/la-historia-secreta-de-silicon-valley.aspx</link><pubDate>Sun, 01 Jun 2008 06:14:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1629972</guid><dc:creator>lopez</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1629972</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2008/06/01/la-historia-secreta-de-silicon-valley.aspx#comments</comments><description>&lt;p&gt;Hoy me voy a alejar un poco del desarrollo de software. Encontr&amp;eacute; este video, de una Google Tech Talks, de diciembre de 2007. Dura casi una hora, pero me result&amp;oacute; interesante:&lt;/p&gt;
&lt;p&gt;(Please visit the site to view this media)&lt;/p&gt;
&lt;p&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/hFSPHfZQpIQ"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/hFSPHfZQpIQ" type="application/x-shockwave-flash" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;
&lt;p&gt;Cuando doy alguna charla sobre Inteligencia Artificial, suelo mencionar que gran parte del desarrollo temprano de esa disciplina, ha sido financiada por la guerra fr&amp;iacute;a. Ahora en este video encuentro m&amp;aacute;s datos, ligados al desarrollo de Silicon Valley. La importancia de la tecnolog&amp;iacute;a durante una guerra, queda desarrollado en la primera parte del video, algo larga, sobre la influencia de los avances tecnol&amp;oacute;gicos en la segunda guerra mundial, de ambas partes. No conoc&amp;iacute;a algunos datos, como la existencia de una red de alerta temprano alemana, la replicaci&amp;oacute;n de esa red por los sovi&amp;eacute;ticos, y el uso de la Luna para detectar la posici&amp;oacute;n de los radares que ten&amp;iacute;an los rusos. Tampoco sab&amp;iacute;a el poco dinero que fue a parar a Stanford/Silicon Valley, durante la WWII. Fue obra de &lt;a target="_blank" href="http://en.wikipedia.org/wiki/Frederick_Terman"&gt;Frederick Terman&lt;/a&gt;, que ten&amp;iacute;a contactos de esa &amp;eacute;poca con la organizaci&amp;oacute;n militar americana, que Silicon Valley recibiera m&amp;aacute;s flujo de inversiones.&lt;/p&gt;
&lt;p&gt;Es de destacar c&amp;oacute;mo Terman consigui&amp;oacute; que la universidad de Stanford fuera una fuente de emprendedores, facilitando el traspaso de conocimiento y de propiedad intelectual, desde el &amp;aacute;mbito acad&amp;eacute;mico al empresario. Debe algo a aprender de eso, por estos lares de Argentina.&lt;/p&gt;
&lt;p&gt;Al final del video, se explica la influencia de &lt;a target="_blank" href="http://en.wikipedia.org/wiki/William_Shockley"&gt;William Shockley&lt;/a&gt;&amp;nbsp;en el desarrollo del mercado de procesadores y electr&amp;oacute;nica. Es una historia interesante, que s&amp;oacute;lo ocupa una parte del video. Shockley siempre ha sido recordado por su agrio temperamento, que provoc&amp;oacute; la dispersi&amp;oacute;n de un grupo brillante de gente, los &amp;quot;8 traidores&amp;quot;, como &lt;a target="_blank" href="http://en.wikipedia.org/wiki/Robert_Noyce"&gt;Robert Noyce&lt;/a&gt; y &lt;a target="_blank" href="http://en.wikipedia.org/wiki/Gordon_E._Moore"&gt;Gordon E. Moore&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Nos leemos!&lt;/p&gt;
&lt;p&gt;Angel &amp;quot;Java&amp;quot; Lopez&lt;br /&gt;&lt;a href="http://www.ajlopez.com/"&gt;http://www.ajlopez.com/&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1629972" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Video/default.aspx">Video</category></item><item><title>Usando Twitter</title><link>http://msmvps.com/blogs/lopez/archive/2008/05/29/usando-twitter.aspx</link><pubDate>Thu, 29 May 2008 10:36:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1628819</guid><dc:creator>lopez</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/lopez/rsscomments.aspx?PostID=1628819</wfw:commentRss><comments>http://msmvps.com/blogs/lopez/archive/2008/05/29/usando-twitter.aspx#comments</comments><description>&lt;p&gt;En estas &amp;uacute;ltimas semanas he comenzado a usar los servicios de&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.twitter.com/"&gt;http://www.twitter.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Es algo extra&amp;ntilde;o al principio, pero ahora lo uso diariamente, de forma que me resulte &amp;uacute;til. Para los que no vieron el sistema, pueden ver un video explicativo:&lt;/p&gt;
&lt;p&gt;(Please visit the site to view this media)&lt;/p&gt;
&lt;p&gt;&lt;object width="425" height="350"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ddO9idmax0o"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/ddO9idmax0o" type="application/x-shockwave-flash" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;
&lt;p&gt;Podr&amp;iacute;a enviar este post a mi blog no t&amp;eacute;cnico, pero sospecho que por estos lares, es m&amp;aacute;s probable que resulte &amp;uacute;til twitter para &amp;quot;hard die geek developers&amp;quot; como nosotros. Gracias a haber usado este sistema en las &amp;uacute;ltimas semanas, he estado al tanto de algunas actividades de gente que conozco, pero est&amp;aacute; lejos, o de gente que trabaja conmigo, pero que no estamos en contacto frecuente.&lt;/p&gt;
&lt;p&gt;Tambi&amp;eacute;n es &amp;uacute;til para seguir las andanzas de gente conocida, aparte de leer sus blogs, desde &lt;a target="_blank" href="http://twitter.com/ayende"&gt;Ayende Rahien&lt;/a&gt; a &lt;a target="_blank" href="http://twitter.com/timoreilly"&gt;Tim O&amp;#39;Reilly&lt;/a&gt;, a &lt;a target="_blank" href="http://twitter.com/codinghorror"&gt;Jeff Atwood&lt;/a&gt;, a&lt;a target="_blank" href="http://twitter.com/MartinSalias"&gt;Mart&amp;iacute;n Sal&amp;iacute;as&lt;/a&gt;, a &lt;a target="_blank" href="http://twitter.com/shanselman"&gt;Scott Hanselman&lt;/a&gt;, a &lt;a target="_blank" href="http://twitter.com/migueldeicaza"&gt;Miguel de Icaza&lt;/a&gt;,&amp;nbsp;a &lt;a target="_blank" href="http://twitter.com/kzu"&gt;Daniel Cazzulino&lt;/a&gt;, a &lt;a target="_blank" href="http://twitter.com/edjez"&gt;Eduardo Jeziersky&lt;/a&gt;, a... (unos cientos m&amp;aacute;s...)&lt;/p&gt;
&lt;p&gt;Bueno, si a alguien le interesa que va pasando en mis tareas, pueden consultar&lt;/p&gt;
&lt;p&gt;&lt;a href="http://twitter.com/ajlopez" title="http://twitter.com/ajlopez"&gt;http://twitter.com/ajlopez&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Uso como sistema consolidado (anuncios de nuevos posts, enlaces tagueados en Delicious, mensajes twitters...) a&lt;/p&gt;
&lt;p&gt;&lt;a href="http://friendfeed.com/ajlopez" title="http://friendfeed.com/ajlopez"&gt;http://friendfeed.com/ajlopez&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Gracias a &lt;a target="_blank" href="http://staff.southworks.net/blogs/ejadib"&gt;Ezequiel Jadib&lt;/a&gt;, por el enlace al video&lt;/p&gt;
&lt;p&gt;Nos leemos!&lt;/p&gt;
&lt;p&gt;Angel &amp;quot;Java&amp;quot; Lopez&lt;br /&gt;&lt;a href="http://www.ajlopez.com/"&gt;http://www.ajlopez.com/&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1628819" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/lopez/archive/tags/Desarrollo+de+Software/default.aspx">Desarrollo de Software</category><category domain="http://msmvps.com/blogs/lopez/archive/tags/Video/default.aspx">Video</category></item></channel></rss>