A couple of days ago I had a chat with a friend, an ex-Telerik employee, who was the driving force behind JustDecompile product. We discussed briefly the recent Telerik announcement that open-sourced JustDecompile has been retired. This the moment when you say “Wait a moment! JustDecompile is not open-source project”. This is correct. However JustDecompileEngine, …
Category Archives: .NET
JustMock Lite is now open source
A few weeks ago something important happened. I am very happy to say that JustMock Lite is now open source. You can find it on GitHub. In this post I would like to share some bits of history. JustMock was my first project at Telerik. It was created by a team of two. The managed …
Native code profiling with JustTrace
The latest JustTrace version (Q1 2014) has some neat features. It is now possible to profile unmanaged applications with JustTrace. In this post I am going to show you how easy it is to profile native applications with JustTrace. For the sake of simplicity I am going to profile notepad.exe editor as it is available …
Notes on Asynchronous I/O in .NET
Yesterday I worked on a pet project and I needed to read some large files in an asynchronous manner. The last time I had to solve similar problem was in the times of .NET v2.0 so I was familiar with FileStream constructors that have bool isAsync parameter and BeginRead/EndRead methods. This time, however, I decided …
How to solve SOS/DAC mismatch
Have you ever experienced the following SOS/DAC mismatch error in WinDbg? Failed to load data access DLL, 0x80004005 Verify that 1) you have a recent build of the debugger (6.2.14 or newer) 2) the file mscordacwks.dll that matches your version of mscorwks.dll is in the version directory 3) or, if you are debugging a dump …
Declarative mocking
Mocking complements the test-driven development (TDD) allowing developers to write small and concise unit tests for components with external dependencies that would otherwise be hard or impossible to test. As the software becomes more and more distributed and loosely coupled, mocking becomes an intrinsic part of TDD process. While there are good tools and established …
Profiing Data Visualization
Every .NET performance profiling tool offers some form of data visualization. Usually, the profiling data is shown in a hierarchical representation such as calling context tree (CCT) or calling context ring chart (CCRC). In this post I would like to provide a short description of the most commonly used profiling data visualizations. In general, CCT …
CLR Limitations
Yesterday I ran one of my apps onto VirtualBox VM and it suddenly crashed with OutOfMemoryException. There is nothing special about my app, it allocates one large array of System.UInt64 and does some calculations. So, it seems that my problem was related to the array size. Array size limitations Here are a few facts about my …
OWIN and NGINX
Since a few months I work with non-Microsoft technologies and operating systems. I work with Linux, Puppet, Docker (lightweight Linux containers), Apache, Nginx, Node.js and other. So far, it is fun and I’ve learned a lot. This week I saw a lot of news and buzz around OWIN and Katana project. It seems that OWIN …
Dispose Pattern
There are a lot of blog posts and articles about the proper IDisposable implementation, so why writing another one? I guess I am writing it because the topic is quite subjective as there are many different scenarios for IDisposable usage. I am not going to explore all the details about IDisposable implementation. I would recommend …