Hacker’s diary

Over the week-end I created the TaskTimer class that allows to execute code on timer in an async method: static async Task DoStuffOnTimer() {     using (var timer = new TaskTimer(1000).Start())     {         foreach (var task in timer)         {             await task;             DoStuff();         }     } } Source […]

I wrote a tool called “IsItMySource” that can list source files of a binary and, more importantly, check whether particular source directory matches the binary. The description is here: https://www.ikriv.com/dev/dotnet/IsItMySource/index.php. The […]

This is a short summary of differences between WCF and .NET Remoting when they are used to control a Windows service. Complete article is found here: http://www.ikriv.com/dev/dotnet/AspNetCallsWinService/index.php. Complete code examples for WCF and Remoting are […]

It makes things so simple, I really wish other languages had it. Today in five or six places I wrote something like _innerObject?.Dispose(); instead of if (_innerObject != null) _innerObject.Dispose(); […]

In ECMA Script 6 toString() function can throw an exception. This makes generating debug output a treacherous minefield. In all other languages I know toString() on built-in objects is safe, and […]

…Continued from Part 1. Arrow functions ES6 introduces arrow functions, which can take several forms: Besides being a shorter notation for function(), arrow functions have special rule for this. They […]