This is my precise issue with Microsoft today. People rush to use Entity Framework, despite more featureful community projects that are better tested and have a wide base of users. There is a poor or nonexistent community surrounding many of the Microsoft technologies. The fact that community projects targeting Microsoft properties have to be released with Microsoft's control and branding is very disappointing.
Sorry, I took "The Garage is a community" to mean non-Microsoft employees. More to that apology, a re-read of your comment leaves me wondering just what I was thinking. Alas, I'll continue with my thoughts; feel free to ignore them or consider them OT; I apologize.
My point might be summarized or expressed in a different way. I worked with .NET for the last 12 months and I can remember (just off the top of my head) 4 distinct issues that were trivial to fix but where not documented or described anywhere. They were weeks of work. On the other hand, I'm working with non-Microsoft tools and languages now, and I've had more than three of these scale of issues resolved in literally less than a minute in an IRC channel, and if not, in a tweet, or a forum post.
My joke is that if Google/Binging is not productive in a .NET technology/tool/etc, my next best hope is posting on a forum with ridiculously buggy forum-software, and waiting two weeks for a response. There have been more than one post about this phenomena on HN as well. To be clear, I don't necessarily think this is a "Microsoft problem", I'm just not sure why the tactics and resources available for more open or community-based projects are so vastly different than the .NET/Azure/Windows scene (again, in my experience).
Again, it's purely anecdotal, but I've had more than one topic go without any reply, and one result in a Microsoft employee asking me to email logs. One of which was over 600MB in size, just from loading VS and after sending the email, I never heard back. I eventually gave up on that particular issue and took the only remaining option which was reimaging my machine. (A Microsoft produced and supported VS addon was causing errors in the .NET runtime that were uncaught and untraceable. Reinstallation of VS, SP1, and all installed version of the .NET runtime were futile).
(funny, the parent reply was posted, my post was downvoted and shriphani's post were resurrected all within 30 seconds. Can't we just have a conversation about this without it being personal or political? I know you both work or have for Microsoft)
>Again, it's purely anecdotal, but I've had more than one topic go without any reply, and one result in a Microsoft employee asking me to email logs. One of which was over 600MB in size, just from loading VS
Yes, sometimes to trace down a problem dump files are necessary, and with full heap info they can be big. If you expect psychic debugging based on (often times) vague descriptions of your problems or a problem that they can't repro on their side, then you will be disappointed, then again with expectations like that I imagine you will be disappointed a lot in life from pretty much every software company you ever deal with.
>A Microsoft produced and supported VS addon was causing errors in the .NET runtime that were uncaught and untraceable.
This sounds...unlikely. Not because Microsoft produced AddOns can't possibly have bugs (of course they can), but saying something is 'uncaught and untraceable' is like saying there is a evil demon in your machine, it just doesn't stand to reason. Exceptions are exceptions are exceptions. Debuggers can and do catch them rather handily, if they didn't / couldn't they would be pretty much useless. I think a more accurate explanation would be 'I couldn't figure out how to diagnose the problem myself'. Without sources that is understandable as often times it is necessary to get to the root of the issue.
>Reinstallation of VS, SP1, and all installed version of the .NET runtime were futile
So you never solved the issue and continue to see it to this day? Or you just stopped using VS or this particular add-in all together?
Whatever. I've lost interest in participating in this thread.
I don't frankly care if you believe me. The crash occured and the .NET runtime kindly informed me that it was unaware of where the crash was occuring. I'd post it here, but I'd prefer it were not linked to my name as Googling the error message reveals my only post.
I had to reinstall Windows to resolve the issue. Reinstalling Visual Studio and the Azure SDK and SP1 and all the .NET runtimes did not resolve the issue.
Just so happy to see that I've been downvoted with no explanation to how my comments violated HN principles and I'm being accused of being incompetent and stupid. Fantastic. If I'm so incapable of reproducing issues and "demons in a machine" is so laughable, why exactly does the "Unhandled ExecutionEngineException" exist and why was it more than trivial for me to reproduce?
So now three MS people doubting me, mocking me, and suggesting #win32 as remotely comparable to open source style IRC rooms. This is just sad, and ironic as all get out considering the fact that my original comment was that Microsoft and community don't play nice together. Don't you see that irony?
>Whatever. I've lost interest in participating in this thread.
That's unfortunate.
>If I'm so incapable of reproducing issues and "demons in a machine" is so laughable, why exactly does the "Unhandled ExecutionEngineException" exist and why was it more than trivial for me to reproduce?
Well, an ExecutionEngineException is simply the CLR encountering some unexpected problem. The CLR is a piece of software like any other, it is simply a COM component, written in C++. Like any other program it too can have bugs and situations that it fails to handle gracefully. They are not untraceable or uncatchable in any way, I have caught and debugged a number of them. Of course without the pdbs/source that is much harder for an external person to do. In my experience it is actually preceded by an SEH exception that the CLR itself will catch and translate into the rather generic ExecutionEngineException, so watching for first chance SEH exceptions is generally more fruitful.
>So now three MS people doubting me, mocking me, and suggesting #win32 as remotely comparable to open source style IRC rooms.
So when I point out that 'untraceable uncatchable exceptions' don't exist you see that as mocking you? Or was I the doubting one? I am simply a software engineer, like I assume you are. I was pointing out some things don't exist. If untraceable, uncatchable exceptions existed there would be a class of bugs that were logically impossible to find/fix.
As for 'the .NET runtime informing you that it was unaware of where the crash was occurring', the .NET runtime would never be aware of such a thing as a crash is a crash. It means the exception found no handler and the process was terminated. Figuring out why is what a debugger is for, not the runtime.
>I'd post it here, but I'd prefer it were not linked to my name as Googling the error message reveals my only post.
It is strange that you want to hide your identity so much.
>This is just sad, and ironic as all get out considering the fact that my original comment was that Microsoft and community don't play nice together. Don't you see that irony?
Not really, 'the community' doesn't consist of a single person. I am active on the MSDN forums in my area of expertise. I am also active on my team's blog. In the course of such activities I regularly encounter trolls, I am not saying you are one, just saying they exist. To 'play nice' with a troll is pointless. Some people have axes to grind and no matter what you say or do they will be upset, there is no point trying to help those people. Also, if people are rude from the get-go I tend to not bother helping them, since I generally am spending my own free time to try to help them out, and there are lots of other things I could be doing. Civility is kind of the minbar for what I expect of them.
As for 'open source' communities being more civil/friendly...well that is certainly not my experience across the board, but then again, people always have different experiences and tend to remember the worst/most frustrating of them and project that as 'the norm'.
My comments were never about the communities being civil or friendly, they were about them being in existence. There is no equivalent for many of the support channels I enjoy in products that do not come from Microsoft. For the third time, I will note that I don't find this a fault of Microsoft at all, but just something that happened as .NET grew among developers around the world. It was merely a point of discussion and honestly I was more curious about .NET developers that leap for Microsoft products and tools in the face of strong alternatives, than I was interested in hearing Microsoft employees defend their products (or coming across myself as attacking them. If I have seemed that way, I apologize sincerely).
I don't know how "uncaught and untraceable" had an ambiguous meaning. Obviously I don't work at Microsoft and can't just fire up a debugger attached to the VS source to track down an issue. I find it bemusing that "you can't reproduce the issue or track it down", turns into, "well, it would be hard to debug without the source". (No joke.) From where I'm sitting, that tends toward "blame the bug on the user" bait.
As for the last two paragraphs, I'll merely hope that it wasn't a veiled attempt to call me a troll, considering that I merely expressed my experiences and the support structures available to me and then was told that I was wrong and didn't know what I was doing. I merely wish that the support forums were better, and that there were community lead resources for Microsoft products. Maybe it's untenable of me, maybe I should just accept that I need to come to Microsoft when I want help or guidance with Microsoft-fostered technologies.
Hehe, I'm certainly not going to say they're more friendly or civil, in fact, likely the opposite. Anyone who has set foot in ##C++ or ##java knows that there is no hand holding and a strong likelihood of verbal abuse. Yet, I still get answers quickly and get a more lively discussion about issues that are never even broached in the Microsoft "communities" (a forum does not count as a community, and certainly not channel9's 4 generic categories).
I hope this clarifies. I'm simply genuinely curious as to the fundamental nature of how the global community of .NET developers differs from that of python/go/c++/ruby/etc.
As for my identity, I have strange and history-backed reasons for doing so. I'm paranoid down to the last pixel detail of my Facebook privacy and that's probably the only thing personally identifiable on the Internet for me (outside of work related posts on MSDN forums). I'm just weird like that.
My apologies as well, in re-reading my post some of it was douchey, sorry about that :) As for your specific points
>I don't know how "uncaught and untraceable" had an ambiguous meaning. Obviously I don't work at Microsoft and can't just fire up a debugger attached to the VS source to track down an issue. I find it bemusing that "you can't reproduce the issue or track it down", turns into, "well, it would be hard to debug without the source". (No joke.) From where I'm sitting, that tends toward "blame the bug on the user" bait.
No, what I meant is that you CAN catch the exception and probably get a stack trace, Microsoft, for reasons that are beyond me, generally has stripped symbols on their public PDB servers, so when customers send me stacks even with symbols resolved they say meaningless things like msenv.dll!SomeFunction + 0x392818 bytes, which is obviously silly. And THAT is the reason it is hard for external people to actually figure out the underlying issue or a good work-around. If the exception is coming from within VS code then you don't have much info on the stack. A lot of times it is coming from a third party dll (I group MS out of band releases here as they use the same extensibility APIs that third parties do for the most part), and having those symbols is also unlikely as lots of companies don't even have symbol servers, so resolving those stack frames can be a no-go as well. Some of this is unique to Microsoft, though I would have the same problem debugging Google or Apple code if I didn't have proper PDBs or source access, so I don't know if this is solely the fault of Microsoft, though their public symbols being stripped is stupid (don't get me started on how I can't even GET internal access to Office PDBs without a 'business need'...)
>As for the last two paragraphs, I'll merely hope that it wasn't a veiled attempt to call me a troll,
Nope, that is why I explicitly said 'not saying you are one', I was explaining my views on why the community can at times be dismissive or appear rude. They generally run into lots of people that come, demand answers, are generally rude all around and then leave without ever saying thanks...it is a thankless job to man support forums, and it can burn people out :)
I have had some (albeit more limited) experience with a couple of open source communities and never felt a much different vibe, I just assumed it was 'part of the customer service' kind of arena, you generally deal with the pissed off and perhaps pissy customers, which can be hard, and often times unless they have a simple question you can answer immediately they lose interest in the whole undertaking, accuse you of lying if you say you can't repro it, etc...
>I merely wish that the support forums were better, and that there were community lead resources for Microsoft products.
Me too, that is why I try to help out at the forums for the product I work on. Unfortunately I don't agree with all of Microsoft's support approaches, but no company is perfect, at least not one I have found. I think the lack of a two-way community has to do with Microsoft being a for-profit entity. People feel that if they have problems Microsoft better damn well fix it now, and they don't have interest in helping others out, that's Microsoft's job. There is some decent community on StackOverflow around MS technology, much better than MSDN Forums, but even that can be hit or miss and generally the best answers end up coming from Microsoft employees, most of whom are helping out in their free time as most of them are definitely NOT paid support people, so they can't really spend their work day answering questions, at least not too much of it if they want to make all their commitments happen.
>I hope this clarifies. I'm simply genuinely curious as to the fundamental nature of how the global community of .NET developers differs from that of python/go/c++/ruby/etc.
Yep, as I alluded to above my own personal feelings have to do with Microsoft's history (most of the people involved in the most egregious things are gone or at least 'reformed' enough I doubt they would be so 'bold' as they were back then), the fact it is a for profit company and the fact that it seems harder (for whatever reason) to get people in the community with a lot of knowledge (there are a lot of folks not at Microsoft that probably know part of my product better than I do) to 'give back'.
It is a hard problem, there are people that do nothing but work on community engagement, they closely monitor/gather data on this and try to do outreach, tweak things to be better, etc... but I don't think anyone has found the silver bullet yet.
First of all, excuse me, I'm not sure what I said to warrant such an adversarial response.
Channel9 is not even remotely close to a support or technology centric forum. There are what, 3, 4, main forums with everything just shoved in there. (and sadly, while I'm at it, I checked. It's still the ancient, very broken attempt at a WYSIWYG editor in channel9. I've wasted more countless minutes trying to make a bug report or question look intelligible with this software both here and in the Azure support forums) Not even close to what I'm talking about. Nor is #win32 appropriate for .NET, VS, Azure, WCF questions, and they're quite happy to remind you of it. I've been there before in times of desperation.
I didn't find my reply to be troll bait at all (edit, if parent was referring to my other post on this thread, I'm happy to address my reasoning there, and shall). As I mentioned, I'm not the first to bring up the disparity of community among Microsoft products on HN... and while I misinterpreted the original post I replied to, I think my criticism still makes sense on this topic.
Why is it necessary for Microsoft employees to release tools under the Microsoft brand and control? This would be far better suited as an open alternative to Synergy, though that will surely never be the case. (Maybe lay off the kool-aid next summer. This isn't a battle, it's a perception as a developer who comes from an open-tool, open-community centric background who found the stark difference of the Microsoft-stack community to be a bit behind the times. I love c-sharp and .NET, we don't need to be extreme about this.)
edit: Further, upon more investigation, Garage doesn't even sound that great. It sounds like these projects are often rolled into MS properties (fine) but are otherwise only allowed to be released "every once in a while", only if there is "a lot of request from employees who want to be able to share it with their friends and families", according to this very article.
Are the downvotes because #win32 is comparable to #django, #python, etc? Or what exactly? No one bothered blessing me with a explanation for why I've been crucified here. What ever, this is sad.