Talks, Papers, Workshops

Slides and materials

Async Bigest C# Mistake
Async With Coroutines and Fibers in C#
Bridging the World Together
Debugging Memory Leaks in .NET
DLL Injection
Exploring memory in .NET
From Bulb to High Level Language
Generics everywhere
Hacking C# From the Inside
Integer Linear Programming
Internals of Async
Internals of Exceptions
Locks are tricky
Manual Memory Management
Ordering the Chaos
Public Speaking
Understanding async machinery down to a single detail
Understanding Windows and .NET

Videos

Playlist with my publicly available talks

Locks are tricky


Async With Coroutines and Fibers in C#


From Bulb to a High Level Language



Ordering the Chaos — Cleaning logs and ordering events in distributed systems


Internals of async in .NET



Async – biggest C# mistake



Hacking C# from the Inside




Internals of Exceptions



Memory management in .NET






Books

Applied Integer Linear Programming: From Boolean Algebra to Nondeterministic Turing Machine
.NET Internals Cookbook

Articles

InfoQ — Overriding Sealed Methods in C#
Programista 12/2016 – Implementacja traitów w języku C# przy użyciu biblioteki Fody

Papers

Computer Science (AGH) Vol 17 No 3 – Realization of a System of Efficient Querying of Hierarchical Data transformed into a quasi-Relational Model
Course Scheduling System for Students — Master of Science Thesis
Implementacja wybranych funkcjonalności silnika SQLxD — Bachelor of Science Thesis

Podcasts

Hacking the C# Language and Other Fun Things – .NET 106
Naprawa Proda
.NET Rocks! Debugging Memory Leaks in .NET with Adam Furmanek
Wywiady z polskimi programistami na świecie — Adam Furmanek

Interviews

Programowanie jest rzemiosłem

Talks

Update Conference 2022 – Locks are tricky
.NET DeveloperDays 2022 — From Bulb to C#
.NET DeveloperDays 2022 — Locks are tricky
.NET DeveloperDays 2022 — Understanding async machinery down to a single detail
Techorama 2022 – Internals of Exceptions
Techorama 2022 – Locks are tricky
NDC Oslo 2022 — Testing at Scale
Init Conf 2022 – Ordering the Chaos
Developer Congress 2022 – Testing at Scale
138 spotkanie Krakowskiej Grupy .NET — Async na korutynach i fiberach – projekt Loom w C
NDC Melbourne 2022 — Understanding async machinery down to a single detail
NDC Melbourne 2022 — Locks are tricky
DotNext 2022 — Ordering the Chaos
devWarsztaty — Understanding async machinery down to a single detail
Techorama 2022 — Ordering the Chaos
Techorama 2022 — MOV, async/await, DSL, Lambda Calculus, DDD – are they connected?
Svitla Smart Talk – Locks are tricky
NDC Porto 2022 — Hacking C# from the inside
NDC Porto 2022 — Async with coroutines and fibers in C#
4developers 2022 — Hacking C# from the inside
PostSharp Webinar 2022 — Hacking C# from the inside
JavaZone 2021 – Ordering the Chaos
Forte Tech Talks – Hacking C# from the inside
devWarsztaty – Understanding Windows and .NET through debugging
.NET DeveloperDays 2021 – DLL Injection
Dotnetos 2021 – Hacking C# from the inside
Segfault. Unconference 2021 – Jak dogadać się z całym światem
dynamIT 2021 – Hackowanie C# od środka
Devoxx Poland 2021 – Ordering the Chaos
WG.NET – Od żarówki do .NET-a – jak działa komputer
Svitla Smart Talk – Async with coroutines and fibers in C#
WeAreDevelopers 2021 – Hacking C# from the inside
The Visual Studio User Group – Internals of Async in .NET
Svitla Smart Talk – Async biggest mistake in C#?
Louisville .NET Meetup Group – From Bulb to C#
129. spotkanie Krakowskiej Grupy Developerów .NET with 133. spotkanie Wrocławskiej Grupy .NET – Async – największy błąd C#?
Svitla Smart Talk – Internals of Async in .NET
.NET DeveloperDays 2020 — Hacking C# from the inside
.NET DeveloperDays 2020 — Generics everywhere
.NET DeveloperDays 2020 — Async biggest C# mistake
.NET DeveloperDays 2020 — Understanding Windows and .NET through debugging
DotFest 2020 — Async biggest C# mistake
NDC Sydney 2020 — From Bulb to C#
NDC Sydney 2020 — Ordering the chaos
NDC Minnesota 2020 — Exploring Memory in .NET Applications
NDC Melbourne 2020 — Exploring Memory in .NET Applications
NDC London 2020 — Ordering the Chaos
.NET Developers Association Westside — Internals of Async in .NET
.NET Developers Association Eastside — Internals of Async in .NET
Live! 360 Orlando 2019 — Internals of Exceptions
Live! 360 Orlando 2019 — Internals of Async in .NET
Update Conference 2019 — Internals of Async in .NET
.NET DeveloperDays 2019 — Internals of Exceptions
.NET DeveloperDays 2019 — Internals of Async in .NET
.NET DeveloperDays 2019 — Manual Memory Management in .NET
NDC Sydney 2019 — Internals of Exceptions
DevConf 2019 — Internals of Async in .NET
DevConf 2019 — Manual Memory Management in C#
Seattle CodeCamp 2019 — Integer Linear Programming
Seattle CodeCamp 2019 — Ordering the Chaos
HDC 2019 — Ordering the Chaos
HDC 2019 — Generics everywhere
Visual Studio Live! Microsoft HQ 2019 — Internals of Exceptions
Visual Studio Live! Microsoft HQ 2019 — Manual Memory Management in C#
DevSum 2019 — Internals of Async in .NET
Techorama 2019 — Manual Memory Management in .NET
Techorama 2019 — Internals of Exceptions
ConFoo 2019 — Internals of Async in .NET
ConFoo 2019 — DLL Injection in Windows
NDC Porto 2019 — Manual Memory Management in .NET
Update Conference 2018 — Internals of Exceptions
dotNetConfPL 2018 — Bebechy wyjątków
Seattle CodeCamp 2018 — DLL Injection in Windows
Seattle CodeCamp 2018 — Internals of Exceptions
NDC Oslo 2018 — Internals of Exceptions
.NET Developers Association Westside — Manual Memory Management in .NET
.NET Developers Association Eastside — Manual Memory Management in .NET
dotNetConfPL 2017 — Ręczne zarządzanie pamięcią w .NET
Studencki Festiwal Informatyczny 2017 — Ręczne zarządzanie pamięcią w .NET
Krakowska Grupa Developerów .NET – Ręczne zarządzanie pamięcią w .NET
Krakowska Grupa Developerów .NET – Wstrzykiwanie bibliotek DLL do obcych procesów