Talks, Papers, Workshops

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

  1. Update Conference 2024 – Connecting Remotely Like a Pro
  2. Update Conference 2024 – Basic Designs
  3. .NET DeveloperDays 2024 Warsaw – Seeing Behind the Scenes with Low-Level Tooling for Hardcore Debugging
  4. .NET DeveloperDays 2024 Warsaw – Basic Designs
  5. NDC Porto 2024 – Basic Designs
  6. Copenhagen Developers Festival 2024 – Basic Designs
  7. DWX Developer Week 2024 – Connecting Remotely Like a Pro
  8. DWX Developer Week 2024 – Basic Designs
  9. .NET DeveloperDays 2024 Berlin – Basic Designs
  10. Bucharest A.D.C.E.S. Meetup – Testing at scale
  11. Talk4Devs — Async na korutynach i fiberach – projekt Loom w C#
  12. 147 spotkanie Krakowskiej Grupy .NET — Testing at Scale
  13. #143 TG-NET Meeting – Understanding async machinery down to a single detail
  14. Dotnet Summit 2023 – Ordering the chaos
  15. 165. Spotkanie WG .NET – Async – biggest mistake in C#?
  16. Conf42 JavaScript 2023 – Database Guardrails – new age for developers and databases
  17. CityJS Berlin 2023 – Database Guardrails – new age for developers and databases
  18. QA Automation Con 2023 — Testing at scale
  19. .NET DeveloperDays 2023 — Understanding Windows and .NET through Debugging
  20. .NET DeveloperDays 2023 — Testing at scale
  21. .NET DeveloperDays 2023 — Connecting remotely like a pro
  22. NDC Porto 2023 — Connecting remotely like a pro
  23. Svitla Smart Talk — Testing at scale
  24. JavaScript Global Summit 2023 – Missing Chapter in CI Playbook – Database Guardrails
  25. Platform Engineers – Database Guardrails – new age for developers and databases
  26. Pingcap – Database Guardrails – new age for developers and databases
  27. DevSecCon – Database Guardrails – new age for developers and databases
  28. pgCMH – Database Guardrails – new age for developers and databases
  29. Denver Dev Day 2023 – Missing Chapter in CI Playbook – Database Guardrails
  30. Conf42 Observability 2023 – Missing Chapter in CI Playbook – Database Guardrails
  31. Scenic City Summit 2023 – Missing Chapter in CI Playbook – Database Guardrails
  32. DevOps Pro 2023 – Missing Chapter in CI Playbook – Database Guardrails
  33. International JavaScript Conference London 2023 – Missing Chapter in CI Playbook – Database Guardrails
  34. DevDay 2023 – Missing Chapter in CI Playbook – Database Guardrails
  35. CityJS London 2023 – Missing Chapter in CI Playbook – Database Guardrails
  36. CityJS London 2023 – Metis to the rescue when your database is too slow
  37. RZE.NET #4 – Async na korutynach i fiberach – projekt Loom w C#
  38. #140 TG-NET Meeting – Locks are Tricky
  39. 141 spotkanie Krakowskiej Grupy .NET – Locks are Tricky
  40. 157. Spotkanie WG .NET – Internals of Async
  41. Update Conference 2022 – Locks are tricky
  42. .NET DeveloperDays 2022 — From Bulb to C#
  43. .NET DeveloperDays 2022 — Locks are tricky
  44. .NET DeveloperDays 2022 — Understanding async machinery down to a single detail
  45. The Hack Summit 2022 – Challenges and Evolution of Alexa TTS
  46. Techorama 2022 – Internals of Exceptions
  47. Techorama 2022 – Locks are tricky
  48. Infoshare 2022 – Challenges and Evolution of Alexa TTS
  49. NDC Oslo 2022 — Testing at Scale
  50. Init Conf 2022 – Ordering the Chaos
  51. Developer Congress 2022 – Testing at Scale
  52. DevConf 2022 – Challenges and Evolution of Alexa TTS
  53. 138 spotkanie Krakowskiej Grupy .NET — Async na korutynach i fiberach – projekt Loom w C#
  54. NDC Melbourne 2022 — Understanding async machinery down to a single detail
  55. NDC Melbourne 2022 — Locks are tricky
  56. DotNext 2022 — Ordering the Chaos
  57. devWarsztaty — Understanding async machinery down to a single detail
  58. CodeEurope 2022 – Challenges and Evolution of Alexa TTS
  59. Techorama 2022 — Ordering the Chaos
  60. Techorama 2022 — MOV, async/await, DSL, Lambda Calculus, DDD – are they connected?
  61. Svitla Smart Talk – Locks are tricky
  62. NDC Porto 2022 — Hacking C# from the inside
  63. NDC Porto 2022 — Async with coroutines and fibers in C#
  64. 4developers 2022 — Hacking C# from the inside
  65. PostSharp Webinar 2022 — Hacking C# from the inside
  66. JavaZone 2021 – Ordering the Chaos
  67. Forte Tech Talks – Hacking C# from the inside
  68. devWarsztaty – Understanding Windows and .NET through debugging
  69. .NET DeveloperDays 2021 – DLL Injection
  70. .NET DeveloperDays 2021 – Async with coroutines and fibers in C#
  71. Dotnetos 2021 – Hacking C# from the inside
  72. Segfault. Unconference 2021 – Jak dogadac sie z calym swiatem
  73. dynamIT 2021 – Hackowanie C# od srodka
  74. Devoxx Poland 2021 – Ordering the Chaos
  75. TECH3camp – Hacking C# From The Inside
  76. Svitla Smart Talk – Async with coroutines and fibers in C#
  77. 143. Spotkanie WG.NET – Od zarówki do .NET-a – jak dziala komputer
  78. WeAreDevelopers 2021 – Hacking C# from the inside
  79. The Visual Studio User Group – Internals of Async in .NET
  80. Svitla Smart Talk – Async biggest mistake in C#?
  81. Louisville .NET Meetup Group – From Bulb to C#
  82. 129. spotkanie Krakowskiej Grupy Developerów .NET with 133. spotkanie Wroclawskiej Grupy .NET – Async – najwiekszy blad C#?
  83. .NET DeveloperDays 2020 — Hacking C# from the inside
  84. .NET DeveloperDays 2020 — Generics everywhere
  85. .NET DeveloperDays 2020 — Async biggest C# mistake
  86. .NET DeveloperDays 2020 — Understanding Windows and .NET through debugging
  87. DotFest 2020 — Async biggest C# mistake
  88. NDC Sydney 2020 — From Bulb to C#
  89. NDC Sydney 2020 — Ordering the chaos
  90. Svitla Smart Talk – Internals of Async in .NET
  91. NDC Minnesota 2020 — Exploring Memory in .NET Applications
  92. NDC Melbourne 2020 — Exploring Memory in .NET Applications
  93. NYAN Conference 2020 — Internals of Exceptions
  94. NDC London 2020 — Ordering the Chaos
  95. .NET Developers Association Westside — Internals of Async in .NET
  96. .NET Developers Association Eastside — Internals of Async in .NET
  97. Live! 360 Orlando 2019 — Internals of Exceptions
  98. Live! 360 Orlando 2019 — Internals of Async in .NET
  99. Update Conference 2019 — Internals of Async in .NET
  100. .NET DeveloperDays 2019 — Internals of Exceptions
  101. .NET DeveloperDays 2019 — Internals of Async in .NET
  102. .NET DeveloperDays 2019 — Manual Memory Management in .NET
  103. NDC Sydney 2019 — Internals of Exceptions
  104. DevConf 2019 — Internals of Async in .NET
  105. DevConf 2019 — Manual Memory Management in C#
  106. Seattle CodeCamp 2019 — Integer Linear Programming
  107. Seattle CodeCamp 2019 — Ordering the Chaos
  108. HDC 2019 — Ordering the Chaos
  109. HDC 2019 — Generics everywhere
  110. Visual Studio Live! Microsoft HQ 2019 — Internals of Exceptions
  111. Visual Studio Live! Microsoft HQ 2019 — Manual Memory Management in C#
  112. DevSum 2019 — Internals of Async in .NET
  113. Techorama 2019 — Manual Memory Management in .NET
  114. Techorama 2019 — Internals of Exceptions
  115. ConFoo 2019 — Internals of Async in .NET
  116. ConFoo 2019 — DLL Injection in Windows
  117. NDC Porto 2019 — Manual Memory Management in .NET
  118. Update Conference 2018 — Internals of Exceptions
  119. dotNetConfPL 2018 — Bebechy wyjatków
  120. Seattle CodeCamp 2018 — DLL Injection in Windows
  121. Seattle CodeCamp 2018 — Internals of Exceptions
  122. NDC Oslo 2018 — Internals of Exceptions
  123. .NET Developers Association Westside — Manual Memory Management in .NET
  124. .NET Developers Association Eastside — Manual Memory Management in .NET
  125. dotNetConfPL 2017 — Ręczne zarzadzanie pamięcią w .NET
  126. Studencki Festiwal Informatyczny 2017 — Ręczne zarzadzanie pamięcią w .NET
  127. Krakowska Grupa Developerów .NET – Ręczne zarzadzanie pamięcią w .NET
  128. 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