Microsoft

Microsoft Courier

There are some things that I just don’t get. The new MS Courier is one such thing. Check the link, this is basically a book size iPhone/tablet. Go checkout the video, you’ll notice something that will kill this device. It uses a pen, to write! Leaving aside the fact that no OCR program has yet been able to figure out what I am writing (including the one in my brain), using a pen it annoying. I write about three to four times as fast using a keyboard than using a pen (and I...

posted @ Wednesday, September 23, 2009 9:35 AM | Feedback (18)

Hello!!! Is this ON?! [Connect Bugs sucks, again]

I want to point you to this bug: Do you see the Won’t Fix there? Let us take a look at what ExecutionEngineException is all about, okay? Now, the real problem here is that along with this issue there is a failing sample, so it is not a case of not being able to reproduce the error. Granted, the customer has managed to find a workaround for their problem, but the bug in the framework is still there, and was not fixed. I would assume that CLR crashing...

posted @ Saturday, September 12, 2009 7:50 PM | Feedback (15)

Why Defer Loading in Entity Framework isn’t going to work

When I finished reading this post I let out a heavy sigh. It is not going to work. Basically, the EF is going the same way that NHibernate was in NHibernate 1.0 (circa 2005!). Let me show you how. in the post, the example given is: public class Category { public int CategoryID { get; set; } public string CategoryName { get; set; } public virtual List<Product> Products { get; set; } ... } This looks like it would...

posted @ Friday, May 29, 2009 3:04 AM | Feedback (59)

How Microsoft should release guidance?

Phil Haack has a post about code sample taxonomy, in which he asks how Microsoft can ship high quality sample apps: Obviously, this [shipping high quality samples] is what we should be striving for, but what do we do in the meantime? Stop shipping samples? I hope not. Again, I don’t claim to have the answers, but I think there are a few things that could help. One twitter response made a great point: a reference app is going to be grilled. Even more if...

posted @ Saturday, April 18, 2009 4:50 PM | Feedback (9)

What do I expect from guidance?

Phil Haack has a post about code sample taxonomy. He suggests the following taxonomy: Prototype Demo Sample Production Reference I am not sure that I agree with his division. From my point of view, demo code need to focus on one single aspect, mostly because we are going to talk around that, and doing that means that I don’t have the time to deal with anything but the aspect that I need to talk about. Sample code is a more fleshed...

posted @ Friday, April 17, 2009 4:53 PM | Feedback (7)

Microsoft Connect - FAIL (yet again)

I really think that Microsoft should close Connect. Because it is pretty obvious that they aren't managing that properly. Let us take a look at yet another interesting bug report. This is related to a bug in System.Data that makes using System.Transactions even trickier than you would initially believe. It was acknowledged as a bug by Miguel Gasca (from Microsoft), and a connect was reported. That was in 2007(!), it was resolved, a month later, by "Microsoft", because it is "External" issue. That bug is till here today, two years later, and still impacting customers. That is after a full release and SP1. The...

posted @ Tuesday, March 24, 2009 12:18 PM | Feedback (11)

MEF & Open Generic Types

I read Glenn' s post about MEF's not supporting open generic types with somewhat resembling shock. The idea that it isn't supporting this never even crossed my mind, it was a given that this is a mandatory feature for any container in the .NET land. Just to give you an idea, what this means is that you can't register Repository<T> and then resolve Repository<Order>. In 2006, I wrote an article for MSDN detailing what has since became a very common use of this pattern. Generic specialization is not something that I would consider optional, it is one of the most common...

posted @ Sunday, March 22, 2009 7:00 PM | Feedback (3)

And now what?

It looks like the entire MSMQ .NET stack is riddled with threading bugs. At least if you think about using the async methods such as BeginPeek. Nasty!

posted @ Tuesday, January 27, 2009 7:31 PM | Feedback (13)

MessageQueue trouble continues

I mentioned that I got into some problems with MSMQ that I couldn’t reproduce later on. Well, here is the actual code that I am running that is causing a hung. As you can see, this is really strange.

posted @ Sunday, January 25, 2009 1:19 AM | Feedback (6)

More information of GC issue

After a lot more study, it looks like there are two separate issues that are causing the problem here. During AppDomain unload, it is permissible for the GC to collect reachable objects. I am fine with that and I certainly agree that this makes sense. Application_End occurs concurrently with the AppDomain unload. Looking at the docs (and there are surprisingly few about this), it seems like 1 is expected, but 2 is a bug. The docs state: Application_End  - Called once per lifetime of the application...

posted @ Thursday, January 22, 2009 5:27 PM | Feedback (14)

I am being stalked by CLR bugs

I just spent several hours tracking down a crashing but in my current project. The  issue was, quite clearly, a problem with releasing unmanaged resources. So I tightened my control over resources and made absolutely sure that I am releasing everything properly. I simply could not believe what was going on. I knew what they code is doing, and I knew that what I was getting was flat out impossible. Yes, I know that we keep saying that, but this bug really is not possible! The situation is quite clear,...

posted @ Wednesday, January 21, 2009 7:31 PM | Feedback (8)

Hidden Windows Gems: Extensible Storage Engine

Did you know that Windows came with an embedded database? Did you know that this embedded database is the power behind Active Directory & Exchange? Did you know that this is actually part of Windows' API and is exposed to developers? Did you know that it requires no installation and has zero administration overhead? Did you know there is a .Net API? Well, the answer for all of that is that you probably didn't know that, but it is true! The embedded database is called Esent, and the managed library for this API was just released. This is...

posted @ Tuesday, December 23, 2008 12:53 PM | Feedback (15)

Oxite: Open eXchangable Informative Troubled Engine

This is a post about Oxite, but it is actually not about the code base. There has been a lot said about this, and I think that I can solidly put myself on the side that spouts WTF and now seeks access to memory altering drugs. What I wanted to talk about here is actually the way that this was handled. It didn't take long for people to start noticing the actual code quality of this in contrast to its marketing promise: We heart you so much, that we thought of everything. Oxite was developed carefully and painstakingly to be...

posted @ Friday, December 19, 2008 12:05 PM | Feedback (28)

KB957541 available for direct download

This is the fix for the ExecutionEngineException that appeared in .Net 3.5 SP1, and was found by Rhino Mocks. You can get it here: http://support.microsoft.com/?id=957541

posted @ Wednesday, December 17, 2008 3:54 AM | Feedback (2)

Consenting Adults

David Kean has an interesting post here: "I can't believe Microsoft didn't make [Enter API Name Here] public" In particular, he mentions this aging argument: Developing good APIs is extremely difficult, especially the first time around. When we get things wrong (and we do get things wrong), trying to maintain backwards compatibility often stifles innovation as we try to correct these scenarios. Unfortunately, unlike others, we don't have the luxury to make only 95% of our new versions backwards compatible with our previous versions. I have a lot of problems with this statement. Chief among them is the treating the users...

posted @ Wednesday, December 10, 2008 12:32 AM | Feedback (22)

Windows Activation SUCKS: How to give someone a heart attack

On a day that I have to give 3 presentations, I open up windows and I refuse to log me in, instead, I get this thing: And then it refuse to activate! Turning the window installation to a brick! I solved that eventually, but that was a really scary time.

posted @ Thursday, December 04, 2008 2:12 PM | Feedback (18)

On ASP.Net MVC (yes, again :-))

As you probably know by now, I have been working on an ASP.Net MVC project for the last two weeks. Based on that, I think that I can base a pretty good opinion about it. Are you ready for it? [insert significant pause here] I like it. Now, just to be clear. I like it not only in comparison to WebForms. I like it on its own. In other words, I don't consider the ASP.Net MVC to be a default choice if all you have is that or WebForms. The pros of using an MVC framework are well known by now, so I wouldn't go...

posted @ Wednesday, November 12, 2008 9:40 PM | Feedback (16)

And yet ANOTHER ASP.Net MVC Bug

This is getting annoying, to tell you the truth. I am trying to develop an application here, not do QA. Let us take the following class: public class IdAndName { public long Id { get; set; } public string Name { get; set; } } And the following code: var idAndNames = new[] { new IdAndName {Id = 1, Name = "one"}, new IdAndName {Id = 2, Name = "two"} }; var list2 = new SelectList(idAndNames, "Id", "Name", idAndNames[1]); var result2 = Html.DropDownList("test",list2); What would you expect the value of result2 to be? I would expect it...

posted @ Tuesday, November 11, 2008 10:31 PM | Feedback (36)

Another ASP.Net MVC bug: Rendering views to different output source

Take a look at the following code. What would you expect the result of this code to be? Leaving aside the question of exactly what I am doing here, or why. What I thought this should do was to render the partial view into the string writer. The method signature of Render most strongly suggest that this is what it would do. What it actually does is to render the partial view directly into the response. Following the code a bit more, it looks like you literally cannot do this. ASP.Net MVC views are hard coded to use...

posted @ Tuesday, November 11, 2008 10:29 PM | Feedback (13)

Reproducing a bug

Create new ASP.Net MVC application: Create an action that take non nullable argument called 'id': [HandleError] public class HomeController : Controller { public ActionResult Index() { ViewData["Title"] = "Home Page"; ViewData["Message"] = "Welcome to ASP.NET MVC!"; return View(); } public ActionResult Test(int id) { return Content(id.ToString()); } public ActionResult About() ...

posted @ Friday, November 07, 2008 6:29 PM | Feedback (13)

Title left blank since I can't think of non inflammatory title for this post

This works: This doesn't: I haven't bothered to find why, but that is surprising to me. (Note that here the enctype is specified as "multipart/form-data", which may or may not be related) Update: It is not related. The real culprit, as best I was able to reconstruct is because of this piece of code: public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( "Default", "{controller}/{action}/{id}", new {controller = "Home",...

posted @ Friday, November 07, 2008 5:35 PM | Feedback (12)

A case study of bad API design: ASP.Net MVC Routing

I am doing a spike in ASP.Net MVC now (and I'll talk about this at length at another time). I hit the wall when I wanted to do something that is trivially simple in MonoRail, limit a routing parameter to be a valid integer. Luckily, just looking at the API signature told me that this is a supported scenario: Unfortunately, that is all that it told me. This method accept an object. And there is no hint of documentation to explain what I am suppose to do with it. A bit of thinking suggested that I am probably...

posted @ Wednesday, November 05, 2008 9:16 PM | Feedback (23)

PhizzPop fizzed out

Yesterday I was at the PhizzPop design party in New York. The purpose of the party was to show off the capabilities of the new Expression 2.0 product line. The way chosen to do so was by getting several companies to participate in a content to get the best result. It might have been a good idea, but it back fired tremendously. One of the reasons that I went to that party was the expectation that I would be impressed by the new capabilities. Instead, what I saw there was... disappointing. The best candidate application there was adequate. In fact, it was...

posted @ Wednesday, November 05, 2008 4:11 PM | Feedback (4)

Visual Studio 2010

I got the chance to get an early CTP of Visual Studio 2010.  This is the post I use to record my first impressions. There is no order to this post, it is just impressions jotted down as I see them. We seem to have a new start page: Following the MS & OSS new approach, one of the samples is Dinner Now using Lucene, which is the first project that I found to test. TFS is still broken: I really don't like to see this kind of issues in a source control...

posted @ Monday, October 27, 2008 12:48 PM | Feedback (20)

On jQuery & Microsoft

No, I am not going to bore you with another repetition of the news. Yeah, Microsoft is going to bundle jQuery with Visual Studio and the ASP.Net MVC. That is important, but not quite as important as something else that I didn't see other people pointing out. This is the first time in a long time that I have seen Microsoft incorporating an Open Source project into their product line. I am both thrilled and shocked.

posted @ Monday, September 29, 2008 8:44 AM | Feedback (16)

The Managed Extensibility Framework

The Managed Extensibility Framework is "new library in .NET that enables greater reuse of applications and components. Using MEF, .NET applications can make the shift from being statically compiled to dynamically composed. If you are building extensible applications, extensible frameworks and application extensions, then MEF is for you." (I was too lazy to think about my own description for it, so I just copied the official one.) Probably the first thing that you should know about MEF is what will undoubtedly be the most common cause for confusion. The Managed Extensibility Framework is not an IoC container. This...

posted @ Thursday, September 25, 2008 7:10 PM | Feedback (9)

KB957541 is my favorite hotfix

It is not public yet (but you can call and ask for it), but it will be when SP1 goes to Windows Update. This is the fix for the ExecutionEngineException that appeared in .Net 3.5 SP1, and was found by Rhino Mocks. It took a while (but not unreasonably so), and it is here, yeah! This is fixed,  you can get the fix here: http://support.microsoft.com/?id=957541

posted @ Thursday, September 25, 2008 5:58 PM | Feedback (7)

Waiting for the Service Pack? I don't think so

Here are a few interesting things that I found about .Net 3.5 Service Pack 1: Serialization hangs or throws an OutOfMemoryException with static delegate and ISerializable on 3.5 SP1 ExecutionEngineException with ParameterInfo.GetOptionalCustomModifiers and GetRequiredCustomModifiers on 3.5 SP1 .NET 3.5 SP1 breaks use of WPF under IIS .NET 3.5 SP1 seems to break .NET 2.0 applications with assembly loading error. .NET Framework 3.5 SP1 breaks type verification I just googled for "3.5 SP1" on connect.microsoft.com, and took only the verified (by Microsoft) items...

posted @ Friday, August 15, 2008 2:23 PM | Feedback (20)

How .Net 3.5 SP1 broke Rhino Mocks

Okay, now that we are over the sensationalist headline, the actual problem is more complex than that. Let us assume that we have the following interface: public interface IComplexGeneric<T>{ void GenericMethod<K>();} Up until .Net 3.5 SP1, Rhino Mocks was perfectly happy to deal with such an interface (well, not happy, exactly, that requires some hard core code). With .Net 3.5 SP1, this generate an Execution Engine Exception. Fabian Schmied was kind enough to prove that select is broken here. This is the connect site issue, and I would appreciate it if you can vote for it. The work around for this would mean that...

posted @ Wednesday, August 13, 2008 5:15 PM | Feedback (22)

On InternalsVisibleTo

Some people pointed out that the distinction between public and published can be done using InternalsVisibleTo. This is sort of possible, I agree, but it only works if you think about this as a unit testing measure. Jon Skeet asked about good usages of InternalsVisibleTo aside from unit testing, and I decided to check and see what the framework is using it for. From cursory observation, it appears to be heavily misused. Just from observing the allowed dependencies make me cringe. System.Data allows: System.Data.Entity ...

posted @ Friday, June 27, 2008 9:41 AM | Feedback (16)

ADO .NET Entity Framework Vote of No Confidence

I am a bit late on posting this, but I suggest taking a look here to read some of the community reactions to the issues we have observed in the Entity Framework. I will let the document stand on its own, since there is no way I can be impartial here. I would like to state something (which I also told the Entity Framework team in person): If someone manages to come up with a kick ass OR/M solution that does what I need (allow me to create maintainable and flexible solutions and has...

posted @ Wednesday, June 25, 2008 3:25 PM | Feedback (22)

Reviewing the Entity Framework Source Control Support

Frankly, I am quite amazed that I even need to write this post. Source Control is such a basic part of the development process that I didn't want to believe there could be anything to say about it. In the previous release of Entity Framework, there were deal breaker issues in the source control story. In short, it didn't work. I installed Visual Studio 2008 SP1 Beta to check how the new bits behave. Let us start from the simplest scenario, defining a model with two classes, and commit to source control: Now, let...

posted @ Monday, May 19, 2008 8:34 PM | Feedback (8)

Visual Studio 2008 SP1 Beta: AVOID

After the pain of VS 2005 SP1 (which killed my machine, as a matter of fact), I decided to install the SP1 beta for VS2008 on a clean VM. That VM is a simple install of the OS + VS 2008, that is all. Here is the result of installing VS 2008 SP1 Beta. I have no idea what happened, at one point it was installing, now it is rolling back. I suppose I could try to figure out what is going on, by hunting in the logs and trying the cargo cult approaches. ...

posted @ Monday, May 19, 2008 10:00 AM | Feedback (14)

Source control is not a feature you can postpone to vNext

I was taking part in a session in the MVP Summit today, and I came out of it absolutely shocked and bitterly disappointed with the product that was under discussion. I am not sure if I can talk about that or not, so we will skip the name and the purpose. I have several issues with the product itself and its vision, but that is beside the point that I am trying to make now. What really bothered me is utter ignorance of a critical requirement from Microsoft, who is supposed to know what they are doing with software development. That...

posted @ Thursday, April 17, 2008 11:57 AM | Feedback (48)

SQL CE Issues, Part 2

Hopefully I'll get the same quick "you are an idiot, this is how it is done" that I got the first time I posted about it. Here is my current issue. Attempting to open SQL CE from multiple threads has locked it out. This has been the state of the system for ~6 hours. I don't mind the locks, I do mind the fact that there seems to be no way to specify a timeout for that, so the app just sit there, waiting, waiting, waiting.

posted @ Tuesday, April 08, 2008 6:03 PM | Feedback (21)

Unity Annoyances

This has nothing to do with the code itself, and anything to do with how it is managed. Take a look here: The weekly drop is an MSI. I don't like MSI. They taint my system, put things in places I don't want, and in general annoys me. Okay, so let us just grab the source directly, right? That is what I tend to do anyway. Oh, I forgot, there isn't any source repository available. A zip file is the least I would expect.

posted @ Monday, March 24, 2008 7:31 PM | Feedback (8)

SvnBridge - Performance

  Standard disclaimers, this is from a machine near the server, it is not constant at that level, it is on the hosted version only, a lot more work needs to be done, haven't profiled it properly, etc. In short, this is a nice picture, and a good way to end a day.

posted @ Friday, March 07, 2008 9:28 AM | Feedback (1)

MsBuild vs. NAnt

A long while ago I moved the Rhino Tools repository to using MSBuild. I am not quite sure what the reason for that was. I think it was related to the ability to build it without any external dependencies. That is not a real consideration anymore, but I kept that up because it didn't cause any pain. Now, it does. More specifically, I can't build the rhino tools project on a machine that only have 3.5 on it. The reason is that I have a hard coded path with 2.0, which worked well enough, until I tried to...

posted @ Sunday, February 24, 2008 9:08 AM | Feedback (22)

Reviewing Unity

I am sitting at the airport at the moment, having to burn some time before I can get on a flight, and I decided to make use of this time to review the Unity container from the P&P group. A few things before I start. Unity is a CTP at the moment, it is not done, and that is something that should be taken into account. I have several design opinions that conflict with the decisions that were made for Unity. I am a contributor to Windsor. Overall, I am biased. Please take that into account. I am...

posted @ Sunday, February 24, 2008 3:27 AM | Feedback (34)

Re: Versioning Issues With Abstract Base Classes and Interfaces

Phil Haack is talking about why the MS MVC team changed IHttpContext to HttpContextBase. I follow the argument, but at some point, I just lost it. This, in particular, had me scratching my head in confusion: Adding this method doesn’t break older clients. Newer clients who might need to call this method can recompile and now call this new method if they wish. This is where we get the versioning benefits. How on earth does adding a new method to an interface would break an existing client? How on earth does adding a new method to an interface require...

posted @ Thursday, February 21, 2008 5:55 PM | Feedback (38)

More Windows Server 2008 Discoveries

Okay, I am impressed. Really impressed. I installed a non-web-edition of Win 2008, and now everything works as it should. I really like what Microsoft did here. Both in terms of the UI experience that you get, the guidance that they keep popping up (which is not annoying), the speed, and overall feeling. What really made me happy was this. Now I can actually drill down and see what is going on so easily. Something that certainly cheered me up was the file-copy test: It started instantly, and it looks like we get information that...

posted @ Thursday, February 14, 2008 3:16 PM | Feedback (6)

The cost of 2008

I just installed Windows 2008 and Visual Studio 2008 on a VM. Here is the result: I am not sure what is in there, but it is a lot. I then tried to install SQL Server 2005, but is never let me actually install the server, it only want to install the client components. It warns that you need SP2, so I installed that, then try it again, no go. Any ideas? By the way, so far, ignoring the issue of the SQL Server installation issues, I am impressed by Win 2008, it looks slick, it...

posted @ Thursday, February 14, 2008 10:39 AM | Feedback (7)

Microsoft CRM woes

I have wasted the entire day trying to troubleshoot some idiotic issues with MS CRM. Allow me to reiterate my previous statements on Microsoft CRM. It is an application built on feet of clay, marketed as a development platform and undeserving of consideration as anything but a vanilla install. Highlights of the CRM: Trying to update an entity via web service call. You get a "platform error" message. You have no input why this is not working working. Fast forward a day, turn out a PreUpdate callout is throwing an exception, which the CRM just swallows and abort....

posted @ Monday, December 31, 2007 10:57 PM | Feedback (8)

Configuration over Convention

A few days ago there was a discussion on the ALT.Net mailing list about some of the design choices that the MS MVC team has made. Specifically, the issue of [ControllerAction] and explicit RenderView() came up. Rob Conery just posted a 6 pages post that goes over how to deal with the pain of this decision. From his post: I’ve been working a lot with the new MVC bits and one thing that’s annoying is having to type the same stuff, over and over. One in particular is the Controller Action: Rather than type this over and over, I...

posted @ Saturday, December 08, 2007 1:28 AM | Feedback (14)

CodePlex, Performance and Usability

I am trying to get some code from CodePlex at the moment. Since I am used to SVN and its model,I downloaded SvnBridge and hooked it up, then tried to check out the source code. Fast forward about an hour later, and it is still have not checked out a single file. I am pretty sure that it is not an issue with the network, or anything like that. I believe that it is doing a full download of the source code locally, and then fake SVN from there, but I haven't checked. Then I tried the CodePlex Client, that...

posted @ Friday, December 07, 2007 8:25 AM | Feedback (9)

Whose time & effort?

Phil Haack has managed to convey my thoughts about MS duplicating existing work better than I could. Specifically, this is important: Duplication Is Not The Problem. Competition is healthy. If anything, the problem is, to stick with the evolution analogy, is that Microsoft because of its sheer might gives its creations quite the head start, to survive when the same product would die had it been released by a smaller company. I wrote Rhino Mocks for myself. It seems to be useful for other people, which is a happy coincidence, but I wrote it for myself. One thing that I...

posted @ Monday, December 03, 2007 11:38 AM | Feedback (3)

Reasons for caring: Microsoft & OSS

In the ALT.Net mailing list, we are having a discussion about the CAB and OB. Part of this discussion include this dialog between me and Brad Wilson. Brad: If you're simply angry because we had the audacity to make our own object factory with DI, then I can't help you; the fact that P&P did ObjectBuilder does not invalidate any other object factory and/or DI container. Ayende: No, it doesn't. But it is a waste of time and effort. Brad: In all seriousness: why should you care if I waste my time? That question prompt this post, because I...

posted @ Monday, December 03, 2007 3:25 AM | Feedback (21)

Expression Design: Lying By Omission

Expression Design is supposed to be able to import and export PSD files. PSD is one of the more common file formats, because it is the one that Photoshop uses. However, the import capability that Expression Design has is limited to... getting the embedded bitmap inside the PSD file. That one is supposed to let you get a thumbnail over PSD files, not as an import tool. The problem with that is that PSD files are not bitmaps, they are composed of layers, transforms, and a host of other things that I am probably forgetting. Saying that you can import...

posted @ Monday, December 03, 2007 3:14 AM | Feedback (3)

Setting yourself up for failure

John Lam, the guy writing IronRuby, cannot look at the Ruby source code. That is the way Microsoft works. This is setting yourself up for failure, hard. The main issue that I have with this is that this is purposefully putting blinders on, and then acting surprised because the direction that the project went is rejected by the community. The Entity Framework debacle is a good example. How the hell can you miss what is going in the OR/M world for the last 5 years? How the hell can you get to the point where you are surprised...

posted @ Saturday, December 01, 2007 11:57 PM | Feedback (7)

Microsoft the company vs. Microsoft Employees

So far, the only Microsoft employees that I have met and didn't like were the marketing drones. I dislike being lied to, by I digress. All the Microsoft employees (that were even remotedly techincal) that I have met or spoke with so far were really nice guys, open to suggestions and to conversation. Microsoft, the company, however, seems to behave in a rather different manner. At some point in the chain, there is a huge management problem, because I want a Microsoft that behaves the way most of its employees are behaving. I really want Microsoft to be as open...

posted @ Saturday, December 01, 2007 11:48 PM | Feedback (1)

Microsoft: Just Say No

And to foretell the expected response, no, I am not saying or suggesting that you should reject Microsoft. This post is a suggestion to Microsoft. Microsoft should start to say no. Let me give you the scenario that we are talking about, and I hope that it will make it clearer: A customer tells microsoft: "We really want to use this new approaches that we have been seeing talked about, like inversion of control and dependency injection. Can you provide that for us?" Now, up to this point, what Microsoft has been doing is to release a copy of some...

posted @ Saturday, December 01, 2007 11:39 PM | Feedback (8)

Don't use MS CRM! It is not worth the ulcer you will get!

Yesterday I reached the breaking point with regards to MS CRM. We needed to push a build to staging, so the customer can start acceptance testing. The way we built it, we have a central CRM development server, and each developer is working mostly locally, but against the same server. I don't like it, but the CRM doesn't really give me much choice. At any rate, we started the move by trying to move the customizations from the development server to the production server. Naturally, there is no way to diff things, so I have no idea what changed since we...

posted @ Friday, November 16, 2007 7:06 PM | Feedback (14)

No one was fired because they bought Microsoft

And just to be clear, I don't agree with this sentiment, but it is a very real one. Times have changedOur applications are getting worseThey run so slow and won't behaveThe code is ugly and perverse!I tell you, that application is deprave! Should we blame the PM?Or blame the developers?Or should we blame the process?No! blame MicrosoftEveryone: Blame Microsoft Blamability is an important concept, the facts doesn't really matter, but the ability to blame someone else, preferably something as ambiguous as Microsoft, is a good way to have an out.

posted @ Saturday, October 27, 2007 11:44 AM | Feedback (3)

Microsoft, SubSonic and Open Source

Rob Conery has just announced that he is going to work for Microsoft. That is interesting, but not really surprising or shocking. Microsoft does seems to hire a lot of the bloggers in the .Net space. What is surprising is the role that he is expected to fill in Microsoft. He is going to work full time on SubSonic, an Open Source project. Why is this surprising? Because to date, I haven't heard of any other cases where Microsoft have paid for developers to work full time on OSS that didn't came directly from Microsoft. This is a fairly common model in the...

posted @ Friday, October 26, 2007 9:26 PM | Feedback (10)

Microsoft and opening the code: damned if you do, damned if you don't

Here is another perspective of the results of making the source available. At that point, Microsoft really doesn't have a good way to get out of it. People want to get the source (I am one of them), but at the same time, they are fearful of legal actions as a result of looking at the source and doing any sort of development (again, I am one of them). What is required is trust, and Microsoft is still paying for its actions of old (and its actions as of few months ago, patents & OSS, for example) in that regard.

posted @ Thursday, October 04, 2007 1:50 PM | Feedback (8)

Look, don't touch: Clearing the misconceptions about opening CLR libraries sources

Important note: I am representing my own conclusions here, not anyone's official position. First and foremost, the CLR libraries are not open source. Let us talk about licenses, and what they gives us. By default, even if I have the source for a library, I can't really do anything with it. That is because the authors of the library retain copyright and you don't have any rights to do anything with it. Open Source explicitly gives you certain rights (usually modifications and redistribution rights) for the source. The license that Microsoft is currently talking about is a...

posted @ Thursday, October 04, 2007 12:21 AM | Feedback (7)

Microsoft Most Valuable Professional

Visual Developer - Visual C# I am not that much of a visual guy, but I can leave with that. I have been told some horror stories about mismatching skills and distinctions. Many thanks for Justin Angel, for all the effort he put into it.               .

posted @ Wednesday, October 03, 2007 5:06 PM | Feedback (31)

Erik Meijer on Democratizing the Cloud

This talk was the keynote for yesterday, and I came out of it with a profound sense of shock. If this is where Microsoft is headed, then they are in a real problem. Some of the things that really bothered me: Don't learn anything new, let Microsoft chew it up for you first. Let us compile our C# to JS (good) and then just make some of the calls a remote ajax calls (bad).I would have thought that they would have learned from the DCOM debacle, if nothing else. Location Transperancy is a Bad Thing.In general, Too Much...

posted @ Wednesday, September 26, 2007 9:03 AM | Feedback (11)

Microsoft Connect: Redefining bugs as features as a standard operation procedure

This and this bugs are really pissing me off. Both those bugs are related to the same source, and one of them was originally a Rhino Mocks issue. They both  stems from the CLR runtime bugs.  Basically, trying to inherit from a generic interface with generic method parameters that has constraints causes the runtime to puke with a TypeLoadException. I am not one to cry that select() is broken, but in this case, it most certainly is. It is verified using both the C# compiler and Reflection.Emit, so it is definitely a runtime bug. The really annoying parts that they were...

posted @ Tuesday, September 18, 2007 8:48 PM | Feedback (10)

Anti Corruption Layers: Striving for FizzBuzz level

I think that I mentioned that I don't really like Microsoft CRM development options. Considering the typical quality of the code that I see online when I search for samples, I certainly see the CRM as corrupting influence. That is why I pulled the big guns and built a whole new layer on top of it. I assume that you are already aware of my... reservations for leaky abstractions, and considering my relative lack of expertise on the CRM itself, I don't think that it would have been wise to diverge too far from the model that the CRM...

posted @ Tuesday, September 18, 2007 2:05 PM | Feedback (6)

Microsoft Connect: Without Words

I am going to print a response I just got from Microsoft Connect here, and let you do the judgement yourself: Very sorry for not getting back to you on your last comment till now.  Unfortauntely the Connect system just tracks fixes for our next product releases.  To get fixes for shipped products you'll need to contact Microsoft Support at http://support.microsoft.com/oas/default.aspx?ln=en-us&prid=9511&gprid=344272. This probably explains this better.

posted @ Friday, September 14, 2007 3:52 PM | Feedback (3)

Microsoft CRM Frustrations

I took a look at some of the views that the CRM has generated when I created a sample entity. 7 joins is a bit too much, I feel. And to top the previous point, an actual commit message by me, dating about two hours ago. Rewriting the serialization / deserialization to use dynamic entities and fixing an issue with null values not being liked by the @!#$ CRM. That issue has cost me merely three days and much gnashing of teeth. I don't like MS CRM one bit. And any amount of insulation layers can't help...

posted @ Sunday, September 09, 2007 7:10 PM | Feedback (8)

Duplication of Efforts

Scott Bellware brings up one of the most annoying habits from Microsoft, duplicating existing OSS stuff instead of promoting the use of the existing tool. He ends up the post by asking how long it will take before Microsoft will have its own mocking framework. On the theoretical possibility that they would do such a thing, let me express my feeling about this in advance: I would be extremely pleased if Microsoft came out with a mocking framework that completely and utterly kicked Rhino Mocks' butt. I would be very happy because it would mean that I would get...

posted @ Saturday, September 01, 2007 5:44 AM | Feedback (9)

Developing on Microsoft CRM

I am currently in the process of leading a team in a project that is built around Microsoft CRM. A while ago I posted what I consider essential requirements for working effectively with business platforms. Since then, I had had a lot of time to play with MS CRM and see what the development story is. Please remember, this is an evaluation of Microsoft CRM from a developer perspective. I don't touch on any of the other aspects that it may have. I have already started to dislike it, and I have a feeling that it would only grow more...

posted @ Friday, August 24, 2007 2:06 AM | Feedback (12)

How to kill the community feedback, or, the uselessness of Microsoft Connect

I just got this in an email: Did you go to Microsoft Connect and supply feedback about the things you don't like about the product? That may be received better than a rant. I feel like I should explain better what I think about this. Broadly, I see it as a dead end path, since there is no real way for me as the reporter, to do anything about it except to report it. The main issue here is that a lot of those bugs are being closed for what looks like ridiculous reasons. Eventually, it lead to the belief that...

posted @ Sunday, July 29, 2007 11:13 PM | Feedback (10)

Wish: Distributable Windows-based Virtual Machines

Sahil Malik points out that Microsoft has found a way to distribute Virtual Machines for Windows by time bombing them. In fact, they now have quite a number of them available for download. Sahil has another request, to be able to do the same himself: Extend that time bomb mechanism, so parties other than Microsoft can play. I should be able to create a solution based on MSFT technologies, and hand over a VHD for the world to play. That is something that I would like to see very much. My company has a lot of virtualization stuff going on, and...

posted @ Saturday, June 23, 2007 1:43 PM | Feedback (2)

Imprisoning Mort

Nick Malik responded to the discussion around his Tools for Mort post. He has a very unique point of view. If you cannot make sure that Mort will write maintainable code, make him write less code.    Then when it comes time for you (not Mort) to maintain it (he can't), you don't.  You write it again. Okay, so you have a tool that makes sure that Mort doesn't write a lot of code with it. Now Mort has left and I need to maintain the code. How do I do it? I can't do it with the tools that...

posted @ Wednesday, June 20, 2007 1:58 AM | Feedback (11)

Redefining reality

The "Tools For Mort" post from Nick Malik had me check outside to verify that the skies are still blue. Nick seems to define a Mort as: Mort works in a small to medium sized company, as a guy who uses the tools at hand to solve problems.  If the business needs some data managed, he whips up an Access database with a few reports and hands it to the three users who need the data.  He can write Excel macros and he's probably found in the late afternoons on Friday updating the company's one web site using Frontpage....

posted @ Saturday, June 16, 2007 12:49 PM | Feedback (9)

Good Little Developer, do what you are told

Peter Laudati managed to hit basically all my red buttons in a single post, that is rare. He talks about the recent Alpha Geeks posts in the community, but I do believe that he is observing a different community. It seems almost like a repeating cycle where there are highly skilled developers moaning about the lesser skilled developers around them. Ha? In the recent posts, the topics was never the developers, it was the tools from MS and their ability to be utilized effectively by developers outside the very thin line that was painted for most of them. When I...

posted @ Wednesday, June 13, 2007 9:22 PM | Feedback (16)

Hasta La Vista

Vista is failing fast to impress me. It is a prettier version of the previous versions, but they have managed to screw up significant parts of the user experience in ways that I find astonishing. What is bad: Vista is slow. File copies or network stuff is horrendously so. Using explorer to go to a network drive takes much longer than it used to do. The broke the Backspace button in explorer! How can you break something like that is beyond me. The backspace should go UP! Not back. What wasn't a problem: UAC is not as problematic as...

posted @ Friday, June 08, 2007 11:47 AM | Feedback (19)

How did I got to this list?

posted @ Thursday, June 07, 2007 11:24 PM | Feedback (0)

Arrest that man! He had built workaround a technical limitaion!

Alex* has posted a piece of code that will solve my issue with Window Live Writer and spell checking. The problem is that this is clearly working around a technical limitation in the software, as a non English speaker, I am obviously required to use Windows Live Writer Team Edition, which will (in the next version only, mind you) support English spell checking for non-English speakers. I am expecting the Cease & Desist to come at any moment, and Alex is currently expecting an attack from the Tean Ninja Lawyers teams. Nice hack Alex, now off to prison with you....

posted @ Saturday, June 02, 2007 9:40 PM | Feedback (22)

Thou Shall Not Work Around Technical Limitations

Frans Bouma has a really good overview of the implications of Microsoft behavior in the TDD case. The thing that really bothers me is that the thing that they are hinging their treats against Jaime is "work around techincal limitations". Well, excuse me, but that is my job. What am I supposed to in cases such as this or this? Report a bug to Microsoft and wait two years so maybe they will fix it? (Or maybe they will decide that it is there for backward compatability. This is generating so much bad will around the community, I just...

posted @ Saturday, June 02, 2007 5:26 PM | Feedback (6)

On the CAB: Again

I wanted to take some time to clear some issues regarding my previous post about the P&P. A lot of people seems to grab on to my mention of CAB (interestingly, no one tried to defend the DAAB :-) ), and the conversation has turned that way. Just to remind you, here is what I said:The CAB is a good example, I like some of the ideas there, but it comes with so much weight around it that it is not worth bothering. I can build on the same ideas in half a day and end...

posted @ Saturday, May 26, 2007 2:49 AM | Feedback (3)

On Not Invented Here

As long as I am stirring the pot, here is an amazing comment by Steve ( no blog, apperantly :-( ) left at Chris Holmes post about my P&P post. In reference to: "Would it be acceptable for them [P&P] to build Enterprise Library using Castle Windsor?" Interesting that the same argument against Ayende, is used by the P&P team? ie. build your own, don’t use existing capability that the .net community has created? ...

posted @ Saturday, May 26, 2007 2:08 AM | Feedback (1)

On RYO vs. NIH

Bil Simser has stepped into the complexity debate with this post. This is actually on the end of Bil's post, but it deserve a special mention:As Jeremy put it, the P&P guys are a good thing as they're out there getting the Agile word out to many more people that we can. In that, I haven't done justice to the P&P team. Introducing Agile methodologies and best practices is something that I am very passionate about, and I failed to give them their due credit about their efforts in this...

posted @ Friday, May 25, 2007 12:36 AM | Feedback (11)

I may need a hat or a crow

So I can eat it (No Scott, I will not go to that resturant again, I know they can probably serve both, but the salad scares me). Appernatly CodePlex is adding Subversion support. What I would really like to know if it would have the same integration that the TFS backend would have as well. At any rate, I would like to take this opportunity to apologize to the CodePlex team, I would have never believed that you would do it, way to go!

posted @ Monday, May 21, 2007 11:36 PM | Feedback (11)

Losing the Alpha Geeks: It is not about OSS

Scott Hanselman has a post titled: Is Microsoft losing the Alpha Geeks?The collective group in the discussion at RailsConf seemed to agree that Microsoft should make not just the DLR source available, but actually create a non-profit organization, ala Mozilla, and transfer the developers over to that company. They should allow commits to the code from the outside, which should help get around some of the vagaries of the GPL/LGPL licensed Ruby Test Suites. "IronRuby" should be collectively owned by the community. In general, I would think that such an organization would be...

posted @ Monday, May 21, 2007 8:40 AM | Feedback (2)

Random thoughts in a vacum

Chris Holmes responded to my post about not liking the P&P stuff. Specifically, he takes offence at my dismissal of CAB:It’s possible that Ayende thinks it’s just a bloated IoC container not worthy to lick Castle’s boots. I wouldn't phrase it like that, even if I would have agreed to this statement. I think that ObjectBuilder has a long way to go before it has feature parity with Castle Windsor, but that is different than "bloated... ... not worthy of licking my boots... ". Let us not dramatise this issue needlessly. ...

posted @ Saturday, May 19, 2007 9:50 PM | Feedback (9)

What I don't like the Patterns & Practices efforts

The P&P groups has a lot of stuff that they release to the world, often with a lot of fanfare and people talking about that. I have reached the point that I no longer care about what the P&P guys are doing. Just having them release something, practically guaratees that this is not something that I would like to use. This has nothing to do with OSS vs. MS or something stupid like that. This has to do with the following reasons: The...

posted @ Friday, May 18, 2007 2:57 PM | Feedback (21)

Thinking about the Entity Framework

So, a few more things about the Entity Framework that came up today: One thing that worries me more than a little bit is that the Entity Framework has this three layers model, but all the focus is currently focused on 1:~1 (1:1 or nearly so) approach. This means that the interesting aspect of the Entity Framework, radically different models, is the least visited code path. At best, this mean that it wouldn't be supported by the designer, at...

posted @ Wednesday, May 16, 2007 12:20 AM | Feedback (10)

The Entity Framework is an OODB in disguise

I was talking to Scott Bellware during a presentation about the entity framework, and I think that I have a new idea about what the Entity Framework is trying to do. From the vision statement, it looks like Microsoft is trying to build a data management system, including all the relevant tools, that is beyond RDBMS. The mention of reporting, replication, querying, etc against the entity model is what is mentioned as the key differenciator from OR/M such as NHibernate. In the DotNetRocks episode talking about Entity Framework, Daniel has mentioned that they...

posted @ Wednesday, May 16, 2007 12:09 AM | Feedback (4)

The Entity Framework and Eating Crow

I was at an Entity Framework talk, and at one point they guys from Microsoft were criticized for bringing the industry back because:While the designer allows to get data from Stored Procedures, it is lame because it is not capable of generating them. Come on, VS 2003 had this capability, but the Entity Framework doesn't have it? I laughed so hard about that... After years of telling their customers that Stored Procedures were the only way, it was beyond funny to hear them being criticized on not support the old...

posted @ Tuesday, May 15, 2007 11:48 PM | Feedback (2)

MS-Innovation

From Wikipedia:Innovation is the introduction of new ideas, goods, services, and practices which are intended to be useful (though a number of unsuccessful innovations can be found throughout history). The main driver for innovation is often the courage and energy to better the world. It may be because I am not a native English speaker, but to me the word innovation also carry the idea that the new thing that was created was novel, something beyond a mere evolutionary improvement of the existing. Given that definition, it drives me...

posted @ Sunday, May 06, 2007 9:25 PM | Feedback (12)

Integrated Tools vs. Collaborating Tools

Daddy Starr has reponded to the latest discussion on TFS vs a mixture of tools, he points out that something that was missing from the discussion is... This misses the entire point of a common development platform, which is a far more important value proposition than a feature set within a subsystem.  The ability to repeatedly drive software through to delivery using common standards of quality, completeness, performance, trace-ability, and transparency is invaluable to any organization. ...

posted @ Tuesday, May 01, 2007 11:49 PM | Feedback (5)

Individuals and Interactions over Processes and Tools

This post from Sam Gentile has made me realize that I need to clarify a few things about the recent TFS vs. XYZ discussion. This post isn't really aimed at him [that would be me] but I do find a post by him seeming to suggest that you only can use OSS tools to be "Agile" to be, well, quite disappointing I guess that I didn't notice the conversation digress, but I really should clarify that it has never been my intention to suggest, or seem to suggest, any such thing. Tools helps, and...

posted @ Monday, April 30, 2007 7:15 AM | Feedback (2)

TFS vs. OSS - Round 4

Aha, my dear colleague. Yet you continue to use Visual Studio .NET, which, even without team system, has it's share of usability problems for you, I'm Sure. Why not use notepad or eclipse for writing the code, then running a command line to compile it, then use an XML Editor to change the config files? Why are you using a suite of integrated tools to develop code, in an environment which you probably aren't that crazy over? ...

posted @ Monday, April 30, 2007 6:39 AM | Feedback (5)

Exensability: Ask, and you shall recieve

Bil Simser has a few things to comment about me and Roy's discussion about TFS vs. the OSS stack:Yes, other packages out there are extensible by nature (Subversion for example) but require coding, architectural changes, hooking into events, all of which are nice but systems like this were not designed for it. That depends on what you want, but usually coding is not involved, scripting usually does. Arhcitectural changes, etc, are usually not involved.Was subversion really designed at the start to be extensible so I could maybe have my storage be in...

posted @ Sunday, April 29, 2007 11:26 PM | Feedback (3)

TFS Vs. Open Source tools

This is getting fun, another reply from Roy in our discussion about TFS vs the other alternatives. Regarding my last post, Oren (Ayende) points out that regarding TFS's features, he can either find a match for them in open source land, or he doesn't really care about them. What bugs me is whether, assuming you can find and create such a solution out of a package of open...

posted @ Sunday, April 29, 2007 10:11 PM | Feedback (5)

TFS, Zero Friction and living in an imperfect world

Roy responded to my post about disliking TFS: I think that Oren is making one big mistake: he's throwing the baby out with the bath water. Just because the source control is not as zero-friction as some open source alternatives, does not mean that TFS is not a valuable suite of tools, with more added value than most open source tools that I know of. [List of advantages that TFS...

posted @ Sunday, April 29, 2007 5:14 PM | Feedback (11)

CodePlex SNAFU

I found this mostly by accident, but it looks like a few weeks ago CodePlex has lost the source code for some of the projects hosted on the site. I would like to address the part about "free means no guarantees" that came up in the post:CodePlex is a free service.  They've provided complete source code hosting along with one heck of a website and never asked for a cent in return.  So, I really can't hold it against them. I would. Regardless of the legalese involved. I have certain expectations from such...

posted @ Sunday, April 29, 2007 4:09 AM | Feedback (1)

MSDN vs. Google

Here is a small experiment, I want to read the documentation for IDispatchMessageInspector Go to Microsoft MSDN search page: http://search.msdn.microsoft.com/search/Default.aspx Load time: ~15 seconds or so Put IDispatchMessageInspector in the search input field and hit go. Load time: ~8 seconds ...

posted @ Wednesday, April 25, 2007 1:09 AM | Feedback (18)

Paul Graham: Microsoft Is Dead, Take 2

Paul Graham has posted a clarification of his earlier statement about Microsoft demise:What I meant was not that Microsoft is suddenly going to stop making money, but that people at the leading edge of the software business no longer have to think about them. Whatever it is that he is taking, that is good stuff. We have to make a separation here from Microsoft as a platform builder and Microsoft as a service / application provider. In this case, I do believe that he is talking more about the service/application...

posted @ Tuesday, April 10, 2007 2:11 AM | Feedback (2)

Paul Graham: Microsoft is Dead

I read Paul Graham's article, and I couldn't quite believe the statements that he was making. I am not really sure where I can start talking about the flaws in the article. Just to take a couple of the most outragous ones. It now seems inevitable that applications will live on the web—not just email, but everything, right up to Photoshop. Even Microsoft sees that now. He links to SnipShot, and calls it a Photoshop competitor. That is not apples to oranges comparisions, it is like comparing a candle flame to the sun....

posted @ Saturday, April 07, 2007 7:40 PM | Feedback (18)

Rhino Mocks: Undebuggable

“Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” – Brian W. Kernighan Apperantly I am not smart enough to debug Rhino Mocks. Here is what I get when I try to debug Rhino Mocks in Visual Studio 2005 SP1. The really sad part is that SharpDevelop can debug the code without an issue. > oleaut32.dll!77d03c34()     [Frames below may be incorrect and/or missing,...

posted @ Friday, March 09, 2007 4:37 PM | Feedback (0)

It will do what you want in version 4.0...

But still start using it now. Another reply to Adi, this time a new post in which he clarifies what he meant before. The main idea is that Microsoft's products get a big mindshare regardless of their relative qualities. I do not doubt that this is true, a lot of people goes for Microsoft because it is Microsoft. Expecting that this will pay off in the future is still the wrong thing to do. I am one of those that would move to a new technology just because it gives me a tiny...

posted @ Friday, March 09, 2007 2:01 PM | Feedback (9)

It will do what you want in version 3.0...

But feel free to start using it now. Adi's post is bringing back memories from conversion long gone:First of all, even if a new technology from MS is not "decent" at first, you can be sure they'll keep bringing out new versions till it is, because that's what MS does best. I had practically this statement thrown at me about 8-10 months ago, talking about why the customer wanted to use DLinq instead of NHibernate. Adi, my response to that is, "So?" I can get a bottle...

posted @ Friday, March 09, 2007 12:18 AM | Feedback (3)

ASP.Net DataBinding

Here is an interesting read from Mike Griffin ( Entity Spaces, another .NET ORM ) about ASP.Net databinding, and the hurdles that it present to developers who want to give good design time experiance to their users. For myself, I gave up a long time ago. The last time that I opened the designer was by accident, code is simple, no reason to be afraid of it.

posted @ Thursday, March 08, 2007 11:21 PM | Feedback (1)

The Microsoft Religion

It is not often that I get an Ah-ha! moment when reading a post, but Nikola just did it. Check out his post. The most important part about it is:m. Even going out and searching for something better is a pain, and you may well not recognize if it is better unless you actually invest time in it. On the other hand, the label “Microsoft” on some random technology almost guarantees it is somewhat decent. And that makes a lot of sense.

posted @ Thursday, March 08, 2007 12:30 AM | Feedback (4)

Why I don't like the Team System SCM

Mahor reason: Latency. On a local network, it takes more than 0.2 second (the human noticable delay) to checkout a file. This means that I can open a file, start editting it, and for a split second, not get a response from the editor. Annoying as hell. Jeffrey Palermo posted about a refactoring he had made that touched 200 files. Using the Team System Model, that is nearly a minute when the IDE is basically unusable. I tend to do this kind of refactoring fairly often, and it feels like...

posted @ Saturday, March 03, 2007 10:12 PM | Feedback (4)

Enterprise Library License

The issue of the EntLib licenses just came up in the mono dev list. Quoting from the license:Platform Limitation - The licenses granted in sections 2(A) & 2(B) extend only to the software or derivative works that you create that run on a Microsoft Windows operating system product. That really surprised me. I supposes it makes some sort of sense for Microsoft, but I don't like it.

posted @ Wednesday, February 28, 2007 11:32 AM | Feedback (7)

It is official, the debugger hates me

And I thought that we are friends... For completeness sake, this is 100% repreducable, and happens when I and trying to debug a not hard to follow code, it can't enter this method... /// <summary> /// Close the generic type, using parameters from the invocation ...

posted @ Tuesday, February 20, 2007 1:18 AM | Feedback (0)

Required position at Microsoft: The YAGNI Guy

Again from Hammett:Microsoft should hire an YAGNI guy per product. That would be translated into more frequent releases and smaller and practical tools. I dare to say that stock holders will also appreciated it.  

posted @ Sunday, February 11, 2007 7:56 AM | Feedback (0)

The Slim Reader/Writer Lock in Orcas

Joe Duffy has posted about the new ReaderWriterLockSlim class in oracs, everything is cool, and I am very happy to see a replacement for the ReaderWriterLock. The Dynamic Proxy library had (twice!) bugs related to the way ReaderWriterLock was used (vs. the way it ought to work), which cause it to fail under high load. So, I was very happy, until I get to the end of the post, and I saw this: Lastly, I mentioned there are some caveats around where...

posted @ Thursday, February 08, 2007 12:01 AM | Feedback (8)

Adding SVN functionality to CodePlex

Apperantly there is a standing request that didn't get a lot of votes here. I am not sure that the world need another OSS SVN hoster, but go for it anyway.

posted @ Sunday, February 04, 2007 10:38 PM | Feedback (2)

Team Foundation Scalability ??? And why CodePlex exists?

I got a comment from Jonathan Wanagel on my CodePlex WTF. I complained that I couldn't get an access to source via Team System. I do not consider tarballs to be a good way of getting source for projects that I may be interested at. There is too much stuff that I cannot do that I should be able to (diff, reverts, easy update to new revision, patches, etc). Here is the comment:Unfortunately TFS isn't scalable enough to support all the anonymous users on CodePlex, so we restrict SCC access to project team members...

posted @ Saturday, February 03, 2007 11:23 PM | Feedback (10)

CodePlex WTF?

I want to take a look at a project on CodePlex, so I registered, and then took a look at how I can get the code from the repository. I already have the Team Foundation client installed, so I figured it should be no issue. I got to the documentation and looked at this: I then went to the project that I am interested at, and went to the source control tab: Can you see my problem? It looks...

posted @ Thursday, February 01, 2007 10:20 PM | Feedback (8)

Can Microsoft's Developer Division Compete?

Mike Schinkel has a couple of posts about Microsoft development division that makes for an interesting read: Can Microsoft's Developer Division Compete Moving Forward? Clarifying my Microsoft Developer Division Rant Be sure to check the comments, Eric Lippert has responded with some very interesting insight. And there is some very interesting discussion beyond that. My own comment to...

posted @ Saturday, January 27, 2007 1:04 AM | Feedback (1)

How much a hypothesis weight?

Well, roughly 6Gb. That is the download that I had to go through to get Orcas. And I am not even that interested in Orcas itself at the moment. I just want to test a crazy idea that I had. At any rate, I got the answer that I was looking for. The code below is not legal: public class Foo {     [IsValid( x => x==null )] ...

posted @ Friday, January 26, 2007 2:59 PM | Feedback (5)

Visual Studio SP1 Fixed Bugs List

Brian Harry gives an interesting perspective on why Microsoft will not publish the full lists of bugs that were fixed in VS SP1:We looked at publishing the entire list but I think it was ultimately decided that the effort to turn it into a list that was useful (understandable, organized, etc.) was extremely high and that publishing the community prompted fixes is the best cost/benefit trade off. That is really not an acceptable answer, as far as I am concerned. I can at a moment notice gives you a list of all the bugs...

posted @ Monday, January 22, 2007 8:24 PM | Feedback (3)

And it only took 3 days!

In the meantime, I had to make do with a really shitty technology presentation* to a customer, I lost about a day of work trying to make it work, etc. In a word, yuck! The solution for my trouble was here. Now excuse me, I got a lot of torn hair to gather back.

posted @ Monday, January 01, 2007 2:58 PM | Feedback (2)

Visual Studio SP1: Hosed My Machine

I started to get this types of errors all over the place after the SP install rolled back. Googling the results, is looks that I am not the only one with the problem, and there doesn't seem to be a solution in sight. WTF! Just to remind you, this is the RTM version of the SP1 that I tried to install

posted @ Monday, January 01, 2007 12:31 PM | Feedback (2)

Visual Studio 2005 SP1 Troubles: 2908 error

After testing the SP1 RTM on my home machine (which I consider OKAY to scratch), I tried to install it on my work machine, where it is not okay for things to fail. I let it run all night, and it produced this error. Now attempting to re-install Web Application Projects (which I had to remove before) fails, VS without Web Applications is hosed. Here is the last part of the logs: MSI (s) (94:20) [08:43:57:479]: Executing op: ComponentRegister(ComponentId={544FDEE8-F34D-4EC0-A970-ABBF31A0BD9A},KeyPath=<\Microsoft.VisualStudio.TeamSystem.PerformanceWizard,Version="8.0.0.0",FileVersion="8.0.50727.42",PublicKeyToken="b03f5f7f11d50a3a",Culture="neutral",ProcessorArchitecture="MSIL",State=3,,Disk=1,SharedDllRefCount=0,BinaryType=0)MSI (s) (94:20) [08:43:57:479]: MSCOREE not loaded loading copy from system32MSI (s) (94:20) [08:43:57:599]: Assembly Error:Function not defined in specified DLL.MSI (s) (94:20) [08:43:57:599]:...

posted @ Monday, January 01, 2007 7:33 AM | Feedback (0)

WPF Impressions

Since it is expected that I will learn WCF and use it extensively, I decided to take a look at WPF and see what I can do with it. Considerring that I am thinking about taking some of my posts and turning them into a series of recipes, I thought that it would be a good idea to start by creating Ayende Viewer. Not, it is not even half way complete, but it it looking good, isn't it? Couple of notes about it: ...

posted @ Sunday, December 31, 2006 2:40 AM | Feedback (0)

EntLib's Object Builder Issues: What am I doing wrong?

First, let me describe the scenario, I am using Object Builder in a web application to manage the services of the application. Under load, we started to get exceptions from deep within Object Builder. I should also preface this by saying that I have very little knowledge of Object Builder and it is entirely possible that I am commiting some grave error in using it. Anyway, here is a simple wrapper for Object Builder: public class

posted @ Wednesday, December 27, 2006 11:54 PM | Feedback (2)

MS Consulting and The Client's Best Interest

Karl Seguin has posted MS Consulting : One Consulting Company To Rule Them All, which I read with a sense of sinking horror. The problem with software consulting firms is that their incentives likely don't line up with their client's... [some paragraphs talking about how a consulting company can screw their clients...] Enter...

posted @ Sunday, December 24, 2006 8:39 PM | Feedback (3)

Visual Studio 2005 Service Pack 1

Yes, it RTMed, six months late, but that it not what I am talking about here. Whatever bugs it fixes are classified, apperantely, since the knowledge base link points to a dead end. Nevermind, at 432Mb, it is sure to fix a lot of issues, I am certain...

posted @ Friday, December 15, 2006 11:28 AM | Feedback (3)

Microsoft & Open Source (Take #2): What would it take to show they care?

Bryan Kirschner (MS - OSS Labs, Port 25) has posted a comment to my previous post about MS and OSS. He raises several interesting points in this comment, which I would like to answer here.If the community of .NET OSS developers feels like we don't care, I'm doing a bad job. I am sorry to say this, but I do think that Microsoft don't care at best, actively resisting it at worst.  Off the top of my head, here are two examples of actions that I would call nefarious: ...

posted @ Thursday, December 14, 2006 11:55 PM | Feedback (0)

The Problem of Open Source in the Microsoft World

I hope that this post will reach more than the usual readers of this blog, so let me introduce my open source resume:I am an active member (committer) of two big open source projects, NHibernate and Castle, own an open source project, Rhino Mocks (which is a part of Rhino Tools, a bigger OSS effort), and a semi-active member of an open source lagnauge on .Net, Boo. I am a heavy user of open source tools (Subversion, trac, log4net, nunit, nant, cuyahoga, dasblog, to mention just a few).  I have been actively involved in the open source community in the...

posted @ Saturday, December 09, 2006 2:06 AM | Feedback (28)

The other side of the shutdown button

Dennis is talking about the shutdown button issue, and bring some new insight into it:Is that really all that surprizing [lots of people with a say on this feature]? We are, of course, talking about a critical UI element of the flagship of a $300 billion dollar company. In particular about one of the most communicated and referenced features of an operating system that will see installation on hundreds of millions (possibly over a billion) PCs. Is it really that surprizing that a lot of people have a say in this critical feature? Maybe not....

posted @ Friday, December 01, 2006 2:32 PM | Feedback (0)

Sweat, Remote Desktop With NTLM

Check this out, this is an update to Remote Desktop that enable some new features, the most important of them is network level authentication. As someone who sometimes need 5 - 8 computers daily, I rely on RDP quite often, and it is very annoying to put my password every single time. Great feature!

posted @ Friday, December 01, 2006 12:35 PM | Feedback (1)

How to (not) develop big applications...

Check this out. This is a short explanation on how Microsoft manages to produce Windows. After reading this; four to six months to get the dependencies that you need for a feature?! the same length of time until other people get to use your code and you hear some feedback?! 64 people who has a...

posted @ Monday, November 27, 2006 8:49 PM | Feedback (6)

Vista: What Is The Killer App

So, I have installed vista, wasn't very happy about it, and went back to XP. This raise the question, what is the killer application for Vista? Even in my brief use of Vista, I could see a lot of stuff that I liked. But none of them was really good in the level of "Oh, I must have this!" Just repaving a system is something that take me days/weeks to recover from. Moving from XP/2003 to Vista is something that is going to take even longer. There should be something that would make...

posted @ Saturday, November 25, 2006 8:32 PM | Feedback (7)

Vista.Install.RollBack()

My Vista Install Experiance: I couldn't upgrade the machine, got some error about file corruption in: I burned to DVD and installed from scratch, and then it worked. Attempting to install VPN client (checkpoint, for what it worth) caused a blue screen and resulted in an un-operational system. I repaved the machine...

posted @ Saturday, November 25, 2006 7:38 PM | Feedback (2)

Now THAT is integration

Vista doesn't like PowerShell, so I removed it. This is what I got midway through it.   I must say that I was surprised to know that the XML Parser is based on PowerShell :-)

posted @ Saturday, November 25, 2006 10:24 AM | Feedback (1)

My MSDN Article

My MSDN article has been published and can be found here. It covers using IoC (specifically Windsor) to create very flexible systems. Users of Rhino Commons will be able to recognize a lot of the thinking that went into building Rhino Commons. Specifically, the foundations of IRepositorty<T>. The article has been brewing for four or five months. It started as a blog post after a particulary annoying day, but it took a long time to create it properly, and it got too big for even what I would consider a blog post :-). I am really...

posted @ Friday, November 10, 2006 6:24 PM | Feedback (12)

Reviewing 70-528...

Following Howard's advice, I decided to take exam 528. I feel better when I tell myself that I am reviewing the test rather than take them. It is a marked improvement on the previous two exams that I took. For a start, it was mostly focused on the web, and didn't digress into other topics. It also had only a single question that had me going WTF ("you have no SCM, and you need to publish an updated site to the server" - No SCM??!!) and another that had no correct answer that...

posted @ Friday, November 10, 2006 5:51 PM | Feedback (1)

A new record

For anyone who wonders why I consider 2Gb machines to be the bare minimum for development.

posted @ Sunday, November 05, 2006 8:32 PM | Feedback (4)

Open Patches For Visual Studio

In a step in the right direction, you can now download a few patches for Visual Studio and .Net without calling PSS first. Details and patches are here. Sadly, there is not yet a patch for "Visual Studio is too slow". :-)

posted @ Thursday, November 02, 2006 4:46 PM | Feedback (0)

Certifications: Part II

So I did 70-316 exam a few hours ago, and I am not really happy about it. It included questions about setup/deployment, security, localization as well as many questions about using datasets and accessing data. I think there was a single question that I could say related to WinForms: how to stop resizing a form. Two questions I really dislike: I had to answer with " SET NOCOUNT OFF " - I don't know what it has to do with...

posted @ Tuesday, October 31, 2006 6:00 PM | Feedback (0)

Stand back, I am Certified!

I just took 070-315 MCP test. Frankly, I was appalled by the level of questions that they had there. I speak here as both a technical guy and as a teacher. I used to be responsible for teaching and educating, and I am familiar with the concepts of good tests. If I was handed this test for evaluation, even without the technical knowledge to judge the questions, I would have failed it. And question that has the following as answers is fatally flawed... A) products.Merge(otherProducts, true);B) products.Merge(otherProducts, false); And that is leaving aside my own feeling about my own feeling about the whole DataSet / DataTable issue....

posted @ Thursday, October 26, 2006 5:43 PM | Feedback (2)

Mandatory Shutdown WTF?!

  I really "appriciated" the fact that it has no way to stop it. I had to stop the automatic updates services to get it to stop (killing the process wasn't enough!)

posted @ Thursday, October 12, 2006 1:05 AM | Feedback (4)

Reflection WTF

This is a major WTF, in my opinon, consider the following code: using System; public class Program {  static void Main()  {   Console.WriteLine( "Is Public: {0}", typeof(Inner).IsPublic );   Console.WriteLine( "Is Not Public: {0}", typeof(Inner).IsNotPublic );  }    public class Inner {}...

posted @ Sunday, October 01, 2006 9:56 PM | Feedback (0)

Visual Studio 2005 SP1 Beta1: You just came, and now you are leaving...

It took amazingly short while for me to decide that SP1 Beta1 is not going to work for me. Here is what I get when I try to create a new WebForm in my application: I'm going to try reinstalling, but if it isn't working, then it is going away.

posted @ Thursday, September 28, 2006 10:16 AM | Feedback (2)

More HttpModules Strangeness

My web.config file defines the following Http Module: <httpModules>     <add name="UnitOfWorkModule"            type="Rhino.Commons.HttpModules.UnitOfWorkModule, Rhino.Commons"/></httpModules> Yet, for some reason, I get two instances of the UnitOfWorkModule, and I can't quite figure out why. It looks like it is proccessed okay, when I look into the Http Application Initialization, I get the following registered modules:But, if I put a break point on the Init() method in the Http Module, it is called twice! I run it many times, and the "secret" seems to be multiply requests in the application's start. It looks likes several HttpApplication instances are created, and this is what is causing the issue.This...

posted @ Sunday, September 10, 2006 11:52 AM | Feedback (10)

HttpModules Bug?! Dispose() called more than Init()

I run into some very strange issues latelt with regard to Http Modules. I am using Http Modules to setup the environment for my application. In particular, I am using Unit Of Work Module to mange my Unit Of Work and the life time of application wide resources (like the Inversion Of Control container instnace). The problem that I run into was that I began to get errors from the application, saying that the container was missing. That, of course, was not possible, since I registered the HttpModule correctly, and it certainly did it job, for a time. The issue was mainly that...

posted @ Sunday, September 10, 2006 11:02 AM | Feedback (0)

Reading the SSCLI Comments

I'm browsing through the Shared Source CLI at the moment, for no good reasons... I found the following comment in the System.String implementation...**Action: Many years ago, VB didn't have the concept of a byte array, so enterprising **        users created one by allocating a BSTR with an odd length and using it to **        store bytes.  A generation later, we're still stuck supporting this behavior. Good to show a sense of humer in the code, I always says. Did you know that the CLR has a week reference hashtable? (Marked internal, of course, so you will not be able to use that ("Why, you horrible little man, why would you want to use a weak hashtable? Infidel") You...

posted @ Friday, August 25, 2006 8:06 PM | Feedback (0)

What drives me crazy about PowerShell

It has a start time for the shell, it it close to ten seconds, which means that I can't just fire the shell and start running.

posted @ Saturday, August 19, 2006 2:13 AM | Feedback (4)

Visual Studio Riddle

I have the following project structure: ...

posted @ Wednesday, August 09, 2006 8:10 PM | Feedback (8)

Microsoft Virtualization Fault: License

Microsoft and VMWare has made their base and medium level products free, but by doing this, the free OSes advantage became very clear. Take a look at this list of avialable VMWare images. Rails, Python, PostgresSQL, Trac,  and I am only counting the ones that interest me. Thoughtworks' Buildix is a Linux/CruseControl/Subversion server, and it targets just the Java space, and it is a crying shame. I am currently working on duplicating that, but I will not be able to share my efforts, due to licensing restrictions. Using VMs is...

posted @ Tuesday, August 08, 2006 7:34 PM | Feedback (4)

The case of the disappearing IDE

Has it happened to anyone? One moment I am working on the IDE, the second moment it is gone? Happened to me twice today already.

posted @ Saturday, July 01, 2006 7:57 PM | Feedback (7)

More thoughts about ADO.Net Entity Framework

After reading the documentation, I have some unanswered questions about Linq For Entities, Microsoft new OR/M framework and I'm concerned about its usability in real life. More spesifically, I'm concerened about the following: Many to many relations. I have not seen a single mention of them in the documentation, and I know that DLinq doesn't support them. Support for indexed collections (IList<T>) and maps (IDictionary<TKey,TVal>). Again, no mention of those in the...

posted @ Saturday, June 17, 2006 6:22 PM | Feedback (4)

ADO.Net Entity Framework

I'm currently reading the documentation for ADO.Net Entities Framework. As always, I'm using this as a scratch pad for what I think as I read this. Next-Generation Data Access - June 2006: They still allow access to lower level services with the Entity Framework. Lower level is apperantely IDbConnection and IDbCommand. They mention the 80% brick wall, which is encouraging. The problem is that I don't like this solution. The framework should be flexible enough that I could plug in at all...

posted @ Saturday, June 17, 2006 4:17 PM | Feedback (8)

Blog numbers...

I occasionally look at my Blog logs, and today and yesterday there was about 3,500 visitors, and about 5,500 rss reads. This is a significant jump, and I'm not sure that I can explain it. I was linked from TheServerSide and from ScottGu's blog, both of which are major contributors, but it is not just that. I wonder if it will keep. To all the new visitors, welcome, and do feel like home :-)

posted @ Tuesday, June 13, 2006 7:37 PM | Feedback (6)

OR/M Madness in Microsoft

It looks like someone in Microsoft is loving OR/M even more than I do. They are going to release two competing OR/M frameworks. DLinq (now Linq for SQL) and Linq for Entities. I guess that no one in microsoft has read In Search of Stupidity: Over 20 Years of High-Tech Marketing Disasters. It is going to Windows 9x vs Windows NT all over again. How are you going to explain to a customer what is the difference between the two? ...

posted @ Tuesday, June 13, 2006 5:27 AM | Feedback (4)

List is broken

It is broken because it is a basic framework class that doesn't have a single virtual method. I want to have a list where a delegate is called when an item is added or removed, but I can't do that, since this means that I need to override the Add()/Remove() methods. I need to create a completely new class, implement the entire IList<T> functionality, to get such a basic behavior. Yes, I know about Collection<T>, but this isn't acceptable. Why have two seperate classes? If I want a custom collection with ForEach() method on it,...

posted @ Saturday, June 10, 2006 11:27 PM | Feedback (3)

Windows Doesn't Like Me Recently

So, I come home today, and find that the computer is: Turned off Won't boot, saying that "\WINDOWS\system32\config\system" is corrupted or missing. That file is one of the major registery file, and is mandatory for Windows to boot successfully. I followed the procedure outlined here, but I couldn't get it to recognize all the changes that I made to it. The problem is that this is the second...

posted @ Wednesday, May 24, 2006 1:04 AM | Feedback (2)

Office 2007 Beta 2 Mini Review

Well, it is looking really nice, and they updated outlook as well, if not as significantly. I'm writing this now with Word's Blogging functionality, and overall the experience is very good. Except that I can’t post this using Word, of course. The one problem that I noticed is that I can type faster than Office can accept the input, and sometimes it feels somewhat sluggish.  I'm not overly concerned about it right now. It's a beta, and I'm running this on a heavily loaded computer. One thing that really matters...

posted @ Monday, May 22, 2006 10:14 PM | Feedback (0)

Word 2007 Blogging Feature

I've tried Word's Blogging feature, and while it looks very cool, there is one big problem with it. It refused to publish new posts to my blog. It got no problem with reading or updating existing posts, but it just refuse to post new things, claiming that it can't connect or the password is wrong. I tried both MetaWebLog and as Community Server (my blog is DasBlog) Argh!  

posted @ Monday, May 22, 2006 10:04 PM | Feedback (0)

ADO.NET 3.0 Entity Framework & Black Helicopters

Something fishy is going on. Andres Aguiar has posted about ADO.NET 3.0 Entity Framework, and Jimmy Nilsson as well. This is the first time that I heard about this, so I tried to follow the links to see what this is about (apperantely some sort of an XML based O/RM from the ADO.Net folks). All the links in both Andres and Jimmy posts are broken. Those links are to MSDN and to the team's blogs. I talked with Jimmy, and he says that there was a Channel 9 story that is gone as well. ...

posted @ Friday, May 12, 2006 11:11 PM | Feedback (1)

DLinq Questions

I'm going to be in the DLinq Session tomorrow morning, and I'm posting a list of questions that I've right now. If you would like me to post a question, put it in the comments or email me. Does DLinq support lazy loading? What kind of associations DLinq supports (many to many is not support, I already know)? What happen if I try to load an object that is already loaded? How do you build a good DAL with DLinq? Obviously the samples I've seen so far are not going to work. I'm not going to the database directly from the UI. What sort of...

posted @ Wednesday, May 10, 2006 11:41 AM | Feedback (1)

From Tech Ed Eilat

I'm writing this post on IE 7 from a Vista laptop that is about twice the size of my normal laptop. It is so big that it has a full keyboard, including the numeric keypad. I have no idea what the model is, but the screen it huge. I was at the LINQ Session right now, and I was impressed with the capabilities even though I already knew about most of them. One very troubling things came up on this talk. DLinq is not going to support many to many assoications on the first version. This is fairly common, and I'm...

posted @ Wednesday, May 10, 2006 11:33 AM | Feedback (0)

Tech Ed Israel 2006

I'm going to Tech Ed Israel in a few minutes. I hope it is going to be fun. If you are there, give me a call and we can meet and chat. (My phone is on the side of the page).

posted @ Tuesday, May 09, 2006 3:41 AM | Feedback (0)

Rant

Note: This post started as a comment on the post just below, but it developed into a full blown rant along the way. I'm detailing many of my frustrations with the tools. Scott Bellware has posted Mort or Elvis? A Question for a Bygone Era, which is a great post (as usual), but it also hit many of the pain points that I feel in working with VS 2005 recently. In fact, Scott does a great job of expressing those pain points than I could. ...

posted @ Wednesday, April 26, 2006 7:05 AM | Feedback (3)

What is Up With Passport?,

I'm trying to watch the Object Builder Webcast, but I keep getting an error when I try to register:We're unable to complete your request The Passport Network is experiencing technical difficulties. Please try again later. It has been this way for over 24 hours. Anyone knows what is up with this?

posted @ Sunday, April 23, 2006 5:47 AM | Feedback (3)

Great DNR Quote

I was listening to DNR #170 and Tim Huckaby (Am I the only one who read tha Huckleberry?). There was a moment there when Tim said: "Microsoft is never going to ship..." and there was a pause where I thought "WTF?!" and then he continues "another product as bad as Windows ME". This sentiment goes a round of appluase from the crowd (which include Me and I, incidently). I keep recalling a quote: "No one will remember if you were late, but they will remember if you were bad."

posted @ Wednesday, April 05, 2006 6:48 PM | Feedback (0)

Working with VS.Net 2003

I had to do a two minutes task in Visual Studio 2003 today, and it took me exactly three seconds to run into something that doesn't exist in 2003 that I've grown to like in 2005. I thought that I didn't like VS.Net 2005, but it's a great deal (better | slower) than VS.Net 2003. I also got ReSharper to work semi reliably on VS 2005, so that makes all the difference in the world in the amount of satisfaction that I get from work. I had ReSharper generate a full blown class...

posted @ Sunday, March 26, 2006 10:02 PM | Feedback (0)

1.5 BILLION Page Views A Day

ScottGu got some interesting statistics about ASP.Net 2.0: MySpace.com is now processing 1.5 Billion page views per day MySpace.com handles 2.3 million concurrent users during the day ...

posted @ Sunday, March 26, 2006 12:53 AM | Feedback (2)

Microsoft Shared Source License

As a developer who is involved in Open Source projects, I understand that licensing is a nasty but important part of software. I read the Shared Source CLI license and was surprised by how legible it was. In essense, it means "Don't use it for commerical purposes and don't change the license in deriative works." I was surprised to find this piece there, though: You may use any information in intangible form that you remember after accessing the Software. However, this right does not grant you a license to any of Microsoft's copyrights or patents for anything you...

posted @ Friday, March 24, 2006 7:34 PM | Feedback (0)

What happened to VS.NET 2005 Service Pack?

We were promised soon after the VS.Net launch that there will be a service pack for it in the first half of 2006, which is not so far away. Considerring that the promise for VS.Net 2003 SP in April is not likely to happen with the first beta just arriving, I'm concerned about this. I get annoyed daily that my 1.3 Pention M + 1Gb RAM isn't fast enough to run VS.Net (code editing only, I hardly ever use a wizard) in a mode that will not leave me waiting at least every couple of minutes....

posted @ Thursday, March 23, 2006 9:36 PM | Feedback (0)

On Vista's Delay

There is a good discussion in Mini Microsoft's comments about the Vista delay. Specifically, I like this, this and this in particular. My two cents are, ship it when it's ready. The entire world is going to have to live with this system for ~5 years minimum, so I really don't want Microsoft to release something that is not ready. And yes, little stuff matter, VS.Net 2005 is ~15% slower than VS 2003, in the long term, this hurt! Check the amount of negative comments that Microsoft got on the VS.Net 2005 launch. Microsoft reputation is...

posted @ Wednesday, March 22, 2006 9:39 PM | Feedback (0)

Live vs. Google

I like the live.com UI, but I just run a test on both Google and Live.com, and it's amazing how much better Google is. The query was:seven impossible things before breakfast, the red queen I'm looking for the full quote from Lewis Carole, here are the results from Live, and here are the results from Google. The first result on Google looks like the one that I want. I had to scroll down quite a bit in Live to get to something that looked promising. I'm used to scanning the search results, looking...

posted @ Wednesday, March 08, 2006 9:12 PM | Feedback (0)

Rhino Mocks 2.6.4: Bug Fix Release

I think that I should drop a note about all the three recent releases. In version 2.6.2 I changed the way Rhino Mocks handles dynamic code generation to make sure that Rhino Mocks would only generate the a type for a mock type once. Before, it would generate the mock type for each MockRepository. The meaning of this change is huge memory optimization, and a significant performance increase. The downside is that bugs that weren't noticable when the types were geberated to different assemblies now surface. The main issue were generics, where the...

posted @ Saturday, March 04, 2006 12:21 PM | Feedback (0)

Why So Many Snippets

So Microsoft has posted a lot more snippets, a Jeff has made them more accessible. I downloaded them and took a look. I'm pretty sure that you could hear my cries of horror all the way to Remond. Why? That is the question I have. Snippets are useful for things like generating a foreach (although the Microsoft implementation sucks, try the way ReSharper does it.) or maybe generating a method skeleton. I see them doing things there like Hashing A Password, Encrypting Files, etc. Why? This is just a recipe...

posted @ Wednesday, February 22, 2006 6:56 AM | Feedback (0)

TestDriven.Net & Code Coverage

I just found out that TestDriven.Net can use the VS.Net code coverage! This is great, since the VS.Net code coverage engine is the best looking one I've seen so far.

posted @ Saturday, January 14, 2006 1:40 PM | Feedback (10)

ReSharper & VS.Net: Kaboom

I'm running ReSharper #213, and it's aweful. Exceptions are all over the place. The problem is that it is so feature packed that I have a hard time living without it. I just had an instance where doing a refactoring on R# caused the entire IDE to vanish.

posted @ Friday, December 23, 2005 10:05 AM | Feedback (1)

VS.Net Search & Replace

Can someone explain to me why the VS.Net S&R doesn't use the standard regular expressions library that ships with .Net? I can understand the need to create one when it didn't exist, but why force us to learn both how VS.Net S&R regex engine works, and the standard .Net one. There are some very cool stuff there that I use all the time (:i, for instance), but it would be easy to add it the the engine just for this, why fork it? Historical reasons?

posted @ Tuesday, December 20, 2005 9:16 PM | Feedback (0)

The Windows Tidbit For the Day

You can usually use double Ctrl+Alt+Delete to get to the old logon screen in Windows XP, but it doesn't work with Fast User Switching, I don't know why. If you log off, it works. Strange.

posted @ Monday, December 19, 2005 8:19 PM | Feedback (0)

Ready To Launch? Yes!

I was at the VS 2005 Launch today, mainly stayed on the main track. There were some interesting sessions that I managed to catch, especially Roy & Jackie talk and the security talk. I didn't like the whole play attidute that was in many of the lectures, it sometimes felt like it was half a huge ad and half talking to someone with no brain activity. On the whole, it was nice, and I got away with some new stuff that I didn't know. Roy & Jackie talk was great, but I've to say...

posted @ Monday, December 12, 2005 11:32 PM | Feedback (1)

Stop, In the name of backward compatability...

Kzu has found a bug in the .Net framework. The issue boils down to the framework saying that: Yes, sure you can convert the string 'Foobar' to int. Microsoft response is: We do not have the luxury of making that risky assumption that people will not be affected by the potential change. I know this can be frustrating for you as it is for us. Go read the discussion there, and please vote for this. I fail to see a scenario where a working program would...

posted @ Thursday, December 01, 2005 8:06 PM | Feedback (1)

No code today

I feel a burning in my eyes, a pain in my  temples. What can it be? Perhaps it is this code that I just read? Unfortantely I can't post it, but it's a TheDailyWTF candidate for sure. The authors carefuly considered each and every best practice in .Net, and gave them a very careful, very... interesting twist. For instance, on the subject of business objects vs. datasets, the code implements ORM on top of DataSets, Argh! And that isn't the least of it! So, I'm not going to write any more code today...

posted @ Tuesday, November 29, 2005 10:02 PM | Feedback (0)

About code economics...

Some time ago Eric Sink posted about people who complained about the bugs in VS 2005. The six billion people of the world can be divided into two groups: People who know why every good software company ships products with known bugs. ...

posted @ Monday, November 21, 2005 8:01 PM | Feedback (0)

Visual Studio 2005 & Referencing exe

Did you know that you can reference exes in VS 2005? For some strange reason, you couldn't in 2003. It's nice to have it without hacking build scripts all over the place.

posted @ Saturday, November 19, 2005 2:56 PM | Feedback (0)

Ayende vs Web Projects: Part N

For the last week of so, my life has been relatively free from annoyances with web projects. I've learned to work around most of the issues, and except from the slow build times (Ctrl+Shift+B is hardwired into my left hand now, and I can't really change it, anyone has a config editor for muscles?) and the slower refactoring times, I'm happy. I just adore refactoring, and I use it all over the place, and the slowness of refactoring in each and every time I make a change in a solution that includes a...

posted @ Tuesday, November 15, 2005 6:25 AM | Feedback (2)

Phoenix & Boo

Check out this MSDN article! If I'm reading it correctly, this has the potential to bring the Open Compiler Architecture from Boo to the rest of .Net world, as well as to native code. The implications of this are stagerring. Yes, please let it out. Show it the light of day. Bring bliss to our work.* But seriously, this is something that I really wants, since it can cut down code so fast you couldn't even believe. In truth, I would be very surprised if Microsoft released this tool to the...

posted @ Tuesday, November 08, 2005 8:44 PM | Feedback (0)

Visual Studio on eWeek

Seems that the story about VS quality has reached eWeek, and I was mentioned. There is an interesting Microsoft Watch article about it, too. Since I recently went on a ranting spree, I want to clarify some things. I don't agree with some of the design decisions that Microsoft did. But it is their framework, and I think that they have done a wonderful job in both dotNet Framework and in VS 2005. I just found out that conditional breakpoints works in C#, and it saved me half an hour of stepping to...

posted @ Tuesday, November 08, 2005 8:38 PM | Feedback (0)

Servicing plans for VS 2003 and VS 2005

There is going to be a service pack for VS 2005 and 2003. This is very good. 

posted @ Tuesday, November 08, 2005 5:52 AM | Feedback (0)

VS 2005 Web Deployment Projects Are looking Cool

Take a look at the things you could do with this. I can't wait until it'll be out.

posted @ Monday, November 07, 2005 7:29 AM | Feedback (0)

I really hate web projects.

And I mean hate them. The cause me to lose time. I can't quite tell you how aggravated they made me. Here are the most recent butch of problems: Using Subversion for SCM, I commit and move to another machine, checkout and try to work. The web project refuse to compile. The reason? Who knows, but it looks like it lost the knowledge about referenced projects. It treats them as if they were normal files in the bin directories, and since...

posted @ Monday, November 07, 2005 5:22 AM | Feedback (3)

More on VS 2005 Quality

I got mentioned on Mini Microsoft, along with couple of others that had similar problems. The comments there are pretty interesting. The official launch is tomorrow, so that means that anyone who is using 2005 RTM is a hard core guy, and they are the fellows that are passionate about it. They are the ones that are hurt by those bugs. Because you're not supposed to find so many bugs in a product so fast. Some of those bugs will cause me to lose my work. That is unacceptable. What is going to...

posted @ Saturday, November 05, 2005 11:32 PM | Feedback (2)

What Visual Studio did good

After slamming so much into VS.Net, some might think that I don't like it. This couldn't be further from the truth. I really like it. If I didn't, I wouldn't be so pissed off about the finishing touches. When working on MonoRail, I've to use Visual Studio 2003. And it's plainly visible where they gotten things better. Hell, just the visuals of setting a breakpoint in 2003 vs 2005. Are they functionaly the same? Yes, but the 2005 makes me feel better. Speaking about breakpoints, debugging in VS 2005 is...

posted @ Saturday, November 05, 2005 6:36 PM | Feedback (0)

Didja know? Web projects do time traveling...

It's a little known fact that Microsoft managed to add time traveling capabilities to web projects. In order to activate this capability, all you need to do is to discover a bug in your application. Suppose it's an instantly recognizable, and instantly fixable. Now, in order for this to work, the bug must be in a library that the web project references. Fix the bug, and run the application again. It works! :-) Dance a little jig, and then keep on working. Five seconds later, you'll discover the same bug....

posted @ Friday, November 04, 2005 11:36 PM | Feedback (2)

Visual Studio 2005 RTM: Buggy, Buggy, Buggy

Seems to me that there is a lof of bugs in the RTM version of Visual Studio 2005. Here is a random collection of things that I run into recently: Wesner Moise, Frans Brouma, Roy Osherove, Michael Teper and Rolf Bjarne all have found bugs that I would categorize as Very Serious. I myself have run into this bug, and ReSharper is nearly unusable because VS.Net doesn't respect the colors that ReSharper tells it to paint. (It paints strange stuff that is...

posted @ Friday, November 04, 2005 7:30 PM | Feedback (4)

No Spagetti for Me!

I would like to join the call Against the Spaghetti Code that VS.Net designers are encouraging. I like RAD as much as the next guy, but there are some things that you really shouldn't do.

posted @ Wednesday, November 02, 2005 6:09 PM | Feedback (1)

PDC Videos

I currently watching Raymond Chen talk. It's so cool to be able to see what all the excitement was about. It a shame that the price for the DVD set is so high (500$ ?!). I'm really glad that Microsoft decided to make them avialable, even if not to the FireFox using crowd. I'm scanning the archives now, looking for good talks. There is so much stuff there. Rico Mariani's presentations, GC Inside out, Concurrency, etc. Best quote so far, from Raymond's talk: "I can do nothing...

posted @ Saturday, October 29, 2005 7:40 PM | Feedback (0)

Settings Repository

I just read Raymond Chen blog and one of the comments there threw me off.  In my opinion, there should be a mechanism that allows you to do full-text search of "settings dialogs," so you don't have to know where to look. Kind of like searching the Control Panel in Windows Vista but even deeper. (Authors of such dialogs would have to opt-in and provide a reasonable entry point.) I didn't know that the control panel could be searched (but not very well, apperantly. Searching for resolution didn't...

posted @ Tuesday, October 25, 2005 7:06 PM | Feedback (1)

Does Visual Studio Rot the Mind?

Charles Petzold has a really good talk here about the problems that VS.Net gets you with being too smart. Best quote: IntelliSense is considered by some to be the most important programming innovation since caffeine I tend to agree with him, although I come to it from a different angle. From a non UI perspective, I find that people often takes the easy path that they saw on the demos, and very quickly ends up with unmaintainable mess. I'm a big believer in making the computer work for me,...

posted @ Tuesday, October 25, 2005 2:06 AM | Feedback (0)

A study in unusability

VS 2005 has a great concept called snippets. It's a wonder it didn't have it before, since it's a very basic item, but at least we got it now. There is a community site where you can get snippets from the community. All in all, I think that this is a laudable idea, but I find the implementation problematic. Take a look at the site, it's a very clean UI, and you can see the last 5 entries. This is well and good, but I couldn't figure out how to...

posted @ Monday, October 24, 2005 2:13 PM | Feedback (0)

Getting ready to .Net 2.0, choosing an IDE

I'm currently doing a big project on .Net 2.0, you might have figured that out because that is about all I talk about lately. I did a short code review for myself recently, and I noticed that I used  just about every new feature of C# 2 that came out short of partial classes (and they would be used on the UI). Of the top of my head, here are the features of C# 2.0 that I love: Anonymous Delegates - I...

posted @ Thursday, October 20, 2005 6:36 PM | Feedback (0)

Visual Studio 2005: Unfit for Testing

I'm not sure who is in fault here. If it is me or if it's something in VS. I didn't get any training, or read any books, before moving to VS 2005. And I am certainly struggling with it. I'd a comfortable set of tools in VS 2003, which I knew and loved. And VS 2005 has (on the surface) superior tools. But I keep running into stupid things that making it impossible for me to use them. I've used VS testing capabilities for less than a single day, and I can tell...

posted @ Friday, September 30, 2005 10:41 AM | Feedback (6)

Why Super Fetch is exciting

When I'm using my primary computer, I'm usually just go away when I'm done, so anything that is save in the virtual memory fetch is there when I return. I'm assuming here, of course, but I don't think that it clears out the cache unless there is a memory pressure. I can certainly see an increase in the amount of memory that my session is taking whenever I run for long periods of times. My current uptime is 23 days (reboots are purely windows update ones), and applications luanch are nearly instantenious. This...

posted @ Friday, September 16, 2005 7:32 AM | Feedback (0)

Watching the PDC keynote

As I said, I'd a lot of problem in trying to watch the streaming keynote, so I finally (after what, three days?) managed to download it all (and that is on a broad band, mind you). So I'm watching it now, and I'm seeing the new things in Vista, and I'm sitting here with my mouth open wide. No, I'm not talking about the UI, it's the Super Fetch stuff that has be stunned: Fast applications start after reboots....

posted @ Friday, September 16, 2005 7:00 AM | Feedback (0)

Incredible

Read this post about how Microsoft's employees helped Katrina's victims. The list is just incredible.

posted @ Saturday, September 10, 2005 1:37 PM | Feedback (0)