<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/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'><id>tag:blogger.com,1999:blog-8616517</id><updated>2009-12-13T11:31:17.382+01:00</updated><title type='text'>Pointer to (void)</title><subtitle type='html'>En el mundo existen dos tipos de personas, las que crean y las que mantienen lo creado para no borrar la memoria de lo predecible.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.luisbelloch.es/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default'/><link rel='alternate' type='text/html' href='http://blog.luisbelloch.es/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default?start-index=26&amp;max-results=25'/><author><name>Luis Belloch</name><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>54</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8616517.post-3007531328238318035</id><published>2009-01-20T21:03:00.001+01:00</published><updated>2009-01-20T21:03:21.587+01:00</updated><title type='text'>Lecciones de Programación (I)</title><content type='html'>&lt;p&gt;De cómo lidiar con &lt;a href="http://channel9.msdn.com/pdc2008/TL11/"&gt;nuevos lenguajes&lt;/a&gt; a los que uno decide enfrentarse:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Que entiendas a Shakespeare no significa que sepas escribir como él.&lt;/em&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616517-3007531328238318035?l=blog.luisbelloch.es' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.luisbelloch.es/feeds/3007531328238318035/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8616517&amp;postID=3007531328238318035' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/3007531328238318035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/3007531328238318035'/><link rel='alternate' type='text/html' href='http://blog.luisbelloch.es/2009/01/lecciones-de-programacin-i.html' title='Lecciones de Programación (I)'/><author><name>Luis Belloch</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16975218437667331046'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616517.post-5347131478301725243</id><published>2009-01-14T18:59:00.001+01:00</published><updated>2009-01-14T18:59:49.377+01:00</updated><title type='text'>Windows 7</title><content type='html'>&lt;p&gt;Acabo de instalar la beta de Windows 7 y puedo dar fe que los múltiples comentarios de que es más estable etc. son puramente ciertos. Quién lo diría.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/tims/archive/2009/01/12/the-bumper-list-of-windows-7-secrets.aspx"&gt;Tim Sneath: The bumper list of Windows 7 secrects&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/8616517-5347131478301725243?l=blog.luisbelloch.es' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.luisbelloch.es/feeds/5347131478301725243/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8616517&amp;postID=5347131478301725243' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/5347131478301725243'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/5347131478301725243'/><link rel='alternate' type='text/html' href='http://blog.luisbelloch.es/2009/01/windows-7.html' title='Windows 7'/><author><name>Luis Belloch</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16975218437667331046'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616517.post-5157053100177586260</id><published>2008-06-08T19:56:00.001+02:00</published><updated>2008-06-08T19:57:37.916+02:00</updated><title type='text'>Depuración lenta ASP.NET y Firefox</title><content type='html'>&lt;p&gt;Para aquellos que desarrollan de forma intensiva en ASP.NET habr&amp;#225;n notado que bajo ciertas circunstancias, las p&amp;#225;ginas servidas en local se cargan de forma mucho m&amp;#225;s lenta en Firefox que en IE.&lt;/p&gt;  &lt;p&gt;Para resolver el problema, podemos establecer a &lt;em&gt;true&lt;/em&gt; un valor de la configuraci&amp;#243;n de Firefox llamado &lt;strong&gt;network.dns.disableIPv6&lt;/strong&gt;. Utilizando como direcci&amp;#243;n URL &lt;a href="about:config" target="_blank" rel="nofollow"&gt;about:config&lt;/a&gt; es posible acceder a la configuraci&amp;#243;n &amp;quot;avanzada&amp;quot; de Firefox.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/luisbelloch/SEwdPbOKAfI/AAAAAAAAASo/i_ISurYAp1c/s1600-h/firefox-aspnet%5B4%5D.png" target="_blank"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="200" alt="firefox-aspnet" src="http://lh6.ggpht.com/luisbelloch/SEwdQQ4U_VI/AAAAAAAAASs/DBp_CtNsUqg/firefox-aspnet_thumb%5B2%5D.png?imgmax=800" width="461" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Y ya que estamos con Firefox, dos herramientas indispensables para el desarrollo web: &lt;a href="http://www.getfirebug.com/" target="_blank"&gt;Firebug&lt;/a&gt; y &lt;a href="http://developer.yahoo.com/yslow/" target="_blank"&gt;YSlow&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/8616517-5157053100177586260?l=blog.luisbelloch.es' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.luisbelloch.es/feeds/5157053100177586260/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8616517&amp;postID=5157053100177586260' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/5157053100177586260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/5157053100177586260'/><link rel='alternate' type='text/html' href='http://blog.luisbelloch.es/2008/06/depuracin-lenta-aspnet-y-firefox.html' title='Depuración lenta ASP.NET y Firefox'/><author><name>Luis Belloch</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16975218437667331046'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616517.post-1700259808658860214</id><published>2008-05-04T11:27:00.001+02:00</published><updated>2008-05-04T11:27:58.610+02:00</updated><title type='text'>Introducing Google App Engine</title><content type='html'>&lt;p&gt;Google Software Engineer Brett Slatkin builds and deploys a sample guestbook web app on top of Google App Engine.&lt;/p&gt; &lt;embed height="355" type="application/x-shockwave-flash" width="425" src="http://www.youtube.com/v/tcbpTQXNwac&amp;amp;hl=en" wmode="transparent" /&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616517-1700259808658860214?l=blog.luisbelloch.es' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.luisbelloch.es/feeds/1700259808658860214/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8616517&amp;postID=1700259808658860214' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/1700259808658860214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/1700259808658860214'/><link rel='alternate' type='text/html' href='http://blog.luisbelloch.es/2008/05/introducing-google-app-engine.html' title='Introducing Google App Engine'/><author><name>Luis Belloch</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16975218437667331046'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616517.post-7893463296967545019</id><published>2008-01-22T13:25:00.001+01:00</published><updated>2008-01-28T19:16:56.018+01:00</updated><title type='text'>Sun adquiere MySQL AB</title><content type='html'>&lt;img height="86" alt="mysql-167x86" src="http://lh3.google.com/luisbelloch/R5Xgtg0fH6I/AAAAAAAAANA/Z2mX6bqzeWY/mysql-167x86_thumb%5B3%5D" width="167" border="0" /&gt;   &lt;p&gt;Parece que Sun ha decidido darle una vuelta de tuerca a su estrategia de inmersi&amp;#243;n en TI y ha comprado MySQL. Seg&amp;#250;n Jonathan Schwartz: &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;blockquote&gt;... I wanted to be as clear as I could: this transaction increases our investment in open source, and in open source databases. And increases our commitment to Postgres - and the database industry broadly. The same goes for our work with Apache Derby, and our JavaDB...&lt;/blockquote&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Veremos donde queda todo esto.&lt;/p&gt;  &lt;p&gt;M&amp;#225;s informaci&amp;#243;n: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.sun.com/jonathan/entry/in_a_vortex" target="_blank"&gt;Jonathan Schwartz's Blog on the adquisition&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.sun.com/aboutsun/pr/2008-01/sunflash.20080116.1.xml" target="_blank"&gt;Sun's Press Release&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.mysql.com/news-and-events/sun-to-acquire-mysql.html" target="_blank"&gt;MySQL AB Press Release&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Actualizaci&amp;#243;n 28/01&lt;/strong&gt;: Me dicen por aqu&amp;#237; que a&amp;#241;ada tambi&amp;#233;n la &lt;a href="http://www.bea.com/framework.jsp?CNT=pr01894.htm&amp;amp;FP=/content/news_events/press_releases/2008&amp;amp;WT.ac=hp_news_oracle_aqc" target="_blank"&gt;compra de BEA por Oracle&lt;/a&gt;. Qu&amp;#233; vor&amp;#225;gine, madre.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616517-7893463296967545019?l=blog.luisbelloch.es' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.luisbelloch.es/feeds/7893463296967545019/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8616517&amp;postID=7893463296967545019' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/7893463296967545019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/7893463296967545019'/><link rel='alternate' type='text/html' href='http://blog.luisbelloch.es/2008/01/sun-adquiere-mysql-ab.html' title='Sun adquiere MySQL AB'/><author><name>Luis Belloch</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16975218437667331046'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616517.post-7666548509028545842</id><published>2007-11-23T17:57:00.001+01:00</published><updated>2007-11-23T17:58:16.091+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MSDNMag'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='PLINQ'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='LINQ'/><title type='text'>Un par de enlaces sobre LINQ</title><content type='html'>&lt;p&gt;&amp;#191;Quien dijo que LINQ era solo para el acceso a datos?&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/jomo_fisher/archive/2007/03/28/fast-switching-with-linq.aspx" target="_blank"&gt;Jomo Fisher plantea&lt;/a&gt; una posible implementaci&amp;#243;n para acelerar el acceso a diccionarios mediante el soporte a expresiones de LINQ. 65 l&amp;#237;neas de c&amp;#243;digo para pasar de 697ms del acceso est&amp;#225;ndar de .NET a tan solo 70ms. Bastante elegante, de las mejores implementaciones de ello que veo en tiempo.&lt;/p&gt;  &lt;p&gt;En &lt;a href="http://blogs.msdn.com/lukeh/archive/2007/04/03/a-ray-tracer-in-c-3-0.aspx" target="_blank"&gt;LukeH's Weblog podemos encontrar&lt;/a&gt; dos implementaciones de un raytracer, la segunda en &lt;a href="http://blogs.msdn.com/lukeh/archive/2007/10/01/taking-linq-to-objects-to-extremes-a-fully-linqified-raytracer.aspx" target="_blank"&gt;tan solo un stament&lt;/a&gt;, haciendo uso intensivo de LINQ.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/msdnmag/issues/07/10/PLINQ/default.aspx?loc=es" target="_blank"&gt;Joe Duffy y Ed Essey comentan desde MSDN Magazine&lt;/a&gt; la ejecuci&amp;#243;n de LINQ de forma paralela, lo que se ha denominado como Parallel LINQ (o PLINQ). Se espera que PLINQ sea liberado como a&amp;#241;adido al framework actual. &lt;a href="http://channel9.msdn.com/showpost.aspx?postid=347531" target="_blank"&gt;Existe un v&amp;#237;deo en Channel 9&lt;/a&gt; de Hejlsberg y &lt;a href="http://www.bluebytesoftware.com/blog/default.aspx" target="_blank"&gt;Duffy&lt;/a&gt; explicando por encima esta tecnolog&amp;#237;a. Mohammed Hossam tiene publicados &lt;a href="http://spellcoder.com/blogs/bashmohandes/archive/2007/10/14/8530.aspx" target="_blank"&gt;un par de ejemplos sencillos&lt;/a&gt;, entre ellos una multiplicaci&amp;#243;n de matrices de forma paralela (que ya fu&amp;#233; publicada anteriormente en MSDN).&lt;/p&gt;  &lt;p&gt;Matt Warren explica en &lt;a href="http://blogs.msdn.com/mattwar/archive/2007/07/30/linq-building-an-iqueryable-provider-part-i.aspx" target="_blank"&gt;una serie de posts&lt;/a&gt; como crear un proveedor &amp;quot;consultable&amp;quot; (queriable) para LINQ, que aunque no es excesivamente complicado, hay un par de puntos para entender con calma.&lt;/p&gt;  &lt;p&gt;Y por hoy basta de enlaces, buen fin de semana!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616517-7666548509028545842?l=blog.luisbelloch.es' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.luisbelloch.es/feeds/7666548509028545842/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8616517&amp;postID=7666548509028545842' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/7666548509028545842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/7666548509028545842'/><link rel='alternate' type='text/html' href='http://blog.luisbelloch.es/2007/11/un-par-de-enlaces-sobre-linq.html' title='Un par de enlaces sobre LINQ'/><author><name>Luis Belloch</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16975218437667331046'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616517.post-9220275077444644087</id><published>2007-11-23T17:15:00.001+01:00</published><updated>2007-11-23T17:58:43.587+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Conferencias'/><category scheme='http://www.blogger.com/atom/ns#' term='Mono'/><title type='text'>Mono Summit 2007</title><content type='html'>&lt;p&gt;La pr&amp;#243;xima semana estar&amp;#233; en Madrid en el &lt;a href="http://www.mono-project.com/MonoSummit2007" target="_blank"&gt;Mono Summit 2007&lt;/a&gt;, viendo a ver que da este a&amp;#241;o de si la cosa, y cuales son las expectativas &amp;quot;reales&amp;quot; de la plataforma. El &lt;a href="http://www.whyfloss.com/en/summit/mono07/"&gt;registro&lt;/a&gt; es gratuito.&lt;/p&gt;  &lt;p&gt;(Prometo hacer un resumen de por donde van los tiros cuando vuelva)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.mono-project.com/MonoSummit2007"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="80" alt="MonoSummit" src="http://lh4.google.com/luisbelloch/R0b8ua1Y1-I/AAAAAAAAAKI/VF7NqbZZqIk/MonoSummit%5B4%5D" width="240" border="0" /&gt;&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/8616517-9220275077444644087?l=blog.luisbelloch.es' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.luisbelloch.es/feeds/9220275077444644087/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8616517&amp;postID=9220275077444644087' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/9220275077444644087'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/9220275077444644087'/><link rel='alternate' type='text/html' href='http://blog.luisbelloch.es/2007/11/mono-summit-2007.html' title='Mono Summit 2007'/><author><name>Luis Belloch</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16975218437667331046'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616517.post-4359993108905419555</id><published>2007-11-20T09:53:00.001+01:00</published><updated>2007-11-23T17:59:04.069+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='VisualStudio'/><category scheme='http://www.blogger.com/atom/ns#' term='Releases'/><title type='text'>2008 is out!</title><content type='html'>&lt;p&gt;Visual Studio 2008 is available to download to MSDN subscribers. There is an &lt;a href="http://www.microsoft.com/express/" target="_blank"&gt;express release&lt;/a&gt;, free of charge.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=333325FD-AE52-4E35-B531-508D977D32A6&amp;amp;displaylang=en" target="_blank"&gt;.NET Framework 3.5 at MSDN&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://msdn2.microsoft.com/en-us/vstudio/products/aa700831.aspx" target="_blank"&gt;Visual Studio 2008 at MSDN&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/8616517-4359993108905419555?l=blog.luisbelloch.es' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.luisbelloch.es/feeds/4359993108905419555/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8616517&amp;postID=4359993108905419555' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/4359993108905419555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/4359993108905419555'/><link rel='alternate' type='text/html' href='http://blog.luisbelloch.es/2007/11/2008-is-out.html' title='2008 is out!'/><author><name>Luis Belloch</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16975218437667331046'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616517.post-6696209535670224647</id><published>2007-11-15T12:42:00.001+01:00</published><updated>2007-11-23T17:59:46.645+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MVC'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Previews'/><title type='text'>ASP.NET MVC Framework</title><content type='html'>&lt;p&gt;Awesome post about the new brand ASP.NET MVC Framework, at ScottGu's Blog. It will be an optional feature of future ASP.NET versions. Check it out!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/2007/11/13/asp-net-mvc-framework-part-1.aspx" target="_blank"&gt;ScottGu's Blog - ASP.NET MVC Framework (Part 1)&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/8616517-6696209535670224647?l=blog.luisbelloch.es' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.luisbelloch.es/feeds/6696209535670224647/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8616517&amp;postID=6696209535670224647' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/6696209535670224647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/6696209535670224647'/><link rel='alternate' type='text/html' href='http://blog.luisbelloch.es/2007/11/aspnet-mvc-framework.html' title='ASP.NET MVC Framework'/><author><name>Luis Belloch</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16975218437667331046'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616517.post-4191549314600187379</id><published>2007-10-22T22:36:00.001+02:00</published><updated>2007-10-22T22:36:08.242+02:00</updated><title type='text'>Windows 7</title><content type='html'>&lt;p&gt;Jeremy Reimer, de &lt;a href="http://arstechnica.com/news.ars/post/20071021-core-of-windows-7-taking-shape-meet-the-minwin-kernel.html" target="_blank"&gt;Ars Technica&lt;/a&gt;:&lt;/p&gt;  &lt;blockquote&gt;Eric Traut, one of Microsoft's chief operating system design engineers, gave a &lt;a href="http://www.acm.uiuc.edu/conference/2007/video/UIUC-ACM-RP07-Traut.wmv"&gt;fascinating demo&lt;/a&gt; (WMV) recently at the University of Illinois, where he talked about where the Windows core is going and ended with a sneak peek at the kernel of the next version of Windows, known by the exciting codename of &amp;quot;Windows 7.&amp;quot; &lt;/blockquote&gt;  &lt;p&gt;Parace que est&amp;#xE1;n realmente interesados en reducir el footprint del kernel y montar sobre el conjuntos de servicios dependiendo de si queremos un servidor de bases de datos o queremos un operativo para PDA. La palabra que m&amp;#xE1;s se oye es &lt;em&gt;virtualizaci&amp;#xF3;n,&lt;/em&gt; tiempo al tiempo.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://arstechnica.com/news.ars/post/20071021-core-of-windows-7-taking-shape-meet-the-minwin-kernel.html" target="_blank"&gt;Art&amp;#xED;culo en Ars Technica&lt;/a&gt;     &lt;br /&gt;&lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=349608" target="_blank"&gt;A sneak preek at Windows 7 (Channel 9)&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/8616517-4191549314600187379?l=blog.luisbelloch.es' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.luisbelloch.es/feeds/4191549314600187379/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8616517&amp;postID=4191549314600187379' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/4191549314600187379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/4191549314600187379'/><link rel='alternate' type='text/html' href='http://blog.luisbelloch.es/2007/10/windows-7.html' title='Windows 7'/><author><name>Luis Belloch</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16975218437667331046'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616517.post-6446744501802647370</id><published>2007-10-04T15:34:00.001+02:00</published><updated>2007-10-04T15:34:55.391+02:00</updated><title type='text'>.NET Framework Source Code</title><content type='html'>&lt;p&gt;Microsoft va a distribuir el c&amp;#xF3;digo fuente del framework de .NET con la pr&amp;#xF3;xima release de Visual Studio. Se distribuir&amp;#xE1; bajo la &lt;a href="http://www.microsoft.com/resources/sharedsource/licensingbasics/referencelicense.mspx" target="_blank"&gt;Microsoft Reference License&lt;/a&gt;, que no, no es Open Source. Lastima!&lt;/p&gt;  &lt;p&gt;M&amp;#xE1;s Info:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/2007/10/03/releasing-the-source-code-for-the-net-framework-libraries.aspx" target="_blank"&gt;Releasing the Source Code for the .NET Framework Libraries (ScottGu's Blog)&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/somasegar/archive/2007/10/03/net-fx-libraries-source-code.aspx" target="_blank"&gt;.NET FX Libraries Source Code (Somasegar's WebLog)&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616517-6446744501802647370?l=blog.luisbelloch.es' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.luisbelloch.es/feeds/6446744501802647370/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8616517&amp;postID=6446744501802647370' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/6446744501802647370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/6446744501802647370'/><link rel='alternate' type='text/html' href='http://blog.luisbelloch.es/2007/10/net-framework-source-code.html' title='.NET Framework Source Code'/><author><name>Luis Belloch</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16975218437667331046'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616517.post-7942291606491014077</id><published>2007-10-03T15:18:00.001+02:00</published><updated>2007-10-03T15:20:05.732+02:00</updated><title type='text'>ESB Definitions</title><content type='html'>&lt;p&gt;Link: &lt;a href="http://www.infoq.com/news/2007/09/what-does-the-term-esb-mean" target="_blank"&gt;InfoQ and Jean-Jacques Dubray&lt;/a&gt; on ESB and its meaning. Interesting.&lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616517-7942291606491014077?l=blog.luisbelloch.es' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.luisbelloch.es/feeds/7942291606491014077/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8616517&amp;postID=7942291606491014077' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/7942291606491014077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/7942291606491014077'/><link rel='alternate' type='text/html' href='http://blog.luisbelloch.es/2007/10/esb-definition.html' title='ESB Definitions'/><author><name>Luis Belloch</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16975218437667331046'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616517.post-3812843384823856958</id><published>2007-09-25T10:09:00.001+02:00</published><updated>2007-09-25T10:12:03.873+02:00</updated><title type='text'>Alertas en TFS</title><content type='html'>&lt;p&gt;Peter Sheill y Buck Hodges explican en sus blogs como crear alertas para, por ejemplo, atender a la creaci&amp;#xF3;n de nuevos work items.&lt;/p&gt;&lt;pre class="csharpcode"&gt;BisSubscribe.exe /eventType WorkItemChangedEvent &lt;br /&gt;/deliveryType EmailHtml /server &amp;lt;server name&amp;gt; &lt;br /&gt;/address &amp;lt;email address&amp;gt; /filter &lt;br /&gt;&amp;quot;PortfolioProject = '&amp;lt;project&amp;gt;' AND ChangeType = 'New'&lt;/pre&gt;&lt;p&gt;Los articulos se pueden encontrar &lt;a href="http://blogs.msdn.com/buckh/archive/2006/04/10/event-filtering.aspx" target="_blank"&gt;aqui&lt;/a&gt; y &lt;a href="http://blogs.msdn.com/psheill/archive/2006/02/01/522386.aspx" target="_blank"&gt;aqui&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/8616517-3812843384823856958?l=blog.luisbelloch.es' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.luisbelloch.es/feeds/3812843384823856958/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8616517&amp;postID=3812843384823856958' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/3812843384823856958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/3812843384823856958'/><link rel='alternate' type='text/html' href='http://blog.luisbelloch.es/2007/09/alertas-en-tfs.html' title='Alertas en TFS'/><author><name>Luis Belloch</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16975218437667331046'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616517.post-5193181651281210703</id><published>2007-09-06T23:19:00.001+02:00</published><updated>2007-09-06T23:19:59.332+02:00</updated><title type='text'>Facebook</title><content type='html'>&lt;p&gt;&lt;a href="http://www.facebook.com" target="_blank"&gt;Facebook&lt;/a&gt; se sale, llevo dos dias y me estoy volviendo adicto! Es una aplicaci&amp;#xF3;n bien escrita, es r&amp;#xE1;pida y est&amp;#xE1; muy bien pensada. L&amp;#xE1;stima que no est&amp;#xE9; traducida a m&amp;#xFA;ltiples idiomas y que no se lleve bien con tildes, &amp;#xF1; y demas (a ver si la compra google y se vuelve &lt;a href="http://googleblog.blogspot.com/2007/08/google-labs-india.html" target="_blank"&gt;un poco m&amp;#xE1;s global&lt;/a&gt;).&lt;/p&gt;  &lt;p&gt;Tengo que redise&amp;#xF1;ar el blog, esto ya huele ;-) &lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616517-5193181651281210703?l=blog.luisbelloch.es' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.luisbelloch.es/feeds/5193181651281210703/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8616517&amp;postID=5193181651281210703' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/5193181651281210703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/5193181651281210703'/><link rel='alternate' type='text/html' href='http://blog.luisbelloch.es/2007/09/facebook.html' title='Facebook'/><author><name>Luis Belloch</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16975218437667331046'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616517.post-7064884534144364640</id><published>2007-05-19T13:29:00.000+02:00</published><updated>2007-05-19T13:37:58.477+02:00</updated><title type='text'>Popfly!</title><content type='html'>Microsoft acaba de sacar una preview de &lt;a href="http://www.popfly.ms/"&gt;Popfly&lt;/a&gt;, un servicio destinado a desarrolladores y encaminado a compartir y evolucionar pequeños proyectos.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Popfly is another piece in our company-wide outreach in helping non-professional developers build everything from Xbox games to Robotics to custom Web applications using Windows Home Server. Popfly becomes the online home for building and sharing all types of non-professional projects, from static Web pages to mashups, to game mods.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Habla más de ello &lt;a href="http://blogs.msdn.com/somasegar/archive/2007/05/18/popfly.aspx"&gt;Somasegar en su blog.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616517-7064884534144364640?l=blog.luisbelloch.es' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.luisbelloch.es/feeds/7064884534144364640/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8616517&amp;postID=7064884534144364640' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/7064884534144364640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/7064884534144364640'/><link rel='alternate' type='text/html' href='http://blog.luisbelloch.es/2007/05/popfly.html' title='Popfly!'/><author><name>Luis Belloch</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16975218437667331046'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616517.post-116345295103519716</id><published>2006-11-13T22:22:00.000+01:00</published><updated>2006-11-13T22:22:31.040+01:00</updated><title type='text'>Java GPL</title><content type='html'>&lt;p&gt;Java acaba de lanzarse bajo licencia GPL, lo que va a permitir que millones de desarrolladores se sumen y hagan evolucionar la plataforma, y que este desarrollo permanezca libre para siempre. El GCC de esta década.&lt;/p&gt; &lt;p&gt;&lt;a title="http://www.sun.com/software/opensource/java/" href="http://www.sun.com/software/opensource/java/" target="_blank"&gt;http://www.sun.com/software/opensource/java/&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/8616517-116345295103519716?l=blog.luisbelloch.es' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.luisbelloch.es/feeds/116345295103519716/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8616517&amp;postID=116345295103519716' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/116345295103519716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/116345295103519716'/><link rel='alternate' type='text/html' href='http://blog.luisbelloch.es/2006/11/java-gpl.html' title='Java GPL'/><author><name>Luis Belloch</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16975218437667331046'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616517.post-116041575134721434</id><published>2006-10-09T19:42:00.000+02:00</published><updated>2006-10-09T19:42:31.480+02:00</updated><title type='text'>El desarrollo cambia</title><content type='html'>&lt;p&gt;Ni siquiera Microsoft puede permitirse el lujo de desperdiciar un potencial de desarrollo tan grande como el que genera el movimiento Open Source.&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;Operating systems components will be componentized. So that a Linux daemon will (gasp!) be able to use a Windows security component, via the use of standardized protocols. &amp;nbsp;Without it knowing that it is.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Que estas palabras vengan de Microsoft, no quiere decir que vaya a suceder así, viene diciendo que algo ha cambiado en el mundo.&lt;/p&gt; &lt;p&gt;Vía: &lt;a href="http://port25.technet.com/archive/2006/10/06/Microkernels-Revisited_3F00_.aspx" target="_blank"&gt;Port 25: Microkernels Revisited?&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/8616517-116041575134721434?l=blog.luisbelloch.es' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.luisbelloch.es/feeds/116041575134721434/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8616517&amp;postID=116041575134721434' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/116041575134721434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/116041575134721434'/><link rel='alternate' type='text/html' href='http://blog.luisbelloch.es/2006/10/el-desarrollo-cambia.html' title='El desarrollo cambia'/><author><name>Luis Belloch</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16975218437667331046'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616517.post-115956013583962244</id><published>2006-09-29T22:02:00.000+02:00</published><updated>2006-09-30T14:20:00.633+02:00</updated><title type='text'>J2EE Course</title><content type='html'>&lt;p&gt;El "evangelista" Sang Shin, de Sun Microsystem, comenzará el próximo 23 de octubre un curso online de J2EE bastante completo. Obviamente, el curso es gratuito.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.javapassion.com/j2ee/index.html" target="_blank"&gt;http://www.javapassion.com/j2ee/index.html&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/8616517-115956013583962244?l=blog.luisbelloch.es' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.luisbelloch.es/feeds/115956013583962244/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8616517&amp;postID=115956013583962244' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/115956013583962244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/115956013583962244'/><link rel='alternate' type='text/html' href='http://blog.luisbelloch.es/2006/09/j2ee-course.html' title='J2EE Course'/><author><name>Luis Belloch</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16975218437667331046'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616517.post-114992962050793336</id><published>2006-06-10T10:48:00.000+02:00</published><updated>2006-10-10T09:40:11.066+02:00</updated><title type='text'>¿Por qué mi tabla no es un objeto?</title><content type='html'>Es frecuente ver cómo el modelo de objetos y/o componentes de nuestra aplicación no casa muy bien con el hecho de que los datos se guarden de forma tabular en una base de datos. Así, el código queda impregnado de sentencias SQL, en componentes que únicamente se dedican a traducir a SQL y cuyo código generado no es posible verificar en tiempo de compilación (o al menos de forma limpia y sencilla). Un ejemplo:&lt;pre class="csharpcode"&gt;SqlCommand sqlCmd = New SqlCommand(&lt;br /&gt;                    &lt;span class="str"&gt;"select * from customers"&lt;/span&gt;, sqlConn);&lt;br /&gt;SqlDataAdapter dataAdapter = &lt;span class="kwrd"&gt;new&lt;/span&gt; SqlDataAdapter(sqlCmd);&lt;/pre&gt;Los componentes de acceso a datos suelen tener un aspecto poco elegante, debido a esa inyección de sentencias SQL, muchas veces generadas al vuelo.&lt;br /&gt;&lt;br /&gt;Dos soluciones existen para manejar este problema: Crear una correspondencia entre objetos y tablas en el SGDB (NHibernate, etc), o cambiar el lenguaje de programación para que acepte sentencias de manipulación de datos (LINQ).&lt;br /&gt;&lt;h4&gt;ORM (Object Relational Mapping)&lt;/h4&gt;Consiste en proveer una correspondencia directa entre tus entidades empresariales y campos de tu base de datos, de forma automática. &lt;a href="http://www.nhibernate.org"&gt;NHibernate&lt;/a&gt; es tu solución. Que bien trabaja la gente de Java a veces.&lt;br /&gt;&lt;br /&gt;Ahi va un pequeño ejemplo análogo al anterior:&lt;pre class="csharpcode"&gt;ISession session = factory.OpenSession();&lt;br /&gt;ITransaction tx = session.BeginTransaction();&lt;br /&gt;customers = session.CreateCriteria(&lt;span class="kwrd"&gt;typeof&lt;/span&gt;(Customer)).List();&lt;br /&gt;session.Close();&lt;/pre&gt; Sin duda mucho más limpio. No es dependiente del SGBD seleccionado, si algún día quieres cambiar por otro, puedes mirar en la &lt;a href="http://www.hibernate.org/361.html" target="_blank"&gt;lista de bases de datos soportadas por NHibernate&lt;/a&gt;. Si usas algo serio, sin duda está.&lt;br /&gt;&lt;h4&gt;LINQ&lt;/h4&gt;¿Y si el propio lenguaje incluyera sentencias de selección? de esta idea la gente de Microsoft (Hejlsberg et al.) han sacado otra buena aproximación al problema: LINQ (Language Integrated Query).&lt;pre class="csharpcode"&gt;&lt;br /&gt;Table&amp;lt;Customers&amp;gt; allCustomers = db.GetTable&amp;lt;Customers&amp;gt;();&lt;br /&gt;var result = &lt;span class="kwrd"&gt;from&lt;/span&gt; c &lt;span class="kwrd"&gt;in&lt;/span&gt; allCustomers&lt;br /&gt;             &lt;span class="kwrd"&gt;where&lt;/span&gt; c.ContactTitle.Length == 5&lt;br /&gt;             &lt;span class="kwrd"&gt;select&lt;/span&gt; c.ContactName;&lt;/pre&gt;Impresiona, eh? La ventaja es que tienes una comprobación en tiempo de ejecución de lo que está pasando. No más concatenaciones.&lt;br /&gt;&lt;h4&gt;Conclusiones&lt;/h4&gt;Para el trabajo de hoy, yo escogería NHibernate. La gente de java ya tiene experiencia con él y da buenos resultados. Te independiza de la base de datos. LINQ seguramente será lanzado con la próxima versión de .NET Framework, habrá que esperar a ver si los fabricantes de bases de datos pueden crear proveedores para LINQ y si el "tinglado" resultante te ata a SQLServer o puedes variar.&lt;br /&gt;&lt;h4&gt;Enlaces y referencias&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/data/linq/" target="_blank"&gt;LINQ at MSDN&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.theserverside.net/tt/articles/showarticle.tss?id=NHibernate" target="_blank"&gt;TheServerSide.NET: NHibernate&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.theserverside.net/tt/articles/showarticle.tss?id=ORMGuide" target="_blank"&gt;TheServerSide.NET: Object-Relational mapping, a mini-guide&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://channel9.msdn.com/showpost.aspx?postid=114680" target="_blank"&gt;Anders Hejlsberg at Channel 9&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://ibatis.apache.org/" target="_blank"&gt;iBATIS Data Mapper Framework&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://madgeek.com/Articles/ORMapping/EN/mapping.htm" target="_blank"&gt;Choosing an object-relational mapping tool&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://scala.epfl.ch/index.html" target="_blank"&gt;The Scala Programming Language&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616517-114992962050793336?l=blog.luisbelloch.es' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.luisbelloch.es/feeds/114992962050793336/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8616517&amp;postID=114992962050793336' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/114992962050793336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/114992962050793336'/><link rel='alternate' type='text/html' href='http://blog.luisbelloch.es/2006/06/por-qu-mi-tabla-no-es-un-objeto.html' title='¿Por qué mi tabla no es un objeto?'/><author><name>Luis Belloch</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16975218437667331046'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616517.post-114942750028413022</id><published>2006-06-04T14:53:00.000+02:00</published><updated>2006-06-10T10:41:25.116+02:00</updated><title type='text'>GWT y Script#</title><content type='html'>Creo que es indiscutible ya que todo el mundo quiere interfaces de usuario más ricas:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://code.google.com/webtoolkit/" target="_blank"&gt;Google Web Toolkit&lt;/a&gt;, permite "compilar" código Java en Javascript. ¿El enlace con el servidor? pues Java-RMI, aunque no se si es posible realizarlo de otra forma.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nikhilk.net/Entry.aspx?id=121" target="_blank"&gt;Script#&lt;/a&gt;, más de lo mismo, para .NET. Aún es un prototipo, pero a mi la idea me gusta más que toda la basura que agrega Atlas a tu código. El tiempo lo dirá.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616517-114942750028413022?l=blog.luisbelloch.es' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.luisbelloch.es/feeds/114942750028413022/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8616517&amp;postID=114942750028413022' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/114942750028413022'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/114942750028413022'/><link rel='alternate' type='text/html' href='http://blog.luisbelloch.es/2006/06/gwt-y-script.html' title='GWT y Script#'/><author><name>Luis Belloch</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16975218437667331046'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616517.post-114471438207751468</id><published>2006-04-11T02:00:00.000+02:00</published><updated>2006-05-23T23:44:58.046+02:00</updated><title type='text'>Red Hat compra JBoss</title><content type='html'>&lt;img src="http://www.telefonica.net/web2/lbelloch/logo-jboss.gif" alt="jboss logo"/&gt;&lt;br /&gt;&lt;p&gt;En otro "alarde" de creatividad, Red Hat ha adquirido JBoss por $350 millones. A donde iremos a parar... ¿Alguien dijo que el Open Source no da dinero?&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.redhat.com/about/news/prarchive/2006/jboss.html" target="_blank"&gt;Red Hat Signs Definitive Agreement to Acquire JBoss&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.jboss.com/redhat" target="_blank"&gt;Red Hat and JBoss&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616517-114471438207751468?l=blog.luisbelloch.es' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.luisbelloch.es/feeds/114471438207751468/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8616517&amp;postID=114471438207751468' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/114471438207751468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/114471438207751468'/><link rel='alternate' type='text/html' href='http://blog.luisbelloch.es/2006/04/red-hat-compra-jboss.html' title='Red Hat compra JBoss'/><author><name>Luis Belloch</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16975218437667331046'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616517.post-114120853630597215</id><published>2006-03-01T10:52:00.000+01:00</published><updated>2006-03-01T11:22:59.546+01:00</updated><title type='text'>Oracle XE</title><content type='html'>Oracle acaba de &lt;a href="http://www.oracle.com/corporate/press/2006_feb/oraclexega-022806.html?msgid=4645616" target="_blank"&gt;anunciar&lt;/a&gt; la disponibilidad de la versión definitiva, y gratuita, de Oracle 10g XE (Express Edition).&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Oracle Database 10g Express Edition (Oracle Database XE) is an entry-level, small-footprint database based on the Oracle Database 10g Release 2 code base that's free to develop, deploy, and distribute; fast to download; and simple to administer. Oracle Database XE is a great starter database.&lt;/blockquote&gt;&lt;br /&gt;Con esto (y la compra de InnoDB) Oracle posiciona a su base de datos en frente de las pequeñas aplicaciones y sitios web que han venido utilizando MySQL, Postgres o el reciente SQL Server 2005 Express Edition.&lt;br /&gt;&lt;br /&gt;¿Restricciones? Por supuesto, solo permite almacenar hasta 4GB de datos de usuario, utilizar 1GB de RAM y una sola CPU, aunque la máquina en la que lo instalas puede ser más grande, obviamente.&lt;br /&gt;&lt;br /&gt;Lo bueno, que es posible utilizarla en entornos de producción y de forma totalmente gratuita. La versión beta tenia buena pinta...&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.oracle.com/technology/products/database/xe/index.html" target="_blank"&gt;Oracle Database 10g Express Edition&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.oracle.com/corporate/press/2006_feb/oraclexega-022806.html?msgid=4645616" target="_blank"&gt;Oracle Announces General Availability [...]&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616517-114120853630597215?l=blog.luisbelloch.es' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.luisbelloch.es/feeds/114120853630597215/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8616517&amp;postID=114120853630597215' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/114120853630597215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/114120853630597215'/><link rel='alternate' type='text/html' href='http://blog.luisbelloch.es/2006/03/oracle-xe.html' title='Oracle XE'/><author><name>Luis Belloch</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16975218437667331046'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616517.post-113352308888124429</id><published>2005-11-25T12:21:00.000+01:00</published><updated>2006-02-27T11:52:09.936+01:00</updated><title type='text'>Branching como apoyo a la configuración</title><content type='html'>Una de las ventajas de los sistemas de control de versiones es la posibilidad de mantener distintas &lt;strong&gt;líneas de código&lt;/strong&gt; abiertas (&lt;em&gt;branches &lt;/em&gt;o ramas). La acción de derivar código de una línea a otra es lo que en &lt;strong&gt;&lt;a href="http://www.diveka.com"&gt;diveka&lt;/a&gt;&lt;/strong&gt; (y en medio mundo) denominamos &lt;em&gt;branching&lt;/em&gt;. Generalmente, cada línea tiene una política de desarrollo distinta, que establece que tipos de cambios se realizan sobre el producto. Utilizando esta breve definición, ya podemos sacar dos ventajas:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Es posible configurar un mismo producto para diferentes necesidades, manteniendo una base común entre los dos. Esto se aplica, por ejemplo, a clientes distintos, plataformas distintas, etc.&lt;/li&gt;&lt;li&gt;Es posible reflejar el estado del producto en un determinado momento, de forma precisa. Esto se aplica, por ejemplo, para distinguir versiones de desarrollo de versiones release de un mismo producto.&lt;/li&gt;&lt;/ul&gt; Podeis encontrar una buena &lt;strong&gt;tipología&lt;/strong&gt; de branching en el siguiente artículo: &lt;a href="http://www.accurev.com/product/docs/SCMBranchingModels1.pdf" target="blank" class="lnkExternal"&gt;SCM Branching Models (PDF)&lt;/a&gt;, aunque obviamente es posible otro tipo de configuraciones en función del producto.&lt;br /&gt;&lt;br /&gt;Así pues, introducidos en el tema, hoy me gustaría exponer el modelo de branching que utilizamos en &lt;a href="http://empresasolidaria.gva.es" target="blank" class="lnkExternal"&gt;Empresa Solidaria&lt;/a&gt;, y como este modelo flexibiliza nuestra producción.&lt;br /&gt;&lt;br /&gt;En el repositorio de &lt;a href="http://empresasolidaria.gva.es" target="blank" class="lnkExternal"&gt;Empresa Solidaria&lt;/a&gt; existe una línea principal, a la que llamamos cariñosamente &lt;strong&gt;Main&lt;/strong&gt;, donde se introducen nuevas características. La política de versiones que hemos trazado, establece que se libera una versión por mes y una serie de &lt;em&gt;releases&lt;/em&gt; internas durante ese mes. &lt;br /&gt;&lt;br /&gt;Por lo tanto, disponemos de líneas de versión sobre la rama de release de la Conselleria de Bienestar Social, que nos permiten configurar el producto para la Conselleria e ir integrando en esta rama todos los cambios que vayamos incorporando al producto. Es más, como trabajamos con secciones atómicas de código, en alguna ocasión hemos tenido que liberar cambios pertenecientes a una versión de release y tirar atrás algunos de ellos (en ese momento es en el que puedo justificar el coste de desarrollo del sistema de build :) ).&lt;br /&gt;&lt;br /&gt;Para aquellas características que han sido ya implementadas, el equipo de &lt;strong&gt;QA &lt;/strong&gt;puede dedicarse a testearlas en la correspondiente rama de QA. Una vez se completa, y  se determina que el producto es suficientemente estable, se pasa a la rama de release. De igual forma, en el proceso de build se recoge código de otros componentes de desarrollo propio de &lt;strong&gt;&lt;a href="http://www.diveka.com"&gt;diveka&lt;/a&gt;&lt;/strong&gt;, que obviamente se utilizan en diversos productos. Cada componente, incorpora la información de cómo debe construirse, y el sistema de build es capaz de indicar qué tipo de configuración es necesaria para ese componente en el producto actual.&lt;br /&gt;&lt;br /&gt;Afortunadamente, el sistema de build es capaz de generar una versión (y cuando decimos versión, es una release en toda regla, con instalador, documentación, pruebas unitarias, etc.) de forma automática, a partir de cualquier rama del producto, ya que estas están configuradas para contener la información de generación. ¿Quién dijo que era una pérdida de tiempo dedicarse a esto?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616517-113352308888124429?l=blog.luisbelloch.es' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.luisbelloch.es/feeds/113352308888124429/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8616517&amp;postID=113352308888124429' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/113352308888124429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/113352308888124429'/><link rel='alternate' type='text/html' href='http://blog.luisbelloch.es/2005/11/branching-como-apoyo-la-configuracin.html' title='Branching como apoyo a la configuración'/><author><name>Luis Belloch</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16975218437667331046'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616517.post-112531056663865403</id><published>2005-08-29T12:04:00.000+02:00</published><updated>2005-10-02T11:38:08.990+02:00</updated><title type='text'>Estoy de vuelta!</title><content type='html'>&lt;blockquote&gt;Enseñad a vuestros hijos lo que nosotros hemos enseñado a nuestros hijos: la tierra es nuestra madre. Lo que afecte a la tierra, afectará también a los hijos de la tierra. Si los hombres blancos escupen a la tierra, se escupen a sí mismos. Porque nosotros sabemos esto: la tierra no pertenece al hombre, sino el hombre a la tierra. Todo está relacionado, del mismo modo que la sangre une a una familia.&lt;/blockquote&gt;&lt;br /&gt;Extracto de la carta enviada por el Gran Jefe Seattle de la tribu Dewamish, a Franklin Pierce, presidente de los Estados Unidos de América, para negociar la venta de sus tierras.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616517-112531056663865403?l=blog.luisbelloch.es' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.luisbelloch.es/feeds/112531056663865403/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8616517&amp;postID=112531056663865403' title='5 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/112531056663865403'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/112531056663865403'/><link rel='alternate' type='text/html' href='http://blog.luisbelloch.es/2005/08/estoy-de-vuelta.html' title='Estoy de vuelta!'/><author><name>Luis Belloch</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16975218437667331046'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616517.post-112081758886921895</id><published>2005-07-08T12:09:00.000+02:00</published><updated>2005-07-08T12:15:53.966+02:00</updated><title type='text'>Hasta septiembre!!</title><content type='html'>&lt;strong style="color:#3366ff;"&gt;subversivo, va.&lt;/strong&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;(Del lat. subversum, supino de subvertere, subvertir).&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#33ccff;"&gt;1. adj.&lt;/span&gt; Capaz de subvertir, o que tiende a subvertir, especialmente el orden público.&lt;br /&gt;&lt;br /&gt;&lt;strong style="color:#3366ff;"&gt;subvertir.&lt;/strong&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;(Del lat. subvertere).&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#33ccff;"&gt;1. tr.&lt;/span&gt; Trastornar, revolver, destruir, especialmente en lo moral.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616517-112081758886921895?l=blog.luisbelloch.es' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.luisbelloch.es/feeds/112081758886921895/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=8616517&amp;postID=112081758886921895' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/112081758886921895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616517/posts/default/112081758886921895'/><link rel='alternate' type='text/html' href='http://blog.luisbelloch.es/2005/07/hasta-septiembre.html' title='Hasta septiembre!!'/><author><name>Luis Belloch</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16975218437667331046'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry></feed>