<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>WillyXoft</title>
	<atom:link href="http://willyxoft.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://willyxoft.wordpress.com</link>
	<description>Software, Servicios, Seguridad y más...</description>
	<lastBuildDate>Sun, 01 Jan 2012 10:14:02 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='willyxoft.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>WillyXoft</title>
		<link>http://willyxoft.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://willyxoft.wordpress.com/osd.xml" title="WillyXoft" />
	<atom:link rel='hub' href='http://willyxoft.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Felices Fiestas</title>
		<link>http://willyxoft.wordpress.com/2011/12/07/felices-fiestas-2011/</link>
		<comments>http://willyxoft.wordpress.com/2011/12/07/felices-fiestas-2011/#comments</comments>
		<pubDate>Wed, 07 Dec 2011 16:30:00 +0000</pubDate>
		<dc:creator>Willy Mejia</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">https://willyxoft.wordpress.com/?p=2070</guid>
		<description><![CDATA[Les deseo sinceramente que tod@s pasen unas excelentes fiestas de fin de año, de modo que nos recarguen de esperanza y de buenos propósitos para el siguiente...<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=willyxoft.wordpress.com&amp;blog=599683&amp;post=2070&amp;subd=willyxoft&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div><img style="display:inline;border-width:0;margin:0 0 0 20px;" title="holydays" border="0" alt="holydays" align="right" src="http://lh5.ggpht.com/_RKNc-XhVUcA/Sy9Oz8OWWKI/AAAAAAAAAMQ/KhgGqj8Evs4/holiday%5B2%5D.jpg" width="240" height="168" /></div>
<p><em>Que en éstas fechas se encienda y brille en nuestros hogares la luz del espíritu fraterno. Que nazca el deseo de dar, sobretodo calidad humana a los demás… Y que ese mismo espíritu se mantenga durante todo el año.</em></p>
<p>Deseo sinceramente que tod@s pasen unas excelentes fiestas de fin de año, de modo que nos recarguen de esperanza y de buenos propósitos para el siguiente.</p>
<p>Sin duda en éstos años hubo de todo, tanto tecnológica como personalmente hablando. Lamentablemente por diversos motivos estuve desconectado y he abandonado mucho este blog. Espero que en el próximo no se vuelva a repetir…</p>
<h3><font color="#008040"><strong>¡Felices fiestas de invierno y un muy próspero y saludable 2012!</strong></font></h3>
<p> 
<p>Finalmente, les dejo este video ad-hoc <strike>que anda rondando en la red desde hace dos años</strike>:</p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='640' height='390' src='http://www.youtube.com/embed/GkHNNPM7pJA?version=3&amp;rel=1&amp;fs=1&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;wmode=transparent' frameborder='0'></iframe></span>
<br />Filed under: <a href='http://willyxoft.wordpress.com/category/personal/'>Personal</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/willyxoft.wordpress.com/2070/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/willyxoft.wordpress.com/2070/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/willyxoft.wordpress.com/2070/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/willyxoft.wordpress.com/2070/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/willyxoft.wordpress.com/2070/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/willyxoft.wordpress.com/2070/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/willyxoft.wordpress.com/2070/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/willyxoft.wordpress.com/2070/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/willyxoft.wordpress.com/2070/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/willyxoft.wordpress.com/2070/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/willyxoft.wordpress.com/2070/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/willyxoft.wordpress.com/2070/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/willyxoft.wordpress.com/2070/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/willyxoft.wordpress.com/2070/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=willyxoft.wordpress.com&amp;blog=599683&amp;post=2070&amp;subd=willyxoft&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://willyxoft.wordpress.com/2011/12/07/felices-fiestas-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8f1af101ba91a1bb896d79a89fafb050?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">WillyXoft</media:title>
		</media:content>

		<media:content url="http://lh5.ggpht.com/_RKNc-XhVUcA/Sy9Oz8OWWKI/AAAAAAAAAMQ/KhgGqj8Evs4/holiday%5B2%5D.jpg" medium="image">
			<media:title type="html">holydays</media:title>
		</media:content>
	</item>
		<item>
		<title>Ataque Padding Oracle en ASP.NET</title>
		<link>http://willyxoft.wordpress.com/2010/09/22/vulnerabilidad-padding-oracle-aspnet/</link>
		<comments>http://willyxoft.wordpress.com/2010/09/22/vulnerabilidad-padding-oracle-aspnet/#comments</comments>
		<pubDate>Thu, 23 Sep 2010 03:49:21 +0000</pubDate>
		<dc:creator>Willy Mejia</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Seguridad]]></category>

		<guid isPermaLink="false">https://willyxoft.wordpress.com/2010/09/22/vulnerabilidad-padding-oracle-aspnet/</guid>
		<description><![CDATA[Durante la conferencia de seguridad ekoparty, el pasado 17 de septiembre, Juliano Rizzo  y Thai Duong demostraron cómo realizar ataques “Padding Oracle” a sitios web ASP.NET explotando una vulnerabilidad del framework. Con ello el atacante puede descifrar cualquier información sensible guardada del lado cliente, e incluso descargar archivos “prohibidos” como web.config y tener acceso a sus datos sensibles, por ejemplo: cadenas de conexión, credenciales de seguridad, etc.  Ante ello Scott Guthrie escribió un post sobre dicha vulnerabilidad, mientras que Microsoft lanzó el Aviso de Seguridad (2416728) que describe la vulnerabilidad que afecta a todas las versiones de ASP.NET. La vulnerabilidad afecta a todas las versiones de ASP.NET desde 1 hasta 4 y afecta a todos los frameworks de desarrollo de ASP.NET (ASP.NET WebForms, ASP.NET MVC,  etc.). Incluso productos basados en ASP.NET se ven afectados...<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=willyxoft.wordpress.com&amp;blog=599683&amp;post=1997&amp;subd=willyxoft&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Durante la conferencia de seguridad <a href="http://www.ekoparty.org/" target="_blank">ekoparty</a>, el pasado 17 de septiembre, Juliano Rizzo (@julianor) y Thai Duong (@thaidn) demostraron cómo realizar ataques “Padding Oracle” a sitios web ASP.NET explotando una vulnerabilidad del framework. Con ello el atacante puede descifrar cualquier información sensible guardada del lado cliente, e incluso descargar archivos “prohibidos” como web.config y tener acceso a sus datos sensibles, por ejemplo: cadenas de conexión, credenciales de seguridad, etc.</p>
<blockquote><p>En resumen, se puede descifrar las cookies, los “ViewState”, tickets de autenticación, contraseñas de membrecía, datos de usuario, y cualquier otra cosa cifrada usando la API del framework</p>
<p>- Juliano Rizzo</p>
</blockquote>
<p>Ante ello <a href="http://weblogs.asp.net/scottgu/archive/2010/09/18/important-asp-net-security-vulnerability.aspx" target="_blank">Scott Guthrie escribió un post</a> sobre dicha vulnerabilidad, mientras que Microsoft lanzó el <a href="http://www.microsoft.com/technet/security/advisory/2416728.mspx" target="_blank">Aviso de Seguridad (2416728)</a> que describe la vulnerabilidad que afecta a todas las versiones de ASP.NET. La vulnerabilidad afecta a todas las versiones de ASP.NET desde 1.x hasta el 4.0 y afecta a todos los frameworks de desarrollo de ASP.NET (ASP.NET WebForms, ASP.NET MVC,&#160; etc.). Por ende productos basados en ASP.NET, como <a href="http://blogs.msdn.com/b/sharepoint/archive/2010/09/21/security-advisory-2416728-vulnerability-in-asp-net-and-sharepoint.aspx" target="_blank">SharePoint</a>, <a href="http://blogs.msdn.com/b/bharry/archive/2010/09/23/security-vulnerability.aspx" target="_blank">Team Foundation Server</a>, entre otros, se ven afectados también.</p>
<p><strong>El “Padding Oracle”</strong></p>
<p>Serge Vaudenay, profesor del Laboratorio de Seguridad y Criptografía (LASEC) del Instituto Federal Suizo de Tecnología (EPFL), publicó en 2002 el documento &quot;<a href="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.134.3005&amp;rep=rep1&amp;type=pdf" target="_blank">Security Flaws Induced by CBC Padding Applications to SSL, IPSEC, WTLS&#8230;</a>&quot; [PDF], donde señala que varios sistemas de &quot;<strong>relleno</strong>&quot; (padding) de cifrado utilizados en sistemas de entrada de longitud variable pueden introducir grandes fallos de seguridad.</p>
<p>Cuando un mensaje cifrado de entrada de longitud variable se descifra basado en el algoritmo <a href="http://www.rfc-editor.org/rfc/rfc2040.txt" target="_blank">RFC 2040</a>, el receptor tiene que determinar lo que es <em>relleno</em>, si el relleno es correcto, entonces lo descarta. Pero el RFC 2040 no especifica lo que el receptor debe hacer si el relleno no es correcto. Esto conduce a un ataque que utilice un <em>oráculo</em> para cualquier boque de secuencia que le diga si el relleno de la secuencia CBC-descifrada correspondiente es correcta de acuerdo al algoritmo RFC 2040.</p>
<p>Según Vaudenay, esta vulnerabilidad puede afectar a protocolos como SSL, IPSec, WTLS, SSH, existiendo la posibilidad de descifrar los datos cifrados sin tener la clave secreta. Él demuestra cómo funciona el ataque y sugiere una posible vía para solucionar la vulnerabilidad.</p>
<p><strong>¿Como funciona?</strong></p>
<p>Se puede consultar este artículo: <a href="http://www.gdssecurity.com/l/b/2010/09/14/automated-padding-oracle-attacks-with-padbuster/" target="_blank">Automated Padding Oracle Attacks with PadBuster</a>, que también muestra cómo funcionan los algoritmos explotados.</p>
<p>En resumen, los algoritmos de cifrado trabajan sobre bloques de datos (de 8 o 16 bytes por lo general), los bytes restantes son de &quot;<strong>relleno</strong>&quot; (padding). Por ejemplo, una palabra de 6 letras &quot;BANANA&quot;, se rellenará con dos bytes para convertirse en el bloque de 8 bytes.</p>
<p><a href="http://www.gdssecurity.com/l/po_fig1.png" target="_blank"><img border="0" src="http://lh4.ggpht.com/_Qbax2DGZEkU/TJX1p6P3jYI/AAAAAAAAB-o/UPJkI99t7iI/po_fig1%5B27%5D.png" width="500" height="277" /></a></p>
<p>Se le denomina &quot;<strong>Oracle</strong>&quot; al mecanismo dentro de un sistema de cifrado capaz de proporcionar una respuesta <em>Válido</em> o <em>Inválido</em> para un determinado texto cifrado. Por lo tanto, el &quot;<strong>Padding Oracle</strong>&quot; es un mecanismo, capaz de responder, si el relleno del texto cifrado es válido o no.</p>
<p>Los algoritmos de cifrado construidos en Microsoft .NET Framework, disparan un <em>System.Security.Cryptography.CryptographicException</em> con el mensaje &quot;<em>Padding is invalid and cannot be removed&quot;</em> en caso de que el relleno no sea válido. Así que ese es nuestro Padding Oracle a utilizar…</p>
<p><strong>El ataque</strong></p>
<p>El siguiente video muestra cómo se puede tirar una instalación de DotNetNuke, al obtener la clave de cifrado y cifrar sus propias cookies SuperUser:</p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='640' height='390' src='http://www.youtube.com/embed/yghiC_U2RaM?version=3&amp;rel=1&amp;fs=1&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;wmode=transparent' frameborder='0'></iframe></span>
<p>Lo cual podríamos resumir a lo siguiente:</p>
<ul>
<li>
<p>El atacante localiza una cadena Base64, que suele ser un texto cifrado. En ASP.NET podría obtenerse fácilmente de la URL del WebResource.axd o de una cookie de autenticación.</p>
</li>
<li>
<p>El atacante cambia un byte del texto cifrado y lo envía al oráculo, preguntando &quot;¿es válido?&quot;, hasta que el byte es descifrado. Las respuestas &quot;Vaildo / Invalido&quot; son simplemente entendidas por el examen de las respuestas del servidor, por ejemplo, el código de error 500 significa que el texto no es válido y los 404 que es válido pero no se pudo descifrar.        </p>
<p>El ataque no está en función del código de error en sí, sino que basta vigilar cualquier comportamiento anormal. Incluso si el sitio web devuelve la misma página de error en todos los casos, el atacante podría hacer uso de las diferencias de tiempo, según lo declarado por Thai Duong.</p>
</li>
</ul>
<ul>
<li>
<p>Después de conseguir con éxito la clave secreta ASP.NET, la <strong>machineKey</strong>, el atacante puede crear sus propias &quot;cookies&quot; y comenzar a usar el sistema como administrador o bien podría descargar sus archivos sensibles, por ejemplo, web.config.</p>
<p>Adicionalmente, el atacante podría utilizar la vulnerabilidad para cifrar su propio sistema de cifrado <strong>sin tener la clave de cifrado original</strong>.</p>
</li>
</ul>
<blockquote><p>Dado que HTTP es un protocolo sin estado, los desarrolladores web deben manejar los estados en el servidor, o empujarlos al cliente. Por motivos de rendimiento y escalabilidad, muchos desarrolladores web tienden a ir con este último método. Quieren mantener al estado como un secreto, y recurrir a la criptografía, que es la herramienta adecuada. Sin embargo, la usan indebidamente, es decir, sin aplicar un MAC para el texto cifrado, ni utilizar un modo de cifrado de bloque autenticado, haciendo sus sistemas vulnerables</p>
<p>- Juliano Rizzo</p>
</blockquote>
<p>NOTA: Si bien este post se centra en el ataque dirigido a la plataforma ASP.NET, el ataque Padding Oracle no es exclusivo de dicha plataforma, de hecho un primer ataque fue dirigido hacia la plataforma JSF, específicamente a MyFaces, cuyo video se puede ver a continuación:</p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='640' height='390' src='http://www.youtube.com/embed/euujmKDxmC4?version=3&amp;rel=1&amp;fs=1&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;wmode=transparent' frameborder='0'></iframe></span>
<p>Así mismo se la lanzado otra <a href="http://www.ampliasecurity.com/blog/2010/09/28/a_padding_oracle_attack_implemented_in_javascript/" target="_blank">implementación en JavaScript</a> y nada descarta que en el futuro se implementen otros exploits para otros objetivos…</p>
<p><strong>Protegiéndose</strong></p>
<p>Scott Guthrie a dicho que su equipo está trabajando en un nuevo parche de seguridad que se publicará como parte de la actualización Windows lo más pronto posible. Mientras tanto los profesionales de TI y desarrolladores necesitan proteger sus propias aplicaciones mediante las siguientes medidas.</p>
<ul>
<li>
<p>Nunca permita que su aplicación devuelva la página amarilla de error (aka YSOD) cuando se produzca una excepción, esto es de por sí malo ya que permitirá a los usuarios finales examinar las excepciones al detalle. Por ello, el solo encender la opción &lt;customeErrors&gt; no es suficiente si solo enviará un mensaje YSOD</p>
</li>
<li>
<p>Nunca guarde información sensible en cookies, ViewState o cualquier otro estado del lado cliente, porque siempre habrá una oportunidad que sea filtrado a usuarios malintencionados. Considere la posibilidad de almacenar datos en el servidor</p>
</li>
</ul>
<ul>
<li>
<p>Lea y aplique el paseo descrito en el post de Scott Guthrie: <a href="http://weblogs.asp.net/scottgu/archive/2010/09/18/important-asp-net-security-vulnerability.aspx" target="_blank"><strong>Important: ASP.NET Security Vulnerability</strong></a>, que muestra cómo redirigir todos los errores de página y añadir un tiempo de retraso al azar; si bien <a href="http://blogs.microsoft.co.il/blogs/linqed/archive/2010/09/19/padding-oracle-asp-net-vulnerability-explanation.aspx" target="_blank">no es suficiente</a>, hará las cosas más difíciles para el atacante y lo confundirá más. Así mismo lea la actualización: <a href="http://weblogs.asp.net/scottgu/archive/2010/09/24/update-on-asp-net-vulnerability.aspx" target="_blank"><strong>Update on ASP.NET Vulnerability</strong></a> y las P&amp;R: <a href="http://weblogs.asp.net/scottgu/archive/2010/09/20/frequently-asked-questions-about-the-asp-net-security-vulnerability.aspx" target="_blank"><strong>Frequently Asked Questions about the ASP.NET Security Vulnerability</strong></a></p>
</li>
<li>
<p>Adicionalmente asegúrese que el servidor de su aplicación se puede defender contra ataques <a href="http://en.wikipedia.org/wiki/Denial-of-service_attack">DoS</a>. La vulnerabilidad expuesta inunda el servidor con miles de peticiones. La defensa de los servidores web y sus aplicaciones contra ataques de denegación de servicio es siempre un requisito a tener en cuenta cuando se implementa un servidor web. Para ello puede utilizar cortafuegos, routers, ISA o el <a href="http://www.iis.net/download/DynamicIPRestrictions">IIS</a>, así mismo a nivel de hardware. Consulte al respecto con el soporte técnico de su servicio de host</p>
</li>
</ul>
<p><strong><font color="#ff0000">[Actualización - 28 de Septiembre]</font></strong></p>
<p>Microsoft acaba de publicar el boletín de seguridad <a href="http://www.microsoft.com/technet/security/bulletin/MS10-070.mspx" target="_blank">MS10-070</a> anunciando el lanzamiento de la actualización de seguridad para hacer frente a la vulnerabilidad de seguridad de ASP.NET. La actualización de seguridad está programada para ser lanzada hoy martes 28 de septiembre a través del Centro de descarga de Microsoft, y en unos días a través de Windows Update y Windows Server Update Services. </p>
<p>El boletín tiene por objeto que los administradores estén mejor preparados una vez que la actualización sea liberada. Puede aprender más acerca de la actualización de seguridad en el <a title="Out of Band Release to Address Microsoft Security Advisory 2416728" href="http://blogs.technet.com/b/msrc/archive/2010/09/27/out-of-band-release-to-address-microsoft-security-advisory-2416728.aspx" target="_blank">Microsoft Security Response Center</a>. También se llevará a cabo una transmisión especial hoy a las 1:00 PM PDT (3:00 PM México), donde se presentará información sobre el boletín; si está interesado en asistir, haga clic <a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032464130&amp;Culture=en-US" target="_blank">aquí</a> para registrarse.</p>
<p>&#160;</p>
<p><strong>Mas Info:</strong></p>
<ul>
<li>
<p>Padding Oracle Attack</p>
<ul>
<li>
<p><a href="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.134.3005&amp;rep=rep1&amp;type=pdf" target="_blank">Security Flaws Induced by CBC Padding Applications to SSL, IPSEC, WTLS&#8230;</a> [PDF] (Serge Vaudenay, 2002)</p>
</li>
<li>
<p><a href="http://usenix.org/events/woot10/tech/full_papers/Rizzo.pdf" target="_blank">Practical Padding Oracle Attacks</a> [PDF]</p>
</li>
<li>
<p><a href="http://netifera.com/research/" target="_blank">Padding Oracle Exploit Tool (POET) </a></p>
</li>
<li>
<p><a href="http://www.gdssecurity.com/l/b/2010/09/14/automated-padding-oracle-attacks-with-padbuster/" target="_blank">Automated Padding Oracle Attacks with PadBuster</a></p>
</li>
<li>
<p><a href="http://www.ampliasecurity.com/blog/2010/09/28/a_padding_oracle_attack_implemented_in_javascript/" target="_blank">A Padding Oracle Attack Implemented In Javascript</a>&#160;<font color="#ff0000"><strike>¡Nuevo!</strike></font></p>
</li>
<li>
<p><a href="http://www.gdssecurity.com/l/b/2010/10/04/padbuster-v0-3-and-the-net-padding-oracle-attack/" target="_blank">PadBuster v0.3 and the .NET Padding Oracle Attack</a>&#160;<font color="#ff0000">¡Nuevo!</font></p>
</li>
</ul>
</li>
<li>
<p><a href="http://www.troyhunt.com/2010/09/fear-uncertainty-and-and-padding-oracle.html" target="_blank">Fear, uncertainty and and the padding oracle exploit in ASP.NET</a></p>
</li>
<li>
<p>ScottGu’s Blog:</p>
<ul>
<li>
<p><a href="http://weblogs.asp.net/scottgu/archive/2010/09/18/important-asp-net-security-vulnerability.aspx" target="_blank">Important: ASP.NET Security Vulnerability</a></p>
</li>
<li>
<p><a href="http://weblogs.asp.net/scottgu/archive/2010/09/20/frequently-asked-questions-about-the-asp-net-security-vulnerability.aspx" target="_blank">Frequently Asked Questions about the ASP.NET Security Vulnerability</a></p>
</li>
<li>
<p><a href="http://weblogs.asp.net/scottgu/archive/2010/09/24/update-on-asp-net-vulnerability.aspx">Update on ASP.NET Vulnerability</a></p>
</li>
<li>
<p><a href="http://weblogs.asp.net/scottgu/archive/2010/09/27/asp-net-security-update-shipping-tuesday-sept-28th.aspx" target="_blank">ASP.NET Security Update Shipping Tuesday, Sept 28th</a> </p>
</li>
<li>
<p><a href="http://weblogs.asp.net/scottgu/archive/2010/09/28/asp-net-security-update-now-available.aspx" target="_blank">ASP.NET Security Update Now Available</a>&#160; <font color="#ff0000"><strike>¡Nuevo!</strike></font></p>
</li>
<li>
<p><a href="http://weblogs.asp.net/scottgu/archive/2010/09/30/asp-net-security-fix-now-on-windows-update.aspx" target="_blank">ASP.NET Security Fix Now on Windows Update</a><font color="#ff0000"><strong>&#160;</strong>¡Nuevo!</font></p>
</li>
</ul>
</li>
<li>
<p><a href="http://blogs.microsoft.co.il/blogs/linqed/archive/2010/09/19/padding-oracle-asp-net-vulnerability-explanation.aspx" target="_blank">“Padding Oracle” ASP.NET Vulnerability Explanation</a></p>
</li>
<li>
<p><a href="http://www.acunetix.com/blog/news/check-application-vulnerable-asp-net-padding-oracle-vulnerability/" target="_blank">How to check if your application is vulnerable to the ASP.NET Padding Oracle Vulnerability</a></p>
</li>
<li>
<p><a href="http://blog.dotsmart.net/2010/09/22/asp-net-padding-oracle-detector/" target="_blank">ASP.NET Padding Oracle Detector</a></p>
</li>
<li>
<p>The Microsoft Security Response Center (MSRC):</p>
<ul>
<li>
<p><a href="http://blogs.technet.com/b/msrc/archive/2010/09/17/security-advisory-2416728-released.aspx" target="_blank">Security Advisory 2416728 Released</a></p>
</li>
<li>
<p><a href="http://blogs.technet.com/b/msrc/archive/2010/09/20/update-to-security-advisory-2416728.aspx" target="_blank">Update to Security Advisory 2416728</a></p>
</li>
<li>
<p><a href="http://blogs.technet.com/b/msrc/archive/2010/09/24/security-advisory-2416728-workaround-update.aspx" target="_blank">Security Advisory 2416728 &#8211; Workaround Update</a></p>
</li>
<li>
<p><a href="http://blogs.technet.com/b/msrc/archive/2010/09/27/out-of-band-release-to-address-microsoft-security-advisory-2416728.aspx" target="_blank">Out of Band Release to Address Microsoft Security Advisory 2416728</a></p>
</li>
<li>
<p><a href="http://blogs.technet.com/b/msrc/archive/2010/09/28/ms10-070-released-out-of-band-today.aspx">MS10-070 Released Out-of-Band Today</a>&#160;<font color="#ff0000"><strike>¡Nuevo!</strike></font></p>
</li>
</ul>
</li>
<li>
<p><a href="http://www.microsoft.com/technet/security/advisory/2416728.mspx" target="_blank">Microsoft Security Advisory (2416728)</a> =&gt; <a href="http://www.microsoft.com/technet/security/bulletin/MS10-070.mspx" target="_blank">Microsoft Security Bulletin MS10-070</a>&#160;<font color="#ff0000"><strike>¡Nuevo!</strike></font></p>
</li>
<li>
<p><a href="http://www.microsoft.com/technet/security/bulletin/ms10-sep.mspx" target="_blank">Microsoft Security Bulletin Summary for September 2010</a> <font color="#ff0000"><strike>¡Nuevo!</strike></font></p>
</li>
</ul>
<br />Filed under: <a href='http://willyxoft.wordpress.com/category/net/aspnet/'>ASP.NET</a>, <a href='http://willyxoft.wordpress.com/category/seguridad/'>Seguridad</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/willyxoft.wordpress.com/1997/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/willyxoft.wordpress.com/1997/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/willyxoft.wordpress.com/1997/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/willyxoft.wordpress.com/1997/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/willyxoft.wordpress.com/1997/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/willyxoft.wordpress.com/1997/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/willyxoft.wordpress.com/1997/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/willyxoft.wordpress.com/1997/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/willyxoft.wordpress.com/1997/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/willyxoft.wordpress.com/1997/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/willyxoft.wordpress.com/1997/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/willyxoft.wordpress.com/1997/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/willyxoft.wordpress.com/1997/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/willyxoft.wordpress.com/1997/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=willyxoft.wordpress.com&amp;blog=599683&amp;post=1997&amp;subd=willyxoft&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://willyxoft.wordpress.com/2010/09/22/vulnerabilidad-padding-oracle-aspnet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8f1af101ba91a1bb896d79a89fafb050?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">WillyXoft</media:title>
		</media:content>

		<media:content url="http://lh4.ggpht.com/_Qbax2DGZEkU/TJX1p6P3jYI/AAAAAAAAB-o/UPJkI99t7iI/po_fig1%5B27%5D.png" medium="image" />
	</item>
		<item>
		<title>Oracle + Sun</title>
		<link>http://willyxoft.wordpress.com/2010/01/28/oracle-sun-fusion/</link>
		<comments>http://willyxoft.wordpress.com/2010/01/28/oracle-sun-fusion/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 14:00:00 +0000</pubDate>
		<dc:creator>Willy Mejia</dc:creator>
				<category><![CDATA[Informática e Internet]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Servicios]]></category>

		<guid isPermaLink="false">http://willyxoft.wordpress.com/2010/01/28/oracle-sun/</guid>
		<description><![CDATA[El día de ayer, Enero 27 de 2010, Oracle anunció terminada su adquisición de Sun. Oracle nos invita a ver su serie de Webcast sobre la estrategia de productos Oracle + Sun, en los cuales podremos conocer mas acerca de la combinación Sun y Oracle y de lo que ello significará para nosotros. Mayor información [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=willyxoft.wordpress.com&amp;blog=599683&amp;post=1968&amp;subd=willyxoft&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img style="display:inline;margin:0 0 10px 10px;" border="0" alt="Sun Customers" align="right" src="http://www.oracle.com/ocom/groups/public/@ocom/documents/digitalasset/044519.jpg" width="120" height="160" />El día de ayer, Enero 27 de 2010, <a href="http://www.oracle.com/us/sun/044498.html" target="_blank">Oracle anunció terminada su adquisición de Sun</a>.</p>
<p>Oracle nos invita a ver su serie de Webcast sobre la estrategia de productos Oracle + Sun, en los cuales podremos conocer mas acerca de la combinación Sun y Oracle y de lo que ello significará para nosotros.</p>
<p>Mayor información en: <a title="http://www.oracle.com/us/sun/index.htm" href="http://www.oracle.com/us/sun/index.htm"><strong>oracle.com/us/sun</strong></a></p>
<p>&#160;</p>
<p>SOFTWARE STRATEGY <b>WEBCASTS</b></p>
<ul>
<li><a href="http://oracle.com.edgesuite.net/ivt/4000/8104/9236/12630/lobby_external_flash_clean_480x360/default.htm" target="_blank">Java</a> </li>
<li><a href="http://oracle.com.edgesuite.net/ivt/4000/8104/9236/12623/lobby_external_flash_clean_480x360/default.htm" target="_blank">Operating Systems</a> </li>
<li><a href="http://oracle.com.edgesuite.net/ivt/4000/8104/9236/12631/lobby_external_flash_clean_480x360/default.htm" target="_blank">Virtualization</a> </li>
<li><a href="http://oracle.com.edgesuite.net/ivt/4000/8104/9236/12625/lobby_external_flash_clean_480x360/default.htm" target="_blank">Cloud</a> </li>
<li><a href="http://oracle.com.edgesuite.net/ivt/4000/8104/9236/12616/lobby_external_flash_clean_480x360/default.htm" target="_blank">Enterprise Manager and Ops Center</a> </li>
<li><a href="http://oracle.com.edgesuite.net/ivt/4000/8104/9236/12628/lobby_external_flash_clean_480x360/default.htm" target="_blank">Identity Management</a> </li>
<li><a href="http://oracle.com.edgesuite.net/ivt/4000/8104/9236/12629/lobby_external_flash_clean_480x360/default.htm" target="_blank">Application Server</a> </li>
<li><a href="http://oracle.com.edgesuite.net/ivt/4000/8104/9236/12627/lobby_external_flash_clean_480x360/default.htm" target="_blank">Developer Tools</a> (adicionalmente: <a href="http://www.oracle.com/technology/tech/java/htdocs/javatoolsfaq.html" target="_blank">Oracle Java Development Tools FAQ</a>) </li>
<li><a href="http://oracle.com.edgesuite.net/ivt/4000/8104/9236/12622/lobby_external_flash_clean_480x360/default.htm" target="_blank">SOA</a> </li>
<li><a href="http://oracle.com.edgesuite.net/ivt/4000/8104/9236/12637/lobby_external_flash_clean_480x360/default.htm" target="_blank">OpenOffice</a> </li>
</ul>
<p>HARDWARE STRATEGY <b>WEBCASTS</b></p>
<ul>
<li><a href="http://oracle.com.edgesuite.net/ivt/4000/8104/9236/12621/lobby_external_flash_clean_480x360/default.htm" target="_blank">Archive</a> </li>
<li><a href="http://oracle.com.edgesuite.net/ivt/4000/8104/9236/12617/lobby_external_flash_clean_480x360/default.htm" target="_blank">SPARC Enterprise Servers</a> </li>
<li><a href="http://oracle.com.edgesuite.net/ivt/4000/8104/9236/12618/lobby_external_flash_clean_480x360/default.htm" target="_blank">Storage</a> </li>
<li><a href="http://oracle.com.edgesuite.net/ivt/4000/8104/9236/12619/lobby_external_flash_clean_480x360/default.htm" target="_blank">Sun Blade Systems</a> </li>
<li><a href="http://oracle.com.edgesuite.net/ivt/4000/8104/9236/12620/lobby_external_flash_clean_480x360/default.htm" target="_blank">Sun x86 Systems</a> </li>
</ul>
<p>SYSTEMS STRATEGY <b>WEBCASTS</b></p>
<ul>
<li><a href="http://oracle.com.edgesuite.net/ivt/4000/8104/9236/12632/lobby_external_flash_clean_480x360/default.htm" target="_blank">Database Machine</a> </li>
</ul>
<p>SOLUTIONS STRATEGY <b>WEBCASTS</b></p>
<ul>
<li><a href="http://oracle.com.edgesuite.net/ivt/4000/8104/9236/12636/lobby_external_flash_clean_480x360/default.htm" target="_blank">Health Sciences</a> </li>
</ul>
<p>PARTNER STRATEGY <b>WEBCASTS</b></p>
<ul>
<li><a href="http://oracle.com.edgesuite.net/ivt/4000/8104/9236/12634/lobby_external_flash_clean_480x360/default.htm" target="_blank">OPN Specialized</a> </li>
</ul>
<p>&#160;</p>
<p><strong>Otros Links</strong>:</p>
<ul>
<li><a href="http://www.oracle.com/us/products/middleware/044270.html" target="_blank">Middleware Home</a> </li>
<li><a href="http://www.oracle.com/technology/community/sun-oracle-community-continuity.html" target="_blank">Overview and FAQ for Developer Community</a> (SDN, Java.Net, Java.Sun.Com, BigAdmin, Kenai, JavaOne…) </li>
<li><a href="http://www.oracle.com/technology/tech/java/htdocs/javatoolsfaq.html" target="_blank">Developer Tools FAQ</a> </li>
<li><a href="http://blogs.sun.com/projectkenai/entry/the_future_of_kenai_com" target="_blank">The Future of Kenai.com</a> </li>
<li>Opiniones: <a href="http://www.redmonk.com/cote/2010/01/27/oraclesun/" target="_blank">Cote</a> &amp; <a href="http://redmonk.com/sogrady/2010/01/28/oracle-acquisition/" target="_blank">Stephen</a> (Redmonk), <a href="http://saviorodrigues.wordpress.com/2010/01/27/oracle-explains-glassfish-mysql-openoffice-solaris-plans/" target="_blank">Savio Rodrigues</a> (IBM/Geronimo) and <a href="http://blogs.jboss.org/blog/mlittle/2010/01/29/Were_still_the_home_of_open_source.txt" target="_blank">Mark Little</a> (JBoss) </li>
<li>Noticias: <a href="http://www.nytimes.com/2010/01/27/technology/business-computing/27oracle.html" target="_blank">NYtimes</a>, <a href="http://online.wsj.com/article/SB10001424052748704905604575027602941385866.html" target="_blank">WSJ</a>, <a href="http://www.pcworld.com/businesscenter/article/188094/oracle_sun_face_rocky_postmerger_road_map.html" target="_blank">PCWorld</a>, <a href="http://www.mercurynews.com/breaking-news/ci_14287957" target="_blank">MercuryNews</a>… </li>
</ul>
<p>&#160;</p>
<p><a href="http://blogs.sun.com/jag/resource/SunRIP.jpg" target="_blank"><img border="0" src="http://blogs.sun.com/jag/resource/SunRIPsmall.jpg" width="500" height="391" /></a></p>
</p>
<p><a href="http://blogs.sun.com/jag/entry/so_long_old_friend" target="_blank">So long, old friend&#8230;</a></p>
<p><a href="http://www.infoworld.com/t/tech-industry-analysis/rise-and-fall-sun-microsystems-914">The rise and fall of Sun Microsystems</a>&#160;<strong><font color="#ff0000">new!</font></strong></p>
<br />Filed under: <a href='http://willyxoft.wordpress.com/category/informatica-e-internet/'>Informática e Internet</a>, <a href='http://willyxoft.wordpress.com/category/java/'>Java</a>, <a href='http://willyxoft.wordpress.com/category/servicios/'>Servicios</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/willyxoft.wordpress.com/1968/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/willyxoft.wordpress.com/1968/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/willyxoft.wordpress.com/1968/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/willyxoft.wordpress.com/1968/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/willyxoft.wordpress.com/1968/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/willyxoft.wordpress.com/1968/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/willyxoft.wordpress.com/1968/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/willyxoft.wordpress.com/1968/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/willyxoft.wordpress.com/1968/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/willyxoft.wordpress.com/1968/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/willyxoft.wordpress.com/1968/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/willyxoft.wordpress.com/1968/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/willyxoft.wordpress.com/1968/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/willyxoft.wordpress.com/1968/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=willyxoft.wordpress.com&amp;blog=599683&amp;post=1968&amp;subd=willyxoft&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://willyxoft.wordpress.com/2010/01/28/oracle-sun-fusion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8f1af101ba91a1bb896d79a89fafb050?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">WillyXoft</media:title>
		</media:content>

		<media:content url="http://www.oracle.com/ocom/groups/public/@ocom/documents/digitalasset/044519.jpg" medium="image">
			<media:title type="html">Sun Customers</media:title>
		</media:content>

		<media:content url="http://blogs.sun.com/jag/resource/SunRIPsmall.jpg" medium="image" />
	</item>
		<item>
		<title>Ejecutar solo una instancia (C#)</title>
		<link>http://willyxoft.wordpress.com/2010/01/27/ejecutar-solo-una-instancia-csharp/</link>
		<comments>http://willyxoft.wordpress.com/2010/01/27/ejecutar-solo-una-instancia-csharp/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 01:06:50 +0000</pubDate>
		<dc:creator>Willy Mejia</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[winforms]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://willyxoft.wordpress.com/2010/01/27/ejecutar-solo-una-instancia-c/</guid>
		<description><![CDATA[Para prevenir que sea ejecutada más de una instancia de una aplicación Windows o WPF con C# (incluso cuando se realice una copia del archivo ejecutable) podríamos utilizar algo como lo siguiente: private static bool FirstInstance { get { bool created; string name = Assembly.GetEntryAssembly().FullName; // created will be True if the current thread creates [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=willyxoft.wordpress.com&amp;blog=599683&amp;post=1965&amp;subd=willyxoft&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Para prevenir que sea ejecutada más de una instancia de una aplicación Windows o WPF con C# (incluso cuando se realice una copia del archivo ejecutable) podríamos utilizar algo como lo siguiente:</p>
<pre class="code"><span style="color:blue;">private static bool </span>FirstInstance
{
    <span style="color:blue;">get
    </span>{
        <span style="color:blue;">bool </span>created;
        <span style="color:blue;">string </span>name = <span style="color:#2b91af;">Assembly</span>.GetEntryAssembly().FullName;
        <span style="color:green;">// created will be True if the current thread creates and owns the mutex.
        // Otherwise created will be False if a previous instance already exists.
        </span><span style="color:#2b91af;">Mutex </span>mutex = <span style="color:blue;">new </span><span style="color:#2b91af;">Mutex</span>(<span style="color:blue;">true</span>, name, <span style="color:blue;">out </span>created);
        <span style="color:blue;">return </span>created;
    }
}</pre>
<p><strong>Nota</strong>: Para una mayor certidumbre se podría hacer uso de una cadena GUID en ‘name’.</p>
<p>Cuando la primera instancia crea el Mutex pasa a ser su propietario y la variable created se le asigna el valor True. Cuando una nueva instancia se ejecuta intenta tomar posesión del Mutex, pero dado que solo un hilo puede ser propietario de mismo (y primera instancia ya lo es) la nueva no puede tomar posesión del Mutex, por lo cual el valor de created permanece en False, misma que se regresa para indicar si existe (o no) una instancia de la aplicación en ejecución.</p>
<p>Así pues la propiedad <strong>FirstInstance</strong> la colocaremos en la clase principal de nuestra aplicación WinForm (“Program.cs”) o bien de nuestra aplicación WPF (“App.xaml.cs”) para ser utilizada según corresponda:</p>
<p><strong>WinForm (Program.cs):</strong></p>
<pre class="code">[<span style="color:#2b91af;">STAThread</span>]
<span style="color:blue;">static void </span>Main()
{
    <span style="color:blue;">if </span>(FirstInstance)
    {
        <span style="color:#2b91af;">Application</span>.EnableVisualStyles();
        <span style="color:#2b91af;">Application</span>.SetCompatibleTextRenderingDefault(<span style="color:blue;">false</span>);
        <span style="color:#2b91af;">Application</span>.Run(<span style="color:blue;">new </span><span style="color:#2b91af;">Form1</span>());
    }
    <span style="color:blue;">else
    </span>{
        <span style="color:#2b91af;">MessageBox</span>.Show(<span style="color:#a31515;">&quot;Application is already running.&quot;</span>);
        <span style="color:#2b91af;">Application</span>.Exit();
    }
}</pre>
<p><strong>WPF (App.xaml.cs):</strong></p>
<pre class="code"><span style="color:blue;">protected override void </span>OnStartup(<span style="color:#2b91af;">StartupEventArgs </span>e)
{
    <span style="color:blue;">if </span>(FirstInstance)
        <span style="color:blue;">base</span>.OnStartup(e);
    <span style="color:blue;">else
    </span>{
        <span style="color:#2b91af;">MessageBox</span>.Show(<span style="color:#a31515;">&quot;Application is already running.&quot;</span>);
        <span style="color:#2b91af;">Application</span>.Current.Shutdown();
    }
}</pre>
<p>Adicionalmente, usando la clase System.Diagnostics.Process se puede obtener la ventana principal y activarla mediante una llamada a la API SetForegroundWindow, tal como se muestra en: <a href="http://www.mvps.org/emorcillo/es/codigo/grl/previnst.shtml" target="_blank">Comprobar si hay una instancia previa de nuestra aplicación</a>, escrito en VB.NET por Eduardo Morcillo.</p>
<p>&#160;</p>
<p><strong>Usando WindowsFormsApplicationBase de VB</strong></p>
<p>Otra opción sería recurrir al Modelo de Aplicaciones de Visual Basic (aka My) para crear un gestor de instancias mediante el <a href="http://msdn.microsoft.com/library/microsoft.visualbasic.applicationservices.windowsformsapplicationbase.aspx" target="_blank">WindowsFormsApplicationBase</a> (el cual además nos ofrece el evento <a href="http://msdn.microsoft.com/library/microsoft.visualbasic.applicationservices.windowsformsapplicationbase.onstartupnextinstance.aspx" target="_blank">OnStartupNextInstance</a>) tal como se muestra a continuación para Windows Forms con C#:</p>
<p><strong>Nota</strong>: No es necesario traducir el siguiente código para una aplicación Windows Forms con VB. En ese caso solo basta seguir las instrucciones de la segunda mitad del post: <a href="http://willyxoft.wordpress.com/2006/01/14/ejecutar-solamente-una-instancia/" target="_blank">Ejecutar solamente una instancia</a> (VB 2005+).</p>
<p><strong>Program.cs</strong></p>
<pre class="code"><span style="color:blue;">using </span>System;
<span style="color:blue;">using </span>System.Windows.Forms;
<span style="color:blue;">using </span>Microsoft.VisualBasic.ApplicationServices;

<span style="color:blue;">namespace </span>WinForm1
{
    <span style="color:blue;">public static class </span><span style="color:#2b91af;">Program
    </span>{
        [<span style="color:#2b91af;">STAThread</span>]
        <span style="color:blue;">public static void </span>Main(<span style="color:blue;">string</span>[] args)
        {
            <span style="color:#2b91af;">Application</span>.EnableVisualStyles();
            <span style="color:#2b91af;">Application</span>.SetCompatibleTextRenderingDefault(<span style="color:blue;">false</span>);
            <span style="color:#2b91af;">SingleInstanceManager </span>manager = <span style="color:blue;">new </span><span style="color:#2b91af;">SingleInstanceManager</span>();
            manager.Run(args);
        }
    }

    <span style="color:green;">// Using VB bits to detect single instances and process accordingly:
    //  * OnStartup is fired when the first instance loads
    //  * OnStartupNextInstance is fired when the application is re-run again
    //    NOTE: it is redirected to this instance thanks to IsSingleInstance
    </span><span style="color:blue;">public class </span><span style="color:#2b91af;">SingleInstanceManager </span>: <span style="color:#2b91af;">WindowsFormsApplicationBase
    </span>{
        <span style="color:#2b91af;">SingleInstanceApplication </span>app;

        <span style="color:blue;">public </span>SingleInstanceManager()
        {
            <span style="color:blue;">this</span>.IsSingleInstance = <span style="color:blue;">true</span>;
        }

        <span style="color:blue;">protected override bool </span>OnStartup(Microsoft.VisualBasic.ApplicationServices.<span style="color:#2b91af;">StartupEventArgs </span>e)
        {
            <span style="color:green;">// First time app is launched
            </span>app = <span style="color:blue;">new </span><span style="color:#2b91af;">SingleInstanceApplication</span>();
            app.Run();
            <span style="color:blue;">return false</span>;
        }

        <span style="color:blue;">protected override void </span>OnStartupNextInstance(<span style="color:#2b91af;">StartupNextInstanceEventArgs </span>eventArgs)
        {
            <span style="color:green;">// Subsequent launches
            </span><span style="color:blue;">base</span>.OnStartupNextInstance(eventArgs);
            app.Activate();
        }
    }

    <span style="color:blue;">public class </span><span style="color:#2b91af;">SingleInstanceApplication
    </span>{
        <span style="color:blue;">protected </span><span style="color:#2b91af;">Form </span>mainForm;

        <span style="color:blue;">public void </span>Activate()
        {
            <span style="color:green;">// Reactivate application's main window
            </span>mainForm.Activate();
        }    

        <span style="color:blue;">public void </span>Run()
        {
            <span style="color:#2b91af;">Application</span>.Run(mainForm = <span style="color:blue;">new </span><span style="color:#2b91af;">Form1</span>());
        }
    }
}</pre>
<p>Para un ejemplo con <strong>WPF</strong> usando <strong>WindowsFormsApplicationBase</strong> tanto con VB como con C# ver: <a href="http://msdn.microsoft.com/library/ms771662.aspx" target="_blank">WPF: Single Instance Detection Sample</a>.</p>
<br />Posted in .NET Tagged: winforms, WPF <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/willyxoft.wordpress.com/1965/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/willyxoft.wordpress.com/1965/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/willyxoft.wordpress.com/1965/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/willyxoft.wordpress.com/1965/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/willyxoft.wordpress.com/1965/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/willyxoft.wordpress.com/1965/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/willyxoft.wordpress.com/1965/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/willyxoft.wordpress.com/1965/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/willyxoft.wordpress.com/1965/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/willyxoft.wordpress.com/1965/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/willyxoft.wordpress.com/1965/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/willyxoft.wordpress.com/1965/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/willyxoft.wordpress.com/1965/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/willyxoft.wordpress.com/1965/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=willyxoft.wordpress.com&amp;blog=599683&amp;post=1965&amp;subd=willyxoft&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://willyxoft.wordpress.com/2010/01/27/ejecutar-solo-una-instancia-csharp/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8f1af101ba91a1bb896d79a89fafb050?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">WillyXoft</media:title>
		</media:content>
	</item>
		<item>
		<title>A&#241;eja Vulnerabilidad en el Kernel de Windows</title>
		<link>http://willyxoft.wordpress.com/2010/01/22/vieja-vulnerabilidad-kernel-windows/</link>
		<comments>http://willyxoft.wordpress.com/2010/01/22/vieja-vulnerabilidad-kernel-windows/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 06:00:00 +0000</pubDate>
		<dc:creator>Willy Mejia</dc:creator>
				<category><![CDATA[Advertencias]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://willyxoft.wordpress.com/2010/01/22/vieja-vulnerabilidad-kernel-windows/</guid>
		<description><![CDATA[Cuando leí los primeros reportes pensé que se trataba de hoax, por lo que no hice caso al principio. Mas sin embargo resulta que es verdad. Se trata de una vulnerabilidad hecha pública el martes pasado en seclists.org y firmado por Tavis Ormandy, quien además facilita un exploit. Por su parte Microsoft ha publicado el [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=willyxoft.wordpress.com&amp;blog=599683&amp;post=1939&amp;subd=willyxoft&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Cuando leí los primeros reportes pensé que se trataba de hoax, por lo que no hice caso al principio. Mas sin embargo resulta que es verdad. Se trata de una vulnerabilidad hecha pública el martes pasado en <a title="http://seclists.org/fulldisclosure/2010/Jan/341" href="http://seclists.org/fulldisclosure/2010/Jan/341">seclists.org</a> y firmado por Tavis Ormandy, quien además facilita un exploit. Por su parte Microsoft ha publicado el aviso de seguridad al respecto:</p>
<blockquote><p><a href="http://www.microsoft.com/technet/security/advisory/979682.mspx" target="_blank"><strong><font color="#ff0000">Microsoft Security Advisory (979682)</font></strong></a>       <br /><strong>Vulnerability in Windows Kernel Could Allow Elevation of Privilege</strong></p>
</blockquote>
<p>La vulnerabilidad se encuentra específicamente en el subsistema Virtual DOS Machine de Windows NT (NTVDM). Por lo que dicha vulnerabilidad afecta a toda la familia de sistemas operativos NT de 32 bits, desde el extinto NT 3.5, pasando por Windows 2000 y hasta el reciente Windows 7, estando exentos sólo los sistemas de 64-bits. De hecho eso es lo que ha incendiado la web, pero sobretodo porque el problema tiene su buena cantidad de años.</p>
<p>A su favor MS afirma que la vulnerabilidad es difícil de explotar, ya que requiere que sea explotada con una cuenta local y no puede hacerse remotamente. Empero no obstante la mayoría de los usuarios no son muy cuidadosos al abrir/ejecutar archivos, por lo que fácilmente podrían abrir/ejecutar un archivo adjunto o bien descargado desde las redes P2P.</p>
<p>En el aviso MS señala que aún esta bajo investigación por lo que aún no existe parche (fix) para mitigar la vulnerabilidad. Por lo mientras solo recomiendan “bloquear” la ejecución de programas de 16 bits mediante el deshabilitado del subsistema NTVDM vía la consola de políticas de grupo (<b>gpedit.msc</b>), el cual no obstante no está presente en las ediciones “básicas” (aka Home y Started) de Windows XP/Vista/7. Por lo que ciertos blogs proponen la siguiente medida alterna, la cual he comprobado y (aparentemente) funciona:</p>
<p>1. Cree un archivo de texto con la extensión *.reg, por ejemplo: “VDMDisallowed.reg” (y asegúrese que tiene dicha extensión y no *.reg.txt).</p>
<p>2. Introduzca en el archivo el siguiente texto:</p>
<pre>Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\AppCompat]
&quot;VDMDisallowed&quot;=dword:00000001

</pre>
<p>3. Guarde el archivo.</p>
<p>4. De click derecho sobre el archivo y en el menú contextual elija la opción “Combinar”.</p>
<p><strong>Nota</strong>: Para poder combinar el archivo con el Registro de Windows se requieren privilegios de administrador. Si no sabe de que hablo pregunte a su administrador local o su amigo geek pro-MS mas cercano.</p>
<p>5. De Aceptar en el cuadro de dialogo que aparece.</p>
<p>Eso es todo, de ahora en adelante sus viejos programas y juegos de MS-DOS/Win16 ya no se ejecutarán mas, al menos hasta que MS publique el parche que solucione correctamente el problema.</p>
<p>Para volver habilitar VDM cree otro archivo *.reg (“VDMAllowed.reg”) con lo siguiente:</p>
<pre>Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\AppCompat]
&quot;VDMDisallowed&quot;=dword:00000000

</pre>
<p>Guarde el archivo y combínelo.</p>
<p><font color="#ff0000"><strong>ADVERTENCIA Y RENUNCIA</strong></font>: La manipulación del Registro de Windows puede llegar a ocasionar efectos adversos al sistema si no se realiza adecuadamente. Tenga en cuenta que si lo realiza es bajo su propio riesgo, por lo que no me hago responsable por cualquier daño que pueda sufrir su sistema/equipo y/o persona, ni por el mal uso que se le pueda dar a ésta información.</p>
<br />Posted in Advertencias, Seguridad, Windows  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/willyxoft.wordpress.com/1939/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/willyxoft.wordpress.com/1939/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/willyxoft.wordpress.com/1939/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/willyxoft.wordpress.com/1939/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/willyxoft.wordpress.com/1939/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/willyxoft.wordpress.com/1939/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/willyxoft.wordpress.com/1939/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/willyxoft.wordpress.com/1939/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/willyxoft.wordpress.com/1939/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/willyxoft.wordpress.com/1939/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/willyxoft.wordpress.com/1939/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/willyxoft.wordpress.com/1939/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/willyxoft.wordpress.com/1939/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/willyxoft.wordpress.com/1939/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=willyxoft.wordpress.com&amp;blog=599683&amp;post=1939&amp;subd=willyxoft&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://willyxoft.wordpress.com/2010/01/22/vieja-vulnerabilidad-kernel-windows/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8f1af101ba91a1bb896d79a89fafb050?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">WillyXoft</media:title>
		</media:content>
	</item>
		<item>
		<title>Roadmap de EntLib 5.0</title>
		<link>http://willyxoft.wordpress.com/2010/01/21/entlib-5-roadmap/</link>
		<comments>http://willyxoft.wordpress.com/2010/01/21/entlib-5-roadmap/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 19:47:57 +0000</pubDate>
		<dc:creator>Willy Mejia</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[dotNet]]></category>
		<category><![CDATA[EntLib]]></category>
		<category><![CDATA[Unity]]></category>

		<guid isPermaLink="false">http://willyxoft.wordpress.com/2010/01/21/entlib-5-roadmap/</guid>
		<description><![CDATA[Para quien no sepa que es EntLib: Microsoft Enterprise Library (aka EntLib) es una colección de componentes de software reutilizables (conocidos como “Application Blocks”) diseñados para ayudar a los desarrolladores de software de la plataforma .NET a lidiar con los problemas comunes en el desarrollo empresarial tales como registro, validación, acceso a datos, manejo de [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=willyxoft.wordpress.com&amp;blog=599683&amp;post=1927&amp;subd=willyxoft&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Para quien no sepa que es EntLib: </p>
<p>Microsoft Enterprise Library (aka EntLib) es una colección de componentes de software reutilizables (conocidos como “Application Blocks”) diseñados para ayudar a los desarrolladores de software de la plataforma .NET a lidiar con los problemas comunes en el desarrollo empresarial tales como registro, validación, acceso a datos, manejo de excepciones, y muchos otros. Los application blocks son un tipo de guías directivas, proporcionadas en forma de código fuente, casos de prueba, y documentación que se pueden utilizar &quot;tal cual&quot;, o bien ampliarse o modificarse por los desarrolladores para utilizarse en proyectos de desarrollo. </p>
<p>Unity Application Block (o simplemente Unity) es un contenedor DI (dependency injection) ligero y extensible, que puede utilizarse de forma independiente (existiendo una versión para Silverlight) como integralmente con EntLib. </p>
<p><strong>Mayor información en:</strong> </p>
<ul>
<li><a href="http://msdn.microsoft.com/library/cc467894.aspx" target="_blank">Microsoft Enterprise Library</a> </li>
<li><a href="http://msdn.microsoft.com/library/dd203101.aspx" target="_blank">Unity Application Block</a> </li>
</ul>
<p>A continuación el diagrama del Roadmap para <strong>EntLib 5.0</strong> y Unity 2.0.</p>
<p><a href="http://blogs.msdn.com/blogfiles/agile/WindowsLiveWriter/AnnouncingEnterpriseLibrary5.0a.0Roadmap_10852/RevisedRoadMapv5_2.png" target="_blank"><img src="http://blogs.msdn.com/blogfiles/agile/WindowsLiveWriter/AnnouncingEnterpriseLibrary5.0a.0Roadmap_10852/RevisedRoadMapv5_2.png" width="500" height="285" /></a></p>
<p>La imagen habla por si misma, pero para que quede mas claro:</p>
<ul>
<li>Primera Beta en Febrero, solo para VS2008 SP1 </li>
<li>Segunda Beta en Marzo, tanto para VS2008 SP1 como VS2010 RC (a liberarse en Febrero) </li>
<li>El RTW se espera sea lanzado en Abril (a la par de VS2010) </li>
</ul>
<p><strong>Mayor información en:</strong> </p>
<ul>
<li><a href="http://blogs.msdn.com/agile/archive/2010/01/20/announcing-enterprise-library-5-0-and-unity-2-0-roadmap.aspx">Announcing Enterprise Library 5.0 and Unity 2.0 Roadmap</a> </li>
</ul>
<br />Posted in .NET Tagged: dotNet, EntLib, Unity <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/willyxoft.wordpress.com/1927/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/willyxoft.wordpress.com/1927/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/willyxoft.wordpress.com/1927/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/willyxoft.wordpress.com/1927/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/willyxoft.wordpress.com/1927/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/willyxoft.wordpress.com/1927/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/willyxoft.wordpress.com/1927/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/willyxoft.wordpress.com/1927/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/willyxoft.wordpress.com/1927/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/willyxoft.wordpress.com/1927/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/willyxoft.wordpress.com/1927/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/willyxoft.wordpress.com/1927/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/willyxoft.wordpress.com/1927/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/willyxoft.wordpress.com/1927/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=willyxoft.wordpress.com&amp;blog=599683&amp;post=1927&amp;subd=willyxoft&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://willyxoft.wordpress.com/2010/01/21/entlib-5-roadmap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8f1af101ba91a1bb896d79a89fafb050?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">WillyXoft</media:title>
		</media:content>

		<media:content url="http://blogs.msdn.com/blogfiles/agile/WindowsLiveWriter/AnnouncingEnterpriseLibrary5.0a.0Roadmap_10852/RevisedRoadMapv5_2.png" medium="image" />
	</item>
		<item>
		<title>Gordon: Flash runtime</title>
		<link>http://willyxoft.wordpress.com/2010/01/15/gordon-flash-runtime/</link>
		<comments>http://willyxoft.wordpress.com/2010/01/15/gordon-flash-runtime/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 18:47:12 +0000</pubDate>
		<dc:creator>Willy Mejia</dc:creator>
				<category><![CDATA[Informática e Internet]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://willyxoft.wordpress.com/2010/01/15/gordon-flash-runtime/</guid>
		<description><![CDATA[Tobias Schneider ha construido un runtime de Flash denominado Gordon, el cual está implementado en Javascript puro y HTML5 (utiliza canvas), y todo es código abierto (licencia MIT) y alojado en GitHub. Para utilizarlo solo basta colocar en la página algo como: &#60;head&#62; &#60;script type=&#34;text/javascript&#34; src=&#34;gordon.js&#34;&#62;&#60;/script&#62; &#60;/head&#62; &#60;body onload=&#34;new Gordon.Movie('movie.swf', {id: 'stage', width: 400, height: [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=willyxoft.wordpress.com&amp;blog=599683&amp;post=1878&amp;subd=willyxoft&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://twitter.com/tobeytailor" target="_blank">Tobias Schneider</a> ha construido un runtime de Flash denominado <a href="http://paulirish.com/work/gordon/gordon.js" target="_blank">Gordon</a>, el cual está implementado en Javascript puro y HTML5 (utiliza canvas), y todo es código abierto (licencia MIT) y <a href="http://github.com/tobeytailor/gordon" target="_blank">alojado en GitHub</a>.</p>
<p>Para utilizarlo solo basta colocar en la página algo como:</p>
<pre>  &lt;head&gt;
    &lt;script type=&quot;text/javascript&quot; src=&quot;gordon.js&quot;&gt;&lt;/script&gt;
  &lt;/head&gt;
  &lt;body onload=&quot;new Gordon.Movie('movie.swf',
    {id: 'stage', width: 400, height: 200})&quot;&gt;
    &lt;div id=&quot;stage&quot;&gt;&lt;/div&gt;
  &lt;/body&gt;</pre>
<p>En el sitio del autor podemos ver en vivo algunos <a href="http://paulirish.com/work/gordon/demos/">ejemplos de Gordon</a>. De momento Gordon solo soporta el formato SWF 1.0 y el soporte para SWF 2.0 se encuentra en desarrollo. Por otra parte, dado que depende de HTML5, solo funciona bien en versiones recientes de Firefox, Chrome, y Safari. </p>
<p>Así mismo Gordon ha sido probado en el iPhone con resultados favorables, por lo que a pesar que Apple no desea incluir el reproductor de Flash de Adobe, en un futuro próximo dicho formato podría desplegarse en el iPhone gracias a Gordon.</p>
<p>La documentación de Gordon aún es escasa, por lo pronto hay una <a href="http://wiki.github.com/tobeytailor/gordon/swf-tag-support-table" target="_blank">tabla de soporte de tags SWF</a> y una <a href="http://wiki.github.com/tobeytailor/gordon/browser-support-table" target="_blank">tabla de soporte de navegadores</a>, así como el código mismo. Así que hacer:</p>
<pre>git clone git://github.com/tobeytailor/gordon.git</pre>
<br />Posted in Informática e Internet Tagged: Flash, html5, javascript <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/willyxoft.wordpress.com/1878/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/willyxoft.wordpress.com/1878/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/willyxoft.wordpress.com/1878/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/willyxoft.wordpress.com/1878/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/willyxoft.wordpress.com/1878/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/willyxoft.wordpress.com/1878/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/willyxoft.wordpress.com/1878/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/willyxoft.wordpress.com/1878/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/willyxoft.wordpress.com/1878/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/willyxoft.wordpress.com/1878/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/willyxoft.wordpress.com/1878/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/willyxoft.wordpress.com/1878/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/willyxoft.wordpress.com/1878/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/willyxoft.wordpress.com/1878/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=willyxoft.wordpress.com&amp;blog=599683&amp;post=1878&amp;subd=willyxoft&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://willyxoft.wordpress.com/2010/01/15/gordon-flash-runtime/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8f1af101ba91a1bb896d79a89fafb050?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">WillyXoft</media:title>
		</media:content>
	</item>
		<item>
		<title>[OT] Dan Pink: Motivaci&#243;n Intr&#237;nseca</title>
		<link>http://willyxoft.wordpress.com/2010/01/09/motivacion-intrinseca/</link>
		<comments>http://willyxoft.wordpress.com/2010/01/09/motivacion-intrinseca/#comments</comments>
		<pubDate>Sat, 09 Jan 2010 21:00:00 +0000</pubDate>
		<dc:creator>Willy Mejia</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://willyxoft.wordpress.com/?p=1859</guid>
		<description><![CDATA[Posted in Personal<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=willyxoft.wordpress.com&amp;blog=599683&amp;post=1859&amp;subd=willyxoft&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='640' height='390' src='http://www.youtube.com/embed/absn9XDL9XY?version=3&amp;rel=1&amp;fs=1&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;wmode=transparent' frameborder='0'></iframe></span>
<object width="446" height="326"><param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf"></param><param name="allowFullScreen" value="true" /><param name="wmode" value="transparent"></param><param name="bgColor" value="#ffffff"></param> <param name="flashvars" value="vu=http://video.ted.com/talks/embed/DanielPink_2009G-embed_high.flv&su=http://images.ted.com/images/ted/tedindex/embed-posters/DanielPink-2009G.embed_thumbnail.jpg&vw=432&vh=240&ap=0&ti=618" /><embed src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" pluginspace="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" bgColor="#ffffff" width="446" height="326" allowFullScreen="true" flashvars="vu=http://video.ted.com/talks/embed/DanielPink_2009G-embed_high.flv&su=http://images.ted.com/images/ted/tedindex/embed-posters/DanielPink-2009G.embed_thumbnail.jpg&vw=432&vh=240&ap=0&ti=618"></embed></object>
<br />Posted in Personal  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/willyxoft.wordpress.com/1859/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/willyxoft.wordpress.com/1859/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/willyxoft.wordpress.com/1859/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/willyxoft.wordpress.com/1859/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/willyxoft.wordpress.com/1859/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/willyxoft.wordpress.com/1859/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/willyxoft.wordpress.com/1859/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/willyxoft.wordpress.com/1859/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/willyxoft.wordpress.com/1859/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/willyxoft.wordpress.com/1859/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/willyxoft.wordpress.com/1859/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/willyxoft.wordpress.com/1859/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/willyxoft.wordpress.com/1859/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/willyxoft.wordpress.com/1859/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=willyxoft.wordpress.com&amp;blog=599683&amp;post=1859&amp;subd=willyxoft&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://willyxoft.wordpress.com/2010/01/09/motivacion-intrinseca/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8f1af101ba91a1bb896d79a89fafb050?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">WillyXoft</media:title>
		</media:content>
	</item>
		<item>
		<title>Conferencia Virtual de Java EE 6 / GlassFish v3</title>
		<link>http://willyxoft.wordpress.com/2009/12/19/reporte-inicial-conferencia-virtual-javaee-6-glassfish-v3/</link>
		<comments>http://willyxoft.wordpress.com/2009/12/19/reporte-inicial-conferencia-virtual-javaee-6-glassfish-v3/#comments</comments>
		<pubDate>Sat, 19 Dec 2009 06:00:00 +0000</pubDate>
		<dc:creator>Willy Mejia</dc:creator>
				<category><![CDATA[Java EE]]></category>
		<category><![CDATA[java glassfish javaee]]></category>

		<guid isPermaLink="false">http://willyxoft.wordpress.com/2009/12/19/reporte-inicial-sobre-la-conferencia-virtual-de-javaee-6-glassfish-v3/</guid>
		<description><![CDATA[El pasado martes 15 de diciembre Sun llevó a cabo una Conferencia Virtual con presentaciones a lo largo del día acerca de sus recién lanzados Java EE 6 y GlassFish v3, el cual fue todo un éxito a decir del equipo organizador. Traducción del post de The Aquarium: &#34;Initial Report on JavaEE 6 / GlassFish [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=willyxoft.wordpress.com&amp;blog=599683&amp;post=1778&amp;subd=willyxoft&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>El pasado martes 15 de diciembre Sun llevó a cabo una Conferencia Virtual con presentaciones a lo largo del día acerca de sus recién lanzados Java EE 6 y GlassFish v3, el cual fue todo un éxito a decir del equipo organizador.</p>
<p>Traducción del post de <em>The Aquarium</em>: &quot;<a href="http://blogs.sun.com/theaquarium/entry/initial_report_on_javaee_6" target="_blank"><em>Initial Report on JavaEE 6 / GlassFish v3 Virtual Conference</em></a>&quot;:</p>
<blockquote><p>Nuestra Conferencia Virtual de JavaEE 6 / GlassFish v3 fue un gran éxito –y muy divertida.</p>
<p>Le dejaré a Harpreet informar sobre los números de asistencia detallada, pero el pico de asistencia simultánea (no total/agregado) a las presentaciones principales (keynotes) fue más de 1400.</p>
<p>Esta es nuestra primera vez, así que no tenemos números de comparación, ¡pero parece muy bueno para una presentación en línea a mediados de diciembre!</p>
<p>La retroalimentación general de los asistentes, ponentes y participantes del chat fue muy positiva y muchas personas sugirieron que hagamos esto más a menudo. Un par de informes están <a href="http://henkehome.net/?p=70" target="_blank">aquí</a> y <a href="http://huima.wordpress.com/2009/12/15/java-ee-6-sun-virtual-conference/" target="_blank">aquí</a>.</p>
<p>Las preguntas más frecuentes han sido: ¿Las grabaciones estarán disponibles? (sí) ¿Qué tan pronto (esperemos que dentro de un par de semanas) y ¿Cómo puedo obtenerlas? (se notificará a las personas de la lista de correos del registro de GlassFish, y se publicaran en <a href="http://sun.com/glassfish/resources" target="_blank">GlassFish Resources</a>)</p>
<p align="right"><font size="1"><em><a href="http://twitter.com/theaquarium/status/6832437610" target="_blank">(CC) The Aquarium</a></em></font></p>
</blockquote>
<p>Pues bien, resulta que ya se encuentran disponibles las grabaciones de dicha Conferencia Virtual:</p>
<p><a href="http://www.sun.com/events/javaee6glassfishv3/virtualconference/index.jsp" target="_blank"><strong>Java EE 6 and GlassFish v3 Virtual Conference Replay</strong></a></p>
<p>Les dejo como muestra la grabación de la keynote: &quot;Java EE 6 Overview&quot;.</p>
<script language="JavaScript" type="text/javascript" src="http://admin.brightcove.com/js/BrightcoveExperiences.js"></script>
<object id="myExperience" class="BrightcoveExperience">
 <param name="bgcolor" value="" />
 <param name="width" value="486" />
 <param name="height" value="322" />
 <param name="playerID" value="1640183659" />
 <param name="@videoPlayer" value="57585972001" />
 <param name="playerKey" value="" />
 <param name="isVid" value="1" />
 <param name="isUI" value="1" />
 <param name="dynamicStreaming" value="true" />
</object>
<script type="text/javascript">brightcove.createExperiences();</script>
<p>¡Así que a disfrutarlas! …y ¡Felices fiestas!</p>
<p><font color="#ff0000">Actualización: </font>Ya se encuentran disponibles las diapositivas de las presentaciones, las cuales se pueden descargar de <a href="https://www.sun.com/offers/details/java_ee6_slides.xml" target="_blank">Java EE 6 and GlassFish v3 Virtual Conference Slides</a> o directamente desde <a href="https://www.sun.com/offers/docs/java_ee6_slides.zip">aquí</a>. ;)</p>
<p>&#160;</p>
<p><font color="#ff0000"><strong>[Actualización 14 Marzo 2010]</strong></font></p>
<p>Al parecer existe un “problema” con el servicio on-demand de los videos del evento ya que no es posible verlos, a lo que <a href="http://www.java.net/blogs/pelegri/" target="_blank">Eduardo Pelegri-Llopart</a> me respondió que me dirigiera a <a href="http://blogs.sun.com/glassfishpodcast" target="_blank">blogs.sun.com/glassfishpodcast</a> en donde publicarán el audio de las presentaciones. </p>
<p>Les dejo la correspondiente a la keynote: &quot;Java EE 6 Overview&quot;:    <br /><span style='text-align:left;display:block;'><p><object type='application/x-shockwave-flash' data='http://s0.wp.com/wp-content/plugins/audio-player/player.swf' width='290' height='24' id='audioplayer1'><param name='movie' value='http://s0.wp.com/wp-content/plugins/audio-player/player.swf' /><param name='FlashVars' value='&amp;bg=0xf8f8f8&amp;leftbg=0xeeeeee&amp;lefticon=0x666666&amp;rightbg=0xcccccc&amp;rightbghover=0x999999&amp;righticon=0x666666&amp;righticonhover=0xffffff&amp;text=0x666666&amp;slider=0x666666&amp;track=0xFFFFFF&amp;border=0x666666&amp;loader=0x9FFFB8&amp;soundFile=http%3A%2F%2Fkenai.com%2Fdownloads%2Fglassfish-podcast%2FGFpodcast-VConf_JavaEE6_046.mp3' /><param name='quality' value='high' /><param name='menu' value='false' /><param name='bgcolor' value='#FFFFFF' /><param name='wmode' value='opaque' /></object></p></span></p>
<p><font color="#ff0000">Actualización 24 Marzo 2010:</font> <b>Alexandra Huff</b>, Principal Product Manager de la división <em>Application Platform Business Development</em> en Oracle, me confirmó mediante correo electrónico que por el momento el único medio de “retransmisión” de la conferencia es mediante el “glassfishpodcast” anteriormente citado… </p>
<br />Posted in Java EE Tagged: java glassfish javaee <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/willyxoft.wordpress.com/1778/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/willyxoft.wordpress.com/1778/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/willyxoft.wordpress.com/1778/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/willyxoft.wordpress.com/1778/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/willyxoft.wordpress.com/1778/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/willyxoft.wordpress.com/1778/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/willyxoft.wordpress.com/1778/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/willyxoft.wordpress.com/1778/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/willyxoft.wordpress.com/1778/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/willyxoft.wordpress.com/1778/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/willyxoft.wordpress.com/1778/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/willyxoft.wordpress.com/1778/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/willyxoft.wordpress.com/1778/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/willyxoft.wordpress.com/1778/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=willyxoft.wordpress.com&amp;blog=599683&amp;post=1778&amp;subd=willyxoft&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://willyxoft.wordpress.com/2009/12/19/reporte-inicial-conferencia-virtual-javaee-6-glassfish-v3/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
<enclosure url="http://kenai.com/downloads/glassfish-podcast/GFpodcast-VConf_JavaEE6_046.mp3" length="8228" type="audio/mpeg" />
	
		<media:content url="http://0.gravatar.com/avatar/8f1af101ba91a1bb896d79a89fafb050?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">WillyXoft</media:title>
		</media:content>

		<media:content url="http://kenai.com/downloads/glassfish-podcast/GFpodcast-VConf_JavaEE6_046.mp3" medium="audio">
			<media:player url="http://willyxoft.wordpress.com/wp-content/plugins/audio-player/player.swf?soundFile=http://kenai.com/downloads/glassfish-podcast/GFpodcast-VConf_JavaEE6_046.mp3" />
		</media:content>
	</item>
		<item>
		<title>Migrar de VB6 a .NET</title>
		<link>http://willyxoft.wordpress.com/2009/12/15/migrar-de-vb6-a-net/</link>
		<comments>http://willyxoft.wordpress.com/2009/12/15/migrar-de-vb6-a-net/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 22:24:18 +0000</pubDate>
		<dc:creator>Willy Mejia</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://willyxoft.wordpress.com/2009/12/15/migrar-de-vb6-a-net/</guid>
		<description><![CDATA[Tal como ya lo había mencionado hace años, existen las siguientes opciones cuando se lidian con aplicaciones VB6 legadas: Dejarla como está - Si la aplicación rara vez es actualizada o modificada y/o aún “funciona bien” tal y como está… Extenderla con .NET (aka VB Fusion) &#8211; Añadiéndole nuevas funcionalidades utilizando el .NET Framework. Se [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=willyxoft.wordpress.com&amp;blog=599683&amp;post=1763&amp;subd=willyxoft&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Tal como ya lo había <a href="http://willyxoft.wordpress.com/2006/05/22/utilizar-net-desde-vb6/">mencionado hace años</a>, existen las siguientes opciones cuando se lidian con aplicaciones VB6 legadas:</p>
<ul>
<li><strong>Dejarla como está </strong>- Si la aplicación rara vez es actualizada o modificada y/o aún “funciona bien” tal y como está… </li>
<li><strong>Extenderla con .NET</strong> (aka <a href="http://msdn.microsoft.com/vbrun/ms788241.aspx" target="_blank">VB Fusion</a>) &#8211; Añadiéndole nuevas funcionalidades utilizando el .NET Framework. Se pueden añadir WinForms y controles a una aplicación VB6 con la ayuda de <a href="http://download.microsoft.com/documents/uk/msdn/vb6/Interop_Toolkit_Whitepaper.pdf" target="_blank">Interop Form Toolkit 2.0</a> (PDF). </li>
<li><strong>Actualizarla a .NET</strong> &#8211; Lo que puede abordarse de dos formas:
<ul>
<li><strong>Migrándola a VB.NET </strong>- Con la ayuda de una herramienta de migración que convierta gran parte del código VB6 a su equivalente código .NET. </li>
<li><strong>Reescribiéndola &#8211; </strong>Reescribir manualmente el código entero en .NET (en cuyo caso no solo a VB.NET sino a C#, o bien incluso a otro lenguaje/plataforma). Este es un enfoque viable cuando la aplicación VB6 inicial fue mal escrita y se desea una reingeniería y/o reescritura de la misma, o la aplicación necesita un cambio importante para satisfacer las nuevas necesidades; o bien el código fuente ya no se encuentra disponible. </li>
</ul>
</li>
</ul>
<p>Otra posible opción es <strong>remplazarla</strong>, si es que existe una aplicación empaquetada o un servicio que provea la misma funcionalidad. No obstante no es viable en la mayoría de las aplicaciones VB6, puesto que se tratan de “soluciones a la medida”.</p>
<p>Si la <strong>migración</strong> es el camino por recorrer, existen tres herramientas útiles:</p>
<ul>
<li><a href="http://msdn.microsoft.com/library/0zc22a8x.aspx" target="_blank">Microsoft Visual Basic Upgrade Wizard</a>, incluido en Visual Studio 2003-2008 y que funciona bien con proyectos pequeños –y algunos medianos.</li>
<li><a href="http://www.artinsoft.com/pr_vbcompanion.aspx" target="_blank">Visual Basic Upgrade Companion</a> de ArtinSoft, que de hecho es el fabricante del asistente incluido en Visual Studio, pero que también ofrece otras herramientas y servicios para migraciones mas complejas. </li>
<li><a href="http://www.vbmigration.com/" target="_blank">Visual Basic Migration Partner</a> de Code Architects, que también ofrece herramientas y servicios de migración.</li>
</ul>
<p>Recientemente Microsoft ha publicado un <a href="http://www.microsoft.com/casestudies/Case_Study_Detail.aspx?casestudyid=4000006181" target="_blank">caso de estudio</a> destacando el éxito de la migración de 950,000 líneas de código VB6 a .NET. El proceso fue dirigido por <a href="http://www.sisworld.com/dbf/main.sis" target="_blank">SiS</a>, una compañía austriaca de TI, usando <a href="http://www.vbmigration.com/" target="_blank">Visual Basic Migration Partner</a> durante un período de 9 meses. El proyecto fue un sistema ERP construido a lo largo de 10 años y que constaba de 33 aplicaciones.</p>
<ul>
<li>25,000 líneas de código “difíciles” fueron tomadas como prototipo de migración, las cuales “tomó 2.5 horas el obtener un proyecto que compile y se ejecute usando VB Migration Partner, y 13 horas con la de su competidor&quot; (ouch! Artinsoft) dijo Otto Wiegele, Chief Executive Officer de SIS </li>
<li>El esfuerzo requerido para el proyecto incluyen 3,650 horas-desarrollador para migrar el código, 3,400 horas para la revisión de código y refactorización, y 1,300 horas para pruebas </li>
<li>Tres desarrolladores migraron 950,000 líneas de código de Visual Basic 6.0 a. NET Framework en sólo nueve meses </li>
<li>Costo para el cliente final fue € 750,000 contra un estimado de 3 a 5 millones de euros que habría costado implementar un sistema ERP comercial </li>
</ul>
<h4>Mayor información:</h4>
<ul>
<li><a href="http://msdn.microsoft.com/vbrun/default.aspx" target="_blank">VBRun: VB6 Resource Center</a> </li>
<li><a href="http://msdn.microsoft.com/en-gb/dd408373.aspx" target="_blank">Secure your Visual Basic 6.0 investment with Microsoft .NET</a> </li>
<li><a href="http://www.microsoft.com/casestudies/Case_Study_Detail.aspx?casestudyid=4000006181" target="_blank">Consultants Migrate 950,000 Lines of Visual Basic Code to .NET Framework in Nine Months</a> </li>
</ul>
<br />Posted in .NET, Visual Studio  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/willyxoft.wordpress.com/1763/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/willyxoft.wordpress.com/1763/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/willyxoft.wordpress.com/1763/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/willyxoft.wordpress.com/1763/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/willyxoft.wordpress.com/1763/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/willyxoft.wordpress.com/1763/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/willyxoft.wordpress.com/1763/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/willyxoft.wordpress.com/1763/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/willyxoft.wordpress.com/1763/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/willyxoft.wordpress.com/1763/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/willyxoft.wordpress.com/1763/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/willyxoft.wordpress.com/1763/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/willyxoft.wordpress.com/1763/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/willyxoft.wordpress.com/1763/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=willyxoft.wordpress.com&amp;blog=599683&amp;post=1763&amp;subd=willyxoft&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://willyxoft.wordpress.com/2009/12/15/migrar-de-vb6-a-net/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8f1af101ba91a1bb896d79a89fafb050?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">WillyXoft</media:title>
		</media:content>
	</item>
	</channel>
</rss>
