<?xml version="1.0"?>
<rss version="2.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:yt="http://gdata.youtube.com/schemas/2007" xmlns:atom="http://www.w3.org/2005/Atom">
   <channel>
      <title>ALT.NET Hispano</title>
      <description>Agregador de blogs de la comunidad ALT.NET Hispano</description>
      <link>http://pipes.yahoo.com/pipes/pipe.info?_id=bf40112b100bd4e0873c11c15f67c116</link>
      <atom:link rel="next" href="http://pipes.yahoo.com/pipes/pipe.run?_id=bf40112b100bd4e0873c11c15f67c116&amp;_render=rss&amp;page=2"/>
      <pubDate>Thu, 01 Oct 2015 22:32:53 +0000</pubDate>
      <generator>http://pipes.yahoo.com/pipes/</generator>
      <item>
         <title>Debemos dar estimados</title>
         <link>http://www.developeando.com/2015/09/debemos-dar-estimados.html</link>
         <description>Unos de los aspectos importantes para decidir si un proyecto se aprueba o no es conocer lo que va a costar y cuánto tiempo va a tomar el desarrollo. Como programador me gustaría no tener que realizar estimaciones de cuanto me voy a tardar, me gustaría solo programar y ya. &quot;Estará listo cuando esté listo&quot; es una de las respuestas favoritas. Sin embargo como consumidor, cuando solicito un servicio, me gusta saber cuánto se van a tardar y cuánto me va a costar.&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear:both;text-align:center;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://3.bp.blogspot.com/-_PH-YM1vftk/VgrN7lMcLCI/AAAAAAAAA80/RBwDFGyB3kQ/s1600/Asking-for-estimates.png&quot; style=&quot;margin-left:1em;margin-right:1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;464&quot; src=&quot;http://3.bp.blogspot.com/-_PH-YM1vftk/VgrN7lMcLCI/AAAAAAAAA80/RBwDFGyB3kQ/s640/Asking-for-estimates.png&quot; width=&quot;640&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Por ejemplo cuando llevo el carro al taller mecánico, me gusta saber que le van a hacer, cuanto me va a costar y el tiempo. Aun sin saber de mecánica, debo saber si vale la pena arreglarlo o quizás mejor me conviene andar en taxi por un tiempo o incluso ver la opción de vender ese carro y comprar otro. &lt;br /&gt;&lt;br /&gt;Lo mismo pasa cuando planeamos realizar trabajos de construcción, por ejemplo alguna ampliación en la casa. Antes de conocer los detalles me gustaría saber cómo cuánto cuesta para ver si estoy listo para tener esa inversión. No puedo simplemente crear historias de usuario para la nueva habitación, pedirle al equipo de construcción que empiece y que diario me vayan platicando que hicieron el día anterior, lo que harán hoy y los obstáculos que han encontrado. Y mientras yo pagar cada semana y esperar que me avisen cuando esté listo.&lt;br /&gt;&lt;br /&gt;Si contrato a alguien que va empezando quizás no sepa cuanto se lleve terminar una construcción. Por su falta de experiencia no me hará las preguntas necesarias para poder hacer un análisis, crear un diseño para determinar el tiempo y costo. Si contrato a un profesional yo espero que sepa recabar toda la información necesaria para poder realizar el análisis, diseño y presentarme un proyecto con el tiempo y costo estimado.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Lo mismo esperan nuestros clientes si contratan a un profesional. Una vez que nos exponen su necesidad nosotros debemos de realizar las preguntas necesarias para poder realizar un análisis, crear un diseño y estimar el tiempo y&amp;nbsp;costo del proyecto. &lt;br /&gt;&lt;br /&gt;El profesional es el experto en el tema. Es la persona capacitada para tomar las mejores decisiones en el proyecto. Es por eso que es el profesional quien debe ser responsable de que el proyecto se termine en tiempo y dentro de presupuesto. No debemos dejar que el cliente, que no necesariamente conoce como se desarrolla el proyecto, corra el riesgo de nuestras decisiones profesionales. Tampoco debemos esperar que siga pagando retrasos de proyecto debido a nuestras malas decisiones.&lt;br /&gt;&lt;br /&gt;A veces como programadores nos da miedo presentar un presupuesto a un cliente, preferimos cobrarle por hora para no correr riesgos; pero como profesionales debemos ser nosotros los responsables del proyecto. &lt;br /&gt;&lt;br /&gt;Puede&amp;nbsp;haber imprevistos, por eso se debe tomar un tiempo para &quot;lo que pudiera pasar&quot;. Además se puede ir ajustando el estimado conforme allá cambios en&amp;nbsp;los requerimientos.&amp;nbsp;No por eso&amp;nbsp;debemos evitar la responsabilidad y comprometernos a entregar algo en tiempo y forma.</description>
         <author>Mario H. Cornejo</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-23470706.post-185352575806941837</guid>
         <pubDate>Tue, 29 Sep 2015 11:00:00 +0000</pubDate>
         <media:thumbnail height="72" url="http://3.bp.blogspot.com/-_PH-YM1vftk/VgrN7lMcLCI/AAAAAAAAA80/RBwDFGyB3kQ/s72-c/Asking-for-estimates.png" width="72" xmlns:media="http://search.yahoo.com/mrss/"/>
      </item>
      <item>
         <title>Workshop ASP.NET Multiplataforma</title>
         <link>http://shockbyte.net/2015/09/23/workshop-asp-net-multiplataforma/</link>
         <description>Hoy estuve en el MUG dando un Workshop practico sobre .NET multiplataforma. Desde aquí pueden descargar los ejemplos y la presentación en este mismo post. ¡Gracias a todos los que asistieron! :)Filed under: General Tagged: software-development&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://pixel.wp.com/b.gif?host=shockbyte.net&amp;#038;blog=35489323&amp;#038;post=1278&amp;#038;subd=shockbyte&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot;/&gt;</description>
         <guid isPermaLink="false">http://shockbyte.net/?p=1278</guid>
         <pubDate>Thu, 24 Sep 2015 01:18:13 +0000</pubDate>
         <content:encoded><![CDATA[<p>Hoy estuve en el <a rel="nofollow" target="_blank" href="http://www.mug-it.org.ar/">MUG</a> dando un Workshop practico sobre <a rel="nofollow" target="_blank" href="https://github.com/dotnet/coreclr">.NET multiplataforma</a>.</p>
<p>Desde <a rel="nofollow" target="_blank" href="https://github.com/rfinochi/confsamples/tree/master/CoreCLR">aquí</a> pueden descargar los ejemplos y la presentación en este mismo post.</p>
<p>¡Gracias a todos los que asistieron! <span class='wp-smiley wp-emoji wp-emoji-smile' title=':)'>:)</span></p>
<br />Filed under: <a rel="nofollow" target="_blank" href='http://shockbyte.net/category/general/'>General</a> Tagged: <a rel="nofollow" target="_blank" href='http://shockbyte.net/tag/software-development/'>software-development</a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gocomments/shockbyte.wordpress.com/1278/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/shockbyte.wordpress.com/1278/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/godelicious/shockbyte.wordpress.com/1278/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/shockbyte.wordpress.com/1278/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gofacebook/shockbyte.wordpress.com/1278/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/shockbyte.wordpress.com/1278/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gotwitter/shockbyte.wordpress.com/1278/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/shockbyte.wordpress.com/1278/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gostumble/shockbyte.wordpress.com/1278/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/shockbyte.wordpress.com/1278/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/godigg/shockbyte.wordpress.com/1278/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/shockbyte.wordpress.com/1278/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/goreddit/shockbyte.wordpress.com/1278/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/shockbyte.wordpress.com/1278/"/></a> <img alt="" border="0" src="http://pixel.wp.com/b.gif?host=shockbyte.net&#038;blog=35489323&#038;post=1278&#038;subd=shockbyte&#038;ref=&#038;feed=1" width="1" height="1"/>]]></content:encoded>
         <geo:lat>-34.617831</geo:lat>
         <geo:long>-58.424591</geo:long>
         <media:content medium="image" url="http://0.gravatar.com/avatar/f4b11145494d520bd1ec443075b11b4e?s=96&amp;amp;d=identicon&amp;amp;r=G">
            <media:title type="html">rfinochi</media:title>
         </media:content>
      </item>
      <item>
         <title>¿Qué es un Programador Senior?</title>
         <link>http://www.developeando.com/2015/08/que-es-un-programador-senior.html</link>
         <description>&lt;p&gt;&lt;strong&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://lh3.googleusercontent.com/-g5SscUcYJGE/VcPFg15LEqI/AAAAAAAAA5k/xlBOKQWWK8I/s1600-h/Junior-Developer-vs-Senior-Developer-e1408641226868%25255B13%25255D.jpg&quot;&gt;&lt;img title=&quot;Junior-Developer-vs-Senior-Developer-e1408641226868&quot; style=&quot;border-left-width:0px;border-right-width:0px;border-bottom-width:0px;margin:10px 0px;display:inline;border-top-width:0px;&quot; border=&quot;0&quot; alt=&quot;Junior-Developer-vs-Senior-Developer-e1408641226868&quot; src=&quot;http://lh3.googleusercontent.com/-ZCN9c8eJXeE/VcPFhuZGsEI/AAAAAAAAA5o/oaPqs1uLtJA/Junior-Developer-vs-Senior-Developer-e1408641226868_thumb%25255B11%25255D.jpg?imgmax=800&quot; width=&quot;180&quot; align=&quot;right&quot; height=&quot;240&quot;&gt;&lt;/a&gt;&lt;/strong&gt;Hace tiempo en una reunión con uno de nuestros clientes se hablaba de la posibilidad de asignar algunos programadores senior al proyecto que se estaba discutiendo. Una de las personas en la junta preguntó: “&lt;em&gt;¿Cuáles son los criterios que usan para saber si un programador es senior?” &lt;/em&gt;La pregunta me puso a pensar en que realmente no tenemos una definición formal para clasificar a un programador como Senior; pero si podemos reconocerlo cuando lo vemos. Lo reconocemos por sus características.&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;Es autónomo y sabe trabajar en equipo&lt;/strong&gt;. Con autónomo me refiero a que no necesita que alguien le esté ayudando constantemente para poder realizar su trabajo. Ya sea porque no tiene la experiencia o conocimiento en programación o porque no conoce el dominio del problema. Puede que la persona sea buena programando pero nunca ha trabajado en una industria en particular y por lo tanto quizás con frecuencia requiera ayuda para temas relacionados con la industria. En ese caso se le puede considerar JR al programador aunque tenga ya experiencia programando, por lo menos al principio mientras puede trabajar sin ayuda constante. También es necesario que sepa trabajar como parte de un equipo, para ello es necesario haber trabajado en otros equipos y así saber cómo aprovecharlo. Se sabe coordinar con sus compañeros de equipo.  &lt;p&gt;&lt;strong&gt;Entiende como ayuda al negocio&lt;/strong&gt;. Está es una característica que se sale un poco del aspecto técnico y a la vez está relacionado con el punto anterior. Un programador senior entiende que para la mayoría de los clientes la meta no es el software en sí. El software es una herramienta que ayudará al negocio a realizar mejor su trabajo. En este aspecto el programador junior solo se preocupa por que el software funcione. El programador senior&lt;strong&gt; aporta a la solución, no solo ejecuta&lt;/strong&gt;.  &lt;p&gt;&lt;strong&gt;Sabe medir el riesgo&lt;/strong&gt;. Al ser independiente y entender como ayuda al negocio es capaz de tomar decisiones sobre el desarrollo de software tomando en cuenta el impacto que tendrán en costo y tiempo de entrega del proyecto. No se deja llevar por &quot;el factor cool&quot; o por ser lo nuevo. Sino que considera cual es la mejor opción para el proyecto.  &lt;p&gt;&lt;strong&gt;Puede guiar a los demás&lt;/strong&gt;. El programador senior puede enseñar a nuevos programadores, puede explicarles las necesidades del negocio, enseñar los aspectos técnicos de la plataforma o entorno de desarrollo y aportar ideas para establecer las reglas al momento de trabajar en equipo. Puede ser un mentor y guiar a programadores JR en su camino a convertirse en mejores programadores.  &lt;p&gt;No hay umbral fijo para saber cuándo un programador es JR, Mid o Senior. Estos son aspectos que dependen de persona a persona.  &lt;p&gt;Me gustaría conocer otras características u otras formas de definir a un programador Senior, envíame tus ideas a blog@developeando.com</description>
         <author>Mario H. Cornejo</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-23470706.post-9191154859130218412</guid>
         <pubDate>Thu, 06 Aug 2015 13:37:00 +0000</pubDate>
         <media:thumbnail height="72" url="http://lh3.googleusercontent.com/-ZCN9c8eJXeE/VcPFhuZGsEI/AAAAAAAAA5o/oaPqs1uLtJA/s72-c/Junior-Developer-vs-Senior-Developer-e1408641226868_thumb%25255B11%25255D.jpg?imgmax=800" width="72" xmlns:media="http://search.yahoo.com/mrss/"/>
      </item>
      <item>
         <title>¿Programar es arte?</title>
         <link>http://www.developeando.com/2015/07/programar-es-arte.html</link>
         <description>&lt;p&gt;He escuchado varias veces que programar es un arte. Es cierto que el código tiene algo de la personalidad del programador; pero de eso a llamarlo arte… &lt;/p&gt; &lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://lh3.googleusercontent.com/-_VQZxW8jxdY/Vbfdzoebh8I/AAAAAAAAA4s/W2o4ziiqNb4/s1600-h/programadoresartistas5.png&quot;&gt;&lt;img title=&quot;programadores-artistas&quot; style=&quot;border-left-width:0px;border-right-width:0px;border-bottom-width:0px;float:none;margin-left:auto;display:block;border-top-width:0px;margin-right:auto;&quot; border=&quot;0&quot; alt=&quot;programadores-artistas&quot; src=&quot;http://lh3.googleusercontent.com/-QbudEts-SEY/Vbfd0LpTvyI/AAAAAAAAA4w/rV9Ltxpa768/programadoresartistas_thumb3.png?imgmax=800&quot; width=&quot;397&quot; height=&quot;480&quot;&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Hay muchas definiciones de lo que es arte, algunas lo definen simplemente como algo bien hecho; pero muchas otras hablan del aspecto estético y de la expresión del artista a través de su trabajo. Creo que por eso es que se le ha llamado arte a la programación, de alguna forma nos expresamos usando un lenguaje de programación. Además puede haber varios estilos para resolver el mismo problema. Algunos son más elegantes que otros y muchas veces la elegancia se basa solo en aspectos subjetivos, al igual que la belleza del arte.&lt;/p&gt; &lt;p&gt;El objetivo de la programación es distinto al del arte. El arte busca la expresión del artista, transmitir sentimientos, lograr un placer estético en el observador. La programación, por otro lado, busca la solución a un problema y al mismo tiempo hacerlo de una manera simple, ocultando la complejidad para el fácil mantenimiento del programa. Esa es la razón por la que considero que&lt;strong&gt; programar no es arte, ya que no busca la expresión del programador, sino la solución a un problema determinado.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Hay quienes opinan que &lt;strong&gt;la programación es una artesanía&lt;/strong&gt;, lo cual me parece un termino interesante. Hace tiempo platicamos sobre la &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.dev3cast.com/2012/05/28/artesania-de-software/&quot;&gt;artesanía de software en el Dev3Cast&lt;/a&gt;. &lt;/p&gt; &lt;p&gt;¿Tienes algún comentario? Mándame un correo a blog@developeando.com.&lt;/p&gt;</description>
         <author>Mario H. Cornejo</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-23470706.post-4942751398443131361</guid>
         <pubDate>Tue, 28 Jul 2015 12:53:00 +0000</pubDate>
         <media:thumbnail height="72" url="http://lh3.googleusercontent.com/-QbudEts-SEY/Vbfd0LpTvyI/AAAAAAAAA4w/rV9Ltxpa768/s72-c/programadoresartistas_thumb3.png?imgmax=800" width="72" xmlns:media="http://search.yahoo.com/mrss/"/>
      </item>
      <item>
         <title>.NET Multiplataforma (Windows, Linux, OS X)</title>
         <link>http://shockbyte.net/2015/07/03/net-multiplataforma-windows-linux-os-x/</link>
         <description>Hoy estuve en el MUG dando una charla sobre .NET multiplataforma. El código de los ejemplos lo puede bajar desde aquí y la presentación en este mismo post. ¡Gracias a todos los que asistieron, nos vemos la próxima! :)Filed under: .NET, ASP.NET, Conferences Tagged: software-development&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://pixel.wp.com/b.gif?host=shockbyte.net&amp;#038;blog=35489323&amp;#038;post=1276&amp;#038;subd=shockbyte&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot;/&gt;</description>
         <guid isPermaLink="false">http://shockbyte.net/?p=1276</guid>
         <pubDate>Fri, 03 Jul 2015 21:08:44 +0000</pubDate>
         <content:encoded><![CDATA[<p>Hoy estuve en el <a rel="nofollow" target="_blank" href="http://www.mug-it.org.ar/">MUG</a> dando una charla sobre <a rel="nofollow" target="_blank" href="https://github.com/dotnet/coreclr">.NET multiplataforma</a>.</p>
<p>El código de los ejemplos lo puede bajar desde <a rel="nofollow" target="_blank" href="https://github.com/rfinochi/confsamples/tree/master/CoreCLR">aquí</a> y la presentación en este mismo post.</p>
<p>¡Gracias a todos los que asistieron, nos vemos la próxima! <span class='wp-smiley wp-emoji wp-emoji-smile' title=':)'>:)</span></p>
<br />Filed under: <a rel="nofollow" target="_blank" href='http://shockbyte.net/category/net/'>.NET</a>, <a rel="nofollow" target="_blank" href='http://shockbyte.net/category/asp-net/'>ASP.NET</a>, <a rel="nofollow" target="_blank" href='http://shockbyte.net/category/conferences/'>Conferences</a> Tagged: <a rel="nofollow" target="_blank" href='http://shockbyte.net/tag/software-development/'>software-development</a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gocomments/shockbyte.wordpress.com/1276/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/shockbyte.wordpress.com/1276/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/godelicious/shockbyte.wordpress.com/1276/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/shockbyte.wordpress.com/1276/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gofacebook/shockbyte.wordpress.com/1276/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/shockbyte.wordpress.com/1276/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gotwitter/shockbyte.wordpress.com/1276/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/shockbyte.wordpress.com/1276/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gostumble/shockbyte.wordpress.com/1276/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/shockbyte.wordpress.com/1276/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/godigg/shockbyte.wordpress.com/1276/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/shockbyte.wordpress.com/1276/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/goreddit/shockbyte.wordpress.com/1276/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/shockbyte.wordpress.com/1276/"/></a> <img alt="" border="0" src="http://pixel.wp.com/b.gif?host=shockbyte.net&#038;blog=35489323&#038;post=1276&#038;subd=shockbyte&#038;ref=&#038;feed=1" width="1" height="1"/>]]></content:encoded>
         <geo:lat>-34.617844</geo:lat>
         <geo:long>-58.424593</geo:long>
         <media:content medium="image" url="http://0.gravatar.com/avatar/f4b11145494d520bd1ec443075b11b4e?s=96&amp;amp;d=identicon&amp;amp;r=G">
            <media:title type="html">rfinochi</media:title>
         </media:content>
      </item>
      <item>
         <title>Presentar en un grupo de usuarios</title>
         <link>http://www.developeando.com/2015/07/presentar-en-un-grupo-de-usuarios.html</link>
         <description>&lt;p&gt;Un grupo de usuarios es una comunidad de programadores (o similares) que se reúnen aproximadamente una vez al mes para hablar de tecnología. La mayoría de las veces hay un invitado que presenta ante los demás algún tema de interés para el grupo.  &lt;p&gt;Las reuniones de los grupos de usuario son &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.developeando.com/2014/03/mejor-en-persona.html&quot;&gt;en persona&lt;/a&gt; porque, aunque hay presentaciones que pudieran atenderse en línea, estas son solo un pretexto para reunirnos.  &lt;p&gt;&lt;img title=&quot;presentar&quot; style=&quot;border-left-width:0px;border-right-width:0px;border-bottom-width:0px;float:none;margin-left:auto;display:block;border-top-width:0px;margin-right:auto;&quot; border=&quot;0&quot; alt=&quot;presentar&quot; src=&quot;http://lh3.googleusercontent.com/-ovLKEwuG9EA/VZWCi1E1O8I/AAAAAAAAA3o/bGuxlbfBDJY/presentar_thumb6.jpg?imgmax=800&quot; width=&quot;640&quot; height=&quot;425&quot;&gt;&amp;nbsp; &lt;p&gt;Los &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.developeando.com/2013/02/los-grupos-de-usuarios-son-un-pasatiempo.html&quot;&gt;grupos de usuario son un pasatiempo&lt;/a&gt;, aun así considero que hay ciertas ventajas al dar alguna presentación:&amp;nbsp; &lt;ul&gt; &lt;li&gt;&lt;strong&gt;Conoces más del tema&lt;/strong&gt;: cuando me preparo para presentar, aunque ya conozca el tema, tengo que revisar la documentación y buscar cómo resolver posibles preguntas que tendrían durante la presentación. Esto hace que me familiarice más con el tema y así, al presentar aprendo. A veces pasa que alguien de entre los asistentes tiene experiencia en el tema o en un escenario en particular, esto me ayuda a tener otra perspectiva sobre como resolver el problema u otra forma de usar la tecnología.  &lt;li&gt;&lt;strong&gt;Conoces gente&lt;/strong&gt;: he conocido a varias personas al asistir constantemente a las reuniones de los grupos de usuario, algunos se han convertido en buenos amigos, con los cuales (además de hablar de otros temas) puedo comentar cosas de tecnología sin sonar tan nerd. Al conocer gente, han surgidos oportunidades de empleo o de negocio, que aunque no se tratan de eso las reuniones, las oportunidades son reales.  &lt;li&gt;&lt;strong&gt;La gente te conoce&lt;/strong&gt;: este punto está relacionado con el anterior. Aquí la ventaja es que las personas te conocen a ti como un profesional en lo que haces. Vas creando algo de reputación. La gente te ve como una figura de autoridad sobre el tema o (por lo menos) que puedes dominarlo.  &lt;li&gt;&lt;strong&gt;Aprendes a expresarte mejor&lt;/strong&gt;: al tratar de explicar el tema a varias personas que quizás no todas tengan la misma perspectiva o experiencia que tú; tienes que tratar de explicarte con diferentes palabras. Si alguien no entiende de un modo no puedes repetir lo mismo y esperar que de repente lo entienda. Por lo que debes buscar otra forma de explicarlo. Esta habilidad de explicarte mejor no es algo que suceda al instante, requiere práctica. Presentar seguido ayuda a expresarte mejor.  &lt;li&gt;&lt;strong&gt;Adquieres confianza&lt;/strong&gt;: al estudiar un tema y compartirlo con los demás, sientes que realmente dominas un tema y esa confianza puede reflejarse en tu trabajo, incluso en cómo te diriges a los demás. En cierto modo, presentar valida para ti mismo que conoces del tema.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Aun y con estas ventajas, puede que (aunque tienes el conocimiento) no te animas a presentar en un grupo de usuarios. Algunas de las razones que he conocido:  &lt;ul&gt; &lt;li&gt;&lt;strong&gt;Falta de interés para compartir o flojera&lt;/strong&gt;: no a todos les gusta reunirse con otro programadores o hablar de programación y eso está bien. A otros solo les gusta escuchar o sienten que no tienen el tiempo de preparar una presentación. No se necesita de mucho para presentar, se trata simplemente de hablar de lo que haces en tu trabajo (si te dedicas a programar) o de lo que haces cuando programas. Si lo que tienes es flojera entonces no hay mucho que se pueda hacer.  &lt;li&gt;&lt;strong&gt;Miedo a hablar en público&lt;/strong&gt;: &quot;todos&quot; nos ponemos nerviosos al presentar, la mejor forma de quitarse ese miedo es simplemente presentando. Darte cuenta que el peor escenario no es tan malo, además de ser poco probable. Y si llegara a pasar, siempre puedes intentar presentar después y corregir lo que haya salido mal.  &lt;li&gt;&lt;strong&gt;Sientes que no sabes lo suficiente:&lt;/strong&gt; crees que al presentar se van a dar cuenta de que no eres tan bueno, que &quot;eres un impostor o un fraude&quot;. Esto le puede pasar a todos, incluso si tu trabajo consiste en programar y recibes un sueldo por ello. Un grupo de usuarios no es una gran conferencia, tampoco un seminario o diplomado, la idea es solo platicar sobre tecnología. Te recomendaría que al presentar seas sincero y decir lo que sabes, los problemas que has solucionado y en lo que estas batallando. Los asistentes, por lo general, aprecian la sinceridad y tratan de ayudarte a mejorar.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Si estás trabajando en algún proyecto y has tenido que resolver problemas; entonces ya eres un buen candidato para presentar en un grupo de usuarios. Toma en cuenta que:&lt;/p&gt; &lt;ul&gt; &lt;li&gt; &lt;div align=&quot;left&quot;&gt;&lt;strong&gt;La idea es reunirse y compartir experiencias&lt;/strong&gt;, no nos reunimos para evaluarte como presentador. &lt;/div&gt; &lt;li&gt; &lt;div align=&quot;left&quot;&gt;Como asistentes, &lt;strong&gt;sabemos que eres un programador&lt;/strong&gt;, no un animador o comediante que tiene que divertirnos. &lt;/div&gt; &lt;li&gt; &lt;div align=&quot;left&quot;&gt;&lt;strong&gt;La gente no va con la idea de burlarse&lt;/strong&gt; del presentador.&lt;/div&gt; &lt;li&gt; &lt;div align=&quot;left&quot;&gt;La mayoría de los asistentes están &lt;strong&gt;dispuestos a ayudarte&lt;/strong&gt; si te atoras en la presentación o si falla el demo. &lt;/div&gt; &lt;li&gt; &lt;div align=&quot;left&quot;&gt;Si todo te sale muy mal,&lt;strong&gt; en el peor de los casos, no pasa nada&lt;/strong&gt;. No tienes que preocuparte por tener que regresarles su dinero, no es como si hubieran pagado por un curso o seminario. &lt;/div&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Mientras seas una buena persona, no veo como pueda ser mala idea que presentes. Si te gusta la tecnología y platicar del tema, acércate a un grupo de usuarios. &lt;strong&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://tijuanajs.org&quot;&gt;Siempre estamos buscando presentadores&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt; &lt;p&gt;Platiqué de este tema con &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;https://twitter.com/gabo&quot;&gt;Gabriel Flores&lt;/a&gt; en el podcast dev3cast. &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.dev3cast.com/2015/07/01/presentar-en-grupos-de-usuarios/&quot;&gt;Escucha el episodio&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;¿Te gustaría comentar? Envíame un correo a &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;mailto:blog@developeando.com&quot;&gt;blog@developeando.com&lt;/a&gt;&lt;/p&gt;</description>
         <author>Mario H. Cornejo</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-23470706.post-6186408387894689655</guid>
         <pubDate>Thu, 02 Jul 2015 11:27:00 +0000</pubDate>
         <media:thumbnail height="72" url="http://lh3.googleusercontent.com/-ovLKEwuG9EA/VZWCi1E1O8I/AAAAAAAAA3o/bGuxlbfBDJY/s72-c/presentar_thumb6.jpg?imgmax=800" width="72" xmlns:media="http://search.yahoo.com/mrss/"/>
      </item>
      <item>
         <title>Windows 10 Developer Readiness</title>
         <link>http://shockbyte.net/2015/06/27/windows-10-developer-readiness/</link>
         <description>Como parte de la preparación para el lanzamiento del Windows 10, el 8 de Junio dicte un Webcast sobre desarrollo de aplicaciones Universal Windows Platform. El video ya esta publicado en Channel 9, lo pueden ver aquí, o en este mismo post. Gracias a todos los que participaron, y en especial al programa MVP y a [&amp;#8230;]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://pixel.wp.com/b.gif?host=shockbyte.net&amp;#038;blog=35489323&amp;#038;post=1272&amp;#038;subd=shockbyte&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot;/&gt;</description>
         <guid isPermaLink="false">http://shockbyte.net/?p=1272</guid>
         <pubDate>Sat, 27 Jun 2015 14:08:14 +0000</pubDate>
         <content:encoded><![CDATA[<p>Como parte de la preparación para el lanzamiento del <a rel="nofollow" target="_blank" href="https://en.wikipedia.org/wiki/Windows_10">Windows 10</a>, el 8 de Junio dicte un Webcast sobre desarrollo de aplicaciones <a rel="nofollow" target="_blank" href="https://msdn.microsoft.com/en-us/library/dn894631.aspx">Universal Windows Platform</a>.</p>
<p>El video ya esta publicado en <a rel="nofollow" target="_blank" href="https://channel9.msdn.com/">Channel 9</a>, lo pueden ver <a rel="nofollow" target="_blank" href="https://channel9.msdn.com/Events/MVP-Virtual-Conference/Windows-10-Developer-Readiness-Powered-by-MVPs/Argentina">aquí</a>, o en este mismo post.</p>
<p>Gracias a todos los que participaron, y en especial al programa <a rel="nofollow" target="_blank" href="https://twitter.com/mvpaward">MVP</a> y a <a rel="nofollow" target="_blank" href="http://erika-vilches.com/">Erika Vilches</a> por el apoyo para dar es Webcast <span class='wp-smiley wp-emoji wp-emoji-smile' title=':)'>:)</span></p>
<div id="v-DjLaCjSP-1" class="video-player" style="width:604px;height:338px;">
<embed id="v-DjLaCjSP-1-video" src="http://s0.videopress.com/player.swf?v=1.04&amp;guid=DjLaCjSP&amp;isDynamicSeeking=true" type="application/x-shockwave-flash" width="604" height="338"></iframe></div>
<p>&nbsp;</p><br />Filed under: <a rel="nofollow" target="_blank" href='http://shockbyte.net/category/client-app-dev/'>Client App Dev</a>, <a rel="nofollow" target="_blank" href='http://shockbyte.net/category/webcast/'>Webcast</a> Tagged: <a rel="nofollow" target="_blank" href='http://shockbyte.net/tag/software-development/'>software-development</a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gocomments/shockbyte.wordpress.com/1272/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/shockbyte.wordpress.com/1272/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/godelicious/shockbyte.wordpress.com/1272/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/shockbyte.wordpress.com/1272/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gofacebook/shockbyte.wordpress.com/1272/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/shockbyte.wordpress.com/1272/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gotwitter/shockbyte.wordpress.com/1272/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/shockbyte.wordpress.com/1272/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gostumble/shockbyte.wordpress.com/1272/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/shockbyte.wordpress.com/1272/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/godigg/shockbyte.wordpress.com/1272/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/shockbyte.wordpress.com/1272/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/goreddit/shockbyte.wordpress.com/1272/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/shockbyte.wordpress.com/1272/"/></a> <img alt="" border="0" src="http://pixel.wp.com/b.gif?host=shockbyte.net&#038;blog=35489323&#038;post=1272&#038;subd=shockbyte&#038;ref=&#038;feed=1" width="1" height="1"/><div><a rel="nofollow" target="_blank" href="http://shockbyte.net/2015/06/27/windows-10-developer-readiness/"><img alt="Windows 10 Developer Readiness [Argentina]" src="http://videos.videopress.com/DjLaCjSP/win10mvpargentina_mid_scruberthumbnail_0.jpg" width="160" height="120"/></a></div>]]></content:encoded>
         <geo:lat>-34.610701</geo:lat>
         <geo:long>-58.416745</geo:long>
         <media:group>
            <media:content bitrate="3160" duration="7934" fileSize="3209144320" height="720" isDefault="true" medium="video" type="video/mp4" url="http://videos.videopress.com/DjLaCjSP/win10mvpargentina_mid_hd.mp4" width="1280"/>
            <media:content bitrate="1528" duration="7934" fileSize="1551763456" height="360" isDefault="false" medium="video" type="video/mp4" url="http://videos.videopress.com/DjLaCjSP/win10mvpargentina_mid_dvd.mp4" width="640"/>
            <media:content bitrate="796" duration="7934" fileSize="808379392" height="224" isDefault="false" medium="video" type="video/mp4" url="http://videos.videopress.com/DjLaCjSP/win10mvpargentina_mid_std.mp4" width="400"/>
            <media:rating scheme="urn:mpaa">g</media:rating>
            <media:title type="plain">Windows 10 Developer Readiness [Argentina]</media:title>
            <media:thumbnail height="144" url="http://videos.videopress.com/DjLaCjSP/win10mvpargentina_mid_scruberthumbnail_0.jpg" width="256"/>
            <media:player height="225" url="http://s0.videopress.com/player.swf?v=1.04&amp;guid=DjLaCjSP&amp;isDynamicSeeking=true" width="400"/>
         </media:group>
         <media:content medium="image" url="http://0.gravatar.com/avatar/f4b11145494d520bd1ec443075b11b4e?s=96&amp;amp;d=identicon&amp;amp;r=G">
            <media:title type="html">rfinochi</media:title>
         </media:content>
         <enclosure length="3209144320" type="video/mp4" url="http://videos.videopress.com/DjLaCjSP/win10mvpargentina_mid_hd.mp4"/>
      </item>
      <item>
         <title>SignalR 2 Workshop</title>
         <link>http://shockbyte.net/2015/06/02/signalr-2-workshop/</link>
         <description>La semana pasa dicte un workshop sobre SignalR les dejo la presentación y el código aquí. Enjoy! :)Filed under: ASP.NET, Conferences Tagged: software-development&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://pixel.wp.com/b.gif?host=shockbyte.net&amp;#038;blog=35489323&amp;#038;post=1263&amp;#038;subd=shockbyte&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot;/&gt;</description>
         <guid isPermaLink="false">http://shockbyte.net/?p=1263</guid>
         <pubDate>Tue, 02 Jun 2015 12:23:39 +0000</pubDate>
         <content:encoded><![CDATA[<p>La semana pasa dicte un workshop sobre <a rel="nofollow" title="SignalR" target="_blank" href="http://signalr.net/">SignalR</a> les dejo la presentación y el código <a rel="nofollow" target="_blank" href="https://github.com/rfinochi/confsamples/tree/master/SignalR">aquí</a>.</p>
<p>Enjoy! <span class='wp-smiley wp-emoji wp-emoji-smile' title=':)'>:)</span></p>
<br />Filed under: <a rel="nofollow" target="_blank" href='http://shockbyte.net/category/asp-net/'>ASP.NET</a>, <a rel="nofollow" target="_blank" href='http://shockbyte.net/category/conferences/'>Conferences</a> Tagged: <a rel="nofollow" target="_blank" href='http://shockbyte.net/tag/software-development/'>software-development</a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gocomments/shockbyte.wordpress.com/1263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/shockbyte.wordpress.com/1263/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/godelicious/shockbyte.wordpress.com/1263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/shockbyte.wordpress.com/1263/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gofacebook/shockbyte.wordpress.com/1263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/shockbyte.wordpress.com/1263/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gotwitter/shockbyte.wordpress.com/1263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/shockbyte.wordpress.com/1263/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gostumble/shockbyte.wordpress.com/1263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/shockbyte.wordpress.com/1263/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/godigg/shockbyte.wordpress.com/1263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/shockbyte.wordpress.com/1263/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/goreddit/shockbyte.wordpress.com/1263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/shockbyte.wordpress.com/1263/"/></a> <img alt="" border="0" src="http://pixel.wp.com/b.gif?host=shockbyte.net&#038;blog=35489323&#038;post=1263&#038;subd=shockbyte&#038;ref=&#038;feed=1" width="1" height="1"/>]]></content:encoded>
         <geo:lat>-34.617773</geo:lat>
         <geo:long>-58.424680</geo:long>
         <media:content medium="image" url="http://0.gravatar.com/avatar/f4b11145494d520bd1ec443075b11b4e?s=96&amp;amp;d=identicon&amp;amp;r=G">
            <media:title type="html">rfinochi</media:title>
         </media:content>
      </item>
      <item>
         <title>Conferencia sobre ASP.NET 5</title>
         <link>http://shockbyte.net/2015/04/09/conferencia-sobre-asp-net-5/</link>
         <description>Hoy di una charla en el MUG sobre la nueva versión de ASP.NET, especialmente sobre su nueva arquitectura y runtime. Pueden descargar el código desde aquí, y la presentación mas abajo. ¡Gracias a todos los que asistieron!Filed under: ASP.NET, Conferences Tagged: software-development&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://pixel.wp.com/b.gif?host=shockbyte.net&amp;#038;blog=35489323&amp;#038;post=1260&amp;#038;subd=shockbyte&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot;/&gt;</description>
         <guid isPermaLink="false">http://shockbyte.net/?p=1260</guid>
         <pubDate>Fri, 10 Apr 2015 00:43:41 +0000</pubDate>
         <content:encoded><![CDATA[<p>Hoy di una charla en el <a rel="nofollow" title="MUG" target="_blank" href="http://www.mug.org.ar">MUG</a> sobre la nueva versión de <a rel="nofollow" title="ASP.NET vNext" target="_blank" href="http://asp.net/vnext">ASP.NET</a>, especialmente sobre su nueva arquitectura y runtime.</p>
<p>Pueden descargar el código desde <a rel="nofollow" target="_blank" href="https://github.com/rfinochi/confsamples/tree/master/ASP.NET%205">aquí</a>, y la presentación mas abajo.</p>
<p>¡Gracias a todos los que asistieron!</p>
<br />Filed under: <a rel="nofollow" target="_blank" href='http://shockbyte.net/category/asp-net/'>ASP.NET</a>, <a rel="nofollow" target="_blank" href='http://shockbyte.net/category/conferences/'>Conferences</a> Tagged: <a rel="nofollow" target="_blank" href='http://shockbyte.net/tag/software-development/'>software-development</a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gocomments/shockbyte.wordpress.com/1260/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/shockbyte.wordpress.com/1260/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/godelicious/shockbyte.wordpress.com/1260/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/shockbyte.wordpress.com/1260/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gofacebook/shockbyte.wordpress.com/1260/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/shockbyte.wordpress.com/1260/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gotwitter/shockbyte.wordpress.com/1260/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/shockbyte.wordpress.com/1260/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gostumble/shockbyte.wordpress.com/1260/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/shockbyte.wordpress.com/1260/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/godigg/shockbyte.wordpress.com/1260/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/shockbyte.wordpress.com/1260/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/goreddit/shockbyte.wordpress.com/1260/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/shockbyte.wordpress.com/1260/"/></a> <img alt="" border="0" src="http://pixel.wp.com/b.gif?host=shockbyte.net&#038;blog=35489323&#038;post=1260&#038;subd=shockbyte&#038;ref=&#038;feed=1" width="1" height="1"/>]]></content:encoded>
         <geo:lat>-34.603723</geo:lat>
         <geo:long>-58.381593</geo:long>
         <media:content medium="image" url="http://0.gravatar.com/avatar/f4b11145494d520bd1ec443075b11b4e?s=96&amp;amp;d=identicon&amp;amp;r=G">
            <media:title type="html">rfinochi</media:title>
         </media:content>
      </item>
      <item>
         <title>Ultima charla de 2014, ¡bienvenido 2015!</title>
         <link>http://shockbyte.net/2014/12/22/ultima-charla-de-2014-bienvenido-2015/</link>
         <description>Hoy  junto mi compañero de Lagash, Mariano Sanchez dimos la ultima charla del año en el MUG. Estuvimos repasando las novedades del stack de desarrollo Microsoft con las que estaremos trabajando en 2015. Pueden descargar el código desde aquí y aquí. Gracias a todos los que asistieron, y ¡feliz año nuevo! :)Filed under: .NET, ASP.NET, Conferences Tagged: software-development&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://pixel.wp.com/b.gif?host=shockbyte.net&amp;#038;blog=35489323&amp;#038;post=1247&amp;#038;subd=shockbyte&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot;/&gt;</description>
         <guid isPermaLink="false">http://shockbyte.net/?p=1247</guid>
         <pubDate>Mon, 22 Dec 2014 22:02:01 +0000</pubDate>
         <content:encoded><![CDATA[<p>Hoy  junto mi compañero de <a rel="nofollow" title="Lagash" target="_blank" href="http://www.lagash.com">Lagash</a>, <a rel="nofollow" target="_blank" href="http://weblogs.asp.net/marianos/">Mariano Sanchez</a> dimos la ultima charla del año en el <a rel="nofollow" title="MUG" target="_blank" href="http://www.mug.org.ar">MUG</a>. Estuvimos repasando las novedades del stack de desarrollo Microsoft con las que estaremos trabajando en 2015.</p>
<p>Pueden descargar el código desde <a rel="nofollow" target="_blank" href="https://github.com/rfinochi/confsamples/tree/master/ASP.NET%205">aquí</a> y <a rel="nofollow" target="_blank" href="https://github.com/rfinochi/confsamples/tree/master/Roslyn">aquí</a>.</p>
<p>Gracias a todos los que asistieron, y ¡feliz año nuevo! <span class='wp-smiley wp-emoji wp-emoji-smile' title=':)'>:)</span></p><br />Filed under: <a rel="nofollow" target="_blank" href='http://shockbyte.net/category/net/'>.NET</a>, <a rel="nofollow" target="_blank" href='http://shockbyte.net/category/asp-net/'>ASP.NET</a>, <a rel="nofollow" target="_blank" href='http://shockbyte.net/category/conferences/'>Conferences</a> Tagged: <a rel="nofollow" target="_blank" href='http://shockbyte.net/tag/software-development/'>software-development</a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gocomments/shockbyte.wordpress.com/1247/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/shockbyte.wordpress.com/1247/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/godelicious/shockbyte.wordpress.com/1247/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/shockbyte.wordpress.com/1247/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gofacebook/shockbyte.wordpress.com/1247/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/shockbyte.wordpress.com/1247/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gotwitter/shockbyte.wordpress.com/1247/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/shockbyte.wordpress.com/1247/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gostumble/shockbyte.wordpress.com/1247/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/shockbyte.wordpress.com/1247/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/godigg/shockbyte.wordpress.com/1247/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/shockbyte.wordpress.com/1247/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/goreddit/shockbyte.wordpress.com/1247/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/shockbyte.wordpress.com/1247/"/></a> <img alt="" border="0" src="http://pixel.wp.com/b.gif?host=shockbyte.net&#038;blog=35489323&#038;post=1247&#038;subd=shockbyte&#038;ref=&#038;feed=1" width="1" height="1"/>]]></content:encoded>
         <geo:lat>-34.608855</geo:lat>
         <geo:long>-58.387473</geo:long>
         <media:content medium="image" url="http://0.gravatar.com/avatar/f4b11145494d520bd1ec443075b11b4e?s=96&amp;amp;d=identicon&amp;amp;r=G">
            <media:title type="html">rfinochi</media:title>
         </media:content>
      </item>
      <item>
         <title>El programador desarrolla software</title>
         <link>http://www.developeando.com/2014/11/desarrollador-programador.html</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://lh4.ggpht.com/-_9UhDpm0Dcg/VHzaPscRpcI/AAAAAAAAAz4/c7ATr_kFM-o/s1600-h/aprogrammerslife%25255B4%25255D.png&quot;&gt;&lt;img title=&quot;aprogrammerslife&quot; style=&quot;border-left-width:0px;border-right-width:0px;border-bottom-width:0px;margin:5px 15px 5px 0px;display:inline;border-top-width:0px;&quot; border=&quot;0&quot; alt=&quot;aprogrammerslife&quot; src=&quot;http://lh3.ggpht.com/-ahvkbi6ffYU/VHzaQPg-nbI/AAAAAAAAAz8/OYvlE8ssHAE/aprogrammerslife_thumb%25255B2%25255D.png?imgmax=800&quot; width=&quot;244&quot; align=&quot;left&quot; height=&quot;244&quot;&gt;&lt;/a&gt;Cuando personas no técnicas me preguntan a qué me dedico y les contesto: &quot;Desarrollador de software&quot;. Por lo general no entienden exactamente que&amp;nbsp; hago en mi trabajo. Muchas veces termino diciendo que soy programador o que escribo programas para computadora. Últimamente ya solo digo &quot;programador&quot;. Sé que para muchos el programador no es lo mismo que el desarrollador de software. Pero pensándolo bien… ¿Será algo que al resto del mundo no le importa? ¿Realmente hay una diferencia?&lt;/p&gt; &lt;p&gt;Leyendo blogs he encontrado diferencias entre ambos términos. Se dice que el programador es la persona que escribe el código (nomas) y el desarrollador hace algo más. Según el desarrollador de software tiene otras habilidades además de escribir código. Se involucra en todo el proceso, como análisis, diseño, evaluar marcos de trabajo (Frameworks), lenguajes, arquitectura, etcétera. ¿Acaso el programador no tiene esas habilidades?&lt;/p&gt; &lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://lh3.ggpht.com/-wSqWbBxZhZs/VHzaQbl9FDI/AAAAAAAAA0w/bVOUZaRJyE4/s1600-h/programador%25255B8%25255D.png&quot;&gt;&lt;img title=&quot;programador&quot; style=&quot;border-left-width:0px;border-right-width:0px;border-bottom-width:0px;margin-left:0px;display:inline;border-top-width:0px;margin-right:0px;&quot; border=&quot;0&quot; alt=&quot;programador&quot; src=&quot;http://lh5.ggpht.com/-1-P7_VMrZ4Y/VHzaQ885QmI/AAAAAAAAA04/3QDuDH94sOY/programador_thumb%25255B5%25255D.png?imgmax=800&quot; width=&quot;244&quot; align=&quot;right&quot; height=&quot;79&quot;&gt;&lt;/a&gt;Según la Real Academia de la lengua, el programador es la persona que elabora programas de ordenador. En español de México diría que elabora programas de computadora. Ahora la pregunta es ¿Cómo se elabora un programa de computadora? &lt;/p&gt; &lt;p&gt;Un programa se elabora en incrementos, es decir, un programa puede ir cambiando con el tiempo, agregándole características. No se construye de la misma forma en que se construye un edificio, por ejemplo. No se hace una casa pequeña y después se modifica para convertirla en un rascacielos.&amp;nbsp; Pero un programa puede crearse para una necesidad pequeña y después modificarse para que haga una cosa más. Por eso no decimos construcción, sino desarrollo de software. No es por las habilidades de la persona que lo desarrolla. Es por la forma en que se elaboran los programas.&lt;/p&gt; &lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://lh5.ggpht.com/-awY3tDC62bk/VHzaRZj3j6I/AAAAAAAAA1A/FS6MBAq7L-E/s1600-h/desarrollador%25255B4%25255D.png&quot;&gt;&lt;img title=&quot;desarrollador&quot; style=&quot;border-left-width:0px;border-right-width:0px;border-bottom-width:0px;margin-left:0px;display:inline;border-top-width:0px;margin-right:0px;&quot; border=&quot;0&quot; alt=&quot;desarrollador&quot; src=&quot;http://lh3.ggpht.com/-H8IhspmRCXU/VHzaRva0eTI/AAAAAAAAA1I/Am3vDEO2Me8/desarrollador_thumb%25255B2%25255D.png?imgmax=800&quot; width=&quot;244&quot; align=&quot;right&quot; height=&quot;53&quot;&gt;&lt;/a&gt;Según la RAE la palabra desarrollador ni existe.&amp;nbsp; Por lo tanto el desarrollo de software es dirigido por el programador. Porque es el programador la persona encargada de elaborar el programa. Quizás la necesidad de llamarnos “desarrolladores” es para sentir que hacemos algo más que solo escribir código. Y es cierto que hacemos algo más. Lo hacemos porque somos programadores y elaborar un programa requiere de varias actividades.&lt;/p&gt; &lt;p&gt;Hay de programadores a programadores, los hay con mucha preparación, habilidades, profesionalismo y también los que leyeron un manual e hicieron unos programas para ellos mismos, los que solo copian y pegan código del internet. Algunos solo conocen un lenguaje de programación o un IDE. No por eso nos vamos a llamar de una manera diferente. Así como hay constructores que hacen rascacielos y otros que solo casas para mascotas. Si te dedicas a elaborar programas, eres un programador. Si no te gusta que te digan programador y prefieres que te llamen desarrollador (palabra que no existe), esta bien, yo también lo hacia; pero recuerda que un(a) programador(a) se dedica a desarrollar software.&lt;/p&gt;</description>
         <author>Mario H. Cornejo</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-23470706.post-6634802570511175728</guid>
         <pubDate>Mon, 01 Dec 2014 13:51:00 +0000</pubDate>
         <media:thumbnail height="72" url="http://lh3.ggpht.com/-ahvkbi6ffYU/VHzaQPg-nbI/AAAAAAAAAz8/OYvlE8ssHAE/s72-c/aprogrammerslife_thumb%25255B2%25255D.png?imgmax=800" width="72" xmlns:media="http://search.yahoo.com/mrss/"/>
      </item>
      <item>
         <title>Leer antes de escribir</title>
         <link>http://www.developeando.com/2014/11/leer-antes-de-escribir.html</link>
         <description>Es común que&amp;nbsp;una persona que toma un proyecto iniciado por alguien más, critique la manera en como esta hecho. Pasa en muchas profesiones y/u oficios. Trato de no hacerlo (tanto); pero...algunas veces es sorprendente como la persona que escribió el código se complicó la existencia reinventando la rueda. Es decir, creando su propia solución para un problema común. Es aún más sorprendente cuando quien lo hace tiene varios años trabajando en proyectos. Trataré de explicar como evitar ser esa persona que&amp;nbsp;complica el código.&amp;nbsp;Antes, daré un ejemplo de situaciones de&amp;nbsp;este tipo.&lt;br /&gt;﻿﻿&lt;br /&gt;﻿&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left:auto;margin-right:auto;text-align:left;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align:center;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://4.bp.blogspot.com/-GvbJbhrWDMY/VHOhvMa0AsI/AAAAAAAAAzA/rgDW9XDNmc4/s1600/oh.png&quot; style=&quot;margin-left:auto;margin-right:auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-GvbJbhrWDMY/VHOhvMa0AsI/AAAAAAAAAzA/rgDW9XDNmc4/s1600/oh.png&quot; height=&quot;273&quot; width=&quot;400&quot;/&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align:center;&quot;&gt;Al leer código de alguien más.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;En las aplicaciones realizadas en&amp;nbsp;.NET la configuración de la aplicación se guarda en un archivo&amp;nbsp;llamado igual que el ejecutable añadiéndole la extensión &quot;.config&quot;. Así si mi ejecutable se llama &lt;em&gt;miAplicación.exe&lt;/em&gt;&amp;nbsp;tendré un archivo llamado&amp;nbsp;&lt;em&gt;miAplicación.exe.config&lt;/em&gt;&amp;nbsp;&amp;nbsp;en el mismo directorio. En caso de ser una aplicación web, el archivo se llama &lt;em&gt;web.config. &lt;/em&gt;El formato del archivo de configuración es estándar y existen librerías que facilitan la lectura de los valores de configuración. &lt;br /&gt;&lt;br /&gt;He estado en proyectos donde la persona que lo inició creó su propio formato de configuración y su propia convención para nombrar los archivos. La aplicación funciona; pero esto hace que se requiera más tiempo para entender lo que hace el código fuente del programa, se tiene&amp;nbsp;más código que mantener a cambio de prácticamente ningún beneficio. La decisión parece estar basada en que no se conocía la manera (&lt;em&gt;.NET&lt;/em&gt; ) de hacer las cosas. También lo he visto al usar librerías de acceso a datos, donde el programador original creo una forma de ejecutar los scripts, en lugar de seguir la convención o utilizar las clases que da el marco de trabajo.&lt;br /&gt;&lt;br /&gt;¿Por qué alguien que tiene varios años programando no usa lo común? ¿Por qué no sigue la convención?﻿﻿﻿﻿ ﻿Puede ser por la misma razón por la que&amp;nbsp;algunas personas tienen faltas de&amp;nbsp;ortografía. Por ejemplo yo.&amp;nbsp;Hace tiempo al momento de escribir lo hacía con muchas faltas de ortografía, con&amp;nbsp;el tiempo he aprendido a escribir mejor. Ahora es fácil notar (sin ayuda de un corrector ortográfico) cuando una palabra esta mal escrita. Esto&amp;nbsp;no pasó solo por escribir varios años.&lt;br /&gt;&lt;br /&gt;﻿﻿Empecé a notar que las palabras se veían raras, si estaban mal escritas, porque me acostumbré a verlas escritas correctamente al leer texto&amp;nbsp;de otras personas, en libros,&amp;nbsp;blogs, etcétera. El &lt;strong&gt;leer me ha ayudado a escribir mejor&lt;/strong&gt;, a notar cuando algo no anda bien en lo que escribo. Aun sigo equivocándome; pero sé que entre más lea y escriba,&amp;nbsp;reduciré mis faltas de&amp;nbsp;ortografía.&lt;br /&gt;﻿﻿﻿﻿﻿﻿﻿﻿﻿﻿﻿﻿﻿﻿&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left:auto;margin-right:auto;text-align:center;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align:center;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://1.bp.blogspot.com/-CeipTfJ5WWw/VG1_SvgnQKI/AAAAAAAAAyo/T_vN-58_yFU/s1600/read.jpg&quot; style=&quot;clear:left;margin-bottom:1em;margin-left:auto;margin-right:auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-CeipTfJ5WWw/VG1_SvgnQKI/AAAAAAAAAyo/T_vN-58_yFU/s1600/read.jpg&quot; height=&quot;417&quot; width=&quot;640&quot;/&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align:center;&quot;&gt;Leyendo código. Foto de Gabriel Flores.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;De igual forma &lt;strong&gt;leer código de otras personas&amp;nbsp;ayuda a escribir mejor código&lt;/strong&gt;. Siguiendo con el ejemplo anterior, si el programador hubiera leído el código de varias aplicaciones .NET se hubiera percatado de que la forma en que estaba guardando la configuración no era lo común. Hubiera sentido que su código se veía raro. O tal vez ni si quiera hubiera pensando en reinventar como realizar la configuración de la aplicación y hubiera usado directamente la convención del marco de trabajo.﻿﻿﻿﻿﻿﻿﻿﻿&lt;br /&gt;&lt;br /&gt;Para escribir buen código además de tener práctica escribiéndolo, también hay que leer código de otras personas. El no hacerlo puede&amp;nbsp;provocar que&amp;nbsp;hagas algo&amp;nbsp;distinto&amp;nbsp;a la convención o &quot;reinventes la rueda&quot;, que&amp;nbsp;puede ser divertido (y servir para aprender)&amp;nbsp;la primera vez; pero a la larga es algo a lo que pocos&amp;nbsp;querrían darle mantenimiento. Si quieres escribir mejor código,&amp;nbsp;práctica y lee código de otros.&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear:both;text-align:center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;</description>
         <author>Mario H. Cornejo</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-23470706.post-7979253861926319060</guid>
         <pubDate>Mon, 24 Nov 2014 13:56:00 +0000</pubDate>
         <media:thumbnail height="72" url="http://4.bp.blogspot.com/-GvbJbhrWDMY/VHOhvMa0AsI/AAAAAAAAAzA/rgDW9XDNmc4/s72-c/oh.png" width="72" xmlns:media="http://search.yahoo.com/mrss/"/>
      </item>
      <item>
         <title>Lo nuevo en ASP.NET 5</title>
         <link>http://shockbyte.net/2014/11/20/lo-nuevo-en-asp-net-5/</link>
         <description>Hoy  junto mis compañeros de Lagash, Mariano Sanchez, y Andres Vettori dimos unas charlas en el MUG. Mi charla fue sobre la nueva versión de ASP.NET (5). Pueden descargar el código desde aquí, y las presentaciones mas abajo. ¡Gracias a todos los que asistieron!Filed under: ASP.NET, Conferences Tagged: software-development&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://pixel.wp.com/b.gif?host=shockbyte.net&amp;#038;blog=35489323&amp;#038;post=1243&amp;#038;subd=shockbyte&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot;/&gt;</description>
         <guid isPermaLink="false">http://shockbyte.net/?p=1243</guid>
         <pubDate>Fri, 21 Nov 2014 01:10:37 +0000</pubDate>
         <content:encoded><![CDATA[<p>Hoy  junto mis compañeros de <a rel="nofollow" title="Lagash" target="_blank" href="http://www.lagash.com">Lagash</a>, <a rel="nofollow" target="_blank" href="http://weblogs.asp.net/marianos/">Mariano Sanchez</a>, y <a rel="nofollow" title="Andru's WebLog" target="_blank" href="http://weblogs.asp.net/andresv">Andres Vettori</a> dimos unas charlas en el <a rel="nofollow" title="MUG" target="_blank" href="http://www.mug.org.ar">MUG</a>. Mi charla fue sobre la nueva versión de <a rel="nofollow" title="ASP.NET vNext" target="_blank" href="http://asp.net/vnext">ASP.NET</a> (5).</p>
<p>Pueden descargar el código desde <a rel="nofollow" target="_blank" href="https://github.com/rfinochi/confsamples/tree/master/ASP.NET%205">aquí</a>, y las presentaciones mas abajo.</p>
<p>¡Gracias a todos los que asistieron!</p>
<br />Filed under: <a rel="nofollow" target="_blank" href='http://shockbyte.net/category/asp-net/'>ASP.NET</a>, <a rel="nofollow" target="_blank" href='http://shockbyte.net/category/conferences/'>Conferences</a> Tagged: <a rel="nofollow" target="_blank" href='http://shockbyte.net/tag/software-development/'>software-development</a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gocomments/shockbyte.wordpress.com/1243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/shockbyte.wordpress.com/1243/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/godelicious/shockbyte.wordpress.com/1243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/shockbyte.wordpress.com/1243/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gofacebook/shockbyte.wordpress.com/1243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/shockbyte.wordpress.com/1243/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gotwitter/shockbyte.wordpress.com/1243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/shockbyte.wordpress.com/1243/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gostumble/shockbyte.wordpress.com/1243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/shockbyte.wordpress.com/1243/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/godigg/shockbyte.wordpress.com/1243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/shockbyte.wordpress.com/1243/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/goreddit/shockbyte.wordpress.com/1243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/shockbyte.wordpress.com/1243/"/></a> <img alt="" border="0" src="http://pixel.wp.com/b.gif?host=shockbyte.net&#038;blog=35489323&#038;post=1243&#038;subd=shockbyte&#038;ref=&#038;feed=1" width="1" height="1"/>]]></content:encoded>
         <geo:lat>-34.617859</geo:lat>
         <geo:long>-58.425135</geo:long>
         <media:content medium="image" url="http://0.gravatar.com/avatar/f4b11145494d520bd1ec443075b11b4e?s=96&amp;amp;d=identicon&amp;amp;r=G">
            <media:title type="html">rfinochi</media:title>
         </media:content>
      </item>
      <item>
         <title>Desarrollando en la nube de nitrous</title>
         <link>http://www.developeando.com/2014/11/desarrollando-en-la-nube-de-nitrous.html</link>
         <description>Actualmente&amp;nbsp;la maquina que uso&amp;nbsp;para desarrollo es una laptop con un disco duro de 100 GB por lo que no tengo&amp;nbsp;mucho espacio para instalar todo lo que quiera. Trato de instalar solo lo necesario para mi trabajo. Por eso no me gustó la idea, cuando en el proyecto que estaba trabajando necesité instalar Postgresql. Mi maquina actualmente ya tiene Firebird, Interbase, MS SQL Server, MySQL y el cliente de Oracle. &lt;br /&gt;&lt;br /&gt;Recordé que hace tiempo había trabajado con &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;https://www.nitrous.io/join/N_1CDv55Hag?utm_source=nitrous.io&amp;amp;utm_medium=copypaste&amp;amp;utm_campaign=referral&quot;&gt;nitrous.io&lt;/a&gt; por recomendación de un amigo. Así que creé una maquina nueva, la que había usado antes ya no la necesitaba (por ahora). Seleccioné el ambiente de nodejs e instalé Postgresql. Y así en unos minutos ya tenia una maquina con Linux, git, node y postgresql, gratis y&amp;nbsp;lista para empezar a desarrollar. &lt;br /&gt;&lt;br /&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;https://images-blogger-opensocial.googleusercontent.com/gadgets/proxy?url=http%3A%2F%2F1.bp.blogspot.com%2F-BpnS5N-ADyw%2FVGu2x9ITcwI%2FAAAAAAAAAyE%2F2RHCkwQmLog%2Fs1600%2Fnitrous.png&amp;amp;container=blogger&amp;amp;gadget=a&amp;amp;rewriteMime=image%2F*&quot; style=&quot;clear:left;float:left;margin-bottom:1em;margin-right:1em;&quot;&gt;&lt;img alt=&quot;IDE desde el navegador&quot; border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-BpnS5N-ADyw/VGu2x9ITcwI/AAAAAAAAAyE/2RHCkwQmLog/s1600/nitrous.png&quot; height=&quot;201&quot; title=&quot;IDE&quot; width=&quot;320&quot;/&gt;&lt;/a&gt;Existen formas de&amp;nbsp;usar tu editor local y sincronizar archivos; pero opté por usar el editor y la consola en línea. Es una ventana en el navegador donde esta un editor de texto con un árbol mostrando tus archivos y una ventana con la terminal. Con eso es suficiente para empezar a trabajar sin necesidad de tener archivos locales, ni software instalado localmente.&lt;br /&gt;&lt;br /&gt;Después de un buen rato de estar trabajando en el proyecto, incluso olvidé que estaba trabajando en el navegador. El servicio es gratis si usas una maquina modesta. Puedo acumular &quot;puntos&quot; que llaman unidades de N2O y hacer mi maquina mejor, ya sea pagando o si alguien se &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;https://www.nitrous.io/join/N_1CDv55Hag?utm_source=nitrous.io&amp;amp;utm_medium=copypaste&amp;amp;utm_campaign=referral&quot;&gt;registra usándome como referencia&lt;/a&gt;.</description>
         <author>Mario H. Cornejo</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-23470706.post-7374711115279464085</guid>
         <pubDate>Thu, 20 Nov 2014 09:05:00 +0000</pubDate>
         <media:thumbnail height="72" url="http://1.bp.blogspot.com/-BpnS5N-ADyw/VGu2x9ITcwI/AAAAAAAAAyE/2RHCkwQmLog/s72-c/nitrous.png" width="72" xmlns:media="http://search.yahoo.com/mrss/"/>
      </item>
      <item>
         <title>.NET Conf UY – Videos</title>
         <link>http://shockbyte.net/2014/11/06/net-conf-uy-videos/</link>
         <description>Les dejo el video de mi charla sobre Roslyn en .NET Conf UY , y una entrevista que mi hicieron. De nuevo gracias a los organizadores y a todos lo que asistieron a este gran evento. ¡Y que se repita el próximo año!. Filed under: .NET, Conferences Tagged: software-development&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://pixel.wp.com/b.gif?host=shockbyte.net&amp;#038;blog=35489323&amp;#038;post=1239&amp;#038;subd=shockbyte&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot;/&gt;</description>
         <guid isPermaLink="false">http://shockbyte.net/?p=1239</guid>
         <pubDate>Thu, 06 Nov 2014 23:58:56 +0000</pubDate>
         <content:encoded><![CDATA[<p>Les dejo el video de mi charla sobre <a rel="nofollow" title="Roslyn" target="_blank" href="https://roslyn.codeplex.com/">Roslyn</a> en <a rel="nofollow" title=".NET Conf UY" target="_blank" href="http://netcont.uy">.NET Conf UY</a> , y una entrevista que mi hicieron.</p>
<p>De nuevo gracias a los organizadores y a todos lo que asistieron a este gran evento.</p>
<p class="p1">¡Y que se repita el próximo año!.</p>
<p><span class='embed-youtube' style='text-align:center;display:block;'></span></p> 
<p><span class='embed-youtube' style='text-align:center;display:block;'></span></p><br />Filed under: <a rel="nofollow" target="_blank" href='http://shockbyte.net/category/net/'>.NET</a>, <a rel="nofollow" target="_blank" href='http://shockbyte.net/category/conferences/'>Conferences</a> Tagged: <a rel="nofollow" target="_blank" href='http://shockbyte.net/tag/software-development/'>software-development</a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gocomments/shockbyte.wordpress.com/1239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/shockbyte.wordpress.com/1239/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/godelicious/shockbyte.wordpress.com/1239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/shockbyte.wordpress.com/1239/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gofacebook/shockbyte.wordpress.com/1239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/shockbyte.wordpress.com/1239/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gotwitter/shockbyte.wordpress.com/1239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/shockbyte.wordpress.com/1239/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gostumble/shockbyte.wordpress.com/1239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/shockbyte.wordpress.com/1239/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/godigg/shockbyte.wordpress.com/1239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/shockbyte.wordpress.com/1239/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/goreddit/shockbyte.wordpress.com/1239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/shockbyte.wordpress.com/1239/"/></a> <img alt="" border="0" src="http://pixel.wp.com/b.gif?host=shockbyte.net&#038;blog=35489323&#038;post=1239&#038;subd=shockbyte&#038;ref=&#038;feed=1" width="1" height="1"/>]]></content:encoded>
         <geo:lat>40.712784</geo:lat>
         <geo:long>-74.005941</geo:long>
         <media:content medium="image" url="http://shockbyte.files.wordpress.com/2014/08/net_conf_avatar.png?w=40">
            <media:title type="html">.NET Conf UY Logo</media:title>
         </media:content>
         <media:content medium="image" url="http://0.gravatar.com/avatar/f4b11145494d520bd1ec443075b11b4e?s=96&amp;amp;d=identicon&amp;amp;r=G">
            <media:title type="html">rfinochi</media:title>
         </media:content>
         <media:thumbnail url="http://shockbyte.files.wordpress.com/2014/08/net_conf_avatar.png?w=40"/>
      </item>
      <item>
         <title>.NET Conf UY</title>
         <link>http://shockbyte.net/2014/10/05/net-conf-uy/</link>
         <description>Ayer termino .NET Conf UY donde tuve el placer de exponer sobre Roslyn (el nuevo compilador de Visual Basic y C#). La conferencia fue genial, 4 días de Worshops y charlas, con oradores de primer nivel, un muy buen clima y muchos amigos. Los ejemplos de mi charla se pueden descargar desde aquí, y la presentación [&amp;#8230;]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://pixel.wp.com/b.gif?host=shockbyte.net&amp;#038;blog=35489323&amp;#038;post=1220&amp;#038;subd=shockbyte&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot;/&gt;</description>
         <guid isPermaLink="false">http://shockbyte.net/?p=1220</guid>
         <pubDate>Sun, 05 Oct 2014 20:36:16 +0000</pubDate>
         <content:encoded><![CDATA[<p>Ayer termino <a rel="nofollow" title=".NET Conf UY" target="_blank" href="http://netconf.uy">.NET Conf UY</a> donde tuve el placer de exponer sobre <a rel="nofollow" title="Roslyn" target="_blank" href="https://roslyn.codeplex.com/">Roslyn</a> (el nuevo compilador de <a rel="nofollow" title="Visual Basic .NET" target="_blank" href="http://en.wikipedia.org/wiki/Visual_Basic_.NET">Visual Basic</a> y <a rel="nofollow" title="C#" target="_blank" href="http://en.wikipedia.org/wiki/C_Sharp_(programming_language)">C#</a>).</p>
<p>La conferencia fue genial, 4 días de Worshops y charlas, con oradores de primer nivel, un muy buen clima y muchos amigos.</p>
<p>Los ejemplos de mi charla se pueden descargar desde <a rel="nofollow" title="Roslyn Samples" target="_blank" href="https://github.com/rfinochi/confsamples/tree/master/Roslyn">aquí</a>, y la presentación la pueden ver en ese mismo post.</p>
<p>Quiero agradecer especialmente a los organizadores por el excelente nivel de la conferencia.</p>
<p class="p1">¡Que se repita el próximo año!.</p>
 
<p><a rel="nofollow" target="_blank" href="http://shockbyte.files.wordpress.com/2014/10/dsc01504.jpg"><img class="aligncenter size-full wp-image-1219" src="http://shockbyte.files.wordpress.com/2014/10/dsc01504.jpg?w=604&#038;h=402" alt=".NET Conf UY" width="604" height="402"/></a></p>
<p><a rel="nofollow" target="_blank" href="http://shockbyte.files.wordpress.com/2014/10/dsc01509.jpg"><img class="aligncenter size-full wp-image-1221" src="http://shockbyte.files.wordpress.com/2014/10/dsc01509.jpg?w=604&#038;h=402" alt=".NET Conf UY" width="604" height="402"/></a></p>
<p><a rel="nofollow" target="_blank" href="http://shockbyte.files.wordpress.com/2014/10/dsc01525.jpg"><img class="aligncenter size-full wp-image-1222" src="http://shockbyte.files.wordpress.com/2014/10/dsc01525.jpg?w=604&#038;h=402" alt=".NET Conf UY" width="604" height="402"/></a></p>
<p><a rel="nofollow" target="_blank" href="https://shockbyte.files.wordpress.com/2014/10/10702165_1517079115198945_2330851182933432489_n.jpg"><img class="aligncenter size-full wp-image-1234" src="https://shockbyte.files.wordpress.com/2014/10/10702165_1517079115198945_2330851182933432489_n.jpg?w=604&#038;h=402" alt="10702165_1517079115198945_2330851182933432489_n" width="604" height="402"/></a></p>
<p><a rel="nofollow" target="_blank" href="https://shockbyte.files.wordpress.com/2014/10/10712760_1517079201865603_3296007890075403010_n.jpg"><img class="aligncenter size-full wp-image-1236" src="https://shockbyte.files.wordpress.com/2014/10/10712760_1517079201865603_3296007890075403010_n.jpg?w=604&#038;h=400" alt="10712760_1517079201865603_3296007890075403010_n" width="604" height="400"/></a></p>
<p><a rel="nofollow" target="_blank" href="https://shockbyte.files.wordpress.com/2014/10/10710703_1517079138532276_7137674611922260653_n.jpg"><img class="aligncenter size-full wp-image-1235" src="https://shockbyte.files.wordpress.com/2014/10/10710703_1517079138532276_7137674611922260653_n.jpg?w=604&#038;h=400" alt="10710703_1517079138532276_7137674611922260653_n" width="604" height="400"/></a></p><br />Filed under: <a rel="nofollow" target="_blank" href='http://shockbyte.net/category/net/'>.NET</a>, <a rel="nofollow" target="_blank" href='http://shockbyte.net/category/conferences/'>Conferences</a> Tagged: <a rel="nofollow" target="_blank" href='http://shockbyte.net/tag/software-development/'>software-development</a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gocomments/shockbyte.wordpress.com/1220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/shockbyte.wordpress.com/1220/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/godelicious/shockbyte.wordpress.com/1220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/shockbyte.wordpress.com/1220/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gofacebook/shockbyte.wordpress.com/1220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/shockbyte.wordpress.com/1220/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gotwitter/shockbyte.wordpress.com/1220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/shockbyte.wordpress.com/1220/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gostumble/shockbyte.wordpress.com/1220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/shockbyte.wordpress.com/1220/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/godigg/shockbyte.wordpress.com/1220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/shockbyte.wordpress.com/1220/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/goreddit/shockbyte.wordpress.com/1220/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/shockbyte.wordpress.com/1220/"/></a> <img alt="" border="0" src="http://pixel.wp.com/b.gif?host=shockbyte.net&#038;blog=35489323&#038;post=1220&#038;subd=shockbyte&#038;ref=&#038;feed=1" width="1" height="1"/>]]></content:encoded>
         <geo:lat>-34.901113</geo:lat>
         <geo:long>-56.164531</geo:long>
         <media:content medium="image" url="http://shockbyte.files.wordpress.com/2014/08/net_conf_avatar.png?w=40">
            <media:title type="html">.NET Conf UY Logo</media:title>
         </media:content>
         <media:content medium="image" url="http://0.gravatar.com/avatar/f4b11145494d520bd1ec443075b11b4e?s=96&amp;amp;d=identicon&amp;amp;r=G">
            <media:title type="html">rfinochi</media:title>
         </media:content>
         <media:content medium="image" url="http://shockbyte.files.wordpress.com/2014/10/dsc01504.jpg">
            <media:title type="html">.NET Conf UY</media:title>
         </media:content>
         <media:content medium="image" url="http://shockbyte.files.wordpress.com/2014/10/dsc01509.jpg">
            <media:title type="html">.NET Conf UY</media:title>
         </media:content>
         <media:content medium="image" url="http://shockbyte.files.wordpress.com/2014/10/dsc01525.jpg">
            <media:title type="html">.NET Conf UY</media:title>
         </media:content>
         <media:content medium="image" url="https://shockbyte.files.wordpress.com/2014/10/10702165_1517079115198945_2330851182933432489_n.jpg">
            <media:title type="html">10702165_1517079115198945_2330851182933432489_n</media:title>
         </media:content>
         <media:content medium="image" url="https://shockbyte.files.wordpress.com/2014/10/10712760_1517079201865603_3296007890075403010_n.jpg">
            <media:title type="html">10712760_1517079201865603_3296007890075403010_n</media:title>
         </media:content>
         <media:content medium="image" url="https://shockbyte.files.wordpress.com/2014/10/10710703_1517079138532276_7137674611922260653_n.jpg">
            <media:title type="html">10710703_1517079138532276_7137674611922260653_n</media:title>
         </media:content>
         <media:thumbnail url="http://shockbyte.files.wordpress.com/2014/08/net_conf_avatar.png?w=40"/>
      </item>
      <item>
         <title>Acceso directo al Package Manager Console</title>
         <link>http://www.developeando.com/2014/08/acceso-directo-al-package-manager.html</link>
         <description>Desde hace tiempo, al trabajar en proyectos .NET me es necesario tener a la mano&amp;nbsp;la &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.developeando.com/2011/03/nuget-manejador-de-paquetes.html&quot;&gt;Package Manager Console&lt;/a&gt; abierta (también conocida como &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.developeando.com/2011/03/nuget-manejador-de-paquetes.html&quot;&gt;Nuget&lt;/a&gt;). Ya sea para instalar paquetes en el proyecto(s)&amp;nbsp; o para correr comandos de los paquetes (sobre todo de &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://msdn.microsoft.com/en-us/data/ef.aspx&quot;&gt;Entity Framework&lt;/a&gt;, al trabajar con migraciones).&lt;br /&gt;﻿﻿﻿﻿Procuro, como muchos desarrolladores, no usar&amp;nbsp;&amp;nbsp;el ratón al momento de programar. Al&amp;nbsp;usar con Visual Studio,&amp;nbsp;&quot;todo&quot; se puede hacer solo usando&amp;nbsp;el teclado. Para abrir la consola de nuget no he&amp;nbsp;encontrado un acceso directo por defecto. Si quiero ver la consola, debo navegar por los menús con el teclado.&lt;br /&gt;&lt;br /&gt;﻿&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float:left;text-align:center;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align:center;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://1.bp.blogspot.com/-MeKeU002X14/VAESiIwh4_I/AAAAAAAAAwo/exqIoUix0gM/s1600/nuget-menu.png&quot; style=&quot;clear:left;margin-bottom:1em;margin-left:auto;margin-right:auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-MeKeU002X14/VAESiIwh4_I/AAAAAAAAAwo/exqIoUix0gM/s1600/nuget-menu.png&quot; height=&quot;198&quot; width=&quot;320&quot;/&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align:center;&quot;&gt;Presionar ALT + T, N, O. ¡Son muchas teclas!&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left:auto;margin-right:auto;text-align:left;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align:center;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://4.bp.blogspot.com/-PvlK7d8KgR8/VAETfYfClMI/AAAAAAAAAww/JVACUvY43-8/s1600/ctrltab.png&quot; style=&quot;clear:right;margin-bottom:1em;margin-left:auto;margin-right:auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-PvlK7d8KgR8/VAETfYfClMI/AAAAAAAAAww/JVACUvY43-8/s1600/ctrltab.png&quot; height=&quot;165&quot; width=&quot;200&quot;/&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align:center;&quot;&gt;Una vez abierto puedo usar CTRL + TAB y&amp;nbsp;con las flechas seleccionarlo, es tardado.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style=&quot;clear:both;text-align:center;&quot;&gt;&amp;nbsp;﻿﻿﻿﻿&lt;/div&gt;Afortunadamente VisualStudio nos permite crear nuestros propios accesos directos. Para la consola de nuget (Package Manager Console)&amp;nbsp;agrego CTRL + ALT&amp;nbsp;+ N como acceso directo. Así rápidamente puedo correr los comandos de las migraciones al trabajar con Entity Framework.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear:both;text-align:center;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://1.bp.blogspot.com/-ucShBpGTwpo/VAEVLNTMv1I/AAAAAAAAAw4/IzVA0wuYfLs/s1600/shortcut.png&quot; style=&quot;clear:right;float:right;margin-bottom:1em;margin-left:1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-ucShBpGTwpo/VAEVLNTMv1I/AAAAAAAAAw4/IzVA0wuYfLs/s1600/shortcut.png&quot; height=&quot;232&quot; width=&quot;400&quot;/&gt;&lt;/a&gt;&lt;/div&gt;Para agregar el acceso directo: en el menú &lt;em&gt;Tools&lt;/em&gt;,&amp;nbsp;abro &lt;em&gt;Options. &lt;/em&gt;Selecciono Keyboard en el menú de la izquierda, busco PackageManagerConsole, lo selecciono y presiono el nuevo acceso directo en el cuadro de texto. OK y listo. Ya tengo un acceso directo a la consola de nuget. &lt;br /&gt;&lt;br /&gt;Tener este shortcut&amp;nbsp;mejora mi&amp;nbsp;flujo de trabajo...&lt;br /&gt;</description>
         <author>Mario H. Cornejo</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-23470706.post-3492410365805750239</guid>
         <pubDate>Fri, 29 Aug 2014 17:26:00 +0000</pubDate>
         <media:thumbnail height="72" url="http://1.bp.blogspot.com/-MeKeU002X14/VAESiIwh4_I/AAAAAAAAAwo/exqIoUix0gM/s72-c/nuget-menu.png" width="72" xmlns:media="http://search.yahoo.com/mrss/"/>
      </item>
      <item>
         <title>Se viene .NET Conf UY</title>
         <link>http://shockbyte.net/2014/08/12/se-viene-net-conf-uy/</link>
         <description>El 3 y 4 de Octubre se llevara a cabo .NET Conf UY, en donde estaré dando un sesión sobre Roslyn y el futuro de C#. .NET Conf UY será EL evento de tecnologías .NET del año en Suramérica, contara con la participación de destacados speakers, workshops, espacios de networking, y mas. Lagash tiene el privilegio [&amp;#8230;]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://pixel.wp.com/b.gif?host=shockbyte.net&amp;#038;blog=35489323&amp;#038;post=1208&amp;#038;subd=shockbyte&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot;/&gt;</description>
         <guid isPermaLink="false">http://shockbyte.net/?p=1208</guid>
         <pubDate>Wed, 13 Aug 2014 02:42:46 +0000</pubDate>
         <content:encoded><![CDATA[<p>El 3 y 4 de Octubre se llevara a cabo <a rel="nofollow" title=".NET Conf UY" target="_blank" href="http://netconf.uy">.NET Conf UY</a>, en donde estaré dando un sesión sobre <a rel="nofollow" title="Roslyn" target="_blank" href="https://roslyn.codeplex.com/">Roslyn</a> y el futuro de <a rel="nofollow" title="C#" target="_blank" href="http://en.wikipedia.org/wiki/C_Sharp_(programming_language)">C#</a>.</p>
<p><a rel="nofollow" target="_blank" href="http://netconf.uy">.NET Conf UY</a> será EL evento de tecnologías <a rel="nofollow" title=".NET Framework" target="_blank" href="http://en.wikipedia.org/wiki/.NET_Framework">.NET</a> del año en <a rel="nofollow" title="Am&#xe9;rica del Sur" target="_blank" href="http://es.wikipedia.org/wiki/Am%C3%A9rica_del_Sur">Suramérica</a>, contara con la participación de destacados speakers, workshops, espacios de networking, y mas.</p>
<p><a rel="nofollow" title="Lagash Systems" target="_blank" href="http://www.lagash.com">Lagash</a> tiene el privilegio de ser uno de los patrocinadores y por ese motivo los organizadores nos dieron la posibilidad de regalar un descuento del 35% en el precio de la entrada (mas detalles en el Flyer).</p>
<p>¡Nos vemos en .NET Conf UY!</p>
<p><a rel="nofollow" title=".NET Conf UY" target="_blank" href="http://netconf.uy"><img class="aligncenter size-full wp-image-1207" src="http://shockbyte.files.wordpress.com/2014/08/net_conf_lagash_promo.png?w=604&#038;h=1049" alt=".NET Conf UY" width="604" height="1049"/></a></p><br />Filed under: <a rel="nofollow" target="_blank" href='http://shockbyte.net/category/net/'>.NET</a> Tagged: <a rel="nofollow" target="_blank" href='http://shockbyte.net/tag/lagash/'>lagash</a>, <a rel="nofollow" target="_blank" href='http://shockbyte.net/tag/software-development/'>software-development</a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gocomments/shockbyte.wordpress.com/1208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/shockbyte.wordpress.com/1208/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/godelicious/shockbyte.wordpress.com/1208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/shockbyte.wordpress.com/1208/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gofacebook/shockbyte.wordpress.com/1208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/shockbyte.wordpress.com/1208/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gotwitter/shockbyte.wordpress.com/1208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/shockbyte.wordpress.com/1208/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gostumble/shockbyte.wordpress.com/1208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/shockbyte.wordpress.com/1208/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/godigg/shockbyte.wordpress.com/1208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/shockbyte.wordpress.com/1208/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/goreddit/shockbyte.wordpress.com/1208/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/shockbyte.wordpress.com/1208/"/></a> <img alt="" border="0" src="http://pixel.wp.com/b.gif?host=shockbyte.net&#038;blog=35489323&#038;post=1208&#038;subd=shockbyte&#038;ref=&#038;feed=1" width="1" height="1"/>]]></content:encoded>
         <media:content medium="image" url="http://shockbyte.files.wordpress.com/2014/08/net_conf_avatar.png?w=40">
            <media:title type="html">.NET Conf UY Logo</media:title>
         </media:content>
         <media:content medium="image" url="http://0.gravatar.com/avatar/f4b11145494d520bd1ec443075b11b4e?s=96&amp;amp;d=identicon&amp;amp;r=G">
            <media:title type="html">rfinochi</media:title>
         </media:content>
         <media:content medium="image" url="http://shockbyte.files.wordpress.com/2014/08/net_conf_lagash_promo.png">
            <media:title type="html">.NET Conf UY</media:title>
         </media:content>
         <media:thumbnail url="http://shockbyte.files.wordpress.com/2014/08/net_conf_avatar.png?w=40"/>
      </item>
      <item>
         <title>Lo nuevo en la plataforma de desarrollo Microsoft</title>
         <link>http://shockbyte.net/2014/06/29/lo-nuevo-en-la-plataforma-de-desarrollo-microsoft/</link>
         <description>La semana pasada junto con Mariano Sanchez, y Marcos Torres dimos unas charlas sobre lo nuevo en la plataforma de desarrollo Microsoft durante una jornada que organizo el MUG. Pueden descargar el código desde aquí y aquí, y las presentaciones mas abajo. ¡Gracias a todos los que asistieron!Filed under: .NET, ASP.NET Tagged: ASP.NET, software-development&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://pixel.wp.com/b.gif?host=shockbyte.net&amp;#038;blog=35489323&amp;#038;post=1204&amp;#038;subd=shockbyte&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot;/&gt;</description>
         <guid isPermaLink="false">http://shockbyte.net/?p=1204</guid>
         <pubDate>Sun, 29 Jun 2014 21:03:08 +0000</pubDate>
         <content:encoded><![CDATA[<p>La semana pasada junto con <a rel="nofollow" target="_blank" href="http://weblogs.asp.net/marianos/">Mariano Sanchez</a>, y Marcos Torres dimos unas charlas sobre lo nuevo en la plataforma de desarrollo Microsoft durante una jornada que organizo el <a rel="nofollow" title="MUG" target="_blank" href="http://www.mug.org.ar">MUG</a>.</p>
<p>Pueden descargar el código desde <a rel="nofollow" target="_blank" href="https://github.com/marcote/Roslyn-demo-code">aquí</a> y <a rel="nofollow" target="_blank" href="https://github.com/rfinochi/confsamples/tree/master/ASP.NET/vNext">aquí</a>, y las presentaciones mas abajo.</p>
<p>¡Gracias a todos los que asistieron!</p>
<br />Filed under: <a rel="nofollow" target="_blank" href='http://shockbyte.net/category/net/'>.NET</a>, <a rel="nofollow" target="_blank" href='http://shockbyte.net/category/asp-net/'>ASP.NET</a> Tagged: <a rel="nofollow" target="_blank" href='http://shockbyte.net/tag/asp-net/'>ASP.NET</a>, <a rel="nofollow" target="_blank" href='http://shockbyte.net/tag/software-development/'>software-development</a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gocomments/shockbyte.wordpress.com/1204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/shockbyte.wordpress.com/1204/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/godelicious/shockbyte.wordpress.com/1204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/shockbyte.wordpress.com/1204/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gofacebook/shockbyte.wordpress.com/1204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/shockbyte.wordpress.com/1204/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gotwitter/shockbyte.wordpress.com/1204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/shockbyte.wordpress.com/1204/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gostumble/shockbyte.wordpress.com/1204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/shockbyte.wordpress.com/1204/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/godigg/shockbyte.wordpress.com/1204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/shockbyte.wordpress.com/1204/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/goreddit/shockbyte.wordpress.com/1204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/shockbyte.wordpress.com/1204/"/></a> <img alt="" border="0" src="http://pixel.wp.com/b.gif?host=shockbyte.net&#038;blog=35489323&#038;post=1204&#038;subd=shockbyte&#038;ref=&#038;feed=1" width="1" height="1"/>]]></content:encoded>
         <media:content medium="image" url="http://0.gravatar.com/avatar/f4b11145494d520bd1ec443075b11b4e?s=96&amp;amp;d=identicon&amp;amp;r=G">
            <media:title type="html">rfinochi</media:title>
         </media:content>
      </item>
      <item>
         <title>Mejor en persona</title>
         <link>http://www.developeando.com/2014/03/mejor-en-persona.html</link>
         <description>&lt;p&gt;En varias ocasiones al estar haciendo algo de difusión sobre las reuniones de los grupos de usuarios (en particular con &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://tijuanajs.org/&quot;&gt;tijuana.js&lt;/a&gt;). Me han sugerido que transmitamos o grabemos las presentaciones para poder verlas sin asistir a la reunión. He considerado esa opción aunque no le he dado seguimiento. Principalmente porque no lo veo como una prioridad para la organización del grupo. Incluso he llegado a pensar que tal vez no sea buena idea.  &lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://lh3.ggpht.com/-SsD5FV1oAKU/UyneqnAfsoI/AAAAAAAAAus/fmfkoIx6x70/s1600-h/1925179_675272489185996_1622380015_n%25255B3%25255D.jpg&quot;&gt;&lt;img title=&quot;1925179_675272489185996_1622380015_n&quot; style=&quot;border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:none;padding-top:0px;padding-left:0px;margin-left:auto;display:block;padding-right:0px;border-top-width:0px;margin-right:auto;&quot; border=&quot;0&quot; alt=&quot;1925179_675272489185996_1622380015_n&quot; src=&quot;http://lh5.ggpht.com/-HAu-eo7mSj4/Uynes1HsXyI/AAAAAAAAAu0/JuGC_w6p6oo/1925179_675272489185996_1622380015_n_thumb%25255B1%25255D.jpg?imgmax=800&quot; width=&quot;676&quot; height=&quot;382&quot;&gt;&lt;/a&gt;&amp;nbsp; &lt;p&gt;Para mí, la meta del grupo es ser un lugar donde personas con un interés común (JavaScript en el caso de tijuana.js) se reúnan para compartir conocimiento, ideas, experiencias, etcétera; es decir, donde se puede hablar de eso que tienen en común. También, es un espacio para conocer a &quot;colegas&quot; de la región.  &lt;p&gt;Como parte de esa meta, uno de los objetivos del grupo es tener una &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://tijuanajs.org/meetings&quot;&gt;presentación de calidad cada mes&lt;/a&gt; para que tanto asistentes como presentador puedan aprender, comentar, discutir y estar al tanto de los temas. Tomando esto en cuenta se podría pensar que al grabar las sesiones se beneficia al grupo porque podría lograr que el conocimiento se compartiera con más gente. Aunque se cumpliría con el objetivo quizás eso no contribuye a que se cumpla con la meta del grupo.&amp;nbsp; Las presentaciones son un medio, no un fin, son para tener algo de que platicar en la reunión. Sin asistentes no habría razón para la existencia del grupo. En cuanto al material visto en las reuniones, si de verdad te es importante tenerlo, es fácil encontrarlo en línea. Puede ser en el blog del mismo presentador o en sitios similares.  &lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://lh6.ggpht.com/-sbTJMWsEMO0/Uynet449IAI/AAAAAAAAAu8/y67d3rB5Wws/s1600-h/1656384_660825083964070_1827803530_n%25255B3%25255D.jpg&quot;&gt;&lt;img title=&quot;1656384_660825083964070_1827803530_n&quot; style=&quot;border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:none;padding-top:0px;padding-left:0px;margin-left:auto;display:block;padding-right:0px;border-top-width:0px;margin-right:auto;&quot; border=&quot;0&quot; alt=&quot;1656384_660825083964070_1827803530_n&quot; src=&quot;http://lh6.ggpht.com/-shacurRnRN8/UyneulAmNwI/AAAAAAAAAvE/se5wwqtGPiM/1656384_660825083964070_1827803530_n_thumb%25255B1%25255D.jpg?imgmax=800&quot; width=&quot;530&quot; height=&quot;300&quot;&gt;&lt;/a&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;En conclusión, no es prioridad grabar las presentaciones de los grupos porque considero que no ayuda a la meta: reunirnos, conocer “colegas” de la región, comer pizza, tomar sodas y hablar de tecnología cada mes.&lt;/p&gt;</description>
         <author>Mario H. Cornejo</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-23470706.post-1058473903436985642</guid>
         <pubDate>Wed, 19 Mar 2014 11:15:00 +0000</pubDate>
         <media:thumbnail height="72" url="http://lh5.ggpht.com/-HAu-eo7mSj4/Uynes1HsXyI/AAAAAAAAAu0/JuGC_w6p6oo/s72-c/1925179_675272489185996_1622380015_n_thumb%25255B1%25255D.jpg?imgmax=800" width="72" xmlns:media="http://search.yahoo.com/mrss/"/>
      </item>
      <item>
         <title>Jornada sobre ASP.NET MVC Intermedio y Avanzado</title>
         <link>http://shockbyte.net/2014/02/27/jornada-sobre-asp-net-mvc-intermedio-y-avanzado/</link>
         <description>Hoy con Mariano Sanchez para estuvimos dando en el MUG una jornada sobre temas de ASP.NET MVC intermedios y avanzados. Aquí pueden descargar el material. ¡Gracias a todos los que asistieron, y al MUG por organizarlo!Filed under: ASP.NET, Conferences Tagged: software-development&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://pixel.wp.com/b.gif?host=shockbyte.net&amp;#038;blog=35489323&amp;#038;post=1199&amp;#038;subd=shockbyte&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot;/&gt;</description>
         <guid isPermaLink="false">http://shockbyte.net/?p=1199</guid>
         <pubDate>Thu, 27 Feb 2014 16:12:39 +0000</pubDate>
         <content:encoded><![CDATA[<p>Hoy con <a rel="nofollow" target="_blank" href="http://weblogs.asp.net/marianos/">Mariano Sanchez</a> para estuvimos dando en el <a rel="nofollow" target="_blank" href="http://www.mug.org.ar">MUG</a> una jornada sobre temas de <a rel="nofollow" target="_blank" href="http://www.asp.net/mvc">ASP.NET MVC</a> intermedios y avanzados.</p>
<p><a rel="nofollow" target="_blank" href="http://prototypes.shockbyte.com.ar/misc/MVC_Avanzado.zip">Aquí</a> pueden descargar el material.</p>
<p>¡Gracias a todos los que asistieron, y al <a rel="nofollow" target="_blank" href="http://www.mug.org.ar">MUG</a> por organizarlo!</p><br />Filed under: <a rel="nofollow" target="_blank" href='http://shockbyte.net/category/asp-net/'>ASP.NET</a>, <a rel="nofollow" target="_blank" href='http://shockbyte.net/category/conferences/'>Conferences</a> Tagged: <a rel="nofollow" target="_blank" href='http://shockbyte.net/tag/software-development/'>software-development</a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gocomments/shockbyte.wordpress.com/1199/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/shockbyte.wordpress.com/1199/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/godelicious/shockbyte.wordpress.com/1199/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/shockbyte.wordpress.com/1199/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gofacebook/shockbyte.wordpress.com/1199/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/shockbyte.wordpress.com/1199/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gotwitter/shockbyte.wordpress.com/1199/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/shockbyte.wordpress.com/1199/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/gostumble/shockbyte.wordpress.com/1199/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/shockbyte.wordpress.com/1199/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/godigg/shockbyte.wordpress.com/1199/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/shockbyte.wordpress.com/1199/"/></a> <a rel="nofollow" target="_blank" href="http://feeds.wordpress.com/1.0/goreddit/shockbyte.wordpress.com/1199/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/shockbyte.wordpress.com/1199/"/></a> <img alt="" border="0" src="http://pixel.wp.com/b.gif?host=shockbyte.net&#038;blog=35489323&#038;post=1199&#038;subd=shockbyte&#038;ref=&#038;feed=1" width="1" height="1"/>]]></content:encoded>
         <geo:lat>-34.603723</geo:lat>
         <geo:long>-58.381593</geo:long>
         <media:content medium="image" url="http://0.gravatar.com/avatar/f4b11145494d520bd1ec443075b11b4e?s=96&amp;amp;d=identicon&amp;amp;r=G">
            <media:title type="html">rfinochi</media:title>
         </media:content>
      </item>
      <item>
         <title>Trabajar desde casa - interrupciones</title>
         <link>http://www.developeando.com/2013/08/trabajar-desde-casa-interrupciones.html</link>
         <description>&lt;p&gt;Una de las ventajas de dedicarme al desarrollo de software es que se puede hacer (casi) desde donde sea y (en la mayoría de los casos) a cualquier hora. Lo único que se necesita es &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.developeando.com/2012/01/programando-en-laptop.html&quot;&gt;una computadora&lt;/a&gt; y &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.developeando.com/2011/06/motivacion-diaria.html&quot;&gt;motivación&lt;/a&gt;.&lt;img title=&quot;Domingo de delphi por la tarde&quot; style=&quot;border-top:0px;border-right:0px;background-image:none;border-bottom:0px;float:right;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;&quot; border=&quot;0&quot; alt=&quot;Programando en laptop&quot; align=&quot;right&quot; src=&quot;http://lh3.ggpht.com/-ZerEglA_Y8s/UgPoBPJr3mI/AAAAAAAAAts/-gsLdmYRe9g/456419_2655405758932_773025117_o%25255B4%25255D.jpg?imgmax=800&quot; width=&quot;244&quot; height=&quot;184&quot;&gt;&lt;/p&gt; &lt;p&gt;La mayor parte del tiempo que llevo como desarrollador lo he hecho desde casa y hasta el momento me ha funcionado bien. He escuchado comentarios de personas donde dicen que ellos no podrían trabajar desde casa. Una de las razones mencionadas son las constantes interrupciones. Si bien es cierto que en la oficina también ocurren, en casa pueden llegar a ser más estresantes. La diferencia al estar en casa es el tipo de interrupción, la persona que nos interrumpe y sobre todo nuestra actitud al atenderla o posponerla.&lt;/p&gt; &lt;p&gt;Cuando he trabajado desde la oficina de la empresa, la mayoría de las interrupciones eran por compañeros de trabajo, consultas de trabajo, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.developeando.com/2013/01/como-vas.html&quot;&gt;preguntas del cliente&lt;/a&gt;, invitaciones a ir por un café o simplemente platicar. No se sienten como interrupciones, a menos que tenga algo urgente que entregar, se sienten más bien como actividades que forman parte del día laboral. Al estar en la oficina no siento la obligación de estar todas las horas de trabajo pegado en la computadora produciendo código, el simple hecho de estar presente en la oficina me hace sentir que estoy trabajando. Además mi mente sigue de alguna forma en el mismo contexto. Puedo estar platicando con mis compañeros de oficina de cosas relacionadas con el trabajo o con lo que ocurre en la oficina.&lt;/p&gt; &lt;p&gt;Al estar trabajando en casa las interrupciones son distintas. Hubo un tiempo en que mi esposa no trabajaba, y era sólo yo el que trabajaba desde casa (hoy ambos trabajamos desde casa). Toda mi comunicación con la oficina era a través de la computadora (chat, email, etc.). Cuando mi esposa me interrumpía, para preguntarme cualquier cosa relacionada con la casa, era algo estresante. Incluso pasaba con preguntas sencillas que no me tomaban más de unos segundos contestar. Ese “estrés” no ocurría cuando trabajaba desde la oficina de la empresa con las interrupciones ¿por qué?.&lt;/p&gt; &lt;p&gt;Creo que esto se debe a que las interrupciones en casa son distintas porque en lugar de ser un compañero de trabajo quien te habla, ahora es tu familia (hijo, esposa, pariente) quien te interrumpe y eso saca a tu mente del ambiente laboral. Al principio esto puede llegar a ser más estresante que las interrupciones en la oficina por el cambio de contexto. Dejas de pensar en lo que pasa en el trabajo para pensar en lo que pasa en la casa. Cambias de unos pendientes a otros y parece que tienes más cosas en que pensar (lo del trabajo y lo de la casa). Además al hablar de cosas de la casa, en la casa, sentía la urgencia de regresar al trabajo, sentía la necesidad de estar las ocho horas pegado al monitor escribiendo código.&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://lh5.ggpht.com/-DvfBwdODbY4/UgPoCWM8XRI/AAAAAAAAAtc/SmVdjD7c6qE/s1600-h/WP_20130808_001%25255B4%25255D.jpg&quot;&gt;&lt;img title=&quot;Oficina en casa&quot; style=&quot;border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:none;padding-top:0px;padding-left:0px;margin-left:auto;display:block;padding-right:0px;border-top-width:0px;margin-right:auto;&quot; border=&quot;0&quot; alt=&quot;Oficina en casa&quot; src=&quot;http://lh6.ggpht.com/-avpG92LDJ7A/UgPoDf0N0iI/AAAAAAAAAtk/yiqc06SIeUk/WP_20130808_001_thumb%25255B1%25255D.jpg?imgmax=800&quot; width=&quot;494&quot; height=&quot;290&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Una forma de lograr una separación de contextos fue crear una “oficina” en casa. Utilizar un lugar en la casa donde la familia pueda ver que estas trabajando. Y por lo tanto saber que no estas disponible en ese momento, a menos que sea realmente necesario. También fue necesario un cambio de actitud de mi parte y darme tiempo para salir de ese cuarto de vez en cuando en horas de trabajo. Ya sea por agua o café y platicar un poco con la familia como lo haría con mis compañeros de oficina. No tenia que fingir que no estaba en casa para evitar interrupciones, al contrario, aprovechar que estaba en casa para estar en casa. Con esto la familia sabe que sí estas y que no tiene que interrumpirte en cuanto algo se ofrece porque seguramente no tardaras en salir y si no sales es porque estas muy ocupado. Para esto puede ayudar &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.pomodorotechnique.com/&quot;&gt;la técnica pomodoro&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Creo en conclusión que algo que ayuda a lidiar con las interrupciones, cuando se trabaja desde casa, es que en lugar de tratar de impedir las interrupciones en el día las incluyo como parte del día laboral. Cada cierto tiempo salgo de la “oficina”, mi mente se distrae del trabajo, atiendo las posibles interrupciones en ese momento cuando ya no estoy pensando en trabajo. Estas “interrupciones programadas&quot; evitan el estrés por el cambio continuo de contextos. Al regresar a la computadora mi mente esta lista para empezar otro periodo de trabajo continuo, sin interrupciones sorpresa. &lt;/p&gt;</description>
         <author>Mario H. Cornejo</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-23470706.post-4137974299427892196</guid>
         <pubDate>Thu, 08 Aug 2013 11:48:00 +0000</pubDate>
         <media:thumbnail height="72" url="http://lh3.ggpht.com/-ZerEglA_Y8s/UgPoBPJr3mI/AAAAAAAAAts/-gsLdmYRe9g/s72-c/456419_2655405758932_773025117_o%25255B4%25255D.jpg?imgmax=800" width="72" xmlns:media="http://search.yahoo.com/mrss/"/>
      </item>
      <item>
         <title>Reunión inter-comunidades Julio 2013</title>
         <link>http://www.developeando.com/2013/08/reunion-inter-comunidades-julio-2013.html</link>
         <description>&lt;p&gt;El pasado sábado 27 de Julio las comunidades tecnológicas de Tijuana (grupos de usuario) realizaron su reunión mensual el mismo día como parte de un mismo evento. Cada grupo contó con una hora para realizar su presentación. Uno de los objetivos del evento fue, para quienes no pueden asistir a todos los grupos cada mes, en esta ocasión pudieran asistir a las presentaciones de los otros grupos. En mi caso, cada mes asisto a la reunión de &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://tijuanajs.org&quot;&gt;tijuana.js&lt;/a&gt; y trato de asistir a la de &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://tjnet.org&quot;&gt;Tijuana .Net&lt;/a&gt;. Quisiera asistir a las demás; pero no puedo dedicar tantos días al mes para vistas a user groups. El hecho de que todos se reunieran el mismo día hizo que pudiera reservar el día entero para dedicarlo a las comunidades y así fue que pude asistir a reuniones de grupos a los que no había podido asistir antes.&lt;/p&gt; &lt;p&gt;El evento se realizó en las instalaciones del &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://bitcenter.mx/&quot;&gt;bitcenter&lt;/a&gt;, el cual se a vuelto “el lugar de reunión de las comunidades” (gracias a &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;https://www.facebook.com/ricardodrosales&quot;&gt;Ricardo Rosales&lt;/a&gt; que nos ayuda con eso). Inició a las 8 de la mañana y a tijuana.js le tocó la primera presentación. Pensé que por ser los primeros (a las 8:30 am) iba a estar casi sin asistentes; pero la realidad fue que ya había gente, quizás más que en una reunión mensual por separado.&lt;/p&gt; &lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://lh6.ggpht.com/-2eheyz4xPS4/UgEt1u6ePmI/AAAAAAAAAs0/HbeOU_NSUtw/s1600-h/WP_20130727_0095.jpg&quot;&gt;&lt;img title=&quot;WP_20130727_009&quot; style=&quot;border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:none;padding-top:0px;padding-left:0px;margin-left:auto;display:block;padding-right:0px;border-top-width:0px;margin-right:auto;&quot; border=&quot;0&quot; alt=&quot;WP_20130727_009&quot; src=&quot;http://lh5.ggpht.com/-_naFfwAeS3M/UgEt2fxyGFI/AAAAAAAAAs8/9gL1zuOzYrQ/WP_20130727_009_thumb2.jpg?imgmax=800&quot; width=&quot;500&quot; height=&quot;300&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p align=&quot;center&quot;&gt;(&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://tijuanajs.github.io/vanilla/&quot;&gt;Presentación &quot;Plain old Vanilla JavaScript&quot;&lt;/a&gt; por &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;https://twitter.com/yvesmancera&quot;&gt;Yves Mancera&lt;/a&gt;)&lt;/p&gt; &lt;p&gt;El programa fue:&lt;/p&gt; &lt;p&gt;8:30 &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;https://www.facebook.com/tijuanajs?ref=hl&amp;amp;directed_target_id=0&quot;&gt;tijuana.js&lt;/a&gt; : &quot;Plain old Vanilla JavaScript&quot; por Yves Mancera&lt;br&gt;9:30 &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;https://www.facebook.com/RubyTij?directed_target_id=0&quot;&gt;RubyTij&lt;/a&gt; : ¿Cómo pensar en BDD? por Javier Murillo&lt;br&gt;10:30 &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;https://www.facebook.com/GDGTijuana/events?directed_target_id=0&quot;&gt;Google Developer Group Tijuana&lt;/a&gt; : Instalar Ubuntu en una Chromebook&lt;br&gt;11:30 &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;https://www.facebook.com/groups/gultij/?directed_target_id=0&quot;&gt;gultij.org&lt;/a&gt; : Introducción a Vagrant&lt;br&gt;--- descanso de 12:30 a 14:30 ---&lt;br&gt;14:30 &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;https://www.facebook.com/groups/491201077566739/?directed_target_id=0&quot;&gt;DefConGroup Tijuana&lt;/a&gt; : Intervención de llamadas VOIP&lt;br&gt;15:30 &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;https://www.facebook.com/groups/31167573201/?directed_target_id=0&quot;&gt;Comunidad .NET Tijuana&lt;/a&gt; : Xamarin (desarrollo multiplataforma con .NET)  &lt;p&gt;Conforme pasó el tiempo fue llegando más gente (después de esa foto fuimos por 20 sillas más). Al final se cumplió uno de los objetivos. Que las personas pudieran conocer a los otros grupos a los que por lo general no pueden asistir. Eso fue algo que me gustó porque todos somos una sola comunidad tecnológica, sin importar las herramientas especificas que a veces utilizamos. Todos podemos aprender de todos.  &lt;p&gt;Con este evento pude darme cuenta que hay más gente (además de quienes participan mes con mes) que les gustaría asistir a las reuniones de la comunidad; pero que por motivos de horario y/o distancia (había gente fuera de Tijuana) no logran asistir. Este tipo de eventos les da la posibilidad de participar en la comunidad. Algo a tomar en cuenta es que al ser un evento que reúne a varios grupos, es difícil tratar temas de nivel intermedio o avanzado. Por lo que se llegó a la conclusión de seguir con las reuniones mensuales por separado y una vez cada ciertos meses realizar la reunión en conjunto.&amp;nbsp; &lt;p&gt;Aunque la mayoría de la promoción se realizó con el &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;https://www.facebook.com/events/580240782020130/&quot;&gt;evento en Facebook&lt;/a&gt;, las fotos del evento se publicaron en &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;https://plus.google.com/events/gallery/ct2bcs68j0rp6vc5tnscb1alj7g&quot;&gt;Google+&lt;/a&gt;. Échenles un vistazo y nos vemos en el siguiente inter-comunidades Tijuana.&lt;/p&gt;</description>
         <author>Mario H. Cornejo</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-23470706.post-145387420056286591</guid>
         <pubDate>Tue, 06 Aug 2013 10:09:00 +0000</pubDate>
         <media:thumbnail height="72" url="http://lh5.ggpht.com/-_naFfwAeS3M/UgEt2fxyGFI/AAAAAAAAAs8/9gL1zuOzYrQ/s72-c/WP_20130727_009_thumb2.jpg?imgmax=800" width="72" xmlns:media="http://search.yahoo.com/mrss/"/>
      </item>
      <item>
         <title>Sobre arquitectura en capas – parte 2</title>
         <link>http://www.developeando.com/2013/08/sobre-arquitectura-en-capas-parte-2.html</link>
         <description>&lt;style type=&quot;text/css&quot;&gt;.csharpcode, &lt;/style&gt;&lt;p&gt;Desde hace algún tiempo, cuando un proyecto necesita acceder a una base de datos relacional, lo común es utilizar un &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://es.wikipedia.org/wiki/Mapeo_objeto-relacional&quot;&gt;ORM&lt;/a&gt;. El &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://es.wikipedia.org/wiki/Mapeo_objeto-relacional&quot;&gt;ORM&lt;/a&gt; se encarga de realizar la conversión desde objetos/colecciones en el lenguaje de &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos&quot;&gt;OOP&lt;/a&gt; a registros/tablas en el &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://es.wikipedia.org/wiki/Modelo_relacional&quot;&gt;modelo relacional&lt;/a&gt; y viceversa. En otros proyectos se ha optado incluso por usar una base de datos no relacional (&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://es.wikipedia.org/wiki/NoSQL&quot;&gt;NoSQL&lt;/a&gt;), donde no es siquiera necesario el mapeo entre clases y tablas. El uso de estas herramientas (ya sea ORM o &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://es.wikipedia.org/wiki/NoSQL&quot;&gt;NoSQL&lt;/a&gt;) nos ayuda a trabajar en un nivel más alto de abstracción. Ya no vemos SQL directamente, ahora trabajamos con objetos (entidades) como nuestros datos.&lt;/p&gt; &lt;p&gt;Si seguimos con el ejemplo del &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.developeando.com/2013/07/sobre-arquitectura-en-capas-parte-1.html&quot;&gt;artículo anterior&lt;/a&gt;, donde se nos pide que un usuario pueda ingresar a un sistema usando su nombre y contraseña. Al usar herramientas como &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://entityframework.codeplex.com/&quot;&gt;EntityFramework&lt;/a&gt; (un &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://es.wikipedia.org/wiki/Mapeo_objeto-relacional&quot;&gt;ORM&lt;/a&gt;) podemos cambiar nuestra capa de acceso a datos.La cual pudiera usar EF para realizar las consultas y actualizaciones. De esta forma no necesitamos escribir SQL y seguimos con nuestra misma arquitectura en 3 capas. Quedando el código algo así:&lt;/p&gt;&lt;pre style=&quot;overflow:auto;border-top:#cecece 1px solid;border-right:#cecece 1px solid;border-bottom:#cecece 1px solid;padding-bottom:5px;padding-top:5px;padding-left:5px;min-height:40px;border-left:#cecece 1px solid;padding-right:5px;width:650px;background-color:#fbfbfb;&quot;&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;&lt;span style=&quot;color:#0000ff;&quot;&gt;public&lt;/span&gt; User FindByUsername(&lt;span style=&quot;color:#0000ff;&quot;&gt;string&lt;/span&gt; username)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;{&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;  var db = &lt;span style=&quot;color:#0000ff;&quot;&gt;new&lt;/span&gt; MySampleAppContext();&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;  &lt;span style=&quot;color:#0000ff;&quot;&gt;return&lt;/span&gt; db.Users.SingleOrDefault(user =&amp;gt; user.Username == username);&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;}&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;Pero nuestro objetivo no es tener 3 capas, ese era solo un medio para un fin. Recordemos para qué tenemos nuestra capa de acceso a datos. La capa de acceso a datos existe para que la capa de reglas de negocios no tenga que ”pensar” en detalles de tablas, registros y SQL. Es la misma razón por la que existen los ORMs, para abstraer el acceso a datos. Entonces… nuestra capa de acceso a datos es una abstracción del ORM que a su vez es una abstracción del acceso a datos, una abstracción redundante. Debemos de &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://ayende.com/blog/153889/limit-your-abstractions-analyzing-a-ddd-application&quot;&gt;limitar nuestras abstracciones&lt;/a&gt; por lo que podemos utilizar el ORM directamente en nuestra capa de negocio. De ese modo podemos aprovechar mejor las características de la herramienta y nos ahorramos el trabajo de mantener una capa ya innecesaria. Comparemos el código de la capa de negocios con y sin una capa de acceso a datos.&lt;/p&gt;&lt;pre style=&quot;overflow:auto;border-top:#cecece 1px solid;border-right:#cecece 1px solid;border-bottom:#cecece 1px solid;padding-bottom:5px;padding-top:5px;padding-left:5px;min-height:40px;border-left:#cecece 1px solid;padding-right:5px;width:650px;background-color:#fbfbfb;&quot;&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;&lt;span style=&quot;color:#008000;&quot;&gt;//con capa de acceso a datos&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;&lt;span style=&quot;color:#0000ff;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color:#0000ff;&quot;&gt;bool&lt;/span&gt; ValidateUser(&lt;span style=&quot;color:#0000ff;&quot;&gt;string&lt;/span&gt; username, &lt;span style=&quot;color:#0000ff;&quot;&gt;string&lt;/span&gt; password)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;{&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#ffff00;&quot;&gt;    var userRepository =  &lt;span style=&quot;color:#0000ff;&quot;&gt;new&lt;/span&gt; Dal.UserRepository();&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#ffff00;&quot;&gt;    var user = userRepository.FindByUsername(username);&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;    &lt;span style=&quot;color:#0000ff;&quot;&gt;if&lt;/span&gt; (user == &lt;span style=&quot;color:#0000ff;&quot;&gt;null&lt;/span&gt;) &lt;span style=&quot;color:#0000ff;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color:#0000ff;&quot;&gt;false&lt;/span&gt;;&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;    var cryptoService = &lt;span style=&quot;color:#0000ff;&quot;&gt;new&lt;/span&gt; CryptoService();&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;    &lt;span style=&quot;color:#0000ff;&quot;&gt;return&lt;/span&gt; cryptoService.ComputeHash(password) == username.Password;&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;}&lt;/pre&gt;&lt;/pre&gt;&lt;pre style=&quot;overflow:auto;border-top:#cecece 1px solid;border-right:#cecece 1px solid;border-bottom:#cecece 1px solid;padding-bottom:5px;padding-top:5px;padding-left:5px;min-height:40px;border-left:#cecece 1px solid;padding-right:5px;width:650px;background-color:#fbfbfb;&quot;&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;&lt;span style=&quot;color:#008000;&quot;&gt;//Usando ORM en la capa de negocios&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;&lt;span style=&quot;color:#0000ff;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color:#0000ff;&quot;&gt;bool&lt;/span&gt; ValidateUser(&lt;span style=&quot;color:#0000ff;&quot;&gt;string&lt;/span&gt; username, &lt;span style=&quot;color:#0000ff;&quot;&gt;string&lt;/span&gt; password)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;{&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#ffff00;&quot;&gt;    var db =  &lt;span style=&quot;color:#0000ff;&quot;&gt;new&lt;/span&gt; MySampleAppContext();&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#ffff00;&quot;&gt;    var user = db.Users.SingleOrDefault(x =&amp;gt; x.Username == username);&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;    &lt;span style=&quot;color:#0000ff;&quot;&gt;if&lt;/span&gt; (user == &lt;span style=&quot;color:#0000ff;&quot;&gt;null&lt;/span&gt;) &lt;span style=&quot;color:#0000ff;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color:#0000ff;&quot;&gt;false&lt;/span&gt;;&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;    var cryptoService = &lt;span style=&quot;color:#0000ff;&quot;&gt;new&lt;/span&gt; CryptoService();&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;    &lt;span style=&quot;color:#0000ff;&quot;&gt;return&lt;/span&gt; cryptoService.ComputeHash(password) == username.Password;&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;}&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;Podemos ver que el código es muy similar; pero usando EF ya nos ahorramos una capa (un proyecto). Podemos hacer uso de características de EF desde nuestra capa de reglas de negocio (como &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Lazy_loading&quot;&gt;lazy loading&lt;/a&gt;, entre otras) sin tener que tratar de replicarlas en nuestra capa de acceso a datos.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;En conclusión podemos decir que ahora, con el uso de herramientas como ORM (o una base de datos no relacional), ya no es necesario crear una capa de acceso a datos porque las herramientas cumplen con el propósito que tenia esa capa. La capa de acceso a datos tenia sentido cuando escribíamos SQL directamente en nuestra aplicación; pero ya no.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Artículo relacionado: &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.developeando.com/2013/07/sobre-arquitectura-en-capas-parte-1.html&quot;&gt;Sobre arquitectura en capas – parte 1&lt;/a&gt;&lt;/p&gt;</description>
         <author>Mario H. Cornejo</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-23470706.post-8380333347193678756</guid>
         <pubDate>Fri, 02 Aug 2013 13:33:00 +0000</pubDate>
      </item>
      <item>
         <title>Octavo Super Happy Dev House Tijuana</title>
         <link>http://www.developeando.com/2013/07/octavo-supper-happy-dev-house.html</link>
         <description>&lt;p&gt;El pasado Sábado 27 de Abril asistí al octavo &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://shdhtj.org&quot;&gt;SHDHTJ&lt;/a&gt; en las instalaciones de &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://mind-hub.com/&quot;&gt;MindHub&lt;/a&gt;. Inicio a las 9 am aunque hubo quienes llegaron desde antes. Después de que llegó algo de gente se hizo una presentación sencilla por parte de &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://twitter.com/gabo&quot;&gt;Gabriel Flores&lt;/a&gt; sobre de lo que se trata el evento. Hubo caras nuevas y algunas ya conocidas.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Una buena noticia que nos dieron al iniciar el evento fue que &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://mind-hub.com/&quot;&gt;MindHub&lt;/a&gt;,&amp;nbsp; por el gusto de haberlos elegido como sede del evento (sus palabras), nos quisieron regalar las pizzas para los asistentes. Lo cual fue un buen detalle que fue bien recibido. Además los asistentes cooperaron con sodas, cervezas, vino, queso y botanas. También &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blog.alvarezp.org/&quot;&gt;Octavio Álvarez&lt;/a&gt; llegó con lo que había quedado del &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://coderetreat.mx/blog/2013/07/29/coderetreat-tijuana-el-20-de-abril-pasado.html&quot;&gt;code retreat que había sido una semana antes&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;En esta ocasión hubo menos interrupciones externas, por lo que tuvimos más oportunidad de trabajar en el proyecto que teníamos en mente. Trabajé haciendo &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://es.wikipedia.org/wiki/Programaci%C3%B3n_en_pareja&quot;&gt;pair programming&lt;/a&gt; con &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://twitter.com/gabo&quot;&gt;Gabo&lt;/a&gt; en lo que pretendemos será el nuevo sitio para la &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://tjnet.org&quot;&gt;Comunidad .Net Tijuana&lt;/a&gt;. La idea es trabajar con algo nuevo y ligero como &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.microsoft.com/web/webmatrix/&quot;&gt;WebMatrix&lt;/a&gt; que es algo que no utilizo.&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://lh3.ggpht.com/-nLBwmRIfPu0/UfgC0NseKiI/AAAAAAAAAqg/hEFCqlxbjoE/s1600-h/shdh8%25255B3%25255D.jpg&quot;&gt;&lt;img title=&quot;shdh8&quot; style=&quot;border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;float:none;padding-top:0px;padding-left:0px;margin-left:auto;display:block;padding-right:0px;border-top-width:0px;margin-right:auto;&quot; border=&quot;0&quot; alt=&quot;shdh8&quot; src=&quot;http://lh3.ggpht.com/-oiGyUc2CpaM/UfgC0wyPVCI/AAAAAAAAAqo/D4yy1w1lSXI/shdh8_thumb%25255B1%25255D.jpg?imgmax=800&quot; width=&quot;437&quot; height=&quot;302&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p align=&quot;center&quot;&gt;(Foto por &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://twitter.com/gabo&quot;&gt;Gabriel Flores&lt;/a&gt;)&lt;/p&gt; &lt;p&gt;Hubo buenas platicas en el transcurso del día y conocí a gente nueva. Al final no hubo presentación de proyectos como la edición pasada pero sí platicamos sobre ellos. Algo nuevo para mi en este tipos de eventos fue que, en lugar de programar con cerveza y papás fritas, ahora lo hicimos con vino tinto, queso, tomates secos y pitas (cortesía de &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;https://twitter.com/fjaguilar&quot;&gt;Javier Aguilar&lt;/a&gt;). Ahora no podrá faltar el vino en los siguientes &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.shdhtj.org/&quot;&gt;SHDHTJ&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Fue una experiencia muy agradable, al final del día había ganas de seguirle en un after party. &lt;/p&gt;</description>
         <author>Mario H. Cornejo</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-23470706.post-4654675249045345014</guid>
         <pubDate>Tue, 30 Jul 2013 11:14:00 +0000</pubDate>
         <media:thumbnail height="72" url="http://lh3.ggpht.com/-oiGyUc2CpaM/UfgC0wyPVCI/AAAAAAAAAqo/D4yy1w1lSXI/s72-c/shdh8_thumb%25255B1%25255D.jpg?imgmax=800" width="72" xmlns:media="http://search.yahoo.com/mrss/"/>
      </item>
      <item>
         <title>Sobre arquitectura en capas – Parte 1</title>
         <link>http://www.developeando.com/2013/07/sobre-arquitectura-en-capas-parte-1.html</link>
         <description>&lt;style type=&quot;text/css&quot;&gt;.csharpcode, &lt;/style&gt;&lt;p&gt;Aun veo proyectos que separan los componentes de la aplicación en capas, utilizando el viejo modelo de 3 capas, el cual siento que ya no es la mejor opción ya que la forma de desarrollar software ha cambiado. En esta serie de artículos pretendo explicar porque ya no es necesaria una separación en 3 capas al momento de desarrollar un nuevo proyecto de software.&lt;/p&gt; &lt;p&gt;Primero debo empezar por definir qué es es la arquitectura en capas para mi, así que esta primera parte trata sobre eso.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;¿Qué es la arquitectura en capas?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;La arquitectura en capas consiste en separar las responsabilidades de nuestra aplicación de una manera horizontal. Esto se hace con la intención de elevar el nivel de abstracción. Ocultar la plomería de la aplicación poniendo una capa de abstracciones sobre ella. Las típicas capas de esta arquitectura, iniciando de abajo hacia arriba, se describen a continuación. &lt;/p&gt; &lt;p&gt;&lt;strong&gt;Capa de acceso a datos&lt;/strong&gt; (también conocida como DAL por sus siglas en ingles): Es donde se escribe el código que habla con la base de datos. Es en esta capa donde se definen las consultas a la base de datos (el SQL). No realiza validaciones entre entidades, sólo las validaciones que van hacia la base de datos. La intención de esta capa es que el resto de la aplicación no se preocupe de los detalles (en cierta medida) de la estructura de la base de datos y trabaje a un nivel de objetos. Es la encargada de la entrada y salida de datos hacia y desde la base de datos. Ya que no debe de preocuparse de las reglas de negocio el código de la capa debería de ser fácil de seguir y de mantener. Las capas construidas encima de esta (es decir que usen esta capa) deben de dejar de pensar en tablas y registros para pensar en objetos y colecciones. &lt;/p&gt; &lt;p&gt;&lt;strong&gt;Capa de reglas de negocio&lt;/strong&gt; (BL): Una vez que tenemos la abstracción de la capa de acceso a datos, sobre ella se construye una capa. En esta capa es donde se escriben las reglas de negocio, validaciones que involucran varias entidades, validación de estados y condiciones definidas en los requerimientos. Usa a la capa de acceso a datos para realizar las consultas y actualizaciones a la base de datos. La capa de negocio no sabe cómo es presentada la información al usuario o de cómo fue capturada por él. Al no preocuparse de como se presenta la información (UI) o de como es que se almacena (DAL), en el código solo deben observarse que las reglas (de negocio) definidas en los requerimientos se cumplan.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Capa de presentación&lt;/strong&gt; (UI): Lo que el usuario ve. Es la capa donde se crean los componentes de la interfaz de usuario. Esta capa utiliza a la capa de negocio para realizar la tarea que el usuario requiera. La capa de negocio validará y regresará el resultado o error y la capa de presentación los mostrará al usuario. Entonces el código en esta capa sólo se encarga de pasar valores a la capa de negocio y de desplegar información, en la interfaz de usuario, que viene de la capa de negocio.&lt;/p&gt; &lt;p&gt;Hagamos un ejemplo para entender mejor a que se refiere cada capa. Supongamos que se nos pide que en la aplicación que estamos desarrollando un usuario pueda ingresar al sistema con un nombre de usuario (username) y contraseña validos. Separando nuestra aplicación en capas como las definidas anteriormente tendríamos las siguientes clases (en C#).&lt;/p&gt; &lt;p&gt;Primero la capa de acceso a datos&lt;/p&gt;&lt;pre style=&quot;overflow:auto;border-top:#cecece 1px solid;border-right:#cecece 1px solid;border-bottom:#cecece 1px solid;padding-bottom:5px;padding-top:5px;padding-left:5px;min-height:40px;border-left:#cecece 1px solid;padding-right:5px;width:650px;background-color:#fbfbfb;&quot;&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;&lt;span style=&quot;color:#0000ff;&quot;&gt;namespace&lt;/span&gt; Dal&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;{&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;  &lt;span style=&quot;color:#0000ff;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color:#0000ff;&quot;&gt;class&lt;/span&gt; UserRepository&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;  {&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;    &lt;span style=&quot;color:#0000ff;&quot;&gt;public&lt;/span&gt; User FindByUsername(&lt;span style=&quot;color:#0000ff;&quot;&gt;string&lt;/span&gt; username)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;    {&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;      User user = &lt;span style=&quot;color:#0000ff;&quot;&gt;null&lt;/span&gt;;&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;      var sql = &quot;&lt;span style=&quot;color:#8b0000;&quot;&gt;SELECT * FROM User WHERE Username = @Username&lt;/span&gt;&quot;;&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;      &lt;span style=&quot;color:#0000ff;&quot;&gt;using&lt;/span&gt;(var connection = &lt;span style=&quot;color:#0000ff;&quot;&gt;new&lt;/span&gt; SqlConnection(Config.ConnectionString)){&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;        var cmd = &lt;span style=&quot;color:#0000ff;&quot;&gt;new&lt;/span&gt; SqlCommand(sql, connection);&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;        cmd.Parameters.AddWithValue(&quot;&lt;span style=&quot;color:#8b0000;&quot;&gt;@Username&lt;/span&gt;&quot;, username);&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;        connection.Open();&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;        &lt;span style=&quot;color:#0000ff;&quot;&gt;using&lt;/span&gt;(var reader = cmd.ExecuteReader())&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;        {          &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;              user = reader.read() ? &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;                 &lt;span style=&quot;color:#0000ff;&quot;&gt;new&lt;/span&gt; User(username, reader[&quot;&lt;span style=&quot;color:#8b0000;&quot;&gt;password&lt;/span&gt;&quot;]) : &lt;span style=&quot;color:#0000ff;&quot;&gt;null&lt;/span&gt;;&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;        }&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;        &lt;span style=&quot;color:#0000ff;&quot;&gt;return&lt;/span&gt; user;&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;      }&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;    }&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;  }&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;}&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;Ahora la capa de reglas de negocio:&lt;/p&gt;&lt;pre style=&quot;overflow:auto;border-top:#cecece 1px solid;border-right:#cecece 1px solid;border-bottom:#cecece 1px solid;padding-bottom:5px;padding-top:5px;padding-left:5px;min-height:40px;border-left:#cecece 1px solid;padding-right:5px;width:650px;background-color:#fbfbfb;&quot;&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;&lt;span style=&quot;color:#0000ff;&quot;&gt;namespace&lt;/span&gt; BL&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;{&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;  &lt;span style=&quot;color:#0000ff;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color:#0000ff;&quot;&gt;class&lt;/span&gt; UsersService&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;  {&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;    &lt;span style=&quot;color:#0000ff;&quot;&gt;public&lt;/span&gt; &lt;span style=&quot;color:#0000ff;&quot;&gt;bool&lt;/span&gt; ValidateUser(&lt;span style=&quot;color:#0000ff;&quot;&gt;string&lt;/span&gt; username, &lt;span style=&quot;color:#0000ff;&quot;&gt;string&lt;/span&gt; password)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;    {&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;      var userRepository =  &lt;span style=&quot;color:#0000ff;&quot;&gt;new&lt;/span&gt; UserRepository();&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;      var user = userRepository.FindByUsername(username);&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;      &lt;span style=&quot;color:#0000ff;&quot;&gt;if&lt;/span&gt; (user == &lt;span style=&quot;color:#0000ff;&quot;&gt;null&lt;/span&gt;) &lt;span style=&quot;color:#0000ff;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color:#0000ff;&quot;&gt;false&lt;/span&gt;;&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;      var cryptoService = &lt;span style=&quot;color:#0000ff;&quot;&gt;new&lt;/span&gt; CryptoService();&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;      &lt;span style=&quot;color:#0000ff;&quot;&gt;return&lt;/span&gt; cryptoService.ComputeHash(password) == username.Password;&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;    }&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;  }&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;}&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;Por último la capa de presentación:&lt;/p&gt;&lt;pre style=&quot;overflow:auto;border-top:#cecece 1px solid;border-right:#cecece 1px solid;border-bottom:#cecece 1px solid;padding-bottom:5px;padding-top:5px;padding-left:5px;min-height:40px;border-left:#cecece 1px solid;padding-right:5px;width:650px;background-color:#fbfbfb;&quot;&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;...&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;&lt;span style=&quot;color:#0000ff;&quot;&gt;void&lt;/span&gt; LoginButton_Click(&lt;span style=&quot;color:#0000ff;&quot;&gt;object&lt;/span&gt; sender, EventArgs e)&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;{&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;   var usersService = &lt;span style=&quot;color:#0000ff;&quot;&gt;new&lt;/span&gt; UsersService();&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;   &lt;span style=&quot;color:#0000ff;&quot;&gt;if&lt;/span&gt; (usersService.ValidateUser(usernameTextbox.Text, passwordTextbox.Text))   &lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;       MessageBox.Show(&quot;&lt;span style=&quot;color:#8b0000;&quot;&gt;Bienvenido&lt;/span&gt;&quot;);&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;   &lt;span style=&quot;color:#0000ff;&quot;&gt;else&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;       MessageBox.Show(&quot;&lt;span style=&quot;color:#8b0000;&quot;&gt;Usuario o contraseña incorrectos&lt;/span&gt;&quot;);&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;pre style=&quot;font-size:12px;font-family:consolas, 'Courier New', courier, monospace;margin:0em;width:100%;background-color:#fbfbfb;&quot;&gt;...&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;Aquí puede verse la separación de la lógica en capas. En lugar de hacer la consulta a la base de datos directamente en el método de clic del botón, la capa de presentación delega la validación del usuario a la capa de negocio. La capa de negocio a su vez delega a la capa de acceso a datos la creación y ejecución de las consultas en SQL sobre la base de datos.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Así era como desarrollábamos una aplicación hace años; pero ya no.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Artículo relacionado: &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.developeando.com/2013/08/sobre-arquitectura-en-capas-parte-2.html&quot;&gt;Sobre arquitectura en capas – parte 2&lt;/a&gt;&lt;/p&gt;</description>
         <author>Mario H. Cornejo</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-23470706.post-5706714470541542553</guid>
         <pubDate>Fri, 26 Jul 2013 14:13:00 +0000</pubDate>
      </item>
      <item>
         <title>Un recorrido por la industria del software</title>
         <link>http://feedproxy.google.com/~r/Arquitexturas/~3/3FD5IYaPHZs/un-recorrido-por-la-industria-del.html</link>
         <description>&lt;p&gt;Durante el evento &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.palermo.edu/ingenieria/eventos/nidays.html&quot;&gt;“Proyectos con menos riesgo y más compromiso”&lt;/a&gt; realizado junto a &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.palermo.edu/&quot;&gt;Universidad de Palermo&lt;/a&gt; el 27 de junio, estuvimos conversando acerca de proyectos ágiles (¡y otros no tanto!).&lt;/p&gt;&lt;p&gt;&lt;img style=&quot;display:block;margin-left:auto;margin-right:auto;&quot; title=&quot;foto_pablin_grafica.jpg&quot; src=&quot;http://lh3.ggpht.com/-6hY7DMLsY2I/UdQ7gLlqXcI/AAAAAAAALh4/DFZdpStdjHg/foto_pablin_grafica.jpg?imgmax=800&quot; alt=&quot;Facilitaci&amp;#xf3;n Gr&amp;#xe1;fica por @pablitux&quot; width=&quot;330&quot; height=&quot;239&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;&lt;p&gt;En ese marco tuvimos el privilegio de escuchar a nuestro amigo Esteban Di Tada, responsable de Investigación y Desarrollo+Innovación en UP, quien compartió con nosotros sus experiencias personales.&lt;/p&gt;&lt;p&gt;&lt;img style=&quot;float:right;&quot; title=&quot;esteban.png&quot; src=&quot;http://lh5.ggpht.com/-cp_U1KissoM/UdQ7j7qJiCI/AAAAAAAALiA/EQUlISeFw2g/esteban.png?imgmax=800&quot; alt=&quot;Esteban Di Tada&quot; width=&quot;330&quot; height=&quot;245&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;&lt;p&gt;Esteban tuvo su primer contacto con una computadora a comienzos de la década del 60, cuando pasó de usar reglas de cálculo a computadoras con procesos batch.&lt;/p&gt;&lt;p&gt;Luego aparecieron las terminales y comenzó lo que se dio en llamar “la crisis del software”, hasta llegar al punto de detectarse que sólo un 2% de los proyectos generaban valor. Después en la década del 90 todo cambió muchísimo cuando los usuarios comenzaron a utilizar PCs en oficinas y desde sus casas, con un nivel de exigencia mucho más alto y sin conocimientos técnicos. Finalmente, llegamos al día de hoy donde es posible alquilar un auto o realizar transacciones bancarias desde nuestros teléfonos móviles.&lt;/p&gt;&lt;p&gt;Lo más destacable fueron los motivos por los cuales los proyectos muy grandes (“elefantiásicos”) dejan de tener sentido: velocidad e incertidumbre mayores, cambios rápidos en los requerimientos y la tecnología, concluyendo en la necesidad de que busquemos trabajar con los conceptos de Calidad Total y centrados en las Personas.&lt;/p&gt;&lt;p&gt;Así, en pocos minutos, Esteban nos hizo recorrer una vez más la historia de nuestra industria desde sus albores hasta nuestra actualizadas de computación ubicua, haciéndonos entender de paso la evolución de las metodologías y paradigmas.&lt;/p&gt;&lt;p&gt;¡Gracias, Esteban!&lt;/p&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/Arquitexturas/~4/3FD5IYaPHZs&quot; height=&quot;1&quot; width=&quot;1&quot; alt=&quot;&quot;/&gt;</description>
         <author>Martín Salías</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-7509451738776858118.post-8892630417070802317</guid>
         <pubDate>Wed, 03 Jul 2013 11:56:00 +0000</pubDate>
         <media:thumbnail height="72" url="http://lh3.ggpht.com/-6hY7DMLsY2I/UdQ7gLlqXcI/AAAAAAAALh4/DFZdpStdjHg/s72-c/foto_pablin_grafica.jpg?imgmax=800" width="72" xmlns:media="http://search.yahoo.com/mrss/"/>
      </item>
      <item>
         <title>Rosario siempre estuvo cerca… de la arquitectura</title>
         <link>http://feedproxy.google.com/~r/Arquitexturas/~3/MriRggPE0U4/rosario-siempre-estuvo-cerca-de-la.html</link>
         <description>&lt;p&gt;Desde que tengo memoria Rosario es una ciudad que me entusiasma. Estaba cerca de Pergamino, donde pasé gran parte de mi niñez, y por eso mucha gente cerca mío estudió allá, si no venía a Buenos Aires.&lt;/p&gt;&lt;p&gt;Y muchos años después seguí haciendo amigos por allá dentro de la industria del software, donde me muevo principalmente.&lt;/p&gt;&lt;p&gt;Notablemente también, Rosario es la ciudad de Argentina donde más actividades realicé relacionadas con Arquitectura de Software, desde algunas charlas (como &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blog.salias.com.ar/2009/12/un-dia-nublado-en-rosario.html&quot;&gt;la que compartimos con Johnny Halife&lt;/a&gt; años atrás) y participación en proyectos, hasta las Jornadas de Arquitectura de Software que iniciamos con el &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.mug.org.ar&quot;&gt;MUG&lt;/a&gt;, y que hasta ahora sólo se realizaron en Rosario dos veces y en Buenos Aires una sola (planeamos realizar la de este año en unos meses).&lt;/p&gt;&lt;p&gt;&lt;img style=&quot;float:right;&quot; title=&quot;cenaRosario.png&quot; src=&quot;http://lh3.ggpht.com/--1qKK24sPnk/UcehKYOWlXI/AAAAAAAALTc/QfzPJwZmBMc/cenaRosario.png?imgmax=800&quot; alt=&quot;Cena en Rosario &quot; width=&quot;200&quot; height=&quot;111&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;&lt;p&gt;La segunda edición de la JAS del MUG fue casualmente hace un par de semanas en Rosario, y pude compartir el salón de la UTN con varios amigos:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;https://twitter.com/superdoret&quot;&gt;Matías Toro&lt;/a&gt; y &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://ar.linkedin.com/pub/andres-joaquin/6/373/a8b&quot;&gt;Andrés Joaquín&lt;/a&gt; hablaron sobre testing de performance en aplicaciones web&lt;/li&gt;&lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://codigorockiano.com.ar/&quot;&gt;Sebastián Rocco&lt;/a&gt;, que habló sobre los Principios SOLID (&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.slideshare.net/smrocco/principios-solid&quot;&gt;su presentación aquí&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://ar.linkedin.com/in/gimenezparera&quot;&gt;Pablo Gimenez Parera&lt;/a&gt;, que mostró algunos ejemplos de modelado y validación en Visual Studio, que pueden accederse en &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;https://www.dropbox.com/sh/cwb7tlgqv3rk6xm/8TvotSizfg&quot;&gt;su carpeta pública de Dropbox&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Yo volví a presentar una versión actualizada de mi sesión &quot;Arquitectura de Software en el ciclo de vida Agil&quot;, que dejo aquí abajo para quienes estén interesados. Al cierre fuimos con varios de los oradores y organizadores a disfrutar unas ricas &lt;em&gt;pizzanesas rosarigasinas&lt;/em&gt;.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;div style=&quot;margin-bottom:5px;&quot;&gt;Los dos días siguientes estuve facilitando un workshop sobre esa misma temática, pero con mucha más práctica y profundidad, organizado por el &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.polotecnologico.net/&quot;&gt;Polo Tecnológico Rosario&lt;/a&gt;.&lt;/div&gt;&lt;div style=&quot;margin-bottom:5px;&quot;&gt;El temario puede verse en &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://media.kleer.la/flyers/Kleer-AgileArchitecture.pdf&quot;&gt;el folleto del Workshop&lt;/a&gt;, y pueden ver &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;https://plus.google.com/photos/108731180744218801408/albums/5890428257371767297&quot;&gt;las fotos en el Album de Google+&lt;/a&gt; que dejé al terminar.&lt;/div&gt;&lt;div style=&quot;margin-bottom:5px;&quot;&gt;¡Hasta pronto, Rosario!&lt;/div&gt;&lt;div style=&quot;margin-bottom:5px;&quot;&gt; &lt;/div&gt;&lt;div style=&quot;margin-bottom:5px;&quot;&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom:5px;&quot;&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom:5px;&quot;&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom:5px;&quot;&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/Arquitexturas/~4/MriRggPE0U4&quot; height=&quot;1&quot; width=&quot;1&quot; alt=&quot;&quot;/&gt;</description>
         <author>Martín Salías</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-7509451738776858118.post-8135892048571895294</guid>
         <pubDate>Sun, 23 Jun 2013 22:30:00 +0000</pubDate>
         <media:thumbnail height="72" url="http://lh3.ggpht.com/--1qKK24sPnk/UcehKYOWlXI/AAAAAAAALTc/QfzPJwZmBMc/s72-c/cenaRosario.png?imgmax=800" width="72" xmlns:media="http://search.yahoo.com/mrss/"/>
      </item>
      <item>
         <title>Los grupos de usuarios son un pasatiempo</title>
         <link>http://www.developeando.com/2013/02/los-grupos-de-usuarios-son-un-pasatiempo.html</link>
         <description>&lt;p&gt;Uno de los primeros grupos de usuarios que conocí de cerca fue el de la comunidad .net Tijuana. Antes había escuchado del &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://gultij.org/&quot;&gt;grupo de usuarios de Linux&lt;/a&gt;; pero nunca me acerque a ellos. Recuerdo que sentí que era algo en lo que &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.developeando.com/2013/01/comunidades-de-profesionales.html&quot;&gt;todo desarrollador profesional debería participar&lt;/a&gt;. Por eso mismo empecé a asistir a las reuniones mensuales a las que tenia oportunidad y sobre todo a los eventos grandes que la comunidad organizaba.&lt;/p&gt; &lt;p&gt;Por ese mismo tiempo comencé a suscribirme a varios blogs y sitios que trataban sobre el desarrollo de software. Noté que varios de los temas, que trataban en las reuniones de la comunidad, eran presentaciones que ya había conocido a través de esos sitios que seguía. Aun así me gustaba participar en las reuniones e invitaba a colegas a asistir. Me preocupaba que otros sintieran que no les aportaba algo nuevo una presentación que quizás podían ver en línea. Decidí participar dentro de la comunidad presentando, tratando de cambiar las presentaciones de PowerPoint por presentaciones con código. Por lo menos de esa forma verían un ejemplo practico, en código, del tema. Algo distinto a la presentación en línea que pudieran encontrar.&lt;/p&gt; &lt;p&gt;Organizando otros eventos trataba (y aun trato) de atraer a más desarrolladores profesionales para que formen parte de la comunidad. Noté que por más esfuerzos, la respuesta de los profesionales es la misma. Sí hay gente nueva; pero hay mucho profesional que no le importa pertenecer a un grupo de usuarios. Llegué a pensar que lo que necesitaban era conocer el beneficio que es ir a aprender de otros colegas y hacer mejor su trabajo. Una vez que lo vieran iban a asistir.&lt;/p&gt; &lt;p&gt;Me di cuenta que en lugar de buscar la razón por la cual alguien no participa en la comunidad, debía buscar la razón por la que las personas sí participan. Recordé que yo no necesito la comunidad para ser mejor desarrollador. Me gusta asistir aunque el tema ya lo conozca. No voy con la única intención de aprender más. Voy por el gusto de estar ahí conviviendo con personas que tienen el mismo interés por la tecnología.&lt;/p&gt; &lt;p&gt;Hace tiempo a la &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://tjnet.org/&quot;&gt;comunidad de Tijuana .Net&lt;/a&gt; Microsoft la apoyaba con regalos. Recuerdo que tenían rifas al final de cada reunión, había un tesorero y toda la cosa. Ahora que he estado más involucrado en la comunidad, noté y supe que Microsoft ya no apoyaba al grupo. Aun así en las reuniones sigue habiendo soda y galletas. &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://msmvps.com/blogs/gflores/&quot;&gt;Gabriel Flores&lt;/a&gt; los lleva, se toma la molestia de ir a comprar con su dinero sólo porque le gusta organizar las reuniones, le gusta la comunidad. No lo hace porque Microsoft le dará premios.&lt;/p&gt; &lt;p&gt;Hace meses inicié el &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://tijuanajs.org/&quot;&gt;grupo de usuarios de JavaScript&lt;/a&gt; y al ser el organizador tengo que pagar el dominio, crear el sitio y pues me toca comprar las sodas. Al principio sentía que no debería de pagarlas yo, que eran las empresas las que debían pagar por esos gastos ya que estábamos dando un servicio a los profesionales. Aunque no es mucho gasto, pensaba que estaba haciendo algo mal por tener que pagar las sodas de mi cartera.&lt;/p&gt; &lt;p&gt;Hasta que &lt;strong&gt;entendí que las comunidades son un pasatiempo y como todo pasatiempo cuesta, no se busca beneficio de un hobby, sólo se hace por el gusto de hacerlo&lt;/strong&gt;. A veces es difícil darse cuenta, ya que se trata de lo mismo que hago en mi trabajo y por eso sentía que no tenia que pagar por hacerlo. Ahora que veo la organización de la comunidad como un pasatiempo (y no necesariamente como algo de beneficio para mi trabajo; aunque me ha ayudado) disfruto más de las reuniones. Los gastos no me pesan porque sé que son para el pasatiempo que disfruto. Entiendo por que algunos desarrolladores profesionales no asisten y nunca asistirán a las reuniones, simplemente es un pasatiempo que no compartimos.&lt;/p&gt;</description>
         <author>Mario H. Cornejo</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-23470706.post-5092975230440423936</guid>
         <pubDate>Tue, 12 Feb 2013 22:48:00 +0000</pubDate>
      </item>
      <item>
         <title>El 2012</title>
         <link>http://www.developeando.com/2012/12/el-2012.html</link>
         <description>&lt;p&gt;Como ya va terminar el año, en lugar de escribir predicciones preferí hacer un resumen de las actividades y eventos en los que participé en este 2012.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Super Happy Dev House Tijuana&lt;br&gt;&lt;/strong&gt;En Marzo participé en la organización del séptimo &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://shdhtj.pbworks.com&quot;&gt;SHDH-TJ&lt;/a&gt;. Hubo buena asistencia, podríamos decir que el evento fue un éxito.&lt;/p&gt; &lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://lh4.ggpht.com/-WYwCNoZFM28/UOHTIY6BwGI/AAAAAAAAAiU/5lOwbvhUScs/s1600-h/391405_2751239074705_1207758899_n2.jpg&quot;&gt;&lt;img style=&quot;background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;&quot; title=&quot;391405_2751239074705_1207758899_n&quot; border=&quot;0&quot; alt=&quot;391405_2751239074705_1207758899_n&quot; src=&quot;http://lh4.ggpht.com/-tKh6frYVPac/UOHTIkWQdQI/AAAAAAAAAic/FQwb0XGDiL0/391405_2751239074705_1207758899_n_th.jpg?imgmax=800&quot; width=&quot;244&quot; height=&quot;184&quot;&gt;&lt;/a&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://lh5.ggpht.com/-QTaE17JSIiQ/UOHTJV5uRMI/AAAAAAAAAik/MLZFv21LaFw/s1600-h/539440_2751238554692_1571180181_n2.jpg&quot;&gt;&lt;img style=&quot;background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;&quot; title=&quot;539440_2751238554692_1571180181_n&quot; border=&quot;0&quot; alt=&quot;539440_2751238554692_1571180181_n&quot; src=&quot;http://lh5.ggpht.com/-UyANe-IScFc/UOHTKCGHNdI/AAAAAAAAAis/iAtcDbZmwfE/539440_2751238554692_1571180181_n_th.jpg?imgmax=800&quot; width=&quot;244&quot; height=&quot;184&quot;&gt;&lt;/a&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://lh4.ggpht.com/-DWogLSgrzhQ/UOHTK8lXRgI/AAAAAAAAAi0/yfY_EbEZ-z4/s1600-h/545711_2751239914726_1403608_n2.jpg&quot;&gt;&lt;img style=&quot;background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;&quot; title=&quot;545711_2751239914726_1403608_n&quot; border=&quot;0&quot; alt=&quot;545711_2751239914726_1403608_n&quot; src=&quot;http://lh4.ggpht.com/-LmAysSz6HAM/UOHTLc7ZPFI/AAAAAAAAAi8/8c9HfdpZ0yk/545711_2751239914726_1403608_n_thumb.jpg?imgmax=800&quot; width=&quot;244&quot; height=&quot;184&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Hubo varios proyectos usando diferentes tecnologías; pero con algo en común. La mayoría (si no es que todos) eran Web así que tiempo después surgió &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.developeando.com/2012/04/iniciando-tijuanajs.html&quot;&gt;tijuana.js&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;tijuana.js&lt;br&gt;&lt;/strong&gt;En Abril publiqué el sitio &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://tijuanajs.org/&quot;&gt;tijuanajs.org&lt;/a&gt;. El grupo de usuario de javascript de Tijuana tuvo su primera reunión el último martes de Mayo y así cada ultimo martes de mes hasta Octubre, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://tijuanajs.org/meetings&quot;&gt;fueron 6 reuniones en este primer año&lt;/a&gt;. Esperamos seguir reuniéndonos en el 2013.&lt;/p&gt; &lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://lh3.ggpht.com/-652TV7cMDcs/UOHTMaOoCCI/AAAAAAAAAjE/qhjSWBFywME/s1600-h/WP_0001513.jpg&quot;&gt;&lt;img style=&quot;background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;&quot; title=&quot;WP_000151&quot; border=&quot;0&quot; alt=&quot;WP_000151&quot; src=&quot;http://lh4.ggpht.com/-ZEvB8Sogp4w/UOHTM8HfGoI/AAAAAAAAAjM/COinSaCDhAc/WP_000151_thumb.jpg?imgmax=800&quot; width=&quot;244&quot; height=&quot;184&quot;&gt;&lt;/a&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://lh6.ggpht.com/-l_DJosa_EDo/UOHTN8ABbGI/AAAAAAAAAjU/kzjxcsrw2wU/s1600-h/WP_0002883.jpg&quot;&gt;&lt;img style=&quot;background-image:none;border-right-width:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;&quot; title=&quot;WP_000288&quot; border=&quot;0&quot; alt=&quot;WP_000288&quot; src=&quot;http://lh6.ggpht.com/-virM3z7AC1Q/UOHTOfPHIzI/AAAAAAAAAjc/XA8LctyXJ3M/WP_000288_thumb.jpg?imgmax=800&quot; width=&quot;244&quot; height=&quot;184&quot;&gt;&lt;/a&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://lh6.ggpht.com/-cHR80aK6Tlw/UOHTPxtpmWI/AAAAAAAAAjk/Ol2p36aoPU8/s1600-h/WP_0004413.jpg&quot;&gt;&lt;img style=&quot;background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;&quot; title=&quot;WP_000441&quot; border=&quot;0&quot; alt=&quot;WP_000441&quot; src=&quot;http://lh6.ggpht.com/-aee6pccYpGs/UOHTQSx_OII/AAAAAAAAAjs/cGglQO3f8qM/WP_000441_thumb.jpg?imgmax=800&quot; width=&quot;244&quot; height=&quot;184&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Tijuana.net&lt;br&gt;&lt;/strong&gt;Participé como expositor en reuniones de la &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://tjnet.org/&quot;&gt;comunidad .net de Tijuana&lt;/a&gt;:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://tjnet.org/Eventos/2055.aspx&quot;&gt;R48: NuGet y jQuery&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://tjnet.org/Eventos/2063.aspx&quot;&gt;R49: Webmatrix &amp;amp; jQuery&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://tjnet.org/Eventos/2073.aspx&quot;&gt;R51: ASP.NET MVC 4&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;dev3cast&lt;/strong&gt;&lt;br&gt;Fue un año más en que participé, junto con &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://msmvps.com/blogs/gflores/&quot;&gt;Gabriel Flores&lt;/a&gt; e invitados,  en el &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.dev3cast.com&quot;&gt;dev3cast podcast&lt;/a&gt;. Los temas tratados en el 2012 fueron:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.dev3cast.com/2012/11/29/simple-membership/&quot;&gt;SimpleMembership&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.dev3cast.com/2012/11/16/%c2%bfa-que-le-tiras-cuando-suenas-programador/&quot;&gt;¿A qué le tiras cuando sueñas programador?&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.dev3cast.com/2012/11/06/convenciones-de-programacion/&quot;&gt;Convenciones de programación&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.dev3cast.com/2012/10/03/entity-framework-5/&quot;&gt;Entity Framework 5&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.dev3cast.com/2012/09/07/errores-de-capa-8/&quot;&gt;Errores de capa 8&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.dev3cast.com/2012/07/23/windows-azure-en-la-vida-real/&quot;&gt;Windows Azure en la vida real&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.dev3cast.com/2012/07/02/programacion-en-parejas/&quot;&gt;programación en parejas&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.dev3cast.com/2012/06/18/cuando-se-busca-un-nuevo-programador/&quot;&gt;Cuando se busca un nuevo programador&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.dev3cast.com/2012/05/28/artesania-de-software/&quot;&gt;Artesanía de Software&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.dev3cast.com/2012/05/14/startup-weekend-tijuana/&quot;&gt;Startup Weekend Tijuana&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.dev3cast.com/2012/04/30/lo-que-se-ensena-en-las-escuelas/&quot;&gt;Lo que se enseña en las escuelas&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.dev3cast.com/2012/04/16/mvc-para-los-no-iniciados/&quot;&gt;MVC para los no iniciados&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.dev3cast.com/2012/04/03/shdh-tijuana-2/&quot;&gt;SHDH Tijuana&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.dev3cast.com/2012/03/12/odata/&quot;&gt;OData&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.dev3cast.com/2012/02/20/nodejs/&quot;&gt;node.js&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.dev3cast.com/2012/02/14/backbone/&quot;&gt;backbone&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.dev3cast.com/2012/02/06/coffeescript-y-jasmine/&quot;&gt;CoffeeScript y Jasmine&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.dev3cast.com/2012/02/01/tdd-con-javascript/&quot;&gt;TDD con Javascript&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.dev3cast.com/2012/01/16/nancyfx/&quot;&gt;NancyFx&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;CafeScript&lt;br&gt;&lt;/strong&gt;Como puede verse, en los primeros episodios del año del dev3cast, hubo varios relacionados con JavaScript. De ahí surgió la idea de crear un podcast dedicado a JavaScript. Se unió &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://hard-bit.net/blog/&quot;&gt;Iván González&lt;/a&gt; al proyecto y así inicio &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.cafescript.com&quot;&gt;CafeScript&lt;/a&gt;. Los episodios del año fueron:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://cafescript.com/hello-world/&quot;&gt;Episodio 0 &lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://cafescript.com/un-poco-de-historia/&quot;&gt;Un poco de historia de JavaScript &lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://cafescript.com/objetos-en-javascript/&quot;&gt;Objetos en JavaScript &lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://cafescript.com/algunos-conceptos/&quot;&gt;Algunos conceptos &lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://cafescript.com/javascript-debe-morir/&quot;&gt;JavaScript debe morir &lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://cafescript.com/jasmine/&quot;&gt;Jasmine&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://cafescript.com/titanium-sdk/&quot;&gt;Titanium SDK &lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://cafescript.com/jquery/&quot;&gt;jQuery&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://cafescript.com/malentendidos-de-javascript/&quot;&gt;Malentendidos de JavaScript &lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Google Developers Group (GDG) Tijuana&lt;br&gt;&lt;/strong&gt;Fui invitado a participar con el &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.gdg.mx/&quot;&gt;GDG&lt;/a&gt; como expositor del tema “Extensiones para Google Chrome”. Fue agradable participar en otras comunidades.&lt;/p&gt; &lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://lh3.ggpht.com/-WGcXgAzoXzM/UOHTRtw7BJI/AAAAAAAAAj0/nSR-SHcfOgk/s1600-h/WP_000290%25255B3%25255D.jpg&quot;&gt;&lt;img style=&quot;background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;&quot; title=&quot;WP_000290&quot; border=&quot;0&quot; alt=&quot;WP_000290&quot; src=&quot;http://lh5.ggpht.com/-K4aDFl1Hkj8/UOHTSLozx2I/AAAAAAAAAj8/6boW6mKmyDo/WP_000290_thumb.jpg?imgmax=800&quot; width=&quot;244&quot; height=&quot;184&quot;&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Universidad&lt;br&gt;&lt;/strong&gt;El 2012 fue el año en que regresé a la Universidad; pero esta vez no como alumno sino como profesor. Impartiendo 2 Materias (Programación Visual y Desarrollo Web). Me gustó la experiencia, tanto que el siguiente cuatrimestre impartiré una materia más.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Vista&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://lh3.ggpht.com/-IQVYgaqUQkQ/UOHTSykOpWI/AAAAAAAAAkE/rU2p6wEp8ww/s1600-h/4ojos%25255B2%25255D.png&quot;&gt;&lt;img style=&quot;background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;float:right;border-top:0px;border-right:0px;padding-top:0px;&quot; title=&quot;4ojos&quot; border=&quot;0&quot; alt=&quot;4ojos&quot; align=&quot;right&quot; src=&quot;http://lh4.ggpht.com/-Vj234uhGDOE/UOHTTaIFKoI/AAAAAAAAAkM/LgEmTGfEuec/4ojos_thumb.png?imgmax=800&quot; width=&quot;97&quot; height=&quot;92&quot;&gt;&lt;/a&gt;&lt;br&gt;&lt;/strong&gt;Por último, ya para terminar el año mi vista se canso. Al parecer el pasar mucho tiempo con la &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.developeando.com/2012/01/programando-en-laptop.html&quot;&gt;vista fija en la laptop&lt;/a&gt; (trabajo, proyectos extras, blogs, etc.) fue la causa de que tuviera problemas con uno de mis ojos. Eso provocó que me convirtiera en un &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;https://twitter.com/mhcornejo/status/284462883004379136&quot;&gt;“programador 4 ojos”&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Estas fueron algunas de las actividades en las que participé este 2012. &lt;/p&gt;</description>
         <author>Mario H. Cornejo</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-23470706.post-8696784170373580106</guid>
         <pubDate>Mon, 31 Dec 2012 10:02:00 +0000</pubDate>
         <media:thumbnail height="72" url="http://lh4.ggpht.com/-tKh6frYVPac/UOHTIkWQdQI/AAAAAAAAAic/FQwb0XGDiL0/s72-c/391405_2751239074705_1207758899_n_th.jpg?imgmax=800" width="72" xmlns:media="http://search.yahoo.com/mrss/"/>
      </item>
      <item>
         <title>El camino ágil hacia organizaciones más efectivas</title>
         <link>http://feedproxy.google.com/~r/Arquitexturas/~3/San8Csb4MkI/el-camino-agil-hacia-organizaciones-mas.html</link>
         <description>&lt;p&gt;&lt;img style=&quot;float:right;&quot; title=&quot;OrganizacionesAgiles.png&quot; src=&quot;http://lh6.ggpht.com/-SuR5uxH81R8/UHYqo0GgFHI/AAAAAAAAGUs/nRmbTt999ns/OrganizacionesAgiles.png?imgmax=800&quot; alt=&quot;Organizaciones Agiles&quot; width=&quot;539&quot; height=&quot;204&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;&lt;p&gt;Con mis colegas de &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://kleer.la&quot;&gt;Kleer&lt;/a&gt; organizamos esta mañana este pequeño evento en la &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.palermo.edu/&quot;&gt;Universidad de Palermo&lt;/a&gt;, gracias como siempre al Decano de la Facultad de Ingeniería, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.linkedin.com/pub/esteban-di-tada/16/244/49&quot;&gt;Esteban Di Tada&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;La idea era compartir algunas ideas y experiencias alrededor de organizaciones adoptando prácticas ágiles a diferente nivel de madurez, también con características diferentes, y charlar un poco sobre el camino que recorrieron.&lt;/p&gt;&lt;p&gt;Como introducción tuve a oportunidad de presentar una introducción a algunos principios teóricos de diferentes áreas, desde matemáticas y cibernética hasta management, que desde diferentes perspectivas soportan las ideas del agilismo,&lt;/p&gt;&lt;p&gt;Dejo para los asistentes las &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;https://www.dropbox.com/s/508hnxs48intxrf/Organizaciones%20Agiles.pdf&quot;&gt;notas de la sesión&lt;/a&gt; como prometí, y debajo agrego una lista de bibliografía relacionada.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;En Español&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.amazon.com/gp/product/9871256043/ref=as_li_ss_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=9871256043&amp;amp;linkCode=as2&amp;amp;tag=martinsalias-20&quot;&gt;Complejidad y Caos&lt;/a&gt;&lt;img style=&quot;border-style:none;margin:0px !important;&quot; src=&quot;http://www.assoc-amazon.com/e/ir?t=martinsalias-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=9871256043&quot; alt=&quot;&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot;/&gt;, de Carlos Reynoso&lt;/li&gt;&lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.amazon.com/gp/product/8474328160/ref=as_li_ss_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=8474328160&amp;amp;linkCode=as2&amp;amp;tag=martinsalias-20&quot;&gt;Antropologia y Complejidad&lt;/a&gt;, de Rafael Perez Taylor&lt;/li&gt;&lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.amazon.com/gp/product/8476589646/ref=as_li_ss_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=8476589646&amp;amp;linkCode=as2&amp;amp;tag=martinsalias-20&quot;&gt;Sistemas Complejos : Perspectivas De Una Teoría General&lt;/a&gt;, Germán de la Reza&lt;/li&gt;&lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.amazon.com/gp/product/987125654X/ref=as_li_ss_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=987125654X&amp;amp;linkCode=as2&amp;amp;tag=martinsalias-20&quot;&gt;Modelos o Metáforas,&lt;/a&gt; de Carlos Reynoso &lt;img style=&quot;border:none !important;margin:0px !important;&quot; src=&quot;http://www.assoc-amazon.com/e/ir?t=martinsalias-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=987125654X&quot; alt=&quot;&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot;/&gt;&lt;/li&gt;&lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.amazon.com/gp/product/8495787326/ref=as_li_ss_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=8495787326&amp;amp;linkCode=as2&amp;amp;tag=martinsalias-20&quot;&gt;Las Cinco Disfunciones De Un Equipo&lt;/a&gt;, de Patrick Lencioni&lt;/li&gt;&lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.amazon.com/gp/product/9580498636/ref=as_li_ss_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=9580498636&amp;amp;linkCode=as2&amp;amp;tag=martinsalias-20&quot;&gt;Luchas Por El Poder Dentro De Las Empresas&lt;/a&gt;, de Patrick Lencioni&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;En inglés&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.amazon.com/gp/product/0231001215/ref=as_li_ss_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0231001215&amp;amp;linkCode=as2&amp;amp;tag=martinsalias-20&quot;&gt;Ants&lt;/a&gt;&lt;img style=&quot;border:none !important;margin:0px !important;&quot; src=&quot;http://www.assoc-amazon.com/e/ir?t=martinsalias-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=0231001215&quot; alt=&quot;&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot;/&gt;, de William Morton Wheeler&lt;/li&gt;&lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.amazon.com/gp/product/026273009X/ref=as_li_ss_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=026273009X&amp;amp;linkCode=as2&amp;amp;tag=martinsalias-20&quot;&gt;Cybernetics, Second Edition: or the Control and Communication in the Animal and the Machine&lt;/a&gt;&lt;img style=&quot;border:none !important;margin:0px !important;&quot; src=&quot;http://www.assoc-amazon.com/e/ir?t=martinsalias-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=026273009X&quot; alt=&quot;&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot;/&gt;, de Norbert Wienner&lt;/li&gt;&lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.amazon.com/gp/product/0691130612/ref=as_li_ss_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0691130612&amp;amp;linkCode=as2&amp;amp;tag=martinsalias-20&quot;&gt;Theory of Games and Economic Behavior&lt;/a&gt;, de John Von Neumann y otros&lt;/li&gt;&lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.amazon.com/gp/product/037572527X/ref=as_li_ss_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=037572527X&amp;amp;linkCode=as2&amp;amp;tag=martinsalias-20&quot;&gt;Flesh and Machines: How Robots Will Change Us&lt;/a&gt;&lt;img style=&quot;border:none !important;margin:0px !important;&quot; src=&quot;http://www.assoc-amazon.com/e/ir?t=martinsalias-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=037572527X&quot; alt=&quot;&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot;/&gt;, de Rodney Brooks&lt;/li&gt;&lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.amazon.com/gp/product/0465005640/ref=as_li_ss_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0465005640&amp;amp;linkCode=as2&amp;amp;tag=martinsalias-20&quot;&gt;The Evolution of Cooperation&lt;/a&gt;, de Robert Axelrod&lt;/li&gt;&lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.amazon.com/gp/product/0201483408/ref=as_li_ss_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0201483408&amp;amp;linkCode=as2&amp;amp;tag=martinsalias-20&quot;&gt;Out of Control: The New Biology of Machines, Social Systems, &amp;amp; the Economic World&lt;/a&gt;&lt;img style=&quot;border:none !important;margin:0px !important;&quot; src=&quot;http://www.assoc-amazon.com/e/ir?t=martinsalias-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=0201483408&quot; alt=&quot;&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot;/&gt;, de Kevin Kelly&lt;/li&gt;&lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.amazon.com/gp/product/0385260954/ref=as_li_ss_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0385260954&amp;amp;linkCode=as2&amp;amp;tag=martinsalias-20&quot;&gt;The Fifth Discipline: The Art &amp;amp; Practice of the Learning Organization&lt;/a&gt;&lt;img style=&quot;border:none !important;margin:0px !important;&quot; src=&quot;http://www.assoc-amazon.com/e/ir?t=martinsalias-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=0385260954&quot; alt=&quot;&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot;/&gt;, de Peter Senge&lt;/li&gt;&lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.amazon.com/gp/product/0470941529/ref=as_li_ss_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0470941529&amp;amp;linkCode=as2&amp;amp;tag=martinsalias-20&quot;&gt;The Advantage: Why Organizational Health Trumps Everything Else In Business&lt;/a&gt;&lt;img style=&quot;border:none !important;margin:0px !important;&quot; src=&quot;http://www.assoc-amazon.com/e/ir?t=martinsalias-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=0470941529&quot; alt=&quot;&quot; width=&quot;1&quot; height=&quot;1&quot; border=&quot;0&quot;/&gt;, de Patrick Lencioni&lt;/li&gt;&lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.amazon.com/gp/product/0470267585/ref=as_li_ss_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0470267585&amp;amp;linkCode=as2&amp;amp;tag=martinsalias-20&quot;&gt;The Five Temptations of a CEO&lt;/a&gt;, de Patrick Lencioni&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;p&gt;Podría seguir agregando libros, pero creo que estos son las principales fuentes al menos de esta charla en particular.&lt;/p&gt;&lt;p&gt;Les dejo también el video &quot;promocional&quot; que grabamos con Ricardo Colusso invitando al evento. No es la gran cosa, pero nos divertimos produciéndolo, como se imaginarán:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/Arquitexturas/~4/San8Csb4MkI&quot; height=&quot;1&quot; width=&quot;1&quot; alt=&quot;&quot;/&gt;</description>
         <author>Martín Salías</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-7509451738776858118.post-1653346042585814965</guid>
         <pubDate>Wed, 10 Oct 2012 23:10:00 +0000</pubDate>
         <media:thumbnail height="72" url="http://lh6.ggpht.com/-SuR5uxH81R8/UHYqo0GgFHI/AAAAAAAAGUs/nRmbTt999ns/s72-c/OrganizacionesAgiles.png?imgmax=800" width="72" xmlns:media="http://search.yahoo.com/mrss/"/>
      </item>
      <item>
         <title>Run WebCamp 2011 en Buenos Aires</title>
         <link>http://feedproxy.google.com/~r/Arquitexturas/~3/P8RUD686tJY/run-webcamp-2011-en-buenos-aires.html</link>
         <description>&lt;p&gt;&lt;img style=&quot;float:left;&quot; title=&quot;RunWebCamp.png&quot; src=&quot;http://lh3.ggpht.com/_UL5xJ4XsSh8/TX_pkfdO-1I/AAAAAAAABCE/yxWD4THuK0o/RunWebCamp.png?imgmax=800&quot; border=&quot;0&quot; alt=&quot;Run WebCamp&quot; width=&quot;164&quot; height=&quot;189&quot;/&gt;&lt;/p&gt;&lt;p&gt;Hoy participé en el &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.codeandbeyond.org/2011/02/run-web-camp-en-buenos-aires.html&quot;&gt;Run WebCamp&lt;/a&gt; organizado por Microsoft de Argentina, en el barrio de Palermo, Buenos Aires.&lt;/p&gt;&lt;p&gt;&lt;img style=&quot;float:right;&quot; title=&quot;DaniLaco.png&quot; src=&quot;http://lh4.ggpht.com/_UL5xJ4XsSh8/TX_pjooy1rI/AAAAAAAABCA/p1i-oN8l8Sg/DaniLaco.png?imgmax=800&quot; border=&quot;0&quot; alt=&quot;Dani Laco&quot; width=&quot;78&quot; height=&quot;100&quot;/&gt;&lt;/p&gt;&lt;p&gt;Dentro de esta conferencia dedicada a desarrollo web en la plataforma Microsoft, me tocó presentar Entity Framework junto a mi viejo amigo &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;https://mvp.support.microsoft.com/profile/Laco&quot;&gt;Daniel Laco&lt;/a&gt;, con quien a pesar de los años que llevamos en la comunidad de desarrollo, nunca habíamos hecho un dueto.&lt;/p&gt;&lt;p&gt;La verdad es que más allá del resultado final, que el público juzgará, fue un placer dar una sesión con Dani y logramos completar todo el temario, que era bastante exigente, en 45 minutos exactos, con buen &lt;em&gt;timing&lt;/em&gt; y sin pisarnos.&lt;/p&gt;&lt;p&gt;Como prometimos durante la charla, quedan aquí los links para descargar &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://dl.dropbox.com/u/552847/RunWebCamp2011/Run%20WebCamp%20EF.pdf&quot;&gt;la presentación&lt;/a&gt; (recortada solo con el material importante y referencias), y los ejemplos, una&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://dl.dropbox.com/u/552847/RunWebCamp2011/EFDemoFull.zip&quot;&gt; solución completa con muchos ejemplos en detalle&lt;/a&gt; (cortesía de Dani), y una &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://dl.dropbox.com/u/552847/RunWebCamp2011/CodeFirst-Mini.zip&quot;&gt;solución mínima mostrando lo básico de Code First&lt;/a&gt; (culpa mía).&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;Me siento halagado de haber participado con otros oradores muy buenos y muchos amigos, como Edu Mangarelli y Miguel Sáez, Phil Haack y Drew Robbins, Rodo Finochietti y Pablo Zaiden, y por supuesto, mis compañeros de ruta Johnny Halife y Mati Woloski.&lt;/p&gt;&lt;p&gt;El evento se emitió en vivo a través de &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.ustream.tv/channel/run-web-camp&quot;&gt;UStream&lt;/a&gt; y espero que pronto quede disponible para verlo en video, idealmente con las charlas por separado.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/Arquitexturas/~4/P8RUD686tJY&quot; height=&quot;1&quot; width=&quot;1&quot; alt=&quot;&quot;/&gt;</description>
         <author>Martin Salias</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-7509451738776858118.post-1196716794620317894</guid>
         <pubDate>Tue, 15 Mar 2011 19:34:00 +0000</pubDate>
         <media:thumbnail height="72" url="http://lh3.ggpht.com/_UL5xJ4XsSh8/TX_pkfdO-1I/AAAAAAAABCE/yxWD4THuK0o/s72-c/RunWebCamp.png?imgmax=800" width="72" xmlns:media="http://search.yahoo.com/mrss/"/>
      </item>
      <item>
         <title>MVP 2011 y objetivos para este año</title>
         <link>http://feedproxy.google.com/~r/Arquitexturas/~3/FU8VEvhKSc4/mvp-2011-y-objetivos-para-este-ano.html</link>
         <description>&lt;p&gt;&lt;img style=&quot;float:right;&quot; title=&quot;MVP.jpg&quot; src=&quot;http://lh3.ggpht.com/_UL5xJ4XsSh8/TSMNhKOHABI/AAAAAAAAA28/40Ie25d8ntY/MVP.jpg?imgmax=800&quot; border=&quot;0&quot; alt=&quot;Most Valuable Professional&quot; width=&quot;244&quot; height=&quot;101&quot;/&gt;&lt;/p&gt;&lt;p&gt;Otra vez, como desde hace años ya, arranco el año con la agradable noticia de que Microsoft me ha premiado como Most Valuable Professional. Siempre es un honor la distinción, aunque sigo sin saber muy bien qué es lo que consideran tan valioso en mi.&lt;/p&gt;&lt;p&gt;Nuevamente me premian en la categoría &quot;C#&quot;, que por lo visto es algo así como un comodín para actividades mas bien ligadas a los lenguajes.&lt;/p&gt;&lt;p&gt;Como sea, es bueno sentirse reconocido, y un honor cuando uno queda cerca de la categoría de gente a la que admira. Y estas cosas refuerzan esta idea organizativa de fijarse objetivos para el año. Es cierto que es un plazo matemáticamente arbitrario, pero útil a nivel de planificación. Es como un relajado &lt;em&gt;backlog&lt;/em&gt; personal que uno puede auto-imponerse para tratar de planificar después el corto plazo, semana tras semana o mes tras mes.&lt;/p&gt;&lt;p&gt;Pero hacer pública una lista de objetivos es una manera de dejar un compromiso más alto que simplemente proponerse algo. Uno sueña con un lector hipotético que algún día vendrá a reclamar si no se cumple nada de lo planeado.&lt;/p&gt;&lt;p&gt;Así, aquí van mis objetivos para el año, que iré atacando, por supuesto, de manera iterativa:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Lenguaje del año: como todos los años, en el 2011 trataré de aprender y comprender un lenguaje nuevo. Para mi comprender un lenguaje de programación significa conocer bastante su idiosincracia, el paradigma con el que está diseñado, sus puntos sobresalientes y problemáticos, y acercarme a la manera en que funciona la comunidad y el ecosistema detrás. Eso implica aprender, hacer &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://codekata.pragprog.com/&quot;&gt;katas&lt;/a&gt;, programar en ese lenguaje proyectos lo más reales posibles, y tratar de compartir todo lo posible lo aprendido, sobre todo haciendo algunas presentaciones en vivo o en video. Explicando a los demás, como dice el &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://msmvps.com/blogs/lopez/&quot;&gt;Maestro&lt;/a&gt;, es como más fácilmente nos &quot;cae la ficha&quot; y afianzamos nuestros conceptos.&lt;br /&gt;&lt;br /&gt;El 2010 lo dediqué a Ruby (aunque personalmente no profundicé tanto como me hubiese gustado), después de zambullirme en F#, volver a Python (para quedarme -hoy lo uso cotidianamente e incluso tengo &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;https://chrome.google.com/extensions/detail/gdiimmpmdoofmahingpgabiikimjgcia&quot;&gt;un shell de Python siempre a mano&lt;/a&gt;, dentro de Chrome), jugar con Boo, meterme en C# desde Generics hasta el IL generado, tratar de avanzar con Eiffel, debatirme entre Haskell y ML (sin lograr mucho con ellos por mis propias limitaciones).&lt;br /&gt;&lt;br /&gt;A la hora de elegir un lenguaje para este año que inicia, prefiero terminar lo que empecé, y voy a dedicarme más a Ruby, pero esta vez específicamente a &lt;strong&gt;Rails y Sinatra&lt;/strong&gt;, donde no hice tanto hincapié. Mi mayor avance con Ruby el año pasado fue entender el lenguaje mismo y usarlo para todas mis tareas principales de &lt;em&gt;scripting&lt;/em&gt; y algunas aplicaciones desktop que necesitaba (si, es raro ver aplicaciones desktop en Ruby, pero se puede). Esta decisión tiene impacto directo en algunos de los siguientes objetivos, como se verá.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Me quedó pendiente, por varios motivos, dar un&lt;strong&gt; taller sobre Ruby&lt;/strong&gt;, que quiero encarar este año. El principal problema fue que las veces que lo propuse lo hice junto a otras alternativas que sonaron más interesantes. Pero como es algo que personalmente quiero hacer, voy a ponerme en campaña por mi lado, y terminaré con alguna serie de videos en mi otro blog, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.codeandbeyond.org/&quot;&gt;Code &amp;amp; Beyond&lt;/a&gt;, y probablemente lo de presencialmente en el &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.mug.org.ar/&quot;&gt;MUG&lt;/a&gt; o algun otro lado.&lt;/li&gt;&lt;li&gt;Hace tiempo tengo pendiente reconstruir mi sitio personal, que es una recopilación de servicios, links a trabajos, mis libros, películas, etc. Todo eso está armado con un antiquísimo script en Python que genera páginas estáticas ASP. En su momento no fueron HTML plano para poder incluir un par de cosas, pero en realidad son básicamente eso. No hay una base de datos detrás, nada dinámico. Los datos son fuentes diversas en mi máquina que se procesa(ba)n para generar las páginas. Y hace tiempo que no se refresca esa información, salvo lo que proviene de servicios como &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.delicious.com/&quot;&gt;delicious&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Así que tengo un buen ejercicio a mano: rediseñar el sitio, pensándolo mejor (aunque el objetivo básico seguirá siendo tener consolidada una cantidad de información que está dispersa en la web) y usarlo como una práctica de Rails y también de actualizar mi conocimiento en HTML/CSS, que está algo vetusto.&lt;/li&gt;&lt;li&gt;Otro objetivo, a cumplir en el corto plazo, es actualizar mi hardware. Seguiré con una Mac, pero estoy cambiándola en breve por una de las nuevas &lt;strong&gt;MacBook Air&lt;/strong&gt;, que ya tendrá su propia reseña.&lt;br /&gt;&lt;br /&gt;Y en consecuencia con el cambio, también quiero aprender este año &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://developer.apple.com/applescript/&quot;&gt;Applescript&lt;/a&gt;. Hasta ahora todas mis tareas en la Mac las automaticé entre un poco de bash y Ruby, pero hay muchas cosas en las que el scripting nativo de la Mac va ayudarme con seguridad. Además, la gente de Apress me regaló el libro &quot;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://apress.com/book/view/9781430223610&quot;&gt;Learn AppleScript: The Comprehensive Guide to Scripting and Automation on Mac OS X, Third Edition&lt;/a&gt;&quot;, así que ¡no me quedan excusas!&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Finalmente, como todos los años, sigo rumiando los bocetos de un libro (técnico), pero no quiero auto-imponerme una fecha límite para eso, porque  todavía no tengo el temario final cerrado en mi cabeza. De alguna manera, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://codeandbeyond.org&quot;&gt;Code &amp;amp; Beyond&lt;/a&gt; es una especie de lista de notas que me llevan en ese camino.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;No es una lista tan grande. Espero llegar con todo terminado bastante antes de fin del año próximo, así que corto aquí y me pongo a trabajar.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/Arquitexturas/~4/FU8VEvhKSc4&quot; height=&quot;1&quot; width=&quot;1&quot; alt=&quot;&quot;/&gt;</description>
         <author>Martin Salias</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-7509451738776858118.post-1521778646028521687</guid>
         <pubDate>Tue, 04 Jan 2011 09:07:00 +0000</pubDate>
         <media:thumbnail height="72" url="http://lh3.ggpht.com/_UL5xJ4XsSh8/TSMNhKOHABI/AAAAAAAAA28/40Ie25d8ntY/s72-c/MVP.jpg?imgmax=800" width="72" xmlns:media="http://search.yahoo.com/mrss/"/>
      </item>
      <item>
         <title>Video: Virtual Alt.NET Meeting sobre Cloud Computing</title>
         <link>http://feedproxy.google.com/~r/Arquitexturas/~3/w64xCdgYVoQ/video-virtual-altnet-meeting-sobre.html</link>
         <description>&lt;p&gt;Hace unas semanas participé en otra reunión virtual de &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.altnethispano.org/&quot;&gt;Alt.NET Hispano&lt;/a&gt;, hablando un poco sobre Cloud Computing.&lt;/p&gt;&lt;p&gt;Gracias como siempre a &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.jorgegamba.com/blog/&quot;&gt;Jorge Gamba&lt;/a&gt; y el resto del equipo de voluntarios, ya está publicado el video, que dejo embebido aquí abajo, pero recuerden que pueden ver cualquiera de los &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.altnethispano.org/reuniones/historico.aspx&quot;&gt;videos de la reuniones anteriores&lt;/a&gt;.&lt;/p&gt;&lt;p&gt; Unable to display content. Adobe Flash is required.&lt;br /&gt;&lt;/p&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/Arquitexturas/~4/w64xCdgYVoQ&quot; height=&quot;1&quot; width=&quot;1&quot; alt=&quot;&quot;/&gt;</description>
         <author>Martin Salias</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-7509451738776858118.post-3787021131410930266</guid>
         <pubDate>Wed, 01 Dec 2010 11:49:00 +0000</pubDate>
      </item>
      <item>
         <title>Arquitectura de Software en el Ciclo de Vida Agil</title>
         <link>http://feedproxy.google.com/~r/Arquitexturas/~3/KmsJ6TsBC-c/arquitectura-de-software-en-el-ciclo-de.html</link>
         <description>&lt;p&gt;Durante el mes de octubre tuvimos nuevamente la oportunidad de facilitar nuestro auditorio en &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.southworks.net&quot;&gt;Southworks&lt;/a&gt; para otro desayuno de arquitectos de los que organiza Microsoft.&lt;/p&gt;&lt;p&gt;Esta vez, a diferencia de los últimos, en que sólo me tocó oficiar de anfitrión, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://twitter.com/guadacasuso&quot;&gt;Guada&lt;/a&gt; me pidió que presentara, ya que el tema elegido por el grupo tenía que ver con documentación y validación de arquitectura, algo sobre lo que vengo trabajando bastante fuerte, incluyendo &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://msdn.microsoft.com/en-us/architecture/ff476940.aspx&quot;&gt;el artículo que publicamos al respecto&lt;/a&gt; con &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://diegofontdevila.wordpress.com/&quot;&gt;Diego Fontdevila&lt;/a&gt; en el n&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://msdn.microsoft.com/en-us/architecture/ff476933.aspx&quot;&gt;úmero 23 del Architecture Journal&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Casualmente, la sesión estuvo basada en la que presentamos con Diego en &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://agiles2010.agiles.org/&quot;&gt;Agiles 2010&lt;/a&gt;, un par de semanas antes, en Lima, adaptada ligeramente a este público que tiene un perfil diferente.&lt;/p&gt;&lt;p&gt;Gracias a &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.southworks.net/jscopinaro/&quot;&gt;Julián Scopinaro&lt;/a&gt;, la sesión quedó capturada en video, que comparto aquí abajo.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://vimeo.com/16210009&quot;&gt;Architects' Breakfast: Architecture in Agile Life Cycle - Part 1&lt;/a&gt; from &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://vimeo.com/southworks&quot;&gt;Southworks Showcase&lt;/a&gt; on &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://vimeo.com&quot;&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://vimeo.com/16279381&quot;&gt;Architects' Breakfast: Architecture in Agile Life Cycle - Part 2&lt;/a&gt; from &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://vimeo.com/southworks&quot;&gt;Southworks Showcase&lt;/a&gt; on &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://vimeo.com&quot;&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/Arquitexturas/~4/KmsJ6TsBC-c&quot; height=&quot;1&quot; width=&quot;1&quot; alt=&quot;&quot;/&gt;</description>
         <author>Martin Salias</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-7509451738776858118.post-1225907002475164754</guid>
         <pubDate>Mon, 08 Nov 2010 17:20:00 +0000</pubDate>
      </item>
      <item>
         <title>ConfORMando NHibernate 3 (the day after)</title>
         <link>http://feedproxy.google.com/~r/Hunabku/~3/TTeK1H8TWto/conformando-nhibernate-3-day-after.html</link>
         <description>Fue un placer ayer mostrar lo que se puede llegar a hacer con NHibernate 3.0 y alguna otras “cajita feliz”.

La verdad es que pensaba que fuese un poco mas desafiante especialmente por el hecho que la mayoría de los asistentes son actualmente usuarios de NHibernate. En dos horas no pudimos ver mucho porque me dejaron hablar demasiado… 

Tal vez, si lo piden al MUG, podamos hacer otra session del&lt;div class=&quot;feedflare&quot;&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/Hunabku?a=TTeK1H8TWto:AbqJICafICU:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Hunabku?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/Hunabku/~4/TTeK1H8TWto&quot; height=&quot;1&quot; width=&quot;1&quot; alt=&quot;&quot;/&gt;</description>
         <author>Fabio Maulo</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-3924739636407907202.post-3859361600836518172</guid>
         <pubDate>Wed, 03 Nov 2010 14:58:00 +0000</pubDate>
         <media:thumbnail height="72" url="http://lh6.ggpht.com/_s7Ij1CTFJuM/TNGiT-gFHmI/AAAAAAAAATU/HqJXb8MvWQ8/s72-c/wlEmoticon-winkingsmile%5B2%5D.png?imgmax=800" width="72" xmlns:media="http://search.yahoo.com/mrss/"/>
      </item>
      <item>
         <title>Code &amp; Beyond: hablando muchos lenguajes, pero en español</title>
         <link>http://feedproxy.google.com/~r/Arquitexturas/~3/WefNN8iPxKE/code-beyond-hablando-muchos-lenguajes.html</link>
         <description>&lt;p&gt;&lt;img style=&quot;float:right;&quot; title=&quot;cb-iso.png&quot; src=&quot;http://lh4.ggpht.com/_UL5xJ4XsSh8/TNFtT_VDKJI/AAAAAAAAAv0/WCpMFloUXRI/cb-iso.png?imgmax=800&quot; border=&quot;0&quot; alt=&quot;Code &amp;amp; Beyond&quot; width=&quot;203&quot; height=&quot;203&quot;/&gt;&lt;/p&gt;&lt;p&gt;Para quienes han sido fieles lectores de este blog algo abandonado, no podía dejar de invitarlos a seguir mi nueva iniciativa: &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.codeandbeyond.org/&quot;&gt;Code &amp;amp; Beyond&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;El objetivo de este blog (que pronto contará con videos además de noticias) es difundir contenido interesante sobre desarrollo de software en cualquier plataforma y lenguaje, inicialmente al menos, apuntando al mercado hispano-parlante.&lt;/p&gt;&lt;p&gt;La idea es algo que venía rondándome hace tiempo, y que se impulsó por una serie de posibilidades y también gracias al soporte y perseverancia de mi amigo &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.southworks.net/jscopinaro&quot;&gt;Julián Scopinaro&lt;/a&gt;, con quien compartimos tareas de comunicación en &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.southworks.net/&quot;&gt;Southworks&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Hay una breve introducción en &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.codeandbeyond.org/2010/10/bienvenidos-code-beyond.html&quot;&gt;el primer post&lt;/a&gt;, pero aprovecho este blog, más personal, para exponer porqué me parece importante cubrir el espectro &quot;multi-plataforma&quot;:&lt;/p&gt;&lt;p&gt;Por un lado, buena parte de mi carrera la dediqué de una manera u otra a proyectos con problemática fuerte de interoperabilidad, y es una especialidad que me ha sido valiosa y me ha generado muchas oportunidades. Incluso a lo largo de 20 años de relación con Microsoft, ellos mismos me han elegido varias veces para ayudarlos en proyectos que involucraban piezas más allá de su plataforma, y a medida que pasa el tiempo, veo que es cada vez más raro que una solución se pueda diseñar para un entorno homogéneo.&lt;/p&gt;&lt;p&gt;Desde otro ángulo, creo que entender y apreciar otras plataformas nos hace más sólidos y aumenta nuestra capacidad de discernimiento sobre las que estamos usando principalmente en un momento u otro. Desde el punto de vista de la arquitectura de software, por definición no deberíamos permitirnos tomar decisiones con un sesgo específico. Por supuesto, esto no significa que al evaluar alternativas para una solución no consideremos el valor de una plataforma que está más afianzada en la organización, o el equipo domina más. El tema es evitar la decisión por temor o ignorancia (si es que no son al final la misma cosa).&lt;/p&gt;&lt;p&gt;Tal vez el ejercicio y la disciplina que me exige Code &amp;amp; Beyond me haga escribir más frecuentemente en éste y otros blogs. Éste en particular seguirá siendo un punto donde hablar desde una perspectiva más personal, o compartir material o contenido de actividades mías no relacionadas directamente con el otro.&lt;/p&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/Arquitexturas/~4/WefNN8iPxKE&quot; height=&quot;1&quot; width=&quot;1&quot; alt=&quot;&quot;/&gt;</description>
         <author>Martin Salias</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-7509451738776858118.post-73722417307195651</guid>
         <pubDate>Wed, 03 Nov 2010 11:09:00 +0000</pubDate>
         <media:thumbnail height="72" url="http://lh4.ggpht.com/_UL5xJ4XsSh8/TNFtT_VDKJI/AAAAAAAAAv0/WCpMFloUXRI/s72-c/cb-iso.png?imgmax=800" width="72" xmlns:media="http://search.yahoo.com/mrss/"/>
      </item>
      <item>
         <title>ConfORMando NHibernate 3</title>
         <link>http://feedproxy.google.com/~r/Hunabku/~3/ozvkciFQpZ0/conformando-nhibernate-3.html</link>
         <description>El dia 2 de Noviembre estaré presenciando una charla en el auditorium del MUG (Microsoft Users Group) de Buenos Aires, Rivadavia 1479 1º A.

  
Ver mapa más grande   

La intencción es la de mostrar un uso “distinto” de NHibernate.

Para asistir no se necesita ninguna experiencia previa con NHibernate y si nunca lo han usado verán cuan simple es su uso. Si ya están usando NHibernate, aunque sea &lt;div class=&quot;feedflare&quot;&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/Hunabku?a=ozvkciFQpZ0:VsykBX3cjM0:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Hunabku?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/Hunabku/~4/ozvkciFQpZ0&quot; height=&quot;1&quot; width=&quot;1&quot; alt=&quot;&quot;/&gt;</description>
         <author>Fabio Maulo</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-3924739636407907202.post-5239143535056976139</guid>
         <pubDate>Fri, 15 Oct 2010 16:07:00 +0000</pubDate>
      </item>
      <item>
         <title>Presentando Southworks Professional Improvement Program</title>
         <link>http://feedproxy.google.com/~r/Arquitexturas/~3/No_m52QGUOM/presentando-southworks-professional.html</link>
         <description>&lt;p&gt;Muchos de ustedes ya habrán leído sobre el proyecto Hogwarts en el &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://msmvps.com/blogs/lopez/archive/2010/03/26/hogwarts_2D00_project.aspx&quot;&gt;blog del Maestro&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;La motivación de este proyecto es aportar a la comunidad las prácticas de desarrollo de software que creemos fundamentales en &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.southworks.net&quot;&gt;Southworks&lt;/a&gt;,  y que consistentemente vemos ignoradas o utilizadas parcialmente.&lt;/p&gt;&lt;p&gt;&lt;img style=&quot;float:right;&quot; title=&quot;Screen shot 2010-05-14 at 4.15.39 PM.png&quot; src=&quot;http://lh5.ggpht.com/_UL5xJ4XsSh8/S-2qesjtM1I/AAAAAAAAAnU/kgF0ML2-FUE/Screen%20shot%202010-05-14%20at%204.15.39%20PM.png?imgmax=800&quot; border=&quot;0&quot; alt=&quot;Pruebas Unitarias&quot; width=&quot;194&quot; height=&quot;191&quot;/&gt;&lt;/p&gt;&lt;p&gt;Esto cubre un abanico de metodologías, técnicas y espacios conceptuales bastante amplio, dentro de los cuales arrancamos con un primer curso cubriendo estos temas:&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Test-Driven Development&lt;/li&gt;&lt;li&gt;Inversión de Control e Inyección de Dependencias&lt;/li&gt;&lt;li&gt;Mocking&lt;/li&gt;&lt;li&gt;Principios SOLID&lt;/li&gt;&lt;li&gt;Ejercicios generales utilizando todas la técnicas&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Para cada uno de estos temas tenemos un conjunto de presentaciones, material de soporte para el instructor, proyectos de ejemplo con complejidad creciente y ejercicios de distinta dificultad incluyendo algunas soluciones de referencia.&lt;/p&gt;&lt;p&gt;También tenemos prevista la evaluación posterior a cada curso sobre los resultados de los ejercicios y una serie de preguntas para verificar los conceptos teóricos.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;Nuestro plan inicial se enfocaba principalmente en generar todo este contenido para ejecutar clases presenciales, pero siempre pensamos en compartir en línea una buena parte para llegar a personas interesadas que no podemos alcanzar físicamente.&lt;/p&gt;&lt;p&gt;Sin embargo, la recepción que ha tenido lo que publicó Angel hasta ahora (por ejemplo el &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.youtube.com/user/ajlopez2000#p/a/u/1/VSbx88NJ4-4&quot;&gt;primer&lt;/a&gt; y &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.youtube.com/user/ajlopez2000#p/a/u/0/d6JrhC1u2Dw&quot;&gt;segundo&lt;/a&gt; videos), nos impulsó a acelerar el avance de la faceta en línea del proyecto. El resultado es que estamos muy cerca de abrir a la comunidad el proyecto, basado en la plataforma de entrenamiento &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://moodle.org/&quot;&gt;Moodle&lt;/a&gt;, funcionando por supuesto desde nuestra infraestructura en la nube.&lt;/p&gt;&lt;p&gt;Por supuesto, no descuidaremos la interacción cara a cara. La diferencia es que las sesiones presenciales serán complementarias al contenido en línea, para despejar dudas y realizar prácticas en conjunto. Y obviamente no sólo estarán a cargo y cerca nuestro. Esperamos que diversos grupos puedan replicarlas en forma local.&lt;/p&gt;&lt;p&gt;Interesados: permanecer atentos a este blog y el de &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://msmvps.com/blogs/lopez/&quot;&gt;Angel&lt;/a&gt;. La semana próxima deberíamos estar publicando el sitio final del proyecto. Hogwarts es el nombre de código del proyecto (otra práctica recomendable), pero el nombre oficial, que estamos presentando en sociedad es el del título:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Southworks Professional Improvement Program&lt;/strong&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/Arquitexturas/~4/No_m52QGUOM&quot; height=&quot;1&quot; width=&quot;1&quot; alt=&quot;&quot;/&gt;</description>
         <author>Martin Salias</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-7509451738776858118.post-1559965796515188645</guid>
         <pubDate>Fri, 14 May 2010 16:54:00 +0000</pubDate>
         <media:thumbnail height="72" url="http://lh5.ggpht.com/_UL5xJ4XsSh8/S-2qesjtM1I/AAAAAAAAAnU/kgF0ML2-FUE/s72-c/Screen%20shot%202010-05-14%20at%204.15.39%20PM.png?imgmax=800" width="72" xmlns:media="http://search.yahoo.com/mrss/"/>
      </item>
      <item>
         <title>CloudCamp Buenos Aires</title>
         <link>http://feedproxy.google.com/~r/Arquitexturas/~3/JSAzOOfBmwk/cloudcamp-buenos-aires.html</link>
         <description>&lt;p&gt;El 7 de mayo, la semana pasada, tuvimos la oportunidad de presentar en nuestras oficinas de &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.southworks.net/&quot;&gt;Southworks&lt;/a&gt; el primer &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://cloudcamp.org&quot;&gt;CloudCamp&lt;/a&gt; en Buenos Aires.&lt;/p&gt;&lt;p&gt;&lt;img style=&quot;display:block;margin-left:auto;margin-right:auto;&quot; title=&quot;IMG_9477.JPG&quot; src=&quot;http://lh4.ggpht.com/_UL5xJ4XsSh8/S-sZvBAolGI/AAAAAAAAAnA/HeiPnZSjtOQ/IMG_9477.png?imgmax=800&quot; border=&quot;0&quot; alt=&quot;Asistentes a l CloudCamp&quot; width=&quot;600&quot; height=&quot;369&quot;/&gt;&lt;/p&gt;&lt;p&gt;El evento salió muy bien, desde mi punto de vista y por el feedback de la gente, y esperamos compartir muy pronto algunos videos grabados durante el evento.&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size:small;&quot;&gt;&lt;span style=&quot;font-size:11px;&quot;&gt;&lt;img style=&quot;float:right;&quot; title=&quot;IMG_9473.JPG&quot; src=&quot;http://lh6.ggpht.com/_UL5xJ4XsSh8/S-sZtZyBZNI/AAAAAAAAAm8/A8sSova2gEc/IMG_9473.JPG?imgmax=800&quot; border=&quot;0&quot; alt=&quot;Dave Nielsen en la apertura&quot; width=&quot;200&quot; height=&quot;128&quot;/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Tuvimos la presencia de uno de los fundadores del CloudCamp, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://twitter.com/davenielsen&quot;&gt;Dave Nielsen&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Dave realizó la apertura del evento, explicando la estructura y la mecánica del evento, que contó con presentaciones relámpago (de 5 minutos) de cada uno de los sponsors: Microsoft, Southworks y Globant.&lt;/p&gt;&lt;p&gt;Luego de estas presentaciones pasamos al Unpanel (un anti-panel), con expertos que se propusieron como voluntarios en el momento mismo y contestaron a las preguntas de los asistentes.&lt;/p&gt;&lt;p&gt;&lt;img style=&quot;float:right;&quot; title=&quot;IMG_9504.JPG&quot; src=&quot;http://lh6.ggpht.com/_UL5xJ4XsSh8/S-sZxF4OzJI/AAAAAAAAAnI/JtWwFaoAMbg/IMG_9504.JPG?imgmax=800&quot; border=&quot;0&quot; alt=&quot;IMG_9504.JPG&quot; width=&quot;200&quot; height=&quot;229&quot;/&gt;&lt;/p&gt;&lt;p&gt;El trío de expertos quedó conformado por:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://community.jrapid.com/profile/MatiasBagini&quot;&gt;Matías Bagini&lt;/a&gt; de &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.jrapid.com/&quot;&gt;JRapid&lt;/a&gt; (y organizador del Amazon User Group de Argentina)&lt;/li&gt;&lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/scottdensmore/&quot;&gt;Scott Densmore&lt;/a&gt; de &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://msdn.microsoft.com/en-us/practices/&quot;&gt;Microsoft patterns &amp;amp; practices&lt;/a&gt; (en la foto junto a él, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/eugeniop/&quot;&gt;Eugenio Pace&lt;/a&gt;, también de p&amp;amp;p, haciendo de intérprete).&lt;/li&gt;&lt;li&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.southworks.net/jhalife/&quot;&gt;Johnny Halife&lt;/a&gt; de Southworks&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;A ellos se sumó parcialmente Dave en algunas respuestas del público, y de muchas de las preguntas se perfilaron los temas para las sesiones de los Open Spaces posteriores, a las que se sumaron algunas propuestas que el público votó en el momento.&lt;/p&gt;&lt;p&gt;Los temas que quedaron fueron:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Private clouds&lt;/li&gt;&lt;li&gt;Migrando aplicaciones a Windows Azure&lt;/li&gt;&lt;li&gt;NoSQL (y otros patrones de acceso a datos)&lt;/li&gt;&lt;li&gt;Seguridad en la nube&lt;/li&gt;&lt;li&gt;Google App Engine&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;En la foto aparecemos quienes quedamos a cargo de los temas, aunque en general se trató de discusiones participativas. De izquierda a derecha, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.southworks.net/aortega/&quot;&gt;Beto Ortega&lt;/a&gt; (Southworks), Scott Densmore (Microsoft), &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://fabiomaulo.blogspot.com/&quot;&gt;Fabio Maulo&lt;/a&gt; (NHibernate), yo (Southworks) y &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://twitter.com/pfrancav&quot;&gt;Pablo Francavilla&lt;/a&gt; (GetSense).&lt;/p&gt;&lt;p&gt;&lt;img style=&quot;display:block;margin-left:auto;margin-right:auto;&quot; title=&quot;IMG_9513.JPG&quot; src=&quot;http://lh6.ggpht.com/_UL5xJ4XsSh8/S-sZx_d7qSI/AAAAAAAAAnM/fyRQ_wK4pA4/IMG_9513.JPG?imgmax=800&quot; border=&quot;0&quot; alt=&quot;IMG_9513.JPG&quot; width=&quot;400&quot; height=&quot;254&quot;/&gt;&lt;/p&gt;&lt;p&gt;Quiero agradecer especialmente a &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.southworks.net/jscopinaro/&quot;&gt;Julián Scopinaro&lt;/a&gt; por su trabajo impecable coordinando todas la actividades necesarias para que el evento haya salido perfecto, a &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.southworks.net/mszklanny/&quot;&gt;Mariano &quot;Pocho&quot; Szklanny&lt;/a&gt; por sus fotos (las de este post son apenas una muestra), y a nuestro cameraman exclusivo, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.southworks.net/gmaliandi/&quot;&gt;Guido Maliandi&lt;/a&gt;, quien capturó en video la mayor parte del evento, para que pronto podamos compartirlo con el resto del mundo.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/Arquitexturas/~4/JSAzOOfBmwk&quot; height=&quot;1&quot; width=&quot;1&quot; alt=&quot;&quot;/&gt;</description>
         <author>Martin Salias</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-7509451738776858118.post-3535059314631443622</guid>
         <pubDate>Wed, 12 May 2010 18:12:00 +0000</pubDate>
         <media:thumbnail height="72" url="http://lh4.ggpht.com/_UL5xJ4XsSh8/S-sZvBAolGI/AAAAAAAAAnA/HeiPnZSjtOQ/s72-c/IMG_9477.png?imgmax=800" width="72" xmlns:media="http://search.yahoo.com/mrss/"/>
      </item>
      <item>
         <title>Video de mi VAN sobre Automatización</title>
         <link>http://feedproxy.google.com/~r/Arquitexturas/~3/sJDEeKqlHkk/video-de-mi-van-sobre-automatizacion.html</link>
         <description>&lt;p&gt;Gracias nuevamente a los amigos de &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://altnethispano.org/&quot;&gt;Alt.NET Hispano&lt;/a&gt;, y sobre todo a &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blog.kudewe.com/&quot;&gt;Fernando Claverino&lt;/a&gt;, quien se tomó el trabajo de redactar el &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://altnet-hispano.pbworks.com/van-2009-12-18-automatizacion&quot;&gt;resumen disponible en la Wiki del grupo&lt;/a&gt;, si quieren ahorrar una hora y media, que es lo que dura el video.&lt;/p&gt; &lt;embed src=&quot;http://www.viddler.com/player/3697ccb4/&quot; width=&quot;545&quot; height=&quot;451&quot; type=&quot;application/x-shockwave-flash&quot; name=&quot;viddler_3697ccb4&quot;&gt;&lt;/iframe&gt;  &lt;img src=&quot;http://feeds.feedburner.com/~r/Arquitexturas/~4/sJDEeKqlHkk&quot; height=&quot;1&quot; width=&quot;1&quot; alt=&quot;&quot;/&gt;</description>
         <author>Martin Salias</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-7509451738776858118.post-840962574478281273</guid>
         <pubDate>Tue, 02 Feb 2010 13:44:00 +0000</pubDate>
      </item>
      <item>
         <title>MVP otra vez</title>
         <link>http://feedproxy.google.com/~r/Arquitexturas/~3/bIb8jWWuBJw/mvp-otra-vez.html</link>
         <description>&lt;img style=&quot;border-bottom:0px;border-left:0px;margin:0px 0px 10px 10px;display:inline;border-top:0px;border-right:0px;&quot; title=&quot;Microsoft Most Valuable Professional&quot; border=&quot;0&quot; alt=&quot;Microsoft Most Valuable Professional&quot; align=&quot;right&quot; src=&quot;http://lh6.ggpht.com/_UL5xJ4XsSh8/S2hUZhMnlZI/AAAAAAAAAlo/OUgCWVFqFBU/MVP_horizontal%5B4%5D.png?imgmax=800&quot; width=&quot;244&quot; height=&quot;101&quot;/&gt;&lt;p&gt;Ya se me hizo costumbre, como sucede desde 2002, empezar el año con el mensaje de felicitación anunciando el premio &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://mvp.support.microsoft.com/&quot;&gt;MVP&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Como siempre, la sensación es de cierto orgullo y un poco de perplejidad porque no me parece que mi contribución sea tan grande, sobre todo comparándola con la de otros MVP alrededor del mundo a los que admiro.&lt;/p&gt;  &lt;p&gt;Pero en fin, sigo en la musical categoría de C#, supongo que porque es el paraguas en el que agrupan a quienes estamos alrededor de otros lenguajes que no tienen aún su propia categoría (tal vez por ser aún más proyectos que productos completos).&lt;/p&gt;  &lt;p&gt;Como todos los años, espero dedicarme principalmente a aprender más sobre otro lenguaje. La década pasada la dediqué con mayor o menor profundidad a Eiffel, C# mismo, ML, Boo (poco), Python (después de años de mis primeros contactos), el 2009 me concentré en F#, y este pienso dedicarlo seriamente a &lt;strong&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.ruby-lang.org/&quot;&gt;Ruby&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;La decisión tiene que ver con dos hechos principales: uno es tener cerca un fanático de Ruby como &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.southworks.net/jhalife/&quot;&gt;Johnny Halife&lt;/a&gt;, y por otro lado el hecho de que la implementación de Ruby en .NET, &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://ironruby.codeplex.com/&quot;&gt;IronRuby&lt;/a&gt;, haya llegado al RC1 (primer Release Candidate, lo que significa que está muy cerca de la versión final).&lt;/p&gt;  &lt;p&gt;Por esto, sería de esperar (y aquí tomo un compromiso personal que espero poder cumplir) que este año publique unos cuantos post y de algunas charlas sobre Ruby (la versión multiplataforma, basada en C) y sobre IronRuby (la versión basada en el &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://dlr.codeplex.com/&quot;&gt;DLR&lt;/a&gt;), y la interoperabilidad entre ambas.&lt;/p&gt;  &lt;img src=&quot;http://feeds.feedburner.com/~r/Arquitexturas/~4/bIb8jWWuBJw&quot; height=&quot;1&quot; width=&quot;1&quot; alt=&quot;&quot;/&gt;</description>
         <author>Martin Salias</author>
         <guid isPermaLink="false">tag:blogger.com,1999:blog-7509451738776858118.post-3619206978738225540</guid>
         <pubDate>Thu, 07 Jan 2010 13:34:00 +0000</pubDate>
         <media:thumbnail height="72" url="http://lh6.ggpht.com/_UL5xJ4XsSh8/S2hUZhMnlZI/AAAAAAAAAlo/OUgCWVFqFBU/s72-c/MVP_horizontal%5B4%5D.png?imgmax=800" width="72" xmlns:media="http://search.yahoo.com/mrss/"/>
      </item>
   </channel>
</rss>
<!-- fe2.yql.bf1.yahoo.com compressed/chunked Thu Oct  1 22:32:50 UTC 2015 -->
