Slides and materials
Async Bigest C# Mistake
Async With Coroutines and Fibers in C#
Basic Designs and How We Got Them Wrong
Bridging the World Together
Connect remotely like a pro!
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
MOV, async, DSL – are they connected?
Ordering the Chaos
Public Speaking
Seeing Behind the Scenes with Low-Level Tooling for Hardcore Debugging
Testing at Scale
Understanding async machinery down to a single detail
Understanding Windows and .NET
Talks
- Update Conference 2024 – Connecting Remotely Like a Pro
- Update Conference 2024 – Basic Designs
- .NET DeveloperDays 2024 Warsaw – Seeing Behind the Scenes with Low-Level Tooling for Hardcore Debugging
- .NET DeveloperDays 2024 Warsaw – Basic Designs
- NDC Porto 2024 – Basic Designs
- Copenhagen Developers Festival 2024 – Basic Designs
- DWX Developer Week 2024 – Connecting Remotely Like a Pro
- DWX Developer Week 2024 – Basic Designs
- .NET DeveloperDays 2024 Berlin – Basic Designs
- Bucharest A.D.C.E.S. Meetup – Testing at scale
- Talk4Devs — Async na korutynach i fiberach – projekt Loom w C#
- 147 spotkanie Krakowskiej Grupy .NET — Testing at Scale
- #143 TG-NET Meeting – Understanding async machinery down to a single detail
- Dotnet Summit 2023 – Ordering the chaos
- 165. Spotkanie WG .NET – Async – biggest mistake in C#?
- Conf42 JavaScript 2023 – Database Guardrails – new age for developers and databases
- CityJS Berlin 2023 – Database Guardrails – new age for developers and databases
- QA Automation Con 2023 — Testing at scale
- .NET DeveloperDays 2023 — Understanding Windows and .NET through Debugging
- .NET DeveloperDays 2023 — Testing at scale
- .NET DeveloperDays 2023 — Connecting remotely like a pro
- NDC Porto 2023 — Connecting remotely like a pro
- Svitla Smart Talk — Testing at scale
- JavaScript Global Summit 2023 – Missing Chapter in CI Playbook – Database Guardrails
- Platform Engineers – Database Guardrails – new age for developers and databases
- Pingcap – Database Guardrails – new age for developers and databases
- DevSecCon – Database Guardrails – new age for developers and databases
- pgCMH – Database Guardrails – new age for developers and databases
- Denver Dev Day 2023 – Missing Chapter in CI Playbook – Database Guardrails
- Conf42 Observability 2023 – Missing Chapter in CI Playbook – Database Guardrails
- Scenic City Summit 2023 – Missing Chapter in CI Playbook – Database Guardrails
- DevOps Pro 2023 – Missing Chapter in CI Playbook – Database Guardrails
- International JavaScript Conference London 2023 – Missing Chapter in CI Playbook – Database Guardrails
- DevDay 2023 – Missing Chapter in CI Playbook – Database Guardrails
- CityJS London 2023 – Missing Chapter in CI Playbook – Database Guardrails
- CityJS London 2023 – Metis to the rescue when your database is too slow
- RZE.NET #4 – Async na korutynach i fiberach – projekt Loom w C#
- #140 TG-NET Meeting – Locks are Tricky
- 141 spotkanie Krakowskiej Grupy .NET – Locks are Tricky
- 157. Spotkanie WG .NET – Internals of Async
- 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
- The Hack Summit 2022 – Challenges and Evolution of Alexa TTS
- Techorama 2022 – Internals of Exceptions
- Techorama 2022 – Locks are tricky
- Infoshare 2022 – Challenges and Evolution of Alexa TTS
- NDC Oslo 2022 — Testing at Scale
- Init Conf 2022 – Ordering the Chaos
- Developer Congress 2022 – Testing at Scale
- DevConf 2022 – Challenges and Evolution of Alexa TTS
- 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
- CodeEurope 2022 – Challenges and Evolution of Alexa TTS
- 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
- .NET DeveloperDays 2021 – Async with coroutines and fibers in C#
- Dotnetos 2021 – Hacking C# from the inside
- Segfault. Unconference 2021 – Jak dogadac sie z calym swiatem
- dynamIT 2021 – Hackowanie C# od srodka
- Devoxx Poland 2021 – Ordering the Chaos
- TECH3camp – Hacking C# From The Inside
- Svitla Smart Talk – Async with coroutines and fibers in C#
- 143. Spotkanie WG.NET – Od zarówki do .NET-a – jak dziala komputer
- 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 Wroclawskiej Grupy .NET – Async – najwiekszy blad C#?
- .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
- Svitla Smart Talk – Internals of Async in .NET
- NDC Minnesota 2020 — Exploring Memory in .NET Applications
- NDC Melbourne 2020 — Exploring Memory in .NET Applications
- NYAN Conference 2020 — Internals of Exceptions
- 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 wyjatkó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 zarzadzanie pamięcią w .NET
- Studencki Festiwal Informatyczny 2017 — Ręczne zarzadzanie pamięcią w .NET
- Krakowska Grupa Developerów .NET – Ręczne zarzadzanie pamięcią w .NET
- Krakowska Grupa Developerów .NET – Wstrzykiwanie bibliotek DLL do obcych procesów
Videos
Playlist with my publicly available talks
Connecting Remotely Like a Pro
Testing at scale
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
DZone — In Postgres Demystified
DZone — PostgreSQL Everywhere and for Everything
DZone — Why Doesn’t Postgres Use My Index?
DZone — Indexes Under the Hood
DZone — Concurrency Issues in SQL and Distributed Systems
DZone — Troubleshooting PostgreSQL Low Free Memory
DZone — Debugging Low Cache Hit Ratio
DZone — What Are Logging Levels?
DZone — Configuring a Connection Pool
DZone — Debugging Low Cache Hit Ratio
DZone — Calculating Fingerprints for SQL Queries
DZone — How Enabling Slow Query Log Enhances Postgres Observability
DZone — Why DevOps Should Own Their Databases and How To Do It
DZone — DORA Metrics in DevOps
DevOps.com — DevOps and Databases: The Key to Faster Deployment
DZone — Transaction Isolation Levels For The Highest Possible Performance
DZone — A New Era Has Come, and So Must Your Database Observability
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
Day Two Cloud – Don’t Fear Database DevOps
Adventures in .NET
Is Using Async and Await a Good Choice? – .NET 150
Hacking the C# Language and Other Fun Things – .NET 106
New Age Engineering
Naprawa Proda
.NET Rocks! Debugging Memory Leaks in .NET with Adam Furmanek
Interviews
Programowanie jest rzemiosłem
Wywiady z polskimi programistami na świecie — Adam Furmanek