Co, przyznajcie się – nie spodziewaliście się, że jeszcze w tym tygodniu ukaże się nasza „Sobota”, prawda? Opóźnienie ma związek z naszą wizytą na konferencji Confitura, która trochę wycięła nam weekend z kalendarza. Jednocześnie mamy nadzieje, że dzisiejsza edycja będzie na tyle ciekawa, że nam to opóźnienie wybaczycie 😉
1. CTRL+C, CTRL+V ML, czyli każdy chce mieć zabawki kolegi
Zaczniemy od największego z ogłoszeń z zeszłego tygodnia – GitHub Copilot nareszcie uzyskał szeroką dostępność i trafił do wszystkich zainteresowanych programistów. Biorąc pod uwagę, jak łatwo ostatnimi czasy było dostać „wejście” do Bety, nie jest to dla mnie jakieś wielkie zaskoczenie. Podejrzewam również, że każdy, kto miał się Copilotem pobawić już się pobawił (ja swój wczesny dostęp otrzymałem np. już koło października zeszłego roku). W dalszym ciągu możliwość natychmiastowego dostępu do modelu to duża zmiana, a jedyna potencjalna bariera która dziś istnieje to miesięczna opłata o wysokości 10$. Powiedzmy sobie szczerze – nie są to olbrzymie pieniądze, jeśli stwierdzimy, że wiemy jak wykorzystać całość w celu uczynienia naszej pracy bardziej efektywnej. A aby to zweryfikować, mamy aż 60 dni bezpłatnego Trialu, co jest dosyć hojną ofertą.
Ruch GitHuba odbywa się rychło w czas, ponieważ jak zazdrosne dzieci, inne BigTechy też postanowiły mieć swoje własne AI-owe generatory kodu. Amazon zapowiedziało w zeszłym tygodniu AWS CodeWhisperer, czyli ich alternatywę dla Copilota. Czym się od rozwiązania opartego o współpracę OpenAI i Microsoft? Ciężko w sumie powiedzieć, bo na pierwszy rzut oka zapewniać ma bardzo zbliżony zestaw funkcjonalności, a dodatkowo Amazon nie podzielił się jakimiś Whitepaperami. Prawdopodobnie największą zaletą dla firmy Jeffa Bezosa jest po prostu bycie „Invented Here”. Oprócz tego ma się dobrze integrować z usługami Amazonu.
Bardzo podobnie wygląda sytuacja z Parti. Dall-E rozgrzało wyobraźnie programistów, więc Google zaprzęgnęło do pracy swoich ludzi i stworzyło swoją własną wersję. Parti, bo o nim tutaj mowa, również pozwala generować sztukę (choć pewnie dla wielu użycie tego określenia będzie tutaj nadużyciem), okiem laika ciężko jest rozróżnić model Google od rozwiązania Open-AI. Na szczęście w tym wypadku mamy dostęp do oryginalnej publikacji i ludzie mądrzejsi ode mnie dokonali porównania różnic cechujących oba rozwiązania i takowych jest sporo. Nie chce tutaj poprzekręcać, dlatego odsyłam Was do twitterowego wątku Rosanne Liu, pracującej w Google Brain. Wyłuszcza ona w nim najważniejsze różnice, pokazując, pokazując jak bardzo projekty podkradają od siebie dobre pomysły. I super, tak to powinno działać.
Cechą zarówno Dall-E, jak i Parti jest to, że modele te niestety nie są publicznie dostępne, a więc zobaczyć je mogą wyłącznie wybrańcy. Dlatego od dłuższego czasu w sieci trenują publikacje stworzone za pomocą Dall-E Mini – modelu nie mającego formalnych powiązań z prawdziwym Dall-E. Podpięcie się pod znany brand i udostępnienie całości każdemu zainteresowanemu sprawiły jednak, że całość rozeszła się po sieci viralowo. Sukces ten okazał się być tak duży, że OpenAI skontaktowało się z jego twórcami w sprawie zmiany nazwy, i tak narodziła się usługa craiyon.com, która dalej pozostaje darmowa dla wszystkich zainteresowanych. Wcale się nie dziwie, ponieważ jak zabawnym narzędziem Craiyon by nie był, tak nie ma on najmniejszego startu do modelu stworzonego przez specjalistów Open-AI, który jest naprawdę niepokojąco blisko tego, co tworzą prawdziwi artyści, a widząc dość pokraczne twory Craiyona ludzie mogli mieć trochę wypaczony obraz tego, co umożliwia dzisiaj technologia. Jeśli chcecie zobaczyć przykłady pojedynków na kreatywność, kanał „Two-Minute Papers” przygotował takie zmagania. Zaskakujące jest, że wynik wcale nie jest zawsze oczywisty.
Zaskakująco jednak czarnym koniem wyścigu może okazać się projekt nie pochodzący od żadnego z dużych Big Techów. Zarówno Dall-E jaki Parti tworzą grafiki, które są wbijające w fotel, ale oglądając je nie mogę pozbyć się jednak uczucia pewnej syntetyczności. Przykład jego użycia można zobaczyć na Facebooku i… no ja zbierałem szczękę. Możliwe, że to po prostu moje chore gusta się tutaj uruchomiły (Beksiński FTW!), ale w życiu nie spodziewałbym się, że maszyna jest w stanie wygenerować coś takiego. W wypadku MidJourney, które było w stanie wygenerować ilustrowaną opowieść o muszej rodzinie żyjącej w wiktoriańskiej Anglii nawet bardziej chciałbym dowiedzieć się, jak takie coś w ogóle powstało. Tego typu przykładów jest nawet więcej (wiele możecie zobaczyć w tym wideo) i dla mnie oznaczają już prawdziwe zatarcie się granicy między człowiekiem a maszyną.
A jak już jesteśmy w temacie, sobotnia wizyta na Confiturze i prezentacja Krzysztofa Kudryńskiego (do tematu sobie jeszcze wrócimy) przypomniała mi o istnieniu jeszcze jednego projektu, który swego czasu podbił sieć – NVIDIA GauGan. Jej główną siłą jest zdolność generowania realistycznie wyglądających krajobrazów na bazie paru napaćkanych kresek. Całość nie robi już takiego wrażenia jak wtedy, gdy można się było pobawić się pierwszą wersją w roku 2018, ale to tylko demonstruje jak dynamicznie rozwija się ta kategoria modeli.
Jeżeli zastanawialiście się, komu potrzebne są w praktyce tego rodzaju projekty, pewną odpowiedź przynieść może publikacja od Bena Thompsona, którą opublikował na swoim blogu Stratechery przy okazji premiery drugiej edycji Dall-E. W swojej analizie wraca do nieco zakurzonego tematu Metaverse (ostatnio rzeczy szybko się kurzą). Wskazuje bowiem, że w kreacji wirtualnych światów generowanie proceduralne odgrywać będzie istotną rolę, ze względu na mnogość assetów, która będzie niezbędna do uzyskania iluzji realnego świata. To zresztą tylko jedno z wielu wyzwań, które staną przed Metą (i innymi firmami technologicznymi), jeżeli kiedykolwiek ziścić się ma wizja prawdziwie wirtualnego świata – pod względem pchania technologii do przodu, to jest prawdziwy „moonshot”. Cała branża zdaje sobie sprawę również z konieczności powstania wspólnej „abstrakcji” dla różnych projektów, stąd w ostatnim tygodniu ogłoszono powstanie organu standaryzującego tworzonego przez min. Microsoft, Metę czy NVIDIE. Wyjątkowo urokliwymi wydawały mi się w tym kontekście ostatnie alarmistyczne doniesienia twierdzące, że Mark Zuckerberg bardziej przykłada się do rozwoju Metaverse, niż do zapewnienia integralności wyborów. Thank you captain obvious. Czy ktoś naprawdę jest zaskoczony?
Zainstaluj teraz i czytaj tylko dobre teksty!
2. Opublikowano StackOverflow Developer Survey 2022
Jeżeli lubicie statystyki dotyczące tego, jak pracują programiści na całym świecie, StackOverflow Developer Survey to pozostaje najciekawszym oknem na ten świat. Od lat ta najpopularniejsza platformowa społecznościowa(?) naszej branży zbiera od swoich użytkowników dane o ich cechach, praktykach i preferencjach. Oczywiście, nie stanowi ona ostatecznej wyroczni – krytycy słusznie punktują, że ankiety zawsze są swego rodzaju konkurs popularności (co trochę widać w wynikach, o których za chwilę). W dalszym ciągu nikt inny nie może się z nimi mierzyć jeśli chodzi o skalę badania – mówimy tu bowiem o ponad 73 tysiącach programistów z łącznie 180 krajów
Muszę przyznać, że z powodu tworzenia Vived bardzo kluczową informacją dla mnie zawsze jest sekcja dotycząca w sposobów, w jaki rozwijają się programiści. Wzrasta ilość programistów, którzy rozwijają się za pomocą materiałów online, z 60% na 70%. Najczęściej używana jest techniczna dokumentacja i StackOverflow, na trzecim miejscu plasują się blogi, a następnie video. Na samym dole stawki pojawiają się Podcasty – ta forma nie do końca sprawdza się do bezpośredniego rozwoju „skilli”, zdecydowanie lepiej pasując do luźnych form, dyskusji i wspominek.
Kolejną rzeczą, która przykuła moje oczy to fakt, że prawie 50 procent z ankietowanych definiuje siebie jako „full-stackowcy”. Pokazuje to, jak bardzo interdyscyplinarni stali się dzisiaj programiści. Ważne w analizie danych jest to, że możliwe było wybranie więcej niż jednej kategorii – dlatego też procenty mogą się Wam nie do końca sumować.
W najczęściej używanych technologiach nie ma wielu zaskoczeń, ale pojawiły się pewne drobne niespodzianki. Bo o ile pewnie nikogo nie dziwi pierwsze miejsce JavaScriptu i AWS, o tyle wysoka pozycja MySQL (pierwsze miejsce wśród wszystkich programistów, a drugie wśród programistów którzy określili samych siebie jako „profesjonalni) może być lekkim zaskoczeniem. Wyraźnie widać, że pogłoski o śmierci MySQL mogą być nieco przesadzone. Aż 35% uczących się programowani używa zaś Heroku, co dało mu pierwsze miejsce – pokazuje to, że platforma ta ciągle jest najprostszym wejściem w świat szeroko pojętej chmury. Co może zaskoczyć, to dopiero czwarte miejsc AWS w tej grupie – wyprzedziło go Heroku, GCP oraz… Firebase. Aż dwie platformy Google sugerują, że firma bardzo mocno celuje w pracę u podstaw.
Jest to o tyle ciekawe, że AWS pozostaje… najbardziej kochaną technologią wśród platform chmurowych. To właśnie wykresy „Loved vs Dreaded” są tą najbardziej dyskutowaną częścią raportu, choć muszę przyznać, że dla mnie już swoistym „running joke” branży jest to, jak wszyscy są zakochani w Ruście. Wszyscy uwielbiają również Elixira, Clojure (czyli dalej operujemy jednak w sporej niszy) oraz… TypeScripta. Z technologii „mainstreamowych”, to właśnie ten język jest zdecydowanie najbardziej kochany przez programistów. Nie bez powodu został w końcu de-facto standardem na frontendzie Najbardziej znienawidzonym jest zaś MatLab.
Kontynuując wątek „Loved & Dreaded” – dalej wszyscy uwielbiają Dockera, Kubernetesa. Zaskakujące jest też to, że coraz więcej programistów chce spróbować tych technologii – FOMO jest tutaj w narodzie wyraźnie bardzo silne. Ludzie uwielbiają również neovima oraz VSCode. Niedawno pisaliśmy Wam o ubiciu Atom i niech ta ankieta uzmysłowi Wam dlaczego musiał umrzeć – VSCode to drugi najpopularniejszy edytor kodu, Atom jest zaś trzeci od końca. Jeżeli zaś chodzi narzędzia do kolaboracji, pierwsze miejsca mają Notion i Slack.
Nie będę tutaj dotykał każdej kategorii – po prostu zerknijcie na oryginalną ankietę. Osobiście przez najbliższy rok, za każdym razem gdy będę potrzebował użyć stwierdzenia „developerzy lubią” będę sięgał właśnie po te dane.
Zainstaluj teraz i czytaj tylko dobre teksty!
3. Confitura 2022 – Raport z terenu
Tego jeszcze nie robiliśmy. Jak pisałem we wstępniaku, dzisiejsza edycja dlatego jest nieco (2 dni..) opóźniona, bo mieliśmy przyjemność być szerszą ekipą na Confiturze w Warszawie, który odbywał się w sobotę. Dlatego też dzisiaj mały raport z terenu, czyli podrzucenie Wam tych prezentacji, którymi z jakiegoś powodu potrzebuje się podzielić. Nie byłem na wszystkim, więc ostrzegam, że to z mojej strony mocno przebrana selekcja.
Zacznijmy od „No dobra, czas zsynchronizować zegarki…” Macieja Próchniaka. Kto miał przyjemność pracować z prozsynchronizowanymi systemami rozproszonymi, ten w cyrku się nie śmieje, dlatego też warto ten wydawałoby się bazowy proces poznać od podszewki. Czas jest trudny do okiełznania, dlatego też polecam polować na prezentacje Maćka. Pozwoli Wam ona lepiej zrozumieć wyzwania, które stawia przed nami nieubłagany upływ czasu.
Ja osobiście bardzo żałuje, że nie miałem okazji być na prezentacji Jarka Pałki „Bare Metal Java.” Niby prezentowana była już wszędzie, ale ja mam jakiegoś strasznego pecha i na Confiturze odbywała się w czasie, kiedy sam miałem swój własny show w innej sali. Znajdziecie oczywiście dziesiątki jej nagrań w sieci, ale jeśli chcecie znać moje zdanie – nie róbcie sobie tego. Styl prezentowania Jarka idealnie zgrywa się z eventami offline. Następna okazja już jutro (wtorek 28.06) w Krakowie. Ja się wybieram, więc jak coś możemy się razem napić 🍻 słuchając o internalach JVM.
Udało mi się być za to na prezentacji Tomka Nurkiewicza o tytule „Loom: rewolucja czy szczegół implementacyjny?”. Czym jest Loom wiedzą na pewno czytelnicy naszych Javowych wtorków (TLDR: korutyny na JVM), a myślę, że Tomka kojarzy każdy, kto miał do czynienia z systemami reaktywnymi. Byłem więc bardzo ciekaw jego opinii na temat nowości, które przynosi Java. Oczywiście, nie dostajemy prostej odpowiedzi na zadane w tytule „talka” pytanie, ale całość bardzo zręcznie nakreślała potencjalne przypadki użycia dla Looma i hamowała tych, którzy widzą w nim Świętego Gralla (chyba, że piszecie frameworki i biblioteki – wtedy ciekawe lata przed Wami).
Kiedyś marzyła mi się kiedyś kariera jako twórcy gier. Po pewnym czasie stwierdziłem, że wolę w nie jednak grać (podobno świadomość jak dana potrawa się robi może odebrać apetyt), ale z przyjemnością wybrałem się na „GameDev okiem Backendowca” Roberta Piwowarka. Zawsze ciekawie jest spojrzeć, jak zmiana domeny powoduje, że niektóre problemy transformują w zupełnie inne, a dodatkowo pojawiają się nowe. Super talk, mocno poszerzający horyzonty, lubię mocno.
Jak zawsze również prawdziwą bombą była prezentacja Krzysztofa Kudryńskiego, który od 2019 przesiadł się z dronów na autonomiczne samochody. Niektóre rzeczy pozostają jednak niezmienione – prezentacja o bardzo klarownym tytule „Jak działają autonomiczne samochody” to bardzo przyjemne wprowadzenie w świat problemów związanych pojazdami sterowanymi przez sieci głębokie, dodatkowo jak zwykle w niewymuszony sposób zabawne.
Jak już pisałem, Confitura 2022 jest powodem, dla którego dzisiejsza edycja pojawia się dopiero w niedzielę. Mały „brag”: Miałem okazję prowadzić na niej Keynote, a także jeden z talków odbywających się w ramach ścieżki architektonicznej o tytule: „Panie, kto tu Panu tak … – czyli porozmawiajmy o Legacy”, w którym dziele się moimi doświadczeniami z modernizacji systemu z lat 80. – jak to mówią, najgorsze projekty tworzą najlepsze historie (spoiler: dużo memów). Podczas eventu poznaliśmy osobiście wielu użytkowników Vived (serio! nawet nie sądziliśmy, że zna nas tyle osób) i zyskaliśmy jeszcze większą motywację, by dla Was pisać i nagrywać. Dostaliśmy też mnóstwo ciekawych pomysłów do naszej aplikacji, które na pewno wykorzystamy. Za wszystkie z nich przeogromnie dziękujemy!
I dziękujemy Confitura! Cudownie się było znowu spotkać po tych trzech latach offline! Konferencje wracają, a my bardzo je lubimy. Jeśli macie tak samo, postaramy się przynosić Wam więcej informacji na ich temat!
PS: Jak ktoś jeszcze nie subskrybuje, to oczywiście bardzo polecam nasz podcast Root Cause by Vived