If you navigate to Assembly folder say C:\Windows\assembly in Explorer, you could see the assemblies without folder structure where as you will see a structured directories like GAC_32, GAC_MSIL, Nativeimages, tmp folders in Command prompt. If you want to browse the GAC like any other folder structure. you can try this simple regedit entry-
Create a DWORD value named “DisableCacheViewer” and set it to value 1 under reghives -HKLM\Software\Microsoft\Fusion
Now explore to c:\windows\assembly, you will see something like this
Finally, .NET team announced online version of .NET assembly references. Yes, You can browse through any of the .NET class library code easily.
For core lib’s – http://referencesource-beta.microsoft.com/#mscorlib
Update: Now http://referencesource.microsoft.com/ is updated with easier interface.
The Bing Code Search add-in for Visual Studio 2013 makes it easier for .NET developers to search for and reuse code samples from across the coding community, including MSDN, StackOverflow, Dotnetperls and CSharp411.
Bing Code Search improves developer productivity and speed by bringing the experience of searching for reusable C# code into Visual Studio IDE.
Here is an excellent online portal to try this out.. http://codesnippet.research.microsoft.com/
Note: Oops this works only with VS 2013
About GetPst.exe tool in action. Read here - http://support.microsoft.com/kb/2000021/en-us
Private Sub Application_Startup()
Dim objOutlook As Outlook.Application
Dim objInboxFolder As Outlook.MAPIFolder
Dim myNewFolder As Outlook.Folder
Dim objNamespace As Outlook.NameSpace
Set objOutlook = Application
Set objNamespace = objOutlook.GetNamespace("MAPI")
Set objInboxFolder = objNamespace.GetDefaultFolder(olFolderInbox)
Set newFolder = objInboxFolder.Folders.Add("Test-Archived-Jan2014")
Dim movedItemCount As Long
For intCount = objInboxFolder.Items.Count To 1 Step -1
Set objVariant = objInboxFolder.Items.Item(intCount)
If objVariant.Class = olMail Then
intDateDiff = DateDiff("d", objVariant.SentOn, Now)
If intDateDiff > 10 Then
' Set objArchiveFolder = objNamespace.Folders("firstname.lastname@example.org"). _
movedItemCount = movedItemCount + 1
Set objArchiveFolder = Nothing
MsgBox "Done, archived:#" & movedItemCount
I highly recommend this pdf for anyone who is looking for design guide in .NET.
Note: It also talks about Silverlight scope, migration & suggestions. Get one from here - http://www.microsoft.com/net/nettechnologyguidance
I never thought this would be so easy with this couple of statements. All these days, I used to put a hard coded message box thrown up and then try to attach manually VS by selecting that new process. But this one is very useful if you want to do automatically break in VS.
if (!Debugger.IsAttached) Debugger.Launch(); Debugger.Break();
This would be useful if you are debugging multiple process in the Visual Studio – Ley say you HelloWorld.exe is creating a new exe LogViewer.exe and yourself want to debug end to end all in same VS. More at MSDN- http://goo.gl/lKJcUh
Wow, what a news to start my Monday morning – Yes, I’m thrilled to see and recieve my first ever -MOOC certification, so happy to share here in my blog ( b.t.w completed 9 years of tech blogging J.
I would like to write about my little experience with Coursera (MOOC) program by Georgia Ins- of Technology so readers can make use of it. Watch out, there is a part II also going to start which is of Machine learning I believe. I’m excited and waiting for it.
My Course review:
Honestly I was not so serious when I enrolled for this course, but once after the first week sign up and enrolled with signature track(49$) I became more punctual, serious and started learning python and doing assignment following strict timeline. Python on initial take was not easy, but you would enjoy after a week with assignments.. I bet this is going to be hair pulling if you don’t know python..
Course name: “Computational Investing, Part I”
Prof Name: Prof Tucker Balch
Programming Lang : Python ,QuantSoftware ToolKit, libs like Numpy, Matplotlib & Pandas
Duration : 8 weeks, Time commitment: 8-12 hours/week
Fee: 49$, should have webcam and submit all assignments over the webcam presence with typing analsis program to avoid copying etc..
Certification validity : Life time think so..
My personal rating : 4.5/5,
Do I recommend: Yes, very much. I was about to sign up for other management course for whopping 7.5 Lakh ( ePGP ) but this is far better than that in short span of time to learn financial fundamentals and deep analysis in a clear way. I thank Dr. Balch for his trading related expertise.
What I learned :
1) Python programming with various supporting lib’s.
2) Domain : Developing trading strategies, event profiling, portfolio optimization, and simulation of trading strategies to analyze portfolio performance and risks etc in a very clear way and in a short period of time. Various aspects of investing like – Company valuation, the Capital Assets Pricing Model (CAPM), Efficient Markets Hypothesis, the role of information in pricing, historical data and its manipulation, portfolio performance assessment and optimization.
Online course record : https://www.coursera.org/records/jNWWBnZgA7Uq4hfd
My certificate of credit at : https://www.coursera.org/signature/certificate/EERDVVM4WS
Mahesh Kumar R
November 15th 2013
Student has earned a certificate with distinction.
Instructors: Dr. Tucker Balch,
Duration of course: 8 weeks
Some of my course content for reference:
Course Wiki: http://wiki.quantsoftware.org/index.php?title=Computational_Investing_I
Assignment Tooks: http://wiki.quantsoftware.org/index.php?title=QuantSoftware_ToolKit
Looking for the part -2 Computational Investing – Machine Learning/Algorithmic Trading by coming fall 2014 which is going to be challenging and interesting think so..
I cannot stop myself recommending ‘Robocopy’ for copying big files and folders across network. It simply does it job neatly and FASTER.
Handy one c:> robocopy.exe “Z:\Comp Ver 4.11″ “D:\ThirdParty_Build” “my_big_file.*” – this to copy zip file.
“WPF Application Quality Guide” – our single-stop document for WPF application and component developers and testers.
Let say our app is ready for deployment for the first time or recompiled. And we want to double check whether all the dependencies were copied properly with right versioned assemblies referenced. Then here is the tool which would help you to avoid running into problem like ‘Could not load file or assembly’..
Here is the tool which gives you a list of bind failures in a log.
Note: Make sure you run this tool with admin privilege.
Worth mentioning -
2) Internet Explorer client side memory leak detector /tool -> IE Sieve – http://home.wanadoo.nl/jsrosman/
3) WPF progress bar memory leak-
<ProgressBar Name=”Progress” Width=”250″ Height=”15″ Minimum=”0″ Maximum=”1″ Margin=”10″ IsIndeterminate=”True”>
4) Tracking down managed memory leaks (how to find a GC leak) —> http://blogs.msdn.com/b/ricom/archive/2004/12/10/279612.aspx
5) What do the Task Manager memory columns mean? http://windows.microsoft.com/en-US/windows-vista/What-do-the-Task-Manager-memory-columns-mean
1. On a computer demonstrating the problem, install DebugDiag 1.2 from http://www.microsoft.com/download/en/details.aspx?id=26798 and accept the default options for installation.
2. Select Start->Programs->Debug Diagnostics Tool 1.2->DebugDiag 1.2.
3. When DebugDiag starts, it should display a wizard to create a rule. If it does not show this, then click the Add Rule button on the Rules tab.
4. Select “Crash”.
5. Click Next and select “A specific process” and click Next.
6. Enter the process name of your application, ie “NotePad.exe” (or whatever the name is, without full path), in the Selected Process text box and click Next.
7. For “Unconfigured First Chance Exceptions”, set Action Type to “Log Stack Trace” with “Action Limit” to 0. Then click Next.
8. Please note the user dump path and click Next.
9. Select “Activate the rule now” and click Finish.
10. Open the Tools menu -> Preferences -> Select the “Enable raw debugger logs. Include debugger output and Engine messages”.
11. At this point, have the users run the application and try to reproduce the issue.
12. When the issue reproduces, it will generate a memory dump to the folder from step
8. Zip up the Logs folder (by default C:\Program Files\DebugDiag\Logs)
9. Analyse it.
DebugDiag 2.0 comes now with the new analysis engine fully converted to .NET to allow for faster analysis rule development. New features > Collection and Analysis modules such as .NET 4.5 support, CLRMD integration, C# and XAML sample rules,Detailed 1st chance exception logging.
Download from here> http://www.microsoft.com/en-us/download/details.aspx?id=40336
Note: I personally used DD and felt really useful for quicker dump analysis instead windbg way of getting out.
Seems like .NET 2.0-based 32-bit application are loaded multiple times though in same app domain.
These ref assemblies are loaded multiple times into virtual address space unexpectedly and occupies the memory.
To resolve this, add this element as below. But I don’t see any MSDN article elaborating on this except this support link.
Note: This works for .NET 2.0 env only think so.. I don’t see this element in latest verisons/articles.
<?xml version="1.0" encoding="utf-8" ?> <configuration> <runtime> <DisableDoubleMapping enabled="true" /> </runtime> </configuration>
Some of the useful <runtime> Element in APP.Config.
<configuration> <runtime> <gcConcurrent enabled="true"/> <legacyUnhandledExceptionPolicy enabled="1"/> </runtime> </configuration> ------------ <configuration> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="myAssembly" publicKeyToken="32ab4ba45e0a69a1" culture="neutral" /> <bindingRedirect oldVersion="18.104.22.168" newVersion="22.214.171.124"/> </dependentAssembly> </assemblyBinding> </runtime> </configuration>
.NET reflector is a must tool for any core .NET developer in depth. Recently I started going back to digging assemblies for deeper understanding. If you have got reflector installed and wants to just launch the reflector on double click of an assembly.. then here is the tip.
1) Got to the reflector Exe path in command prompt 2) Type as in screenshot – > reflector.exe /register
You won’t be getting any message but it will silently facilitate you with double click launch and right click context addition too. Now you can dig into any assembly by just double clicking it
GlowCode is a complete real-time performance and memory profiler for Windows and .NET programmers who develop applications with C++, C#, or any .NET Framework-compliant language. GlowCode helps programmers optimize application performance, with tools to detect memory leaks and resource flaws, isolate performance bottlenecks, profile and tune code, trace real-time program execution, ensure code coverage, isolate boxing errors, identify excessive memory usage, and find hyperactive and loitering objects. For native, managed, and mixed code.
We have used it in our development project and seems useful.