Jesień jest bardzo gorącym okresem jeżeli chodzi o konferencje w naszym pięknym kraju. Chociaż chciałbym, to niestety, wszystkich nie zaliczę. Strasznie żałuje, że przez nakładający się termin z Programistokiem, nie było mnie na DevConf. Miałem jednak szczęście. W Warszawie została zorganizowana konferencja pod logiem Dotnetos. Tu już nie mogło mnie zabraknąć.
Wszystko w życiu ma swój pierwszy raz. Nigdy za bardzo nie zgłębiałem zagadnień dotyczących tak niskopoziomowych procesów, ale przyszło szkolenie Sash-y Goldshtein-a. Uczestniczyłem podczas .NET Developer Days. Temat mnie zafascynował, więc jak była szansa go zgłębiać dalej, żal było nie skorzystać.
Dotnetos - Ostra jazda bez trzymanki
Konferencje jednodniowe mają pewien mankament. Są krótkie. Na szczęście treściwe. Głównym tematem była wydajności aplikacji napisanych na platformie .NET.
Nie oszukując - miałem pewien dylemat. Dość wąski i specyficzny temat konferencji mógł nie do wszystkich trafiać. W końcu to 8 godzin słuchania o bardzo niskopoziomowych rzeczach. Muszę jednak przyznać, że wszystkie obawy okazały się niepotrzebne. Wychodząc z konferencji czułem, że opłacało się zainwestować swój czas. Zdobyłem sporo wiedzy, nie tylko o samym języku C#, ale także o CRL, IL i GC. Było MEGA!!
Dobra, ale bez niepotrzebnych spojlerów :) Niestety nie wszystko udało mi się tak jak zaplanowałem. Jakby nie starać się kakałko trzeba wypić, nie można robić tego w biegu, a budzik był mało przekonujący. Dotnetos okazał się kolejną konferencją, na którą nie udało mi się dostać na miejsce przed rozpoczęciem pierwszej prelekcji. Żałuje z dwóch powodów: otwierającym mówcą był Szymon Kulec, co samo przez się oznacza, że prezentacja była dobra. A co gorsza, prelekcje nie były nagrywane. :( Mam nadzieje, że Szymon będzie jeszcze gdzieś wygłaszać swoją prezentację, abym mógł jej posłuchać :)
Teraz, jak zwykle, przejdźmy do trzech, według mnie, najciekawszych prezentacji jakie odbyły się podczas Dotnetos:
Daily Performance Fuckups - Łukasz Pyrzyk
@lukaszpyrzyk talking about daily performace fuckups on #dotnetos Great start with this slide :D pic.twitter.com/EMFA2Vz30p
— Kamil Kiełbasa 🤟 (@_bd_90) November 5, 2018
Łukasz stworzył naprawdę interesującą prezentację. Poruszył temat codziennych problemów z wydajnością programisty .NET. Zainteresowała mnie jego historia związana z Azure Cosmos DB. Opowiedział, w jaki sposób, próbując zwiększyć wydajność aplikacji i działając zgodnie z wytycznymi / dokumentacją Microsoft-u, padła im aplikacja. Nie byłoby to może aż tak ciekawe, gdyby nie powód: featuer zaimplementowany tylko na platformie Windows. Dodatkowo Łukasz opowiedział o nieśmiertelnym ciągu fibonnaciego. Posłużył mu jako wizualizacja tematu dotyczącego poprawności implementacji w stosunku do wymagań.
Powerful benchmarking in .NET - Adam Sitnik and Andrey Akinshin
@andrey_akinshin and @SitnikAdam on the #dotnetos stage, talking about BenchmarkDotNet :) pic.twitter.com/UqkatVFBAE
— Kamil Kiełbasa 🤟 (@_bd_90) November 5, 2018
Drugą prezentacją zasługującą na zajęcie miejsca na podium była Powerful benchmarking in .NET poprowadzona przez dwie osoby: Andrey-a Akinshin-a i Adama Sitnika. Obecność więcej niż jednej osoby na scenie zawsze uważałem za dodatkowy walor. Z doświadczenia wiem, że większa grupa prelegentów nie zawsze upraszcza sprawę. Szczególnie, jeżeli chce się osiągnąć taką współpracę jak Adam i Andrey. Podziwiam i czapki z głów :) Co do warstwy merytorycznej to nie mam żadnych zastrzeżeń. Prezentacja pokazywała możliwości narzędzia BenchmarkDotNET. Samo narzędzie znam, korzystam, a mimo wszystko zdobyłem sporo nowych informacji i zapewne ułatwią mi przyszłe zadania.
The history of .NET GC customization – from (almost) nothing to (almost) everything - Konrad Kokosa
Now @konradkokosa speaking about GC on #dotnetos stage :) pic.twitter.com/r6n4g2SsWD
— Kamil Kiełbasa 🤟 (@_bd_90) November 5, 2018
Ostatnią wartą opisanie jest prezentacja Konrada Kokosy, który opowiedział o GarbageCollector-ze. Zarządzanie pamięcią i zachowanie garbage collector-a, to zawszę ciężkie tematy. Chcąc ich uniknąć wielu programistów idzie w stronę języków wysoko poziomowych. Nawet mając wiele lat doświadczenia za sobą, w dalszym ciągu Garbage Collector może okazać się bottle-neckiem i powodować zastój serwera / aplikacji nawet na kilka sekund. Konrad w swojej prezentacji przedstawił sposoby działania Garbage Collector-ów w .NET i czym różnicy Garbage Collector Workspace od Server. Oczywiście, nie obyło się bez kodu C jak i Assemblera. Dopisuje to in plus całej prezentacji :)
Kwestie Logistyczne
Wracając jeszcze do kwestii bardziej ogólnych: świetnym wyborem, na organizację konferencji okazał się Airport Hotel Okęcie. Oczywiście, nie jest to kampus Googla, z metrem pod drzwiami prawie, acz miejsc parkingowych było dostatek, a dla niezmotoryzowanych zawsze zostawała kolejka miejska. No i nie można zapomnieć o obiedzie - restauracja była naprawdę znakomita.
Jak już pisałem wcześniej - spóźniłem się na początek, więc nie liczyłem na koszulkę w moim rozmiarze. Tu standard - wchodzę spóźniony, nie ma. No i tu właśnie przychodzi nieoczekiwany zwrot wydarzeń - dostałem informacje, że po obiedzie większe rozmiary koszulek zostaną dowiezione. Teraz z dumą mogę nosić koszulkę z logiem Dotnetos! :)
Podsumowanie
Bardzo pozytywnie oceniam całą konferencje, pod względem merytorycznym jak i organizacyjnym. Jeśli chodzi o wspaniałych organizatorów: Szymon Kulec, Konrad Kokosa, Łukasz Pyrzyk - wszyscy mają u mnie kubek kakałka.
Do Następnego!
Cześć