Thu, 19 Apr 2012 01:34:00 GMT
Next Thursday we'll meet with the rest of the MS User Group crew in Microsoft's offices at 6.30 pm.
See you there!
Tue, 03 Apr 2012 21:28:42 GMT
Diego Vega wrote a very informative post that summarizes what you can do when you see deadlock errors in Entity Framework applications. They errors look like:
“Transaction (Process ID 54) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.”
Even if Diego says that he did not hear about these issues often, I actually saw them quite often in two high-traffic EF applications where I was involved.
Most of the errors are get during reads, so the most likely cause is the one that Diego describes about having readers block readers, and handling the isolation levels in the way Diego suggest would solve it.
In those two websites apps I mentioned, there is a single ObjectContext instance that is shared in per request and it’s used for all the read-only operations, e.g., retrieving the content that will be displayed on a single page. This context has all the entities set to MergeOption.NoTracking in all the entities, to avoid having the EF keep a copy of those instances in the ObjectContext.
It’s quite risky to use the TransactionScope approach together with that, because you cannot put it inside a using statement. You need to create it at the beginning of the request and finish it when at the end, which implies that any method that is transaction-aware will use it, not just the ones for the Read-Only object context.
The solution that kind of worked was to set the isolation level to read uncommitted explicitly in the context by executing a ‘store command’:
context.ExecuteStoreCommand("SET TRANSACTION ISOLATION LEVELREAD UNCOMMITTED;");
Of course, this can only be used if it makes sense in the context of your application. If it’s a banking app with high consistency needs where you cannot show data that is still not committed, it will not be a good idea. But for websites where most of the action is read-only and you don’t have those consistency requirements it seemed to work quite well.
In one of the applications we were using NServiceBus, and those errors appeared when processing a message. In that case, the NServiceBus infrastructure just did what the error message suggests, ‘Rerun the transaction’ (image) .
This post also provides information that can be useful when tracking deadlocks.
Tue, 13 Mar 2012 11:58:00 GMT
We are just few minutes away from starting Run 2012 Montevideo!
I'll be doing a fun (at least fun for me) demo in the Windows Phone session and mostly talk over Powerpoints int the Windows 8 sessions.
You can get to the slides/code here
You can see the videos of these presentations, in Spanish, in Channel 9:
Thu, 22 Sep 2011 01:00:00 GMT
At the end of next week I'll be in San Pablo presenting in TechEd Brazil.
I won't be able to exercise my newly acquired Portuguese skills in the presentations as they'll be in Spanish but I guess I'll find plenty of opportunities for that during the 3 days I'll stay there.
I'll have two sessions. One about MVC/Entity Framework and another one about Architecture Tools in VS2010.
The event site is not very link-friendly so if you want to see the details about the presentations, you'll need to open the sessions page and filter by Palestrante = 'Andres Aguiar'.
If you are interested in talking about Infragistics products or in playing with the Build Win8 Tablet I'll be carrying, please contact me through the blog and we'll surely find some time to talk.
Here are the videos for the presentations, translated to portuguese:
- Herramientas de Arquitectura de VS2010 : http://www.youtube.com/watch?v=-rdChdvCFjE
- Profundizando ASP.NET MVC 4.0 y EF 4.1 : http://www.youtube.com/watch?v=jFeB2qES2is
Thu, 02 Jun 2011 03:48:02 GMT
You probably heard about Win8 today.
The short story is that they showed a touch-centric shell on top of Win7. Microsoft want us to start building touch-centric apps for that shell using HTML5.
I don’t have any doubts that existing apps will still run with no changes in the old shell.
The main question from a developer point of view is if the only way to write apps for the new shell will be HTML5 or not. IE will keep supporting Silverlight/WPF/Flash, but those won’t be apps in the new shell but apps inside IE.
For me it’s hard to believe that they won’t support a Silverlight flavor for the shell, but I don’t know the answer.
In any case, it’s clear that with this strategy Microsoft is accepting that they’ve lost the war for the developers’ mind with .NET for client applications. They are still fighting it in the server, but not in the client. Silverlight was the last proprietary technology MS used to try to achieve that, and they failed when “multiplatform” changed from Windows-OSX to Windows-OSX-iOS-Android-AndMarketPlaceRulesThatTheyCannotControl.
They need developers writing apps for Windows. Most of client-side developers today are building HTML apps, another big number are writing iOS and Android apps. Learning XAML technologies is difficult and unappealing for them. As they are losing the battle with iOS/Android, going HTML could be their only option if they want to regain the developer’s love.
The tablets with Windows 8 will be very attractive for Windows users, and it’s the OS with more users on Earth. It wouldn’t be surprising if some developers start targeting that as the main platform, in particular if building those apps is easy. I don’t know if there will be a good story for sharing code between web and native apps, but I guess it will. This means it will be much cheaper for developers to support both platforms (tablet win apps and web).
If Microsoft is successful, it would end up killing native development for Android and iOS, because it could force Apple and Google to come up with similar solutions. They won’t own their developer platform as they used to, but at least nobody will own it.
Of course, if they succeed in making HTML5 the main technology for native client-side apps in all Operating Systems, it will also mean we’ll be able to use that technology for building native apps for Windows Phones…
Does all of this means client .NET is ‘dead’? Depending on your definition of ‘dead’.
Tue, 31 May 2011 20:42:00 GMT
I'll be presenting on Entity Framework 4.1 today (yeah today, actually in 45 minutes ;), in Microsoft's Uruguay Offices in our first yearly meeting. You know, we say that in Uruguay the year starts after Easter.
Jorge Corral and Sebastián Beceiro from Arkano will be talking about real-world experiencies with Azure.
Given that if you are reading this is highly unlikely that you can stop what you are doing and run to today's meeting, I'm posting the powerpoints
Sun, 24 Oct 2010 13:54:57 GMT
Next Tuesday, October 26th, there will be a new CUMUY meeting. This time, Helena Muñoz from Infragistics Uruguay will be talking about mocking in general and Moq in particular.
Later, Victoria Rodriguez from Arkano will be talking about customization of Sharepoint Libraries.
See you there!
Mon, 20 Sep 2010 16:34:00 GMT
I'll be presenting on Entity Framework at the next CUMUY meeting, next Tuesday, September 28th. Fernando Machado will be talking about Visual Studio LightSwitch.
It won't be the usual introductory or what's new session. I'll dig into our experiences using it while building Quince, show some tricks, and discuss different performance issues.
If you are starting to use EF or evaluating it, you'll get a lot from the presentation. If you've been using it for a while, you'll probably also get some tricks but I hope you can provide the rest of the attendees and myself with some more!
You can register here
Posted from BuqueBus with my IE9
Fri, 03 Sep 2010 12:34:17 GMT
We've been using EF for 2 years and learned what works and what does not, how to architect applications around it, how to (ab)use expression trees to maximize code reuse, how to monitor roundtrips, etc. It’s hard to pick what to show as there are a lot of fun things to talk about.
Thu, 24 Jun 2010 23:13:00 GMT
Cumuy is organizing a RIA OpenSpaces meeting next Tuesday June 29th at 6.30 PM at Montevideo Microsoft's office.
We'll have @leovernazza from Himalia ;), @lmolfino from d2B, Alex Bonjour / @vertexray from VertexRay, Pablo Panedas from Innicia and whoever wants to show up sharing a conversation about the present and future of RIA technologies.
Please register here .
Fri, 30 Apr 2010 12:59:00 GMT
Everything is coming into place for the Montevideo CloudCamp. GeneXus is also sponsoring the event so we'll have the pleasure of having @gmilano talk about GeneXus and the Cloud or whatever he things is relevant ;).
Make sure you register soon!
Fri, 23 Apr 2010 15:17:00 GMT
It will be the first ‘Unconference’ in Montevideo, and the brightest minds of the UY Software Development Industry will be there. We’ll be discussing as pairs the challenges and opportunities that the Cloud brings to this corner of the world. Check the list of attendees here and add yourself to that exclusive list before we run out of spots. Entrance is free.
Thanks Microsoft and Infragistics for sponsoring it!
Mon, 12 Apr 2010 13:44:00 GMT
Next Wednesday April 14th we'll be having our big annual Microsoft Professionals Conference here in Montevideo.
I'll be playing ScottGu on the Keynote doing the Facebook app demo, and playing Nikhil Kothari in the afternoon doing the RIA Services demo.
Now.. should I install the RTM today in my demo machine or play it safe with the RC? ;)
Tue, 15 Dec 2009 01:31:00 GMT
Next Wednesday Dec 16h at 6.30 pm we'll have the last meeting of this year.
I'll be sharing my thoughts and showing some demos of what was announced at PDC 09, and Gabriel Lopez is going to talk about Windows Workflow 4.0.
You can register here. We'll be giving away a free license of NetAdvantage 2009.2!
See you there.
Wed, 07 Oct 2009 22:21:00 GMT
We'll have our monthly community meeting at Microsoft´s Uruguay office.
You can register here
Tue, 22 Sep 2009 20:11:00 GMT
Unfortunately, after 2 years of presenting in the Buenos Aires CodeCamp, this time I won't be able to make it, which is bad because it's a really nice event with very good presenters and a lot of energy.
However, two friends working in Infragistics Uruguay with will be presenting about UX Patterns and Quince. They are Nicolas Castagnet and Diego Rivero and they'll be presenting at 3pm this Saturday.
The full agenda is here.
Tue, 18 Aug 2009 01:00:00 GMT
Doug Purdy announced that the Oslo and the Data Programmability team were merged.
Since I first heard of the Entity Framework, it was pretty clear to me that it was designed to be the 'Model' of the .NET Framework. Even if there were some disagreements over the EF programming model or their designers, the 'modeling' part of the story looked pretty well (even if I can still not map some fairly common scenarios (1)).
If Oslo wanted to drive ´Model-Driven Development' in the .NET platform, and if they took a very 'data-driven' approach, it made sense that they used the EF as their model.
It looks that in addition of fluent interfaces for the EF, we´ll have a way to define an EF model in M, which would be much better than the current XMLs. We´ll need to wait until PDC to find out.
As a side note, Oslo looks to be very far from it's shipping date.
Mon, 17 Aug 2009 20:17:00 GMT
I'll be presenting about UX Patterns and Quince @ CUMUY August Meeting at the Microsoft offices in Montevideo.
You can register here .
See you there!
Thu, 02 Jul 2009 16:55:00 GMT
I'll be an MVP for Client App Development for 2009!
I want to thank to all the people in Microsoft Uruguay and Latinoamerica that kept inviting me to talk in their events.
Here is my almost-empty MVP Profile. I'll complete it during the following days.
Wed, 27 May 2009 21:35:00 GMT
I'll be presenting about UX Patterns and Quince @ the Microsoft Run 09 event in Montevideo.
See you there!