<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:georss="http://www.georss.org/georss" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0"><id>tag:blogger.com,1999:blog-4773349175418023585</id><updated>2009-10-13T05:08:19.032+02:00</updated><title type="text">I Remote</title><subtitle type="html">Otro blog sobre programación en C#, grupos de usuarios .Net y más rollos tecnológicos por el estilo.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://iremote.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://iremote.blogspot.com/" /><link rel="hub" href="http://pubsubhubbub.appspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default?start-index=26&amp;max-results=25" /><author><name>jmservera</name><uri>http://www.blogger.com/profile/17142856972629218862</uri><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>64</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><link rel="self" href="http://feeds.feedburner.com/IRemote" type="application/atom+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><entry><id>tag:blogger.com,1999:blog-4773349175418023585.post-7618767505355165483</id><published>2009-07-23T09:34:00.006+02:00</published><updated>2009-07-23T10:09:56.188+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="WPF" /><category scheme="http://www.blogger.com/atom/ns#" term="Cloud" /><category scheme="http://www.blogger.com/atom/ns#" term="Azure" /><title type="text">Wikipedia Explorer ahora sobre Azure</title><content type="html">&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.dotnetsolutions.ltd.uk/"&gt;DotNet Solutions&lt;/a&gt; ha actualizado su &lt;a href="http://www.dotnetsolutions.ltd.uk/evidence/wikiexplorer/"&gt;Wikipedia Explorer&lt;/a&gt; que ahora utiliza la tecnología de Windows Azure para convertir la base de datos de la &lt;a href="http://wikipedia.org/"&gt;Wikipedia&lt;/a&gt; a formato XML/XAML y así acelerar la aplicación que antes convertía los datos al vuelo.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;Wikipedia Explorer&lt;/b&gt; es una aplicación WPF que proporciona una nueva forma de navegar por la wikipedia, visualizando las relaciones entre documentos.&lt;div style="text-align: center;"&gt;&lt;img src="http://www.dotnetsolutions.ltd.uk/assets/images/Wikipediaexplorer3.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 542px; height: 397px;" border="0" alt="" /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Gracias a la plataforma Windows Azure han podido reducir el tiempo de proceso para la conversión de la base de datos de 6 meses a 5 días.&lt;/div&gt;&lt;div style="text-align: left;"&gt;La aplicación está disponible en modo ClickOnce &lt;a href="http://wikipediaexplorer.blob.core.windows.net/wpf/WikipediaExplorer/publish.htm"&gt;aquí&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4773349175418023585-7618767505355165483?l=iremote.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/IRemote/~4/lKjDmdpv3B4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iremote.blogspot.com/feeds/7618767505355165483/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=4773349175418023585&amp;postID=7618767505355165483" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/7618767505355165483" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/7618767505355165483" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/IRemote/~3/lKjDmdpv3B4/wikipedia-explorer-sobre-azure.html" title="Wikipedia Explorer ahora sobre Azure" /><author><name>jmservera</name><uri>http://www.blogger.com/profile/17142856972629218862</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02435048903609290283" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://iremote.blogspot.com/2009/07/wikipedia-explorer-sobre-azure.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-4773349175418023585.post-2904652837541578</id><published>2009-04-24T09:35:00.003+02:00</published><updated>2009-04-24T10:27:31.511+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Herramientas" /><category scheme="http://www.blogger.com/atom/ns#" term="FxCop" /><category scheme="http://www.blogger.com/atom/ns#" term="VS.Net" /><title type="text">Las verdaderas razones detrás de un cambio</title><content type="html">Hoy, leyendo una &lt;a href="http://www.josebonnin.com/post/2009/04/23/Static-Code-Analysis.aspx"&gt;entrada de Jose Fco Bonnin&lt;/a&gt;, me han empezado a sonar las alarmas y he sentido la necesidad de investigar un poco.&lt;div&gt;El motivo de su post es que en el VS2008 se quitaron algunas reglas del FxCop, entre ellas la "&lt;a href="http://msdn.microsoft.com/en-us/library/ms182272(VS.80).aspx"&gt;CA1818 - Do not concatenate strings inside loops&lt;/a&gt;".&lt;/div&gt;&lt;div&gt;Tal como Jose ha comprobado, no ha habido ningún cambio en el framework para que esa regla se pueda quitar y el motivo que alega el equipo de &lt;a href="http://blogs.msdn.com/fxcop/"&gt;Code Analysis&lt;/a&gt; es que la han quitado debido a "&lt;a href="http://msmvps.com/blogs/vstsblog/archive/2008/01/13/some-code-analysis-rules-gone-in-visual-studio-2008.aspx"&gt;high noise or no longer applicable analysis&lt;/a&gt;".&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Cualquier desarrollador de .Net que se haya preocupado un mínimo por el rendimiento una de las primeras cosas que suele mirar es si la aplicación está generando demasiados strings; así que debe haber alguna otra razón para quitar esa regla del motor.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Tras buscar un poco he encontrado unas entradas que nos dan alguna una pista: tanto en una &lt;a href="http://social.msdn.microsoft.com/forums/en-US/vstscode/thread/0fd68dc1-6815-44d4-b743-e0d4149bf7e7/"&gt;conversación en el foro de fxcop beta&lt;/a&gt; como en una &lt;a href="http://blogs.msdn.com/fxcop/archive/2008/01/07/faq-which-rules-shipped-in-which-version.aspx"&gt;nota de su blog&lt;/a&gt; comentan que el "data flow analysis engine", el encargado de comprobar esa regla, ha sido eliminado porque no funcionaba bien, era muy lento y además indeterminista.&lt;/div&gt;&lt;div&gt;Es una opinión/deducción personal, pero creo que nos han contado una verdad a medias y el impacto de haber quitado esa regla puede ser verdaderamente alto en aplicaciones grandes.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Teóricamente &lt;a href="https://connect.microsoft.com/Phoenix"&gt;Phoenix&lt;/a&gt; iba a arreglar el desaguisado pero no parece que tenga continuidad, así que habrá que ver si en vs2010, que vuelve a tener un data flow engine, las reglas se han vuelto a activar. ¿Alguien lo ha probado ya?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4773349175418023585-2904652837541578?l=iremote.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/IRemote/~4/OG_aSy7PXJY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iremote.blogspot.com/feeds/2904652837541578/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=4773349175418023585&amp;postID=2904652837541578" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/2904652837541578" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/2904652837541578" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/IRemote/~3/OG_aSy7PXJY/las-verdaderas-razones-detras-de-un.html" title="Las verdaderas razones detrás de un cambio" /><author><name>jmservera</name><uri>http://www.blogger.com/profile/17142856972629218862</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02435048903609290283" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://iremote.blogspot.com/2009/04/las-verdaderas-razones-detras-de-un.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-4773349175418023585.post-2814404919398075374</id><published>2009-02-23T13:51:00.006+01:00</published><updated>2009-02-23T14:09:00.780+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Trucos" /><title type="text">Serialización dinámica con el XmlSerializer</title><content type="html">&lt;p&gt;Para acabar con esta espontanea serie de posts sobre el XmlSerializer os cuento un par de trucos no demasiado bien documentados para controlar la serialización. &lt;/p&gt;  &lt;p&gt;En algunas ocasiones podemos necesitar que una clase hija no persista algunas de las propiedades del base, pero, como ya hemos visto &lt;a href="http://iremote.blogspot.com/2009/02/xmlserializer-y-ocultacion-de.html"&gt;antes&lt;/a&gt;, si la propiedad no es virtual se complica un poco el asunto. En estos casos podemos añadir un miembro público a la clase base con el mismo nombre de la propiedad + Specified con el valor a true:&lt;/p&gt;  &lt;pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; C1&lt;br /&gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;{&lt;br /&gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;	&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; MyProperty { &lt;span style="color: #0000ff"&gt;get&lt;/span&gt;; &lt;span style="color: #0000ff"&gt;set&lt;/span&gt;; }&lt;br /&gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;	[XmlIgnore]&lt;br /&gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;	&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;bool&lt;/span&gt; MyPropertySpecified = &lt;span style="color: #0000ff"&gt;true&lt;/span&gt;;&lt;br /&gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;}&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;De esta manera al heredar de la clase podremos especificar su valor a false, lo que hará que no se persista dicha propiedad:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; C2:C1&lt;br /&gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;{&lt;br /&gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;	&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; MyOtherProperty { &lt;span style="color: #0000ff"&gt;get&lt;/span&gt;; &lt;span style="color: #0000ff"&gt;set&lt;/span&gt;; }&lt;br /&gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;	&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; C2()&lt;br /&gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;	{&lt;br /&gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;		MyPropertySpecified = &lt;span style="color: #0000ff"&gt;false&lt;/span&gt;;&lt;br /&gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;	}&lt;br /&gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;}&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;En otras ocasiones, lo que querremos es decidir cuando se debe persistir el valor y cuando no. Por ejemplo, si una lista no tiene valores o si un string es null puede que no nos interese que aparezca el valor vacío en el xml. Eso se consigue con un método público llamado ShouldSerialize + el nombre de la propiedad y que devuelva un bool indicando si la propiedad debe persistirse:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; C3 : C2&lt;br /&gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;{&lt;br /&gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;	&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; MyThirdProperty { &lt;span style="color: #0000ff"&gt;get&lt;/span&gt;; &lt;span style="color: #0000ff"&gt;set&lt;/span&gt;; }&lt;br /&gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;	&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;bool&lt;/span&gt; ShouldSerializeMyThirdProperty()&lt;br /&gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;	{&lt;br /&gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;		&lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff"&gt;false&lt;/span&gt;;&lt;br /&gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;	}&lt;br /&gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;}&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Ahora podéis probar las clases, adivinad qué mostrará cada llamada:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;XmlSerializer ser = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; XmlSerializer(&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(C1), &lt;br /&gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;	&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Type[] { &lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(C2), &lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(C3) });&lt;br /&gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;ser.Serialize(Console.Out, &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; C1() { MyProperty = &amp;quot;&lt;span style="color: #8b0000"&gt;test&lt;/span&gt;&amp;quot;});&lt;br /&gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;Console.WriteLine();&lt;br /&gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;ser.Serialize(Console.Out, &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; C2() { MyProperty = &amp;quot;&lt;span style="color: #8b0000"&gt;test&lt;/span&gt;&amp;quot;, &lt;br /&gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;	MyOtherProperty = &amp;quot;&lt;span style="color: #8b0000"&gt;test 2&lt;/span&gt;&amp;quot; });&lt;br /&gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;Console.WriteLine();&lt;br /&gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;ser.Serialize(Console.Out, &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; C3() { MyProperty = &amp;quot;&lt;span style="color: #8b0000"&gt;test&lt;/span&gt;&amp;quot;, &lt;br /&gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;	MyOtherProperty = &amp;quot;&lt;span style="color: #8b0000"&gt;test 2&lt;/span&gt;&amp;quot;, MyThirdProperty=&amp;quot;&lt;span style="color: #8b0000"&gt;test 3&lt;/span&gt;&amp;quot; });&lt;br /&gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;Console.ReadLine();&lt;/pre&gt;&lt;/pre&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4773349175418023585-2814404919398075374?l=iremote.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/IRemote/~4/pjm9_fvfdDw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iremote.blogspot.com/feeds/2814404919398075374/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=4773349175418023585&amp;postID=2814404919398075374" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/2814404919398075374" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/2814404919398075374" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/IRemote/~3/pjm9_fvfdDw/serializacion-dinamica-con-el.html" title="Serialización dinámica con el XmlSerializer" /><author><name>jmservera</name><uri>http://www.blogger.com/profile/17142856972629218862</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02435048903609290283" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://iremote.blogspot.com/2009/02/serializacion-dinamica-con-el.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-4773349175418023585.post-1796422560547054059</id><published>2009-02-20T16:49:00.006+01:00</published><updated>2009-02-23T13:21:30.309+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Trucos" /><title type="text">XmlSerializer y ocultación de propiedades</title><content type="html">&lt;div&gt;Esta mañana tras responder a un &lt;a href="http://geeks.ms/blogs/etomas/archive/2009/02/20/xmlserializer-y-propiedades-ocultadas.aspx"&gt;post&lt;/a&gt; de &lt;a href="http://geeks.ms/members/etomas/default.aspx"&gt;Eduard Tomàs i Avellana&lt;/a&gt; me ha dado por investigar un poco más sobre el tema...&lt;/div&gt;&lt;br /&gt;&lt;div&gt;En su caso el problema tenía solución pues podía modificar ambas clases, pero ¿qué pasaría si estamos heredando de una clase que no podemos modificar? Hay múltiples soluciones, desde el uso de un patrón Adapter hasta la implementación del interface IXmlSerializable, pero todas ellas requieren escribir una cantidad considerable de código.&lt;/div&gt;&lt;div&gt;Pero... en algunos casos nos podría servir una sobrecarga del XmlSerializer que admite como argumento una instancia del &lt;a href="http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlattributeoverrides.aspx"&gt;XmlAttributeOverrides&lt;/a&gt;, que, como su propio nombre indica, nos permite sobrecargar los atributos que usa el XmlSerializer sobre una clase para generar el código de serialización. Aunque tiene sus peligros podremos influir en cómo se serializa la clase base sin tener que modificarla.&lt;/div&gt;&lt;div&gt;Por ejemplo, si tuviéramos la siguiente definición de clases:&lt;/div&gt;&lt;br /&gt;&lt;code&gt;public class C1&lt;br /&gt;{&lt;br /&gt; List&amp;lt;C1&amp;gt; _myList = new List&amp;lt;C1&amp;gt;();&lt;br /&gt; public List&amp;lt;C1&amp;gt; MyList { get { return _myList; } }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public class C2:C1&lt;br /&gt;{&lt;br /&gt; List&amp;lt;C2&amp;gt; _myList = new List&amp;lt;C2&amp;gt;();&lt;br /&gt; public new List&amp;lt;C2&amp;gt; MyList { get { return _myList; } }&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;div&gt;Al crear el XmlSerializer nos daría un error de reflexión como pasaba en el caso de Eduard. Pero podemos obligar al serializador que ignore la propiedad de la clase base mediante el siguiente código:&lt;/div&gt;&lt;br /&gt;&lt;code class="prettyprint"&gt;&lt;br /&gt;XmlAttributeOverrides xOver = new XmlAttributeOverrides();&lt;br /&gt;XmlAttributes atts = new XmlAttributes(){ XmlIgnore=true};&lt;br /&gt;xOver.Add(typeof(C1), "MyList", atts);&lt;br /&gt;XmlSerializer ser = new XmlSerializer(typeof(C2),xOver);&lt;br /&gt;ser.Serialize(Console.Out, new C2());&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;div&gt;Aunque hay que usarlo con extremo cuidado, pues cualquier otra instancia del tipo C1 o derivados no serializará la propiedad MyList con ese serializador.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;¿Alguien más se anima a encontrar otra solución?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4773349175418023585-1796422560547054059?l=iremote.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/IRemote/~4/GXxdUl6oeOM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iremote.blogspot.com/feeds/1796422560547054059/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=4773349175418023585&amp;postID=1796422560547054059" title="1 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/1796422560547054059" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/1796422560547054059" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/IRemote/~3/GXxdUl6oeOM/xmlserializer-y-ocultacion-de.html" title="XmlSerializer y ocultación de propiedades" /><author><name>jmservera</name><uri>http://www.blogger.com/profile/17142856972629218862</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02435048903609290283" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://iremote.blogspot.com/2009/02/xmlserializer-y-ocultacion-de.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-4773349175418023585.post-7543114205001872644</id><published>2009-02-06T12:00:00.020+01:00</published><updated>2009-02-11T11:45:50.837+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Trucos" /><title type="text">Optimización de XmlSerializer</title><content type="html">&lt;p&gt;Ayer, haciendo una de revisión en un servicio,  nos dimos cuenta que se hacían continuamente llamadas al csc.exe. Esto provocaba que el servicio fuera muy lento y además consumiera mucha memoria, así que nos pusimos manos a la obra.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Como sabíamos que el servicio hacía un uso intensivo de la serialización Xml con el &lt;a href="http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlserializer.aspx"&gt;XmlSerializer&lt;/a&gt; no hizo falta hacer debug sino que fuimos a mirar el código que probablemente invocaba al csc.&lt;/p&gt;&lt;p&gt;Paso directamente a describir cómo funciona y el porqué del comportamiento que encontramos.&lt;/p&gt;&lt;p&gt;En .Net serializar una clase sencilla (sin referencias circulares, con al menos el constructor por defecto, etc...) a Xml es bastante directo, sólo necesitas crear un &lt;a href="http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlserializer.aspx"&gt;XmlSerializer&lt;/a&gt; para la clase en cuestión, por ejemplo, si tenemos un conjunto de clases así:&lt;code&gt;&lt;br /&gt;public class BaseClass&lt;br /&gt;{&lt;br /&gt; public int BaseProperty { get; set; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public class TestClass&lt;br /&gt;{&lt;br /&gt; public string MyProperty1 { get; set; }&lt;br /&gt; public BaseClass MyProperty2{get;set;}&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Para serializar TestClass podríamos usar el siguiente código:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;TestClass xmlSerializableClass =&lt;br /&gt; new TestClass { MyProperty1 = "test", MyProperty2 = new BaseClass()};&lt;br /&gt;XmlSerializer serializer = new XmlSerializer(typeof(TestClass));&lt;br /&gt;serializer.Serialize(Console.Out, xmlSerializableClass);&lt;br /&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Al ejecutarse genera un archivo .cs con el código de serialización de nuestra clase lo compila y lo ejecuta para serializarlo. La siguiente vez la clase XmlSerializer no volverá a compilar pues guarda internamente una lista con (casi) todos los serializadores que va creando.&lt;/p&gt;&lt;p&gt;Si heredamos de BaseClass y queremos que nuestra nueva clase se incluya en el serializador hay que agregar un atributo para que el XmlSerializer la tenga en cuenta automáticamente, en caso contrario nos daría un error en tiempo de ejecución:&lt;br /&gt;&lt;code&gt;public class AnotherClass:BaseClass&lt;br /&gt;{&lt;br /&gt; public int AnotherProperty { get; set; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;[&lt;strong&gt;XmlInclude&lt;/strong&gt;(typeof(&lt;strong&gt;AnotherClass&lt;/strong&gt;))]&lt;br /&gt;public class BaseClass&lt;br /&gt;{&lt;br /&gt; public int BaseProperty { get; set; }&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;De esta manera el siguiente código seguirá funcionando y utilizando el caché:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;TestClass xmlSerializableClass =&lt;br /&gt;  new TestClass { MyProperty1 = "test", MyProperty2 = new &lt;strong&gt;AnotherClass&lt;/strong&gt;()};&lt;br /&gt;XmlSerializer serializer = new XmlSerializer(typeof(TestClass));&lt;br /&gt;serializer.Serialize(Console.Out, xmlSerializableClass);&lt;br /&gt;&lt;/code&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Hasta aquí bien, pero ¿qué pasa si en tiempo de compilación aún no sabemos exactamente cuantas clases heredarán de BaseClass? Podría ocurrir que tuvieramos una aplicación con plugins y que pudieran añadir más clases ahí. Para eso el XmlSerializer tiene otro constructor donde le podemos pasar una lista de tipos a añadir al serializador aparte de los que haya indicados en el atributo:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;XmlSerializer serializer = new XmlSerializer(typeof(TestClass),&lt;br /&gt;  new Type[]{typeof(&lt;strong&gt;NotIncludedClass&lt;/strong&gt;)});&lt;/code&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;El único problema de este constructor es que no guarda la clase autogenerada en el caché. Por lo tanto, cada vez que se ejecute el código se ejecutará un csc.exe y se cargará un nuevo assembly dentro de nuestra aplicación. Eso nos produce dos efectos:&lt;/p&gt;&lt;ol&gt;  &lt;li&gt;Nuestra aplicación se ralentiza&lt;/li&gt;  &lt;li&gt;Como los assemblies no se descargan nunca, la memoria no se libera&lt;/li&gt;&lt;/ol&gt;En estos casos nos conviene guardar una referencia al serializador. Espero haber ayudado a alguien. Podéis descargar el código de ejemplo &lt;a href="http://cid-31eeba0d051ac7c4.skydrive.live.com/self.aspx/.Public/IRemote/XmlSerializationTest/Program.zip"&gt;aquí&lt;/a&gt;.&lt;div&gt;&lt;br /&gt;&lt;div&gt;Para saber más, hace ya unos cuantos años escribí un pequeño  de introducción al &lt;a href="http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlserializer.aspx"&gt;XmlSerializer&lt;/a&gt; que podéis encontrar &lt;a href="http://www.elguille.info/colabora/puntoNET/soylan_XmlSerializer.htm"&gt;aquí&lt;/a&gt;.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4773349175418023585-7543114205001872644?l=iremote.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/IRemote/~4/3K63CGhoEq4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iremote.blogspot.com/feeds/7543114205001872644/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=4773349175418023585&amp;postID=7543114205001872644" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/7543114205001872644" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/7543114205001872644" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/IRemote/~3/3K63CGhoEq4/optimizacion-de-xmlserializer.html" title="Optimización de XmlSerializer" /><author><name>jmservera</name><uri>http://www.blogger.com/profile/17142856972629218862</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02435048903609290283" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://iremote.blogspot.com/2009/02/optimizacion-de-xmlserializer.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-4773349175418023585.post-1472424530717546815</id><published>2008-12-03T17:38:00.004+01:00</published><updated>2008-12-07T00:12:22.267+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Cloud" /><title type="text">The network is the...</title><content type="html">&lt;strike&gt;Computer&lt;/strike&gt; Great Deal!&lt;br /&gt;Mientras los unos hablan del Cloud como la evolución natural e ineludible y los otros nos advierten de sus peligros, los más avispados se están dando cuenta de que volvemos a los inicios de la computación, cuando alquilaban los “superordenadores” por horas. El Cloud Computing no va de ubicuidad, ni va de la red, ni va de encontrar la pregunta a la respuesta 42, sino de cambiar la manera en que las grandes compañías hacen el negocio.&lt;br /&gt;Igual que la moda tiene ciclos (y no sólo la de mujer... &lt;a href="http://www.guardian.co.uk/technology/2008/sep/29/cloud.computing.richard.stallman"&gt;aunque lo diga Stallman&lt;/a&gt;) y cada 50 años vuelven los pantalones de campana, parece ser que en tecnología ocurre lo mismo (y ahí si que le doy la razón).&lt;br /&gt;&lt;br /&gt;EC2, GoogleApi, Azure, Project Caroline, Blue Cloud, vCloud son todo tecnologías propietarias, pero yo me pregunto si habrá alguien desarrollando un Free Cloud OS por ahí, algo revolucionario de verdad.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4773349175418023585-1472424530717546815?l=iremote.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/IRemote/~4/hyCpC2wuOi0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iremote.blogspot.com/feeds/1472424530717546815/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=4773349175418023585&amp;postID=1472424530717546815" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/1472424530717546815" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/1472424530717546815" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/IRemote/~3/hyCpC2wuOi0/network-is.html" title="The network is the..." /><author><name>jmservera</name><uri>http://www.blogger.com/profile/17142856972629218862</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02435048903609290283" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://iremote.blogspot.com/2008/12/network-is.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-4773349175418023585.post-3909521181218931065</id><published>2008-12-01T15:28:00.010+01:00</published><updated>2008-12-01T16:45:52.467+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Trucos" /><category scheme="http://www.blogger.com/atom/ns#" term="VS.Net" /><title type="text">Nota mental: desactivar el informe de problemas y soluciones</title><content type="html">Hace unos días la herramienta de "Informes de errores y soluciones" me dió un buen susto. Mientras ejecutaba unos tests unitarios en Visual Studio el VSTestHost.exe encontró un problema y se cerró... tras el primer susto inicial (que luego os cuento) resultó que una de las clases que estaba testeando daba una StackOverflowException. &lt;div&gt;Como algunos sabréis las StackOverflowException no son capturables desde la versión 2.0 del framework. Además, para los que no lo hayáis probado sabed que ni siquiera se capturan con RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup, así que el framework de unit testing tampoco las captura, se cierra y punto.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;Lo gracioso de todo esto es cómo el Windows Vista ha manejado el error del unit testing. La dichosa herramienta de solución de errores me ha dado la siguiente solución:&lt;/div&gt;&lt;br /&gt;&lt;div style="BORDER-RIGHT: 1px dotted; BORDER-TOP: 1px dotted; BORDER-LEFT: 1px dotted; BORDER-BOTTOM: 1px dotted"&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;Informes de errores y soluciones&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;Este problema se debe a &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;Visual Studio Team Edition for Software Testers&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;. Visual Studio Team Edition for Software Testers fue creado por &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;Visual Studio Team Edition for Software Testers&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;El período de prueba para ejecutar versiones beta o preliminares de Visual Studio Team Edition for Software Testers se ha agotado, y Visual Studio Team Edition for Software Testers ya no ofrece soporte para versiones beta. Deberá realizar la actualización a la versión comercial de Visual Studio Team Edition for Software Testers.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;Solución&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="COLOR: rgb(255,0,0)"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;Para obtener más información acerca de cómo realizar la actualización a la versión comercial de Visual Studio Team Edition for Software Testers, vaya al sitio web que se indica a continuación.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;¿Cómo?¿Que tengo que comprar otro VS.Net para ejecutar las pruebas que venía ejecutando hasta ahora? ¿Tan malo soy programando?&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Moraleja: en las máquinas de desarrollo con Vista mejor &lt;a href="http://geeks.ms/blogs/vista-tecnica/archive/2008/01/31/c-243-mo-desactivar-la-herramienta-de-informe-de-errores-en-vista-por-i-241-aki-ayucar.aspx"&gt;desactivar el informe&lt;/a&gt;... os evitaréis problemas innecesarios.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4773349175418023585-3909521181218931065?l=iremote.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/IRemote/~4/HgV_e2bggYk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iremote.blogspot.com/feeds/3909521181218931065/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=4773349175418023585&amp;postID=3909521181218931065" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/3909521181218931065" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/3909521181218931065" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/IRemote/~3/HgV_e2bggYk/nota-mental-desactivar-el-informe-de.html" title="Nota mental: desactivar el informe de problemas y soluciones" /><author><name>jmservera</name><uri>http://www.blogger.com/profile/17142856972629218862</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02435048903609290283" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://iremote.blogspot.com/2008/12/nota-mental-desactivar-el-informe-de.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-4773349175418023585.post-1155039188165970800</id><published>2008-11-19T09:34:00.003+01:00</published><updated>2008-11-19T09:40:07.042+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Cloud" /><category scheme="http://www.blogger.com/atom/ns#" term="Oslo" /><category scheme="http://www.blogger.com/atom/ns#" term="Azure" /><category scheme="http://www.blogger.com/atom/ns#" term="Dublin" /><title type="text">Guía sobre Oslo, Azure &amp; Dublin</title><content type="html">Vía &lt;a href="http://geeks.ms/blogs/mllopis/archive/2008/11/18/gu-237-a-de-bloggers-para-adentrarse-en-quot-connected-systems-1-0-quot-oslo-wcf-wf-azure-y-dublin.aspx"&gt;Miguel Llopis&lt;/a&gt; he encontrado una guía de los blogs del equipo de Connected Systems en Microsoft donde encontraréis todo lo que se ha hablado sobre estos temas. Podéis encontrar esta guía &lt;a href="http://bloggersguides.net/media/p/186.aspx"&gt;aquí&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Recordad desbloquear el CHM en las propiedades del fichero para poder verlo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4773349175418023585-1155039188165970800?l=iremote.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/IRemote/~4/aM-6rraCdpY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iremote.blogspot.com/feeds/1155039188165970800/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=4773349175418023585&amp;postID=1155039188165970800" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/1155039188165970800" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/1155039188165970800" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/IRemote/~3/aM-6rraCdpY/gua-sobre-oslo-azure-dublin.html" title="Guía sobre Oslo, Azure &amp; Dublin" /><author><name>jmservera</name><uri>http://www.blogger.com/profile/17142856972629218862</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02435048903609290283" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://iremote.blogspot.com/2008/11/gua-sobre-oslo-azure-dublin.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-4773349175418023585.post-4995911570799112344</id><published>2008-11-18T18:20:00.004+01:00</published><updated>2008-11-19T09:55:59.178+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Cloud" /><category scheme="http://www.blogger.com/atom/ns#" term="Mesh" /><category scheme="http://www.blogger.com/atom/ns#" term="Azure" /><title type="text">Revuelo en la nube</title><content type="html">&lt;p&gt;Hace ya algunas semanas que no hace más que hablarse de &lt;a href="http://www.microsoft.com/presspass/exec/ozzie/10-27PDC08dayone.mspx"&gt;Azure&lt;/a&gt; y los partidarios de cada bando dan sus argumentos de por qué un sistema es mejor que otro: que si amazon lleva más tiempo, que si google sabe más de internet, que si vamos camino del gran hermano de Orwell (otra vez!).&lt;/p&gt;&lt;p&gt;Creo que mejor dejamos esta guerra a los de sistemas y nos centramos en lo que más nos interesa a nosotros: con Azure podremos crear aplicaciones con ASP.Net, desde el Visual Studio y desplegarlas a la nube fácilmente.&lt;br /&gt;¿Qué más queréis? Personalmente me parece fantástico poder crear aplicaciones de una nueva forma sin tener que ampliar de nuevo mis conocimientos, que, como dice &lt;a href="http://blogs.msdn.com/davidsalgado/archive/2008/11/10/interpretar-los-contenidos-del-pdc-sin-agobiarse.aspx"&gt;David Salgado&lt;/a&gt;, ya suficiente tenemos con el nuevo paradigma de &lt;a href="http://en.wikipedia.org/wiki/Model-driven_architecture"&gt;MDD&lt;/a&gt; y las novedades de C# 4.0.&lt;br /&gt;La pena de todo esto es que por ahora es un &lt;a href="http://www.microsoft.com/azure/default.mspx"&gt;CTP cerrado&lt;/a&gt; y los mortales que no fuimos al PDC no podemos probarlo aún, habrá que esperar.&lt;br /&gt;&lt;br /&gt;Por otra parte, está claro que Microsoft sigue viendo un gran negocio en las aplicaciones de escritorio y &lt;a href="https://www.mesh.com/"&gt;Mesh&lt;/a&gt; nos permite sincronizar datos entre dispositivos usando la nube. Seguro que cuando lo probéis decidiréis dejar los pendrives en la misma caja donde tenéis los disquettes.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4773349175418023585-4995911570799112344?l=iremote.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/IRemote/~4/c0mqw79vzYc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iremote.blogspot.com/feeds/4995911570799112344/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=4773349175418023585&amp;postID=4995911570799112344" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/4995911570799112344" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/4995911570799112344" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/IRemote/~3/c0mqw79vzYc/revuelo-en-la-nube_18.html" title="Revuelo en la nube" /><author><name>jmservera</name><uri>http://www.blogger.com/profile/17142856972629218862</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02435048903609290283" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://iremote.blogspot.com/2008/11/revuelo-en-la-nube_18.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-4773349175418023585.post-8752347556415857498</id><published>2008-10-22T10:36:00.003+02:00</published><updated>2008-10-22T11:17:58.219+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Herramientas" /><title type="text">Crack.Net</title><content type="html">No, no es un buscador de lo que pensais sino una nueva herramienta para mirar dentro de la "managed heap" de cualquier aplicación Net de escritorio. La podéis descargar &lt;a href="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=cracknetproject&amp;amp;DownloadId=46987"&gt;aquí&lt;/a&gt;:&lt;br /&gt;&lt;a href="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=cracknetproject&amp;amp;DownloadId=46987"&gt;http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=cracknetproject&amp;amp;DownloadId=46987&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Josh Smith, uno de los creadores de &lt;a href="http://www.codeproject.com/KB/macros/MoleForVisualStudioEdit.aspx"&gt;mole&lt;/a&gt; ha creado esta potente herramienta que nos ayudará a ver qué hacen nuestras aplicaciones de una manera más intuitiva que el debugger del vs.net.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://joshsmithonwpf.files.wordpress.com/2008/10/annotatedlauncherwindow.png"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://joshsmithonwpf.files.wordpress.com/2008/10/annotatedlauncherwindow.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://joshsmithonwpf.files.wordpress.com/2008/10/annotatedmemoryexplorer_selectedobject.png"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://joshsmithonwpf.files.wordpress.com/2008/10/annotatedmemoryexplorer_selectedobject.png" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4773349175418023585-8752347556415857498?l=iremote.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/IRemote/~4/mz74Bq4FLds" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iremote.blogspot.com/feeds/8752347556415857498/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=4773349175418023585&amp;postID=8752347556415857498" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/8752347556415857498" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/8752347556415857498" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/IRemote/~3/mz74Bq4FLds/cracknet.html" title="Crack.Net" /><author><name>jmservera</name><uri>http://www.blogger.com/profile/17142856972629218862</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02435048903609290283" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://iremote.blogspot.com/2008/10/cracknet.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-4773349175418023585.post-6818888761313687417</id><published>2008-10-14T11:03:00.003+02:00</published><updated>2008-10-14T11:16:35.277+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="parallel" /><title type="text">Multicore &amp; Parallel Programming</title><content type="html">&lt;div&gt;¿Es 2 mejor que 1?&lt;br /&gt;&lt;/div&gt;Acabo de leer un post de &lt;a href="http://geeks.ms/blogs/jalarcon/archive/2008/10/10/procesadores-multicore-amenaza-para-la-industria.aspx"&gt;José Manuel Alarcón&lt;/a&gt; sobre el problema de los procesadores multicore y cómo la industria está intentado resolverlo. No es sencillo y, como siempre, quien tiene que apechugar con las "nuevas características" y paradigmas del hardware es el pobre desarrollador. Menos mal que alguna ayudita tendremos gracias a que las &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=348F73FD-593D-4B3C-B055-694C50D2B0F3&amp;amp;displaylang=en"&gt;Parallel Extensions&lt;/a&gt; serán parte de &lt;a href="http://blogs.msdn.com/pfxteam/archive/2008/10/10/8994927.aspx"&gt;núcleo del Framework 4.0&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4773349175418023585-6818888761313687417?l=iremote.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/IRemote/~4/Y2tHSYt2zWw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iremote.blogspot.com/feeds/6818888761313687417/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=4773349175418023585&amp;postID=6818888761313687417" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/6818888761313687417" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/6818888761313687417" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/IRemote/~3/Y2tHSYt2zWw/multicore-parallel-programming.html" title="Multicore &amp; Parallel Programming" /><author><name>jmservera</name><uri>http://www.blogger.com/profile/17142856972629218862</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02435048903609290283" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://iremote.blogspot.com/2008/10/multicore-parallel-programming.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-4773349175418023585.post-8503682489946538107</id><published>2008-10-14T10:37:00.003+02:00</published><updated>2008-10-14T10:43:27.726+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Baleares on .Net" /><category scheme="http://www.blogger.com/atom/ns#" term="MSSql" /><title type="text">Nuevas charlas de Baleares on .Net</title><content type="html">Podéis leer en el &lt;a href="http://www.balearsinnovacio.com/blog/?p=1214"&gt;blog de Javier Jofre&lt;/a&gt; que hay dos nuevas charlas sobre MS SQL Server 2008 preparadas por la gente de Innova. El equivalente al Heroes Community Launch para SQL Server 2008. Serán:&lt;br /&gt;Viernes 24 Octubre:&lt;br /&gt;- Carlos A. García: Tipos de datos nuevos en SQL Server 2008.- Pedro Bauzá: Sql Server 2008 versus SQL Server 2005.&lt;br /&gt; Jueves 20 Noviembre:&lt;br /&gt;- Javier Jofre: Reporting Services con SQL Server 2008.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4773349175418023585-8503682489946538107?l=iremote.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/IRemote/~4/91pG61gYHt8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iremote.blogspot.com/feeds/8503682489946538107/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=4773349175418023585&amp;postID=8503682489946538107" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/8503682489946538107" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/8503682489946538107" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/IRemote/~3/91pG61gYHt8/nuevas-charlas-de-baleares-on-net.html" title="Nuevas charlas de Baleares on .Net" /><author><name>jmservera</name><uri>http://www.blogger.com/profile/17142856972629218862</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02435048903609290283" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://iremote.blogspot.com/2008/10/nuevas-charlas-de-baleares-on-net.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-4773349175418023585.post-2743098942345089860</id><published>2008-08-12T08:48:00.003+02:00</published><updated>2008-08-12T09:06:35.769+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="3.5" /><category scheme="http://www.blogger.com/atom/ns#" term="ADO.NET Data Services" /><title type="text">System.Data.Services</title><content type="html">Hace ya un tiempo que en &lt;a href="http://www.baleareson.net/"&gt;Baleares on .Net&lt;/a&gt; dimos, &lt;a href="http://iremote.blogspot.com/2008/03/primer-aniversario-de-baleares-on-net.html"&gt;entre otras&lt;/a&gt;, una charla sobre ADO .Net data services. Por entonces estaba en fase beta, pero ya funcionaba bien y prometía mucho.&lt;br /&gt;Como todo tiene un final, ayer, por fin, se publicó el &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ab99342f-5d1a-413d-8319-81da479ab0d7&amp;amp;DisplayLang=en"&gt;SP1 del Framework 3.5&lt;/a&gt; con todas las nuevas funcionalidades, así que ya podremos usar en producción los servicios REST y unas cuantas cosas más.&lt;br /&gt;&lt;br /&gt;La documentación para ADO.Net Data Services está online dentro del namespace &lt;a href="http://msdn.microsoft.com/en-us/library/system.data.services.aspx"&gt;System.Data.Services&lt;/a&gt; y en el &lt;a href="http://blogs.msdn.com/marcelolr/archive/2008/08/11/system-data-services.aspx"&gt;WebLog de Marcelo&lt;/a&gt; encontraréis la explicación de los namespaces.&lt;br /&gt;&lt;br /&gt;Happy coding.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4773349175418023585-2743098942345089860?l=iremote.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/IRemote/~4/0C5VKdh_ea8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iremote.blogspot.com/feeds/2743098942345089860/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=4773349175418023585&amp;postID=2743098942345089860" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/2743098942345089860" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/2743098942345089860" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/IRemote/~3/0C5VKdh_ea8/systemdataservices.html" title="System.Data.Services" /><author><name>jmservera</name><uri>http://www.blogger.com/profile/17142856972629218862</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02435048903609290283" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://iremote.blogspot.com/2008/08/systemdataservices.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-4773349175418023585.post-4658996040635029967</id><published>2008-07-29T10:36:00.003+02:00</published><updated>2008-07-29T11:03:20.735+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="INETA" /><title type="text">Ineta Europe gets social</title><content type="html">&lt;p&gt;A través de &lt;a href="http://www.josefcobonnin.com/post/2008/07/28/INETA-Europe-newsletter.aspx"&gt;Mad about .Net&lt;/a&gt; he sabido que &lt;a href="http://europe.ineta.org/"&gt;INETA&lt;/a&gt; ha creado una red social para todos sus miembros.&lt;/p&gt;&lt;p&gt;Podéis uniros en &lt;a href="http://community.ineta-europe.org/"&gt;http://community.ineta-europe.org/&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4773349175418023585-4658996040635029967?l=iremote.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/IRemote/~4/qXWE4tGDURY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iremote.blogspot.com/feeds/4658996040635029967/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=4773349175418023585&amp;postID=4658996040635029967" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/4658996040635029967" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/4658996040635029967" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/IRemote/~3/qXWE4tGDURY/ineta-europe-gets-social.html" title="Ineta Europe gets social" /><author><name>jmservera</name><uri>http://www.blogger.com/profile/17142856972629218862</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02435048903609290283" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://iremote.blogspot.com/2008/07/ineta-europe-gets-social.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-4773349175418023585.post-2586649446173145399</id><published>2008-06-13T09:38:00.003+02:00</published><updated>2008-06-13T09:49:55.584+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Trucos" /><title type="text">Herramientas de Sysinternals compartidas en la web</title><content type="html">A través de un &lt;a href="http://geeks.ms/blogs/lamaya/archive/2008/06/12/herramientas-de-sysinternals-disponibles-en-windows-live.aspx"&gt;blogger de Geeks&lt;/a&gt; he encontrado un lugar donde están compartidas todas las herramientas de &lt;a href="http://technet.microsoft.com/es-es/sysinternals/default(en-us).aspx"&gt;sysinternals&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a title="http://live.sysinternals.com/" href="http://live.sysinternals.com/"&gt;http://live.sysinternals.com/&lt;/a&gt; &lt;br /&gt;Es una simple lista de utilidades que se  pueden ejecutar directamente desde la página en un momento de apuro. Por ejemplo segundos antes de hacer una demo nos damos cuenta que no tenemos instalado el zoomit... pues ahí está.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4773349175418023585-2586649446173145399?l=iremote.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/IRemote/~4/t3wNdgtY16M" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iremote.blogspot.com/feeds/2586649446173145399/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=4773349175418023585&amp;postID=2586649446173145399" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/2586649446173145399" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/2586649446173145399" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/IRemote/~3/t3wNdgtY16M/herramientas-de-sysinternals.html" title="Herramientas de Sysinternals compartidas en la web" /><author><name>jmservera</name><uri>http://www.blogger.com/profile/17142856972629218862</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02435048903609290283" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://iremote.blogspot.com/2008/06/herramientas-de-sysinternals.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-4773349175418023585.post-7655004596369997538</id><published>2008-05-13T10:02:00.003+02:00</published><updated>2008-05-13T10:19:05.772+02:00</updated><title type="text">ADO.NET Data Services Framework Beta 1</title><content type="html">¡&lt;a href="http://blogs.msdn.com/astoriateam/archive/2008/05/12/ado-net-data-services-framework-beta-1-is-live.aspx"&gt;Por fin ya tenemos la beta&lt;/a&gt;! Viene incluida como parte del paquete &lt;a href="http://go.microsoft.com/fwlink/?LinkId=115068" mce_href="http://go.microsoft.com/fwlink/?LinkId=115068"&gt;.NET 3.5 SP1 Beta 1&lt;/a&gt; al mismo tiempo que &lt;a href="http://go.microsoft.com/fwlink/?LinkId=117351" mce_href="http://go.microsoft.com/fwlink/?LinkId=117351"&gt;Visual Studio 2008 SP1 Beta 1&lt;/a&gt;. Hay un montón de cambios que ya empezaron a anunciar en el &lt;a href="http://sessions.visitmix.com/"&gt;Mix 08&lt;/a&gt;. A nivel de nombres de clases y namespaces ha habido bastantes, algo habitual cuando se pasa de un ctp a una beta, pero además hay unas cuantas novedades importantes:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Batch: ahora se pueden enviar paquetes de cambios que se ejecutarán en un contexto atómico.&lt;/li&gt;&lt;li&gt;Concurrencia optimista: se posibilita mediante un "token" de concurrencia mediante ETags y HTTP If-*.&lt;/li&gt;&lt;li&gt;Nuevo interface IUpdatable: para permitir servicios de escritura sobre fuentes de datos que no estén usando el Entity Framework sino un interface IQueryable.&lt;/li&gt;&lt;/ul&gt;Podéis leer más en el &lt;a href="http://blogs.msdn.com/pablo/archive/2008/05/12/data-services-and-entity-framework-beta-bits-available.aspx"&gt;blog de Pablo Castro&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4773349175418023585-7655004596369997538?l=iremote.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/IRemote/~4/ogMy5UZ6i8s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iremote.blogspot.com/feeds/7655004596369997538/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=4773349175418023585&amp;postID=7655004596369997538" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/7655004596369997538" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/7655004596369997538" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/IRemote/~3/ogMy5UZ6i8s/adonet-data-services-framework-beta-1.html" title="ADO.NET Data Services Framework Beta 1" /><author><name>jmservera</name><uri>http://www.blogger.com/profile/17142856972629218862</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02435048903609290283" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://iremote.blogspot.com/2008/05/adonet-data-services-framework-beta-1.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-4773349175418023585.post-4031860182681542018</id><published>2008-05-05T13:17:00.004+02:00</published><updated>2008-05-05T13:30:26.977+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Silverlight" /><title type="text">Hago mis propios programas... y juegos!</title><content type="html">Parece que ese infame anuncio de un curso de programación dejó huella en alguien del equipo de &lt;a href="http://www.blogger.com/www.popfly.com"&gt;Popfly&lt;/a&gt;, y ahí tenéis el resultado:&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://1.bp.blogspot.com/_kP0EgelReEA/SB7uvJnUGLI/AAAAAAAAAp4/Xe11-4CnYVU/s1600-h/game.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5196853513834207410" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_kP0EgelReEA/SB7uvJnUGLI/AAAAAAAAAp4/Xe11-4CnYVU/s400/game.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt; Un creador de juegos online basado en Silverlight. Podéis ver más en el &lt;a href="http://blogs.msdn.com/jasonz/archive/2008/05/03/announcing-popfly-game-creator.aspx"&gt;blog de Jason Zander&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4773349175418023585-4031860182681542018?l=iremote.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/IRemote/~4/OuZ-UFSaXXQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iremote.blogspot.com/feeds/4031860182681542018/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=4773349175418023585&amp;postID=4031860182681542018" title="1 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/4031860182681542018" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/4031860182681542018" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/IRemote/~3/OuZ-UFSaXXQ/hago-mis-propios-programas-y-juegos.html" title="Hago mis propios programas... y juegos!" /><author><name>jmservera</name><uri>http://www.blogger.com/profile/17142856972629218862</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02435048903609290283" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_kP0EgelReEA/SB7uvJnUGLI/AAAAAAAAAp4/Xe11-4CnYVU/s72-c/game.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://iremote.blogspot.com/2008/05/hago-mis-propios-programas-y-juegos.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-4773349175418023585.post-4300484043325092993</id><published>2008-04-24T13:54:00.004+02:00</published><updated>2008-11-19T09:56:36.398+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Cloud" /><category scheme="http://www.blogger.com/atom/ns#" term="Mesh" /><title type="text">Microsoft se vuelve a subir a la nube con Live Mesh</title><content type="html">Si hace poco ya anunciaron los &lt;a href="https://www.microsoft.com/sql/dataservices/default.mspx"&gt;SQL Server Data Services&lt;/a&gt;, que ofrecen a los desarrolladores la plataforma de SQL Server en la nube, ahora dan un paso más alla con todos los servicios del desktop en la nube con &lt;a href="https://www.mesh.com/"&gt;Live Mesh&lt;/a&gt;. Podéis ver a Ray Ozzie hablando del tema en &lt;a href="http://channel9.msdn.com/Showpost.aspx?postid=399578"&gt;Channel 9&lt;/a&gt; o ver este video de demostración:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe src="http://on10.net/blogs/nic/22038/player/" frameborder="0" width="320" scrolling="no" height="325"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;a href="http://on10.net/blogs/nic/Hands-on-with-Live-Mesh/"&gt;Hands on with Live Mesh&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4773349175418023585-4300484043325092993?l=iremote.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/IRemote/~4/JClzTjJsJ6g" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iremote.blogspot.com/feeds/4300484043325092993/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=4773349175418023585&amp;postID=4300484043325092993" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/4300484043325092993" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/4300484043325092993" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/IRemote/~3/JClzTjJsJ6g/microsoft-se-vuelve-subir-la-nube-con.html" title="Microsoft se vuelve a subir a la nube con Live Mesh" /><author><name>jmservera</name><uri>http://www.blogger.com/profile/17142856972629218862</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02435048903609290283" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://iremote.blogspot.com/2008/04/microsoft-se-vuelve-subir-la-nube-con.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-4773349175418023585.post-7975265596650276533</id><published>2008-04-21T20:28:00.002+02:00</published><updated>2008-04-21T20:35:08.522+02:00</updated><title type="text">.NET 3.5 Enhancements Training Kit</title><content type="html">El equipo de evangelismo de VS y .Net Framework publicó hace poco un &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=355c80e9-fde0-4812-98b5-8a03f5874e96&amp;amp;displaylang=en"&gt;paquete de recursos &lt;/a&gt;sobre las siguientes tecnologías:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;ADO.NET Data Services &lt;/li&gt;&lt;li&gt;ADO.NET Entity Framework &lt;/li&gt;&lt;li&gt;ASP.NET AJAX History &lt;/li&gt;&lt;li&gt;ASP.NET Dynamic Data &lt;/li&gt;&lt;li&gt;ASP.NET MVC &lt;/li&gt;&lt;li&gt;ASP.NET Silverlight controls &lt;/li&gt;&lt;/ol&gt;&lt;p&gt;En el &lt;a href="http://lostintangent.com/2008/04/16/net-35-enhancements-training-kit/"&gt;post original &lt;/a&gt;comentan que irán añadiendo poco a poco más cosas como demos, presentaciones, etc...&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4773349175418023585-7975265596650276533?l=iremote.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/IRemote/~4/YMHHslhEQwI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iremote.blogspot.com/feeds/7975265596650276533/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=4773349175418023585&amp;postID=7975265596650276533" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/7975265596650276533" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/7975265596650276533" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/IRemote/~3/YMHHslhEQwI/net-35-enhancements-training-kit.html" title=".NET 3.5 Enhancements Training Kit" /><author><name>jmservera</name><uri>http://www.blogger.com/profile/17142856972629218862</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02435048903609290283" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://iremote.blogspot.com/2008/04/net-35-enhancements-training-kit.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-4773349175418023585.post-1199684527502033790</id><published>2008-04-02T18:06:00.005+02:00</published><updated>2008-04-02T18:29:11.755+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Baleares on .Net" /><category scheme="http://www.blogger.com/atom/ns#" term="Eventos" /><title type="text">Fotos del aniversario de Baleares On .Net</title><content type="html">&lt;a href="http://blogs.clearscreen.com/jfbonnin/archive/2008/04/02/11816.aspx"&gt;Jose&lt;/a&gt; ha colgado las fotos del aniversario en su &lt;a href="http://www.facebook.com/album.php?aid=45188&amp;amp;page=3&amp;amp;l=73321&amp;amp;id=597496250"&gt;facebook&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.facebook.com/album.php?aid=45188&amp;amp;page=3&amp;amp;l=73321&amp;amp;id=597496250"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 200px; CURSOR: hand" alt="" src="http://photos-e.ak.facebook.com/photos-ak-sf2p/v190/232/37/597496250/n597496250_1047364_6961.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.facebook.com/album.php?aid=45188&amp;amp;page=3&amp;amp;l=73321&amp;amp;id=597496250"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 200px; CURSOR: hand" alt="" src="http://photos-f.ak.facebook.com/photos-ak-sf2p/v190/232/37/597496250/n597496250_1047389_4278.jpg" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4773349175418023585-1199684527502033790?l=iremote.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/IRemote/~4/WUIJzdzpqnU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iremote.blogspot.com/feeds/1199684527502033790/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=4773349175418023585&amp;postID=1199684527502033790" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/1199684527502033790" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/1199684527502033790" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/IRemote/~3/WUIJzdzpqnU/fotos-del-aniversario-de-baleares-on.html" title="Fotos del aniversario de Baleares On .Net" /><author><name>jmservera</name><uri>http://www.blogger.com/profile/17142856972629218862</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02435048903609290283" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://iremote.blogspot.com/2008/04/fotos-del-aniversario-de-baleares-on.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-4773349175418023585.post-1560305893206158547</id><published>2008-03-31T15:58:00.004+02:00</published><updated>2008-04-01T21:19:52.424+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Baleares on .Net" /><category scheme="http://www.blogger.com/atom/ns#" term="Eventos" /><title type="text">Primer aniversario de Baleares on Net</title><content type="html">El pasado viernes participé en el &lt;a href="http://www.baleareson.net/CommunityLaunch/"&gt;Community Launch&lt;/a&gt; y aniversario del grupo de usuarios Baleares on Net. Mi charla fué sobre &lt;a href="http://astoria.mslivelabs.com/"&gt;Ado .Net Data Services&lt;/a&gt;, espero que os gustara tanto como me ha gustado a mi prepararla. Dentro de poco estarán disponibles las diapositivas y demos para descarga.&lt;br /&gt;&lt;br /&gt;Gracias a todos por asistir y a los ponentes por ser tan majos y dispuestos a venir tan lejos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4773349175418023585-1560305893206158547?l=iremote.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/IRemote/~4/DV3hZQ92SGU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iremote.blogspot.com/feeds/1560305893206158547/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=4773349175418023585&amp;postID=1560305893206158547" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/1560305893206158547" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/1560305893206158547" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/IRemote/~3/DV3hZQ92SGU/primer-aniversario-de-baleares-on-net.html" title="Primer aniversario de Baleares on Net" /><author><name>jmservera</name><uri>http://www.blogger.com/profile/17142856972629218862</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02435048903609290283" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://iremote.blogspot.com/2008/03/primer-aniversario-de-baleares-on-net.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-4773349175418023585.post-3085701438666867052</id><published>2008-03-07T13:43:00.004+01:00</published><updated>2008-03-07T13:50:22.666+01:00</updated><title type="text">Heroes Community Launch</title><content type="html">&lt;p&gt;Ya tenemos preparado el &lt;a href="http://www.heroescommunitylaunch.com/" target="_blank" closure_hashcode_="513"&gt;Heroes Community Launch&lt;/a&gt; en la comunidad &lt;a href="http://baleareson.net/" target="_blank" closure_hashcode_="514"&gt;Baleares On .Net&lt;/a&gt;. Vamos a realizar una jornada para la presentación de los últimos productos de Microsoft lanzados el 27 de Febrero de 2008. &lt;a href="http://blogs.clearscreen.com/jfbonnin/" target="_blank" closure_hashcode_="515"&gt;José&lt;/a&gt; lo ha organizado para que vengan ponentes reconocidos que han estado en otros eventos similares. Será el &lt;a href="http://www.baleareson.net/CommunityLaunch/Default.aspx" target="_blank" closure_hashcode_="516"&gt;28 de Marzo&lt;/a&gt; bajo el siguiente programa:&lt;br /&gt;&lt;strong&gt;09:00 - 09:30 Registro&lt;br /&gt;09:30 - 10:00&lt;/strong&gt; Bienvenida y Presentación.&lt;br /&gt;&lt;strong&gt;10:00 - 11:00&lt;/strong&gt; Windows Server 2008 - David Cervigón, Microsoft.&lt;br /&gt;&lt;strong&gt;11:00 - 12:00&lt;/strong&gt; Metodologías Ágiles con TFS 2008 - Rodrigo Corral, PlainConcepts.&lt;br /&gt;&lt;strong&gt;12:00 - 12:30 Coffee Break&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;12:30 - 13:30&lt;/strong&gt; SQL Server 2008 - Eladio Rincón, SolidQuality Mentors.&lt;br /&gt;&lt;strong&gt;13:30 - 14:30&lt;/strong&gt; ADO.NET Framework Entity - Jose Fco Bonnin, Payvision.&lt;br /&gt;&lt;strong&gt;14:30 - 15:30 Tiempo libre para almorzar&lt;br /&gt;15:30 - 16:30&lt;/strong&gt; ADO.NET Data Services - Juan Manuel Servera, Babtec.&lt;br /&gt;&lt;strong&gt;16:30 - 17:30&lt;/strong&gt; Diseño Emocional y Experiencias de Usuario Avanzadas con Silverlight y WPF - Miguel Jiménez, Ilitia.&lt;br /&gt;&lt;strong&gt;17:30 - 18:30&lt;/strong&gt; Advanced Debugging - David Salgado, Microsoft.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Para asistir simplemente es necesario &lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032369009&amp;amp;Culture=es-ES" target="_blank" closure_hashcode_="519"&gt;registrarse&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4773349175418023585-3085701438666867052?l=iremote.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/IRemote/~4/5cqJzxmBpTQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iremote.blogspot.com/feeds/3085701438666867052/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=4773349175418023585&amp;postID=3085701438666867052" title="1 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/3085701438666867052" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/3085701438666867052" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/IRemote/~3/5cqJzxmBpTQ/heroes-community-launch.html" title="Heroes Community Launch" /><author><name>jmservera</name><uri>http://www.blogger.com/profile/17142856972629218862</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02435048903609290283" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://iremote.blogspot.com/2008/03/heroes-community-launch.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-4773349175418023585.post-6637295435303912925</id><published>2008-02-19T10:49:00.004+01:00</published><updated>2008-02-19T10:58:13.544+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Baleares on .Net" /><category scheme="http://www.blogger.com/atom/ns#" term="Eventos" /><category scheme="http://www.blogger.com/atom/ns#" term="NUG" /><title type="text">Visual Studio 2008, SQL Server 2008, Windows Server 2008, Astoria, Entity Framework ...</title><content type="html">El 28 de Marzo tenemos un evento especial en &lt;a href="http://www.baleareson.net/"&gt;Baleares On .Net&lt;/a&gt;. El aniversario del grupo coincide con un evento del programa &lt;a href="http://www.heroescommunitylaunch.com/"&gt;{Community} Launch&lt;/a&gt;, del que formamos parte, así que habrá una gran presentación de los nuevos productos de Microsoft para desarrolladores.&lt;br /&gt;Podéis leer más detalles en: &lt;a href="http://www.baleareson.net/CommunityLaunch/"&gt;http://www.baleareson.net/CommunityLaunch/&lt;/a&gt;&lt;br /&gt;Dentro de poco estará disponible el registro.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4773349175418023585-6637295435303912925?l=iremote.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/IRemote/~4/c7o1zH4-FNI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iremote.blogspot.com/feeds/6637295435303912925/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=4773349175418023585&amp;postID=6637295435303912925" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/6637295435303912925" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/6637295435303912925" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/IRemote/~3/c7o1zH4-FNI/visual-studio-2008-sql-server-2008.html" title="Visual Studio 2008, SQL Server 2008, Windows Server 2008, Astoria, Entity Framework ..." /><author><name>jmservera</name><uri>http://www.blogger.com/profile/17142856972629218862</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02435048903609290283" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://iremote.blogspot.com/2008/02/visual-studio-2008-sql-server-2008.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-4773349175418023585.post-7090552834422409706</id><published>2007-12-01T10:19:00.000+01:00</published><updated>2007-12-01T10:35:10.096+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="WPF" /><category scheme="http://www.blogger.com/atom/ns#" term="Silverlight" /><title type="text">Silverlight 2.0</title><content type="html">&lt;strong&gt;Scott Guthrie&lt;/strong&gt; acaba de &lt;a href="http://weblogs.asp.net/scottgu/archive/2007/11/29/net-web-product-roadmap-asp-net-silverlight-iis7.aspx"&gt;anunciar en su blog&lt;/a&gt; (entre otras muchas cosas) el lanzamiento de la primera beta de Silverlight 2.0 a principios del año que viene.&lt;br /&gt;El "truco" reside en que estaban añadiendo tantas características nuevas a 1.1 que han decidido cambiarle el número de versión.&lt;br /&gt;Las mejoras son: uso de un subconjunto de las características del WPF UI compatibles con éste, más de 20 controles ricos que incluyen textbox, checkbox, radiobutton, grid, tabcontrol, progressbar y un largo etcétera, manejo en red de REST, POX, RSS, and WS* y conexiones cross-domain (por fin!), además de las funcionalidades de las librerías base de .Net (colecciones, generics,...) e incluso LINQ to XML.&lt;br /&gt;¡Ya no tendremos excusa para no usarlo!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4773349175418023585-7090552834422409706?l=iremote.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/IRemote/~4/w-g_NMIqjY4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iremote.blogspot.com/feeds/7090552834422409706/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=4773349175418023585&amp;postID=7090552834422409706" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/7090552834422409706" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/7090552834422409706" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/IRemote/~3/w-g_NMIqjY4/silverlight-20.html" title="Silverlight 2.0" /><author><name>jmservera</name><uri>http://www.blogger.com/profile/17142856972629218862</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02435048903609290283" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://iremote.blogspot.com/2007/12/silverlight-20.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-4773349175418023585.post-527356111455686658</id><published>2007-11-07T10:26:00.000+01:00</published><updated>2007-11-07T10:34:22.651+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="VS.Net" /><title type="text">Visual Studio 2008</title><content type="html">Microsoft anunció en el TechEd de Barcelona la  inminente publicación de la versión RTM (release to manufacturing) de &lt;a href="http://msdn2.microsoft.com/es-es/vstudio/default.aspx"&gt;Visual Studio 2008 &lt;/a&gt; a finales de este mes.&lt;br /&gt;&lt;br /&gt;La versión final junto con Windows Server 2008 y SQL Server 2008 la veremos el 27 de Febrero.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4773349175418023585-527356111455686658?l=iremote.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/IRemote/~4/-Gj0D8nqKMc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iremote.blogspot.com/feeds/527356111455686658/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=4773349175418023585&amp;postID=527356111455686658" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/527356111455686658" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4773349175418023585/posts/default/527356111455686658" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/IRemote/~3/-Gj0D8nqKMc/visual-studio-2008.html" title="Visual Studio 2008" /><author><name>jmservera</name><uri>http://www.blogger.com/profile/17142856972629218862</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="02435048903609290283" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://iremote.blogspot.com/2007/11/visual-studio-2008.html</feedburner:origLink></entry></feed>
