Types and Programming Languages Part 14 – Pure functions vs impure ones

This is the fourteenth 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 Pure functions — functions returning the same output for the same input, not relying on external state. Some love them. Some … Continue reading Types and Programming Languages Part 14 – Pure functions vs impure ones

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