VIDEO TRANSCRIPTION
W najnowszym odcinku Adama i Adama, z gościnnym udziałem wielozadaniowego Pawła Wilka - specjalisty od bezpieczeństwa komputerowego i programowania - dowiemy się o jego doświadczeniach z komputerami, począwszy od pierwszego komputera ZX81 Sinclair Research Limited, aż po pierwszy projekt programistyczny z użyciem Turbo C. Paweł opowie o swoim wkładzie w projekty open source, takie jak Linux i Red Hat, a także o swojej pracy nad maszynami i modyfikacją modułów jądra systemu. Dowiecie się również o jego fascynacji językiem Clojure, który pozwala na efektywne zarządzanie danymi, oraz o jego zainteresowaniach związanych z Prologiem i cyfrową kryminalistyką. W rozmowie nie zabraknie również miejsca na tematykę e-discovery, czyli wymiany informacji elektronicznych w postępowaniach prawnych, a także znaczenia ochrony danych osobowych. Paweł podzieli się również swoimi doświadczeniami z różnymi systemami operacyjnymi, z naciskiem na Linux, a także wyrazi swoje preferencje co do narzędzi do kodowania. Na koniec dowiemy się o zjawisku "patostreamingu" oraz o zaszyfrowaniu w PHP. Nie przegapcie tego odcinka pełnego wiedzy i ciekawostek z zakresu IT!
Adam nie jedz już tej sałatki. Przepraszamy za spóźnienie. To miał być mój żart na początek. Witamy Was serdecznie w 53. odcinku rozmowy kontrolowanej. A witają Was Adam Hekle i Adam Lange. Cześć. Zauważyliście pewnie, że dzisiaj mamy rekordowe dwuminutowe opóźnienie wynikające z dużego obciążenia sałatkowego. Ale mamy nadzieję, że wykażecie się wyrozumiałością i wytrzymaliście, ponieważ Wam też ciężko wstać od komputera i zająć się czymś innym. No dobrze. Ogłoszenia duszpasterskie. Co my tutaj dzisiaj powiemy? Dzisiaj nie będziemy dużo Wam truć. W ogłoszeniach duszpasterskich powiemy, że pod adresem live. zaufana3strona. pl można się zapisywać na powiadomienia o naszych nowych odcinkach.
Wtedy wysyłamy Wam co tydzień e-maila z informacją o tym, kto będzie naszym gościem i krótką charakterystyką tego, o czym będziemy rozmawiać i dlaczego ta osoba jest naszym zdaniem ciekawym gościem. Oraz można tam też znaleźć linki do naszych różnych archiwów, tudzież linki do wersji podcastowej, jeżeli oglądacie nas na YouTubie lub Facebooku, a wolicie kontynuować na Spotify, Apple Podcast albo Google Podcast. Jest też oczywiście RSS dla osób, które żadnej z tych usług nie chcą używać, bo nie. I to w zasadzie tyle ogłoszeń duszpasterskich, bo czas powitać naszego dzisiejszego gościa, którym jest wieloinstrumentalny, wieloutalentowany człowiek. Paweł Wilk, pseudonim Siewca. Dobry wieczór Adam. Dobry wieczór. Cześć Adam. Dobry wieczór Paweł.
Bardzo nam miło Cię widzieć. Bardzo mi również miło. Taki dżingiel, tak na szybko. Paweł obiecał właśnie, że będzie to pierwsza audycja z dżinglem. Zbliżamy się do roku naszej działalności, najwyższy czas posiąść jakiś dżingiel. Także już słyszeliście, dajcie znać, łapki w górę jak Wam się podoba, łapki w dół jak nie i na koniec audycji podejmiemy decyzję o współpracy z Pawłem albo nie. Dobrze, ale do rzeczy Paweł, bo mamy dużo rzeczy, a mało czasu. Gdybyś na początek mógł powiedzieć, kim Ty w zasadzie jesteś, a konkretnie jak się przedstawiasz, gdy musisz się zdefiniować jakoś zawodowo, jak się z kimś spotykasz? Przedstawiam się z imienia i nazwiska.
Mówię dzień dobry, Paweł Wilk, którędy do pokoju wicedyrektora na przykład i pani z kadrów wtedy mówi tędy, panie Pawle, zapraszam. Ale gdybyś tak musiał się bardziej zdefiniować, czy Ty jesteś bezpiecznikiem, informatykiem, artystą? Tak właśnie, bo zacząłem, moja przygoda z kompami, z sieciami komputerowymi zaczęła się m. in. od bezpieczeństwa, chociaż wcześniej, jeżeli miałbym mówić o jakimkolwiek przejawie półprofesjonalizmu, to było w roku 98 chyba i była to Polska Dystrybucja Linuxa, a wcześniej projekt tłumaczenia manuali Przemka Borysa. Te środowiska cyberbezpieczeństwa i środowisko free software były jakoś ze sobą splecione. Ludzie, którzy programowali systemowo, czy nawet robili pakiety do PLD, znali się, kolegowali, wymieniali wiedzę i doświadczenia z ludźmi z tak zwanej sceny hakerskiej. Zaprzmiało poważnie.
Więc dokonam tutaj pewnego coming outu, że ja nie czuję się tak naprawdę jakimś specem od security. Znam się na pewno na czymś, co się nazywa informatyka śledcza i discovery. Potrafię zrobić pentesta, napisać raport, natomiast nie jest to taki mój konik. Moim konikiem chyba od dziecka było pisanie wolno dostępnego oprogramowania, a że znalazłem się w takich warunkach, to jeszcze był rynek przed rokiem 2000 i rok 2000 mało sprofesjonalizowany jeszcze, trochę dziki taki rynek. Były takie rodziny cyberbezpieczeństwa, tacy prodigy po angielsku, takie mini geniusze wzięte ze sceny hakerskiej, które ci ludzie pracowali po upychani w ciemnych zakamarkach różnych korporacji, czy firm telekomunikacyjnych.
Tam siedzieli i krążyły legendy jak to dużo oni zarabiają i do jakich routerów mają dostęp i komu zrobili system. To były takie czasy, nie było procedur, procesów, były bardzo śmieszne historie, ale to jeszcze wrócę do tego jeśli zapytacie mnie o pierwszą pracę, bo pierwsza była związana, praca zawodowa była związana z cyberbezpieczeństwem właśnie, a po godzinach dalej z klikaniem w PLD. Paweł, każdy od czegoś zaczynał, jak w ogóle, jak ty spotkałeś się pierwszy raz z komputerem, jak to wyglądało u ciebie? Pamiętasz w ogóle swój pierwszy komputer? Tak jak już opowiadałem, czyli wchodzę, mówię dzień dobry, nazywam się Paweł Wilk, o witaj komputerze.
A co to był za komputer? To był mojego wujka komputer, on go przyniósł, bo to była miniaturyzacja, na którą nie jesteśmy gotowi. To był ZX81 Sinclair Research Limited i pierwszy program, który zaobserwowałem to był pokaz, bo oczywiście byłem dzieckiem wtedy, a dorośli byli ważniejsi i do dzisiaj to we mnie tkwi, to gdy wujek pokazał zaawansowaną grę pod tytułem Zbijanie muru. To chyba taki odpowiednik Arkanoida napisany w Sinclair Basic, gdzie można było odbijać piksel, który uderzał w litery, które miały różne punkty. To był mój pierwszy kontakt z komputerem. On miał chyba pamięć rozszerzoną do jednego kilobajta i wymagał wystawiania na parapet, żeby się wychłodzić, bo wtedy coś mu się działo z pamięcią albo z procesorem, jeżeli za długo funkcjonował.
Potem, a pierwszy komputer osobisty to był mikrokomputer UniPolbrit 2086 z tego co pamiętam, któremu mój tato naprawił zasilacz. To był użytek z Niemiec, a ja zamiast klawisza Enter wlutowałem mikrostyk z jakiejś części od roweru, żeby zatwierdzać linię, bo nie było tego klawisza. Taka wesoła historia. Potem miałem pożyczony C16 Commodore, a potem swój własny Commodore 64 z kartridżem Action Replay, w którym mogłem freezować gry i wymieniać fragmenty, polonizować aplikacje wręcz. Jeżeli było tyle samo znaków, to kod assemblerowy się zgadzał, nic nie wchodziło na przestrzenie pamięci, na które nie powinno i wszystko śmigało. Potem był PC 286, jeden megabajt RAMu z przyciskiem turbo oczywiście.
Mój pierwszy kontakt z programowaniem to był, nie licząc basiców i assemblera dla C64, grafiki na raster register, czyli takich bary tam można było tworzyć oraz wyłączać kolizje sprite'ów, czyli duszków. To były komputery, te 8-bitowce, które miały wbudowaną obsługę postaci w grach zwanych duszkami, sprites. Nie licząc tego, to mój pierwszy kontakt z programowaniem to było na bazie książki pana Bieleckiego, Hisoft C dla ZX Spectrum. Starałem się napisać aplikację w Turbo C dla peceta i udało mi się nawet. To były statystyki, totolotka, chciałem rozgryźć system jako dziecko. Celowo nie stosowałem wcięć, żeby program był taki profesjonalny, a także dodawałem pauzę, żeby wydawało się, że on wykonuje jakieś bardzo skomplikowane obliczenia.
Potem mogłeś tą pauzę usunąć i powiedzieć, że zoptymalizowałeś. Change request'a, gdyby to było teraz, to bym wysłał sobie change request'a, zrobił spotkanie, potem je odwołał, przesunął z powodu pandemii. Co z tymi statystykami, czy wyszło ci coś? Oczywiście. Jaka liczba części? 42. Zawsze. Potem było Turbo C i Turbo Vision, trochę w Paskalu do szkoły, a potem pojawił się Linux. I Tatarek, jeden z moich nauczycieli z technikum, który lubił Linuxa, przeniósł nam do szkoły na dyskietkach mini Linux. Ale zaraz potem ukazał się Red Hat Linux w Chip Special, zdaje się. Wtedy już siedziałem na BBSach, był taki BBS Jegorek, BBS J. Gora. pl, w którym można było się alternatywnie wdzwonić.
Tam działało na oprogramowaniu World Group Manager i miało interfejs do internetu pod tytułem e-mail, FTP-F. Jak się ściągnęło Winsocka, to miało tą PPP-tkę, można było stać się węzłem internetowym, stacją sieciową. Wtedy trafiłem na PLD i tam było bardzo miło, bo ludzie byli naprawdę włączający. Szczecińscy administratorzy zapoczątkowali ten projekt, pomorscy, można powiedzieć, tam jeszcze Tomek Kłoczko był. Zacząłem tak nieśmiele, bo żeby coś dłubać, to warto się najpierw nauczyć, więc zacząłem czytać. Mamy podręczniki ekranowe, a jak już zacząłem je czytać, to pomyślałem, że może bym potłumaczył, żeby inni mogli szybciej czytać. Potłumaczyłem trochę i tu się nauczyłem Perla, żeby zrobić skrypt, który uzupełnia słowniki, który przy okazji, czyli był projekt tłumaczenia manuali zrobiony przez Przemka Borysa.
Tam było trochę ludzi, Wojtka Kotwice chyba kojarzę z takich najczęstszych kontrybutorów. Przy okazji tłumaczenia podręczników warto było je sprawdzać, ispelem to się robiło. Jako efekt uboczny tej funkcji powstawały słowniki języka polskiego, które chyba wysyłałem Milkowi Prywacie, który był odpowiedzialny za utrzymywanie polskich wersji słowników technicznych. Więc w ten sposób projekt tłumaczenia manuali wzbogacał słowniki ispelowe języka polskiego. A żeby to zautomatyzować, to popełniłem skrypt w Perlu, Manspell się chyba nazywał, który mówił czy już został sprawdzony podręcznik i tak dalej. Przerzucał, unifikował takie pliki prefiksów, po prostu generował update'y do słowników przy okazji. No i potem tak coraz bardziej śmielej zacząłem programować systemowo w C i robić jakieś swoje własne machiny w stylu pomysłu Home etc.
Był w PLD taki, czy dorzucać jakieś poprawki do na przykład. Zdarzały się nawet takie, które byłyby uznane za zaawansowane na przykład modyfikacje modułów kernelowych do sterownika, który nie działał do jakiejś karty, on się Force Desk nazywał chyba. Różne ciekawe rzeczy plus robienie pakietów, czyli pisanie specków dla RPM Package Manager, bo taka jest według autora RPM, to jest taki rekurencyjny skrót, a nie Red Hat Package Manager, to potem. On się nazywał RPM Package Manager pierwotnie. I te RPM, nie wiem kiedy ostatniego RPM coś zakomitowałem do repozytorium. Na początku to był CVS, który Linus Torvalds nazywa systemem dla ludzi, którzy powinni być zamknięci w Mental Institutions, w szpitalach dla obłąkanych.
Potem chyba to zmieniono na CVS, nie wiem jak to teraz wygląda, bo od dłuższego czasu tam nie zaglądam, chociaż czasami przychodzą mi powiadomienia z pocztowych list dyskusyjnych PLD Linux. Rozgadałem się. Wiesz co, bardzo płynnie przyszedłeś przez nasze trzy kolejne pytania, natomiast nie mamy nic przeciwko, jak słusznie wszyscy zauważyli, mamy brzuchy pełne sałatki, więc jeżeli ktoś odwala za nas robotę, to nie będziemy protestować. Natomiast powiedz mi, jak w ogóle trwa czy nie trwa twoja przygoda z open sourcem? Czy jeszcze robisz coś, czy już nie? No właśnie, patrzyłem, że sprawdzałem twoje komity na GitHubie i pamiętam 2015, 2000 komitów. A potem tak już mniej i mniej i mniej.
Przerzuciłeś się gdzieś? W 2018 albo 2019 ja przerzuciłem się na konto RandomSeed na GitHuba i tam komit ostatni był dzisiaj o godzinie pierwszej, więc tam ciągle jest dorzucane coś i to jest jedna z takich rzeczy, która mi z biegiem czasu nie minęła w ogóle. To jest kompulsja, moja obsesja i już nie jest tak, że nie śpię dobę, bo chciałbym coś skończyć, ale dalej jest to dosyć mocne, obsesyjne zainteresowanie robienie free software'u. Nie wiem jakie mam wewnętrzne motywy za bardzo, nie bawiłem się w rozpoznawanie tego, natomiast ostatnimi czasy dłubię przy Lispie dla maszyny wirtualnej Javy, w dialekcie języka Lispu nazwie Clojure. Do tego dojdziemy jeszcze w późniejszej części. No i w tym popełniam free software, nie mylić z open source.
Ja z tych takich starych gnułowców jestem. Pawle, jak prześledziliśmy twoje wpisy na Linkedinie, zrobiliśmy taki delikatny stocking, twoja pierwsza praca taka poważniejsza to był portal Poland. com i tam robiłeś webmaila, robiłeś wyszukiwarkę, która się Netoskop nazywała. Jak to wyglądała, jak wyglądała ta praca? Nie ma odpowiedzi kontekstowych, bo wyszukiwarkę stworzył Jacek Surawski Sigma, który przybył tu z dalekich krain, z dalekiej północy i ja tylko zostałem jakby, przyłączyłem się na chwilę do chłopaków po to, aby pomóc im w jednym zadaniu, zupełnie takim mało rdzennym, jeśli chodzi o silnik wyszukiwania i nie mogę publicznie tajnej nazwy projektu powiedzieć. To było wulgaryzm wyszukiwarka, to chodziło o to wulgaryzm kończący się na o, odmieniony, zaczynający się na p.
Chodziło o to, żeby kiedy użytkownik wpisze na przykład, załóżmy luźna, to system odpowiedzi kontekstowych podpowie mu spróbuj może luźna sprawa albo gdy użytkownik wpisze, no nie wiem, w tym kontekście, który ja mam na myśli trochę dziwne, ale czerstwa i na przykład system podpowiedzi kontekstowych wtedy powie, inni użytkownicy próbowali wyszukać czerstwa bułka i tak dalej, i tak dalej do chyba pięciu podpowiedzi kontekstowych. Tajna nazwa projektu wynikała z tego, czego ludzie tam szukali. Bez włożenia słów, no po prostu administratorzy to trochę, myślę czy admini czy właśnie ludzie, którzy mają z produkcją taką, z populizmem, z populusem kontakt, widząc logi i tak dalej, to myślę, że oni mają podobną sytuację jak niektóre służby czy ludzie parający się informatyką śledczą też.
To znaczy kontakt z tak bezmiernym morzem po prostu, człowiek nie wiedział, że ludzie robią jakieś rzeczy albo nie wiedział, że mówią drugiej osobie jakieś rzeczy, a tu nagle się okazuje, że świat jest znacznie bardziej barwny, że to bardziej przypomina takie Gotham City. Tak, podobno wyszukiwarka najlepszym spowiednikiem, takim nieświadomym trochę, więc ten kto czyta, to musi być tym, kto siedzi w konfesjonale. Jak w ogóle się pracowało w takim portalu w roku 2000? To był taki eksperyment. Dla kogo? Paweł, dla kogo to był eksperyment? Dla wszystkich zaangażowanych. I dla mnie, bo moja oficjalna funkcja na początku to był specjalista do spraw bezpieczeństwa sieci i faktycznie to były takie czasy, jak mówię, mało zprofesjonalizowanego, z proceduralizowanego security, czyli uważałem, że coś powinienem, no to to robiłem.
Na przykład, ojej, błąd w AISie, można odczytywać kod źródłowy, w tym dane dostępowe do baz danych. Takie znana klasa błędów. No to robię forward do drużyny programistów, a potem okazuje się, że my jesteśmy podatni i ktoś to wytknął, natomiast ktoś z programistów mówi mi, ty, ale ty to po angielsku wysłałeś. Z drugiej strony ja też w zupełnie luźny, niesproceduralizowany, nieuzgodniony sposób to zrobiłem, bo security było wtedy mało zprofesjonalizowane i tak jak mówiłem o tych cudownych dzieciach, które siedziały gdzieś tam po różnych korpach albo telekomach, że każdy wykształtował, powoli formował swój styl zarządzania bezpieczeństwem informacji, można powiedzieć. To trochę górnolotne jak na to co się robiło, to było bardziej techniczne, bardziej rzemieślnicze działanie, ale skuteczne o tyle o ile.
A co ja tam jeszcze, aha, webmaila, dlatego że ten portal był eksperymentem dużej firmy, która produkuje również systemy operacyjne i był tam taki kłopot, że te problemy, które były anegdotyczne w latach 2000 i wcześniej, one wszystkie tam wychodziły mimo skali, to nie było coś lepszego. System webmail był DLLkami, które ładowały się, korzystały z jakichś tam udziałów sieciowych, takie jak ludzie znają ze swoich biurek. Po tych udziałach sieciowych macierz dyskowa, podpięta z drugiej strony, dostarczała dane dla serwera IMAP, który dawał to webmailowi, a w sprawie to zatykało się, powoli chodzi. Myśmy użyli Squeerer Maila, wolno dostępnego w PHP napisanego oprogramowania. Pomagał mi w tym Sebastian Kondracki w pokoju Kursk.
Siedziałem tam z sektoidem, takim też od bezpieczeństwa, ale wtedy, kiedy przyszło nam wdrożyć webmaila, to spędził ze mną parę chwil Sebastian. On przyszedł z Chippa, był ogarniętym asemblerowcem, który robił m. in. na płytach Chippa była taka zajawka, gdzie wyjeżdżała taka płytka czy coś takiego, to wszystko było zakodowane, to nie była jakaś gotowa animacja, to Seb osiedział i tam klikał. Był niezłym wymiataczem, jeśli chodzi o programowanie. No i tam składaliśmy to do kupy. A pokój Kursk, dlatego, że było to pomieszczenie, które nie miało w ogóle okien i miało takie, jak kojarzymy z minionej epoki różnych instytucji, to było takie żółtawe światło, które teraz lubię, doceniam, jeśli chodzi o wzrok, ale ono tam takie było w tym pokoju, dlatego ta nazwa.
No dobra, to lecimy dalej. Słuchaj, jesteś notorycznym blogerem, wielokrotnym blogerem i też podcasterem. Jak mieliśmy test, to chwaliliśmy Pawła za jego super sprzęt i jako jedyny chyba pomógł nam ustawić audio, więc mamy nadzieję, że jest ok. Odpaliłeś Bad Sector, potem Random Seed. Skąd ta potrzeba u ciebie blogowania i podcastowania? Nawet mam kubek ze swoim nazwiskiem, który dziewczyna Ola zrobiła. Ale Paweł, tylko narcyzm? Oczywiście, że nie tylko. Kiedyś dochodziło coś takiego, że uważałem, że im więcej. . . Po pierwsze, publikowanie czegoś, jeśli już się przełamał człowiek i ten kanał komunikacyjny ma rozćwiczony, mówię tu o pisaniu, bez błędów, na przykład takich oczywistych, takie przecież, czy na przykład występowaniu na różnych konferencjach czy tam panelach.
Przygotowywanie się do czegoś takiego również krystalizuje wiedzę, którą już się ma. Robi się to takie bardziej przejrzyste, jasne. Czasami zaczyna się rozumieć takie fragmenty, które wcześniej umykały i myślę, że ja lubię to uczucie. Mam uczucie takie, które chciałbym dawać innym, bo było dla mnie jakoś trudne. To jest uczucie, czy to, co wiem w danej domenie, w danej przestrzeni wiedzy jest już kompletne i to w swoich publikacjach, tych dłuższych, jak podręcznik do programowania w Clojure na przykład, chciałbym przekazać innym. To doznanie, które mówi już więcej w głąb, nie da się pojąć w tej dziedzinie. Możesz się uspokoić i teraz sobie spokojnie utrwalaj to, co już wiesz albo wchodź w szczegóły, w te gałązki związanej z czymś wiedzy.
Natomiast jest to już pewien komplet, że nie zaskoczy cię w tej dziedzinie żadna ukryta niewiedza. Myślę, że to jest dla mnie ważne. Tak na teraz, co mi przyszło do głowy. Może to być kompletna bzdura, tylko po prostu akurat pomyślałem o tym. Poniekąd rozumiem, choć ja nie osiągnąłem jeszcze tego stanu w żadnym obszarze, żeby posiadać kompletność wiedzy lub przekonanie, że do niej się zbliżam. Oczywiście da się pogłębiać wszystko i absolutny sens w dowolnej gałęzi wiedzy nie istnieje. Więc można odpowiednim szeregiem pytań i wątpliwości dochodzić w nieskończoność do pytań bez odpowiedzi. Mówię tu o tym, że każda dziedzina ma taką faktycznie istniejącą intersubiektywną, czy tam w cudzysłowie obiektywną granicę, w której możemy uznać, że już nic nas poważnie nie zaskoczy.
I czasami, a nawet często jest tak, że ludzie uważają, że tam jeszcze nie wiadomo ile jest. I to uczucie, że nie wiadomo ile jest tego jeszcze do zgłębienia może powodować czasami, a nawet często taką blokadę twórczą, czy blokadę wytwórczą, rzemieślniczą. Ja jestem od tego, żeby inni tej blokady nie mieli. Dzięki temu rozumiem, dlaczego twoje artykuły z reguły sięgały przynajmniej 15 stron jak najlepiej. Pracuję nad tym. Właśnie, ale te artykuły pojawiały się w takim fajnym serwisie kiedyś, Bad Sektor. Ja pamiętam ten dzień, kiedy Bad Sektor powstał, czy też został ogłoszony, że powstał. Ja przeczytałem sobie skład tego zespołu.
Jak zobaczyłem tam Janusza Niewiadomskiego, jak zobaczyłem tam Borysa Łąckiego, jak zobaczyłem tam Pawła Krawczyka i Adama Chabińskiego i ciebie, to pomyślałem sobie, nie, to już mogę zamykać. To było po to, żebyś to pomyślał. No właśnie, ale potem wyglądało, że jednak ty jesteś tam tym motorem nopędowym, przynajmniej jeśli chodzi o zakres produkcyjny. A z czasem okazało się, że już nie ma tego motoru i już teraz nie ma Bad Sektora. Co się stało z Bad Sektorem? No właśnie to była chyba ambicja, jaka temu towarzyszyła, była niewspółmierna do tego, co naprawdę przynajmniej ja, bo mogę mówić za siebie, mogłem zaoferować.
Bo tego typu serwisy, bo tak, z mojej strony było to przedsięwzięcie, które mogłoby przejść z fazy takiej mało formalnej, tak jak ewolucja, tak jak na przykład Zielony Blok Piotra, czy Zaufana Trzecia Strona. Wewnętrznie byłem nastawiony na coś takiego, na taką ewolucję. Tutaj sobie ten, za jakiś czas pewna masa krytyczno zainteresowanych osób zostanie przekroczona i potem już można się ewentualnie profesjonalizować. Natomiast tak jak to wystartowało, to miałoby szansę zadziałać moim zdaniem w modelu takim, że zamiast pisać teksty szukam inwestorów, zaczynam robić serwis internetowy. Myślę, że gdzieś wewnętrznie miałem jakiś bunt przed tym, żeby robić taki serwis internetowy. Że jestem zwolennikiem zostawiania pustych trawników, tam gdzie ludzie sobie wydeptują ścieżki i potem budowania tam chodników, a nie strategii odwrotnej.
Myślę, że mogło to mieć negatywny wpływ na to, że nie pchałem tego wszystkimi możliwymi sposobami, żeby wystąpił tak zwany sukces misji. Rozumiem, że to co było na Bad Sectorze w tej chwili możemy czytać na Gundam City. Staram się co jakiś czas wydobywać z Hadesu, czyli z dumpa bazy majerskuelowej artykuły, które były ciekawe. I robić tak zwaną, kalkując z angielskiego, prezerwację tych najciekawszych tekstów. Nie wiem Paweł jak ty to robisz, ale mój serwer bazy donowej też nazywa się Hades, więc muszę sprawdzić logi. Tutaj oczko. Ale wiemy, że kręciłeś też reportaż o polskiej scenie security, a podobno zebrałeś trochę materiału. Co się dzieje z tym projektem? No właśnie on tak się przestał dziać. Nie był to wyłącznie mój projekt.
Ja tam obiecałem pomoc, jako Bad Sector zresztą, bo przy okazji jakiegoś wywiadu dla stacji telewizyjnej odezwali się do mnie ludzie, którzy zajmowali się robieniem materiałów. Paweł i Fryderyk. I powiedzieli, że dali taki pomysł, żeby zrobić coś większego niż 15 sekund wycięte z kontekstu trwającego kilka albo kilkanaście minut. Dałem kilka wypowiedzi eksperckich, one wyglądają wszystkie podobnie. Ktoś bierze to i oczywiście leci to w jakimś programie informacyjnym, ale jak minuta będzie zachowana z tego co się powiedziało to jest super. A najlepsze efekty są kiedy ktoś tnie taką wypowiedź, robi przebitki i tworzy zupełnie inną historię. To jest niesamowite. No więc pomyślałem, ale byłoby fajnie móc opowiedzieć, żeby nikt nie pociął.
Więc pierwotnie to miało być jakieś godzinna coś, ale potem okazało się, że przy okazji różnych konferencji, wywiadów z ludźmi uzbierało się tego chyba około, surowych materiałów jest na pewno więcej niż 10 albo 15 godzin. No i to ja będę ten w razie czego kto będzie ciął. W każdym razie nie są to stracone dane, natomiast projekt się rozpłynął, ludzie się rozeszli to tak jak z zespołem muzycznym tworzonym za młodu. No po prostu zeszli. No dobra, ale Paweł czy się słyszymy, bo coś cię urwało? Wróciliśmy. Już powoli, już teraz tak. Paweł, no ale oczekujemy deklaracji kiedy to wyjdzie, kiedy ten materiał ujrzy światłodzienny. Bo jak się zadeklarujesz to będziesz musiał to kiedyś wydać. Wszyscy czekamy.
Przecież nikt na to nie czeka. Tak patrzę teraz na koments i nie widzę tutaj. Jest nas dwóch tutaj już czekających. A pomożecie? Znaczy jak mi dasz ten materiał to ja go bardzo chętnie wrzucę na YouTube. Tylko tam mamy, widzisz na przykład takie grzecznościowe, ale staram się je honorować umowy, że na przykład ktoś życzył sobie autoryzacji i tak dalej. Oj tam, oj tam. Możemy rozmawiać o tym. Może dostać linka i powiedzieć, że mu się nie podoba. Możemy o tym pogadać. Naprawdę. Myślę, że to jest świetny pomysł, bo to jest naprawdę kawał świetnych historii przede wszystkim. Że wywiady, które się robi, jeżeli to jest taka forma dokumentalna, to one jakby nie dezaktualizują się.
My mamy sporo, chłopaki potrafiły wydobyć z ludzi, z którymi przeprowadzali wywiady takie generalne kwestie odnoszenia się do pewnych reguł, zasad niezwiązanych z bieżącą kondycją powiedzmy cyber bezpieczeństwa, czy jakiegoś ryseku na świecie, więc myślę, że to się nigdy nie przeterminuje. Bardzo podobały mi się metafory, nawet nie metafory, przykłady obecnego, zdaje się, inspektora danych europejskiego, który sobie tłumaczył jaka mogłaby być na przykład potrzeba zatrzymania telefonu komórkowego przez funkcjonariusza policji i dawał za przykład taki coś, ktoś musiałby bić w głowę drugą osobę na przykład tym telefonem, żeby tak po prostu z ulicy funkcjonariusz podszedł i powiedział o telefon proszę mi tutaj wydać. Tam było dobre, trafne bardzo porównanie przejrzenia takiego telefonu do instytucji przeszukania tak naprawdę.
Teraz w telefonach coraz więcej, no wszystko można tam, ludzie mają bardzo wiele w tych mobilnych urządzeniach i dostęp do czegoś takiego faktycznie jest czymś równoważnym kiedyś przeszukaniu mieszkania na przykład, czy skrytki bankowej, czy wszystkich dokumentów po prostu, które ktoś ma. A sobie żeby jeszcze zaostrzyć apetyty i zwiększyć presję społeczną, możesz ujawnić przynajmniej jak któreś z nazwisk osób, które były przesłuchane? Adam, był tam na przykład najbardziej niebezpieczny serwis o cyberbezpieczeństwie. Był to jego przedstawiciel, którego serwis wtedy kończył 5 lat, to było przy okazji SCS-u 2014. Byli ludzie od antywirusów. Nie chcę teraz tak szafować nazwiskami konkretnymi, ale możemy porozmawiać, jeżeli są zasoby i czas, to jest coś czego mi ciągle brak.
Myślę, że przez programowanie, które jednak jest dosyć frustrującym rzemiosłem i czasochłonnym, ale myślę, że jeżeli by się zebrać w większą grupę osób i podzielić jakoś pracą, to można to skończyć. Tym bardziej, że została ta fajna część, nie jeżdżenie po Polsce, załatwianie wyjściówek i robienie. Miałem marzenie, jakichś gwiazdy z zachodu włączyć w to. Ciekawe osoby, ale to wcześniej się zawiesiło niż zostało to zrealizowane. Będziemy nad tym pracować. Wspomniałeś, że programowanie zajmuje czas. Wspomniałeś, że Clojure jest twoją miłością. Podziel się z nami historią skąd ta miłość. Nawet przecież książkę o Clojurze, jak napisałeś, jest dostępna na Random. si. Napisałem podręcznik online o Clojurze. Tam jest około 1000 znormalizowanych stron.
To gorzej, że znormalizowanych, a tam są większe literki. Książkę chciałem na bazie tego popełnić i tkwi gdzieś w jakimś latechu. A dlatego tkwi, bo w międzyczasie zacząłem uzupełniać sam podręcznik. On jest teraz przeredagowywany od 2019 roku. Większość jest już przeredagowana. Zostało polimorfizm, makra i przetwarzanie współbieżne opisać. Przeredagować te części, które są jednocześnie rozdziałami. Ale wracając. Kiedyś robiłem coś dla projektu Diaspora, takiej alternatywy domniemanej dla Facebooka. Systemu, który potrafi działać podobnie jak IRCnet w rozproszony sposób. Nie tak zupełnie rozproszony, aby nie wymagał serwerów, ale każdy może postawić takiego swojego poda. To się nazywa pod.
Ja sobie ucząc się języka Ruby i miałem już na koncie parę popełnionych bibliotek na licencjach wolno dostępnych. Postanowiłem, że wzbogacę tę Diasporę o system tłumaczeń dla języka polskiego i innych języków. Zacząłem robić bibliotekę. Potem to u mnie znany wzorzec. Angażuję się w jakąś aplikację i nagle widzę, że w tej jednej części nie jest to takie nic, jak powinno być, takie porządnie zrobione. Wtedy wydzielam bibliotekę i staram się ją tam doszlifować. Ona nazywa się i18n-inflektor i wersja dla Rails była takiego frameworka webowego i18n-inflektor-rails. Pozwalała tworzyć dla języków o dużej fleksji, takich jak język polski, gdzie mamy odmiany przez dodawanie przyrostków, przedrostków, a także wyciąganie sensu w części na tej podstawie.
Pozwalała fajnie internacjonalizować i dodawać własne reguły odmian, a potem, przy czym nie takie jak znamy z zasad danego języka, ale takie bardziej maszynowo rozumiane, bardziej toporne można powiedzieć. W każdym razie popełniałem to w Rubin. Tam była zresztą taka kwestia obyczajowa w międzyczasie, między innymi dlatego musiałem robić bibliotekę, ponieważ ktoś stworzył pole, które nazwał seks, co miało oznaczać płeć. I tu pojawił się problem, bo okazało się, że nie wszystkim podoba się, żeby pole miało tylko trzy załóżmy opcje, czyli kobieta, mężczyzna, nie chcę podawać lub inny. Nie, ono miało być stringiem, bo nie wiadomo ile płci dojdzie zanim oprogramowanie między wersjami będzie wydawane.
Co ciekawe, na przykład Hiszpanie w pole to, gdy stało się stringiem, zaczęli wpisywać liczby i tak nie mogłem dojść, o co im chodzi, a oni się chwalili ile razy mają stosunki. Tam niektórzy oczywiście wpisywali male, female albo w swoim własnym języku, a niektórzy zaczęli pisać liczby. Nie wiem czy to żartobliwie, czy naprawdę myśleli, że ktoś ich o to pyta. Zobaczyli po prostu, że nie jest to pole wyboru, tylko dowolny tekst można tam wpisać. Dlatego w związku z tym jest już tylko pole wyborowe. Robiąc tą bibliotekę zainteresowałem się takim mechanizmem jak leniwe iteratory i generalnie zainteresowało mnie wykonywanie zwłoczne i deklaratywny styl.
To był ten punkt, kiedy podobne rzeczy znalazłem w relacjach ludzi, którzy opowiadali o swojej przygodzie z Clojure. Clojure chyba w 2009 albo 2010 rok jakoś się uoficjalnił, więc to był taki jeszcze młody język, który w środowisku lispersów, czyli lispowców, ludzi programujących w lispach, zaczął zdobywać dosyć szybko popularność. No i tak z rubiego przeskoczyłem do Clojure i podoba mi się w tym języku, poza tym, że jest lispem i te nawiasy mogą nie wszystkim pasować, jest tam bardzo dobrze rozwiązana współbieżność, dane są niemutowalne, a struktury danych trwałe.
Różnica jest taka, niemutowalna dana to po prostu wartość, a nie zmienna i mamy zawsze jakby taki niepisany kontrakt z językiem, jeżeli jest jakaś wartość to ona zawsze będzie tą wartością. Nie ma tak jak w innych językach, gdzie mamy typy wartościowe i typy nazwijmy je stanowe czy tam tożsamościowe, ekstensjonalnie można by powiedzieć.
Wtorek nie stanie się środą w takim języku, jeżeli użyjemy mapy, czyli innej złożonej struktury danych i tutaj dochodzę do tego co nazywam struktury danych są trwałe, jeżeli mamy tablicę, która ma miliard elementów, zwanym wektorem w Clojure, czyli uporządkowany typ danych, gdzie kolejność jest istotna i dodajemy do końca, jeżeli mamy takie coś i dodamy jeden element to powstanie nam z punktu widzenia programu, który piszemy zupełnie nowa struktura danych, ale dane nie mutowalne na poziomie kolekcji, ale pod spodem mamy coś co się nazywa współdzielenie strukturalne, w bebechach języka mamy zaszyte coś takiego, że tak naprawdę ten wektor reprezentowany jest strukturą drzewiastą szeroko rozpiętą z haszami pozawieszanymi na niektórych gałązkach i tak naprawdę dodanie czy usunięcie elementu jest tylko updatem do oryginalnej struktury i wycelowaniem jakiejś referencji wewnętrznej w tą nową wersję.
Dalej mamy migawkę rzeczywistości z danego punktu w czasie, niemutowalną z punktu widzenia naszego programu, ale pod spodem jest to zoptymalizowane, więc nie czekamy aż miliard elementów się skopiuje, żeby dodać tylko jeden bądź usunąć. To jeden powód. Drugi powód, Clojure od początku kładzie nacisk na coś co się nazywa data oriented programming, programowanie zorientowane na dane. Nie należy go mylić z takim data oriented design, gdzie mamy do czynienia z próbą przerzucania danych między pamięcią podręczną procesora a pamięcią karty graficznej z pominięciem, żeby jak najszybciej to było. To nie o to chodzi.
W programowaniu zorientowanym na dane właśnie zależy nam na tym, żeby dane były niezmienne, niemutowalne i zależy nam na tym, żeby dane, które wchodzą do programu, żeby bez podstawnie, czy bez głębokiej palącej potrzeby nie modyfikować ich typów, nie organizować ich w jakieś słowniki, których będziemy musieli się uczyć, nie robić miliardów getterów, setterów i typów własnych, tylko żeby obserwacja jest taka, informacje na które składają się dane, które wyrażane są danymi to zazwyczaj proste rzeczy. Na przykład mamy rzeczy, dla których kolejność jest ważna, porządek komunikuje sens, na przykład dokument będzie zawsze takim typem danych, mamy paragrafy, mamy rozdziały, to idzie z góry na dół.
Użyjmy struktury danych, która reprezentuje dane oborządkowane, potem użyjmy struktury danych, która reprezentuje dane unikatowe w swoim obrębie, czyli tak zwane zbiory. Więc mamy wektor, zbiór, potem użyjmy struktury danych, która pozwala po jakichś kluczach wybrać asocjację, tak zwany słownik, tablica asocjacyjna, czasem na to mówią mapa i w Clojure używa się terminu mapa na coś takiego, czy tablica haszująca, co jest bardziej technicznym terminem, bo tam kładziemy akcent na transformację kluczową, że musi być, ale generalnie dane, w których porządek nie ma znaczenia, ale asocjacja ma znaczenie, mapa. No i w końcu dane, które chcemy ściągać w odwrotnej kolejności, jak je dodajemy, coś co by zareprezentowało stos, czyli lista jednokierunkowa.
Te cztery proste struktury danych to jest wszystko co Clojure, co 90 kilka procent przypadków więcej niż 90 procent przypadków użycia będzie obsługiwane przez te cztery proste struktury danych. Żadnych wymyślania dodatkowych typów. Dane wchodzą do programu, używamy tych czterech struktur i ich kombinacji, na przykład zagnieżdżonych map i tak dalej, aby dopasować program do kształtu danych, jak najmniej zamieszać w tym, jeżeli nie jest to potrzebne. I na końcu wypuszczamy te dane, które chcemy wypuścić. I podejście jest takie, że lepiej mieć, nie pamiętam dokładnie to Alan Perlis powiedział, że lepiej mieć jedną strukturę danych i dziesięć funkcji, czy coś w tym stylu, niż odwrotnie, niż mieć bardzo dużo różnych rodzajów danych, struktur danych i niewiele funkcji, które je obsługują.
Chodzi o to, że mając takie podejście, że program powinien używać małej liczby struktur danych do wyrażania kształtu tych danych i powinien stosować pewne generalizacje, zacznienia z wciąż rozbudowywaną bazą funkcji pisanych przez społeczność, jak i twórców samego języka, jakby nikt nie wymyśla, to byłoby bardzo bezproduktywne, co dzieje się w wielu językach programowania, kiedy ludzie od nowa wymyślają swoje własne sposoby operowania na danych, swoje własne typy i tak dalej. Tutaj mamy raczej współpracę nad powiększanie bazy ogólnodostępnych operacji, które możemy przeprowadzić na znanych strukturach danych, co więcej nacisk jest na abstrahowanie tego, więc staramy się przynajmniej w Clojure budować nowe abstrakcje danych, już nawet nie struktury, ale interfejsy dostępu do tych danych, na przykład sekwencje.
Sekwencja jest to bardzo popularna i prosta abstrakcja, która pozwala na dostęp do pierwszego elementu, do reszty elementów albo na dodawanie elementu z przodu i ona może być interfejsem zarówno do mapy, jak i do zbioru, jak i do listy, jak i do wektora. Tworząc funkcje, które operują na jeszcze wyższym poziomie abstrakcji jesteśmy w stanie budować takie funkcyjne komponenty, które w tym modelu zorientowanym na dane będą ludziom pomagały, nie będą się dezaktualizowały w czasie. Dwa punkty z dziesięciu, które miałem wynotowane w głowie odnośnie tego, dlaczego akurat spodobał mi się Clojure, ale mógłbym kiedyś jeszcze bardziej spokojnie i metodycznie o tym opowiedzieć. Ja chciałem to podsumować tak.
Po pierwsze, jeżeli chcecie dowiedzieć się czegoś o Clojure, to wydaje się chyba, że Paweł jest tutaj dobrym źródłem informacji. Zacznijcie od jego książki, która jest dostępna na randomseed. pl. Dobrze mówię? Tak, albo w Google, poczytaj mi Clojure. Poczytaj mi Clojure. Po drugie, chciałem powiedzieć, że na początku z niepokojem obserwowałem licznik, mamy taki licznik oglądających i w trakcie, gdy mówiłeś on nie spadł, a wręcz wzrósł. A po trzecie, bardzo trafny komentarz pojawił się, nie będę go wyświetlał, bo zawiera słowo wulgarne, ale generalnie konkluzja była taka, co języki funkcyjne robią z ludźmi. Myślę, że możesz potraktować to jako komplement. Ale widzicie, moje drogie dzieci, Clojure jest zorientowany funkcyjnie, ale to wieloparadygmatowy język ogólnego przeznaczenia.
Funkcyjny to jest Haskell, tam trzeba naprawdę mieć ostry umysł. W Clojurze my właśnie tak trochę, nie to ta Java, tak trochę mówią, że Java jest sexy, kiedyś mówiono jeszcze, zanim zobaczono, jak potrafi być rozwlekła i bezproduktywna. Z jednej strony jest to taka właśnie Javka-kawka, z drugiej strony można używać tej funkcyjnej kompozycji, komponować te funkcje.
Programowanie funkcyjne tak naprawdę, gdyby ktoś mnie z ulicy zapytał i do czego bym mu porównał, to po prostu cały program faktycznie odzwierciedla jego najmniejszą jednostkę, czyli funkcję, która ma co? Argumenty, czyli ma wejście, zwracaną wartość, czyli ma wyjście, to w przypadku czystej funkcji, bo są jeszcze funkcje nieczyste, niedobre takie funkcje, które mogą generować efekty uboczne albo działać w oparciu o środowisko, bądź jakieś globalne, zmienne, zwane globalnymi stanami, modny termin ostatnio.
Jeżeli mamy taką podstawową jednostkę, to potem cały program działa w ten sposób, czyli potok, kojarzymy potoki, pipeline z Unix, Shella, to mniej więcej na tym polega, to nie jest żadna trudna sprawa, funkcyjne programowanie, znaczy ten sposób myślenia o problemie musi być właśnie taki, taki potokowy, wtedy o wiele ułatwia to zrozumienie sposobu w jaki coś jest wyrażany.
Myślę, że trudniejszymi językami są prawdziwie deklaratywne albo logiczne języki, gdzie ten kierunek może być odwrotny, ten sam kod może mieć różne kierunki, wręcz wnioskowania na bazie pewnych faktów, a funkcyjne to jednak jest takie, jeszcze ludzie wychowani na imperatywnych językach, czy zakorzenionych imperatywnie, czy strukturalnie, jeszcze są w stanie się wygodnie przełączyć, dostrzegając właśnie analogię do potoków z Unixa, jeżeli mieli do czynienia z Unixem, bo jak nie mieli to powinni. Pojawiła się prośba, żeby ci już nie dolewać, więc przejdźmy do Ediska. Ktoś mnie pyta, czy będę kodził w prologu, oczywiście, nowy serwis o bezpieczeństwie wspólnie z Adamami będziemy robili w prologu, a ja wcześniej tam zrobię taki mini projekt i napiszemy w prologu takie studio do edycji wideo. Prolog napiszemy.
Najpierw napiszemy prolog, żeby na końcu napisać epilog. Taki wrolog to będzie. Wrolog. Pięknie, pięknie i będzie jeszcze grał muzykę. Mówiłem o jednej rzeczy. Antena jest twoja. Zapytaliście mnie w kuluarach, skonfrontowaliście mnie, już nie chcę opowiadać widzom jak to wyglądało ile mi zajmie dochodzenie do siebie po tym, ale to chyba był ten Intel z Linkedin, gdzie było wylistowane nie tylko moje hobby, ale również to czym profesjonalnie się od jakiegoś czasu zajmuję, gdzie jest moja tak zwana przechowalnia. Chociaż jest to też dosyć ciekawe, szczególnie ostatnio. Z informatyki śledczej, czyli takiego digital forensics, czy computer forensics, przekształciłem się trochę, wyabstrahowałem się w tak zwane e-discovery.
No właśnie, co to w ogóle jest? No więc ciężko to wyjaśnić komuś, kto mieszka w tym kraju, bo u nas system prawny bazuje na trochę innych filarach. Jest taki termin discovery w naukach prawnych i w systemach prawnych tych anglosaskich, który proces ten przenosi ciężar opracowywania, gromadzenia i wymiany dowodów na strony, odciążając trochę sąd. Kary są drakońskie za nieudostępnienie, dlatego firmy się raczej stosują, bo mogłyby upaść tylko dlatego, że nie wydały jakiegoś dowodu. Więc kiedyś wygląda to tak, że mamy strona A i strona B, dostarczają wzajemnie sobie żądanych dowodów, chyba, że są to jakieś tam dokumenty objęte przywilejem adwokackim, tajemnicą, bądź podmiotowo, bądź przedmiotowo, albo stroną komunikacyjną komunikującą się jest na przykład adwokat, albo korespondencja czy dokument dotyczy szczegółów sprawy.
Wtedy oczywiście można to zamazać, wyredagować, nie dostarczać. No i tak było, że strony musiały się wymieniać, a kiedy sprawa była kłopotliwa, trudna, skomplikowana, danych do wymiany było dużo. Potrzeba było naprawdę dziesiątek osób, które dostawały papierowe dokumenty i tak przecież w latach 90. niektóre spółki wykańczano w Polsce, nawet nie chodzi o mechanizm discovery, odkrywania przed sobą dowodów, ale o stworzenie takiej sprawy, która wymagałaby od drugiej strony dowozu dokumentacji ciężarówką i wertowania tych wszystkich dokumentów, więc w miarę jak się upowszechniły komputery i nośniki danych, które pozwalają magazynować dokumenty, aktywność użytkowników i tak dalej, u Q to termin e-discovery, czyli takie samo wymienianie się informacjami, tylko w formie elektronicznej, ESI, Electronically Stored Information.
I tutaj terminologii, nie będę wchodził w szczegóły, bo terminologia dowodu elektronicznego, którą posługujemy się w Polsce, a która oznacza coś jak dokument związany z jakimś medium, trochę różni się, na zachodzie bardziej praktycznie do tego podchodzą po prostu ESI, Electronically Stored Information, a nie tam jakiś środek dowodowy, tutaj medium, co będzie pod źródłem dowodowym w takim układzie, czym jest dysk, czym jest partycja na tym dysku, potem czym jest plik, a na końcu czym jest dokument i ten dokument ma wartość dokumentu elektronicznego, czyli dowodu elektronicznego w sprawie, że tak naprawdę dowodem są informacje zawarte w tym dokumencie i są różne etapy, no i właśnie, cały proces e-discovery polega na rozszyciu tego, rozdzieleniu na proces i możliwym podziale tak, aby sprawnie to szło, kiedy różne teamy, drużyny, różne zespoły zajmują się różnymi przypisanymi podprocesami, więc zaczynamy od czego? Od identyfikacji.
Ktoś mówi, tam na tym systemie widziałem u Adama, tam jest dowód na to, że on pisał dobrze o Skype, albo pisał dobrze o sygnalu. Jak to tak pisać dobrze o sygnalu? I gdyby to było na zachodzie, ktoś by w fazę discovery wszedł i powiedział, wydaj nam całą swoją bazę artykułów, identyfikacja tego zasobu. Oczywiście wcześniej konferenc, nie wiem jak to przetłumaczyć, takie konferowanie, takie spotkanie przy kamerach, bądź rejestratorach, gdzie prawnicy wymieniają się i czasami też osoby od e-discovery, takie techniczne, wymieniają się informacjami o tym, co można zażądać w ogóle, żeby to w miarę cywilizowany sposób wyglądało.
Ktoś mówi, ja wiem, że u ciebie w tej bazie słyszałem nazwę Hades, domyślam się, więc ja poproszę o wszystkie e-maile dotyczące tego artykułu, które coś tam, ja wiem, że ten artykuł zlokalizowany jest mniej więcej tam i już twoją działką jest potem w procesie elektronicznego odkrywania dostarczyć stronie przeciwnej nawet na swoją niekorzyść jakieś dane. Tu będzie na przykład, że jednak napisałeś artykuł, w którym chwaliłeś sygnał, kto to by pomyślał. No i mamy gdzieś tam na końcu siedzi ktoś w tej serwerowni czy piwnicy, zależy gdzie ta baza Hades się znajduje i to jest według polskiej definicji osobowe źródło, kastodian, więc mamy Adama Kastodiana, to nazwa ulicy mogłaby być. Ja przy Kastodiana Adama 3 mieszkam i ta osoba wydaje źródło rzeczowe, którym jest SSD na przykład.
Oczywiście może być kopiowanie, to jest już druga faza e-discovery po identyfikacji z grubnej, która nazywa się fazą collection, czyli gromadzenia tych elektronicznych dowodów. No i z takiego źródła osobowego wywiedzione zostanie źródło rzeczowe w postaci dysku SSD powiedzmy lub od razu źródło elektroniczne w postaci artycji z tego dysku. To źródło elektroniczne to jeszcze nie jest do końca dowód elektroniczny. Tu się faza collection, czyli gromadzenia kończy się na tym, gdy już zabezpieczymy, policzymy sumy kontrolne czy inna drużyna to zrobi, na którym miejscu e-discovery jesteśmy. Ja jestem teraz zawodowo zajmuję się przetwarzaniem danych, procesing a nawet nie tylko, bo koncentruję się na klikaniu skryptów, które automatyzują pewne czynności.
No więc tu się pojawia ciekawa rzecz, kiedy źródło staje się dowodem, a dane stają się informacjami i to jest bardzo fajne, bo warto zapytać się co to jest dana. Ja lubię to pytanie zadawać na takich bardzo poważnych konferencjach, gdzie każdy przecież wie o czym mówi i pytasz takie, a co to są dane? Zazwyczaj jest takie wymowne milczenie, a fajnie sobie to poukładać. To jest to co ja lubię robić w publikacjach i teraz to zrobię. Twórca Clojure ma taką fajną metodę, że sięga do słowników, kiedy objaśnia jakiś termin i tam zazwyczaj możemy znaleźć bardzo fajne etymologiczne takie chwytaki terminologiczne, znaczeniowe, które od razu rozjaśniają o co dany termin komunikuje.
Na przykład w przypadku danej po angielsku data, liczba mnoga, liczba pojedyncza to datum, która swoje źródło ma w datus łacińskim, który oznacza prezent, podarek, gift. Polski język tutaj akurat bardziej jest uźródłowiony w łacinie niż angielski, trzeba by powiedzieć giva na daną, jeśli mamy konstruować, ale historycznie dana oznacza coś co zostało dane najpierw, a potem fakt na bazie którego dokonywane są matematyczne obliczenia, przy czym jest to fakt numeryczny, fakt którego już się nie podważa. Dwójka nie stanie się trójką, wtorek nie stanie się środą, pewniki, wartościowe pewniki to jest taki abstrakt, który komunikuje jakąś ilościową albo jakościową właściwość, to jest dana.
Dana potrzebuje systemu interpretacyjnego, żeby w ogóle zyskać jakieś znaczenie, żeby przenosić informacje, to jest tak jak glyf, jak sygnał alfabetu Morsa, jak zapalające się i gasnące światło, jak wibracje membrany w mikrofonie, jak pakiety i ramki przez sieć, to są dane, one same z siebie są bezznaczeniowe, natomiast stają się informacją w toku interpretacji w jakimś systemie interpretacyjnym. Może to być komputer, który robi discovery i wtedy to będzie faza processing, przetwarzania, a może to być umysł człowieka, kiedy mówię, a wy to rozumiecie i kiedy zamieniacie te dźwięki w jakieś jednostki znaczeniowe, wtedy to staje się informacją, wcześniej jest daną w różnych wzbudzającą różne media.
No i tak, informacja to jest coś, co ma znaczenie, dana to jest coś, co komunikuje jakieś podstawowe ilościowe bądź jakościowe atrybuty. Dana zawsze potrzebuje medium, żeby się przenieść i ona potrzebuje systemu interpretacyjnego, aby stać się informacją. Przykład, bardziej skonkretyzowany przykład to dana, która jest na przykład ciąg bajtów i bitów, tworzący plik w jakimś formacie, to dane. Ale jeżeli z tego pliku wyciągniemy zawartość i stanie się on dokumentem, to już jest informacja. Plik w formacie eml, który niesie ze sobą treść wiadomości poczty elektronicznej, to dane, ale kiedy ten plik zostanie wyświetlony człowiekowi bądź zinterpretowany przez komputer, stanie się dokumentem, stanie się informacją.
W toku interpretacji zyskujemy właściwość polegającą na możliwości wyławiania z tego sensu i dalej, informacja to nie koniec, kończymy fazę przetwarzania tych danych, czyli zamiany plików w dokumenty, przechodzimy do następnej fazy, kiedy informacja może stawać się wiedzą. Skolekcjonowana informacja i odpowiednio oznaczona staje się wiedzą, a wiedza może być używana do podejmowania decyzji, a te decyzje to na przykład czy ktoś popełnił coś, czy ktoś tego nie popełnił, czy ani popełnił, ani nie popełnił. W ten sposób dochodzimy do fazy przeglądu przez prawników, oni nie przeglądają danych, tylko przeglądają tą zgromadzoną wiedzę, która składa się z informacji.
O i discovery było pytanie, ktoś musi to pozbierać, ktoś musi to zamienić, wyciągnąć z tego dane, nie najpierw ktoś musi wskazać, potem ktoś musi wyciągnąć z tego dane, pozbierać i wyciągnąć z tego dane, potem ktoś musi zamienić dane w informacje, potem ktoś musi te informacje uporządkować w zasób wiedzy, a potem ktoś używa tej wiedzy, żeby powiedzieć czy jesteś winny, czy niewinny. No i procesu i discovery na końcu się publikuje. Ostatnia faza jest taka, że możemy wypuścić dokument do sądu albo wypuścić dokument do regulatora, bo i discovery używane jest w różnych ścieżkach, w różnych dziedzinach, nie tylko w konfliktach sądowych. Tak to widzę przynajmniej. Nie jestem jedynym, który doszedł do konkluzji, że trzeba cię zapytać o to, gdzie wykładasz i dlaczego jeszcze nie.
Staram się raz w tygodniu na pewno, a to pranie powykładam, a to ser powykładam na tosty. Nie myślałeś o tym, żeby gdzieś na uczelni pomęczyć studentów? Po konferencji dotyczącej dowodów elektronicznych back in Deloitte kilka lat temu nawet mnie ktoś zapytał, czy bym nie chciał coś ze studentami robić. Natomiast najpierw niech to closure mi trochę odpadnie, bo to naprawdę jest tak czasokonsumujące, a mam w tym do skończenia jeszcze jeden projekt. Ale wiesz, że możesz tego bić zamiast discovery? Nie wiem. Możesz. Nie, nie wiem naprawdę. Myślę, że jeżeli ktoś z nas oglądających zarządza jakimiś czy studiami dziennymi, czy podyplomowymi, to mamy kontakt do Pawła. Zresztą wy też znajdziecie kontakt do Pawła, to nie jest jakieś trudne.
Proszę go zrekrutować jako wykładowcę ku chwale studentów w waszej uczelni i ku ogólnemu zadowoleniu światowemu proszę jeszcze publikować jego wykłady na YouTubie. Pięknie. Dzisiaj zrobimy discovery z kawałka tektury, słoika i tej nakrętki. Paweł zostały nam już takie luźniejsze pytania. Jedno z nich, które zadajemy każdemu to jest, na jakim systemie pracujesz na co dzień? Zawodowo nie zależy to ode mnie, więc będą to jedyne słuszne systemy. Natomiast przez większość czasu hobbystycznie na Makusiu. Wynika to z tego, że po pierwsze interfejs jest responsywny. Ja spędziłem ponad 10 lat instalując sobie Linuxy. Tu powinien się pojawić link do zrzutka. pl. Pomóżmy Pawłowi zainstalować Linuxa.
Używałem i PLD od wersji tej takiej, którą jeszcze od Artura Frysiaka z PWR niosłem na dysku, bo był to najszybszy sposób skopiowania. Jeszcze nie było instalatora i potem używałem Debiana i używałem Gentoo, a komputer dwa dni budował środowisko graficzne i inne pakiety potrzebne. Używałem Red Hata, używałem Susie, czy jak to się tam mówi na to, suse Linux, suse Linux, tak z Polska i nie mogłem sobie pozwolić na taką niepewność, czy po kolejnym updajcie dalej będę mógł kontynuować bieżący proces. Mówię tu o interfejsie użytkownika i o niczym innym.
Może teraz, kiedy podszkoliłem się w Emaksie, bo używam go nie, żeby włamywać się przez send mail, ale żeby pisać w Clojure i naprawdę teraz Emaks, jeżeli jest w środowisku graficznym uruchomiony, no bardzo mocny edytor, to może inaczej by to wyglądało, natomiast responsywność interfejsu i przewidywalność update'ów skłaniają mnie do Maców, a także to, że mogę tam użyć całego zbioru użytków GNU, kompilatora GCC, właśnie Emaksa, Vima, Muta już nie używam, ale kiedyś używałem Muta do poczty i wielu innych, Unisona do synchronizacji przy okazji polecam.
Nie wiem, czy używaliście kiedyś, bardzo elastyczny, mocno konfigurowalny, wielokierunkowy synchronizator plików do backup'ów, można różne strategie synchronizacji sobie budować, tydzień czy dwa tygodnie zajmuje dobra konfiguracja dla kilku maszyn, ale potem faktycznie można raz na jakiś czas się odpala samodzielnie bądź automatycznie, on ma nawet taki graficzny interfejs i potrafi robić takie rzeczy, których inne synchronizatory nie robią, bo są gołe w funkcjach w stosunku do Unisona. No i właśnie dlatego, kiedyś to przez Finca się robiło, teraz ten Brew to narzędzie pozwala instalować pakiety i użytki GNU i dlatego ma KS.
Plus jeszcze czasami gdy param się jakimiś dodatkowymi rzeczami i nie potrzebuje na przykład logika, żeby robić tam aranżacje do jakichś utworów wizualnych, dżingle czy coś takiego, więc potrzebuję, żeby znowu nie zaskakiwało mnie, ja próbowałem na jakiś Open Video, czy Open coś tam, ale naprawdę na Linuxie próbowałem montować wideo, opracowywać zdjęcia z Ravów i nieprzewidywalność tego, to było coś, co mnie zniechęciło, chociaż do kodowania na przykład w Rubin czy w Clojure używałem Linuxa i tutaj bym nigdy nie narzekał na pewno, a do pracy serwerowej to już zupełnie. Natomiast myślę, że to dlatego, że już stary jestem, nie wiem jakim kolejnym system przychodzi, jak już będę miał 60 lat to co się wtedy używa, jak myślicie? Nie wiem na czym są apagaty słuchowe. Na Rapsberry Pi.
Zostało nam ostatnie pytanie, mianowicie takie ważne dla nas. Commodore czy Atari? Spektrum. To też jest odpowiedź, kompromisowa tak zwana. Mniej ważna dla nas, ale dziękujemy Ci. Pozdrawiam Miłosza, który napisał magiczne słowo klucz. Właśnie, bo jeszcze w instytucjach finansowych zdarzało mi się popełniać jakieś dodatkowe. Właśnie nie wiem czy kojarzycie taki typ programisty do skoku, to ja takim jestem.
Zatrudniam się w jednej roli, a wychodzi, że coś jeszcze by trzeba, chociaż czasami, jeżeli tym dobrze pokierować, co teraz wydaje mi się udało, to właśnie w procesie e-discovery znalazłem taką swoją niszę, gdzie potrzebna jest automatyzacja, bo te dane są w różnych formatach, są w różnych strukturach, są w różny sposób dostarczane, czasami trzeba je preprocesować, przygotować do przetwarzania przez jakieś narzędzie, które ma swoje ograniczenia i tutaj przydaje się to, co potrafię. I to jest skryptologia, chociaż staram się też funkcyjnie wyprzemięcać takie elementy. Udało nam się przemycić dodatkowe 15 minut do naszego programu, a nawet 20, ponieważ nie mieliśmy sumienia przerywać ci, choć i tak z bólem serca musimy to zrobić.
Podobno teraz jest takie zjawisko, które się nazywa patostreaming i tam są ludzie, którzy robią takie live'y po 20 minut. Kodują w PHP, słyszałem, na żywca. Podobno, podobno. Może kiedyś przejdziemy też do tego formatu, myślę, że będziesz wtedy naszym pierwszym gościem, bo zapewnisz ciągłość dostawy świeżego mięsa przez dobę, dwie albo trzy. A my będziemy sobie szli czasem na piwo, czasem się zdrzemnąć, a ty będziesz opowiadał o językach funkcyjnych. Ktoś zapytał, w czym piszę. Nie wiem, czy mogę powiedzieć. Ale tak na serio nie wiem, czy mogę powiedzieć. Na P. HP. Na literę P poproszę. I chyba dwie najpopularniejsze odpowiedzi będą poprawne. Ale nie PHP. Chociaż zdarzało mi się popełnić dwie rzeczy.
W PHP takie wolno dostępne, tam coś z szyfrowaniem baz danych. Czyli taki plugin do Media Wiki. Wikipedia na tym stoi. Taki plugin do Media Wiki, że można było, że administrator bazy danych nie byłby w stanie poznać treści artykułów. Ale mógł to zrobić. Musiałby wejść na stronę. Sprytne. Z PGP szyfrowane i z kluczem przechodnim, czyli dosyć szybkie. Czyli z takim kluczem intermediate, czyli szyfrowanie asymetryczne tylko po to, żeby losowo wygenerowany symetryczny klucz odszyfrować i nim już gmerać. Tak mi się przypomniał przez nostalgię ten PHP. Myślę, że też z poczucia winy, że obczaziłem kogoś, że powiedziałem, że patostreamy z PHP, że piszą tam policję i heresztuje. Ja słyszałem ostatnio na sąsiada donieść, że koduje w PHP i imperatywnie w dodatku.
Na szczęście tu we Wrocławiu to wyrozumieli. Są funkcjonariusz, po prostu mu zwrócił uwagę, że tutaj masz i jeszcze książkę dostał o Pythonie. Poważnie. Paweł, z bólem nie tylko serca. Dziękujemy ci bardzo za to, że musimy się już z tobą pożegnać. Ale to było bardzo fajne. Jakby trzeba było coś ten jeszcze, to możemy kiedyś coś ten. My bardzo chętnie jeszcze coś ten. Ja dziękuję za możliwość wierzywki. Dawno nie występowałem nigdzie przez tą pandemię. Ostatnio chyba na SCS jakiś live podcast. To był SCS? Tak, to chyba był SCS. Przyślij nam dżingla. W wolnej chwili. Kiedyś. A na chiptune'ce taki? Może być. W twoje ręce. Dziękuję wszystkim, którym chciało się słuchać tego wszystkiego.
Nie wiem jak to wyszło, bo pierwszy raz w takiej formie, szczerze mówiąc. Myślę, że jest fajnie. Odpada ta część tremy, że występuję się przed publicznością taką realną. Łatwiej się skupić na detalach. Także polecam się, gdyby jeszcze trzeba było coś ten. Napisane co do powiedzieć o Clojur jeszcze. Na maku jest taki program notatki. Synchronizuje się między różnymi urządzeniami. O prostocie bym mówił jeszcze chętnie. Że wcale nie oznacza, że czegoś jest pojedynczo albo mało, albo że jest łatwo. Ale to kiedyś. Nie, może, bo to jest fajny temat. Prostota i łatwość. Zresztą polecam sobie wpisać w Google. Dobra. To ja dziękuję. Dziękujemy, Paweł. Dziękujemy. Było nam bardzo miło. Spokojnego wieczoru z sałatką. Wesołych świąt.
Wesołych świąt. Wesołych. Do zobaczenia. Do zobaczenia. Cześć. O Jezu. To był dobry epilog do świątecznego obżarstwa zmuszający mózg do pracy, gdy zajęty jest czymś zupełnie innym. Słuchajcie, nie wiemy kto będzie za tydzień. Znaczy wiemy, ale wam nie powiemy, bo jeszcze nie wiemy na 100%. Więc po prostu pamiętajcie, że w niedzielę o 21. Od 50 tygodni już. Choć odcinek jest 53, bo nadrabialiśmy trochę. Mieliśmy nawet więcej niż jeden odcinek tygodniowo dwa razy. No dobrze. To co my jeszcze chcemy powiedzieć, to chyba tyle. Na live. zaufana3strona. pl znajdziecie linki do podcastów. Możecie do nas pisać maile, możecie zgłaszać kandydatury osób, które jeszcze nie wystąpiły. Tam się przewijają cztery nazwiska. Wszystkie cztery już dawno są zaproszone.
Więc piszcie też do nich, czemu jeszcze u nas nie wystąpili. Może bardziej ich do tego zachęcicie. Słuchajcie, chciałem jeszcze powiedzieć, że Stefan też jest dzisiaj głąb zdaniem Rawy. On się dla odmiany śledzi objął. Słuchajcie, on normalnie mieszka na madraskarze i w ogóle nie znał naszych sałatek śledziowych, ale bardzo mu podeszły. W sensie pozytywnym podeszły. A więc ledwo co się trzyma na nogach. Także jego już nie będziemy męczyć. Was też już nie będziemy męczyć. A półtora godzinny program nam wyszedł tak zupełnie od niechcenia. No ale sami widzieliście. Nowy rekord. Nie dało się inaczej. Przepraszamy bardzo za przeciągnięcie. Wybaczycie, mamy nadzieję. Widzimy się za tydzień. Dziękujemy bardzo. Widzimy się za tydzień. Do zobaczenia. Trzymajcie się. Cześć. .
By visiting or using our website, you agree that our website or the websites of our partners may use cookies to store information for the purpose of delivering better, faster, and more secure services, as well as for marketing purposes.