Kto nie skacze ten nie lubi konferencji hop hop... no dobra, skakanie to nie mój konik, a konferencje akurat uwielbiam. Możliwość poznania ludzi z branży i zdobycia wiedzy to zawsze przyjemna sprawa. W moim konferencyjnym kalendarzu zawsze są dwa stałe punkty, których nie mogę opuścić. Jedną z nich jest .NET Developer Days, czyli zdecydowanie największa konferencja dotycząca .NET-a i tematów pokrewnych w tej części Europy. Co roku uczestniczy w niej prawie tysiąc programistów, administratorów i ludzi ogólnie związanych z IT.
Warsztaty Making .NET Application Faster
W tym roku miałem przyjemność uczestniczyć w warsztatach prowadzonych przez Sasha Goldshtein. Człowieka bardzo dobrze znanego w środowisku .NET, a zarazem jednego z pracowników Google.
Wszystko przebiegło bardzo sprawnie. Uczestnikom przekazano wiedzę z zakresu działania nowoczesnych procesów i płynących z nich korzyści w aspekcie przyśpieszania wykonywania programu. Pokazano nam jak monitorować aplikację za pomocą zdarzeń ETW czy też sprawdzać jak działa Garbage Collector.
Ostatnim elementem warsztatów była Wektoryzacja algorytmów i wykorzystanie SIMD do uruchamiania wielu operacji jednocześnie. Temat bardzo mi się spodobał i być może za jakiś czas napiszę parę słów o tym w osobnym artykule :)
Reasumując, warsztaty były dla mnie mega. Świat wydajności aplikacji .NET nie był dla mnie zbyt zbadanym obszarem. Na dzień dzisiejszy, mogę spokojnie powiedzieć, że wiem czego nie wiem w tym temacie :)
Konferencja
.Net Developer Days, jak to było i w zeszłym roku, gościło w murach Warsaw EXPO XXI. Ciekawą zmianą, w stosunku do zeszłego roku, było zajęcie głównego budynku targów. Z racji dobrego skomunikowania i solidnych gabarytów można uznać, że ciężko by było o lepsze miejsce na taki event w Warszawie.
Aby już nie rozpisywać się później, a jednak nie pominąć tak ważnego aspektu, wspomnę, iż jedzenie było na prawdę smaczne. Drugiego dnia rozwiązano też częściowo problem kolejek do obiadu puszczając ludzi z obu stron stołu. Jedynym minusem cateringowym był brak kakałka ;)
Oczywiście, nie obyło się bez kilku błędów technicznych, takich jak awaria rzutnika na otwierającym Keynote Scott-a Hunter-a. Sytuacja może i niezbyt przyjemna dla prowadzącego, dla nas wydała się nawet zabawna - ekran z konsolą nie przestał się wyświetlać nawet po odłączeniu komputera.
Innym zabawnym błędem był biblijny cud, gdy nieobecny duch był słyszany w wielu miejscach jednocześnie... Nie no to nie omamy, mikrofon jednego z prelegentów był podłączony do głośników w dwóch salach na raz. Mógł on wynikać ze względu na drobne zamieszanie z przeniesieniem jednej sali z dołu budynku na górę.
No dobra, to skoro już część logistyczną mamy za sobą, pora przejść do samego mięska tej edycji .NET Developer Days. Opisywanie 2 dni prezentacji mogłoby być i dla Was i dla mnie nużące, więc przedstawię wam 3, moim zdaniem, najciekawsze .
Scott Hunter - .NET Overview & Roadmap
Na najniższym stopniu podium znajduje się otwierająca całą konferencję prelekcja Scott-a Hunter-a. Opisał on stan, w jakim znajduje się obecnie platforma .NET, .NET i w jakim kierunku będzie się dalej rozwijać. Przedstawił też historię transformacji Microsoft-u od firmy całkowicie zamkniętej do lidera open source-a.
Ciekawym momentem całej prezentacji było przedstawienie jednej z najnowszych technologi giganta z Redmond mianowicie Blazor-a. Silnika, który wykorzystując możliwości nowoczesnych przeglądarek (WebAssembly) pozwala na pisanie kodu klienta za pomocą takich języków jak C#. Niesamowite wrażenie na mnie zrobiła integracja z DevTools-ami Chrome. Działało to niemal identycznie jak normalnie pisana strona w JS-ie.
Daniel Marbach - Do It Yourself. An Async Message Pump That Kicks Ass
Na drugim stopniu podium mojej listy uplasował się Daniel Marbach ze swoją prezentacją o poprawnej implementacji własnej szyny wiadomościowej i wyzwaniach przez to niesionych. Całość była okraszona dużą dawką kodu asynchronicznego w C# i wizualizacjami demonstrującymi zachowanie aplikacji, szyny i samej bazy danych przy odpowiedniej implementacji.
Daniel dzień wcześniej prowadził warsztaty z programowania asynchronicznego w .NET i powiem szczerze, że bardzo długo się zastanawiałem czy nie wybrać jego warsztatów.
Tim Huckaby - The Vision of Computer Vision: The Bold Promise of Teaching Computers to See
Jako najlepszą prezentację wybrałem, pomimo kłopotów technicznych, Keynote, który zakończył tą edycję .NET Developer Days. Tim Huckaby przedstawił możliwości AI i AR jakie dają nam dzisiejsze urządzenia mobilne i platforma Azure. Byłem też na jego wcześniejszej prezentacji "A Lap Around Microsoft Cognitive Services Computer Vision API", która także zrobiła na mnie niesamowite wrażenie. W ogóle ten drugi dzień spędziłem ze sztuczną inteligencją, machine learning etc.
Taki offtop - byłem dodatkowo na prezentacji Kevina Nelson-a "A Crash Course in Google ML APIs and AutoML" i muszę wam powiedzieć, że w najbliższym czasie muszę napisać jakiś program wykorzystujący te wszystkie funkcję :)
Ale wracając do clue tej prezentacji, Tim pokazał, że przy pomocy analizy obrazów, która jest dostępna w modelu SaaS w chmurze Azure, możemy tworzyć oprogramowanie potrafiące zmieniać świat i to dosłownie. Zademonstrował demo rozpoznawania twarzy, rozpoznawania emocji, rozpoznawania broni na zdjęciu. Na koniec jeszcze zademonstrował w jaki sposób umieszczając znacznik w prawdziwych świecie można spowodować integrację z urządzeniem mobilnym... MEGA! Już nie trzeba kupować Hololens aby żyć w rozszerzonej rzeczywistości.
Dla takiego laika w tych tematach jak ja była to prezentacja otwierająca oczy :)
Podsumowanie
Już tak na zakończenie mojego artykułu dodam, że od stoiska Raven DB otrzymałem książkę:
Bardzo miły gest, za który dziękuje. Książkę na pewno przeczytam i kto wie, może uda mi się postawić jakiś projekt na tej bazie NoSQL. Jeśli tak to możecie się spodziewać wpisów na ten temat ;)
Samą konferencję oceniam niesamowicie pozytywnie, wyniosłem z niej mega dużo wiedzy. która na pewno przyda mi się w codziennej pracy. No i też zajarałem się technologiami AI, więc jakiś pet project będzie robiony :)
To by było na tyle, dzięki za przeczytanie mojego artykułu i jak zwykle do następnego!
Cześć :)
PS. Za tydzień relacja z Programistoku :)