<?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' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5930129</id><updated>2011-12-14T22:58:22.783-04:00</updated><title type='text'>Aquarium Blog</title><subtitle type='html'>Life, software, politics, arts, and naive future prediction (This blog is in suspended animation)</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default?start-index=101&amp;max-results=100'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>318</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5930129.post-808715995046818070</id><published>2007-11-09T19:40:00.000-04:00</published><updated>2007-11-09T19:43:35.445-04:00</updated><title type='text'>Moving to MSDN</title><content type='html'>I haven't decided yet, but it is very likely that I will stop blogging here for some time.&lt;br /&gt;&lt;br /&gt;For some background, I have moved to the sate of Washington and now I am working for Microsoft.&lt;br /&gt;&lt;br /&gt;I have my &lt;a href="http://blogs.msdn.com/diego"&gt;new blog&lt;/a&gt; setup on MSDN. I was glad to find that no other Diego was blogging at the company :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-808715995046818070?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://blogs.msdn.com/diego' title='Moving to MSDN'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/808715995046818070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=808715995046818070' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/808715995046818070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/808715995046818070'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2007/11/moving-to-msdn.html' title='Moving to MSDN'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-3111031686616790233</id><published>2007-09-10T22:31:00.001-04:00</published><updated>2007-09-11T08:29:45.101-04:00</updated><title type='text'>So much to learn!</title><content type='html'>&lt;p&gt;I only followed halfway of the rabbit hole about the idea of "composable data (entity) services" and found that much has been written and debated about the topic. It seams, for instance, that part of &lt;a href="http://blogs.msdn.com/nickmalik/archive/2007/05/24/is-an-entity-service-an-antipattern.aspx#comments"&gt;the&lt;/a&gt; &lt;a href="http://soa-eda.blogspot.com/2007/05/two-worlds-of-soa.html"&gt;SOA&lt;/a&gt; &lt;a href="http://udidahan.weblogs.us/2007/06/08/entity-services-rollup/"&gt;intelligentsia&lt;/a&gt; has been discussing if the concept of entity services could be some kind of anti-pattern. &lt;/p&gt; &lt;p&gt;On the other side, I think Astoria's value proposition is very solid, at least for the scenarios currently targeted (which I think are more oriented to &lt;a href="http://en.wikipedia.org/wiki/Mashup_%28web_application_hybrid%29"&gt;mashups&lt;/a&gt; that do all data aggregation on the client side). Also, &lt;a href="http://blogs.msdn.com/pablo"&gt;Pablo Castro&lt;/a&gt; addressed some of the concerns that could apply to Astoria shortly after MIX07 on his own blog.&lt;/p&gt; &lt;p&gt;The Entity Framework is also such a distinct beast, that could shift the balance on what is a good practice (i.e., by making entity services very easy and inexpensive to own).&lt;/p&gt; &lt;p&gt;I would really like to get the whole picture, but this will have to wait for now... &lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-3111031686616790233?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/3111031686616790233/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=3111031686616790233' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/3111031686616790233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/3111031686616790233'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2007/09/so-much-to-learn.html' title='So much to learn!'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-1497375150144977612</id><published>2007-09-09T08:21:00.001-04:00</published><updated>2007-09-09T21:46:00.528-04:00</updated><title type='text'>Entity Coupling Service another name for Composable Data Service</title><content type='html'>&lt;p&gt;Mats Helander apparently explores the same subject of "composable data services" in &lt;a href="http://www.matshelander.com/wordpress/?p=71"&gt;his post&lt;/a&gt;, although he seems to arrive from a different venue as &lt;a href="http://www.base4.net/Blog.aspx?ID=566"&gt;Alex&lt;/a&gt;. &lt;/p&gt; &lt;p&gt;For me it smells more and more like &lt;a href="http://blogs.msdn.com/astoriateam/"&gt;Astoria&lt;/a&gt; + "Aggregation" (not that Astoria doesn't plan to support composition or aggregation, this I am not sure of).&lt;/p&gt; &lt;p&gt;I noticed that in some comments to that post, &lt;a href="http://udidahan.weblogs.us/"&gt;Udi&lt;/a&gt; expresses his opposition. I am not sure he opposes the entity services Mats refer to, or the idea of aggregating multiple data sources. I wish he explained his stance in more detail. Mats explanation of Entity services makes me believe the refers to services that only handle a single kind of entity each, which to my intuition sounds like exaggeratedly granular.&lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-1497375150144977612?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/1497375150144977612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=1497375150144977612' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/1497375150144977612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/1497375150144977612'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2007/09/entity-coupling-service-another-name.html' title='Entity Coupling Service another name for Composable Data Service'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-6709923967317064539</id><published>2007-09-04T17:25:00.000-04:00</published><updated>2007-09-04T17:29:39.700-04:00</updated><title type='text'>Updated visited countries</title><content type='html'>Just needed a little distraction and found someone visited my &lt;a href="http://diegov.blogspot.com/2004/04/my-visited-countries-from-world66.html"&gt;old post&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.world66.com/myworld66/visitedCountries/worldmap?visited=CAUSBBUVDMDOHNMQANPRVIARBRCLCOECPEUYFRDEGRITNLESVATR" width="420" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.world66.com/myworld66"&gt;create your own visited country map&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-6709923967317064539?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/6709923967317064539/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=6709923967317064539' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/6709923967317064539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/6709923967317064539'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2007/09/updated-visited-countries.html' title='Updated visited countries'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-3499587019466806970</id><published>2007-09-04T09:53:00.001-04:00</published><updated>2007-09-11T10:08:19.749-04:00</updated><title type='text'>Note to self: Always use Windows Live Writer</title><content type='html'>&lt;p&gt;I admit that I do much editing of my posts post-publishing. This is specially true for a post like the last one, in which I try to explain a fairly complex idea with my rudimentary English.&lt;/p&gt; &lt;p&gt;But I usually need to look at the finished post on the actual blog layout to detect most errors and readability problems. So, the process usually goes like this: I open my blog in the browser and start reading. When I find something I want to change, I open the &lt;a href="http://www.blogger.com/"&gt;Blogger&lt;/a&gt; page in other window and start correcting it. Unfortunately, Blogger's editing pane won't grow enough to give me a good view of the text I am editing. Another annoyance is that the spell checking won't always work because of pop-up blockers. &lt;/p&gt; &lt;p&gt;I had tried &lt;a href="http://writer.live.com/"&gt;Windows Live Writer&lt;/a&gt; before and I was somewhat impressed, but it was today that I really began to appreciate the difference. &lt;/p&gt; &lt;p&gt;What I like the most about it:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;WYSIWYG, full-screen editing. &lt;li&gt;Managing multiple blogs (it supports most blogging platforms). &lt;li&gt;Integrated spell checker. &lt;li&gt;Paste special/Thinned HTML.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;There is no reason I will use Blogger's user interface again to post a new entry.&lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-3499587019466806970?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/3499587019466806970/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=3499587019466806970' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/3499587019466806970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/3499587019466806970'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2007/09/note-to-self-always-use-windows-live.html' title='Note to self: Always use Windows Live Writer'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-7084560883483475828</id><published>2007-09-03T13:21:00.000-04:00</published><updated>2007-09-05T23:36:15.012-04:00</updated><title type='text'>Around the globe with composable data services</title><content type='html'>&lt;p&gt;&lt;a href="http://www.ayende.com/"&gt;Ayende&lt;/a&gt; and &lt;a href="http://www.base4.net/Blog.aspx"&gt;Alex&lt;/a&gt; have been having an interesting conversation on the subject of data access layer componentization, in the light of some new features that are appearing in Microsoft's Entity Framework and some previous work by Alex on &lt;a href="http://www.base4.net/"&gt;Base4.NET&lt;/a&gt;.&lt;br&gt;&lt;br&gt;You can find some of the most relevant posts of the conversation &lt;a href="http://www.base4.net/blog.aspx?ID=559"&gt;here&lt;/a&gt;, &lt;a href="http://www.ayende.com/Blog/archive/2007/09/01/Data-Layer-ComponentizationAgain.aspx"&gt;here&lt;/a&gt; and &lt;a href="http://www.base4.net/Blog.aspx?ID=566"&gt;here&lt;/a&gt;.&lt;br&gt;&lt;br&gt;I read Ayende's answer last night and Alex answer this morning. I was about to write a comment, but it suddenly grew too much. Alex lives in New Zealand and Ayende, I think, lives in Israel. I am writing this at almost 3:00 PM (GMT-4, Caribbean time). I hope they are sleeping right now, so I will have time to do the usual editing after publishing!&lt;br&gt;&lt;br&gt;I agree with Alex that most of Ayende's concerns could be addressed by the composable EFx data services Alex envisions (he actually prefers to use the term "dataservers", but I think it is opportune to borrow some jargon from &lt;a href="http://blogs.msdn.com/pablo/archive/2007/08/09/a-data-service-is-not-a-database.aspx"&gt;Astoria&lt;/a&gt;).&lt;br&gt;&lt;br&gt;Note: In this case we have used the terms "composable" and "componentization" in the sense that the service can aggregate information from multiple backends under a single conceptual model. Maybe we should find a more explicit term to avoid overlaps with the use of "composability" elsewhere.&lt;br&gt;&lt;br&gt;Looking at Ayende's diagram I agree he did not get the complete picture Alex was painting. To his favor, one must admit that the composable data services Alex talks about are still not even “vaporware”.&lt;br&gt;&lt;br&gt;I really just want to add two elements to the conversation:&lt;br&gt;&lt;br&gt;First, if you added caching of read-only data as a feature of the data service, you would get a better substitute for the ETL process that Ayende mentions (Note To Alex: You can consider this a feature request!).&lt;br&gt;&lt;br&gt;Second, while Ayende’s preferred solution may look very good and the simplest thing to do in some scenarios, IMHO its main weakness is that it does not scale. Let me try to explain it with an extreme example:&lt;br&gt;&lt;br&gt;&lt;em&gt;Suppose an enterprise has 5 mayor systems serving 5 departments, each of them with its own data silo. One day, each department contracts a consultant to help them do some data integration with the other systems (not that this should ever happen in real life!).&lt;br&gt;&lt;/em&gt;&lt;br&gt;&lt;em&gt;A few weeks later, each consultant comes up with a solution very much like the one Ayende explains: Each one contains its own schema for the data coming from the other 4 databases, each of these new schemas is fed by a separate ETL process, etc.&lt;br&gt;&lt;/em&gt;&lt;br&gt;Now that the five consultants took their money, let’s analyze what the customer actually got:&lt;br&gt;&lt;br&gt;ONE TIME COST: Contained in each of the original 5 systems there is a subset of the data that needs to be shared. But instead of sharing it, the consultants decided simultaneously that the easiest path for each of them was to duplicate this data. So, in the end, for this subset of data that needs to be shared, the increase of storage is up to 5 x 4 = 20 fold! This will not only cost hardware: The schemas for this subset have been reinvented up to 20 times too and 5 different ETL processes had to been designed, implemented and tested.&lt;br&gt;&lt;br&gt;RELIABILITY: For simplicity sake, we will only consider uptime, which measures the ability of the system not to "go down", and not its ability to maintain data consistency. If you do the math, I think you will see that in theory the customer's infrastructure is now more tolerant to failure. However, in "reality" the infrastructure is now much more complex, and hence much of this advantage is "lost to entropy" (every time something goes wrong, fixing it is more complex). You could have instead invested the same money in redundancy for each of the 5 original systems. While two-fold redundancy buys less reliability than five-fold redundancy, most failover solutions won’t add so much complexity.&lt;br&gt;&lt;br&gt;MAINTAINABILITY: I don’t understand quite well Ayende’s points regarding maintainability, because on the event of a single schema modification, he still needs to at least revise his ETL code. Although the system could surely be kept running for hours on outdated data (improving uptime, not maintainability), eventually he would need to adjust it. In my extreme example, any single schema change can potentially affect all 5 systems! In contrast, if you could create a single compound EFx data service, you would probably just compensate for the changes by adjusting the mapping, and only once. &lt;strong&gt;UPDATE:&lt;/strong&gt; I see I was assuming here a "static" definition of maintainability, that is completely orthogonal with uptime. I may reconsider this argument, but it doesn't affect the main point.&lt;br&gt;&lt;br&gt;SECURITY: I don’t clearly see Ayende’s point regarding security either. I think you need some means to perform authentication and flexible authorization, and to protect critical data, no matter if you are exposing it as a data service or if you make it available to an ETL process and then to users. Anyway, we still don't know exactly what shape will security take in EFx and Astoria.&lt;br&gt;&lt;br&gt;PERFORMANCE: How the new system will actually perform is impossible to predict (due to too many factors that are not detailed in the example). However, we can easily observe lots of overhead in moving the same data among several servers. Once you have 5 copies of the data, you will probably see some performance improvement because of locality and parallelism. But the same effect could be achieved in a data service by using caching and conventional scale out measures. In such a case, schemas would not be unnecessarily complicated and consistency would be easier to maintain.&lt;br&gt;&lt;br&gt;My point is that this data duplication approach, while simple at first, is a path that an organization should not take many times. Once you have, say, three of these processes in operation, it will probably be too much pain to add another one.&lt;br&gt;&lt;br&gt;This is only how things happens in a fictitious example. And Oren only talked about one system doing this. However, my thesis is that this scenario is not too much detached from how things would go in real life. &lt;/p&gt; &lt;p&gt;I think the consultants would probably not talk much to each other, and they would probably never come up with an integrated solution. Why?&lt;br&gt;&lt;br&gt;1. Business reasons: Simply put, each consultant is set to do what is best for his project and revenue in the short term, not what is good for their customer in the long term. They will optimize locally, not globally.&lt;br&gt;&lt;br&gt;2. Most important of all, a technical reason: Unfortunately, there is currently no simple way of accomplishing the integration that the consultants could agree upon. This is precisely the need that composable EFx data services could address.&lt;br&gt;&lt;br&gt;To satisfy the data integration needs of a company like the one in the example, a new kind of data access technology is needed: One that allows you to easily build data services that are composable, that can extract data from virtually any source, that expose a very high level (conceptual) data interface, which support flexible mapping, and that everyone can talk to using standard protocols.&lt;br&gt;&lt;br&gt;I think that Alex and I agree that most pieces of this solution are already beginning to appear. &lt;/p&gt; &lt;p&gt;The last paragraphs sound a lot like marketing :D But seriously, if the Data Programmability Team were going to be built such a thing, it would be yet another reason for me to be excited.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-7084560883483475828?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/7084560883483475828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=7084560883483475828' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/7084560883483475828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/7084560883483475828'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2007/09/around-globe-with-composable-data.html' title='Around the globe with composable data services'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-4060832240076315669</id><published>2007-06-27T02:09:00.001-04:00</published><updated>2007-07-14T16:07:24.780-04:00</updated><title type='text'>Delphi Roadmap</title><content type='html'>&lt;p&gt;I found today the &lt;a href="http://dn.codegear.com/article/36620"&gt;Product Roadmap for Delphi&lt;/a&gt;, through &lt;a href="http://community.devexpress.com/blogs/ctodx/archive/2007/06/19/fahrenheit-vcl.aspx"&gt;a post in Julian Bucknall’s blog&lt;/a&gt; (Julian is the CTO at &lt;a href="http://www.devexpress.com/"&gt;DevExpress&lt;/a&gt;) . &lt;p&gt;There seem to be some good news, but it still feels like everyone is avoiding the sad truth: The declining relevance of Delphi in the market. &lt;p&gt;I happen to be a .NET developer that holds some remote but very nice memories of coding on Object Oriented Turbo Pascal and Delphi. &lt;p&gt;I respect Delphi. I appreciate the importance of the existing codebase and the skill set of Delphi developers. I admire the people that worked on its design and the people that are working on it now. Like so, I believe in Delphi as a language and in Delphi as an “ecosystem”. I want those things to remain relevant. Actually, I think those are the core assets &lt;a href="http://www.codegear.com/"&gt;CodeGear&lt;/a&gt; still holds. &lt;p&gt;I don't really know if it is possible to build a sustainable business model solely on those essential values, but once you have this, next step would be to listen to what really make sense for developers. &lt;p&gt;My personal take: I believe in managed code and I could not care less about Win32. On one side, I see &lt;a href="http://sessions.visitmix.com/"&gt;all sorts of cool things&lt;/a&gt; happening around the CLR. On the other side, the latest incarnation of the main Win32 vehicle, that is, Windows Vista, now comes with .NET 3.0 installed. &lt;p&gt;You may not completely love Vista, but no doubt that in a couple of years, most Windows computers out there will have at least .NET 3.x installed. Win32 is just a necessary evil, and perhaps it is not even so necessary! &lt;p&gt;The thing I love the most about .NET is the amount of existing code I can use and extend, regardless of the language it was originally written in. I also like the way it works with Unicode from the beginning. I love the way it helps me move to 64bits almost seamlessly. These things are mentioned in the Roadmap, and Julian mentions them as big issues (breaking changes for existing code). &lt;p&gt;I believe in the value of Visual Studio. I like using the designers: Windows Forms and WPF, the new Web Designer, WF, DSL, Team System, and the bunch of new things that will come in VS 2008, just like the new features in C# and VB. &lt;p&gt;Visual Studio may be not perfect but there are plenty of excellent third party extensions filling the holes. I would love to be able to use things like &lt;a href="http://www.devexpress.com/Products/NET/IDETools/Refactor/"&gt;Refactor Pro!&lt;/a&gt; or &lt;a href="http://www.jetbrains.com/resharper"&gt;ReSharper&lt;/a&gt; with Delphi. &lt;p&gt;Even further, it would be sweet to be able to use Delphi with NAnt, MbUnit, NDepends, Windsor, TDD.NET and the whole ALT.NET stack.  &lt;p&gt;It would be awesome to run Delphi on Linux via Mono. &lt;p&gt;It would be fantastic to run Delphi code on a Mac via Silverlight. &lt;p&gt;It would be great to run ASP.NET AJAX applications on any browser, powered by Delphi code on the back end. &lt;p&gt;So, this is my wish list: &lt;p&gt;0. I said once I wanted Microsoft to buy Delphi from Borland. I think cannot count on this anymore, but what the hell... &lt;p&gt;1. I would like to see CodeGear to focus on Delphi the language, basically making it really fly on .NET 3.5 as soon as possible, complete with generics and LINQ. &lt;p&gt;2. I would like to see someone (CodeGear or else) write Visual Studio bindings for Delphi, and shipping Delphi on the Visual Studio 2008 Shell. &lt;p&gt;3. I would like to see someone (CodeGear or else) to take charge of a good compatibility/migration story for VCL. &lt;/p&gt;&lt;p&gt;4. I am cool with CodeGear wanting to continue the development of Win32 Delphi, to keep their C++ and IDE business, and to make a new Ruby on Rails IDE. I guess they, better than I, can assess if they are contributing anything really new and significant in those areas. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-4060832240076315669?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/4060832240076315669/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=4060832240076315669' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/4060832240076315669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/4060832240076315669'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2007/06/delphi-roadmap.html' title='Delphi Roadmap'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-548349341221057663</id><published>2007-05-30T00:19:00.000-04:00</published><updated>2007-09-07T08:09:21.998-04:00</updated><title type='text'>IsNullOrEmpty for IEnumerable</title><content type='html'>&lt;p&gt;This is not extremely relevant, but String.IsNullOrEmpty() has become a very popular time saver, and I think the same concept should be applicable to arrays and collections.&lt;br&gt;&lt;br&gt;I found on &lt;a href="http://connect.microsoft.com/"&gt;Microsoft Connect&lt;/a&gt; that someone already added a suggestion to add &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;IsNullOrEmpty&lt;/span&gt; to arrays on 2005.&lt;br&gt;&lt;br&gt;This is not a big discovery, but I have been playing with extension methods in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Orcas&lt;/span&gt; and they are so nice!&lt;br&gt;&lt;br&gt;What if I define this?&lt;br&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="color: #000080"&gt;public static class IEnumerableExtensions&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static bool IsNullOrEmpty(this&amp;nbsp;&amp;nbsp; System.Collections.IEnumerable source)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (source == null)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return !source.GetEnumerator().MoveNext();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;}&lt;/span&gt;  &lt;p&gt;Once you import the appropriate namespaces, all these things are possible:&lt;/p&gt; &lt;p&gt;&lt;span style="color: #000080"&gt;string a = null;&lt;br&gt;Console.WriteLine(a.IsNullOrEmpty()); &lt;/span&gt; &lt;p&gt;&lt;span style="color: #000080"&gt;var b = new Dictionary();&lt;br&gt;Console.WriteLine(b.IsNullOrEmpty()); &lt;/span&gt; &lt;p&gt;&lt;span style="color: #000080"&gt;MemberInfo[] d = MethodInfo.GetCurrentMethod().DeclaringType.GetMembers();&lt;br&gt;Console.WriteLine(d.IsNullOrEmpty()); &lt;/span&gt; &lt;p&gt;&lt;span style="color: #000080"&gt;var g = from f in d&lt;br&gt;where f.MemberType == MemberTypes.NestedType&lt;br&gt;select f;&lt;br&gt;Console.WriteLine(g.IsNullOrEmpty());&lt;/span&gt;  &lt;p&gt;I would like to see something like this included in System.Linq.Enumerable static class. Then it would be available to everyone, by default.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; I added a more complete entry as a suggestion on &lt;a href="https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=287482"&gt;Microsoft Connect&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Update 2:&lt;/strong&gt; At the Connect site, &lt;a href="http://blogs.msdn.com/madst/"&gt;Mads&lt;/a&gt; teaches me why he thinks IsNullOrEmpty as an extension method is really a very bad idea. Basically, using the variable.Method invocation syntax on a method that is meant to work when the variable is null, it is very inconsistent with the instance method invocation semantics one usually gives to this syntax in languages like C# and VB. &lt;/p&gt; &lt;p&gt;I still think that the method, probably defined as a static method, would be nice to have on Enumerable (because it is already a well-known place to find methods that apply to the IEnumerable interface). Also, I think there is some void in the definition of extension methods. Its designers think that calling them on null instances should generally throw an exception, so why do I need to check for the parameter and throw the exception myself?&lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-548349341221057663?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/548349341221057663/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=548349341221057663' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/548349341221057663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/548349341221057663'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2007/05/isnullorempty-for-ienumerable.html' title='IsNullOrEmpty for IEnumerable'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-5203930420812778488</id><published>2007-02-09T17:18:00.000-04:00</published><updated>2007-05-12T10:22:52.590-04:00</updated><title type='text'>Unindexed Foreign Keys</title><content type='html'>A guy called &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0" onclick="BLOG_clickHandler(this)"&gt;Jordi&lt;/span&gt;&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1" onclick="BLOG_clickHandler(this)"&gt;Ramot&lt;/span&gt;&lt;/span&gt;, &lt;a href="http://jlopezra.blogspot.com/2006/02/rdbms-foreign-key-indexing.html"&gt;puts it in these words&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;To decide if a foreign key needs to be indexed or not, I follow a simple rule: &lt;/p&gt;&lt;p&gt;I always/only create an index on a foreign key whether: &lt;/p&gt;&lt;p&gt;1 - A deletion on the parent table is allowed and it triggers a cascade delete on the child table &lt;/p&gt;&lt;p&gt;2 - There's need to perform JOIN queries from the parent to the child &lt;/p&gt;&lt;p&gt;In the first situation, an &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2" onclick="BLOG_clickHandler(this)"&gt;unindexed&lt;/span&gt;&lt;/span&gt; foreign key will force a full table scan for each parent record deleted. In the second situation, a lack of the foreign key index in the child table will slow down join queries. &lt;/p&gt;&lt;p&gt;I rarely find suitable to create indexes on foreign keys in other situations though.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;I think the question is not only “to index or not to index” on foreign keys.&lt;/p&gt;&lt;p&gt;I have been debating this subject with my boss (a hardcore &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3" onclick="BLOG_clickHandler(this)"&gt;Informix&lt;/span&gt;&lt;/span&gt; believer) all day. We found that &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4" onclick="BLOG_clickHandler(this)"&gt;Informix&lt;/span&gt;&lt;/span&gt; creates indexes on foreign keys automatically, while Oracle, DB2, and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5" onclick="BLOG_clickHandler(this)"&gt;SQL&lt;/span&gt;&lt;/span&gt; Server don't. &lt;/p&gt;&lt;p&gt;So, why did some engineers decide to go one way and others in the opposite? I think this is an interesting design issue. &lt;/p&gt;&lt;p&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6" onclick="BLOG_clickHandler(this)"&gt;Informix&lt;/span&gt;&lt;/span&gt; takes all responsibility in optimizing &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7" onclick="BLOG_clickHandler(this)"&gt;JOINs&lt;/span&gt;&lt;/span&gt; and CASCADING operations on the foreign key. &lt;/p&gt;&lt;p&gt;Instead, Oracle, DB2 and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8" onclick="BLOG_clickHandler(this)"&gt;SQL&lt;/span&gt;&lt;/span&gt; Server will happily leave the burden of tuning indexes for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9" onclick="BLOG_clickHandler(this)"&gt;JOINs&lt;/span&gt;&lt;/span&gt; and CASCADING operations on your shoulders.&lt;/p&gt;&lt;p&gt;So, even if an &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10" onclick="BLOG_clickHandler(this)"&gt;Informix&lt;/span&gt;&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11" onclick="BLOG_clickHandler(this)"&gt;DBA&lt;/span&gt;&lt;/span&gt; fails to tune the indexes, the database will probably show acceptable performance on JOIN operations.&lt;/p&gt;&lt;p&gt;Oracle, IBM and Microsoft/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12" onclick="BLOG_clickHandler(this)"&gt;Sybase&lt;/span&gt;&lt;/span&gt; on the other side, apparently decided that tuning was an &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_14"&gt;nonnegotiable&lt;/span&gt; duty of the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13" onclick="BLOG_clickHandler(this)"&gt;DBA&lt;/span&gt;&lt;/span&gt;. However, there are many reasons to want the higher level of control those database engines provide: &lt;/p&gt;&lt;p&gt;First, each index you create comes with a cost. Not only it will use storage space, but once you created it, the database engine has to maintain it on every table update. &lt;/p&gt;&lt;p&gt;Also, 98% of all SELECT and UPDATE queries will probably include a WHERE clause or will involve more than one JOIN operation.&lt;/p&gt;&lt;p&gt;There is also an opportunity for index coverage, meaning that if the index contains certain &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_14"&gt;columns&lt;/span&gt;, some SELECT could be &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_15"&gt;resolved&lt;/span&gt; entirely by reading the indexes, and never touching the real table. &lt;/p&gt;&lt;p&gt;To get all those benefits at the same time, it is &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_16"&gt;necessary&lt;/span&gt; a composite index that is headed by the foreign key but also includes other columns relevant to frequent queries. &lt;/p&gt;&lt;p&gt;So, the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17" onclick="BLOG_clickHandler(this)"&gt;Informix&lt;/span&gt;&lt;/span&gt; approach is a winner for the most basic cases, but the higher level of control the other engines give you, could show better performance if tuned &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_18"&gt;adequately&lt;/span&gt; (obviously, my boss won’t swallow that pill!). &lt;/p&gt;&lt;p&gt;If you want to distill a best practice from this, I think that creating indexes on your foreign keys is a a good first approach, but you should later tune your indexes globally, by using real profiling data. &lt;/p&gt;&lt;p&gt;Fortunately, for those of us using mostly &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19" onclick="BLOG_clickHandler(this)"&gt;SQL&lt;/span&gt;&lt;/span&gt; Server, Index Tuning Wizard exists.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;UPDATE: &lt;/strong&gt;You also have to consider how foreign keys are actually implemented. My boss found some articles that mention that in some &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22" onclick="BLOG_clickHandler(this)"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20" onclick="BLOG_clickHandler(this)"&gt;RDBMs&lt;/span&gt;&lt;/span&gt; foreign keys are internally implemented as "pointer chains".&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-5203930420812778488?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/5203930420812778488/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=5203930420812778488' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/5203930420812778488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/5203930420812778488'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2007/02/unindexed-foreign-keys.html' title='Unindexed Foreign Keys'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-3938230239941715538</id><published>2007-02-03T11:40:00.000-04:00</published><updated>2007-02-03T18:55:50.829-04:00</updated><title type='text'>Help Find Jim Gray</title><content type='html'>I know I don't manage any significant traffic here, but anyway: If you know of Jim Gray and how he has been missing in the sea from last Sunday, there is a way you can help in finding him.&lt;br /&gt;&lt;br /&gt;The Coast Guard already called off their search effort and so friends and colleagues &lt;a href="http://www.theledger.com/apps/pbcs.dll/article?AID=/20070203/ZNYT01/702030487/1001/BUSINESS"&gt;have taken the challenge&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;Amazon set up a job in their site &lt;a href="http://www.mturk.com/mturk/startiterator?iteartorSearchSpec=HITGroupSearch%23T%231%2310%23-1%23T%23%21keyword_list%212%21rO0ABXQAA0ppbQ--%21Reward%216%21rO0ABXQABDAuMDA-%21%23%21NumHITs%211%21%23%21"&gt;Mechanical Turk&lt;/a&gt;. So you can go there, login to you Amazon account and start visually scanning recent satellite images of the search area.&lt;br /&gt;&lt;br /&gt;Update: You can &lt;a href="http://www.allthingsdistributed.com/2007/02/help_find_jim_gray.html"&gt;go read&lt;/a&gt; on Werner Vogel's blog how they do it. &lt;br /&gt;&lt;br /&gt;Please, join!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-3938230239941715538?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.mturk.com' title='Help Find Jim Gray'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/3938230239941715538/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=3938230239941715538' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/3938230239941715538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/3938230239941715538'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2007/02/help-find-jim-gray.html' title='Help Find Jim Gray'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-1463389004878113044</id><published>2007-01-30T12:24:00.000-04:00</published><updated>2007-09-04T10:11:33.065-04:00</updated><title type='text'>Jim Gray Is Missing in the Sea</title><content type='html'>&lt;p&gt;Just found via &lt;a href="http://scobleizer.com/2007/01/30/jim-gray-one-of-microsofts-smartest-is-missing/"&gt;Scoble&lt;/a&gt; that Jim Gray has been missing in the sea since Sunday.&lt;/p&gt; &lt;p&gt;I admire Jim Gray, and I hope he will return safe soon. I am also thinking that I really have and want a chance to meet him in person, but this can wait.&lt;br&gt;&lt;br&gt;Update 1/31: &lt;a href="http://www.sfgate.com/cgi-bin/article.cgi?f=/c/a/2007/01/31/MNGPMNRVD137.DTL&amp;amp;hw=jim+gray&amp;amp;sn=001&amp;amp;sc=1000"&gt;No news&lt;/a&gt; is sad news. I do hope he is still alive, but my mind keeps trying to imagine what actually happened.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-1463389004878113044?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/1463389004878113044/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=1463389004878113044' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/1463389004878113044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/1463389004878113044'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2007/01/jim-gray-is-missing-in-sea.html' title='Jim Gray Is Missing in the Sea'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-2405366777245818385</id><published>2007-01-11T18:58:00.000-04:00</published><updated>2007-01-11T19:19:32.585-04:00</updated><title type='text'>Vacations, Sweet Vacations</title><content type='html'>I have been on vacations since December 21st, visiting family and friends in my &lt;a href="http://en.wikipedia.org/wiki/Mendoza%2C_Argentina"&gt;hometown&lt;/a&gt;. I am happy to see that most people here are doing better than two years ago. I haven´t met as many friends as I would have liked, but this is because many of them are out of town on their own vacations.&lt;br /&gt;&lt;br /&gt;Besides all the happiness that is being here, watching my son interact with his grandfathers and grandmothers, etc., on January 3rd I had some wonderful news:&lt;br /&gt;&lt;br /&gt;I got an offer from &lt;a href="http://www.microsoft.com/"&gt;my favorite company &lt;/a&gt;to work with &lt;a href="http://blogs.msdn.com/adonet/"&gt;my favorite technology&lt;/a&gt;. Still, I can hardly express how it feels!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-2405366777245818385?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/2405366777245818385/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=2405366777245818385' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/2405366777245818385'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/2405366777245818385'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2007/01/vacations-sweet-vacations.html' title='Vacations, Sweet Vacations'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-9060871423675457795</id><published>2006-12-14T16:36:00.000-04:00</published><updated>2006-12-15T00:39:33.191-04:00</updated><title type='text'>Broken Windows (Part 1)</title><content type='html'>&lt;p&gt;Today at work, someone I respect much told me that I write very well (in Spanish) and that I am both inspiring and motivating to others. She also said that those were very rare features in a developer. &lt;/p&gt;&lt;p&gt;Seldom I have been aware of this. Actually I believe that the real underlying fact is that I cannot go to work every morning if I am bored of it and I don't feel at ease. I think I could not keep a boring job for a week, just for the money. So, when I am becoming bored, I have to do whatever it takes to make it fun again. People that see me, understand very quickly that I work for the fun, and that I love what I do. I don't know for sure, but when I see someone that seems to love what she or he does, it helps me keep my own fire alive.&lt;/p&gt;&lt;p&gt;During Tuesday afternoon, I talked on the phone with a very special group of people. Now I wish i could have a second chance to tell them: &lt;/p&gt;&lt;p&gt;&lt;strong&gt;See guys? Someone I work with thinks I am inspiring and motivating! John? Are you there? At least you have my blog address... :)&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Well, the writing my office mate was referring to is an email I wrote to many developers in our organization about a rather basic topic that we needed to reinforce. I have been involved a lot in code quality initiatives lately. I need to translate the text in order to publish it, so please wait until my next post.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-9060871423675457795?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/9060871423675457795/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=9060871423675457795' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/9060871423675457795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/9060871423675457795'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2006/12/broken-windows-part-1.html' title='Broken Windows (Part 1)'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-116582339382730785</id><published>2006-12-11T03:43:00.000-04:00</published><updated>2006-12-12T10:37:58.216-04:00</updated><title type='text'>Jon Udell gets assimilated! ;)</title><content type='html'>I have been a fan of Jon for 18 years. This is great news. I think he will have a very important role in the ongoing Microsoft change.&lt;br /&gt;&lt;br /&gt;With Rory and Jon on board, &lt;a href="http://on10.net/Blogs/jeff/jon-udell-is-joining-our-team-at-microsoft/"&gt;Channel 9/10&lt;/a&gt; looks like the dream team.&lt;br /&gt;&lt;br /&gt;Now, let's see how I do it this week...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-116582339382730785?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://jonsradiocomments.wordpress.com/2006/12/08/a1574' title='Jon Udell gets assimilated! ;)'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/116582339382730785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=116582339382730785' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/116582339382730785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/116582339382730785'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2006/12/jon-udell-gets-assimilated.html' title='Jon Udell gets assimilated! ;)'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-116581747395304353</id><published>2006-12-11T01:22:00.000-04:00</published><updated>2007-06-15T01:41:52.358-04:00</updated><title type='text'>Transactional File System in Windows Vista (Part 2)</title><content type='html'>In &lt;a href="http://diegov.blogspot.com/2006/12/transactional-file-system-in-windows.html"&gt;my last post&lt;/a&gt; I tried to describe what I think is the single most important issue with the implementation of TxF (and TxR).&lt;br /&gt;&lt;br /&gt;Now I want to explain how I think the pre-existing file name-based APIs could have been changed (or could still be changed in future versions) to allow for opting-in Transactions for virtualy any code that works with files, including things like System.Data.DataSet.WriteXml(String).&lt;br /&gt;&lt;br /&gt;I take this just as an exercise for my mind, as I am almost sure that someone thought about this solution, but then discarded it for a reason I cannot discern.&lt;br /&gt;&lt;br /&gt;First of all, let’s say that all code running inside or on top of Windows, when it needs to access the file system, ends up invoking on of a relatively small set of Win32 APIs. Of those, some are file-name based (like CreateFile, DeleteFile, SetFileAttributes, etc.) and some are file-handle based (like GetFileSize, ReadFile, WriteFile, etc.).&lt;br /&gt;&lt;br /&gt;Second, you always have to call first a name-based API to get a handle you can use with a handle-based function.&lt;br /&gt;&lt;br /&gt;Third, no new Transacted versions of handle-based APIs were created. Instead, handle-based APIs get transactional behavior only if the handle passed is already associated with a transaction.&lt;br /&gt;&lt;br /&gt;(Still, it bugs me why some name-based APIs were not replicated but instead behave like in the beta 2 model, becoming transactional depending on the ambient transaction).&lt;br /&gt;&lt;br /&gt;So, you only signal that want to participate in an existing transaction at the time you call name-based APIs. In the current model, the way to do it is calling the transactional version of the function (like CreateFileTransacted, DeleteFileTransacted, SetFileAttributesTransacted, etc).&lt;br /&gt;&lt;br /&gt;But what all those functions have in common in the first place, is that they receive a file name as a parameter!&lt;br /&gt;&lt;br /&gt;&lt;em&gt;(&lt;strong&gt;Edit: &lt;/strong&gt;What follows is my proposition, not how TxF/TxR works in Vista. Somehow, after some editing I got the text wrong. )&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;What if we change rules a little:&lt;/em&gt; If the file name is prefixed with a moniker like, for instance “txf:” or “txfile:”, then it becomes transactional. You can understand it as designating a new namespace for TxF, one that points to the same &lt;em&gt;file system&lt;/em&gt; store, but behaves differently.&lt;br /&gt;&lt;br /&gt;There are already &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/naming_a_file.asp"&gt;many rules&lt;/a&gt; about file names. However, for me it makes sense to add just one more in this case. Of course the exact form of the prefix is not important (NTFS seems to prefer other kind of prefixes).&lt;br /&gt;&lt;br /&gt;By this plan, calling CreateFile(“txf:foo.txt”…) would be equivalent to calling CreateFileTransacted(“foo.txt”…). Something similar could be done with TxR.&lt;br /&gt;&lt;br /&gt;I think this change would integrate perfectly with the model that shipped in Vista, meaning that you could mix and match calls to the Transacted functions with calls to the “normal” functions with the moniker prepended to the file name.&lt;br /&gt;&lt;br /&gt;Also, existing client code and code “hidden” across the programming stack would not need to opt-out. It would be automatically be not transactional because its hard-coded file names (or registry key names) would not contain the transactional moniker.&lt;br /&gt;&lt;br /&gt;But the real benefit would be that this could enable us to do things like myDataSet.WriteXml(“txf:foo.xml”) or [insert any other function that takes a file name as a parameter](“txf:bar.ext”), without waiting for a revision of them. Virtually all the programming stack could enjoy the benefits of TxF, without requiring modifications.&lt;br /&gt;&lt;br /&gt;I can only think of a few functions that try to parse the file name and that could fail on the presence of the prefix, but I think those would be rare exceptions.&lt;br /&gt;&lt;br /&gt;What do you think? If you like it, you can vote for this as I entered &lt;a href="https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=244584"&gt;a closely related suggestion&lt;/a&gt; to the .NET Framework team in Microsoft Connect.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-116581747395304353?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=244584' title='Transactional File System in Windows Vista (Part 2)'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/116581747395304353/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=116581747395304353' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/116581747395304353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/116581747395304353'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2006/12/transactional-file-system-in-windows_11.html' title='Transactional File System in Windows Vista (Part 2)'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-116538657990372811</id><published>2006-12-06T02:29:00.000-04:00</published><updated>2006-12-11T01:22:39.000-04:00</updated><title type='text'>Transactional File System in Windows Vista</title><content type='html'>&lt;p&gt;In November, 1998, Microsoft Transaction Server was about a year old and SQL Server 7 was just arriving. I had at hand the task of coding a small CRM-like application in Visual Basic 5. Among other features, it had to upload unstructured documents and keep them linked to rows in a database. &lt;/p&gt;&lt;p&gt;I had one important decision to make: Should those documents be stored in the database itself or in the server file system? &lt;/p&gt;&lt;p&gt;SQL Server 6.5 had a lot of limitations with its lack of row locking and some performance issues with BLOB columns. &lt;/p&gt;&lt;p&gt;On the other side, the file system lacked transactional capabilities, and I lacked the ability to create a Compensating Resource Manager. &lt;/p&gt;&lt;p&gt;A transactional file system would have been super useful. &lt;/p&gt;&lt;p&gt;In November 2006, eight years later, Windows Vista is available. Transactions were introduced as a new feature of NTFS, named TxF. The Windows Registry is also getting support for transactions in Vista, under the name of TxR.&lt;/p&gt;&lt;p&gt;Before TxF, for instance, if you wanted to get ACID-like behavior from multiple file system operations, you could, but you had to fiddle a lot with temporary files, renaming, etc. With TxF you just issue something like a "begin transaction", then do your stuff in NTFS, and last, you commit or roll back the whole thing. &lt;/p&gt;&lt;p&gt;This way, TxF pushes best practices under the rug, and pushes the developer one level of abstraction up regarding files.&lt;/p&gt;&lt;p&gt;Surendra Verma, Developer Manager in the CFS group, &lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=259679"&gt;explained how TxF/TxR works in Channel 9 some months ago&lt;/a&gt;. But it is interesting to note that after the video was recorded, there were major design changes to TxF/TxR.&lt;/p&gt;&lt;p&gt;As Jim Johnson explains in this &lt;a href="http://pluralsight.com/blogs/jimjohn/archive/2005/04/27/7811.aspx"&gt;first&lt;/a&gt;, &lt;a href="http://pluralsight.com/blogs/jimjohn/archive/2005/09/13/14803.aspx"&gt;second&lt;/a&gt; and &lt;a href="http://pluralsight.com/blogs/jimjohn/archive/2006/08/31/36819.aspx"&gt;third&lt;/a&gt; posts, from Beta 2 to RC1, TxF API changed from "implicit transaction enlistment" model that worked with the existing Win32 file APIs to a more explicit model for which new "Transacted" versions of some APIs were added.&lt;/p&gt;&lt;p&gt;In the first version, you just did something like:&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;"&gt;&lt;strong&gt;EnterTransactionScope();&lt;br /&gt;// do whatever file work with your favorite file APIs&lt;br /&gt;ExitTransactionScope();&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Everything you did in the middle got automatically enlisted in a thread specific ambient transaction.&lt;/p&gt;&lt;p&gt;In the new model, you have to do something like this (some function names were invented):&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;"&gt;&lt;strong&gt;hTransaction = GetTransactionHandle();&lt;br /&gt;hFile = CreateFileTransacted(... hTransaction ...);&lt;br /&gt;// do whatever, but now using new *Transacted APIs&lt;br /&gt;CloseHandle(hTransaction );&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;The complete listing of APIs that were affected by TxF is &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/win32_functions_changed_by_transactions.asp"&gt;here&lt;/a&gt;.: &lt;/p&gt;&lt;p&gt;If you take a look at it, all the APIs for which a new Transacted version were created are file name-based. Besides, some existing APIs were updated and are now transaction aware, meaning that they acquire transactional behavior in the presence of a file handle that is associated to a transaction (for file handle-based APIs) or in the presence of a thread level ambient transaction (for yet another group of file name-based APIs). &lt;/p&gt;&lt;p&gt;The reason Microsoft change models, as explained by Surendra in the discussion of the video in Channel 9, is that the more simple original version, had a major drawback: &lt;/p&gt;&lt;p&gt;Between any pair of EnterTransactionScope()/ExitTransactionScope(), every single file or registry operation made by any code, even code lost in the middle of the programming stack was automatically and forcefully enlisted in the ambient transaction, acquiring a behavior that was often not intended at the time such code was created. &lt;/p&gt;&lt;p&gt;You could not opt-out.&lt;/p&gt;&lt;p&gt;So, if implicit transactions means that current code will break or misbehave, it is good that they abandoned this path. &lt;/p&gt;&lt;p&gt;On the other side, the main tradeoff of the new version, in my opinion, is that it is "too explicit":&lt;/p&gt;&lt;p&gt;Only those new APIs and those that have been changed will get transactional behavior. So, the hundreds, if not thousands, of higher level APIs that somehow affect the file system, won't get the possibility of having transactional behavior until the whole stack gets updated.&lt;/p&gt;&lt;p&gt;Now, you cannot opt-in.&lt;/p&gt;&lt;p&gt;For a .NET developer like me, this means that I have to use a lot of interop, or wait until new versions of System.IO.FileStream, methods like System.File.Delete, and even that the brand new APIs in System.IO.Packaging get revised to include the option of using transactions.&lt;/p&gt;&lt;p&gt;I have been thinking of a deceptively simple change they could do to the existing file name-based APIs, that could solve this issue. I must be missing something, or they would have implemented it on Vista.&lt;/p&gt;&lt;p&gt;I tried to discuss my idea con Surendra, but he is probably having vacation after shipping Vista :)&lt;/p&gt;&lt;p&gt;I will try to explain the idea in my next post...&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-116538657990372811?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://channel9.msdn.com/ShowPost.aspx?PostID=259679' title='Transactional File System in Windows Vista'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/116538657990372811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=116538657990372811' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/116538657990372811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/116538657990372811'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2006/12/transactional-file-system-in-windows.html' title='Transactional File System in Windows Vista'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-116457526569983642</id><published>2006-11-26T17:07:00.000-04:00</published><updated>2006-11-26T18:15:20.306-04:00</updated><title type='text'>Arbitrary precision types for .NET (and some musings)</title><content type='html'>&lt;p&gt;I came up today to &lt;a title="Arbitrary length Integer/Arbitrary precision Double Classes [Ari Weinstein]" href="http://blogs.msdn.com/bclteam/archive/2006/07/20/672818.aspx" target="_blank"&gt;this article&lt;/a&gt; that describes two new arbitrary precision types for .NET. One is an Integer, and the other a Decimal (I think it is not correct to call it a Double as in&amp;nbsp;the title).&lt;/p&gt; &lt;p&gt;Although I don't often use arbitrary precision math, this is a welcome addition. It is also interesting to think how nicely such a feature can integrate in the existing framework, given generics and the&amp;nbsp;unified type system.&lt;/p&gt; &lt;p&gt;Speaking of which... I found recently that the Parse and TryParse methods that numeric value types share do not belong to a common generic interface, reducing its usefulness in some scenarios. &lt;/p&gt; &lt;p&gt;I hope we will someday see something like IParseable&amp;lt;T&amp;gt; together with IComparable, IEquatable, IConvertible&amp;nbsp;and IFormattable. &lt;/p&gt; &lt;p&gt;And what about the MinValue and MaxValue constants? Shouldn't they belong to a common type?&lt;/p&gt; &lt;p&gt;There is also this internal class called Number that seems to hold the implementation of methods of every numeric type. I wonder if they could somehow introduce a Number class&amp;nbsp;as a common ancestor without breaking value types rules.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-116457526569983642?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/116457526569983642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=116457526569983642' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/116457526569983642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/116457526569983642'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2006/11/arbitrary-precision-types-for-net-and.html' title='Arbitrary precision types for .NET (and some musings)'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-116105891196706229</id><published>2006-10-17T00:08:00.000-04:00</published><updated>2006-10-17T00:34:06.470-04:00</updated><title type='text'>Ashamed</title><content type='html'>I got the call, I went there, but then I disappointed myself. &lt;br /&gt;&lt;br /&gt;No matter if I was trying to create a recursive function that wouldn't suck as much as the usual f(n)=if(n&lt;=2,1,f(n-1)+f(n-2)). I should have just written this in a couple of seconds as I did now! Or maybe the more correct f(n)=if(n&lt;2,n,f(n-1)+f(n-2)) (that is still only correct for natural numbers, but doesn't check it of course). &lt;br /&gt;&lt;br /&gt;But I was too much out of shape. &lt;br /&gt;&lt;br /&gt;How can this have happened to me? It should have had some impact that as a kid I was fascinated by the Fibonacci Series, Tartaglia's (Pascal's) Triangle and the Golden Number. I even discovered (or reinvented) myself the Binet formula when I was a teen. What for then? Maybe I should have applied for my dream job 15 years earlier.&lt;br /&gt;&lt;br /&gt;I have never felt so uneducated before. I should probably go back to the University and get a Master in Computer Science, if my brain can still take the challenge. I cannot forgive myself for getting stuck with something so simple as a recursive Fibonacci.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-116105891196706229?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://en.wikipedia.org/wiki/Fibonacci_number' title='Ashamed'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/116105891196706229/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=116105891196706229' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/116105891196706229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/116105891196706229'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2006/10/ashamed.html' title='Ashamed'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-115552200697094949</id><published>2006-08-13T22:20:00.000-04:00</published><updated>2006-08-13T22:20:33.316-04:00</updated><title type='text'>Windows Live Writer</title><content type='html'>&lt;p&gt;Hmmm... So far it feels nice :) &lt;a href="http://windowslivewriter.spaces.live.com/"&gt;Good job!&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/5930129-115552200697094949?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/115552200697094949/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=115552200697094949' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/115552200697094949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/115552200697094949'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2006/08/windows-live-writer.html' title='Windows Live Writer'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-115449577700168628</id><published>2006-08-02T01:14:00.000-04:00</published><updated>2006-08-02T01:16:17.026-04:00</updated><title type='text'>Rory's Best Post Ever</title><content type='html'>Dude! Congratulations! I hope you are living the best time of your life (so far) too.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-115449577700168628?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://neopoleon.com/blog/posts/23893.aspx' title='Rory&apos;s Best Post Ever'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/115449577700168628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=115449577700168628' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/115449577700168628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/115449577700168628'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2006/08/rorys-best-post-ever.html' title='Rory&apos;s Best Post Ever'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-115448983321205976</id><published>2006-08-01T23:24:00.000-04:00</published><updated>2006-08-02T01:32:42.956-04:00</updated><title type='text'>Spaces Comming to Live Right Now</title><content type='html'>I remember I was one of the first to get my own MSN Space that night, and as a result, I got trapped in a bug and could not use the the site for some time (I don't use it a lot anyway) .&lt;br /&gt;&lt;br /&gt;Now I think tonight I catched them in the act again. They are transitioning MSN spaces to their new Live home, and they still have some work to do.&lt;br /&gt;&lt;br /&gt;Take a look at how a famous space (&lt;a href="http://rayozzie.spaces.live.com/"&gt;Ray Ozzie's&lt;/a&gt;) looks like right now:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/1146/254/1600/Ray%20Ozzie%20Live%20Space.png"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/1146/254/400/Ray%20Ozzie%20Live%20Space.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Update: Around 40 minutes later, everything is comming together nicely. No more missing images or CSS. It is amazing how the new look captures the escense of the MSN space theme you choosed, but still looks ver LIVE like.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-115448983321205976?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://siteexperts.spaces.live.com/' title='Spaces Comming to Live Right Now'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/115448983321205976/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=115448983321205976' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/115448983321205976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/115448983321205976'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2006/08/spaces-comming-to-live-right-now.html' title='Spaces Comming to Live Right Now'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-115379728457707172</id><published>2006-07-24T23:12:00.000-04:00</published><updated>2006-08-02T01:31:00.926-04:00</updated><title type='text'>Rory Blyth: Blogging is Stupid</title><content type='html'>Just read this gem:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;One of the examples of a risk that Alfred brings up in his post is my tendency to write about my depressive nature and the drugs I take to try and undo the crap job nature did on wiring my neurons. I’ve been told similar things by some of my friends in the “blogosphere.” They tell me I’m nuts for posting about my mental problems. I agree. But that’s part of being nuts, so what’s the confusion about?&lt;/blockquote&gt;&lt;br /&gt;Is it stupid or not? Well, I guess it is stupid, but it is more stupid when you cannot write like him :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-115379728457707172?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://neopoleon.com/blog/posts/23572.aspx' title='Rory Blyth: Blogging is Stupid'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/115379728457707172/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=115379728457707172' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/115379728457707172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/115379728457707172'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2006/07/rory-blyth-blogging-is-stupid.html' title='Rory Blyth: Blogging is Stupid'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-115379708088488938</id><published>2006-07-24T22:35:00.000-04:00</published><updated>2006-07-24T23:11:21.333-04:00</updated><title type='text'>Fyodor Dostoevsky</title><content type='html'>I am very grateful to &lt;a href="http://figuraciones.blogspot.com/"&gt;Juan&lt;/a&gt; and to Stef for introducing me to the writings of this "crazy" russian genious.&lt;br /&gt;&lt;br /&gt;The more I read, the less I blog.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-115379708088488938?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://en.wikipedia.org/wiki/Fyodor_Dostoevsky' title='Fyodor Dostoevsky'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/115379708088488938/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=115379708088488938' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/115379708088488938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/115379708088488938'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2006/07/fyodor-dostoevsky.html' title='Fyodor Dostoevsky'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-115379437951246439</id><published>2006-07-24T22:13:00.000-04:00</published><updated>2006-07-24T22:35:11.716-04:00</updated><title type='text'>ADO.NET Entity Framework on Channel 9</title><content type='html'>Channel 9 published a &lt;a href="http://channel9.msdn.com/Showpost.aspx?postid=217633"&gt;very interesting video&lt;/a&gt; about Microsoft's O/R Mapping tool that will be included in a future version of ADO.NET. It is actually a remake of a video that was published a couple of months, also in Channel 9, only to be shutted down soon after.&lt;br /&gt;&lt;br /&gt;As almost every .NET developer does, I use ADO.NET every day, and have been a fan from &lt;a href="http://discuss.develop.com/dotnet.html"&gt;the first hour&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;But as an architect -in a limited sense I must add- I have to deal a lot with both theoretical and empirical aspects of multi-tier development, so I have been looking for the silver bullet for the Data Access Layer for years.&lt;br /&gt;&lt;br /&gt;Pablo Castro, Technnical Lead of ADO.NET (and a native from Buenos Aires!) was very nice answering the comments &lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=219017#219017"&gt;I posted to Channel 9&lt;/a&gt;. I will reproduce my own writting here, but you can read his very interesting answer &lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=219272#219272"&gt;directly on the site&lt;/a&gt;.&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;﻿As I mentioned before, one of my great concerns is how team development will look like with the Entity Framework. I took some time to detail my thoughts: &lt;/p&gt;&lt;p&gt;First, many real life projects are partitioned in modules, so their data layers are partitioned likewise. &lt;/p&gt;&lt;p&gt;Often, there are sets of tables that are used exclusively in each module, and a set of tables that are common to all. Yet, there are some tables that are reused in more than one application (typical examples are security, navigation, etc). &lt;/p&gt;&lt;p&gt;Besides, building a useful data layer is not done in one step nor does it take a single day. It is more often an evolutionary and error-prone process in which a programmer “imports” objects from the database each time he/she realizes they are mentioned in the specification. &lt;/p&gt;&lt;p&gt;During this process, errors that affect maintainability (duplications, improper use of naming standards, etc.) are very usual. &lt;/p&gt;&lt;p&gt;So, here is a short list of features that I would like to see in the Entity Framework (some are actually hard requirements). Of course I ignore if any of these are already included: &lt;/p&gt;&lt;ol&gt;&lt;li&gt;Partitioning of the conceptual model in multiple files and assemblies. &lt;/li&gt;&lt;li&gt;Referencing and extending (entity inheritance) between entities defined in separate files and assemblies. &lt;/li&gt;&lt;li&gt;Creating reusable “libraries” containing entities and mappings that can be reused by different modules or different applications. &lt;/li&gt;&lt;li&gt;"Incremental" reverse engineering of databases (I think this one is already in the graphical design tool). &lt;/li&gt;&lt;li&gt;Support for basic refactorings (unification, replacement, renaming, etc). &lt;/li&gt;&lt;li&gt;Very readable and maintainable XML (it should be easy to merge two files with a source code comparison tool). &lt;/li&gt;&lt;li&gt;Efficient and easy serialization of entities and entity sets outside the database. &lt;/li&gt;&lt;li&gt;Separation of the conceptual model from the persistence logic (take a look at what Steve Lasker does with typed datasets). &lt;/li&gt;&lt;li&gt;A migration tool for typed datasets XSDs. &lt;/li&gt;&lt;li&gt;A degree of resiliency to some schema changes. &lt;/li&gt;&lt;/ol&gt;&lt;p&gt;If you can answer any of my doubts, I will be grateful. My boss is pressing me to evaluate O/RM products, and I am telling him to way for your framework everyday :).&lt;/p&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;All in all, I am very enthusiastic about this new piece of technology. I think it could make my life and the life of many other developers a lot easier and also more interesting!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-115379437951246439?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://channel9.msdn.com/Showpost.aspx?postid=217633' title='ADO.NET Entity Framework on Channel 9'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/115379437951246439/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=115379437951246439' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/115379437951246439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/115379437951246439'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2006/07/adonet-entity-framework-on-channel-9.html' title='ADO.NET Entity Framework on Channel 9'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-115327998239250931</id><published>2006-07-18T23:31:00.000-04:00</published><updated>2006-07-18T23:33:02.416-04:00</updated><title type='text'>Microsoft buys Winternals for the talent</title><content type='html'>I am glad for Mark Russinovich and for Bryce Cogswell, but I am even more happy for the future of Windows. These guys really create amazing software.&lt;br /&gt;&lt;br /&gt;First improvment I hope to see in Windows is a "Suspend" option in the process view of Task Manager... It is an obvious one, isn't it?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-115327998239250931?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.sysinternals.com/Blog/' title='Microsoft buys Winternals for the talent'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/115327998239250931/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=115327998239250931' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/115327998239250931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/115327998239250931'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2006/07/microsoft-buys-winternals-for-talent.html' title='Microsoft buys Winternals for the talent'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-115000953423034836</id><published>2006-06-11T03:04:00.000-04:00</published><updated>2006-06-11T09:29:34.160-04:00</updated><title type='text'>Microsoft renames WinFX as .NET 3.0</title><content type='html'>&lt;p&gt;Somasegar announce the change in his &lt;a href="http://blogs.msdn.com/somasegar/archive/2006/06/09/624300.aspx"&gt;blog&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;Those are welcome news to me. I don't want to say I told you, but I remember I suggested John Montgomery to stick to the .NET branding in a comment to his blog, back in November 2003. That was just after the PDC in which all these new technologies were announced. &lt;/p&gt;&lt;p&gt;The general consensus by then was that the.NET branding had been completely eroded by the various marketing mistakes Microsoft made (like adding the .NET moniker to products that did not carry the CLR). &lt;/p&gt;&lt;p&gt;But I told him that we developers were not that much confused and that we always got the story right. &lt;/p&gt;&lt;p&gt;It is nice to see that once more Microsoft does what I want ;)&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-115000953423034836?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://blogs.msdn.com/somasegar/archive/2006/06/09/624300.aspx' title='Microsoft renames WinFX as .NET 3.0'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/115000953423034836/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=115000953423034836' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/115000953423034836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/115000953423034836'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2006/06/microsoft-renames-winfx-as-net-30.html' title='Microsoft renames WinFX as .NET 3.0'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-114602676236283094</id><published>2006-04-26T00:12:00.000-04:00</published><updated>2006-04-26T07:37:37.286-04:00</updated><title type='text'>Letter to David LaVallee</title><content type='html'>Ok, you don't know me, and I don't remember hearing from you before. But now that I found a &lt;a href="http://blogs.msdn.com/klevy/archive/2006/04/14/Rock_stars_continue_to_join_the_Windows_Live_band.aspx"&gt;few&lt;/a&gt; &lt;a href="http://scobleizer.wordpress.com/2006/04/09/partying-with-steve-ball-and-talking-about-garageband/"&gt;things&lt;/a&gt; about you, including your &lt;a href="http://www.stringcraft.com/Default.aspx?doing"&gt;blog&lt;/a&gt;, I felt the need to write you this note, just to express my deepest envy for you:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;First, you are in a Guitar Craft right now! How can you?... Darn!&lt;/li&gt;&lt;li&gt;The Guitar Craft is in Lunlunta, Mendoza, in that same house that gives me so many good memories of my teen years (even if I do not enjoy the company of the saints anymore). Thanks for &lt;a href="http://www.stringcraft.com/Lunlunta2006/index.html"&gt;the pics&lt;/a&gt;!&lt;/li&gt;&lt;li&gt;You are so close to Mendoza city, where I was born and were most of my family and half of my friends live!&lt;/li&gt;&lt;li&gt;You are part of the Windows Live Team! Darn, this one causes me the greatest pain!&lt;/li&gt;&lt;li&gt;You helped invent Java! Ouch!&lt;/li&gt;&lt;li&gt;Where you the one that convinced Steve Jobs of buying GarageBand? Wow!&lt;/li&gt;&lt;li&gt;You obviously play the guitar better than me ;)&lt;/li&gt;&lt;li&gt;And you are probably are a better programmer too ;)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Ok, ok. I do not really envy you. I just got amazed at all this, and wanted to wish you good luck and great success. &lt;/p&gt;&lt;p&gt;Do you like wine? Being in Mendoza, I hope you do! Enjoy the hospitality of the locals, and the delicious Malbecs. Anything you need, ok? I can recommend you a few &lt;a href="http://www.bodegadonbosco.com/Visitas.htm"&gt;good&lt;/a&gt; &lt;a href="http://www.monteviejo.com"&gt;places&lt;/a&gt; to visit (You will find good people there too).&lt;/p&gt;&lt;p&gt;If you are bored, take the route, drive a few kilometers, and get a picture of you posing with a "Departamento de Lavalle" sign :)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-114602676236283094?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.stringcraft.com/Default.aspx?doing' title='Letter to David LaVallee'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/114602676236283094/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=114602676236283094' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/114602676236283094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/114602676236283094'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2006/04/letter-to-david-lavallee.html' title='Letter to David LaVallee'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-114572068880401443</id><published>2006-04-22T11:12:00.000-04:00</published><updated>2006-04-22T17:59:56.243-04:00</updated><title type='text'>An Apple in my future?</title><content type='html'>&lt;em&gt;&lt;strong&gt;UPDATE: &lt;/strong&gt;I have been reading the FAQs at &lt;a href="http://www.apple.com/macosx/bootcamp/"&gt;BootCamp&lt;/a&gt;'s Beta site, and I have changed my mind somewhat. They say they do not provide support for Windows running on a Mac. Not a brilliant way to get customers. Reading about the drivers they provide, I don’t get if they really want to get it right. Apparently they don't want to get their feet wet. They have still a long way to go in deciding whether they really want a good stake of the PC Business or not. They are so close, but I guess they are too arrogant or just used to the minority elite aura. I will wait and see if things improve. Anyway, I want my next computer to be a 64 bits&lt;/em&gt; dual core.&lt;br /&gt;&lt;br /&gt;Sean Alexander reports that Windows Media Center Edition runs on his MacBook Pro.&lt;br /&gt;&lt;br /&gt;I spent an hour last night talking with a friend that is a Mac fan. He almost convinced me. As I see it now, my next notebook computer could be an HP, a Sony or an Apple. There is a premium price for the Mac experience, but I think it is completely justified.&lt;br /&gt;&lt;br /&gt;Now they have positioned themselves to get a significant stake of the PC business, the future of Apple looks brilliant.&lt;br /&gt;&lt;br /&gt;The only thing I have against it is that as far as I know we won't get 64 bits mobile Intel Core Duos soon. Dual core AMD Turions seem to be closer. But Apple seems to be, like Dell, married to Intel.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-114572068880401443?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://blog.seanalexander.com/PermaLink,guid,8ba529ae-24dd-47c6-9280-69f968bcaf1a.aspx' title='An Apple in my future?'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/114572068880401443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=114572068880401443' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/114572068880401443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/114572068880401443'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2006/04/apple-in-my-future.html' title='An Apple in my future?'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-114534172648199849</id><published>2006-04-18T02:15:00.000-04:00</published><updated>2006-04-18T02:40:12.790-04:00</updated><title type='text'>We are Level 2 in CMMI</title><content type='html'>The company I work passed a &lt;a href="http://www.sei.cmu.edu/cmmi"&gt;CMMI Level 2&lt;/a&gt; appraisal a couple of fridays ago, and we satisfied all the criteria for certification.&lt;br /&gt;&lt;br /&gt;I seldom give names in this blog and have never mentioned the name of my employer, but this is such a good thing that I needed to do the show off and of course, also congratulate all my colleagues ;)&lt;br /&gt;&lt;br /&gt;So congratulations to all, especially those that had the vision for it, those that worked so hard for it and those that supported it all: José, Melvin, Wendy, our Project Leaders, and many more.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-114534172648199849?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.caminf.com/acerca-de-cam-noticias-CMMI.html' title='We are Level 2 in CMMI'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/114534172648199849/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=114534172648199849' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/114534172648199849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/114534172648199849'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2006/04/we-are-level-2-in-cmmi.html' title='We are Level 2 in CMMI'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-114534086376844901</id><published>2006-04-18T01:13:00.000-04:00</published><updated>2006-04-20T23:08:08.900-04:00</updated><title type='text'>Visual Studio and SQL Server 2005 Training</title><content type='html'>Today I began taking an intensive 40 hours training course on Visual Studio and SQL Server 2005. I hope by the end of the week the coarsest holes in my knowledge will be filled with substance ;)&lt;br /&gt;&lt;br /&gt;I had the pleasure of meeting &lt;a href="http://www.wiernik.net/"&gt;Adolfo Wiernik&lt;/a&gt;, a &lt;a href="http://www.solidqualitylearning.com/"&gt;Solid Quality Learning&lt;/a&gt; consultant that came from Costa Rica to impart the course.&lt;br /&gt;&lt;br /&gt;I wouldn't have heard of Adolfo before if I hadn't listened to his webcast last Wednesday. He is, although, famous in the community and a Microsoft Regional Director.&lt;br /&gt;&lt;br /&gt;I am indebted to my company for sending me (along with two mates) to take this course.&lt;br /&gt;&lt;br /&gt;Tomorrow is ASP.NET 2.0 day, clearly the technology I have been using the most for the last 9 months. I think Adolfo will be sick of me by tomorrow 6 p.m. ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-114534086376844901?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.wiernik.net/' title='Visual Studio and SQL Server 2005 Training'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/114534086376844901/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=114534086376844901' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/114534086376844901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/114534086376844901'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2006/04/visual-studio-and-sql-server-2005.html' title='Visual Studio and SQL Server 2005 Training'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-114509674093331953</id><published>2006-04-15T06:17:00.000-04:00</published><updated>2006-04-18T02:31:12.466-04:00</updated><title type='text'>Atomik Circus</title><content type='html'>This is just to show that this blog is not dead.&lt;br /&gt;&lt;br /&gt;I have just seen &lt;a href="http://www.atomikcircus-lefilm.com/"&gt;Atomik Circus&lt;/a&gt; on TV, and it was hilarious. I simply did not know that you could do a movie like this. I mean, it seems impossible to try something like this and not to spoil it completely.&lt;br /&gt;&lt;br /&gt;Everybody was sleeping at home, so I was not able to enjoy the music, but I think it must be good (I turned volume up a little and put my ear close to the speakers, just to get an idea).&lt;br /&gt;&lt;br /&gt;So, I have to see the movie from the beginning again. Atomik Circus Part II anyone? :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-114509674093331953?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.atomikcircus-lefilm.com/' title='Atomik Circus'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/114509674093331953/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=114509674093331953' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/114509674093331953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/114509674093331953'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2006/04/atomik-circus.html' title='Atomik Circus'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-114180509929542537</id><published>2006-03-08T03:48:00.000-04:00</published><updated>2006-03-08T04:04:59.306-04:00</updated><title type='text'>The New Live.com</title><content type='html'>I have been following this people work for some time (they make my browser's home page). I think the new version is looking more brilliant than ever.&lt;br /&gt;&lt;br /&gt;Nothing very deep to say. It has been working here since 10 minutes ago.&lt;br /&gt;&lt;br /&gt;The new style looks great on grey, but of course I would like to have more choice of styles (including "clasic") or even better to ability to skin it.&lt;br /&gt;&lt;br /&gt;Multiple pages are very wellcome. The new speed is wonderful... I like it a lot!&lt;br /&gt;&lt;br /&gt;Congratulations, and I hope you will have a nice party! And Sanaz, remember to avoid the car until you get a spare!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-114180509929542537?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://spaces.msn.com/sanaz/' title='The New Live.com'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/114180509929542537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=114180509929542537' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/114180509929542537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/114180509929542537'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2006/03/new-livecom.html' title='The New Live.com'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-113984022409125313</id><published>2006-02-13T10:01:00.000-04:00</published><updated>2006-02-14T00:53:31.140-04:00</updated><title type='text'>Please Microsoft, buy Delphi</title><content type='html'>So, now Borland plans to sell its languages and IDE business. Since I first read about the news yesterday, I have talked quite a lot about it at my office. &lt;br /&gt;&lt;br /&gt;I feel Microsoft is one of the few chances for Delphi to stay relevant. Even more, perhaps Delphi could flourish under Visual Studio, together with C#, VB, C++ and other languages Microsoft has in the works (Python and F#?). So I hope Microsoft will buy Borland's IDE business (everything but JBuilder I guess). Of course, I only want this to happen if this is what the employees want.&lt;br /&gt;&lt;br /&gt;If Microsoft does not buy Delphi, my office mates are crossing their fingers. They don't want IBM to buy it (the company I work for used to be an Informix shop, and there is still a big number of Rational fans among us).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-113984022409125313?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.borland.com/us/company/news/press_releases/2006/02_08_06_borland_acquires_segue_software.html' title='Please Microsoft, buy Delphi'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/113984022409125313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=113984022409125313' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/113984022409125313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/113984022409125313'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2006/02/please-microsoft-buy-delphi.html' title='Please Microsoft, buy Delphi'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-113983924529758056</id><published>2006-02-13T08:51:00.000-04:00</published><updated>2006-02-14T00:54:31.826-04:00</updated><title type='text'>Visual Studio 2005 Award for Customer Excellence (aka The ACE Cube)</title><content type='html'>I received my cube at home on Friday. I plan to post pictures in the next days. Overall, a nice gift. My thanks go to &lt;a href="http://blogs.msdn.com/somasegar/"&gt;Somasegar&lt;/a&gt; and whoever else decided I should have had the award.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-113983924529758056?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/113983924529758056/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=113983924529758056' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/113983924529758056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/113983924529758056'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2006/02/visual-studio-2005-award-for-customer.html' title='Visual Studio 2005 Award for Customer Excellence (aka The ACE Cube)'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-113906015762188643</id><published>2006-02-04T09:33:00.000-04:00</published><updated>2006-02-07T22:03:27.013-04:00</updated><title type='text'>IBM 100% Pure Open AJAX?</title><content type='html'>I heard about Open AJAX today for the first time while reading the Dr. Dobbs Journal. So, I don't know a lot about it. Only that I am interested in any tool that provides decent JavaScript debugging.&lt;br /&gt;&lt;br /&gt;However, reading what they say about it, makes me think it is probably just a piece of "religion-ware":&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;p&gt;Eclipse itself is open-source code, so IBM's donated software for running Ajax code is likely to be held as the standard environment in which the output from an Ajax tool must be able to run. If Open Ajax reaches that status, the industry will have a way of measuring departures from standard Ajax and guarding against the possibility of Ajax being implemented in a proprietary or Windows-specific way.&lt;/p&gt;&lt;p&gt;Microsoft has a set of interactive Web technologies, including Ajax, bundled together into what it calls Atlas. "They build it [Atlas] using their own extensions" rather than sticking to strictly Ajax conventions, says David Boloker, IBM's CTO of emerging technology.&lt;/p&gt;&lt;p&gt;By giving Ajax "a common tooling," or Eclipse test platform where different Ajax code can be tested in one runtime environment, IBM is offering a workbench where proprietary extensions will stick out as not working with other people's Ajax.&lt;/p&gt;&lt;/blockquote&gt;So, now I am pondering what gives IBM &amp; co. the special gleam to arbitrate on a technology that is in constant flux, with a myriad of ideas and toolkits seeing the light each month, and also a technology that was created by Microsoft seven or eight years ago?&lt;br /&gt;&lt;br /&gt;Of course the objective meassure will be how many will find Open AJAX useful and will use it. But I am still interested in knowing how many will buy into this idea that theirs is propper AJAX while Microsoft's is evil AJAX.&lt;br /&gt;&lt;br /&gt;We will see... But, right now I don't even feel in the mood to link to them from here.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-113906015762188643?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/113906015762188643/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=113906015762188643' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/113906015762188643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/113906015762188643'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2006/02/ibm-100-pure-open-ajax.html' title='IBM 100% Pure Open AJAX?'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-113183956018906888</id><published>2005-11-12T19:43:00.000-04:00</published><updated>2006-03-01T17:37:29.956-04:00</updated><title type='text'>Visual Studio 2005: Our list of annoyances</title><content type='html'>&lt;p&gt;&lt;em&gt;&lt;strong&gt;UPDATE 3/1/2006:&lt;/strong&gt; The &lt;a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;915038"&gt;hotfix&lt;/a&gt; is officialy out for the Visual Basic background compiler crash. Thanks to Lisa, Margaret, and the VB Team.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;UPDATE 2/12/2006:&lt;/strong&gt; All I can say for now is that we have seen great progress with the bugs we reported to &lt;/em&gt;&lt;a href="http://msdn.microsoft.com/feedback/"&gt;&lt;em&gt;MSDN Feedback (Ladybug)&lt;/em&gt;&lt;/a&gt;&lt;em&gt;. I feel remorse because after the honor of having &lt;/em&gt;&lt;a href="http://weblogs.asp.net/scottgu/"&gt;&lt;em&gt;Scott&lt;/em&gt;&lt;/a&gt;&lt;em&gt; answer to this post, most of the bugs I was able to detail were not related with ASP.NET (by far the piece of technology I use and abuse more nowadays). Anyway, we have reported a few other bugs that were not in the original annoyances list and while sometimes the answer is "we cannot repro, please attach a sample", when we have done that the response has been very satisfactory. Special thanks to Lisa and all the VB Team.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;UPDATE (a few days later):&lt;/strong&gt; I finally begun detailing these bugs on the product feedback site. I have been busy trying to finish some critical use cases at work.&lt;br /&gt;The background compiler bug is here: &lt;/em&gt;&lt;a href="http://lab.msdn.microsoft.com/ProductFeedback/viewFeedback.aspx?FeedbackId=4e1b5f09-df05-4bc7-a751-52a316f64aad"&gt;&lt;em&gt;FDBK42191&lt;/em&gt;&lt;/a&gt;&lt;em&gt; &lt;/em&gt;&lt;/p&gt;&lt;p&gt;Sumedh, of the &lt;a href="http://blogs.msdn.com/msbuild/"&gt;MSBuild Team&lt;/a&gt;, &lt;a href="http://blogs.msdn.com/msbuild/archive/2005/11/09/491044.aspx?CommentPosted=true"&gt;asks&lt;/a&gt; me why should I bother to rebuild project dependencies every other week. The answer is, in a very positive tone, that we do it because of too many bugs. &lt;/p&gt;&lt;p&gt;I admit beforehand that we deal with MSBuild and Visual Studio 2005 project files as black boxes. The less we get involved with them, the better, as we already have other complexities to deal with. However, I have spent sometime comparing different versions of project files for troubleshooting. &lt;/p&gt;&lt;p&gt;We are only a couple of developers working on an ASP.NET application making use of 11-12 separate components. Here is a short list of some problems we have experienced. Many of them are not related to MSBuild, I think, but in the end, the aggregate result leads us to rebuild our references from time to time:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Many times a day the Visual Basic background compiler crashes on our project. Once it has crashed once, it will crashing every two seconds. So, we need to quickly kill the devenv.exe process to get rid of the never stopping Watson window. &lt;/li&gt;&lt;li&gt;After one of those crashes, most times Visual Studio will refuse to reload our solution. Instead it will kill itself and vanish of the desktop, not even bothering to summon Watson. We have learned a couple of tricks for that. First trick it is to create a new VB Windows Forms project and then restart the IDE (DonÂt ask me why, but this is sometimes enough). When the first trick fails, we usually go and delete the .SUO file. After that we usually get Visual Studio to load the solution without a glitch.&lt;/li&gt;&lt;li&gt;For simplicity we have chosen to use a single solution file both for development/debugging and for integration. Within the solution, we organize our projects using solution folders and we use project level references among the different assemblies. But in order to get a streamlined development environment, we usually hide and unload project groups selectively (solution folders are very handy for that). Then, when we need to reload and modify a project, we sometimes get in trouble. It seems that the in-process build system in Visual Studio gets something wrong with dependencies or whatever, and we end up receiving very bizarre errors messages (like missing members in standard System.Web classes or in our own classes). So, the usual workaround is to clean the solution and make a complete rebuild. Of course this takes time and make us wonder why do we need a sophisticated build system in the first place.&lt;/li&gt;&lt;li&gt;We have been lately looking for ways to improve the time of our build process. We found that each build was writing around 150 files to disk, so we started by sending all external assemblies to the GAC and turning Âcopy to localÂ off on every project. The front end project is a Web Site, so this is the only project that needs every assembly in its ÂbinÂ folder. These measures improved things.&lt;/li&gt;&lt;li&gt;Maybe because of the crashes, because of us deleting the .SUO file or because of a bad interaction with our Version Manager (we use PVCS VM and Tracker add-in, which I figure is not ideal), sometimes things go really bad. Some times we loose information in our solutions, like which projects are meant to be built or some project level references. Other times we get error messages while the IDE loads the solution, saying that it cannot load the version manager add-in.&lt;/li&gt;&lt;li&gt;When things go too bad, what we do is start from a new solution file from scratch, and then is when we have to rebuild our dependencies. I think this happens approximately once every two weeks. I know we could save a working copy for this. But due to the few things that change (added and removed projects) and with all our configuration management practices in place (but failing to deliver), we usually think like: "I don't remember what changed, lets rebuild the whole thing".&lt;/li&gt;&lt;li&gt;Web site projects have proven more troublesome that regular projects. For instance, we have found that we cannot have a Web site two folder levels down the solution file. For instance if we have the solution file in a folder called Â\SystemÂ that contains a Web site located in a folder called ÂSystem\UI\WebÂ we cannot get this to work correctly. Eventually (we still need to catch it in the act), the web site is copied to ÂSystem\Web\Â. Conversely, when we tried to fix this by deleting the site located in ÂSystem\WebÂ and trying to re-add the site located in ÂSystem\UI\WebÂ we usually get a message saying that Âthe site located at ÂSystem\UI\WebÂ has been deleted or moved. It says that, but it is clearly trying to find it at ÂSystem\WebÂ.&lt;/li&gt;&lt;li&gt;Also, with Web Sites, there seem to be some ambiguity that confuses us a lot regarding what is a reference and what is just an assembly copied in the ÂbinÂ folder. For instance, when we try to add a project level reference to a web site (one that is not showing in the reference list) it will say it cannot add a reference if the assembly has already been copied by other means.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;All this said, we still got to do significant work with Visual Studio in a few months. We like a lot how our ASP.NET 2.0 application runs, and we are not looking back. If we get those annoyances solved soon, Visual Studio 2005 will be, without a doubt the most productive environment I have ever used. &lt;/p&gt;&lt;p&gt;I intend to search and submit every one of these problems to &lt;a href="http://msdn.microsoft.com/feeback"&gt;MSDN Feedback&lt;/a&gt; when I have enough time.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-113183956018906888?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://msdn.microsoft.com/feedback/' title='Visual Studio 2005: Our list of annoyances'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/113183956018906888/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=113183956018906888' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/113183956018906888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/113183956018906888'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/11/visual-studio-2005-our-list-of.html' title='Visual Studio 2005: Our list of annoyances'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-113137966711959070</id><published>2005-11-07T12:01:00.000-04:00</published><updated>2005-11-10T23:06:19.943-04:00</updated><title type='text'>Visual Studio and SQL Server 2005 launch day</title><content type='html'>&lt;p&gt;Was Visual Studio 2005 ready to ship, or was it rushed out the door? Many very informed bloggers have already &lt;a href="http://weblogs.asp.net/fbouma/archive/2005/11/03/429371.aspx"&gt;posted&lt;/a&gt; &lt;a href="http://weblogs.asp.net/rosherove/archive/2005/11/04/429455.aspx#FeedBack"&gt;their&lt;/a&gt; &lt;a href="http://wesnerm.blogs.com/net_undocumented/2005/11/vs_2005_is_a_go.html"&gt;opinions&lt;/a&gt;. Having used the products for months, I feel obliged too.&lt;/p&gt;&lt;p&gt;This is a comment I wrote today in &lt;a href="http://minimsft.blogspot.com/2005/11/hey-shareholders-vs-2005-is-fantastic.html"&gt;Mini-Microsoft's blog&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;I think it is good that Microsoft shipped Visual Studio 2005, even in this state. At least RTM means that it has support, while CTP does not. I have been working intensively with the IDE for months and I know it is still buggy, but most problems have workarounds, and Microsoft can afford this situation better than the no-ship situation. &lt;/p&gt;&lt;p&gt;I don't need a service pack in six months. I prefer the 20% of the bugs that make for 80% of the annoyances are fixed much earlier. For me, that 20% means the "Visual Basic background compiler crash", and the "IDE vanishes while opening solution" bugs. &lt;/p&gt;&lt;p&gt;By the way, Microsoft right now has no means of estimating the actual number of occurrences of these crashes, because most developers click on "don't send" button when the Watson tool surfaces. You can read details &lt;a href="http://lab.msdn.microsoft.com/ProductFeedback/viewFeedback.aspx?FeedbackId=322ae430-60f9-4ce2-bd4f-db88de777a79"&gt;here&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;&lt;em&gt;UPDATE: I must add to this that when the IDE simply vanishes, there is no Watson submission. Also, talking about workarounds: For the first, the best is usually to restart Visual Studio, clean the solution and rebuild. Besides, if you unload projects you are not updating, Visual Studio will be faster and more stable. For the second bug, my workaround is to create a blank Windows Forms VB project and exit the IDE. Next time you start it, your solution will probably load.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;So, in the end, I agree with those that say VS 2005 had to be shipped. I love .NET 2.0 and I am happy my company took the risk some months ago to adopt it. &lt;/p&gt;&lt;p&gt;However, I think we are witnessing that Visual Studio code base and/or Microsoft's software process failed to scale to the level of complexity that the products required. &lt;/p&gt;&lt;p&gt;Of course, I am just guessing based on what I have read. &lt;/p&gt;&lt;p&gt;I have read about expert developers needing months to get familiar with Visual Studio code in order to fix bugs. I also read about developers not being able to fix bugs without triggering regressions. I have heard of Rascal, the lightweight IDE many developers choose internally over Visual Studio.&lt;/p&gt;&lt;p&gt;To some extent, this is all normal. But if things are getting worse at an exponential rate, as happened with Vista, then maybe it is time for a "reset". &lt;/p&gt;&lt;p&gt;This reset would hopefully imply both code base and process refactoring.&lt;/p&gt;&lt;p&gt;Is it time for Microsoft to go shared source with Orcas? Whatever helps streamlining the process and the code is good. Sometimes the sole process of preparing the code for being scrutinized and extended by an external community is worth the ticket. However, I expect 90% of future development would be by Microsoft personnel anyway. &lt;/p&gt;&lt;p&gt;I just hope they will think about this possibility. &lt;/p&gt;&lt;p&gt;But my most urgent need is that they fix VS 2005 steadily, and I need them to start right now. &lt;/p&gt;&lt;p&gt;They do that, or I will loose all my nails and hair!&lt;/p&gt;&lt;p&gt;&lt;em&gt;UPDATE: Thinking more about it, I have the idea that the software development process have improved a lot at Microsoft over the last several months and few years. That is not to say that the process is good enough, but it is improving. &lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Then maybe the main problem is the code base, or perhaps the goals are simply set too high. &lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Regarding SQL Server 2005, I think it is a much more solid release, but I haven't really used it that heavily.&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/5930129-113137966711959070?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://minimsft.blogspot.com/2005/11/hey-shareholders-vs-2005-is-fantastic.html' title='Visual Studio and SQL Server 2005 launch day'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/113137966711959070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=113137966711959070' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/113137966711959070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/113137966711959070'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/11/visual-studio-and-sql-server-2005.html' title='Visual Studio and SQL Server 2005 launch day'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-113131643872334800</id><published>2005-11-06T18:31:00.000-04:00</published><updated>2005-11-06T18:33:58.750-04:00</updated><title type='text'>How much is your blog worth? (boring sunday stuff)</title><content type='html'>While I was trying to find out why Microsoft's "Desarrollador Cinco Estrellas 2005" site is broken, I found this:&lt;br /&gt;&lt;br /&gt;&lt;div style="border: 1px solid #cccccc; background-color: white; width: 115px; text-align: center; padding: 0 0 10px 0;"&gt;&lt;p style="margin: 0"&gt;&lt;img src="http://static.flickr.com/23/25822676_789bf55448_t.jpg" style="border:0;"&gt;&lt;br /&gt;   &lt;span style="font-size: 11px;"&gt;My &lt;a href="http://diegov.blogspot.com"&gt;blog&lt;/a&gt; is worth &lt;b&gt;$4,516.32&lt;/b&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10px;"&gt;&lt;a href="http://www.business-opportunities.biz/projects/how-much-is-your-blog-worth/"&gt;How much is your blog worth?&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.technorati.com/" style="border: 0px;"&gt;&lt;img src="http://technorati.com/pix/tech-logo-embed.gif" style="border: 0px;"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-113131643872334800?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/113131643872334800/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=113131643872334800' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/113131643872334800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/113131643872334800'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/11/how-much-is-your-blog-worth-boring.html' title='How much is your blog worth? (boring sunday stuff)'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-113116472701457361</id><published>2005-11-04T23:48:00.001-04:00</published><updated>2005-11-05T00:25:27.033-04:00</updated><title type='text'>I haven't blogged for a while, but yes, I am following the Live thing</title><content type='html'>I am a feeling far from this blogging thing lately, as I have been very busy at work, and tired at home. Anyway, I must say I have been following the new Live theme Microsoft has &lt;a href="http://www.microsoft.com/presspass/press/2005/nov05/11-01PreviewSoftwareBasedPR.mspx"&gt;announced&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I am really surprised that some see this as a desperate move. I think the opposite, that Microsoft is proving to be the big company that could. The one that can find a solution for the &lt;a href="http://diegov.blogspot.com/2005/09/wsj-story-on-microsofts-overhaul.html"&gt;scalability problem&lt;/a&gt; that delivering a new version of Windows is, and at the same time is agile enough to own &lt;a href="http://www.start.com"&gt;Start.com&lt;/a&gt; and &lt;a href="http://www.live.com"&gt;Live.com&lt;/a&gt; (by the way, I like this domain very much, I hope the will keep it).&lt;br /&gt;&lt;br /&gt;Only time will tell.&lt;br /&gt;&lt;br /&gt;On the specific details, I hope the Favorites feature will someday sport some of the features I described in this old post: &lt;a href="http://diegov.blogspot.com/2004/02/my-favorites-killer-application-for.html"&gt;My favorites: A killer application for WinFS? &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;By the way, I noticed in my referrals that the other day someone from Microsoft Research was reading that article. Whoever it was, I hope he/she found it somewhat interesting. Specially if it was &lt;a href="http://research.microsoft.com/~sdumais/"&gt;Susan Dumais&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;PS: And Susan, thanks for your email regarding &lt;a href="http://research.microsoft.com/copyright/accept.asp?path=http://research.microsoft.com/~sdumais/SISCore-SIGIR2003-Final.pdf&amp;amp;pub=ACM"&gt;Stuff I have Seen&lt;/a&gt; availability.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-113116472701457361?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.live.com' title='I haven&apos;t blogged for a while, but yes, I am following the Live thing'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/113116472701457361/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=113116472701457361' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/113116472701457361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/113116472701457361'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/11/i-havent-blogged-for-while-but-yes-i.html' title='I haven&apos;t blogged for a while, but yes, I am following the Live thing'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-113116333820969658</id><published>2005-11-04T23:48:00.000-04:00</published><updated>2005-11-05T00:02:18.226-04:00</updated><title type='text'>MSDN Product Feedback is Really Working!</title><content type='html'>Have you ever get your bugs or suggestions fully addressed by Microsoft? I think I can count the times with the fingers of my knee... But that is until today. Take a look at &lt;a href="http://lab.msdn.microsoft.com/ProductFeedback/viewFeedback.aspx?FeedbackId=322ae430-60f9-4ce2-bd4f-db88de777a79"&gt;this&lt;/a&gt;:&lt;br /&gt;&lt;blockquote&gt;&lt;strong&gt;&lt;span style="color:#ff9966;"&gt;Opened by Diego on 2005-10-07 at 08:45:27&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Recurrent crashes discourage developers of sending crash information every time. Also under certain configurations, the "watson" tool cannot contact Microsoft servers. This way, Microsoft is not getting actual metrics of crash occurrence.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff9966;"&gt;Proposed Solution: &lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff9966;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;Make it possible to send a lighter crash report. Maybe try to identify if a recurrent problem so if the second time does not provide additional information, only send the "light" version. Also, solve the circumstance in which sending crash data does not work through a firewall (I have not isolated the reason, but in my office some computers can send the reports and some say they cannot reach Microsoft servers).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff9966;"&gt;Edited by Microsoft on 2005-10-07 at 13:34:16&lt;/span&gt; &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Hi Diego - I have opened a bug against the Watson team for them to consider your feedback.Thanks!Aaron BrethorstVS Platform&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff9966;"&gt;Edited by Microsoft on 2005-10-13 at 13:42:16&lt;/span&gt; &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Hi Diego - I just received resolution on this issue from the Windows team that owns this. Here's what they said:In [Windows Vista] Beta 2 the crash reporting experience for VS will be improved. We will send the most lightweight report possible which does check for recurrent problems. Additionally we queue reports for later if connectivity cannot be established at the time of the report. Additionally users will have the option during install whether to automatically send or not.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff9966;"&gt;Edited by Diego on 2005-11-04 at 19:46:32&lt;/span&gt; &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Great, I think this covers everything I asked for! Was this really my idea or what?&lt;/blockquote&gt;I swear… I find the sensation very strange...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-113116333820969658?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://msdn.microsoft.com/feedback/' title='MSDN Product Feedback is Really Working!'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/113116333820969658/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=113116333820969658' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/113116333820969658'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/113116333820969658'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/11/msdn-product-feedback-is-really.html' title='MSDN Product Feedback is Really Working!'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-113002631584314988</id><published>2005-10-22T20:03:00.000-04:00</published><updated>2005-10-30T00:23:58.630-04:00</updated><title type='text'>Tropical Storm Alpha (we ran out of names)</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/1146/254/1600/211203W_sm.gif"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/1146/254/400/211203W_sm.gif" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;I knew our dominican experience would not be complete without a little tropical storm. If it has to be, I am happy its name is a greek letter.&lt;/p&gt;&lt;p&gt;See that line? I goes straight over my home.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-113002631584314988?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.nhc.noaa.gov/nhc_at5.xml' title='Tropical Storm Alpha (we ran out of names)'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/113002631584314988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=113002631584314988' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/113002631584314988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/113002631584314988'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/10/tropical-storm-alpha-we-ran-out-of.html' title='Tropical Storm Alpha (we ran out of names)'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-112831989068941970</id><published>2005-10-03T01:14:00.000-04:00</published><updated>2005-11-17T23:24:39.160-04:00</updated><title type='text'>One Laptop per Child</title><content type='html'>&lt;blockquote&gt;The MIT Media Lab has launched a new research initiative to develop a $100 laptop—a technology that could revolutionize how we educate the world's children. To achieve this goal, a new, non-profit association, One Laptop per Child (OLPC), has been created. The initiative was first announced by Nicholas Negroponte, Lab chairman and co-founder, at the World Economic Forum at Davos, Switzerland in January 2005.&lt;/blockquote&gt;&lt;p&gt;I think this is an amazing concept. You can read about it &lt;a href="http://laptop.media.mit.edu/"&gt;here&lt;/a&gt; and even see some pictures &lt;a href="http://laptop.media.mit.edu/laptop-images.html"&gt;here&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;I have been a fan of the &lt;a href="http://www.media.mit.edu/"&gt;Media Lab&lt;/a&gt; since I was 12 years old, and I am happy they are coming with such an ambitious project. I see this is the realization of a dream for Nicholas Negroponte, Seymour Papert and for Alan Kay. I hope they will have a great success.&lt;/p&gt;&lt;p&gt;What Negroponte says about taking the fat out of the system is right: "Two-thirds of their software is used to manage the other third, which mostly does the same functions nine different ways." I hope the project will get massive support and will trigger a race for sleekness across the software industry.&lt;/p&gt;&lt;p&gt;Probably because of the lack of deep technical detail in the announcements I have read so far, there a few concerns in my mind:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Hardware expandability:&lt;/strong&gt; They say the laptop is not going to have much storage space. I hope it will be easy to expand storage with off-the-shelf hardware. The USB ports are a good start.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Software extensibility:&lt;/strong&gt; They speak about a P2P mesh developed by the Media Lab. They also say the computer is not going to be available to individuals. They will run Linux, and while Linux is widely available, there is a binary compatibility problem among different versions of Linux. I wonder how easy it will be to target the computer for software writers.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Software platform lock-in:&lt;/strong&gt; You can easily see what the commercial companies sponsoring the initiative, including Red Hat and Google, are looking for with this project: A big PR campaign, and a huge captive user base. I wish the software story were more open. Don’t take me wrong. I want this project to be feasible. I just don’t like the idea of any government paying hundreds of million of dollars to force those brands through children throats all around the world. It smells as something either fascist or corrupt or both things at the same time. It would be the same if Bill Gates funded the program. This concern gets addressed if there is choice. &lt;/li&gt;&lt;li&gt;&lt;strong&gt;One-way globalization:&lt;/strong&gt; I happen not to fully understand the globalization phenomena, although I have heard assertions from many people that think they do. The fact is globalization sometimes seems to be a one-way path. In poor countries, it usually takes more from people than what it gives to them, most likely because they are less prepared for the exposition. A computer, even if it is the most powerful thinking tool of all times, can also be used as a broadcast, one-way device. What originated as one of the most massive empowerment initiatives of all times could end up being the final stab for local cultures and become a powerful tool of oppression. Anyway, I know the minds behind the project would rather cut their hands than do that damage.&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/5930129-112831989068941970?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://laptop.media.mit.edu/' title='One Laptop per Child'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/112831989068941970/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=112831989068941970' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112831989068941970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112831989068941970'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/10/one-laptop-per-child.html' title='One Laptop per Child'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-112831447150219078</id><published>2005-10-03T00:35:00.000-04:00</published><updated>2005-10-03T00:48:42.850-04:00</updated><title type='text'>Sparkle performance</title><content type='html'>&lt;a id="_ctl0__ctl0__ctl0__ctl0__ctl0__ctl0_Entry__ctl0_AuthorLink" href="http://blogs.msdn.com/Profile.aspx?UserID=4026"&gt;John Gossman&lt;/a&gt; answered my silly comment to &lt;a href="http://blogs.msdn.com/johngossman/archive/2005/09/24/473618.aspx#comments"&gt;his previous post&lt;/a&gt; about Expression Interactive Designer (aka Sparkle):&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;In my history of Sparkle I mentioned I had worked on ToolBook. That solicited this comment:&lt;/p&gt;&lt;br /&gt;&lt;blockquote&gt;Asymetrix's ToolBook? Wow, that was so ahead of its time! Just make sure Sparkle runs faster! :P Sorry, could not resist. I am sure Sparkle will rock.&lt;/blockquote&gt;&lt;br /&gt;&lt;p&gt;We are currently in a performance milestone on Sparkle, dealing with our obvious perf problems and reporting real and potential Avalon perf problems to that team. The good news is overall perf is good. Startup is fine, working set is fine, but as these things go we have individual areas that don't scale well or just are awful. In Avalon you build your UI compositionally by creating Templates that generate elements for the structure. For example, rather than a Button having a Render() method that draws a bunch of rounded rectangles and text, you create a Template of primitive Shape and Text Elements, include a layout container like a Grid or Canvas and every time the system sees a Button it stamps out a copy of all those elements. Elements are not free however, and if you aren't careful with your Templates they can explode into huge structures without you noticing. This is a working set hit and layout and render takes longer. We added commands to our diagnostic menu that let us count the number of elements in different parts of the tree and dump them for further study. When we started perf work before the PDC Sparkle would startup with over 8000 elements in its UI. Today that is down to 3000 with no difference in the look and feel. I expect this number to improve considerably this week and more next as more changes come in. We virtualized some things and just got more careful in a bunch of places.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Now, let me tell you, I am trully ashamed. Did you see Sparkle running? If not, go to see the &lt;a href="http://channel9.msdn.com/showpost.aspx?postid=115387"&gt;Channel9 video&lt;/a&gt;? It is one of those things that make me drool. &lt;/p&gt;&lt;p&gt;This is my answer to John, I wrote originally in his blog comments:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;John, all this made me blush a great deal, however I am happy my comment led you to speak about Sparkle’s performance characteristics. I am also glad you are making so much progress. I saw in the videos on Channel9, and I think Sparkle already looked VERY impressive before the PDC.&lt;/p&gt;&lt;p&gt;Now, I have one concern: Not that we are all going to write such a complex UIs, but it appears that making a sophisticated Avalon application reach good performance takes much tuning. &lt;/p&gt;&lt;p&gt;Now, I am a newbie, but I assume that by virtualization you mean that you create and dispose (perhaps reuse?) UI elements whenever they become visible or hidden. Wouldn’t it be nice that this kind of optimization were performed by Avalon itself? This could be especially useful, since I think there is a balance to be kept among working set (number of elements) and creation-destruction rate. &lt;/p&gt;&lt;p&gt;And thanks for the inside story of ToolBook. I didn't use the product a lot, but I have a friend that did, and I always had a great respect for the technology. &lt;/p&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-112831447150219078?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://blogs.msdn.com/johngossman/archive/2005/09/28/474913.aspx?CommentPosted=true#commentmessage' title='Sparkle performance'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/112831447150219078/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=112831447150219078' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112831447150219078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112831447150219078'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/10/sparkle-performance.html' title='Sparkle performance'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-112786756040884873</id><published>2005-09-27T20:27:00.000-04:00</published><updated>2005-09-27T22:05:50.420-04:00</updated><title type='text'>Sophisticated SPAM</title><content type='html'>&lt;p&gt;Yesterday I received an email saying something like "What is this about? Stop sending me email". The almost obvious intent was that I answered so they could validate my email account is active and I am silly enough to buy from spammers. &lt;/p&gt;&lt;p&gt;Today I received what seems to be a "reply to all" to the first email saying something like "Why did you accuse me of sending that email?" &lt;/p&gt;&lt;p&gt;So now the intent is to make the first email credible, so if I feel smart enough to help everybody else understand SMTP, but I am actually fool enough not to detect this is a scam, I would then send an answer. &lt;/p&gt;&lt;p&gt;No way! &lt;/p&gt;&lt;p&gt;But, I must say I haven't seen a scheme like this before. So, congratulations spammers! Cockroaches do not take evolutionary leaps this often.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-112786756040884873?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/112786756040884873/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=112786756040884873' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112786756040884873'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112786756040884873'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/09/sophisticated-spam.html' title='Sophisticated SPAM'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-112770286400356421</id><published>2005-09-25T22:27:00.000-04:00</published><updated>2005-09-27T23:32:05.816-04:00</updated><title type='text'>The WSJ Story on Microsoft's Overhaul</title><content type='html'>A very interesting read, even if not technically deep, &lt;a href="http://online.wsj.com/article/0,,SB112743680328349448,00.html?mod=todays_us_page_one"&gt;Battling Google, MicrosoftChanges How It Builds Software&lt;/a&gt;, tells us everything we wanted to know about the Longhorn delays.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;By late October, Mr. Srivastava's team was beginning to automate the testing that had historically been done by hand. If a feature had too many bugs, software "gates" rejected it from being used in Longhorn. If engineers had too many outstanding bugs they were tossed in "bug jail" and banned from writing new code. The goal, he says, was to get engineers to "do it right the first time."&lt;/p&gt;&lt;p&gt;Recognizing Mr. Gates's concerns over the impact on programmers, Mr. Srivastava hit on a plan to win their hearts and minds. On Nov. 5, he visited the computer-filled office of Dave Cutler, a revered elder statesman among Windows engineers and a stickler for good code writing. Would he publicly throw his weight behind the new approach? Mr. Srivastava asked. &lt;/p&gt;&lt;p&gt;On Dec. 1, Mr. Srivastava escorted Mr. Cutler to Microsoft's auditorium where the software guru told 1,000 engineers that he had used the tools to build Windows code that was nearly bug-free. That Mr. Cutler -- famous for never attending meetings -- would emerge to back Mr. Allchin's revolution helped persuade some engineers to drop their objections.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;I have to say I didn't know there was such a level of dissent about Longhorn, but I see it as something very natural and healthy.&lt;/p&gt;&lt;p&gt;Over anything else, I am glad that &lt;a href="http://www.research.microsoft.com/users/amitabhs/"&gt;Amitabh Srivastava&lt;/a&gt; was onboard to help solve this crisis at Microsoft. &lt;/p&gt;&lt;p&gt;With all those press stories reporting the "millions of lines of code" in Windows and the heroic lives of the build team members, I have been convinced for some years that Microsoft was inexorably going to hit a hard boundary. Of course, I am not a genius, so for sure many engineers inside Microsoft knew about the problem better. It is amazing, however, that things got to become that ugly before somebody changed the process. &lt;/p&gt;&lt;p&gt;If you also feel that the WSJ article lacks the technical detail you need, look at the &lt;a href="http://www.microsoft.com/windows/cse/default.mspx"&gt;Center for Software Excellence&lt;/a&gt; page for an idea of what this people used to streamline the Windows Vista continuous integration process. &lt;/p&gt;&lt;p&gt;By the way, do you remember TracePoint? That was Amitabh old job. I do remember downloading it and testing it against my Visual Basic code of that time. It was a wonderful piece of code, incredibly easy to use and useful for optimizing your code. Never again I saw something like that. &lt;/p&gt;&lt;p&gt;I guess next week I will pay more attention to the code analysis tools in Visual Studio 2005… Yes I hope whatever Microsoft is using will eventually get integrated into Visual Studio Team System. After all, developing a mid-sized system with just thirteen assemblies at the office, has proven a nightmare at times.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;UPDATE: &lt;/strong&gt;After thinking a little bit more about this, I am now convinced that the measure of letting lower level executives take more decisions about products by themselves makes a lot of sense.&lt;/p&gt;&lt;p&gt;This means higher level executives accept some things are not in their radar and they may be wrong, so let the people that are more in contact with product development should have the last word. &lt;/p&gt;&lt;p&gt;In this case, the hard boundary I mentioned, that Windows was getting too difficult to integrate, wasn’t probably in Bill Gates radar.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-112770286400356421?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://online.wsj.com/article/0,,SB112743680328349448,00.html?mod=todays_us_page_one' title='The WSJ Story on Microsoft&apos;s Overhaul'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/112770286400356421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=112770286400356421' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112770286400356421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112770286400356421'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/09/wsj-story-on-microsofts-overhaul.html' title='The WSJ Story on Microsoft&apos;s Overhaul'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-112769723920726748</id><published>2005-09-25T21:10:00.000-04:00</published><updated>2005-09-26T16:12:31.943-04:00</updated><title type='text'>Go Live License for Visual Studio 2005 Release Candidate</title><content type='html'>I am happy to report that this has changed, or maybe previous reports that Go-Live was only for Beta 2 were wrong:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Visual Studio 2005 / .NET Framework 2.0 Go-Live License&lt;br /&gt;&lt;/strong&gt;Microsoft’s Beta EULA does not permit production deployments of customer applications. In response to strong customer demand, Microsoft will provide an addendum to the EULA for some of the pre-release products listed below. If you are interested in deploying an application built with Visual Studio 2005 Beta 2 or Visual Studio 2005 Release Candidate in a live production environment, please see the &lt;a href="http://lab.msdn.microsoft.com/vs2005/golive/default.aspx"&gt;Visual Studio 2005 / .NET Framework 2.0 Go-Live License&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Visual Studio 2005 Team Foundation Server Beta 3 Go-Live License&lt;br /&gt;&lt;/strong&gt;Visual Studio 2005 Team Foundation Server Beta 3 can now be used in a production environment. Microsoft is committed to supporting a complete migration from Beta 3 to the final RTM version of Team Foundation Server. Details of the Visual Studio 2005 Team Foundation Server Beta 3 Go-Live license will be forthcoming.&lt;/p&gt;&lt;/blockquote&gt;I think I asked about this in the comments of some Microsoft blogger, before. I wish there were an easy way to find my comments and add the good news.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;UPDATE:&lt;/strong&gt; I found the comments I placed in Soma's blog. He responded himself to the question about the Go-Live License &lt;a href="http://blogs.msdn.com/somasegar/archive/2005/09/14/465465.aspx"&gt;here&lt;/a&gt;. Thanks!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-112769723920726748?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://lab.msdn.microsoft.com/vs2005/get/' title='Go Live License for Visual Studio 2005 Release Candidate'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/112769723920726748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=112769723920726748' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112769723920726748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112769723920726748'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/09/go-live-license-for-visual-studio-2005.html' title='Go Live License for Visual Studio 2005 Release Candidate'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-112744363777765917</id><published>2005-09-22T22:39:00.000-04:00</published><updated>2005-09-22T22:57:30.586-04:00</updated><title type='text'>Finally, someone I seem to agree completely with</title><content type='html'>Following, there is some kind of mini-easay a man called &lt;a href="http://www.zenarchery.com/full-text-of-the-grim-meathook-future-thing"&gt;Joshua Ellis wrote&lt;/a&gt;. I don't know him , although this seems to be &lt;a href="http://www.weblogsky.com/gallery/Sterling2004Party/DSCN1157"&gt;his worst photography&lt;/a&gt;, wow! ;). In his esay he seems to write a nice synthesis of my own political position, just written in "good" English:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;I think the problem is that the future, maybe for the first time since WWII, lies on the far side of an event horizon for us, because there are so many futures possible. There’s the wetware future, the hardware future, the transhumanist future, the post-rationalist (aka fundamentalist) future.&lt;br /&gt;&lt;br /&gt;And then there’s the future where everything just sort of keeps going on the way it has, with incremental changes, and technology is no longer the deciding factor in things. You don’t need high tech to change the world; you need Semtex and guns that were designed by a Russian soldier fifty-odd years ago.&lt;br /&gt;&lt;br /&gt;Meanwhile, most of the people with any genuine opportunity or ability to effect global change are too busy patting each other on the back at conventions and blue-skying goofy social networking tools that are essentially useless to 95% of the world’s population, who live within fifteen feet of everyone they’ve ever known and have no need to track their fuck buddies with GPS systems. (This, by the way, includes most Americans, quite honestly.)&lt;br /&gt;&lt;br /&gt;You can’t blame them for this, because it’s fun and it’s a great way to travel and get paid, but it doesn’t actually help solve any real problems, except the problem of media theory grad students, which the rest of the world isn’t really interested in solving.&lt;br /&gt;&lt;br /&gt;Feeding poor people is useful tech, but it’s not very sexy and it won’t get you on the cover of Wired. Talk about it too much and you sound like an earnest hippie. So nobody wants to do that.&lt;br /&gt;&lt;br /&gt;They want to make cell phones that can scan your personal measurements and send them real-time to potential sex partners. Because, you know, the fucking Japanese teenagers love it, and Japanese teenagers are clearly the smartest people on the planet.&lt;br /&gt;&lt;br /&gt;The upshot of all of this is that the Future gets divided; the cute, insulated future that Joi Ito and Cory Doctorow and you and I inhabit, and the grim meathook future that most of the world is facing, in which they watch their squats and under-developed fields get turned into a giant game of Counterstrike between crazy faith-ridden jihadist motherfuckers and crazy faith-ridden American redneck motherfuckers, each doing their best to turn the entire world into one type of fascist nightmare or another.&lt;br /&gt;&lt;br /&gt;Of course, nobody really wants to talk about that future, because it’s depressing and not fun and doesn’t have Fischerspooner doing the soundtrack. So everybody pretends they don’t know what the future holds, when the unfortunate fact is that — unless we start paying very serious attention — it holds what the past holds: a great deal of extreme boredom punctuated by occasional horror and the odd moment of grace.&lt;/p&gt;&lt;/blockquote&gt;I don't know you, but all I see lately is facists everywhere.&lt;br /&gt;&lt;br /&gt;Thanks go to &lt;a href="http://www.25hoursaday.com/weblog/PermaLink.aspx?guid=1a68cc3f-6bdb-44cb-b53b-8c07981005e5"&gt;Dare Obasanjo&lt;/a&gt; for the link.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-112744363777765917?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.zenarchery.com/full-text-of-the-grim-meathook-future-thing' title='Finally, someone I seem to agree completely with'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/112744363777765917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=112744363777765917' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112744363777765917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112744363777765917'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/09/finally-someone-i-seem-to-agree.html' title='Finally, someone I seem to agree completely with'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-112710454879070944</id><published>2005-09-19T00:20:00.000-04:00</published><updated>2005-09-19T01:03:23.580-04:00</updated><title type='text'>The horrible state of empathy</title><content type='html'>First, there is this article in CRN that states &lt;a href="http://www.crn.com/sections/breakingnews/breakingnews.jhtml;jsessionid=MOIB5PW4JGU3AQSNDBCCKHSCJUMEKJVN?articleId=170701900"&gt;Microsoft Opens Security Service Beta To &lt;strong&gt;All&lt;/strong&gt;&lt;/a&gt; in the title, but then says it is only open to U.S. residents. Gregg Keizer signs as the author. His last name doesn't seem to be very American, does it?&lt;br /&gt;&lt;br /&gt;Reminded me of the video clubs here in the Dominican Republic. They all have a small section called "Foreign Cinema". There you will find all non American movies, including the few Dominican movies that they have... I figure globalization didn't work both ways here!&lt;br /&gt;&lt;br /&gt;Now, for a really crude sample on how bad is the state of empathy in this world, you can read this Russell Beatie's post:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.russellbeattie.com/notebook/1008617.html"&gt;Now we know why they didn't walk out of New Orleans&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Darn, I am so disappointed!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-112710454879070944?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.crn.com/sections/breakingnews/breakingnews.jhtml;jsessionid=MOIB5PW4JGU3AQSNDBCCKHSCJUMEKJVN?articleId=170701900' title='The horrible state of empathy'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/112710454879070944/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=112710454879070944' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112710454879070944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112710454879070944'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/09/horrible-state-of-empathy.html' title='The horrible state of empathy'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-112695687090721763</id><published>2005-09-17T07:00:00.000-04:00</published><updated>2005-09-19T01:04:06.323-04:00</updated><title type='text'>Happy to be in the .NET side of the fence</title><content type='html'>Dave Wheeler is concerned because C# is becoming more complex in 3.0:&lt;br /&gt;&lt;blockquote&gt;C# 3.0 is reaching a point where a developer with only a few months experience will be unable to read what an "advanced developer" will be writing for, say, data access. This has an impact, particular on businesses that are looking to hire developers to work on their applications. If you like, the total cost of ownership of a developer is going to go up, because they will need more training and more experience before they can get into the code to maintain it.&lt;/blockquote&gt;&lt;br /&gt;This is an important point of view, but only one part of the puzzle.&lt;br /&gt;&lt;br /&gt;Even if Microsoft is trying to differentiate the languages and make VB more RAD like than C#, Visual Basic is generally taking the same route with LINQ.&lt;br /&gt;&lt;br /&gt;I think Microsoft expects the increase in productivity will more than compensate for the increase in complexity. And given what I have seen about LINQ (and all the LINQ supporting features that are being added to the languages), I think this is how things will be.&lt;br /&gt;&lt;br /&gt;But there are ingredients in the mix:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;You can expect more good designers (graphical RAD tools) from Microsoft, that will help encapsulate complex components, the way the Typed DataSet designer does in Whidbey. So let those designers come to the rescue both for pros and beginners. &lt;/li&gt;&lt;li&gt;With DLINQ most of the magic is under the hood. You don't need to touch the mapping of the database tables with the data types in your code. Less code to mantain, fewer bugs.&lt;/li&gt;&lt;li&gt;Using queries, lambda expressions, comprehensionsons, class extensions, projections or whatever, is not something you will do to obscure your code. All those features, when used in the right context, have the power to simplify code. They take less lines of code, are more natural, and just make more sense than the existing practices. Compare a query expression with tens of lines of spaghetti concatenated SQL, field accessors data type conversions and null checks. That is expresiveness.&lt;/li&gt;&lt;li&gt;If the names of these features seem frightening, just use friendlier names.&lt;/li&gt;&lt;li&gt;There is nobody more conservative about adding features to C# than Anders. You can be sure for every feature added, there are thousands that never left the whiteboard.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;As a developer I am today very happy with the investment I have made in .NET. Let's see how long it takes now for Java to catch up.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-112695687090721763?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://blogs.qacommunity.com/DaveWheeler/2005/09/pdc-afternoon-three.html' title='Happy to be in the .NET side of the fence'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/112695687090721763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=112695687090721763' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112695687090721763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112695687090721763'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/09/happy-to-be-in-net-side-of-fence.html' title='Happy to be in the .NET side of the fence'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-112684046583094010</id><published>2005-09-15T22:47:00.000-04:00</published><updated>2005-09-16T20:28:20.163-04:00</updated><title type='text'>Shock and awe (TM)</title><content type='html'>It has been a great PDC. I was able to follow the news trough the blogsphere, mostly for free (connection fees may apply) but still think it would have been wonderful to be there.&lt;br /&gt;&lt;br /&gt;There are some employees that say &lt;a href="http://spaces.msn.com/members/mike/Blog/cns!1pG4qKNdtRA5Nl-UhvZI_1rQ!3992.entry"&gt;this is the best of 30 years of Microsoft history&lt;/a&gt;. Other observers think that &lt;a href="http://www.ballpark.ch/blog/english/258/microsofts-overhaul-is-complete"&gt;Microsoft's overhaul is complete&lt;/a&gt;. Truth or not, I think Microsoft has distilled and leveraged a massive amount of kool aid on all Microsoft based developers around the world.&lt;br /&gt;&lt;br /&gt;The coolness factor is so high tonight for Microsoft, that they could take the chance to announce something really controversial tomorrow morning. Think of something in the lines of Microsoft Linux (Did you notice they never wanted anybody else to hold the Lin - D O W S name? ;)), Mono funding or at least new versions of .NET, Avalon, Office 12 and Expression application support for the Mac...&lt;br /&gt;&lt;br /&gt;Why would they do something like that? Two guiding ideas: "we want those to be our customers, again, or at last" and "we just do software" (not necessarily Windows software).&lt;br /&gt;&lt;br /&gt;If they did that, the coolness wave they would "sparkle" around the world would instantly make them more famous (and relevant) that Jesus... Or the Beatles... Or Oasis... Or whatever.&lt;br /&gt;&lt;br /&gt;After all, when it comes to the Web, they already play nicely: They support Firefox along with Internet Explorer.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;UPDATE:&lt;/strong&gt; Brad Feld in a recent &lt;a href="http://www.feld.com/blog/archives/2005/09/2006_will_be_th.html"&gt;post&lt;/a&gt; seems to agree with my perception. Interestingly, he also mentions openness in his last paragraph:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Now - if we can only get them to say "Open Source" instead of "Shared Software Services" life would be a little easier.&lt;/blockquote&gt;&lt;br /&gt;It is not that I am an Open Source zealot, but time has come that we need more openess in the development tools we use everyday.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-112684046583094010?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://radio.weblogs.com/0001011/2005/09/15.html' title='Shock and awe (TM)'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/112684046583094010/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=112684046583094010' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112684046583094010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112684046583094010'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/09/shock-and-awe-tm.html' title='Shock and awe (TM)'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-112680261197988947</id><published>2005-09-15T12:34:00.000-04:00</published><updated>2005-09-17T02:27:13.810-04:00</updated><title type='text'>LINQ</title><content type='html'>Atlas is one of my favorite technologies announced in the PDC, with Windows Workflow Foundation comming close. Of course, I hope to get a chance to play with the Expression tools and with Office 12 soon.&lt;br /&gt;&lt;br /&gt;But in my opinion, the most important announcement from the PDC is LINQ.&lt;br /&gt;&lt;br /&gt;C# and VB become mixed functional/object oriented/imperative languages.&lt;br /&gt;&lt;br /&gt;The data impedance mismatch is over. Rumors about this being ripped from Foxpro and 4GLs are largely wrong. This is much more elegant and powerful. As a developer, this is a happy day.&lt;br /&gt;&lt;br /&gt;I have read some people concerned the idea that LINQ, specially DLINQ will push .NET develiopers to mess up the layered architecture.&lt;br /&gt;&lt;br /&gt;You don't only isolate concatenated SQL in a DAL component for aestetic reasons.&lt;br /&gt;&lt;br /&gt;You do it, for instance, for the abstraction and the scalability provided by a special execution environment.&lt;br /&gt;&lt;br /&gt;But with LINQ the "functional power" of the query language is not anymore limited to data that is on the database. You can now use the same language constructs to query any data, regardless of location.&lt;br /&gt;&lt;br /&gt;Thanks to all the teams that made this happen. You can count on me giving you feedback.&lt;br /&gt;&lt;br /&gt;First two pieces of feedback:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I want to see transactions to become a first class citizen in the CLR. &lt;/li&gt;&lt;li&gt;I hope to see many legacy database 4GLs (includding FoxPro) to adopt the CLR as a runtime. Now that the CLR comes with queries, it can be a true life saver, both for the products and for the developers that mantain those billions of lines of code.&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/5930129-112680261197988947?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://msdn.microsoft.com/netframework/future/linq/' title='LINQ'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/112680261197988947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=112680261197988947' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112680261197988947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112680261197988947'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/09/linq.html' title='LINQ'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-112647843929511596</id><published>2005-09-11T18:33:00.000-04:00</published><updated>2005-09-11T19:34:02.273-04:00</updated><title type='text'>In support of Adam Barr's idea for opening current Microsoft Office formats</title><content type='html'>His post is here: &lt;a href="http://www.proudlyserving.com/archives/2005/09/an_open_letter.html"&gt;An Open Letter to Jeff Raikes&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;... &lt;/p&gt;&lt;p&gt;No doubt you're aware of the recent fuss over Massachusetts' decision to require open formats for its official documents. Microsoft's predictable response was to plead confusion, hurt, and sorrow for the innocent users forced to abide by such a policy. I have another idea. Instead of responding like a sad puppy, Microsoft should embrace what Massachusetts is proposing. &lt;/p&gt;&lt;p&gt;... &lt;/p&gt;&lt;p&gt;No, I'm saying that Microsoft should go back to the fundamental reasoning behind the Massachusetts decision, and embrace that. Massachusetts is not adopting OpenDocument for its own sake; it is adopting it because it meets a set of criteria the state has established--criteria which Microsoft could also meet if it chose to. &lt;/p&gt;&lt;p&gt;...&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;br /&gt;I like the idea and this post is in support of it. Times change quickly, and what still fitted in Microsoft's Business Model a couple of years ago, is turning against it now.&lt;br /&gt;&lt;br /&gt;At first I thought that licensing the formats only for reading and not for writing sounded too restrictive. But then I realized that he is talking about the current formats, that are already becoming obsolete. The new formats are already being developed as open standars.&lt;br /&gt;&lt;br /&gt;UPDATE: I have just added this to Adam's post comments:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;I am not sure there is such a thing as delusional blogger self-importance disease. When I do test software, if I have a bug to report, I report it. I don't loose my time thinking that a tester smarter than me already found it and reported it. Nor do I think a developer smarter than me coded the feature and I must be crazy to think it is broken.&lt;/p&gt;&lt;p&gt;Classical Office formats are about to become obsolete, and there is no real business reason to keep them in obscurity (I can imagine possible security reasons, but I am not sure they exist). There is a real business case in opening them, though. &lt;/p&gt;&lt;p&gt;Actually, I have similar feelings about &lt;a href="http://diegov.blogspot.com/2005/05/please-include-mfc-and-atl-with-visual.html"&gt;Microsoft not including MFC and ATL in Visual C++ Express&lt;/a&gt;, but then, I don’t work for the company...&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-112647843929511596?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.proudlyserving.com/archives/2005/09/an_open_letter.html' title='In support of Adam Barr&apos;s idea for opening current Microsoft Office formats'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/112647843929511596/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=112647843929511596' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112647843929511596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112647843929511596'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/09/in-support-of-adam-barrs-idea-for.html' title='In support of Adam Barr&apos;s idea for opening current Microsoft Office formats'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-112647559324001260</id><published>2005-09-11T17:52:00.000-04:00</published><updated>2005-09-11T17:54:25.166-04:00</updated><title type='text'>Good luck to everybody in the PDC</title><content type='html'>I am green with envy, but good luck anyway ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-112647559324001260?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/112647559324001260/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=112647559324001260' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112647559324001260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112647559324001260'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/09/good-luck-to-everybody-in-pdc.html' title='Good luck to everybody in the PDC'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-112647504767305019</id><published>2005-09-11T17:34:00.000-04:00</published><updated>2005-09-19T22:35:34.366-04:00</updated><title type='text'>So, is it LINQ or IQF?</title><content type='html'>I have read about it before at &lt;a href="http://blogs.msdn.com/lucabol/archive/2005/07/14/438824.aspx"&gt;Luca Bolognese's blog&lt;/a&gt;, and news from it are &lt;a href="http://jopx.blogspot.com/2005/09/net-language-integrated-query_14.html"&gt;coming in pieces&lt;/a&gt; from conversations in the PDC.&lt;br /&gt;&lt;br /&gt;Sometimes referred as Integrated Query Framework, sometimes as Language Integrated Query, or maybe as Common Query Runtime (this one is foggy in my mind).&lt;br /&gt;&lt;br /&gt;Whatever the name is, this new .NET feature is coming out more less the way I hoped &lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=111226#111226"&gt;it to be&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;UPDATE: I found that the original post in jpox.blogspot.com has been deleted. I guess it was not correct information or maybe the author decided to help keep the secret.&lt;br /&gt;&lt;br /&gt;We will see soon anyway.&lt;br /&gt;&lt;br /&gt;UPDATE: Updated link sent by Joris. Thanks!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-112647504767305019?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://jopx.blogspot.com/2005/09/net-language-integrated-query.html' title='So, is it LINQ or IQF?'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/112647504767305019/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=112647504767305019' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112647504767305019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112647504767305019'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/09/so-is-it-linq-or-iqf.html' title='So, is it LINQ or IQF?'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-112598463754342584</id><published>2005-09-06T00:17:00.000-04:00</published><updated>2005-09-06T22:07:12.276-04:00</updated><title type='text'>Eureka! Integrate your custom ADO.NET Provider with Visual Studio 2005, using Data Designer Extensibility (DDEX)</title><content type='html'>I have been looking for &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/ddexintro.asp"&gt;this information&lt;/a&gt; for some time. The fact that I could only find it tonight (when it has been published since May) is proof that there is not enough "hyperlink glue" among the words in the subject out there in the Web.&lt;br /&gt;&lt;br /&gt;The sole purpose of this post is to provide some of this glue, so you can find the information more easily from now.&lt;br /&gt;&lt;br /&gt;I once tried posting a question on Steve Lasker's team Smart Client Data &lt;a href="http://blogs.msdn.com/smartclientdata/"&gt;blog&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;What do I need to add to a custom ADO.NET provider to get design-time support in your tools?&lt;br /&gt;&lt;br /&gt;But unfortunatelly my comments were deleted, likely by an anti-spam filter.&lt;br /&gt;&lt;br /&gt;Just for the record: Once again, I think the tools provided by the Visual Studio Data Team (I don't recall the exact name of the team right now) are great, and I would say this to Steve Ballmer and Bill Gates if they asked me :)&lt;br /&gt;&lt;br /&gt;But I am guilty of wanting more features and more openess in the development tools I use everyday.&lt;br /&gt;&lt;br /&gt;Tonight I finnaly found a clue in &lt;a href="http://eaiexpress.com/personal/archive/2004/12/08/200.aspx"&gt;this&lt;/a&gt; blog. There, someone talks about receiving some information from Microsoft on how to integrate a custom ADO.NET provider with Visual Studio. That someone does not actually uses the name Microsoft , but that very mature M plus a $ dollar sign thing. The post contains no link nor a detail about any API. It even says "ad.net" instead of ADO.NET. Now I cannot remember how I managed to find it!&lt;br /&gt;&lt;br /&gt;A few minutes later, I got some inspired search string in Google (or was it MSN Search?). And here are the results!&lt;br /&gt;&lt;br /&gt;So what is DDEX about? It is simple:&lt;br /&gt;&lt;br /&gt;If you created your own "custom" ADO.NET 2.0 Provider and what it to be listed and exploited by the many design-time data tools in Visual Studio 2005 (like Server Explorer, Typed DataSet Designer, Data Sources, etc.) it wont be enough to add your provider to Machine.Config. You will need to create a "Provider Provider" using Data Designer Extensibility (DDEX).&lt;br /&gt;&lt;br /&gt;I will probably be helping test this with an office mate tomorrow. He wrote our ADO.NET Provider.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-112598463754342584?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/ddexintro.asp' title='Eureka! Integrate your custom ADO.NET Provider with Visual Studio 2005, using Data Designer Extensibility (DDEX)'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/112598463754342584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=112598463754342584' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112598463754342584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112598463754342584'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/09/eureka-integrate-your-custom-adonet.html' title='Eureka! Integrate your custom ADO.NET Provider with Visual Studio 2005, using Data Designer Extensibility (DDEX)'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-112564484206983696</id><published>2005-09-02T02:58:00.000-04:00</published><updated>2005-09-03T08:10:28.716-04:00</updated><title type='text'>MSDN Product Feedback closing bugs and suggestions at full speed</title><content type='html'>They add a &lt;a href="http://lab.msdn.microsoft.com/ProductFeedback/viewFeedback.aspx?FeedbackId=8c06749c-cd27-41d8-b474-ac5b7312200a"&gt;message&lt;/a&gt; asking us to send them an email with the FDBK code, so they keep track of the issue!&lt;br /&gt;&lt;br /&gt;At first glance, this looks as a very silly way of using your bug/suggestion tracking system. Why not just postpone the review for the next iteration and keep it in the database?&lt;br /&gt;&lt;br /&gt;Why do you need to clean up the bugdatabase?&lt;br /&gt;&lt;br /&gt;Is it a law at Microsoft that the database must be emptied of &lt;strong&gt;pending&lt;/strong&gt; (no matter pending for when) items before RTM, or what?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-112564484206983696?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://msdn.microsoft.com/ProductFeedback/' title='MSDN Product Feedback closing bugs and suggestions at full speed'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/112564484206983696/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=112564484206983696' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112564484206983696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112564484206983696'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/09/msdn-product-feedback-closing-bugs-and.html' title='MSDN Product Feedback closing bugs and suggestions at full speed'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-112562288981728848</id><published>2005-09-01T20:38:00.000-04:00</published><updated>2005-09-02T19:58:52.363-04:00</updated><title type='text'>Hacking CSS</title><content type='html'>&lt;a href="http://www.start.com/myw3b/"&gt;Start.com&lt;/a&gt; (Update: Wow! They have &lt;a href="http://www.start.com"&gt;a new address&lt;/a&gt;, and they are looking even better!) has been my home page for a while, both at home and at the office. It is the only thing out there that is better for me than &lt;a href="about:blank"&gt;about:blank&lt;/a&gt;. It is not very fast to load, but it loads much content in an asynchronous way (the A in AJAX). It is full of nice features and ticks and I am a such a newbie in Web development. It is difficult to even imagine how they do all this.&lt;br /&gt;&lt;br /&gt;fortunately, there I met &lt;a href="http://spaces.msn.com/members/siteexperts/"&gt;Scott Isaacs' blog&lt;/a&gt;. His insights are a little different than the others. &lt;a href="http://spaces.msn.com/members/siteexperts/Blog/cns!1pNcL8JwTfkkjv4gg6LkVCpw!1805.entry"&gt;Here&lt;/a&gt;, for instance is his post about how to do wonderful things in CSS without the hackery we are used to get from &lt;a href="http://www.tantek.com/CSS/Examples/boxmodelhack.html"&gt;others&lt;/a&gt;. You should read Scott post, but for short, he recommends you get the server to inject special class attributes on the HTML tags, including the browser type and version. This way you can use html.&lt;em&gt;browsername.version&lt;/em&gt; selectors on your CSS for style sheet that are tailored to a specific browser.&lt;br /&gt;&lt;br /&gt;Scott's timing is excellent. I am doing a lot of &lt;a href="http://beta.asp.net/"&gt;ASP.NET 2.0&lt;/a&gt; programming, and in the meanwhile I am learning CSS. I should better say that I have already learned CSS, and I am still learning how bad current implementations are. I am hating it, and I was about to go to the dark side, when Scott saved me.&lt;br /&gt;&lt;br /&gt;Thanks a lot!&lt;br /&gt;&lt;br /&gt;Anyway, I am open minded regarding any hack that would provide me a decent "abstraction layer" and that would offer reasonable forward compatibly.&lt;br /&gt;&lt;br /&gt;UPDATE:&lt;br /&gt;&lt;br /&gt;I just want to add a very simple implementation of this pattern for ASP.NET 2.0:&lt;br /&gt;&lt;br /&gt;I put this on my default master page:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&amp;lt;body class=&amp;quot;&amp;lt;%= Me.GetBrowserCssClass %&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;I am not using the HTML tag as Scott suggests because VS says a class attribute there breaks the standard.&lt;br /&gt;&lt;br /&gt;Then I add this to the code behind class:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Protected Function GetBrowserCssClass() As String&lt;br /&gt;        If Session("BrowserCssClass") Is Nothing Then&lt;br /&gt;                Dim b As HttpBrowserCapabilities = Request.Browser&lt;br /&gt;                Session("BrowserCssClass") = _&lt;br /&gt;                        LCase(b("browser") &amp; _&lt;br /&gt;                        " m" &amp;amp; _b("majorversion") &amp; _&lt;br /&gt;                        " d" &amp;amp; Replace(b("minorversion"), ".", "", 2) &amp; _&lt;br /&gt;                        " " &amp;amp; Left(b("platform"), 3))&lt;br /&gt;        End If&lt;br /&gt;        Return Session("BrowserCssClass")&lt;br /&gt;End Function&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;I am not sure saving the string in the Session is a good thing. I think the Capabilities collection is going to be populated anyway, so it is possible as much work to retrieve the string from the session as it is to build it again. Only testing would tell.&lt;br /&gt;&lt;br /&gt;And I know the way I create the string is a little naive, but it works with what I have at hand for testing. I don't know how the platform string looks for browsers running in other operating systems.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-112562288981728848?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/112562288981728848/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=112562288981728848' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112562288981728848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112562288981728848'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/09/hacking-css.html' title='Hacking CSS'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-112562128632907843</id><published>2005-09-01T20:33:00.000-04:00</published><updated>2005-09-06T22:10:34.426-04:00</updated><title type='text'>My blogger atom feed does not work</title><content type='html'>It is still stuck showing my "blog depression booklet" post at the top. I wonder what can go wrong Blogger software. Maybe this post helps.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Update (September 9, 2005):&lt;/strong&gt; No response yet from Blogger Support (does  it even exist?), but I found the solution. Blogger just changed the feed address. It switched from &lt;a href="http://diegov.blogspot.com/rss/diegov.xml"&gt;http://diegov.blogspot.com/rss/diegov.xml&lt;/a&gt; to &lt;a href="http://diegov.blogspot.com/atom.xml"&gt;http://diegov.blogspot.com/atom.xml&lt;/a&gt;. The old feed still exists, but it is dead. If the sent any notice, I missed it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-112562128632907843?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://diegov.blogspot.com/2005/08/blog-depression-booklet.html' title='My blogger atom feed does not work'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/112562128632907843/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=112562128632907843' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112562128632907843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112562128632907843'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/09/my-blogger-atom-feed-does-not-work.html' title='My blogger atom feed does not work'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-112538292505370755</id><published>2005-08-30T02:22:00.000-04:00</published><updated>2005-08-31T08:52:11.866-04:00</updated><title type='text'>As I said, where is WinFS?</title><content type='html'>Well, actually, &lt;a href="http://blogs.msdn.com/winfs/archive/2005/08/29/457624.aspx"&gt;here&lt;/a&gt; it is, on all its glory, and of course, alive and kicking:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Another piece of feedback was concerns over the WinFS api’s being a different data access pattern than our existing managed code data access APIs. Further, that our APIs were not aligned with broader data platform needs like OR mapping. This was a big one, and as you explore the SDK and the APIs, you will see the beginnings of how we will be addressing this. We are in the process of building-out the next version of ADO.NET to have new features that provide a data model, object-relational mapping, and flexible query infrastructure. The new data model is about entities, and the WinFS data model of Item types is built on that model. Looking through our SDK and code samples you will see how Items are composed of underlying entities. OR mapping is a big requirement - WinFS is a very prescribed mapping (defining a type in WinFS generates both the underlying storage schema and the partial class to program to that type). But the real-world has lots of requirements for flexible mapping – to existing data, to existing objects, etc. On query, many of you have heard about Anders Hejlsberg’s work on Language Integrated Query – and the new ADO.NET functionality will plug directly underneath so that you can use the new query patterns on any entity data, including of course now WinFS Items. &lt;/blockquote&gt;So, my personal understanding is that ObjectSpaces and C-Omega evolved and became the Integrated Query Framework, which is tightly integrated wth the CLR and the .NET languages. At the same time WinFS will be built on that, instead of using previous technology.&lt;br /&gt;So, I guess part of the reason WinFS was delayed was they found that it made more sense to wait and get it right from the beginning. Then, I am grateful!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-112538292505370755?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/112538292505370755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=112538292505370755' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112538292505370755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112538292505370755'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/08/as-i-said-where-is-winfs.html' title='As I said, where is WinFS?'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-112530061435114196</id><published>2005-08-29T03:30:00.000-04:00</published><updated>2005-09-03T09:48:04.326-04:00</updated><title type='text'>So, it wasn't that boring, Luca!</title><content type='html'>I was wondering what &lt;a href="http://blogs.msdn.com/lucabol/"&gt;Luca Bolognese&lt;/a&gt; was really doing in the C# Team after Microsoft apparently ditched ObjectSpaces.&lt;br /&gt;&lt;br /&gt;Now that the name of &lt;a href="http://blogs.msdn.com/lucabol/archive/2005/07/14/438824.aspx"&gt;.NET Language Integrated Query Framework&lt;/a&gt; has come out, I think it could be the coolest piece of software of 2006. I mean the coolest piece of software for us doing database related development.&lt;br /&gt;&lt;br /&gt;And now, what happened really to WinFS? Suddenly the pieces are fitting in place.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-112530061435114196?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/112530061435114196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=112530061435114196' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112530061435114196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112530061435114196'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/08/so-it-wasnt-that-boring-luca.html' title='So, it wasn&apos;t that boring, Luca!'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-112287311077166506</id><published>2005-08-01T01:07:00.000-04:00</published><updated>2005-09-07T10:12:27.330-04:00</updated><title type='text'>Blog Depression Booklet</title><content type='html'>Update:&lt;br /&gt;&lt;br /&gt;This is the last post included in the old site feed &lt;a href="http://diegov.blogspot.com/rss/diegov.xml"&gt;http://diegov.blogspot.com/rss/diegov.xml&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Please subscribe to the new feed: &lt;a href="http://diegov.blogspot.com/atom.xml"&gt;http://diegov.blogspot.com/atom.xml&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I found &lt;a href="http://www.thenonist.com/downloads/thenonist_blog_depression.pdf"&gt;this PDF&lt;/a&gt; file through &lt;a href="http://radio.weblogs.com/0001011/2005/07/31.html#a10795"&gt;Scoble&lt;/a&gt;. It is actually fun&lt;s&gt;, but also nice and consoling and an even more fun way&lt;/s&gt;. &lt;span style="color:#cc0000;"&gt;The darn whole paragraph stinks!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It is the first time I have the &lt;s&gt;notion&lt;/s&gt; idea &lt;span style="color:#cc0000;"&gt;(you really like cursi words, don't you&lt;/span&gt;&lt;span style="color:#cc0000;"&gt;?)&lt;/span&gt; that probably every blogger feels &lt;s&gt;its&lt;/s&gt; his/her blog sucks. &lt;span style="color:#cc0000;"&gt;Its? yeah, I know what you mean...&lt;/span&gt; It is not that it had me too worried! It has been a while since I decided I would just let my blogging flow. &lt;span style="color:#cc0000;"&gt;...And it shows!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-112287311077166506?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.thenonist.com/downloads/thenonist_blog_depression.pdf' title='Blog Depression Booklet'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/112287311077166506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=112287311077166506' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112287311077166506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112287311077166506'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/08/blog-depression-booklet.html' title='Blog Depression Booklet'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-112258452344828526</id><published>2005-07-28T16:51:00.000-04:00</published><updated>2005-07-28T23:48:30.890-04:00</updated><title type='text'>Limitations of Typed DataSets in Visual Studio 2005</title><content type='html'>The teams responsible for the new features in ADO.NET 2.0 and the typed DataSet designer included in Visual Studio 2005 deserve a good vacation. They have put a big effort on making typed DataSets a powerful foundation for our data access layers.&lt;br /&gt;&lt;br /&gt;If you choose to go the typed DataSet way now, you will be able to create most of your data access layer without writing a single line of code. You just visually pick the tables or stored procedures, define relations, create SQL queries with parameters and all the code for your DataTables and DataTableAdapers is created behind the scenes. It all gets stored in a XML schema defition file, and a tool automatically generate a set of classes from it. The generated code itself is very simple, but in my opition is efficient, and it works. Moreover, if your data schema changes, you don't have to touch a single line of code.&lt;br /&gt;&lt;br /&gt;Coupling typed DataSets with binding objects like ObjectDataSource and bindable controls like the new GridView, makes up a solutions that reminds me of Microsoft Access for its simplicity. I think this is the first time I have used a RAD tool that supports multi-tier development.&lt;br /&gt;&lt;br /&gt;I have to say, I would love to use typed DataSets for all my future development.&lt;br /&gt;&lt;br /&gt;Unfortunatelly, while normal DataSets are database engine agnostic, they forgot to teach the typed DataSet code generator (MSDataSetGenerator) about the new DBProviderFactory included in ADO.NET 2.0.&lt;br /&gt;&lt;br /&gt;So, once you have choosen your data source in design time, the code generator will produce a DataSet that is database engine specific. You can still choose the OLEDB provider, but DBProviderFactory makes a much better model for ADO.NET, because it allows you to use a native managed provider in runtime, if it is available.&lt;br /&gt;&lt;br /&gt;This is all a pity, because everything else in the DataSet is so well though. For instance, table columns and query parameters are all of database independent types. They even use Nullable&lt;t&gt; for variables that can be null. The new ConnectionString setting stores a ProviderName attribute anyway. And it only takes a couple of lines of code to create a connection or command from a DBProviderFactory. So why did they do it this way?&lt;br /&gt;&lt;br /&gt;I don't see technical reasons (maybe I am blind). So, I am suspicious that someone though: "Ok, let's make this database specific so we sell more copies of SQL Server 2005". OK, maybe Microsoft.NET makes SQL Server 2005 a more attractive SQL Server, but this doesn't work the other way.&lt;br /&gt;&lt;br /&gt;For instance, in the software development company I work for, we do database engine independent software, and we are good at it. We have had the same factory pattern for some time.&lt;br /&gt;&lt;br /&gt;Even if we love SQL Server, database independece has been always one of our top requirements. If a new customer comes to us, we will offer SQL Server to them, but in many cases, they have already a big investment in a databaes engine, and this can be any engine they like.&lt;br /&gt;&lt;br /&gt;Since source code for MSDataSetGenerator is not available, and since it is not practical to touch ourselves the generated code, we need Microsoft to tweak this for good.&lt;br /&gt;&lt;br /&gt;It is very late for this, but if you care, please, vote for this suggestion on &lt;a href="http://lab.msdn.microsoft.com/productfeedback/viewfeedback.aspx?feedbackid=4320e4f2-964f-4ffb-9d7d-bbd5099fbfbc"&gt;MSDN Feedback&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-112258452344828526?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://lab.msdn.microsoft.com/productfeedback/viewfeedback.aspx?feedbackid=4320e4f2-964f-4ffb-9d7d-bbd5099fbfbc' title='Limitations of Typed DataSets in Visual Studio 2005'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/112258452344828526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=112258452344828526' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112258452344828526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112258452344828526'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/07/limitations-of-typed-datasets-in.html' title='Limitations of Typed DataSets in Visual Studio 2005'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-112226292346724364</id><published>2005-07-24T23:32:00.000-04:00</published><updated>2005-07-27T18:31:14.093-04:00</updated><title type='text'>Codename Avalon and Indigo Beta 1 Comming Soon?</title><content type='html'>If what happened with &lt;a href="http://www.virtualearth.com"&gt;Virtual Earth&lt;/a&gt; site is any indication (the site was down for some hours before launch), I think maybe Avalon and Indigo is comming soon to, as &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=B789BC8D-4F25-4823-B6AA-C5EDF432D0C1&amp;displaylang=en"&gt;Beta 1 RC download page&lt;/a&gt; is off line.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;UPDATE: This was obvious stuff. Codename Avalon and Indigo Beta 1 &lt;=&gt; Windows Vista Beta 1.&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-112226292346724364?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.microsoft.com/downloads/details.aspx?FamilyId=B789BC8D-4F25-4823-B6AA-C5EDF432D0C1&amp;displaylang=en' title='Codename Avalon and Indigo Beta 1 Comming Soon?'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/112226292346724364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=112226292346724364' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112226292346724364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112226292346724364'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/07/codename-avalon-and-indigo-beta-1.html' title='Codename Avalon and Indigo Beta 1 Comming Soon?'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-112222431942667013</id><published>2005-07-24T12:55:00.000-04:00</published><updated>2005-07-24T13:01:32.423-04:00</updated><title type='text'>Nice British Sarcasm on Virtual Earth</title><content type='html'>The problem with Virtual Earth is that it only serves USA images. But this guy explains it much better in "&lt;a href="http://www.grayhatnews.com/node/112"&gt;Attention All Aliens&lt;/a&gt;".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-112222431942667013?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.grayhatnews.com/node/112' title='Nice British Sarcasm on Virtual Earth'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/112222431942667013/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=112222431942667013' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112222431942667013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112222431942667013'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/07/nice-british-sarcasm-on-virtual-earth.html' title='Nice British Sarcasm on Virtual Earth'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-112219316858920291</id><published>2005-07-24T03:51:00.000-04:00</published><updated>2005-07-26T00:01:17.030-04:00</updated><title type='text'>How Honest Can a Zero Bug Bounce Be?</title><content type='html'>I have mentioned before how much I like reading &lt;a href="http://www.proudlyserving.com/"&gt;Adam Barr's blog&lt;/a&gt;. This time a read &lt;a href="http://www.proudlyserving.com/archives/2005/07/communication_a_2.html"&gt;a post&lt;/a&gt; about a few bugs in Monad and a few peculiarities of communication inside the Monad team. What got my attention is these two paragraphs:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;...&lt;/p&gt;&lt;p&gt;Anyway Lee filed this bug and I resolved it back to him as "By Design", but then a few days later he opened it back up saying "We really should fix this." So I chonked it right back to him. We are nearing a milestone and need to get our bug counts down; this means that using the bug database as a form of communication works pretty well because people check their bugs often, but I also don't want bugs lurking around on my plate. &lt;/p&gt;&lt;p&gt;...&lt;/p&gt;&lt;p&gt;I could blog about it, but not much point in displaying code that I know doesn't work (I have posted some code that could be improved, like the -contains to -eq change, but at the time I posted it I thought it was right). I could file a bug, but at this stage every bug filed raises the stress level. I could email him, but it might be hard to explain. I could go talk to him, but then I wouldn't have the script on my machine to show him. Hmf. And to think that our group, for whatever reason, doesn't use Instant Messenger, or that could be another choice. &lt;/p&gt;&lt;p&gt;...&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;Now, I am currently diving in the Rational Unified Process and I have studied the Microsoft Solution's Framework in the past, but I would say I am a newbie when it comes to formal software engineering processes.&lt;br /&gt;&lt;br /&gt;However, I am convinced a bug tracking system is a critical tool. Also, I always thought that bug convergence and the zero bug bounce were concepts intended to help you identify the right time for a project to ship a release candidate and jump to the next phase.&lt;br /&gt;&lt;br /&gt;Maybe Adam is talking with a bit of irony, but I think when you begin tampering with your bug count just because you have a deadline approaching, I see no way you can avoid your product's quality from suffering. I would say it is preferable to cut features than to cut quality.&lt;br /&gt;&lt;br /&gt;Anyway, I know us developers are human, and we don't set deadlines. So let's stretch things a little bit and suppose it is ok to stop registering new bugs because your boss wants the bug count to reach zero by yesterday, or because the staff is stressed. Then, what are you going to do with the bugs you didn't register?&lt;br /&gt;&lt;br /&gt;Dishonest accountants solved this centuries ago by keeping a second set of books in the shadows. They did it because keeping accurate information of what was really happening was more important to them than evading taxes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-112219316858920291?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.proudlyserving.com/archives/2005/07/communication_a_2.html' title='How Honest Can a Zero Bug Bounce Be?'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/112219316858920291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=112219316858920291' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112219316858920291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112219316858920291'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/07/how-honest-can-zero-bug-bounce-be.html' title='How Honest Can a Zero Bug Bounce Be?'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-112218548662054588</id><published>2005-07-24T01:58:00.000-04:00</published><updated>2005-07-25T23:39:55.880-04:00</updated><title type='text'>A Little of Feedback for Virtual Earth</title><content type='html'>&lt;em&gt;UPDATE: After playing with it a little, I see some of my feedback is irrelevant. For instance, the scratchpad serves as a link collection (I don't know if you can persist it). &lt;/em&gt;&lt;br /&gt;&lt;em&gt;UPDATE 2: I am ashamed. I wish my English was better, and that I had enough time to correct this a little bit. I tend to correct my posts a few days after.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Just a few crazy ideas I am filling on VirtualEarth feedback forms: &lt;/p&gt;&lt;p&gt;What do you like about this design for Virtual Earth? &lt;/p&gt;&lt;ul&gt;&lt;li&gt;The general look is good. Labels, signs, panes, and the images themselves look great. &lt;/li&gt;&lt;li&gt;Mouse wheel support rocks! &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;What can we improve about this design for Virtual Earth? &lt;/p&gt;&lt;ul&gt;&lt;li&gt;I would like to have the option to see planet Earth as a globe instead of the projection, but this is impossible to implemente on DHTML, isn't it? &lt;/li&gt;&lt;li&gt;I would like to be able to search for a place based on cordinates. &lt;/li&gt;&lt;li&gt;I would like to be able to enter my exact cordinates in "Locate me" and maybe save a cookie. &lt;/li&gt;&lt;li&gt;Then I would like the "Locate me" button to change to a split button/drop-down, labeled "My locations", so I can go to my location on a single click. &lt;/li&gt;&lt;li&gt;Further, itegration with Passport should bring the ability to persist multiple preset locations to a server database. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;What kinds of information would you like to see on Virtual Earth? &lt;/p&gt;&lt;ul&gt;&lt;li&gt;I would like it to be very extensible. For instance I would like to be able to subscribe to some kind of location web services or xml file, the same way today you subscribe to an RSS feeds on an aggregator. &lt;/li&gt;&lt;li&gt;Then any website could publish a geocoded file or web service (in case there are too many points to map), for instance, for its branch offices, or whatever makes sense to put on a map. &lt;/li&gt;&lt;li&gt;Ideally those points should be taken and rendered at the browser. &lt;/li&gt;&lt;li&gt;This could help information from other sources to be added to the map. For instance, blogs from FeedMap. &lt;/li&gt;&lt;li&gt;Going even further, integration with passport should allow some of those geocoding feeds to be saved on a server, for later display. &lt;/li&gt;&lt;li&gt;I could even like seeing the current location of my MSN contacts. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Anything else you'd like to tell us? &lt;/p&gt;&lt;ul&gt;&lt;li&gt;I am impressed with Virtual Earth. However, it is a little sad that in this first iteration the zoom levels for most cities I have lived in, are even poorer that on Google Maps, Google Earth or NASA's World Wind.&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/5930129-112218548662054588?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://virtualearth.msn.com' title='A Little of Feedback for Virtual Earth'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/112218548662054588/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=112218548662054588' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112218548662054588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112218548662054588'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/07/little-of-feedback-for-virtual-earth.html' title='A Little of Feedback for Virtual Earth'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-112218247263395372</id><published>2005-07-24T01:16:00.000-04:00</published><updated>2005-07-24T01:21:12.636-04:00</updated><title type='text'>Virtual Earth is Online</title><content type='html'>I was seeing the &lt;a href="http://www.virtualearth.com"&gt;whttp://www.virtualearth.com&lt;/a&gt; was down after reading the &lt;a href="http://www.micropersuasion.com/2005/07/links_for_20050_7.html"&gt;post by Seteve Rubel&lt;/a&gt;, but then I guessed that if they were going to go online on monday they would do it at &lt;a href="http://virtualearth.msn.com/"&gt;http://virtualearth.msn.com/&lt;/a&gt;. And there they are!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-112218247263395372?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://virtualearth.msn.com/' title='Virtual Earth is Online'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/112218247263395372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=112218247263395372' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112218247263395372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112218247263395372'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/07/virtual-earth-is-online.html' title='Virtual Earth is Online'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-112191718877171412</id><published>2005-07-20T23:19:00.000-04:00</published><updated>2005-07-20T23:39:48.776-04:00</updated><title type='text'>Don't let us down again with the new Hotmail</title><content type='html'>I remember when I heard they were about to upsize Hotmail accounts from 2MB to some big number.&lt;br /&gt;&lt;br /&gt;I want all of you to know that in most countries in Latinamerica that never happened. The reason? I guess there must be more than one, but I believe the most important is that MSN has been selling &lt;em&gt;Hotmail Max&lt;/em&gt; in Latinamerica for some time. &lt;br /&gt;&lt;br /&gt;Hotmail Max is a paid (cheap) service that enhances Hotmail basic services in various ways, includding storage capacity.&lt;br /&gt;&lt;br /&gt;No matter how successful they have been on this, companies that decided not to discriminate the Latinamerican market like Google and Yahoo are getting a larger stake of it everyday, and I hope MSN will revise their plans with the &lt;a href="http://www.activewin.com/articles/2005/beta_mail.shtml"&gt;upcomming version of Hotmail&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Apparently everybody else will get now 2 GB wich is on pair with GMail. Good! But I don't believe it until I see it on my mail box.&lt;br /&gt;&lt;br /&gt;A note for those that tend to see evil on everthing Microsoft does: Microsoft believes in selling software and services. That pays their bills. They don't completely buy, as of yet, &lt;a href="http://blogs.sun.com/roller/page/jonathan/"&gt;Jonathan Schwartz's&lt;/a&gt; "Free software is like TV" model. When they decided to give out Internet Explorer for free and later to bundle it with the operating system, they did it because they had no other chance. Everybody else was doing it already.&lt;br /&gt;&lt;br /&gt;Hotmail has been an exception. They bough a free email company, and they saw the value of it. But don't expect them to give you something for free just because you think it is cool.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-112191718877171412?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.activewin.com/articles/2005/beta_mail.shtml' title='Don&apos;t let us down again with the new Hotmail'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/112191718877171412/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=112191718877171412' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112191718877171412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112191718877171412'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/07/dont-let-us-down-again-with-new.html' title='Don&apos;t let us down again with the new Hotmail'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-112191596884110035</id><published>2005-07-20T22:39:00.000-04:00</published><updated>2005-07-21T02:00:32.063-04:00</updated><title type='text'>Fascinated by AJAX</title><content type='html'>I know I am not early to the party, but it is on purpose. I refused to blog about this before because I don't want to give anybody the false impression that I am a cool geek.&lt;br /&gt;&lt;br /&gt;Anyway, I am seeing more and more AJAX (Asyncronous Javascript and XML, more less)applications emerge, and I since yesterday I see some AJAX in my future.&lt;br /&gt;&lt;br /&gt;I am glad someone (yes, Microsoft, but also some independent developers) have listened to the call for an abstraction layer that will enable all of us to create richer experiences in Web applications.&lt;br /&gt;&lt;br /&gt;By the way, Google is cool, but Microsoft has made some of the best AJAX applications I have ever seen. It just came to my mind the day I found MSDN replaced its Java based content tree with a DHTML based one. I am not sure this is AJAX as we conceive it today, but how many years ago was that? Six? And when did they come up with DHTML, eight years ago?&lt;br /&gt;&lt;br /&gt;Now that I saw the light, I am really looking forward for &lt;a href="http://weblogs.asp.net/scottgu/archive/2005/06/28/416185.aspx"&gt;Project Atlas&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-112191596884110035?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/112191596884110035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=112191596884110035' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112191596884110035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112191596884110035'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/07/fascinated-by-ajax.html' title='Fascinated by AJAX'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-112097951453855175</id><published>2005-07-10T01:34:00.000-04:00</published><updated>2005-07-13T00:29:45.436-04:00</updated><title type='text'>About OS/2 and the 850 million Microsoft paid IBM</title><content type='html'>&lt;p&gt;&lt;em&gt;Update: I cannot avoid editing this article, mostly because I see in my stats that a few (even from inside IBM) are reading it. I don’t want to change at all the sense of what I wrote, but I feel I have to correct mistakes and improve the style and tone of it in order to make it readable.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;I received today the Stardock Magazine by email, and it contains a link to an article in which Stardock’s Brad Wardell discusses some of his experiences as an OS/2 developer and the deal that Microsoft and IBM have just cut: &lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;...&lt;/p&gt;&lt;p&gt;Birthdays, anniversaries, whatever, I have trouble remembering. But OS/2 2.0’s release date is burned into my mind. And for the subsequent 6 years, I devoted nearly every waking hour to making OS/2 succeed. It wasn’t about money. It wasn’t about business. It was a cause. OS/2 was my cause. It was a better way of doing things. Some people get wrapped up in ideologies. Other people go on religious crusades. I was on an OS crusade. &lt;/p&gt;&lt;p&gt;And we lost. Badly. &lt;/p&gt;&lt;p&gt;Another date I remember well was Fall of 1996. That was when Microsoft release Windows NT 4.0. And within a year, the OS/2 market died. Microsoft’s effective FUD (fear, uncertainty, and doubt) combined with IBM’s unwillingness to strongly back OS/2 made it ripe to be toppled over by Windows NT 4.0 which, while not as good as OS/2 Warp 4, was "good enough" and had good industry support. &lt;/p&gt;&lt;p&gt;By 1998, our once thriving company was laying people off and struggling to survive. And I wasn’t a 20 year old college student anymore. I was 26, married, with a young son. I had responsibilities to my family and my employees. We limped our way into the Windows market, tail between our legs. Nowadays, we’re a pure Microsoft shop. .NET solutions across the board. Microsoft SQL. Microsoft Office. Our company makes a great demonstration of Microsoft solutions now. Which is pretty ironic since we were once OS/2 zealots. I’m not a Windows zealot today. I’m not even a Windows advocate really. It’s just business. &lt;/p&gt;&lt;p&gt;The romanticism of OS technology has warn off and there’s nothing as relatively cutting edge as OS/2 was back then. So now I don’t really think of the OS choice much beyond market share and what makes good business sense. Now it’s about the software WE make. I am still dedicated to a cause -- making stuff that enables people to use their computers however they want. And I want to make software that is cool and useful. That’s where software like Object Desktop and now ThinkDesk comes in. &lt;/p&gt;&lt;p&gt;So today IBM and Microsoft announced that they’re closing the books on that uglyness that was OS/2. Almost 10 years after Windows 95 was released, Microsoft is paying IBM off to not sue them over all the "unpleasantness" that Microsoft was involved in to ensure that 95%+ of you are using Microsoft Windows instead of IBM OS/2. We’ll never know if we would have been better off if OS/2 had won out instead of Windows. But at least IBM got to recoup some of their costs for trying. &lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Are you kidding? Do you call what IBM did "trying"? Well, maybe the tried, but they also gave up miserably. I understand how it will always be so cool for you to write "Microsoft" and "FUD" on the same phrase, however, as an ex OS/2 zealot, I disagree with you, 80%. &lt;/p&gt;&lt;p&gt;By 1988, I did programming and support for an organization that had tens PS/2 and PC computers connected on a Token Ring LAN. I was 18 and it was my first job. Even the servers ran PC DOS 3.30 and the PC LAN Program 1.3 (I think those were the version numbers). &lt;/p&gt;&lt;p&gt;I remember when one day, a new box with a few diskettes came to my hands. -"Try this", they told me. I was able to install and try OS/2 1.1, but it was very difficult to make the networking work. I remember I had the feeling that I was for the first time seeing a real operating system running on a PC. It also left me very frustrated. &lt;/p&gt;&lt;p&gt;On my second job, by 1991, I also worked in the same network, but this time I was hired by a company that provided much of the hardware and software for it. The network eventually grew to hundreds of nodes, and became a WAN using FDDI. Performance of file sharing database (Clipper based) applications on PC LAN Program was getting really bad. &lt;/p&gt;&lt;p&gt;OS/2 1.3 came to rescue. I remember being there with my boss the day we installed OS/2 1.3 on the new PS/2 Model 90 (or were them 95?) servers. It was the nicest piece of software, and the nicest piece of hardware that I had ever seen. Performance went up like a rocket. That was probably the greatest triumph I remember from that job, and I am sure for my boss it also meant a lot. &lt;/p&gt;&lt;p&gt;OS/2 was still the product of collaboration between Microsoft and IBM. OS/2 GUI, Presentation Manager was very resembling of Windows 2.x, a DOS GUI program I only knew because of Excel. I think version 1.3 was vastly optimized by IBM alone (or was it 1.4?). It included a 32 bit version of HPFS that installed in case you had a i386 or i486. I must say it worked like a breeze. &lt;/p&gt;&lt;p&gt;By the time Windows 3.0 was out, I was a deeply convinced OS/2 zealot. No way an "inferior product" like Windows was going to win in the long run, it was just impossible. &lt;/p&gt;&lt;p&gt;OS/2 2.0, the first fully 32 bit version of OS/2 came out late, but it was wonderful. I still remember the cover of BYTE magazine. IBM had gathered a great team for OS/2 2.0. They had such a great vision they didn’t know very well when the product was ready to ship. They kept adding more and more sophistication. On the technical side, as a fan of Object Oriented Programming, version 2.0 was full of interesting things to look at under the hood. Its compatibility with legacy software was also incredible. &lt;/p&gt;&lt;p&gt;Maybe it wasn’t a better Windows than Windows itself, but it was very close, and it was clearly a better DOS than DOS, and the best OS/2 ever. The Workplace Shell was not very polished and it was inconsistent at times, but it showed promise. &lt;/p&gt;&lt;p&gt;During 1993 and 1994, I had access to beta versions of OS/2 3.0 (Warp). I don’t remember if it was a formal beta or if somebody at IBM found a way to make the diskettes reach my hands. I saw the betas improve so much that, I was one of the first in my city to buy it when it was released. It was around USD 69 I think, and I wanted it for my home computer. &lt;/p&gt;&lt;p&gt;I was the last time I saw a new version of an operating improve its performance so much on the same hardware. &lt;/p&gt;&lt;p&gt;"Warp" helped to consolidate on us OS/2 zealots the feeling that we were on the right side and Microsoft was on the wrong side. We were sad and skeptic every time Microsoft made any progress. &lt;/p&gt;&lt;p&gt;For instance, we knew 1995 was the year of Chicago, the much improved Windows 95 that was supposed to steal much of the innovation made on the user interface of OS/2. But we were not too worried because Chicago was going to be just a DOS shell. OS/2, on the other side, was a full 32 bit operating system, and it was the best. &lt;/p&gt;&lt;p&gt;I must admit, I needed to be defeated first, so I could realize how ridiculous it is to be an OS zealot. &lt;/p&gt;&lt;p&gt;The first time I saw Windows 95, I just knew Microsoft were going to win the battle. It was simpler, more consistent, it performed better, it came with better hardware support, it used only the best UI artifacts found on OS/2 but also had some innovations of its own. Even if it was a DOS Shell it was 32 bit in most areas and multitasked relatively well. I saw it was a winner, but at first I didn’t see it as an OS/2 killer. &lt;/p&gt;&lt;p&gt;At the beginning I though OS/2 were going to survive, just not as a dominant platform. SMP was on the way and IBM was porting it to the Power PC Platform, which was poised to eventually displace the PC. &lt;/p&gt;&lt;p&gt;After that, we only got disappointments and more mistakes. OS/2 proved impossible or very difficult to port. The Power PC was abandoned, for no known reason. &lt;/p&gt;&lt;p&gt;Microsoft had an absolutely great team doing the architecture of their Windows NT (original though was OS/2 NT). Those people weren’t believers of using hand tuned assembler code in operating system, but of building hardware abstraction layers and designing operating systems to be portable. Ironically Microsoft got a commercial version of NT to work on the Power PC, something that IBM never fully accomplished with OS/2. &lt;/p&gt;&lt;p&gt;Now I think IBM lost this OS war by itself. Microsoft didn’t win it because of FUD, it just battled better on every front. While Microsoft was able to attract a lot of developer support. IBM just abandoned OS/2 development, like they abandoned every other related initiative, like Open Doc, Power PC, etc. I guess they fired every developer years before they publicly admitted they weren’t going to fight.&lt;/p&gt;&lt;p&gt;A few years later, Windows 2000 was, in my opinion, the first version of Windows NT that was better than OS/2 in every area. &lt;/p&gt;&lt;p&gt;The last time I saw OS/2 running was during a trip to Italy, I think during 1999 or 2000. My wife and I came to a train station and bought a ticket on an automated kiosk. When I saw the light yellow text and list boxes and the "^" and "v" shaped scrollbar buttons on that screen, I almost cried. &lt;/p&gt;&lt;p&gt;Let me be clear on this: I hated it when I learned that Microsoft bullied OEMs not to distribute Netscape. I think this kind of practice should be illegal in every industry, in any country, by any company. &lt;/p&gt;&lt;p&gt;But I think what happened to OS/2 was absolutely different. &lt;/p&gt;&lt;p&gt;Microsoft wasn’t the bad guy. They weren’t kicking a poor old man, but a stronger giant that would have loved to do the same to them. They simply were faster, smarter, successful, whatever. Eventually, it became almost impossible to buy a new PC with OS/2 preloaded, even from IBM. &lt;/p&gt;&lt;p&gt;Besides, I don’t think it is our mission as mere mortals to lick the wounds of big corporations. It was the case of two very capitalistic big companies fiercely competing. Neither needed our consolation. &lt;/p&gt;&lt;p&gt;So, the question is: What were the stakes for us zealots on it? &lt;/p&gt;&lt;p&gt;I mean, if you contribute to an open source operating system like Linux or FreeBSD, you have a clear justification to be zealot. After all, you have your beloved code in it. But why were we so passionate about OS/2? Why did we hate Microsoft so much? Was it because OS/2 was a "better way of doing things"? &lt;/p&gt;&lt;p&gt;Then I think we were probably a bunch of pathetic OS fascists. &lt;/p&gt;&lt;p&gt;About the USD 850 million Microsoft gave to IBM, I think it is just because Microsoft today prefers to donate the money to competitors in the tech industry than give it to the lawyers. They must be so sick of litigations! &lt;/p&gt;&lt;p&gt;But this doesn’t make this end any fair or happy, in my opinion. IBM does not deserve the money. Certainly, IBM is a company I could not trust again. &lt;/p&gt;&lt;p&gt;The best they can do is to distribute the money among people like Brad Wardell that &lt;a href="http://www.stardock.com/stardock/articles/article_sdos2.html"&gt;dedicated their time and own money&lt;/a&gt; to a cause IBM embarked them on, just to abandon them in the middle of the journey. They could also give some to the original developers that made OS/2 one of the best PC operating systems of its time. And they could also give me 2 dollars, for my 2 cents. &lt;/p&gt;&lt;p&gt;If you think IBM should release their OS/2 source code, sign the petition &lt;a href="http://www.os2world.com/petition/"&gt;here&lt;/a&gt;. It wouldn’t bother me that Microsoft allowed the parts that they co-own to be released too. I think &lt;a href="http://www.ecomstation.com/"&gt;Serenity Systems&lt;/a&gt; would still have a business model (maybe a better one) if OS/2 source code were to be released. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-112097951453855175?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.wincustomize.com/Articles.aspx?AID=80027' title='About OS/2 and the 850 million Microsoft paid IBM'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/112097951453855175/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=112097951453855175' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112097951453855175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112097951453855175'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/07/about-os2-and-850-million-microsoft.html' title='About OS/2 and the 850 million Microsoft paid IBM'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-111571525415328381</id><published>2005-07-01T18:34:00.000-04:00</published><updated>2005-09-24T13:58:58.636-04:00</updated><title type='text'>I don't agree with Bill Gates on H-1B Visas</title><content type='html'>I read a couple of months ago about &lt;a href="http://news.zdnet.com/Gates+wants+to+scrap+H-1B+visa+restrictions/2100-3513_22-5687039.html?part=rss&amp;tag=feed&amp;amp;subj=zdnn"&gt;Bill Gates remarks&lt;/a&gt; on the H-1B visas cap in the USA. While I can understand how he and other technology industry leaders got to think this way, I strongly disagree.&lt;br /&gt;&lt;br /&gt;Like in many countries, in USA there seem to be plenty of people that think that foreign workers are stealing their jobs (look at the comments on the &lt;a href="http://news.zdnet.com/Gates+wants+to+scrap+H-1B+visa+restrictions/2100-3513_22-5687039.html?part=rss&amp;tag=feed&amp;amp;subj=zdnn"&gt;ZDNet's article&lt;/a&gt; for a sample). Most seem to feel fear, anger and hate. I don't agree with them either.&lt;br /&gt;&lt;br /&gt;I am not American, and I am not thinking about going to work to USA. I am currently a foreign worker in the wrong country I would say, because here wages are very low compared to the cost of living.&lt;br /&gt;&lt;br /&gt;My problem with H-1B visas is that it engenders the status of a second rate citizen, somebody that needs to comply to whatever her/his sponsor wants. It is not easy to switch to a different job if you go to the USA this way. Whatever mistake you make, or whatever changes with your job status (the company breaks, or your job requirements change, for instance), you will probably need to leave the country.&lt;br /&gt;&lt;br /&gt;So this creates a deep distortion in the labor market. H-1B workers do not compete with American workers. They come from the beginning for lower wages that Americans would not accept. Corporations do not need to keep them happy like they need to do with the nationals. They have bargained for quasi-slaves instead. In my view, in this area the power of corporations has gained terrain over basic rights and law.&lt;br /&gt;&lt;br /&gt;It rings an alarm to see Gates, an otherwise true philanthropist in my opinion, saying that he would eliminate the cap. He is, I think, defending the interest of his corporation over what is right.&lt;br /&gt;&lt;br /&gt;I would say instead, eliminate the H-1B Visas altogether. And, if American tech corporations want access to the global market pool, replace H-1B for something that convert temporary foreign workers in immigrant workers and first rate citizens under the law. This will level the playing field, at least inside the borders.&lt;br /&gt;&lt;br /&gt;So foreign workers will tend expect a higher income, closer to what natives have. And they will switch companies at will. There will be true competition.&lt;br /&gt;&lt;br /&gt;American workers, and for the case, people from all developed countries in which income is over the average, will be still exposed to the uncertainties of off-shoring. This is the reason they need to support policies in their countries that help leveling the playing field all around the world.&lt;br /&gt;&lt;br /&gt;This is a serious problem. They should act today or their children will face a very hard laboral environment.&lt;br /&gt;&lt;br /&gt;Free your mind of fear, anger and hate. Stop the double standards. Welcome empathy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-111571525415328381?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://news.zdnet.com/Gates+wants+to+scrap+H-1B+visa+restrictions/2100-3513_22-5687039.html?part=rss&amp;tag=feed&amp;subj=zdnn' title='I don&apos;t agree with Bill Gates on H-1B Visas'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/111571525415328381/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=111571525415328381' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/111571525415328381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/111571525415328381'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/07/i-dont-agree-with-bill-gates-on-h-1b.html' title='I don&apos;t agree with Bill Gates on H-1B Visas'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-112014767396550065</id><published>2005-06-30T11:12:00.000-04:00</published><updated>2005-07-01T18:26:51.523-04:00</updated><title type='text'>How to recover source code from your old VBA projects</title><content type='html'>Yes, I have been on blog vacations, or hiatus for the Nth time. I have much going on in my life, but I just don't feel like writing lately. Not every day.&lt;br /&gt;&lt;br /&gt;Anyway, I have just found by myself a solution for a long standing problem, and I wanted to share in on the web, just in case somebody else needs it. The fact is that I have googled a lot for a solution for this, and I have found the same question formulated several times, but never an useful answer.&lt;br /&gt;&lt;br /&gt;Now, straight to the story...&lt;br /&gt;&lt;br /&gt;Some years ago, using Office 2000 Developer (or was it Office XP Developer?) I created a little Outlook addIn that helped me remove duplicate mail items with ease.&lt;br /&gt;&lt;br /&gt;If you are wondering why did I need that, there are several possible reasons. Think about POP3 server request that timeout too fast and download the same emails on each retry. It happens to me all the time with large attachments in my GMail account. Another reason would be odd rules in Outlook that creat create duplicate emails.&lt;br /&gt;&lt;br /&gt;On the days of Office 2000 and XP Microsoft used to provide the option to create addIns straight from within VBA. Those projects were saved as .VBA files and you could also compile them to DLLs. That functionality used to come with the Developer Edition of Office.&lt;br /&gt;&lt;br /&gt;Later, when Office 2003 came out, this functionality was cut. I mean, Office 2003 Developer Edition does not exist at all. What exist is Access 2003 Developer Extensions, which covers most, but not all the Access related functionality found in previous Developer Editions, and Visual Studio Tools for Office, which is a brand new creature.&lt;br /&gt;&lt;br /&gt;Among the most important features that Microsoft left orphaned on Office 2003 I can mention:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Access - Source Safe Integration (which was fortunatelly addressed more recently via a &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=2ea45ff4-a916-48c5-8f84-44b91fa774bc&amp;displaylang=en"&gt;free download&lt;/a&gt;) &lt;/li&gt;&lt;li&gt;The ability to create compilable, self contained VBA Projects and Office addIns. &lt;/li&gt;&lt;/ul&gt;I am not really interested in continuing the development of my "remove duplicates" addIn as a VBA project, as this is clearly obsolete technology. But I recently found a few bugs on it, and I wanted to get access to the original source code in order to migrate it to VSTO. But, I haven't been able to see the source code since support for VBA projects was discontinued.&lt;br /&gt;&lt;br /&gt;Mine is a really simple addIn, but I am too lazy to write it again. So, being laziness the mother of invention (or, er... hacking), this is what I found today:&lt;br /&gt;&lt;br /&gt;Off all Microsoft Office 2003 applications, there is at least one that allows you to create macros in VBA but don't have an application specific file format: FrontPage. Instead of defining a proprietary file format, FrontPage allows you to edit standard HTML and related files, so I guessed FrontPage had to save VBA macros somewhere else. Yes, you guessed it! It saves its macros in a file called "Microsoft FrontPage.fpm" in %USERPROFILE%\Application Data\Microsoft\FrontPage\Macros.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Update: A few minutes after posting this, I found that I could have used Outlook's own VbaProject.OTM, with the advantage that the code could possibly run. &lt;/em&gt;&lt;br /&gt;&lt;br /&gt;A simple binary comparison revealed that both the .FPM file and my old .VBA shared the same header format. Hmmm.... So the .FPM file uses the same conspicuous self contained format that .VBA projects used!&lt;br /&gt;&lt;br /&gt;The obvious solution was to temporarily rename the .FPM and to copy my VBA project to the same folder with name "Microsoft FrontPage.fpm". Next you open FrontPage, you go to the Tools menu, Macro, Visual Basic Editor, voilaÃ¡, your VBA code is back.&lt;br /&gt;&lt;br /&gt;I copied it to a text file, closed FrontPage and restored the files to their original names and locations. Enough for today. Lazinesss rules!&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Disclaimer: if you want to reproduce the steps described above, and you make a mistake, you are on your own. &lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;PS: Isn't it amazing how many problems you can solve by temporarily renaming files? I have found quite a few otherwise unsolvable problems with SQL Server and Outlook that I could solve this way. Well, they are otherwise unsolvable because I don't have access to source code!&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;PS2: I plan to publish the lame code for this addIn in a future post. Maybe when I am able to port it to VSTO I will publish both sources and a detailed comparison.&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-112014767396550065?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/112014767396550065/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=112014767396550065' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112014767396550065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/112014767396550065'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/06/how-to-recover-source-code-from-your.html' title='How to recover source code from your old VBA projects'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-111838314457571680</id><published>2005-06-10T01:46:00.000-04:00</published><updated>2005-06-10T01:59:04.580-04:00</updated><title type='text'>Microsoft giving some goods for free, based on customer feedback</title><content type='html'>A few days ago, I learned trough &lt;a href="http://timheuer.com/blog/archive/2005/05/12/1786.aspx"&gt;Tim Heuer's blog&lt;/a&gt; that Microsoft has decided to include a Team System Server for 5 users with each copy of Visual Studio Team System. That is great. A testimony to how much a company can improve customer relationships just by listening (mostly listening to what is said in the blogsphere).&lt;br /&gt;&lt;br /&gt;Also, today I learned that &lt;a href="http://www.microsoft.com/presspass/exec/flessner/06-07Tech-Ed05.mspx"&gt;Reporting Services&lt;/a&gt; is going to be included in every version of SQL Server 2005, even in the Express edition (without the report builder). Oh dude! That is great news, and the good thing to do. A reporting runtime that will be everywhere and will be used by everybody was born.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-111838314457571680?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/111838314457571680/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=111838314457571680' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/111838314457571680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/111838314457571680'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/06/microsoft-giving-some-goods-for-free.html' title='Microsoft giving some goods for free, based on customer feedback'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-111838153238778612</id><published>2005-06-10T01:03:00.000-04:00</published><updated>2005-06-10T02:31:16.860-04:00</updated><title type='text'>My entry on the "Blog your way to the PDC" contest</title><content type='html'>So, now I have to explain why I would like to go to the PDC?&lt;br /&gt;&lt;br /&gt;First, the same reasons the others want to go: It is the best place to learn about the present and future of software development for the Microsoft platforms (although, a &lt;a href="http://www.geekcruises.com"&gt;Geek Cruise&lt;/a&gt; would be good enough ;)).&lt;br /&gt;&lt;br /&gt;Second, the place is going to be filled with bloggers I read every day. Some of them are like rock stars to me. I want to meet them in person for once. By the way, is the Don Box Band playing this year?&lt;br /&gt;&lt;br /&gt;I have never been in such a major event, but in local dev days in Argentina and in conferences in the Dominican Republic. &lt;br /&gt;&lt;br /&gt;If I win, however, I would like to buy a Tablet PC and blog the PDC in real-time, but in Spanish (yes, my Spanish is WAY BETTER than my English). That would be, I think, a nice way to share the gift with the community. &lt;br /&gt;&lt;br /&gt;I can think of other ways. What about writing some code with the new tools and publishing some articles in both Spanish and English? Well, were you going to ask me for proof that I can actually do that, you would put me in trouble because I am not doing it at present. But I know I could do fine.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://channel9.msdn.com/pdc/pdcfriends.aspx?contest=true"&gt; &lt;br /&gt;   &lt;img src="http://channel9.msdn.com/pdc/Flairs/Blogmyway-v.jpg" border="0" alt="blogging my way to pdc" /&gt; &lt;br /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Ok, I know I am not going to win this contest... But, what the hell? Choose me!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-111838153238778612?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://channel9.msdn.com/ShowPost.aspx?PostID=74816' title='My entry on the &quot;Blog your way to the PDC&quot; contest'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/111838153238778612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=111838153238778612' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/111838153238778612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/111838153238778612'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/06/my-entry-on-blog-your-way-to-pdc.html' title='My entry on the &quot;Blog your way to the PDC&quot; contest'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-111808512995195918</id><published>2005-06-06T14:54:00.000-04:00</published><updated>2005-06-06T15:12:09.956-04:00</updated><title type='text'>Microsoft to be third Transitive customer?</title><content type='html'>I woke up to late to the Internet today, and everybody is talking about Apple's inminent switch to Intel hardware. I read a few articles about it, and the rumor is that the main reason is the DRM hardware support included in upcomming Pentium D processors. Fascinating. I wonder how is this related to Paladium. They also mention future video iPods, which Apple has hinted int the past were a terrible idea. So, were Apple playing pocker then or is industry journalism too dizzy today? Only time will tell.&lt;br /&gt;&lt;br /&gt;Reports also mention Apple will be liscencing &lt;a href="http://www.transitive.com/customers.htm"&gt;Transitive&lt;/a&gt; hardware virtualization technology to ease the transtition of Mac OSX applications to the new processor. This company is said to claim that it can run anything on any platform without performance penalties (uh?). Fascinating also.&lt;br /&gt;&lt;br /&gt;Even if I my last crystal ball prediction (that Google would buy Skype within a month, more than a month ago) was incorrect or perhaps too much ahead of time, I will risk again. Transitive &lt;a href="http://www.transitive.com/customers.htm"&gt;says in its site&lt;/a&gt; that they have "engaged with six of the world’s largest computer companies", but they can only tell about one, &lt;a href="http://www.transitive.com/customers_sgi_success.htm"&gt;SGI&lt;/a&gt;. The also add:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Transitive expects to announce that a second computer OEM will deploy products enabled by its technology during the 1st half of 2005 and that others will deploy QuickTransit before the end of the year. Unfortunately, strict confidentiality obligations prevent us from discussing these relationships in any detail.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;So, if the the second would be Apple (to be probably officialy announced today), my guess is that the third and four would be Microsoft and Sony, that would use Transit for XBOX 360 and PlayStation 3 respectively. Let's wait an see what happens.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-111808512995195918?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.transitive.com/customers.htm' title='Microsoft to be third Transitive customer?'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/111808512995195918/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=111808512995195918' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/111808512995195918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/111808512995195918'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/06/microsoft-to-be-third-transitive.html' title='Microsoft to be third Transitive customer?'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-111675169792479082</id><published>2005-05-22T04:44:00.000-04:00</published><updated>2005-05-23T03:48:01.246-04:00</updated><title type='text'>Rory doesn't like Episode III</title><content type='html'>Gorge Lucas directing, &lt;a href="http://neopoleon.com/blog/posts/14280.aspx"&gt;according to Rory&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;George: OK - cut!&lt;br /&gt;Actor: Cut? I was just practicing for when we actually do the scene. I didn’t know we were filming yet.&lt;br /&gt;George: Good enough!&lt;br /&gt;Actor: But I was reading from the script! It was in my hands the whole time!&lt;br /&gt;George: Fine. We’ll Photoshop it out later. We’ll stick an ewok in there or something.&lt;br /&gt;Actor: You can’t do that! It’s going to look like I have my hand up the ewok’s ass.&lt;br /&gt;George: Good point. We’ll make it look surprised.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/blockquote&gt;Hehehe! Well said, but I still like it.&lt;br /&gt;&lt;br /&gt;I never understand how two people can disagree so much about a movie when they think alike in other matters. I guess the thing is I watched the movie with a more "naive" attitude, on purpose. I do not have the same mindset when I see something from David Lynch or even Martin Scorsese. So yes, I would never put any episode from Star Wars in my Top 10 movies of all time, yet I feel free to enjoy most of them.&lt;br /&gt;&lt;br /&gt;Well, at least I see that &lt;a id="_ctl0__ctl3_CommentList__ctl8_NameLink" href="http://www.25hoursaday.com/weblog" target="_blank"&gt;Dare Obasanjo&lt;/a&gt; and &lt;a id="_ctl0__ctl3_CommentList__ctl9_NameLink" href="http://www.sellsbrothers.com/" target="_blank"&gt;Chris Sells&lt;/a&gt; think more like me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-111675169792479082?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://neopoleon.com/blog/posts/14280.aspx' title='Rory doesn&apos;t like Episode III'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/111675169792479082/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=111675169792479082' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/111675169792479082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/111675169792479082'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/05/rory-doesnt-like-episode-iii.html' title='Rory doesn&apos;t like Episode III'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-111674890248876416</id><published>2005-05-22T03:13:00.000-04:00</published><updated>2005-05-22T19:42:18.746-04:00</updated><title type='text'>Star Wars Episode III</title><content type='html'>After reading all the critics I was sure I was to hate this movie. But I was wrong.&lt;br /&gt;&lt;br /&gt;For instance I read from the critics that the dialogs were unspeakable. The movie is an epic story, a tragedy, about ancient alien civilizations. So, what do you expect to hear, accent and manners from Missouri, Shakespeare? Dialogs are ok.&lt;br /&gt;&lt;br /&gt;They say that scenes in which Padmé and Anakin are alone together are impossible to believe. In my opinion this is not true. I think they show what the movie demands, which is a woman loving a deeply troubled guy. &lt;a href="http://www.imdb.com/name/nm0000204/"&gt;Natalie Portman&lt;/a&gt; makes the most of her role, which is just the right size. &lt;a href="http://www.imdb.com/name/nm0000191/"&gt;Ewan McGregor&lt;/a&gt; does such a great Obi-Wan, &lt;a href="http://www.imdb.com/name/nm0000027/"&gt;Alec Guinness&lt;/a&gt; himself would love it. &lt;a href="http://www.imdb.com/name/nm0159789/"&gt;Hayden Christensen&lt;/a&gt; is not bad as Anakin, I don't know what the problem is supposed to be. That he looks weak of temper, uncarismatic, sometimes pathetic? I think that is exactly the idea.&lt;br /&gt;&lt;br /&gt;Not to insult the actors, but do you really remember how the first movie was? I mean, Episode IV? It was a joke compared to this movie, the acting (besides &lt;a href="http://www.imdb.com/name/nm0000148/"&gt;Harrison Ford&lt;/a&gt; and &lt;a href="http://www.imdb.com/name/nm0000027/"&gt;Alec Guinness&lt;/a&gt;), the effects (I actually don't care much about FX)... In general, the execution was amateur compared to this movie.&lt;br /&gt;&lt;br /&gt;I am not too fond of the science fiction genre, but I think Star Wars is ok because it is an epic story at the same time. My favorites are Episode II, III and V and I wish Geroge Lucas had the time and the wish to make Episode I and VI again, but without the darn critters.&lt;br /&gt;&lt;br /&gt;I am looking forward to "Episode III and a half" wich I am almost sure Lucas has in mind. More on Obi-Wan and Han Solo story maybe?&lt;br /&gt;&lt;br /&gt;Well, I saw the movie today. Let's wait until tomorrow to see what happens.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-111674890248876416?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.starwars.com/' title='Star Wars Episode III'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/111674890248876416/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=111674890248876416' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/111674890248876416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/111674890248876416'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/05/star-wars-episode-iii.html' title='Star Wars Episode III'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-111631128489086109</id><published>2005-05-17T02:16:00.000-04:00</published><updated>2005-05-17T02:33:53.286-04:00</updated><title type='text'>Windows 'Eiger' to support legacy hardware</title><content type='html'>I found many interesting news today at &lt;a href="http://www.activewin.com"&gt;ActiveWin&lt;/a&gt;. The one that blows my mind was about codename Eiger, a new 'lean' Windows XP version that is in the works.&lt;br /&gt;&lt;br /&gt;This is exactly the answer to my previous &lt;a href="http://diegov.blogspot.com/2005/05/64-bit-computing-and-legacy-hardware.html"&gt;post&lt;/a&gt; in which I explained why I felt Microsoft needed to pay more attention to legacy hardware.&lt;br /&gt;&lt;br /&gt;Here is an excerpt from the Microsoft-Watch &lt;a href="http://www.microsoft-watch.com/article2/0,1995,1815438,00.asp"&gt;article&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;"We have a set of customers running old PCs and old operating systems even as old as Windows 95," said Barry Goffe, a Windows group product manager. "These customers are primarily concerned about security, though some also are concerned about improving the manageability and TCO (total cost of ownership) of these systems." &lt;/p&gt;&lt;p&gt;Eiger will bring these users up to par with the level of security provided by XP Service Pack 2, Goffe said. It won't include the XP help and support content, wireless networking support and certain operating services found in XP, however. &lt;/p&gt;&lt;p&gt;Eiger will run on legacy systems with as little as 64MB of RAM, a Pentium-class processor and 500 MB hard drive. Eiger is designed to replace Windows 95, Windows 98 and NT 4 Workstation running on these systems.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Sounds great so far. But then it says: &lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;"Eiger is not a general-purpose operating system. It can't run games, office-productivity software or line-of-business applications," he said. "We'll tell users that these kinds of things won't run well in this environment."&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Hmmm... Hey, guess what you are missing? Either Microsoft also builds a 'lean' version of Office, or those users will run &lt;a href="http://www.openoffice.org"&gt;someone else&lt;/a&gt; software on 'Eiger'.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-111631128489086109?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.microsoft-watch.com/article2/0,1995,1815438,00.asp' title='Windows &apos;Eiger&apos; to support legacy hardware'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/111631128489086109/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=111631128489086109' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/111631128489086109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/111631128489086109'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/05/windows-eiger-to-support-legacy.html' title='Windows &apos;Eiger&apos; to support legacy hardware'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-111545116617201922</id><published>2005-05-07T03:25:00.000-04:00</published><updated>2005-05-07T12:14:34.780-04:00</updated><title type='text'>Please include MFC and ATL with Visual C++ Express and Visual C++ Toolkit</title><content type='html'>I left this comment on &lt;a href="http://blogs.msdn.com/aprilr/archive/2005/04/16/408831.aspx#comments"&gt;AprilR's blog&lt;/a&gt; a few days ago:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;I am a pro developer, but I don't use C++ as often as I wish during the day. So, I recently found that I could play with the language by getting involved in some open source projects. I found an interesting group that produces a free program for Windows. &lt;/p&gt;&lt;p&gt;While getting acquainted with this area of the “ecosystem”, I learned how much the community appreciates your recent release of the C++ Toolkit and the upcoming Express version. &lt;/p&gt;&lt;p&gt;Free or inexpensive software is necessarily built with free or inexpensive tools. In this case, using a commercial compiler had been limiting the reach of the project among developers. However, there is a big challenge: Big chunks of Visual C++ the product relies on, namely MFC and ATL, are absent from the “free” versions. &lt;/p&gt;&lt;p&gt;I can see why Microsoft would consider those libraries only belong to the professional version of Visual C++. But reality is that if MFC and ATL are not available, some existing projects like the one I have mentioned have few chances but to look somewhere else for alternatives. New free software projects have scarce motivation to target Microsoft tools and platforms. &lt;/p&gt;&lt;p&gt;I have also seen a huge number of compiling errors while porting from the Visual C++ 2003 to Visual C++ 2005 Beta 2. It seems that better ISO conformance, while a great feature, makes lots of errors surface. Perhaps you could add better aid tools for this task, even if it out of cycle. Thanks. Diego.&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-111545116617201922?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/111545116617201922/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=111545116617201922' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/111545116617201922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/111545116617201922'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/05/please-include-mfc-and-atl-with-visual.html' title='Please include MFC and ATL with Visual C++ Express and Visual C++ Toolkit'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-111545072023139583</id><published>2005-05-07T03:05:00.000-04:00</published><updated>2005-05-07T11:53:17.423-04:00</updated><title type='text'>More on Visual Studio Team pricing estimates</title><content type='html'>A few days ago I saw the video in wich Rick Laplante explains the issues on &lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=62073"&gt;Channel9&lt;/a&gt;. I have been thinking in the background about it, so I want to give some shameless feedback.&lt;br /&gt;&lt;br /&gt;I think you are wrong when you say that nobody will really pay for the full price, that that is retail, etc. This is exactly what prices are for, or setting how much people have to pay for the goods. Simple is beautiful. So, please, keep it simple.&lt;br /&gt;&lt;br /&gt;Also, as far as I understand, the problem with the prices is that they do not scale. A small independent consulting company with one to two developers should be able to get the product for a lot less. On the other side, a company with 1000 developers that will use the whole capacity of the Team Server should probably pay more.&lt;br /&gt;&lt;br /&gt;Also, unit testing and some other selected features should be on all packages.&lt;br /&gt;&lt;br /&gt;That's all.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-111545072023139583?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/111545072023139583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=111545072023139583' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/111545072023139583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/111545072023139583'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/05/more-on-visual-studio-team-pricing.html' title='More on Visual Studio Team pricing estimates'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-111526193316067880</id><published>2005-05-04T22:57:00.000-04:00</published><updated>2005-05-07T12:31:10.560-04:00</updated><title type='text'>My wild prediction: Google will announce it buys Skype in less than a month</title><content type='html'>Directly from my crystal ball. This one is very easy. Unless there is a big impediment, &lt;a href="http://www.google.com"&gt;Google&lt;/a&gt; will (or should) buy Skype. It has bought other cool companies in the past, like Picasa and Blogger. Besides, they need a good messenger to complete the model an compete with Microsoft and Yahoo.&lt;br /&gt;&lt;br /&gt;Also, I think &lt;a href="http://www.skype.com/products/skypein/"&gt;SkypeIn&lt;/a&gt; will be really big, do you agree?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-111526193316067880?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.skype.com' title='My wild prediction: Google will announce it buys Skype in less than a month'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/111526193316067880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=111526193316067880' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/111526193316067880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/111526193316067880'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/05/my-wild-prediction-google-will.html' title='My wild prediction: Google will announce it buys Skype in less than a month'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-111510222170111412</id><published>2005-05-03T01:58:00.000-04:00</published><updated>2005-05-03T21:31:36.230-04:00</updated><title type='text'>64-bit computing and legacy hardware support: The two sides of the Windows fence</title><content type='html'>&lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=64036"&gt;Here&lt;/a&gt; is &lt;a href="http://radio.weblogs.com/0001011/"&gt;Scoble&lt;/a&gt; calling for nominations for Team 99, some kind of "external evangelists" group that will provide Microsoft with feedback on Longhorn and will also help with "communicating the good news" about the OS.&lt;br /&gt;&lt;br /&gt;I posted there a link to my blog, in case somebody will want to nominate me. However, I am not expecting this to happen, as I am not very well known. I don't care. I usually give my feedback just because poorly worked software pieces (not only from Microsoft) annoy me a lot.&lt;br /&gt;&lt;br /&gt;There are a few things interesting in the discussion following Scoble's post:&lt;br /&gt;&lt;br /&gt;&lt;a class="namelink" id="template__ctl0_PostFlatView__ctl0_PostRepeater__ctl15__ctl0__ctl0_NameLink" title="Andre Da Costa" href="http://spaces.msn.com/members/adacosta/"&gt;Andre Da Costa&lt;/a&gt; says:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;Ok, if any of you get to become a part of this Team, try and deal with some of issues facing Windows today. Try and think beyond the average user base, think about Windows world wide. I am from a third world country where its still difficult to buy a PC because of cost. Try to think about how Windows can better conform to the needs of these economies or how Microsoft can better meet the needs of users in these countries through programs such as Starter Edition.&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Good! Very good! I have spent a lot of time to thinking about this, and I agree completely. Microsoft needs to pay more attention to this.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://channel9.msdn.com/User/Profile.aspx?UserID=10"&gt;Scoble&lt;/a&gt; replies (to me): &lt;/p&gt;&lt;blockquote&gt;Diego: yup, and on the other side of the fence, Paul Mooney just reminded me not to forget 64-bit enthusiasts too. &lt;/blockquote&gt;&lt;br /&gt;Well, that is very important too. On one hand, if MS doesn't get 64-bit computing right with Longhorn, it will certainly loose some market to Linux and others.&lt;br /&gt;&lt;br /&gt;But if they don't get legacy hardware support better than in the past... Well I wouldn't want anybody at Microsoft to get the idea that those millions of old government computers around the world will stick to Windows 98 and 2000. It is more likely that they will switch to Linux instead. And with them will go many developers all around the world.&lt;br /&gt;&lt;br /&gt;It has been typical of Microsoft to push the hardware envelope on each new version of Window and this way they have increased their revenue and helped the hardware industry at the same time. Historically, most Windows copies have been sold on brand new computers, but year over year, the size of the installed base has grown.&lt;br /&gt;&lt;br /&gt;This time, maybe the balance has shifted enough. Maybe it is time what is good for Microsoft is not exactly what is good for hardware makers. I mean, people would be happier paying for software, hadn't they have to pay for hardware upgrades so often.&lt;br /&gt;&lt;br /&gt;What I would like to see is a very secure, manageable and stable version of Windows that is light enough to run on the same hardware that used to be the Windows 2000 baseline. It doesn't really matter if it is not very beautiful. It is enough that it runs Office, Internet Explorer and Terminal Server Client well.&lt;br /&gt;&lt;br /&gt;I am cool with Microsoft adding 10 million lines of code to Windows on every new version, if they let people disable or avoid installing the heavier parts of it. For instance, I agree Avalon makes a lot of sense, and it is understandable that it will need serious GPU power and large amounts of video RAM. But I would like that XAML applications were able to "degrade gracefully" on older hardware.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-111510222170111412?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://channel9.msdn.com/ShowPost.aspx?PostID=64707' title='64-bit computing and legacy hardware support: The two sides of the Windows fence'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/111510222170111412/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=111510222170111412' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/111510222170111412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/111510222170111412'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/05/64-bit-computing-and-legacy-hardware.html' title='64-bit computing and legacy hardware support: The two sides of the Windows fence'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-111475808320897777</id><published>2005-04-29T02:33:00.000-04:00</published><updated>2005-05-03T21:33:29.836-04:00</updated><title type='text'>Being your father's software support</title><content type='html'>I have been my father's primary technical support for years and I always enjoy helping him learn new ways to more efficiently use his computer.&lt;br /&gt;&lt;br /&gt;During my recent stay in Argentina, I spent many hours wrestling with his computer.&lt;br /&gt;&lt;br /&gt;In brief, with a lot of dedication on my part, the condition of the computer went from crashing half of the times it initiated a dial-up connection, to not being able to recognize the modem. On my last night at home, I managed to change it from a very unsafe Windows XP SP1 installation to a very "hardened" Windows XP SP2 that wouldn't boot. I had to leave before I was able to fix it!&lt;br /&gt;&lt;br /&gt;Now, I know that my father loves me, but at the same time, I think he doesn't deserve to go through this.&lt;br /&gt;&lt;br /&gt;I am blogging about it today, a few months later, because I have just learned how even &lt;a href="http://www.proudlyserving.com/archives/2005/04/can_the_general.html"&gt;Adam "The Proud" Barr&lt;/a&gt; gets in trouble when he tries to help his father with his computer:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;When I was back in Montreal, my father had some trouble with his computer. This seems to happen a lot. What's frustrating is that although I used to be able to help him, these days I almost never can. &lt;/p&gt;&lt;p&gt;These incidents all follow the same pattern. First he tells me about something he is unable to do, usually involving networking. I confess that I have no inside knowledge, but I'll take a look. I futz around with it a bit. We both get frustrated because it appears that Microsoft has deliberately made it difficult to do something. I explain that there probably was a good reason for why it was designed the way it was, but the logic escapes me at the moment. Eventually we get it working, or not. &lt;/p&gt;&lt;p&gt;For example, this last time he had just purchased a new laptop and wanted to share&lt;br /&gt;files between them. When I want to share files I usually bypass the GUI and run "NET SHARE" on the server and "NET USE" on the client. This has always worked, except for a slight blip with older Windows 9x clients that didn't let you specify the username and always tried to connect to the server as "Guest". &lt;/p&gt;&lt;p&gt;On his new XP SP2 machine, however, it didn't work. It turns out you have to run a wizard of some sort first. And even better, you have to run the wizard on your older, pre-XP-SP2 machines. Which is a bit difficult when your pre-XP-SP2 machine is a laptop with no CD drive, and filesharing isn't working because that's the problem you're trying to solve. &lt;/p&gt;&lt;p&gt;This is especially frustrating because I worked on NT networking for many years. There's probably still some of my 15-year-old code rattling around in there. But when I sniff it, all you see is the server returning some unhelpful error message. So it looks like the wizard you are run tweaks some magic bit somewhere to say "yes, it's OK to share files from this computer". But of course I have no idea what exactly it does, and there is no documentation that tells you. &lt;/p&gt;&lt;/blockquote&gt;&lt;br /&gt;My own father is not Ph.D in Math, but a Master in Economics, and he has been using a PC for the last 20 years. I am not up to the stature of Mr. Barr (for instance, I have never seen a single line of Windows Networking source code), but I am a professional developer and I am usually successful getting computers to do what I want.&lt;br /&gt;&lt;br /&gt;I am sending a link to Mr. Barr's post to my father tonight. I hope it will help in restoring his appreciation for me :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-111475808320897777?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.proudlyserving.com/archives/2005/04/can_the_general.html' title='Being your father&apos;s software support'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/111475808320897777/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=111475808320897777' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/111475808320897777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/111475808320897777'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/04/being-your-fathers-software-support.html' title='Being your father&apos;s software support'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-111460911718220331</id><published>2005-04-27T09:30:00.000-04:00</published><updated>2005-04-27T09:38:37.183-04:00</updated><title type='text'>Blogger Spamming</title><content type='html'>So far I have only seen "comment spamming" in blogs. But yesterday night, after posting a couple of articles I saw something new to me on my referrals.&lt;br /&gt;&lt;br /&gt;Blogger is hosting blogs like dcl1, fantasyfootballcontests, 1replicarolexwatches (I removed the links to avoid increasing their pagerank), that are filled with random crap. Well, I know most other blogs are ;).&lt;br /&gt;&lt;br /&gt;Wow, how can something like this get unnoticed?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-111460911718220331?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.blogger.com' title='Blogger Spamming'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/111460911718220331/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=111460911718220331' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/111460911718220331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/111460911718220331'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/04/blogger-spamming.html' title='Blogger Spamming'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-111457795112167876</id><published>2005-04-27T00:55:00.000-04:00</published><updated>2005-04-27T01:52:21.423-04:00</updated><title type='text'>MSDN Survey</title><content type='html'>Today I filled a survey for MSDN. It included a long list of features that MSDN could eventually implement, and asked me to assess the value of each of them.&lt;br /&gt;&lt;br /&gt;I also filled a free text field in the survey with my magnificent prose:&lt;br /&gt;&lt;blockquote&gt;I wonder myself if MSDN should really try to be all things to everybody as the comprehensive list of potential features contained in this survey suggest.&lt;br /&gt;&lt;br /&gt;On one hand it would be interesting to see all of this integrated under the same roof, with users/developers having their profiles and avatars, workspace tools, discussion forums, the chance to publish their own content, and even a social network inside MSDN.&lt;br /&gt;&lt;br /&gt;But at the same time those features seem to be in good hands on non-Microsoft sites (SourceForge, CodeProject, etc), while others are doing well on other Microsoft sites&lt;br /&gt;(GotDotNet, Channel9, etc.).&lt;br /&gt;&lt;br /&gt;It is a little bit of a philosophical question, but can MSDN “embrace and extend” the concept of “developer community” without killing the “community” part of it?&lt;br /&gt;&lt;br /&gt;Well, if you have plenty of resources, just implement all of this and then wait to see if developers come.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-111457795112167876?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://msdn.microsoft.com' title='MSDN Survey'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/111457795112167876/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=111457795112167876' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/111457795112167876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/111457795112167876'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/04/msdn-survey.html' title='MSDN Survey'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-111457652727592171</id><published>2005-04-27T00:07:00.000-04:00</published><updated>2005-04-27T02:34:24.176-04:00</updated><title type='text'>The Party is Over: Visual Studio 2005 Pricing Estimates</title><content type='html'>&lt;em&gt;&lt;strong&gt;Update:&lt;/strong&gt; I see now that the conversation has started, but I wasn't paying attention. Go discuss this with the VSTS team on &lt;/em&gt;&lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=62073"&gt;&lt;em&gt;Channel9&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;From &lt;a href="http://www.theserverside.net/news/thread.tss?thread_id=33494&amp;amp;News04_26_05-click"&gt;TheServerSide.NET&lt;/a&gt;, today:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;The estimates for the Visual Studio 2005 editions are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Visual Studio 2005 Team Suite,&lt;br /&gt;Retail: $10,939/year, Renewal: $4,598/hr &lt;/li&gt;&lt;li&gt;Visual Studio 2005 Team Edition for Software Architects,&lt;br /&gt;Retail: $5,469/year, Renewal: $2,299/yr &lt;/li&gt;&lt;li&gt;Visual Studio 2005 Team Edition for Software Developers,&lt;br /&gt;Retail: $5,469/year, Renewal: $2,299/hr &lt;/li&gt;&lt;li&gt;Visual Studio 2005 Team Edition for Testers,&lt;br /&gt;Retail: $5,469/year, Renewal: $2,299/hr &lt;/li&gt;&lt;li&gt;Visual Studio 2005 Professional with MSDN Premium Subscription,&lt;br /&gt;Retail: $2,499/year, Renewal: $1,999/hr &lt;/li&gt;&lt;li&gt;Visual Studio 2005 Professional with MSDN Professional Subscription,&lt;br /&gt;Retail: $1,199/year, Renewal: $799/hr&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;&lt;br /&gt;Yes, of course the "/hr" are typos!&lt;br /&gt;&lt;br /&gt;I don't know what the price is for the competing products Microsoft is targeting with VSTS (Rose anybody?). But I think this table must look as a bad joke, even for a profitable American company. Just imagine how it looks from the point of view of a software company in the third world.&lt;br /&gt;&lt;br /&gt;Also, I agree with &lt;a href="http://www.simplegeek.com/PermaLink.aspx/01e62d7d-908e-4639-94bf-334ce0a2bddd"&gt;Chris Anderson&lt;/a&gt; and others that the way the feature set of the different editions of TS has been chosen seems to be broken. For instance, Architect edition does not contain testing features.&lt;br /&gt;&lt;br /&gt;I guess it is the second time I see Microsoft making an expensive product that very few in the world will use. Last time was Content Management Server.&lt;br /&gt;&lt;br /&gt;Now it is clear that the challenge for developers in the rest of the world is to become Visual Studio Express editions heroes, or simply to switch to friendlier, free software platforms. While the Express editions will be affordable, you will need to be a very lucky developer to ever smell the Team System in the course of your life.&lt;br /&gt;&lt;br /&gt;All I wonder is if this is what Lenn Pryor meant when he &lt;a href="http://lennpryor.blogs.com/lenn/2005/04/goodbye_microso.html"&gt;wrote&lt;/a&gt; "I just couldn't go on being an evangelist for a gospel that I don't believe I can sing." while leaving Microsoft.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-111457652727592171?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.theserverside.net/news/thread.tss?thread_id=33494&amp;News04_26_05-click' title='The Party is Over: Visual Studio 2005 Pricing Estimates'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/111457652727592171/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=111457652727592171' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/111457652727592171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/111457652727592171'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/04/party-is-over-visual-studio-2005.html' title='The Party is Over: Visual Studio 2005 Pricing Estimates'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-111433469382142715</id><published>2005-04-24T04:44:00.000-04:00</published><updated>2005-04-24T05:31:18.260-04:00</updated><title type='text'>Scoble and Ballmer on Microsoft's and anti-discriminatory issues</title><content type='html'>&lt;p&gt;Robert Scoble has been &lt;a href="http://radio.weblogs.com/0001011/2005/04/23.html#a9919"&gt;posting&lt;/a&gt; about a story related to two Microsoft's gay employees that has surfaced recently. He also shows a recent &lt;a href="http://radio.weblogs.com/0001011/stories/2005/04/23/steveBallmersEmailAboutAntidiscriminationBill.html"&gt;Steve Ballmer's memo&lt;/a&gt; about the issue.&lt;/p&gt;&lt;p&gt;As it often happens, I agree with Robert on this social matter. However, I think I also understand Ballmer's position. &lt;/p&gt;&lt;p&gt;If you do some research, you will probably find that 45% of Microsoft’s employees are fascists in one way or another. What about stakeholders? The Americans? Mexicans? Italians? Citizens of the world? You probably don't want to know! &lt;/p&gt;&lt;p&gt;On the other hand, countries only adopt policies when the need is perceived as significant in demographic terms. It usually takes too much time, and in the meanwhile you will have casualties. Companies only do it when even higher levels of consensus are reached.&lt;/p&gt;&lt;p&gt;Microsoft having a fairly complete anti-discriminatory policy is a great start. The fact that much of the matter is left to the individual in many countries is not so great, but it is to be expected, given the current state of the world.&lt;/p&gt;&lt;p&gt;That is not to say stop worrying and stop supporting gay rights, or any other often-discriminated group rights. On the contrary, it means what you say or do is even more important.&lt;/p&gt;&lt;p&gt;On a side note, and this is just my opinion, Robert's answer to the memo is very dramatic, but he missed the chance to ask Ballmer's for greater *personal* involvement in the matter.&lt;/p&gt;&lt;p&gt;Ballmer is saying that he and Gates would put their name on this, but they cannot put Microsoft’s name on this, because they don’t “own” every Microsoft “soul” out there, which is very right. Robert, I think this is a good chance. This is how leadership works sometimes.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-111433469382142715?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://radio.weblogs.com/0001011/2005/04/23.html#a9919' title='Scoble and Ballmer on Microsoft&apos;s and anti-discriminatory issues'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/111433469382142715/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=111433469382142715' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/111433469382142715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/111433469382142715'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/04/scoble-and-ballmer-on-microsofts-and.html' title='Scoble and Ballmer on Microsoft&apos;s and anti-discriminatory issues'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-111414877637966675</id><published>2005-04-22T00:57:00.000-04:00</published><updated>2005-04-22T02:08:54.763-04:00</updated><title type='text'>Feedback to Microsoft: Windows cannot chew gum and copy large files at the same time</title><content type='html'>There is one very simple scenario in which Windows sucks, and there should be a simple solution for this: copying large files.&lt;br /&gt;&lt;br /&gt;Just try doing something else while you copy a really large file (for instance a CD image). If your system is like mine -I have a Pentium 4 at 3.4GHz with Hyper-threading, and still a 7200 RPM ATA100 disk with 2MB cache (and a 74 GB Raptor coming really soon!)- you will probably want to go for some coffee. Because the computer will get on its knees.&lt;br /&gt;&lt;br /&gt;This happens if you do it from Windows Explorer or from the command line, to the same disk, between two disks, to or from a network disk, inside the same partition or between two different partitions. You can experience this on Windows XP or on Windows Server, regardless of the "Processor Scheduling" setting.&lt;br /&gt;&lt;br /&gt;You will not see a culprit process listed on Task Manager, so you cannot downgrade its priority. There is no way to pause a file copy, so you better plan on advance and call a friend to have the coffee together.&lt;br /&gt;&lt;br /&gt;Chances are that if you use SCSI or SATA with some kind of instruction queue you will see better performance. But I bet it will still be annoying.&lt;br /&gt;&lt;br /&gt;So, what use is a multitasking operating system that cannot multitask?&lt;br /&gt;&lt;br /&gt;What I suggest is:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Throttle disk activity. Nothing should disrupt a decent client or server operating system from servicing user requests on a timely manner. Think QoS. Think how easy it is to perform a DoS attack on a Windows based Terminal Server today.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Improve file operation progress dialogs, providing controls for assigning different levels of priority and for pausing. Do you really think that the cancel button is enough? Similar options should be added to the command line.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;I can think of many other things, but if they only implemented these two, it would be great.&lt;br /&gt;&lt;br /&gt;Do you know of an existing solution for this? How other operating systems handle this scenario. Thanks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-111414877637966675?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/111414877637966675/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=111414877637966675' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/111414877637966675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/111414877637966675'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/04/feedback-to-microsoft-windows-cannot.html' title='Feedback to Microsoft: Windows cannot chew gum and copy large files at the same time'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-111363029651474512</id><published>2005-04-16T01:37:00.000-04:00</published><updated>2005-04-17T22:10:48.846-04:00</updated><title type='text'>This blog is not dead</title><content type='html'>Yeah, it is suffering, but not dead. I have been out of this, half on purpose, half by accident, but for enough time. I have been "mentally blogging" many things these days, but wasn't sure my voice was worthy of being published. So, today I have nothing particular to say, but I want to blog just for the sake of staying in the search engines and in the pages of the few people that has nicely linked to me.&lt;br /&gt;&lt;br /&gt;All I have to say is that today I got connected to the Internet after moving to a new apartment and after a few days of experiencing a completely off-line life. My son is becoming 4 years old on Sunday. Life is great.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-111363029651474512?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/111363029651474512/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=111363029651474512' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/111363029651474512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/111363029651474512'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/04/this-blog-is-not-dead.html' title='This blog is not dead'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-110650963560081425</id><published>2005-01-23T15:16:00.000-04:00</published><updated>2005-01-23T16:20:36.770-04:00</updated><title type='text'>Doing tourism in my own country</title><content type='html'>Today I ate a delicious Bife Chorizo (New York Strip) for only 8 dollars! With everybody out of the city on vacation, Buenos Aires is a nice place to walk. So I am burning a lot of calories while whistling &lt;a href="http://www.kevinjohansen.com.ar/Mp3.htm"&gt;"Puerto Madero"&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;However, I am missing my family too much to enjoy it more. I am bored, and tired. Right now, I am in a cyber in Florida Street, paying around 0.33 dollars an hour for a broadband connection. I plan to walk, buy some Argentinean books and also some music.&lt;br /&gt;&lt;br /&gt;Regarding music, I would like to know what is new and good. Regarding literature, my education ended before I finished reading all Cortazar's and Soriano work, so it is hard to choose something to read. There are many other names I am interested in, like Artl, Borges, Bioy Casares, Sábato, but I know I am forgetting many more. It doesn't even have to be an Argentinean author. Darn, I have received a lot of advice lately about new things to read, but I just have bad memory...&lt;br /&gt;&lt;br /&gt;Ok, I think I will stay here and read &lt;a href="http://figuraciones.blogspot.com/"&gt;Figuraciones&lt;/a&gt; for a while. I am sure I share a lot with Juan Alberto regarding tastes, so I will take his word as advice.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-110650963560081425?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/110650963560081425/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=110650963560081425' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/110650963560081425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/110650963560081425'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2005/01/doing-tourism-in-my-own-country.html' title='Doing tourism in my own country'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-110415520447559468</id><published>2004-12-27T09:33:00.000-04:00</published><updated>2004-12-27T09:46:44.476-04:00</updated><title type='text'>Tsunami accounts</title><content type='html'>I have just read blogs posts from people that have lived through the Asian tsunami, &lt;a href="http://evelynrodriguez.typepad.com/crossroads_dispatches/2004/12/slammed_by_tida.html"&gt;here&lt;/a&gt;, &lt;a href="http://blogs.vbcity.com/shandy/archive/2004/12/27/535.aspx"&gt;here&lt;/a&gt; and &lt;a href="http://weblogs.asp.net/pleloup/archive/2004/12/27/332577.aspx"&gt;there&lt;/a&gt;. Also the report by &lt;a href="http://www.cnn.com/2004/WORLD/asiapcf/12/27/asia.quake/index.html"&gt;CNN&lt;/a&gt;. Tsunamis have been my worst nightmare all my life, not for any particular reason. I lived most of my life protected of the ocean by high mountains. I have been trough earthquakes, though. I cannot even grasp the level of pain this has caused to so many.&lt;br /&gt;&lt;br /&gt;Thanks to &lt;a href="http://radio.weblogs.com/0001011/2004/12/27.html#a9050"&gt;Scoble&lt;/a&gt; for the links. And by the way Robert, &lt;a href="http://radio.weblogs.com/0001011/2004/12/26.html#a9036"&gt;your previous post&lt;/a&gt; really looked bad in the context of more than 10,000 (now 21,000) people dead. You better accept it. However, I still don't think you are really insensitive. Perhaps you didn't wake up to it at first.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-110415520447559468?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/110415520447559468/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=110415520447559468' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/110415520447559468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/110415520447559468'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2004/12/tsunami-accounts.html' title='Tsunami accounts'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-110411771067110414</id><published>2004-12-26T23:19:00.000-04:00</published><updated>2004-12-27T09:31:18.860-04:00</updated><title type='text'>I found something better than blogging</title><content type='html'>Clues:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I think it is the ideal hobby for any geek.&lt;/li&gt;&lt;li&gt;I get a lot of wonderful peer feedback.&lt;/li&gt;&lt;li&gt;I would be absolutely happy if I got paid for it.&lt;/li&gt;&lt;li&gt;I would do it full time.&lt;/li&gt;&lt;li&gt;It is not sex.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-110411771067110414?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/110411771067110414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=110411771067110414' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/110411771067110414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/110411771067110414'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2004/12/i-found-something-better-than-blogging.html' title='I found something better than blogging'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-110386145361011244</id><published>2004-12-23T23:58:00.000-04:00</published><updated>2004-12-24T00:33:24.433-04:00</updated><title type='text'>Why am I selling my car in my blog and buying a SUV?</title><content type='html'>&lt;p&gt;Coincidently, Robert is &lt;a href="http://radio.weblogs.com/0001011/2004/12/23.html#a8991"&gt;driving a SUV&lt;/a&gt;, and giving good &lt;a href="http://www.gladwell.com/2004/2004_01_12_a_suv.html"&gt;arguments&lt;/a&gt; against it. I agree with him. It reminds me of when Philip Greenspun &lt;a href="http://blogs.law.harvard.edu/philg/2003/09/23"&gt;compared Java with SUVs&lt;/a&gt;. Of course, compared with SUVs, Java is not abominable at all. &lt;/p&gt;&lt;p&gt;I have considered SUVs a monstrosity for years, and I am craving for a new &lt;a href="http://www.mazdausa.com/MusaWeb/handleHomeFlash.action?vehicleCode=MZ3&amp;amp;modelYear=2005"&gt;Mazda3&lt;/a&gt; right now. &lt;/p&gt;&lt;p&gt;All that said, I have been living in the city of Santo Domingo for two years. There are so many SUVs here that it is unsafe to go out driving in my tiny sedan. It kills my nerves everytime my wife goes out in it with my young son. Add to this the terrible condition of the pavement, and the very aggressive driving style of the natives (and the well adapted non-natives). &lt;/p&gt;&lt;p&gt;Those are the reasons I am selling my car today, &lt;a href="http://diegov.blogspot.com/2004/12/taking-advantage-of-my-pagerank.html"&gt;in my blog&lt;/a&gt;, and looking for a SUV right now.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-110386145361011244?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://radio.weblogs.com/0001011/2004/12/23.html#a8991' title='Why am I selling my car in my blog and buying a SUV?'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/110386145361011244/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=110386145361011244' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/110386145361011244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/110386145361011244'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2004/12/why-am-i-selling-my-car-in-my-blog-and.html' title='Why am I selling my car in my blog and buying a SUV?'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-110384784548905157</id><published>2004-12-23T20:24:00.000-04:00</published><updated>2004-12-24T00:13:52.776-04:00</updated><title type='text'>Taking advantage of my PageRank?</title><content type='html'>I want to sell my car, a Chrysler Neon 1996. I don't have much time because I am travelling soon. I tried to upload it to a &lt;a href="http://www.supercarros.com.do"&gt;local car selling site&lt;/a&gt; but it is taking time. So I decided to make the experiment of selling it in my blog. I will see what happens, and I will take this post down on a later date.&lt;br /&gt;&lt;br /&gt;The car works well, it has good mateinance (I found a great garage owned by two brazilians), and even when it has &lt;a href="http://diegov.blogspot.com/2004/01/we-need-new-car.html"&gt;had a crash&lt;/a&gt;, the engine wasn't touched and the repair was so good, now it runs better than before the crash. I am asking a little less than what others are asking for this car here, that is RD$ 150,000.&lt;br /&gt;&lt;br /&gt;See for yourself. It is not a new car, not jewelry, but if you live in Santo Domingo, it is great value for your money.&lt;br /&gt;&lt;br /&gt;For more details, see my email address in my &lt;a href="http://www.blogger.com/profile/2081914"&gt;Profile&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/img/255/907/1024/P1020300.jpg"&gt;&lt;img src="http://photos1.blogger.com/img/255/907/400/P1020300.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/img/255/907/1024/P1020309.jpg"&gt;&lt;img src="http://photos1.blogger.com/img/255/907/400/P1020309.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/img/255/907/1024/P1020310.jpg"&gt;&lt;img src="http://photos1.blogger.com/img/255/907/400/P1020310.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/img/255/907/1024/P1020312.jpg"&gt;&lt;img src="http://photos1.blogger.com/img/255/907/400/P1020312.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-110384784548905157?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/110384784548905157/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=110384784548905157' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/110384784548905157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/110384784548905157'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2004/12/taking-advantage-of-my-pagerank.html' title='Taking advantage of my PageRank?'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-110325901232054468</id><published>2004-12-17T00:50:00.000-04:00</published><updated>2005-06-30T12:40:18.043-04:00</updated><title type='text'>Manu</title><content type='html'>&lt;p&gt;What drives an Argentinean geek to check the &lt;a href="http://www.nba.com/games/20041215/ORLSAS/recap.html"&gt;NBA news&lt;/a&gt;? to the &lt;a href="http://www.nba.com/spurs/"&gt;San Antonio Spurs site&lt;/a&gt;? &lt;a href="http://www.manuginobili.com/"&gt;Manu Ginobili&lt;/a&gt; does. Everybody loves Manu, and one gets this need to congratulate him for caring so much about what he does.&lt;/p&gt;&lt;p&gt;Updated June 30th, 2005: I have noticed in my stats that many women (I assume), living specially in Texas, come to my blog by searching things like "does Manu Ginobili have a wife?". Well, I don't want to spoil it Manu, but yes girls, I think he does ;)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-110325901232054468?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.nba.com/games/20041215/ORLSAS/recap.html' title='Manu'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/110325901232054468/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=110325901232054468' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/110325901232054468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/110325901232054468'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2004/12/manu.html' title='Manu'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-110321586721833196</id><published>2004-12-16T13:31:00.000-04:00</published><updated>2004-12-17T23:42:09.763-04:00</updated><title type='text'>Is this real realpolitik?</title><content type='html'>&lt;p&gt;I was looking for a nice definition of realpolitik in English, and I go to &lt;a href="http://realpolitik.us/archives/001957.php#001957"&gt;this post&lt;/a&gt; and &lt;a href="http://realpolitik.us"&gt;this blog&lt;/a&gt;. I haven't checked the video referred by the post by myself, but in it, a Muslim preacher in a Mosque located in Germany says:&lt;/p&gt;&lt;blockquote&gt;These Germans, these atheists, these Europeans don't shave under their arms and their sweat collects under their hair with a revolting smell and they stink... Hell lives for the infidels! Down with all democracies and all democrats! &lt;/blockquote&gt;&lt;p&gt;Reminds me of the sad events that happened in the Netherlands regarding the murder of Theo Van Gogh. It is sad that in a country so tolerant the intolerant find a place to preach their hate.&lt;/p&gt;&lt;p&gt;My view is that the video exposes what the extreme right of the Islam thinks about the rest of the world. First clue: It is not at all different of what the extreme right thinks, regardless of country or culture: My cause is the cause of god, yours is the cause of evil. Second clue: Extreme ideology is self-justifying, and once you are inside, you just can't see the alternatives.&lt;/p&gt;&lt;p&gt;This is the reason that the owner of that blog chooses to think his biased politic view can be categorized as realpolitik. While I appreciate that he is not as extreme and cartoonesque as the preacher, I think it cannot.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-110321586721833196?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://realpolitik.us' title='Is this real realpolitik?'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/110321586721833196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=110321586721833196' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/110321586721833196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/110321586721833196'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2004/12/is-this-real-realpolitik.html' title='Is this real realpolitik?'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-110317100837601171</id><published>2004-12-16T01:23:00.000-04:00</published><updated>2004-12-17T23:45:26.123-04:00</updated><title type='text'>Hewlett Packard Pavilion zd8000 is out</title><content type='html'>&lt;img src="http://hpshopping.speedera.net/www.shopping.hp.com/shopping/images/products/zd8000chassis_a_400.jpg" /&gt;&lt;br /&gt;&lt;p&gt;It seems that I will still need around US$ 3000 to get the Laptop I want. I have been thinking, however, that maybe it is time to jump to a 64 bits machine. Any 17" Laptops with AMD64 CPU that you would recommend?&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-110317100837601171?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.shopping.hp.com/webapp/shopping/computer_series.do?series_name=zd8000_series&amp;catLevel=2&amp;category=notebooks/hp_pavilion&amp;storeName=computer_store' title='Hewlett Packard Pavilion zd8000 is out'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/110317100837601171/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=110317100837601171' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/110317100837601171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/110317100837601171'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2004/12/hewlett-packard-pavilion-zd8000-is-out.html' title='Hewlett Packard Pavilion zd8000 is out'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-110316988467954905</id><published>2004-12-15T23:56:00.000-04:00</published><updated>2004-12-17T23:42:49.333-04:00</updated><title type='text'>Idea for improving Microsoft Office</title><content type='html'>Now that is clear that it is ok to shamelessly clone ideas, and specially now that &lt;a href="http://www.microsoft.com"&gt;Microsoft&lt;/a&gt; and &lt;a href="http://www.sun.com"&gt;Sun&lt;/a&gt; are &lt;a href="http://www.eweek.com/article2/0,1759,1560645,00.asp"&gt;friends&lt;/a&gt;... While I was reading about &lt;a href="http://marketing.openoffice.org/2.0/featureguide.html#enduser"&gt;improvements in OpenOffice.org 2.0 &lt;/a&gt;, I found one that in my opinion Microsoft's product really needs:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;Recently-used file list extended to 10 items &lt;/p&gt;&lt;/blockquote&gt;For me 4 items is not enough. I loose a lot of time navigating my huge folder structure because my recent files are not at hand. I don't care if there is a supported setting, or perhaps a registry hack somewhere (is it, anywhere?) I want it to be by default 10, at least.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-110316988467954905?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://marketing.openoffice.org/2.0/featureguide.html#enduser' title='Idea for improving Microsoft Office'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/110316988467954905/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=110316988467954905' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/110316988467954905'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/110316988467954905'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2004/12/idea-for-improving-microsoft-office.html' title='Idea for improving Microsoft Office'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-110316886684445002</id><published>2004-12-15T23:37:00.000-04:00</published><updated>2004-12-16T19:32:27.320-04:00</updated><title type='text'>Reasons to use OpenOffice</title><content type='html'>Going to &lt;a href="http://tbray.org/ongoing/When/200x/2004/12/13/WhyOOo"&gt;Tim Bray's blog&lt;/a&gt; a few seconds ago, I found &lt;a href="http://www.pc-tools.net/comment/openoffice/"&gt;this comment&lt;/a&gt; about the reasons to use &lt;a href="http://www.openoffice.org/"&gt;OpenOffice.org&lt;/a&gt; software.&lt;br /&gt;&lt;br /&gt;I would like to add the sole reason that makes me install it in my computer:&lt;br /&gt;&lt;br /&gt;OpenOffice is a great for opening corrupted files that otherwise brutally crash Microsoft Office applications.&lt;br /&gt;&lt;br /&gt;This i what I usually do when I have a problem:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Setup OpenOffice.&lt;/li&gt;&lt;li&gt;Open my corrupted file.&lt;/li&gt;&lt;li&gt;Save it, usually with all content intact.&lt;/li&gt;&lt;li&gt;Uninstall OpenOffice. &lt;/li&gt;&lt;/ol&gt;&lt;p&gt;The moral of the story is that, for Microsoft, having such a high quality, independent implementation of their file formats is a plus. &lt;/p&gt;&lt;p&gt;I understand and, to some extent, agree with many of the reasons exposed in that article, but I must admit that it is not use for me to switch to a different product. I like Microsoft Office, and I know how to do my work with it. If my everyday environment weren't Windows, I would probably think different. If I worked for Sun... you bet! ;)&lt;/p&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-110316886684445002?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.pc-tools.net/comment/openoffice/' title='Reasons to use OpenOffice'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/110316886684445002/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=110316886684445002' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/110316886684445002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/110316886684445002'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2004/12/reasons-to-use-openoffice.html' title='Reasons to use OpenOffice'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5930129.post-110316753901236591</id><published>2004-12-15T23:11:00.000-04:00</published><updated>2004-12-15T23:35:50.153-04:00</updated><title type='text'>AdSense</title><content type='html'>I have to mention that I have added AdSense adds to my blog a few days ago. Otherwise, &lt;a href="http://radio.weblogs.com/0001011/2004/12/15.html#a8893"&gt;Scoble would make me feel like a bitch&lt;/a&gt; ;) Fortunatelly for me, &lt;a href="http://tbray.org/ongoing/"&gt;Tim Bray&lt;/a&gt; has it too, and that makes me feel way better.&lt;br /&gt;&lt;br /&gt;I hope you will appreciate the work I did on the color scheme and placing. I also tried some CSS code to scale it, but Firefox doesn't support it.&lt;br /&gt;&lt;br /&gt;By the way, I am not expecting that you actually click on it, whoever you are. Let's say, as Robert says, that I only do it for the fun of it!&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5930129-110316753901236591?l=diegov.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='https://www.google.com/adsense/' title='AdSense'/><link rel='replies' type='application/atom+xml' href='http://diegov.blogspot.com/feeds/110316753901236591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5930129&amp;postID=110316753901236591' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/110316753901236591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5930129/posts/default/110316753901236591'/><link rel='alternate' type='text/html' href='http://diegov.blogspot.com/2004/12/adsense.html' title='AdSense'/><author><name>Diego</name><uri>http://www.blogger.com/profile/06211524340372500555</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
