Mobile application development is more popular than ever. Today, there are tens of mobile application development platforms (MADPs) that fight for adoption and market share. In this post, I am going to share what characteristics a good, in my opinion, MADP should have. Let’s start with some facts and obvious trends. Today, most of us …
Author Archives: mslavchev
Distributed System Validation
Last week I read an article about Netflix Chaos Monkey and it provoked some thoughts. I’ve read about Chaos Monkey before but back then I didn’t realize some aspects of it. I guess the difference is that I recently started working on a distributed system project and an important aspect of my work is the …
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 …
Software Razzie Awards
This is not a new idea. Every now and then someone suggests it. Apparently I hear about it more often than, say, 5 years ago. Sure, today software is more spread than 5 years ago but somehow I don’t think this is the only reason. I guess the main reason for people dissatisfaction is that …
Software agents from the past
Nowadays, we are all familiar with Siri, Google Now and TellMe but are these intelligent personal assistants something new? Probably you remember Clippy or Rover that Microsoft introduced in the late 1990s and early 2000s. Or probably you remember the intelligent personal assistants for Mac OS or OS/2. Today, I would like to remind you …
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 …
Introduction to CLR metadata
If you are a .NET developer then you’ve probably heard or read about CLR metadata. In this blog post I will try to give you a pragmatic view of what CLR metadata is and how to work with it. You are going to learn how to use unmanaged metadata API from C# code. I will …
Analyzing crash dumps with ClrMD
Microsoft recently released the first beta version of Microsoft.Diagnostics.Runtime component. Lee Culver describes ClrMD as follows: ClrMD is a set of advanced APIs for programmatically inspecting a crash dump of a .NET program much in the same way as the SOS Debugging Extensions (SOS). It allows you to write automated crash analysis for your applications …