Async Wandering Part 14 — Async with Fibers reimplemented in .NET Core

This is the fourteenth part of the Async Wandering series. For your convenience you can find other parts in the table of contents in Part 1 – Why creating Form from WinForms in unit tests breaks async? We already implemented Loom in C# with Fibers. This time, a piece of code which uses P/Invoke (instead … Continue reading Async Wandering Part 14 — Async with Fibers reimplemented in .NET Core

Async Wandering Part 13 — Reentrant recursive async lock

This is the thirteenth part of the Async Wandering series. For your convenience you can find other parts in the table of contents in Part 1 – Why creating Form from WinForms in unit tests breaks async? Today I’ll discuss some misconception regarding the reentrant recursive async lock described in this article. It shows the … Continue reading Async Wandering Part 13 — Reentrant recursive async lock

Types and Programming Languages Part 12 – A word on estimates and Story Points

This is the twelfth part of the Types and Programming Languages series. For your convenience you can find other parts in the table of contents in Part 1 — Do not return in finally Let’s talk about estimates and story points. What’s that? Story Points represent the complexity, risk, effort, and scope of a user … Continue reading Types and Programming Languages Part 12 – A word on estimates and Story Points

Bit Twiddling Part 3 — Enabling call recording in Google Phone dialer

This is the third part of the Bit Twiddling series. For your convenience you can find other parts in the table of contents in Par 1 — Modifying Android application on a binary level Today we’re going to enable calls recording in Google Phone dialer using low level tricks. Let’s see how this can be … Continue reading Bit Twiddling Part 3 — Enabling call recording in Google Phone dialer