#Short #Kafka #IBM #AI Agents #Event-Driven Architecture
Noworoczny Short - pierwszy w 2026! Łukasz i Szymon wracają po przerwie świątecznej, a newsy technologiczne nie czekały. Postanowienia noworoczne? “Mniej YAML-a, więcej Postgresa” - jak zwykle nierealne. 🎉
IBM kupuje Confluenta - kolejny ruch po RedHacie i Hashicorpie. Łukasz: “Kupują rzeczy, które są ciężko licencjonowane.” Kafka is becoming a commodity - Szymon dodaje: “To się już stało.” A moda na budowanie wszystkiego na Kafce przygasa. 🎯
Nowy hype? WAL jako osobny serwis - Netflix zrobił z tego uniwersalną usługę. Łukasz ostrzega: “Jak nie jesteś drugim Netflixem, nie powinieneś w ogóle myśleć, że coś takiego jest.” MinIO przechodzi w maintenance mode, Anthropic przejął Buna, a Chainguard zbiera porzucone projekty open source jak Ingress NGINX.
Anthropic Skills - dynamicznie ładowane zip-y z Markdownem zamiast subagentów. Szymon: “Fajna rzecz, rozwiązuje realne problemy adopcji.” Idzie też standaryzacja Agents.md w ramach CNCF.
Raport GitClear: 10x wzrost duplikacji kodu przez AI. Szymon: “Nie uważam, żeby to była tragedia.” Tymczasem is-even w NPM ma 170k pobrań tygodniowo i zależy od is-odd. Instacart porzuca Elastica na rzecz Postgresa z indeksami GIN.
Na koniec: Mac Studio z RDMA przez Thunderbolt 5 = 1,5TB VRAM na czterech maszynach. Najlepszy sprzęt do domowego hostowania modeli? ⚠️
Linki i ciekawe znaleziska
Transkrypcja
Łukasz Kałużny: Zakupili RedHata, zakupili Hashicorpa, jak tam pójdziemy sobie na zakupy, one są cholernie przemyślane, bo kupują rzeczy, które są ciężko licencjonowane. I jest takie stwierdzenie: Kafka is becoming a commodity.
Szymon Warda: Wydaje mi się, że nawet nie jest czas przyszły, to jest czas, to się już stało. Wtedy mieliśmy problem ten, że zbieraliśmy rzeczy, które były poszatkowane za drobno. Tu zbieramy rzeczy, które są nie scommitowane jeszcze, więc jej!
Łukasz Kałużny: Jak nie jesteś drugim Netflixem, to nie powinieneś w ogóle myśleć, że coś takiego jest. Ewentualnie wiedzieć, że wykorzystujesz to do X, Y, Z, albo korzystasz z toola, który na przykład produkuje Ci CDC z WAL. Cześć, słuchacie Patoarchitektów. Prowadzą Łukasz Kałużny…
Szymon Warda: I o dziwo Szymon Warda. Wszystkie linki Patoarchitekci.io, gdzieś na górze, dole, za, przed, ogarniecie, wierzymy w Was, dzielne z Was chłopaki i dziewczyny. Dobrze, Łukaszu, co tam dzisiaj?
Łukasz Kałużny: Startujemy, możecie w ciemno zakupić bilet na konferencję z okazji dwusetnego odcinka, 16 czerwca, Warszawa. Będzie ciekawie, bo 28 piętro z ciekawym widokiem na miasto. To tyle mogę zrobić sneak peaka, więc w ciemno możecie zakupić bilet. W planach mamy nagranie dwusetnego odcinka razem z Wami. Jest parę pomysłów na tą formę. Będzie pięć sesji merytorycznych, po jednej ode mnie i od Szymona. A gości jesteśmy w trakcie, tak jak teraz tu rozmawiamy, czekamy na potwierdzenia, jak będą wyglądały kalendarze gości, których chcielibyśmy zaprosić, żeby było ciekawie. Nie będzie motywu przewodniego poza merytoryką, o tak to nazwijmy.
Szymon Warda: Tak, a goście zapowiadają się całkiem ciekawi. Tak że generalnie pewnie się domyślicie, pewnie znacie. Dobrze, Łukaszu, parafialki?
Łukasz Kałużny: Tak. No i kalendarz szkoleń na najbliższe miesiące, więc zerknijcie na Patoarchitekci.io/szkolenia. I rzuciłbym uwagę, bo w szczególności Agentic AI, jak nagrywamy to, czy Architektura 101, to już tak cienko z miejscami przędzie patrząc się na to, więc polecam. Jeżeli jesteście zainteresowani to nie odkładać tego na później.
Szymon Warda: Jak znam życie to Observability z Grafaną też pewnie się rozejdzie dość szybko i zgrabnie. Dobrze, to coś czego dzisiaj nie było od dawna, czyli zbieramy linki, (…) i różne rzeczy.
Łukasz Kałużny: Tak, wracamy do shortów.
Szymon Warda: Shorta.
Łukasz Kałużny: Shorta, tak. Dobra, to lecimy. Pierwsze, dla mnie to są dwa linki i są fajnie połączone. IBM Szymonie zakupił Confluenta. Znowu poszedł na zakupy. Czyli firmę, która stoi za Enterprise Kafką, że tak powiem, z supportem i rozwojem poszedł i kupił.
Szymon Warda: To jest nie, wiem nawet jak to skomentować, bo to jest, ok, pasuje do Enterprise’u, jak najbardziej, ale nie do końca rozumiem tego.
Łukasz Kałużny: Ale pasuje do ich strategii. Zauważ o co chodzi, zakupili RedHata, zakupili Hashicorpa, jak tam pójdziemy sobie na zakupy, one są cholernie przemyślane, bo kupują rzeczy, które są ciężko licencjonowane. I zobacz, że IBM zakupuje rzeczy, do których firmy kupują Enterprise’owy support.
Szymon Warda: I z których się prawie nie da wyjść.
Łukasz Kałużny: O i teraz jest bardzo fajny artykuł, idąc za tym. Jest tam na temat Big Data, Big Data Stream taki: event streaming is topping out. I że, można sobie przeczytać cały artykuł, a ja też nie będę tutaj, jest tam od strony giełdowej, jak to wygląda, jak wygląda w ogóle kasa i inne rzeczy, kto uczestniczy w kontrybucji? Confluent robił za, tam w ostatnich 15 latach robił chyba 62% kontrybucji na przykład do Kafki.
Szymon Warda: Nie oszukujmy się, są głównym kontrybutorem (…)
Łukasz Kałużny: I jest ciekawe rozbicie na temat kto na tym ten. I jest takie stwierdzenie: Kafka is becoming a commodity.
Szymon Warda: Wydaje mi się, że nawet nie jest czas przyszły, to jest czas, to się już stało.
Łukasz Kałużny: I wymienili, że mamy ileś tam wersji hostowanej Kafki również w cloudach.
Szymon Warda: Tak, chociaż wydaje mi się też, że ten motyw budowania wszystkiego na Kafce trochę przygasł, co mnie trochę cieszy mimo wszystko.
Łukasz Kałużny: Tak, cieszy i to bardzo. Ale to jest taka ciekawa rzecz, warto się z tym zaznajomić, z tym, bo to jest solidnie zrobiona, pokazana analiza i warto się z tym zaznajomić. Jestem ciekaw, bo też pojawiają się jakieś takie alternatywy, które… Inaczej, jedną z dużych rzeczy jak popatrzymy, zobaczmy, że w Kafce nawet pojawiają się te proste kolejki teraz, że ludzie wreszcie zaczęli rozumieć, że potrzebujemy kolejek, a nie event streamingu. Potrzebujemy smart brokerów, a nie event streamingu tak naprawdę. I druga rzecz, którą wyraźnie widać, Confluent próbował wskoczyć, że Kafka jest niezbędna do AI-a i agentów i…
Szymon Warda: Pitu pitu.
Łukasz Kałużny: Takiego.
Szymon Warda: Dobrze, ale Łukasz, to ja mam link, który idealnie dopasowuje się do tego tak naprawdę, bo nie wiem czy Ci mignęło to, że wchodzi nowy hype. Mieliśmy CDC, które trochę przygasło, no nie, ale też się ładnie łączyło z Kafką, bo wiadomo to wszystko z CDC, czyli Change Data Capture, czyli wyłapywanie zmian. Po tym jak się zadzieje operacja na bazie danych, to baza zapisuje modyfikację do CDC, czyli Change Data Capture, stąd to jest zbierane i wysyłane do Kafki. To już trochę przygasło teraz. Ale mój drogi, mamy powrót, bo nie wiem, czy wyłapałeś, coraz częściej teraz pojawia się coś innego, czyli WAL, czyli Write-Ahead Log.
Łukasz Kałużny: Log, przepraszam, i to jest rzecz, która stoi za prędkością wszystkich nowoczesnych baz danych, jak popatrzymy na to.
Szymon Warda: Znaczy spójnością, tak bym to bardziej powiedział.
Łukasz Kałużny: Raczej prędkością zapisu też, bo zobacz, że nie bawisz się w kompaktowanie tak bardzo plików bazodanowych. Jest tam dużo takich, jak byśmy poszli w detale, jak to działa. Ale dobra, zostawmy to, już za hardcore’owo.
Szymon Warda: Detale już za nami, Write-Ahead Log jest w każdej bazie SQL-owej od dość dawna, więc to nie jest taka nowość. Ale, więc o co w ogóle w tym chodzi? Co się dzieje? To się dzieje, że jak chcemy coś zrobić, to zapisujemy do jednego wspólnego pliku, a potem dopiero dokonujemy zmiany na bazie danych, a potem potwierdzamy. To teraz, po pierwsze, to wynika coraz częściej. Po drugie, na bazie tego robi się teraz Change Data Capture, bo dzięki temu można z WAL-a odczytywać, tak w ogóle działa replikacja wielu systemów, że mamy ten wspólny plik na starcie.
Łukasz Kałużny: Transakcyjny, tak.
Szymon Warda: Tak. A teraz idziemy jeszcze dalej. Ostatnio, załóżmy będzie link o tym, jak Netflix wprowadził WAL-a jako uniwersalny serwis dla wszystkich innych serwisów. Czyli WAL nie staje się elementem infrastrukturalnym jakiegoś systemu, tylko WAL staje się serwisem jak serwis Discovery czy cokolwiek innego, czy w ogóle cache.
Łukasz Kałużny: Ja patrzę, oglądam teraz te rysunki słuchajcie, polecam Wam też je zobaczyć. Ty, ale wiesz jaki mam problem? Jakbym oglądał to w tym momencie, jak tak oglądam, jakbym oglądał zwykłą kolejkę, tak wiesz, tak patrzę…
Szymon Warda: Tak.
Łukasz Kałużny: W sensie ktoś zrobił jakąś nazwę na ten…
Szymon Warda: Ale mnie cieszy to, że zbieramy informacje o eventach nie od dupy strony, czyli po transakcji, tylko od głowy. Ale pamiętam, że to jeszcze jest nie zacommitowane, więc w sumie ciekawe co może pójść nie tak w takiej wersji tak naprawdę, że tak powiem. W CDC mieliśmy problem ten, że zbieraliśmy rzeczy, które były poszatkowane za drobno. Tu zbieramy rzeczy, które są nie scommitowane jeszcze, więc jej! Next big thing, że tak powiem, jeżeli chodzi o architekturę.
Łukasz Kałużny: To jest tak, dobra, wziąłem te Twoje linki tutaj, podrzuciłem. Wrzuciłem też oryginalny wpis Netflixa na ten temat, w tym: Building a Resilient Data Platform with Write-Ahead Log at Netflix.
Szymon Warda: Tak samo jak i CDC, WAL ma sens. Występuje ostatnio w newsach, w architekturze zbyt często.
Łukasz Kałużny: W sensie to jest detal implementacyjny, którego nie powinniśmy oglądać, ale wykorzystywać… Inaczej, jak nie jesteś drugim Netflixem, to nie powinieneś w ogóle myśleć, że coś takiego jest. Ewentualnie wiedzieć, że wykorzystujesz to do X, Y, Z, albo korzystasz z toola, który na przykład produkuje Ci CDC z WAL-a.
Szymon Warda: Dokładnie, więc ciekawostka. Zobaczymy, czy to się rozwinie bardziej w 2026. Dobra, co tam masz dalej Ty?
Łukasz Kałużny: Wiesz co, link, który w sumie mamy, bo zobaczyłem, że jest też u Ciebie, więc zacznę sobie od podśmiechujki i przejdę do tego konkretnego linku. No to słuchaj. Poleciał Tailwind SQL, jak sobie otworzysz, czyli rozszerzenie bodajże dla Nexta, żeby w tym, w stylu nazw klas z Tailwinda odpytywać bazę danych. Czyli robisz sobie w tym, w HTML-u className=“db-users-name-where-id-1” i on odpytuje. Uwaga: for fun only, do not use into production. Sądzę, że niektórzy mogą tego nie doczytać. Jest na samym dole.
Szymon Warda: Skomentowałem to na naszym Discordzie, że ktoś tego użyje na poważnie, przysięgam. Ale to jest też kolejna próba tego, żeby jak napchać tabelkę za pomocą SQL. Takich podejść było absurdalnie dużo i będą wracały. I one też nie są złe w pewnych zastosowaniach.
Łukasz Kałużny: Wiesz o tym, że w starych czasach każdy z nas pewną formę tego meta programmingu próbował zbudować, trochę w innym miejscu. Popełniłeś quasi framework do pewnej rzeczy, żeby przyśpieszyć CRUD-owanie w jednej firmie.
Szymon Warda: Oczywiście, że tak. Znaczy nie, przy pewnej skali, nie oszukujmy się, dla ogromnej ilości tabel potrzebujemy zrobić proste właśnie operacje CRUD-owe i takie podejście ma sens jak najbardziej, tyle. Tylko uwaga, nie z CSS-a, to jest dość ważne.
Łukasz Kałużny: Tak, tak, i jest drugi link: CSS Data Base Queries - sure, we can. To ma 4 lata, ale mi się tak przypomniało i wyskoczyło. Więc można też zobaczyć. Ale idąc do tych dynamicznych interfejsów, Szymon, bo to jest…
Szymon Warda: Chyba wiem do czego nawiązujesz.
Łukasz Kałużny: Tutaj chciałem się pośmiać, podejścia do dynamicznych rzeczy, to mamy Adaptive Cards w Teamsach, mamy całe dynamiczne Cards w Slacku. I wchodzi teraz, słuchajcie, ale brakowało tam agenta, brakowało Agentica. I w Google’u, to co teraz wyrzucili, to jest nowy projekt: Agent to UI.
Szymon Warda: Oczywiście w skrócie A2UI.
Łukasz Kałużny: UI, tak, który pozwala agentom AI tworzyć bogate, interaktywne UI, na przykład formularze, przyciski, karty zamiast odpowiedzi tekstowych.
Szymon Warda: Uwaga, bo to jest bardzo ważne, deklaratywnie. Czyli agent mówi co on potrzebuje, a UI pokazuje to w odpowiedniej, spójnej dla siebie formule, bo to jest bardzo ważne, to odróżnia.
Łukasz Kałużny: Czyli Adaptive Cards. Na przykład to, co Microsoft już lata temu pokazał, jak budowaliśmy pierwsze integracje dynamiczne, to właśnie te adaptacyjne karty.
Szymon Warda: Tak, i co jest ważne odnośnie tego, bo tu mamy konkurencję w postaci MCP Apps. Tam to znowu śmiga sobie wszystko ładnie… Raczej, sorry, MCP UI, który jest częścią MCP Apps, tam wszystko śmiga na iframe’ach, żeby było niezależne. Więc takie inne podejście do generowania.
Łukasz Kałużny: Ale zobacz, Szymon, ale mi to przypomina nawet wiesz, te rzeczy wygeneruj mi dynamicznie na podstawie odpowiedzi z bazy, wygeneruj dynamicznie czy okodowywanie dynamicznych formularzy. Przypomina mi się x razy, że mamy po stronie naszego systemu FormBuilder i potem nasz UI to sobie pokazuje. W sensie, to już, inaczej, widziałem to tyle razy w projektach, taką potrzebę rozwiązywaną na X razy. Nie dziwię się, że ktoś to próbuje ustandaryzować, bo to jest fajne. Z drugiej strony…
Szymon Warda: To nie ma sensu. To nie jest fajne. Będę się kłócił. Bo teraz zobacz do czego to prowadzi. Po pierwsze, prowadzi to do tego, że za chwilę będą wersje, czyli agent będzie musiał się dogadać z UI-em, którą wersję UI-a on wspiera. To pierwsze, więc generalnie będziemy za chwilę mieli różne wersje. Drugie to jest to, że za chwilę dojdziemy do tego, że ty tego nie wspierasz, to ja i tak dowalę iframe’a, żeby nie użyć innego słowa tak naprawdę. Inna opcja to jest to, że i tak będziemy mieli w ogóle, nawet najnowszą wersję, szczególne przypadki. Nie zadziała.
Łukasz Kałużny: Dobra, lepiej, lepsza rzecz, zhalucynuje nam generując odpowiedź.
Szymon Warda: To też. Ale w ogóle… A pytanie jest dalsze, czy komukolwiek zależy na tym, żeby UI był spójny? Nie. Jak używasz agenta odnośnie Anthropica, OpenAI-a i tak dalej, oni chcą, żeby to wyglądało po ichniejszemu. I to jest prosty cel. Tam taka miłość do tego, że na iOS będziemy wykorzystywali iOS-owy wygląd, a tu taki, tu taki, to minęło dawno. Dla mnie ten projekt jest ok, ciekawy, a iframe’y wygrają absolutnie.
Łukasz Kałużny: Ale lecąc sobie, słuchajcie, czyli mamy to załatwione.
Szymon Warda: Jeszcze jedna rzecz, jakie biblioteki to wspiera? Flutter, Componenty i Angulara. Nic więcej obecnie. Trochę mało bym powiedział.
Łukasz Kałużny: Czego się dziwić.
Szymon Warda: Ale co dziwne, wspiera Fluttera, którego Google prawie porzucił.
Łukasz Kałużny: Porzucił i wrócił, to jest wiesz. W zależności może ten, ktoś jednak złapał. Nie znam od środka, mogę ten, ktoś musiał wymyślić sobie projekt jakiś i pod awans, więc przygarnął z powrotem.
Szymon Warda: Tak, dlatego mówię, rzucił, powrócił, prawie rzucił. Tak, lecimy dalej.
Łukasz Kałużny: To co, mamy Szymon tak samo widzę, następną rzecz mamy tą samą, czyli Anthropica mamy na liście w dwóch różnych odcieniach.
Szymon Warda: Skillsy.
Łukasz Kałużny: Tak. Ty masz Skills. Ogólnie tak, powiedzmy nie będę dzisiaj już listował wszystkich zmian modeli, które wyszły, bo każdy od ostatniego shorta i GPT wydało i Google wydał i Anthropic coś wydał. Więc porzućmy to i nie rozmawiajmy o nowych modelach.
Szymon Warda: Bo już przyrostu takiego nie ma. Nie ma już takiej rewolucji. Dobra, to powiedzmy czym są Skillsy, bo to jest ciekawe bym powiedział.
Łukasz Kałużny: Dobra, Skills. Skills, słuchajcie, część z Was, które mogło tego nie widzieć, bo teraz tak, same Agent Skillsy mają już 3 miesiące, o tak. I całość tutaj polega na tym, że definiujemy sobie kawałek tak naprawdę, zażartowałbym, że umiejętności…
Szymon Warda: Standardów.
Łukasz Kałużny: W postaci Markdowna. Czyli robimy sobie, definiujemy w łatwy sposób subagenta. Bo jak teraz popatrzymy to jest tak naprawdę… Inaczej…
Szymon Warda: Nie jest to subagent.
Łukasz Kałużny: Widzisz, Szymon, dlatego ja trochę na to mówię, bo w zależności jak popatrzysz, jeżeli teraz popatrzymy na Skillsy, tak zupełnie szczerze z perspektywy user, takiego ten…
Szymon Warda: Użytkowanika, który nie jest techniczny, tu bym się zgodził.
Łukasz Kałużny: Techniczny. Tak, to jest subagent i w Claude Codzie nie widzisz różnicy pomiędzy Skillsem a agentem tak realnie przy użyciu.
Szymon Warda: Znaczy w ogóle czym jest Skills? Skills jest templatem, który mówi co i jak robić, standardy i tak dalej. Jest to paczka zip w ogóle, tam też jest Markdown, mogę robić inne rzeczy, jakieś tam zasoby. Dla mnie to jest odpowiedź na rosnące instrukcje, bo Skillsy są ładowane tylko jak są potrzebne…
Łukasz Kałużny: Dynamicznie.
Szymon Warda: Więc nie zawalają nam instrukcji nastartowych. Więc to jest mega fajna opcja, która po prostu mówi co, jak, gdzie ustandaryzuje. Co więcej, odpalili też Skills Directory, czyli można je wyszukiwać, ładować i tak dalej. To jest załóżmy taki case, mówimy: wygeneruj mi powiedzmy dokument zgodnie z firmowym UI-em. I kto będzie (…).
Łukasz Kałużny: Tylko z drugiej strony to tego też mieliśmy subagenta. Mogłeś zdefiniować też subagenta. I widzisz, dlatego mówię, że…
Szymon Warda: Ale ten subagent byłby kopią tak naprawdę, to by było to samo. A tutaj po prostu masz w ramach tego jednego agenta, robisz upload pliku zip i to Ci wszystko śmiga. Znaczy dla mnie Skillsy są interesujące, fajne rozwiązanie. Dużo prostsza rzecz niż, zdecydowanie niż subagenci, to trzeba przyznać do tego.
Łukasz Kałużny: Całość tak, plusem jest to dynamiczne ładowanie i taki jawny ciąg…
Szymon Warda: I łatwość.
Łukasz Kałużny: Tzw. bo mamy, tak, mamy ten podział metadanych, czyli level 1: metadane, level 2: instrukcje, level 3: resource encode jako jakieś dodatkowe skrypty, które możemy za tym ponieść na przykład. Czyli przykładowo możemy skrypty, wymagane MCP toole, które chcemy dostarczyć, czy z innej strony możemy na przykład jakąś dokumentację, referencje i inne rzeczy do API, to wszystko zładować. Czyli mamy główny plik z tym jak coś ma być zrobione i potem dodatkowe referencje. I wiesz co Szymon, powiedziałbym, że ok, to jest bardzo fajne, ale efekt wow zaczyna, zrobi się jak załadujesz to nie do Code’a, w którym miałeś agentów, bo to jest trochę inny rodzaj agenta, ja na to w ten sposób patrzę, po prostu subagenta, a w Codzie, jak w Claude w czacie załadujesz jako end user, to tam robi to większe wrażenie, kiedy sobie modyfikujesz czata.
Szymon Warda: Dla mnie to jest co innego. Dla mnie to jest odpowiedź na to jak poszczególne… Wiemy już, mam nadzieję, że wszyscy, że nie będzie tak, że nasi nawet power userzy będą pisali agentów, subagentów dla organizacji. Nie. To jest fajny sposób w jaki powiedzmy Power User może taki template stworzyć. I mamy identyfikację wizualną, mamy standardy i tak dalej, proste instrukcje, dzięki którym po prostu użytkownicy w organizacji ładują albo są ładowane automatycznie i to śmiga. Więc dla mnie to rozwiązuje realne problemy, jeżeli chodzi i adopcję po prostu, jeżeli chodzi o adopcję, jeżeli chodzi o unifikację. Fajna rzecz.
Łukasz Kałużny: Tak i druga sprawa…
Szymon Warda: To nie jest rewolucja, bardzo fajna użytkowa rzecz.
Łukasz Kałużny: I druga sprawa, że to, co za tym idzie, to Agent Skills też się standaryzują i są przyjmowane przez resztę. Tutaj bym dorzucił jeszcze dwie rzeczy. Mamy nowy Agentic Foundation wokół CNCF-u. Ich pierwszym podejściem, które tutaj idzie w ramach Linux Foundation, to jest Agents.md. Czyli oprócz tych Skillsów to jest w ogóle standaryzacja Agents.md, żeby nie było już Copilot MD, Cloude, czyli żeby wszyscy w ten sam sposób traktowali to w jednym miejscu, jak popatrzymy. Więc to jest istotne. I tutaj wszyscy powoli się do tego dołączają, jak sobie zerkniemy na listę. Druga rzecz, która jest w tym istotna przy Anthropicu, jak jesteśmy, to nie wiem, Szymon, czy Ci przeleciało z zakupów, przejęli Buna, czyli ten runtime TypeScriptowy, który wykorzystują.
Szymon Warda: Ominęło mnie kompletnie.
Łukasz Kałużny: Tak, więc prawdopodobnie dla zwiększenia swojego developer experience przyjęli, bo Bun nie był dużym projektem, przejęli runtime, właśnie JavaScriptowy Bun jako taki cały ten i tyle. I tak naprawdę to jest ciekawostka.
Szymon Warda: To ja się wpiszę, jeżeli chodzi o przejęcia. Wyleciało mi kilka razy w takich publikacjach chwalenie się właściwie firmy Chainguard, która zajmuje się zapewnieniem tego supply chain, żeby działał dobrze. I co oni odpalili? Odpalili swoją własną organizację na GitHubie i w ogóle też ogłosili, że będą robili, że będą zbierali gotowe projekty opensource. Co to znaczy? To są projekty opensource, które już nie wymagają aktywnego developmentu, są zarchiwizowane i tak dalej, że oni będą zbierali do swojej organizacji i będą aplikowali patche, utrzymywali to i tak dalej. Pomyślisz idea jest szczytna. Faktycznie tych projektów, które po prostu żyją, a są już gotowe, jest od groma i ciut ciut delikatnie nazywając. Mają już u siebie Ingress NGINX. Użycie tego jest powiedziałbym już dość absurdalnie szerokie. Tylko teraz, to co mnie zastanawia teraz. Bo z jednej strony fajnie, że ktoś to zbiera. Z drugiej strony wyobraź sobie, przecież te projekty będą się działy i żyły absurdalnie długo i nagle jedna firma ma wszystkie te rzeczy u siebie. Po pierwsze, jako wektor do ataku, to w ogóle fenomenalne, ale po drugie, to jest takie dość poważne ryzyko powiedzmy organizacyjne tak naprawdę, że nagle oni zbiorą wszystko… Znaczy teraz na razie nie zebrali prawie nic, ale ta idea pewnie powróci. I teraz jeden koniec jest zły, drugi koniec jest zły.
Łukasz Kałużny: Jeszcze mają image kontenerów.
Szymon Warda: Tak, faktycznie. I teraz jak sobie w ogóle z tym poradzić, z tym całym natłokiem projektów, które się wycofują, open source, które wycofują się z aktywnego użycia? To będzie, powiem tak, ciekawe.
Łukasz Kałużny: O, jak jesteśmy przy tych, kurde, otworzyłeś puszkę Pandory tym, ale lecimy. To jeden z projektów, w którym wskazywaliśmy, MinIO.
Szymon Warda: A, też.
Łukasz Kałużny: Idealnie trafiłeś. MinIO, czyli najpopularniejsza S3 na własnej infrze.
Szymon Warda: Zonpremisowana, ważne, żeby powiedzieć.
Łukasz Kałużny: Tak. Raczej S3 Compatible, o tak. Przeszła kasa z AI-a i inne rzeczy, przechodzimy full Enterprise: the project is currently under maintenance and is not accepting new changes.
Szymon Warda: To się wydarzyło, że tak powiem, bo to komplikuje parę rzeczy. Ale ja wiem kto to przejmie. Ja wiem, ja wiem, ja chciałem powiedzieć, że ja wiem. Taka firma na G pewnie jak znam życie.
Łukasz Kałużny: Więc zobaczymy sobie jak to ten. Inaczej, tylko patrząc się nikt, jak sobie teraz popatrzymy na ten, jak sobie popatrzymy na sam produkt, to żaden z dostawców cloudowych nie będzie miał w tym biznesu, żeby to przejmował.
Szymon Warda: Żadnego interesu, absolutnie żadnego. Ale za chwilę pewnie jakiś fork powstanie. Ten temat będzie się rozwijał. Nie wierzę, żeby się nie rozwijał. Zbyt dużo firm, które są duże i chodzą na onpremie, z tego nie zrezygnują.
Łukasz Kałużny: Tylko wiesz, tylko z drugiej strony masz też S3 w macierzach hardware’owych i innych rzeczach, więc to jest takie…
Szymon Warda: Tak, tylko one są już enterprise’owe. A masz firmy, które są duże, które nie chodzą na Enterprise i potrzebują właśnie S3 API.
Łukasz Kałużny: No nic, zobaczymy sobie całość jak to będzie wyglądać. Dobra. Co tam jeszcze masz z takich newsów?
Szymon Warda: Ja mam temat do przemyślenia. Jest raport od GitClear, który pokazuje całkiem ciekawie o tym jak rosła duplikacja kodów w commitach od momentu adopcji AI-a. To jest, doskonale o tym wiemy, generalnie tak, AI lubi sobie poduplikować, nie lubi solida. Ten wzrost jest dziesięciokrotny, ta krzywa jest taka czerwona, ładna i tak dalej. To moje teraz pytanie do Ciebie, czy to jest tak duży problem?
Łukasz Kałużny: Czy wiesz co…
Szymon Warda: Bo ja uważam, że nie do końca.
Łukasz Kałużny: Czy wiesz co, dobre i to jest pytanie, kurde, i to jest… Ja sobie zostawiłem taki link w ogóle na koniec, Five Engineering Dogmas, czyli 5 mitów, które trzeba wyrzucić na emeryturę. I tam było następujące: Do not reinvent the wheel - find a package. Every PR must be reviewed. I dwa kolejne na temat sprintów, to porzucę. I czwórka: Every code should be behind a feature flag/gate. Tutaj takie trzy. To są, warto sobie zerknąć…
Szymon Warda: To ostatnir jest absurdalne.
Łukasz Kałużny: To jest przedostatnie, ale tak, z tych. Ale jak popatrzymy, rzucając o tym co powiedziałeś, ta duplikacja kodu to jest problematyczna rzecz, Szymon. Bo z jednej strony, to jest ten zajebisty przykład, że nie duplikujmy kodu, a potem robimy dry’a i potem nagle się okazuje, że w kawałku systemu mamy zależność, która się rozjeżdża biznesowo. Doświadczyłeś tego dziesiątki razy, że nagle copypaste’owałeś…
Szymon Warda: Mamy klasę utility, prosto, która formatuje datę i zmieniamy to i nagle to rozwala absolutnie cały system, bo ci potrzebują tego, ci potrzebują tego, ci potrzebują potrzebują tego.
Łukasz Kałużny: Ty pokazujesz (…) miałeś.
Szymon Warda: Nieduplikowanie kodu powoduje slice’owanie. To nie jest takie złe w kontekście AI-a, który woli pracować na takich mniejszych scope’ach. Sorry, nie uważam, żeby to była jakaś tragedia tak naprawdę. Trzeba nad tym panować, oczywiście, ale takie: zróbmy tak, reużywanie pełne, ten mit reużywania upadł już dość dawno.
Łukasz Kałużny: Raczej uważam, że w niektórych środowiskach żyje i ma się bardzo dobrze.
Szymon Warda: Gdzieniegdzie tak, ale to tak spadło znacząco.
Łukasz Kałużny: Czy wiesz co, idąc sobie do tego wiesz, tak jak teraz powiedziałeś, ja na przykład nie uważam tego za aż tak złe. Aż tak złe, to jest… Inaczej, to jest rzecz, której nienawidzę zawsze mówić, czyli po konsultancku: to zależy co to jest za zduplikowany kod, bo… Inaczej, to nieupilnowanie… Porównajmy to do tego problemu, że te PR-y będą, że ktoś będzie wrzucał cały feature, którego nie jesteś w stanie ogarnąć w ogóle i nawet autor wrzucający kod nie jest w stanie go ogarnąć, co zrobił.
Szymon Warda: Żeby nie było, nie wolno pozwolić AI-owi kompletnie pisać wszystkiego od zera, bo to już popłyniemy. Ale taka tragedia, że o Jezu, duplikujemy kod, o, ja mam takie: hold your horses. Nie ma, nie jest tak źle, naprawdę, trochę tej duplikacji tam gdzieniegdzie się przyda.
Łukasz Kałużny: Dobra i teraz zobacz, jest fajna rzecz, przykład, który wrzuciłeś w tym pierwszym, jak sobie pójdziemy na temat: Do not reinvent the wheel - find a package i dwie takie rzeczy, to te dwie paczki niesamowite, czyli left pad w NPM-ie, który jak twórca to ściągnął to 11 linii kodu ściągnęło Facebooka, Spotify’a, Netflixa, tam ich systemy buildowe, jak się rozjechało. Czy sławetne w NPM-ie: is even, które też. I wiesz i teraz jest, Ty, i is even ma nadal 170 tysięcy pobrań tygodniowo i ma zależność od IS od jak wejdziesz. Więc jak teraz wiesz i teraz popatrzysz czy powinieneś sobie to wygenerować i nie patrzeć, LMM-em? No tak, to są takie wiesz zabawy, co język wspiera w standardowych bibliotekach i Twój framework. Zauważ, że jak popatrzysz, to w ogóle taka fajna rzecz, jak popatrzysz, ta biegłość duplikacji, użycia standardowych bibliotek, to jest rzecz, która też zaginęła już przez frameworki i inne rzeczy, ze składni.
Szymon Warda: Dobrze, Łukaszu, bo tak powoli będziemy się zbierali i gdyby nie ja, to odcinek shorta byłby do kosza, bo zapominasz o jednej bardzo ważnej rzeczy, jeżeli chodzi o nasze shorty. Jeszcze nie było nic o Postgresie. Więc ja to nadrobię, ponieważ Ty się tutaj opierniczasz, żeby nie użyć mocniejszego słowa. Nie tak, podśmiechujki, podśmiechujki, ale całkiem ciekawe i niespodziewane według mnie, ale nieźle pokazujące, artykuł o tym, jak Instacart porzuca Elastica na rzecz Postgresa. Właśnie.
Łukasz Kałużny: Do czego?
Szymon Warda: Full-text searcha. Do full-text searcha, do wyszukiwania produktów na ich platformie. Bardzo fajne, bo w ogóle opisuje, na ich blogu w ogóle, opisuje właśnie jak wygląda architektura, jak wyglądały problemy. Oczywiście problemy były spoko, te same co jeżeli chodzi o Elasticka, wielki, drogi, ciężki w utrzymaniu, słabo się skalował. Wielka nowość, no kto by pomyślał. Oczywiście na razie mówimy cały czas o Elasticu. Bolały ich partial update’y, rozjeżdżały im się dane, marudzili to, że synchronizacja danych czasami trwa do tygodnia, poprawa danych, bo Elastic nie ma (…) też, on robi update całości i tam trzyma tylko obecny wiersz i tam kombinuje jakby zrobić partial update’y. Na co przeszli? W ogóle też przeszli, też motywacją nie tylko była wydajność, ale też były właśnie kontekst tego, że co z tego, że mieli wszystko w Elasticu, wyszukiwanie, że potem i tak musieli dociągać dane z bazy relacyjnej i tak dalej. Mogli robić za pomocą między innymi indeksów GIN lepsze wyszukiwanie kontekstowe: kto, co, o co chodziło, lepsze wyszukiwanie rozmyte i tak dalej. Fajny artykuł, który naprawdę mięsiście opisuje jak można na Postgresie zrobić bardzo dobrego full-text searcha. Więc jakby ktoś potrzebował, zobaczcie, bo naprawdę jest długi, ale zdecydowanie warty tego czasu, jeżeli macie ten problem właściwie.
Łukasz Kałużny: Tak, plus teraz jeszcze to, co daje wektoryzacja, którą też tam, tak jak przeskanowałem ten artykuł, też się to pojawia do wykorzystania. To na koniec taka rzecz. Szymon, pamiętasz ładowanie koszy na śmieci do serwerowni?
Szymon Warda: Kosza na śmieci? Rozwiń tą myśl.
Łukasz Kałużny: Te stare stare Maci Pro jako śmietnik. Ibyły specjalne rackowe przystawki, żeby wstawiać kosze na śmieci do racków. To wleciał przy najnowszym updatecie do Maca, prawdopodobnie stanie się znowu najlepszym tym, Mac Studio stanie się najlepszym pecetem do hostowania modeli.
Szymon Warda: Dalej jest (…) w ogóle.
Łukasz Kałużny: Ale jak odpalicie sobie linka, to to, co wjechało, to jest ciekawostka, wjechał update, który pozwala po Thunderbolt 5…
Szymon Warda: Coś tego jeszcze dużo, to okej.
Łukasz Kałużny: Przecież to jest nowe, Thunderbolt 5 jest nowy.
Szymon Warda: Ale (…) trochę wycięło Thunderbolta.
Łukasz Kałużny: Ale masz ten, ale dobra, to jest w Macu domyślnie, to jest kompatybilne z USB-C, więc masz Thunderbolta 5. I uwaga, zapala RDMA, Remote Direct Memory Access po Thunderbolcie 5.
Szymon Warda: Ale to wyjaśnijmy czemu to jest ważne. Bo w momencie jak masz Remote Memory Access, to w tym momencie omijasz cały network stack i możesz to klastrować tak jak HPC się robiło, HPC i hyperkomputery te wszystkie. One właśnie mają Memory Access.
Łukasz Kałużny: Tak, dokładnie i zabawa, tu jest pokazane jak na czterech Macach Studio uzyskujesz 1,5 terabajta VRAM-u, 1,5 terabajta VRAM-u w tej wielkości kawałku.
Szymon Warda: To jest naprawdę duże, bo nawet załóżmy cenniki maszyn wirtualnych, które właśnie mają remote, bo trzeba mieć odpowiednie w ogóle wsparcie na poziomie hardwareowym.
Łukasz Kałużny: Tak, cała zabawa.
Szymon Warda: To są drogie zabawki.
Łukasz Kałużny: To w tym, czekaj, na tym EXO, teraz jak sobie pójdziemy, na DeepSeeku v1 samodzielnie hostowanym wjechali na 32 tokeny na sekundę w domu, to jest bardzo istotne, w czymś, co możesz postawić na biurku i nie… Inaczej i nie będziesz miał dźwięku, że startuje odrzutowiec jak zacznie to liczyć.
Szymon Warda: Tak, w ogóle polecam kanał tego człowieka, bo on jest, naprawdę fajne eksperyment robi, dużo wokół ARM-ów, dużo wokół risków…
Łukasz Kałużny: I klastrowania w domu w absurdalnych ilościach.
Szymon Warda: Tak, w absurdalnych ilościach, ale też bardzo, bardzo sprytnie automatyzacji domowej, wielu rzeczy. Tak że zachęcam. I tak, teraz żałuję, że nie kliknąłem na ten filmik, bo mi parę razy wyskoczył właśnie. Respekt, ciekawa rzecz.
Łukasz Kałużny: Tak to jest w nowym zupełnie w tym, poleciało zupełnie, teraz w tym nowym updatecie do Maca to wleciało. I to będzie w ogóle ciekawostka, jak to pójdzie. Ja już sobie wyobrażam, że teraz wchodzą te nowe M5 Ultra. Sam czekam aż będzie M5 Pro dostępne, żeby wreszcie wymienić kompa. Jestem ciekaw jak bardzo będzie duża niedostępność ich ze względu na to, że ludzie zaczną budować z tego klastry obliczeniowe.
Szymon Warda: Łukasz i pamięć RAM, która poleciała absurdalnie do góry.
Łukasz Kałużny: Zostawmy to. Widziałem reklamę taniego RAM-u i się przeraziłem jak to zobaczyłem.
Szymon Warda: Dokładnie. Dobrze.
Łukasz Kałużny: Dobra.
Szymon Warda: Ja mam jeszcze jedną ciekawostkę, jak będziesz potrzebował. Fajna infografika z ByteByteGo odnośnie komend wszelakich do debugu sieci. Ładna, prosta. ByteByteGo te rzecz z reguły robi dość fajne. Jakby ktoś potrzebował do przejrzenia, ściąga, że tak powiem. Zobaczcie, będzie, wciśniemy w newsletter, prawda? Wciśniemy.
Łukasz Kałużny: Chyba tak, albo w linka. O, w linka pod spodem, albo bezpośrednio do grafiki. Dobra, trzymajcie się. Na razie tyle.
Szymon Warda: Dobrze, to co, tyle. Miłego. Heja!

Wypełnij poniższy formularz, aby być na bieżąco ze wszystkimi
odcinkami Patoarchitektów
i uzyskać dostęp do dodatkowych
materiałów.