Bitconf to konferencja programistyczna, która odbywa się w Bydgoszczy. Zapytacie pewnie: „Ale jak to? W Bydgoszczy?” Tak, to! Jak na razie, to chyba jedyne wydarzenie tego typu mieście. ale już jego druga edycja. Bitconf 2019 miał miejsce 20 września w Bydgoskim Centrum Targowo-Wystawienniczym. Tym razem było 2 razy więcej konferencji w konferencji, bo do zeszłorocznych ścieżek Java i Cloud, dołączyły .NET i Embedded.
Już na samym starcie było miło, bo organizatorzy pomyśleli o ludziach spoza Bydgoszczy. Prócz szczegółowych informacji jak dotrzeć na miejsce z różnych dworców i krańców miasta, zorganizowany został też piękny, stylowy „ogórek”. I co najważniejsze: czerwony, jak w piosence. Widzicie? Wielu myśli, że koderzy w Polsce jeżdżą betami, obwieszają się złotem i łańcuchami (jak w innej piosence) a tu okazuje się, że jadą starszym od nich autobusem.
A już na miejscu konferencyjny standard czyli identyfikator, stoiska, gadżety (żółta kaczuszka właśnie pilnuje, czy ładnie piszę), kawa, herbata i to, co kucyki lubią najbardziej (no może zaraz po serniku) czyli prelekcje. Wybrałem scieżkę .NETową z małym wyjątkiem na na Cloud, ale najpierw…
Introduction to quantum computing – Paweł Gora
Zaczęło się z wysokiego C, czyli Paweł Góra opowiadał o komputerach kwantowych. Myślałem, że coś, co ma w tytule „introduction” i zostało wybrane na keynote, będzie dość ogólne, ale kilka twierdzeń i wzorów szybko wyprowadziło mnie z błędu. Przypomniało mi to studia i uczucie, które często towarzyszyło mi na wykładach z matmy: niby coś rozumiem, ale jednak nie do końca. Cóż, przynajmniej będę mógł szpanować na dzielni, że znam słowo „adiabatyczny”. A tak bardziej serio, to mimo kilku zbytnich technikaliów, wystąpienie mi się podobało, bo dało jakiś szerszy obraz jak obecnie wygląda świat komputerów kwantowych oraz świadomość, że takie komputery nie muszą być wcale osobnymi maszynami, a na przykład modułami rozszerzającymi możliwości „klasycznych” maszyn.
Anchor Modeling – maintain highly normalized data model that can be changed anytime Rafał Hryniewski
Na wszelkich przedmiotach poświęconych bazom danym dochodzi się może maksymalnie do czwartej postaci normalnej, a tu okazuje się, że jest nawet szósta i ma całkiem ciekawe właściwości: na przykład brak potrzeby pisania skomplikowanych JOINów. Jednak nie ma rzeczy idealnej i prócz kilku zalet, takie podejście ma też wady. Anchor Modeling strasznie mnoży ilość tabel i dodaje specyficzne relacje między nimi, co szybko przestaje być do ogarnięcia dla zwykłego śmiertelnika. Jest co prawda, gotowe narzędzie, w którym schemat bazy można sobie wyklikać ale jako, że taki styl modelowania jest na tyle niszowy, że za bardzo nie ma w czym wybierać. Podobnie jest z materiałami opisującymi tę metodę dlatego, w moim odczuciu, dyskwalifikuje to automatycznie użycie w systemach produkcyjnych. W mniej istotnych projektach, gdybym spodziewał się konieczności częstej i szybkiej zmiany schematu, to też wybrałbym coś innego, np. MongoDB.
Czysty model domenowy: Domain-Driven Design taktycznie i praktycznie – Kamil Grzybek
Kamil może nie ma wielkiego doświadczenia „scenicznego”, ale za to posiada sporą wiedzę na temat Domain Driven Design. Zaczął się od definicji „czystości” kodu i architektury oraz czym w ogóle jest model domenowy, a dalej już było tylko ciekawiej. DDD jest obszernym zagadnieniem, a prelekcja trwała niecałą godzinę, dlatego omówiona została jedynie taktyka, czyli praktyczne rozwiązywanie poszczególnych problemów oraz to jak do tego wszystkiego mają się reguły SOLID i GRASP. Wbrew pozorom, to nie aż tak odległe od siebie tematy. Osobiście polecam – jedno z bardziej „mięsistych” wystąpień.
Convey – prosty przepis na mikroserwisy – Piotr Gankiewicz, Dariusz Pawlukiewicz
Jedno wielkie demo w formie błyskawicy. Oni opowiadają i kodują jednocześnie szybciej niż ja tylko myślę! Co dokładamy? Mongo? Redisa? Rabbita? A może Mongo i Rabbita? Nie ma problemu, a to wszystko zepniemy Consulem! Szybko, żwawo i energicznie, wykorzystując przeznaczony czas do maksimum. Na pewno wrócę do nagrania i obejrzę pewnie kilka razy, żeby wszystko na spokojnie przetrawić :).
AI/ML in Microsoft 2019 – Paweł Klimczyk
Szybki przegląd tego, co potrafią Azure Cognitive Services i Microsoft Bot Framework. Szczerze mówiąc, to nie było to dla mnie nic odkrywczego, bo w większości były to dema dostępne online. To na tyle ciekawe zabawki, że zdążyłem je już sprawdzić albo chociaż o nich poczytać. Przerabiałem już też na jednych warsztatach, podłączenie usługi rozpoznającej tekst do Logic Appa w celu szybkiego wystawienia prostego OCR API. Jedyną nowością (przynajmniej dla mnie) była informacja, o miejscu, gdzie Microsoft udostępnia wersje beta nowych Cognitive Services.
Durable Functions – najmniej znana część platformy Serverless w Azure w akcji – Michał Furmankiewicz
Wszyscy wokół mówią o tym całym serverless. Serverless to, serwerless tamto. Otwierasz lodówkę, a tam światło i serverless. Najwyższy czas sprawdzić z czym to się je! Obczajasz dokumentację, piszesz swoją pierwszą funkcję, potem kolejną i następną, a później jeszcze trzy, tak dla pewności. I jak tym potem zarządzać albo spiąć kilka funkcji ze sobą? No jak to czym? Funkcją! Ale taką specjalną, ze stanem. Michał omówił czym są standardowe Azure Functions i jak mają się do nich te wersji Durable. Opisał też kilka przykładowych scenariuszy orkiestracji zawartych w dokumentacji (Joł!). Bardzo lubię jego wystąpienia za formę i proste przekazywanie wiedzy bez zbędnego kombinowania i napalania się. W maju byłem na jego warsztatach z podobnej tematyki i zdecydowanie polecam. Co do samych Durable Functions, to jest to mechanizm stosunkowo nowy i nie przyda się każdemu, ale warto wiedzieć, że takie coś istnieje. Tak w razie czego.
Buzzwords, cloud native, kubernetes a na końcu okazuje się, że engineering and nothing else matters – Piotr Stapp
Piotrek, w swoim bardzo luźnym stylu pokazał, że życie programisty, nawet z chmurami, nie jest usłane różami. (Nawet nie czuję, jak rymuję. Joł kwadrat!) Jego wystąpienie, to opisy ciekawych fuckupów, jakie zaliczyło FinnAI w czasie swojej działalności. No cóż, zdarza się nawet najlepszym. Supersprzęty, chmurki, nowe frameworki a i tak, pewnych fundamentalnych rzeczy się nie przeskoczy. Engineering and nothing else matters.
I to by było na tyle, bo później rozpocząłem proces powrotu do domu, by wylądować w nim o rozsądnej porze.
Z małych niedociągnięć mogę wymienić to, że było dość ciasno w miejscu gdzie znajdowały się stoiska firm i które to miejsce służyło jednocześnie za jedyne przejście pomiędzy dwiema połowami piętra. W niektórych salach słychać też było delikatnie prelekcje zza ściany. Nie przeszkadzało to jakoś bardzo, ale mogło delikatnie utrudniać odbiór siedzącym dalej od prelegenta. (A i sernik dość szybko zniknął, nie wiedzieć czemu…). Są to jednak specyficzne cechy budynku, w którym odbywała się konferencja i nie wiem jak to by można było poprawić (prócz zakupu większej ilości sernika). Zmiana miejsca pewnie też już nie wchodzi w grę, bo w okolicy chyba nie ma innego obiektu, który by obsłużył wydarzenie o takiej skali.
Czy było warto? Zdecydowanie! Miło jest czasem oderwać się od codzienności i posłuchać o ciekawych rzeczach, spotkać starych znajomych, a może i nawiązać jakieś nowe relacje. W przyszłym roku też postaram się być i Wam też polecam.
Na zakończenie dodam, że na konferencyjny kanał jutubowy cały czas spływają nagrania wystąpień. Nie wiem, czy docelowo mają pojawić się wszystkie, ale na pewno te, które opisałem wyżej, były nagrywane.