Visual Studio 2015, Roslyn Compilers and Obfuscation

Long long time ago Microsoft produced csc.exe and vbc.exe compilers for C# and VB.NET respectively. Those classic compilers come together with every version of .NET Framework and are usually located at a folder similar to C:\Windows\Microsoft.NET\Framework\v4.0.30319.

The classic C# and VB.NET compilers were written in native C/C++ code to solve the egg and chicken problem when .NET was at the age of infanity.

Visual Studio .NET (aka 2002) Splash Screen

All Visual Studio versions starting from 2002 used those proven compilers.

Read more »

My .NET Application Hacked. What to Do?

So, your application is popular and it got the first hacks. Congratulations on being awesome but this also means you probably have a constant flow of headache since then.

Attack on .NET application

Read more »

Recent Connections in New Cloud Combine

New Cloud Combine 2.3, a great tool for managing the cloud services, brings a handy Recent Connections bar:

Recent Connections in Cloud Combine

Read more »

Native DLL Exports from .NET Assembly

I was amused to find out that .NET assemblies can do native DLL exports with one and easy trick:

.method static void Rainbow()
{
    .export [1]
    ldstr      "Rainbow"
    call       void [mscorlib]System.Console::WriteLine(string)
    ret
}

Read more »

Stable Topological Sort

Human beings take a lot of things for granted.

Just a straight example. Want to find a fast way to get the greatest common divisor of two numbers? Just use Euclidean algorithm. It would take minutes to find it in Google and port to your code.

Want to sort elements according to dependencies between them? No problem, there is a Wikipedia article on topological sort. It is so comfy to be on the shoulders of Titans.

World on Titan's Shoulders

Everything is documented, explained and proven. But...

What if there is no such thing invented yet?

Read more »

Shared Website Hosting or Azure?

That's a question I was asked for a long time in the past and I have a good answer now. First of all, it depends on what you want to achieve. If you are a hobbyist and want to pinch some pennies then shared web hosting will work quite well…

Read more »