I’m Karlen Simonyan. I live in Wroclaw (for period, though). Important updates are posted usually on Twitter: @szKarlen.

Recent Articles on external sources

Myriads of running Tasks using C# Explores different approaches of having recursive async code in C# without using hacks like Task.Yield(), etc.

Multiple dispatch in C# Shows pros and cons of double dispatch/multiple dispatch patterns with the last one’s encapsulation by using C# dynamic feature

The dangers of not looking ahead Shows some dangers of cyclic generic types as well as DLR interop with them

Rules of Tasks API usage. Part II Explores possible caveats of tasks state manipulation as well as exception handling flow

Rules of Tasks API usage. Part I Explores possible caveats of C# dynamic feature usage with tasks

Age of JIT compiling. Part II. CLR is watching you Explores how CLR deals with interface method calls as well as generics

Age of JIT compiling. Part I. Genesis Explores how structs instance-methods are handled by JIT. Covers unbound delegates roots

The art of Generics Shows some tips and tricks which could be achived at compile-time with C#’s generics

The dark side of the moon A very deep dive into .NET Framework (GC, JIT, memory layout, unsafe code, etc.)

Crouching Tiger, Hidden Dragon A high-level comparison of C# and Java from a programming languages prospective

Deeping dive into C# dynamic Explores how DLR is involved within C# compilation process as well as runtime interoperation for objects

Sticky notes about ASP.NET MVC Usefull tips and tricks for ASP.NET MVC applications bootstrapping

CLR object’s size precise definition Full reference of CLR object’s layout in memory. Covers internals of strings and CTS

Reactive Extensions for JavaScript. Full reference Full reference of the Reactive Extensions for JavaScript usage from ASP.NET

Relatively-positioned elements inside WPF flow-documents Explores the possibility of achiving position:relative behaviour for WPF’s flow-document elements

Optimization of the SQL-code generation by LINQ to SQL and Entity Framework Explores approaches to optimize the final SQL-code for LINQ and eSQL queries

Public Talks

DotNext Moscow 2016: End-to-end JIT Video: YoutubeThe talk focuses on a such common patterns as well as see particular JIT intrinsics, objects references counting (sic!), and OOP concepts representation in machine code.

DotNext Moscow 2015: Atomic operations and primitives in .NET Video: YoutubeExplores atomic operations, memory model as well as memory order semantics in CLI. Public presentation of atomics.net project (C++ 11 standard atomics alike API)

.NEXT Moscow 2014: Effective usage of DLR Video: YoutubeExplores polymorphic calls dispatch on DLR, infrastructure costs, effective callsites cache usage


atomics.net (author)

Enables .NET projects to use atomic primitives. Project aims to be very close to C++ 11 standard atomics by design and usage.

WebKit (contributor)

An open source web browser engine. WebKit is also the name of the OS X system framework version of the engine that’s used by Safari, Dashboard, Mail, and many other OS X applications. WebKit’s HTML and JavaScript code began as a branch of the KHTML and KJS libraries from KDE.

WebKit fork

Fork of the WebKit with performance improvements as well as API additions, especially to JavaScriptCore