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

Videos

Playlist with my publicly available talks

Basic Designs


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 — Schema Changes Are a Blind Spot
DZone — You Need to Validate Your Databases
DevOps.com — All Your Monitoring Solutions Are Just Wrong
DZone — Testing Is a Cross-Cutting Concern; So Are Databases
DZone — Why Successful Companies Don’t Have DBAs
DZone — Stop Being Afraid of Databases
DZone — Observability 2.0: The Best Thing Since Sliced Bread
DZone — How and Why the Developer-First Approach Is Changing the Observability Landscape
DZone — Everyone Uses Postgres…But Why?
DZone — VACUUM 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