{"id":10107,"date":"2021-07-24T09:25:44","date_gmt":"2021-07-24T07:25:44","guid":{"rendered":"https:\/\/vived.io\/software-craftsmanship-sunday-vol-47\/"},"modified":"2022-09-19T13:20:10","modified_gmt":"2022-09-19T11:20:10","slug":"software-craftsmanship-sunday-vol-47","status":"publish","type":"post","link":"https:\/\/vived.io\/pl\/software-craftsmanship-sunday-vol-47\/","title":{"rendered":"Software Craftsmanship Saturday vol. 47"},"content":{"rendered":"<h2 id=\"1-system-pegasus-nie-sluzy-tylko-do-podsluchiwania-terrorystow-kto-by-sie-spodziewal\" data-num=1>1. System Pegasus nie s\u0142u\u017cy tylko do pods\u0142uchiwania terroryst\u00f3w? Kto by si\u0119 spodziewa\u0142 \u200d\u2642\ufe0f<\/h2>\n<p>No, chyba takiej \u201cinby\u201d je\u015bli chodzi o tematy zwi\u0105zane ze \u015bledzeniem obywateli nie by\u0142o od czasu, gdy w 2013 roku Edward Snowden wyjawi\u0142 tajniki programu PRISM (tak, od tamtej pory min\u0119\u0142o ju\u017c prawie 10 lat). Od tamtego czasu wprawdzie takie firmy jak Palantir czy wspominany dzisiaj Pegasus pojawia\u0142y si\u0119 w mediach (min. w kontek\u015bcie zakupu ich <a href=\"https:\/\/niebezpiecznik.pl\/post\/jak-wykryto-slady-rzadowego-trojana-na-smartfonach-w-polsce\/\">us\u0142ug przez Polski rz\u0105d<\/a>), jednak chyba nigdy jeszcze sprawa nie by\u0142a tak \u201cgruba\u201d.<\/p>\n<p>W ramach <a href=\"https:\/\/github.com\/AmnestyTech\/investigations\/tree\/master\/2021-07-18_nso\">\u015bledztwa Amnesty International<\/a> uda\u0142o si\u0119 ustali\u0107 ponad 50 tys. ofiar Pegasusa, oprogramowania dzia\u0142aj\u0105cego jak spyware i w za\u0142o\u017ceniach s\u0142u\u017c\u0105cego do walki z terroryzmem.<\/p>\n<figure class=\"kg-card kg-image-card\"><img loading=\"lazy\" decoding=\"async\" class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-10.png\" sizes=\"auto, (min-width: 720px) 720px\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/1_image-10.png 600w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/2_image-10.png 1000w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-10.png 1096w\" alt=\"\" width=\"1096\" height=\"1118\" \/><\/figure>\n<p>Badacze NGOsa opublikowali r\u00f3wnie\u017c narz\u0119dzie, kt\u00f3rym mo\u017cna sprawdzi\u0107, czy nasz telefon nie by\u0142 przypadkiem zaatakowany. Wyciek udowodni\u0142, \u017ce narz\u0119dzie nie jest wykorzystywane tylko do walki z terrorystami, ale \u017ce rz\u0105dy w wielu krajach u\u017cywaj\u0105 go r\u00f3wnie\u017c do \u015bledzenia nie tylko \u00a0aktywist\u00f3w, dziennikarzy czy prawnik\u00f3w, ale w niekt\u00f3rych przypadkach r\u00f3wnie\u017c ich rodzin. Spraw\u0119 \u015bwietnie opisa\u0142 nasz Niebezpiecznik, publikuj\u0105c <a href=\"https:\/\/niebezpiecznik.pl\/post\/wyciekla-lista-50-000-ofiar-pegasusa\/\">artyku\u0142 o wycieku<\/a>, w kt\u00f3rym znajdziecie znacznie dok\u0142adniejszy opis sytuacji, ni\u017c ja jestem w stanie przygotowa\u0107 w paru akapitach naszego przegl\u0105du. Bardzo zach\u0119cam do lektury.<\/p>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img loading=\"lazy\" decoding=\"async\" class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/giphy.gif\" alt=\"\" width=\"250\" height=\"182\" \/><figcaption>Mam wra\u017cenie, \u017ce jak temat wybuch\u0142 z du\u017c\u0105 si\u0142\u0105 pocz\u0105tkiem tygodnia, tak aktualnie nikogo ju\u017c nie obchodzi. Dlatego ja z niek\u0142aman\u0105 satysfakcj\u0105 go przywo\u0142uje w naszej sobotniej edycji.<\/figcaption><\/figure>\n<p>To, \u017ce sytuacja troch\u0119 przycich\u0142a, nie oznacza jednak, \u017ce NSO Group (tw\u00f3rcy Pegasusa) nie musz\u0105 liczy\u0107 si\u0119 z pewnymi konsekwencjami. Na pewno wszelkie przysz\u0142e informacje o u\u017cyciu ich oprogramowania b\u0119d\u0105 mocniej kontestowane. Dodatkowo, firma zacz\u0119\u0142a \u201c\u015bmierdzie\u0107\u201d &#8211; przyk\u0142adowo, Amazon po publikacji raportu w kt\u00f3rym tylko wspomniana by\u0142a nazwa ich us\u0142ugi CloudFront, <a href=\"https:\/\/www.reuters.com\/technology\/amazon-shuts-down-cloud-infrastructure-linked-israeli-firm-nso-report-2021-07-19\/\">natychmiast zdecydowa\u0142 si\u0119 usun\u0105\u0107 konto firmy<\/a>. NSO Group z pewno\u015bci\u0105 mo\u017ce spodziewa\u0107 si\u0119 te\u017c dalszych krok\u00f3w, bo teraz, gdy sprawa si\u0119 ciutk\u0119 \u201cryp\u0142a\u201d, rz\u0105dy u\u017cywaj\u0105ce us\u0142ugi zaczynaj\u0105 dostawa\u0107 bardzo niewygodne pytania.<\/p>\n<p>Zawsze gdy widz\u0119 tego typu temat, przypomina mi si\u0119 fascynuj\u0105cy <a href=\"https:\/\/frank.geekheim.de\/?page_id=128\">esej Franka Riegera z 2005 roku<\/a>. Przeczyta\u0142em go lata temu, cz\u0119sto wracam do niego my\u015blami i zauwa\u017cam, jak bardzo prorocza by\u0142a jego wizja \u015bwiata, w kt\u00f3rym walka z oprogramowaniem inwigilacyjnym zosta\u0142a przegrana wraz atakiem na World Trade Center. Sp\u0119dzi\u0142em dobre p\u00f3\u0142 godziny grzebi\u0105c po swoich archiwach, \u017ceby go dla Was odgrzeba\u0107, dlatego mam nadzieje, \u017ce docenicie . Jeden z lepszych manifest\u00f3w dotycz\u0105cych etyki w in\u017cynierii oprogramowania z jakim mia\u0142em kiedykolwiek styczno\u015b\u0107.<\/p>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img loading=\"lazy\" decoding=\"async\" class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-7.png\" sizes=\"auto, (min-width: 720px) 720px\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/1_image-7.png 600w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/2_image-7.png 1000w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-7.png 1352w\" alt=\"\" width=\"1352\" height=\"1418\" \/><figcaption>A na koniec &#8211; przegl\u0105d postaw w stosunku do prywatno\u015bci od nieocenionego XKCD<\/figcaption><\/figure>\n<h3 id=\"%C5%BAr%C3%B3d%C5%82a\">\u0179r\u00f3d\u0142a<\/h3>\n<ul>\n<li><a href=\"https:\/\/github.com\/AmnestyTech\/investigations\/tree\/master\/2021-07-18_nso\">Raport Amnesty International 2021-07-18<\/a><\/li>\n<li><a href=\"https:\/\/niebezpiecznik.pl\/post\/wyciekla-lista-50-000-ofiar-pegasusa\/\">Wyciek\u0142a lista 50 000 ofiar Pegasusa<\/a><\/li>\n<li><a href=\"https:\/\/www.reuters.com\/technology\/amazon-shuts-down-cloud-infrastructure-linked-israeli-firm-nso-report-2021-07-19\/\">Amazon shuts down cloud infrastructure linked to Israeli firm NSO &#8211; Vice<\/a><\/li>\n<li><a href=\"https:\/\/frank.geekheim.de\/?page_id=128\">We lost the war. Welcome to the world of tomorrow<\/a><\/li>\n<li><a href=\"https:\/\/niebezpiecznik.pl\/post\/jak-wykryto-slady-rzadowego-trojana-na-smartfonach-w-polsce\/\">Jak wykryto \u015blady rz\u0105dowego trojana na smartfonach w Polsce?<\/a><\/li>\n<\/ul>\n<h2 id=\"2-jak-whatsapp-chce-wprowadzic-wsparcie-dla-wielu-urzadzen-przy-zachowaniu-szyfrowania-e2e\" data-num=2><a href=\"https:\/\/engineering.fb.com\/2021\/07\/14\/security\/whatsapp-multi-device\/\">2. Jak WhatsApp chce wprowadzi\u0107 wsparcie dla wielu urz\u0105dze\u0144 przy zachowaniu szyfrowania E2E <\/a><\/h2>\n<p>Pozostaj\u0105c w temacie bezpiecze\u0144stwa, czas przygl\u0105dn\u0105\u0107 si\u0119 ciekawym ruchom Facebooka je\u015bli chodzi o rozw\u00f3j WhatsAppa. W zesz\u0142ym tygodniu podzielili si\u0119 oni bowiem ze \u015bwiatem <a href=\"https:\/\/engineering.fb.com\/2021\/07\/14\/security\/whatsapp-multi-device\/\">ciekawym case study<\/a>, dotycz\u0105cym styku prywatno\u015bci u\u017cytkownika i szeroko rozumianej u\u017cyteczno\u015bci.<\/p>\n<p>Kryptografia u\u017cywana w nowoczesnych komunikatorach sama w sobie jest trudnym problemem, a je\u017celi dodatkowo chcemy np. zapewni\u0107 synchronizacji wiadomo\u015bci mi\u0119dzy poszczeg\u00f3lnymi urz\u0105dzeniami &#8211; wyzwanie jeszcze dodatkowo wzrasta. Dlatego do tej pory WhatsApp posiada\u0142 sporo ogranicze\u0144 &#8211; by\u0142 przypi\u0119ty tylko do pojedynczego urz\u0105dzenia, kt\u00f3re stanowi\u0142o \u201cpojedynczy punkt prawdy\u201d. Ka\u017cdy inny spos\u00f3b u\u017cycia (jak np. przegl\u0105danie wiadomo\u015bci z komunikatora na laptopie) tak naprawd\u0119 sprowadza\u0142o si\u0119 do komunikacji nie z jakim\u015b centralnym serwerem, a z w\u0142asnym telefonem. W wypadku gdy takowy traci\u0142 baterie, r\u00f3wnie\u017c zewn\u0119trzne urz\u0105dzenia nie mog\u0142y dosta\u0107 si\u0119 do listy wiadomo\u015bci.<\/p>\n<figure class=\"kg-card kg-image-card\"><img decoding=\"async\" class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d04367dd0f.png\" alt=\"\" \/><\/figure>\n<p>Facebook zdecydowa\u0142 si\u0119 rozwi\u0105za\u0107 problem za pomoc\u0105 multibroadcastu. Ka\u017cde urz\u0105dzenie posiada\u0107 ma w\u0142asny klucz szyfruj\u0105cy, a ka\u017cda wiadomo\u015b\u0107 u\u017cytkownika trafia\u0107 ma teraz nie do pojedynczego klienta, a do ca\u0142ej ich listy, gdzie ka\u017cdy z osobna przetrzymuje ju\u017c wy\u0142\u0105cznie lokalne zmiany. Dzi\u0119ki temu firma unika trudnego problemu dzielenia g\u0142\u00f3wnego klucza, po prostu wysy\u0142aj\u0105c wszystkie wiadomo\u015bci wsz\u0119dzie.<\/p>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img loading=\"lazy\" decoding=\"async\" class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/giphy-1.gif\" alt=\"\" width=\"498\" height=\"288\" \/><figcaption>Proste rozwi\u0105zania s\u0105 czasem najlepsze.<\/figcaption><\/figure>\n<p>Jest to podej\u015bcie maj\u0105ce swoje wady. Tak naprawd\u0119 w dalszym ci\u0105gu nie istnieje \u017cadna forma globalnego backupu. Je\u017celi u\u017cytkownik zgubi wszystkie swoje urz\u0105dzenia, nie b\u0119dzie m\u00f3g\u0142 odzyska\u0107 swojej historii wiadomo\u015bci, co jest mo\u017cliwe np. w przypadku iMessage, u\u017cywaj\u0105cego <a href=\"https:\/\/www.forb\nes.com\/sites\/zakdoffman\/2021\/05\/08\/whatsapp-beaten-by-apple-imessage-for-iphone-ipad-users-as-new-update-leaks\/\">iCloud jako sposobu na synchronizacje urz\u0105dze\u0144 End-to-End<\/a>. Fakt, \u017ce nawet taka firma jak Facebook od lat nie jest w stanie zapewni\u0107 tego poziomu funkcjonalno\u015bci pokazuje, jak wielka przewaga kryje si\u0119 w pe\u0142nej kontroli ca\u0142ego ekosystemu. A jak wa\u017cna rol\u0119 pe\u0142ni\u0105 dzi\u015b komunikatory, niech uzmys\u0142owi prosty fakt: od lat m\u00f3wi si\u0119, \u017ce to w\u0142asnie iMessage stanowi <a href=\"https:\/\/www.fool.com\/investing\/general\/2013\/01\/10\/apples-trojan-horse-imessage.aspx\">najpot\u0119\u017cniejszego konia troja\u0144skiego<\/a> Apple, tak mocno trzymaj\u0105cego ludzi w ich ekosystemie.<\/p>\n<p>Oczywi\u015bcie, ca\u0142o\u015b\u0107 jest troch\u0119 bardziej skomplikowana ni\u017c by\u0142em w stanie to tutaj przedstawi\u0107. Je\u015bli kto\u015b jest zainteresowany szczeg\u00f3\u0142ami &#8211; <a href=\"https:\/\/scontent.whatsapp.net\/v\/t39.8562-34\/217392192_617386875906350_2307693746154839727_n.pdf\/WhatsApp_Security_Whitepaper_V4_Preview.pdf\">WhatsApp opublikowa\u0142 Whitepaper<\/a> zawieraj\u0105cy wi\u0119cej detali.<\/p>\n<h3 id=\"%C5%BAr%C3%B3d%C5%82a-1\">\u0179r\u00f3d\u0142a<\/h3>\n<ul>\n<li><a href=\"https:\/\/scontent.whatsapp.net\/v\/t39.8562-34\/217392192_617386875906350_2307693746154839727_n.pdf\/WhatsApp_Security_Whitepaper_V4_Preview.pdf\">Whitepaper<\/a><\/li>\n<li><a href=\"https:\/\/engineering.fb.com\/2021\/07\/14\/security\/whatsapp-multi-device\/\">How WhatsApp enables multi-device capability<\/a><\/li>\n<li><a href=\"https:\/\/www.fool.com\/investing\/general\/2013\/01\/10\/apples-trojan-horse-imessage.aspx\">Apple&#8217;s Trojan Horse: iMessage<\/a><\/li>\n<li><a href=\"https:\/\/www.forbes.com\/sites\/zakdoffman\/2021\/05\/08\/whatsapp-beaten-by-apple-imessage-for-iphone-ipad-users-as-new-update-leaks\/\">Why iMessage On Your iPhone Will Beat WhatsApp&#8217;s Radical New Update<\/a><\/li>\n<\/ul>\n<h2 id=\"3-o-paroletnich-probach-migracji-facebooka-na-nowa-wersje-mysql\" data-num=3><a href=\"https:\/\/engineering.fb.com\/2021\/07\/22\/data-infrastructure\/mysql\/\">3. O paroletnich pr\u00f3bach migracji Facebooka na now\u0105 wersje MySQL<\/a><\/h2>\n<p>Wspomniane zmiany w WhatsAppie to jednak nie jedyna ciekawa publikacja udost\u0119pniona w zesz\u0142ym tygodniu przez Facebooka. Podzielili si\u0119 r\u00f3wnie\u017c wra\u017ceniami z olbrzymiej migracji danych &#8211; <a href=\"https:\/\/engineering.fb.com\/2021\/07\/22\/data-infrastructure\/mysql\/\">procesu przej\u015bcia firmy na MySQL 8<\/a>.<\/p>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img loading=\"lazy\" decoding=\"async\" class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-8.png\" sizes=\"auto, (min-width: 720px) 720px\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/1_image-8.png 600w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-8.png 720w\" alt=\"\" width=\"720\" height=\"226\" \/><figcaption>Facebook pisze co\u015b o nowym funkcjonalno\u015bciach, ale my znamy prawdziwe powody migracji.<\/figcaption><\/figure>\n<p>Czy te\u017c macie czasem wra\u017cenie, \u017ce o MySQL jest bardzo cicho? Kiedy\u015b \u201cdomy\u015blna\u201d baza dla aplikacji, dzi\u015b zosta\u0142a wr\u0119cz zupe\u0142nie wyrugowana z tej roli przez Postgresa. Ci\u0119\u017cko mi powiedzie\u0107 co jest powdem &#8211; czy jego licencja, czy fakt \u0142atwej dost\u0119pno\u015bci w rozwi\u0105zaniach chmurowych (aczkolwiek to nie jest tak, \u017ce tam jako\u015b brakuje wsparcia dla MySQL), czy te\u017c \u0142atka rozwi\u0105zania przeznaczone dla PHP, co u niekt\u00f3rych (dzi\u015b ju\u017c mocno bezpodstawnie) ci\u0105gle kojarzy si\u0119 z amatork\u0105.<\/p>\n<p>I rozumiem je\u017celi tego typu decyzje podejmowane by\u0142y przez do\u015bwiadczonych administrator\u00f3w baz danych, analizuj\u0105cych wydajno\u015b\u0107 konkretnych silnik\u00f3w. Gdzie tam &#8211; dzisiejszy programista (generalizuje, ale tylko troch\u0119) prawie na bazach si\u0119 nie zna (ju\u017c pr\u0119dzej tych NoSQL) i ci\u0119\u017cko jest wydusi\u0107 z niego jakie\u015b merytoryczne argumenty &#8211; przyznam \u017ce czasem troch\u0119 \u201ctrollersko\u201d pr\u00f3bowa\u0142em. Po prostu mamy do czynienia ze starym, dobrym \u201cnikogo nie zwolnili za u\u017cycie PostgreSQL\u201d.<\/p>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img loading=\"lazy\" decoding=\"async\" class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/giphy-2.gif\" alt=\"\" width=\"480\" height=\"270\" \/><figcaption>Mo\u017ce po prostu baza SQL sta\u0142a si\u0119 w czasach ma\u0142ych mikroserwis\u00f3w zupe\u0142nie zast\u0119powalnym elementem &#8211; ka\u017cda b\u0119dzie dobra, wybierzmy najpopularniejsz\u0105.<\/figcaption><\/figure>\n<p>Dlatego te\u017c lubi\u0119 poczyta\u0107 sobie czasem interesuj\u0105ce przyk\u0142ady u\u017cycia MySQL, jak ten opublikowany przez Facebooka &#8211; okazuje si\u0119 bowiem, \u017ce baza ta w dalszym ci\u0105gu stanowi trzon najwi\u0119kszej sieci spo\u0142eczno\u015bciowej na \u015bwiecie. W swoim case study opisuj\u0105 oni bowiem proces migracji z ciut ju\u017ce prehistorycznej wersji MySQL 5.6 na aktualniejsz\u0105 (wydan\u0105 w 2018) wersj\u0119 8. Dlaczego nie u\u017cy\u0107 naj\u015bwie\u017cszego wydania? Ot\u00f3\u017c okazuje si\u0119, \u017ce wspomniana migacja\u2026 trwa ju\u017c kilka lat. Facebook posiada du\u017c\u0105 ilo\u015b\u0107 niestandardowego kodu \u2013 ponad 1700 poprawek w swojej w\u0142asnej \u201cga\u0142\u0119zi\u201d MySQL 5.6. Nawet pomimo regularnego przenoszenia ich do wersji 8.0, firma ca\u0142y czas dodaje wi\u0119cej niestandardowych funkcji do wersji 5.6, wi\u0119c zmigrowana \u201c\u00f3semka\u201d musi nadgania\u0107.<\/p>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img loading=\"lazy\" decoding=\"async\" class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-9.png\" sizes=\"auto, (min-width: 720px) 720px\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/1_image-9.png 600w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-9.png 900w\" alt=\"\" width=\"900\" height=\"280\" \/><figcaption>Realna rozmowa z biura Facebooka.<\/figcaption><\/figure>\n<p>Dodatkowo, decyzja o pomini\u0119ciu du\u017cego wydania 5.7 (MySQL ma niestandardow\u0105 numeracje kolejnych wersji &#8211; 5.6 -&gt; 5.7 -&gt; 8) sprawi\u0142a sporo problem\u00f3w, a to ze wzgl\u0119du na niekt\u00f3re deprekacje API. Pokazuje to, \u017ce czzsem nie warto zbyt d\u0142ugo czeka\u0107 z aktualizacj\u0105 zale\u017cno\u015bci &#8211; mo\u017cna si\u0119 zdziwi\u0107 jakie b\u0119d\u0105 skutki.<\/p>\n<p>Mimo, \u017ce ca\u0142y proces nie zosta\u0142 jeszcze uko\u0144czony, tw\u00f3rcy twierdz\u0105 \u017ce niekt\u00f3re benefity wydania 8 ju\u017c s\u0105 zauwa\u017calne, wi\u0119c ca\u0142o\u015b\u0107 ko\u0144czy si\u0119 na optymistycznej nucie. Post ten na pewno b\u0119dzie najbardziej interesuj\u0105cy dla tych, kt\u00f3rych intersuj\u0105 bazy danych, ale w zasadzie powinien stanowi\u0107 swoist\u0105 przypowie\u015b\u0107 dla ka\u017cdego, kto nie mia\u0142 w swojej karierze epizod\u00f3w z wychodzeniem z system\u00f3w legacy.<\/p>\n<h3 id=\"%C5%BAr%C3%B3d%C5%82a-2\">\u0179r\u00f3d\u0142a<\/h3>\n<ul>\n<li><a href=\"https:\/\/engineering.fb.com\/2021\/07\/22\/data-infrastructure\/mysql\/\">Migrating Facebook to MySQL 8.0<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>W dniu dzisiejszym &#8211; jedna z wi\u0119kszych afer zwi\u0105zanych z &#8222;prywatno\u015bci\u0105&#8221; od lat oraz dwa interesuj\u0105ce case study od Facebooka.<\/p>\n<p>Zapraszamy do lektury!<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[266],"tags":[],"class_list":["post-10107","post","type-post","status-publish","format-standard","hentry","category-craftsmanship"],"acf":{"weekly_summary":true,"estimated_reading_time":"7"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Software Craftsmanship Saturday vol. 47 - Vived<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vived.io\/pl\/software-craftsmanship-sunday-vol-47\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Software Craftsmanship Saturday vol. 47 - Vived\" \/>\n<meta property=\"og:description\" content=\"W dniu dzisiejszym - jedna z wi\u0119kszych afer zwi\u0105zanych z &quot;prywatno\u015bci\u0105&quot; od lat oraz dwa interesuj\u0105ce case study od Facebooka. Zapraszamy do lektury!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vived.io\/pl\/software-craftsmanship-sunday-vol-47\/\" \/>\n<meta property=\"og:site_name\" content=\"Vived\" \/>\n<meta property=\"article:published_time\" content=\"2021-07-24T07:25:44+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-09-19T11:20:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-10.png\" \/>\n<meta name=\"author\" content=\"Artur Skowro\u0144ski\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/vived.io\/pl\/software-craftsmanship-sunday-vol-47\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/software-craftsmanship-sunday-vol-47\/\"},\"author\":{\"name\":\"Artur Skowro\u0144ski\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3\"},\"headline\":\"Software Craftsmanship Saturday vol. 47\",\"datePublished\":\"2021-07-24T07:25:44+00:00\",\"dateModified\":\"2022-09-19T11:20:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/software-craftsmanship-sunday-vol-47\/\"},\"wordCount\":1455,\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/software-craftsmanship-sunday-vol-47\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-10.png\",\"articleSection\":[\"Craftsmanship\"],\"inLanguage\":\"pl-PL\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/vived.io\/pl\/software-craftsmanship-sunday-vol-47\/\",\"url\":\"https:\/\/vived.io\/pl\/software-craftsmanship-sunday-vol-47\/\",\"name\":\"Software Craftsmanship Saturday vol. 47 - Vived\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/software-craftsmanship-sunday-vol-47\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/software-craftsmanship-sunday-vol-47\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-10.png\",\"datePublished\":\"2021-07-24T07:25:44+00:00\",\"dateModified\":\"2022-09-19T11:20:10+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/vived.io\/pl\/software-craftsmanship-sunday-vol-47\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/vived.io\/pl\/software-craftsmanship-sunday-vol-47\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/software-craftsmanship-sunday-vol-47\/#primaryimage\",\"url\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-10.png\",\"contentUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-10.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/vived.io\/pl\/software-craftsmanship-sunday-vol-47\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/vived.io\/pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Software Craftsmanship Saturday vol. 47\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/vived.io\/pl\/#website\",\"url\":\"https:\/\/vived.io\/pl\/\",\"name\":\"Vived\",\"description\":\"platform empowering IT people and technology companies to synergic growth\",\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/vived.io\/pl\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/vived.io\/pl\/#organization\",\"name\":\"Vived\",\"url\":\"https:\/\/vived.io\/pl\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png\",\"contentUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png\",\"width\":136,\"height\":45,\"caption\":\"Vived\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3\",\"name\":\"Artur Skowro\u0144ski\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g\",\"caption\":\"Artur Skowro\u0144ski\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Software Craftsmanship Saturday vol. 47 - Vived","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vived.io\/pl\/software-craftsmanship-sunday-vol-47\/","og_locale":"pl_PL","og_type":"article","og_title":"Software Craftsmanship Saturday vol. 47 - Vived","og_description":"W dniu dzisiejszym - jedna z wi\u0119kszych afer zwi\u0105zanych z \"prywatno\u015bci\u0105\" od lat oraz dwa interesuj\u0105ce case study od Facebooka. Zapraszamy do lektury!","og_url":"https:\/\/vived.io\/pl\/software-craftsmanship-sunday-vol-47\/","og_site_name":"Vived","article_published_time":"2021-07-24T07:25:44+00:00","article_modified_time":"2022-09-19T11:20:10+00:00","og_image":[{"url":"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-10.png","type":"","width":"","height":""}],"author":"Artur Skowro\u0144ski","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/vived.io\/pl\/software-craftsmanship-sunday-vol-47\/#article","isPartOf":{"@id":"https:\/\/vived.io\/pl\/software-craftsmanship-sunday-vol-47\/"},"author":{"name":"Artur Skowro\u0144ski","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3"},"headline":"Software Craftsmanship Saturday vol. 47","datePublished":"2021-07-24T07:25:44+00:00","dateModified":"2022-09-19T11:20:10+00:00","mainEntityOfPage":{"@id":"https:\/\/vived.io\/pl\/software-craftsmanship-sunday-vol-47\/"},"wordCount":1455,"publisher":{"@id":"https:\/\/vived.io\/pl\/#organization"},"image":{"@id":"https:\/\/vived.io\/pl\/software-craftsmanship-sunday-vol-47\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-10.png","articleSection":["Craftsmanship"],"inLanguage":"pl-PL"},{"@type":"WebPage","@id":"https:\/\/vived.io\/pl\/software-craftsmanship-sunday-vol-47\/","url":"https:\/\/vived.io\/pl\/software-craftsmanship-sunday-vol-47\/","name":"Software Craftsmanship Saturday vol. 47 - Vived","isPartOf":{"@id":"https:\/\/vived.io\/pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vived.io\/pl\/software-craftsmanship-sunday-vol-47\/#primaryimage"},"image":{"@id":"https:\/\/vived.io\/pl\/software-craftsmanship-sunday-vol-47\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-10.png","datePublished":"2021-07-24T07:25:44+00:00","dateModified":"2022-09-19T11:20:10+00:00","breadcrumb":{"@id":"https:\/\/vived.io\/pl\/software-craftsmanship-sunday-vol-47\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vived.io\/pl\/software-craftsmanship-sunday-vol-47\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/software-craftsmanship-sunday-vol-47\/#primaryimage","url":"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-10.png","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-10.png"},{"@type":"BreadcrumbList","@id":"https:\/\/vived.io\/pl\/software-craftsmanship-sunday-vol-47\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/vived.io\/pl\/"},{"@type":"ListItem","position":2,"name":"Software Craftsmanship Saturday vol. 47"}]},{"@type":"WebSite","@id":"https:\/\/vived.io\/pl\/#website","url":"https:\/\/vived.io\/pl\/","name":"Vived","description":"platform empowering IT people and technology companies to synergic growth","publisher":{"@id":"https:\/\/vived.io\/pl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vived.io\/pl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/vived.io\/pl\/#organization","name":"Vived","url":"https:\/\/vived.io\/pl\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/","url":"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2020\/03\/logo_vived_color.png","width":136,"height":45,"caption":"Vived"},"image":{"@id":"https:\/\/vived.io\/pl\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3","name":"Artur Skowro\u0144ski","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/29055786486c8b9dc1507f2744221c5bdb8d7ef6e6217ced0326dd3296aea6ed?s=96&d=mm&r=g","caption":"Artur Skowro\u0144ski"}}]}},"blocks_vived":[{"blockName":null,"attrs":[],"innerBlocks":[],"innerHTML":"<h2 id=\"1-system-pegasus-nie-s%C5%82u%C5%BCy-tylko-do-pods%C5%82uchiwania-terroryst%C3%B3w-kto-by-si%C4%99-spodziewa%C5%82-%F0%9F%A4%B7%E2%80%8D%E2%99%82%EF%B8%8F\">1. System Pegasus nie s\u0142u\u017cy tylko do pods\u0142uchiwania terroryst\u00f3w? Kto by si\u0119 spodziewa\u0142 \u200d\u2642\ufe0f<\/h2>\nNo, chyba takiej \u201cinby\u201d je\u015bli chodzi o tematy zwi\u0105zane ze \u015bledzeniem obywateli nie by\u0142o od czasu, gdy w 2013 roku Edward Snowden wyjawi\u0142 tajniki programu PRISM (tak, od tamtej pory min\u0119\u0142o ju\u017c prawie 10 lat). Od tamtego czasu wprawdzie takie firmy jak Palantir czy wspominany dzisiaj Pegasus pojawia\u0142y si\u0119 w mediach (min. w kontek\u015bcie zakupu ich <a href=\"https:\/\/niebezpiecznik.pl\/post\/jak-wykryto-slady-rzadowego-trojana-na-smartfonach-w-polsce\/\">us\u0142ug przez Polski rz\u0105d<\/a>), jednak chyba nigdy jeszcze sprawa nie by\u0142a tak \u201cgruba\u201d.\n\nW ramach <a href=\"https:\/\/github.com\/AmnestyTech\/investigations\/tree\/master\/2021-07-18_nso\">\u015bledztwa Amnesty International<\/a> uda\u0142o si\u0119 ustali\u0107 ponad 50 tys. ofiar Pegasusa, oprogramowania dzia\u0142aj\u0105cego jak spyware i w za\u0142o\u017ceniach s\u0142u\u017c\u0105cego do walki z terroryzmem.\n<figure class=\"kg-card kg-image-card\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-10.png\" sizes=\"(min-width: 720px) 720px\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/1_image-10.png 600w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/2_image-10.png 1000w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-10.png 1096w\" alt=\"\" width=\"1096\" height=\"1118\" \/><\/figure>\nBadacze NGOsa opublikowali r\u00f3wnie\u017c narz\u0119dzie, kt\u00f3rym mo\u017cna sprawdzi\u0107, czy nasz telefon nie by\u0142 przypadkiem zaatakowany. Wyciek udowodni\u0142, \u017ce narz\u0119dzie nie jest wykorzystywane tylko do walki z terrorystami, ale \u017ce rz\u0105dy w wielu krajach u\u017cywaj\u0105 go r\u00f3wnie\u017c do \u015bledzenia nie tylko \u00a0aktywist\u00f3w, dziennikarzy czy prawnik\u00f3w, ale w niekt\u00f3rych przypadkach r\u00f3wnie\u017c ich rodzin. Spraw\u0119 \u015bwietnie opisa\u0142 nasz Niebezpiecznik, publikuj\u0105c <a href=\"https:\/\/niebezpiecznik.pl\/post\/wyciekla-lista-50-000-ofiar-pegasusa\/\">artyku\u0142 o wycieku<\/a>, w kt\u00f3rym znajdziecie znacznie dok\u0142adniejszy opis sytuacji, ni\u017c ja jestem w stanie przygotowa\u0107 w paru akapitach naszego przegl\u0105du. Bardzo zach\u0119cam do lektury.\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/giphy.gif\" alt=\"\" width=\"250\" height=\"182\" \/>\n<figcaption>Mam wra\u017cenie, \u017ce jak temat wybuch\u0142 z du\u017c\u0105 si\u0142\u0105 pocz\u0105tkiem tygodnia, tak aktualnie nikogo ju\u017c nie obchodzi. Dlatego ja z niek\u0142aman\u0105 satysfakcj\u0105 go przywo\u0142uje w naszej sobotniej edycji.<\/figcaption><\/figure>\nTo, \u017ce sytuacja troch\u0119 przycich\u0142a, nie oznacza jednak, \u017ce NSO Group (tw\u00f3rcy Pegasusa) nie musz\u0105 liczy\u0107 si\u0119 z pewnymi konsekwencjami. Na pewno wszelkie przysz\u0142e informacje o u\u017cyciu ich oprogramowania b\u0119d\u0105 mocniej kontestowane. Dodatkowo, firma zacz\u0119\u0142a \u201c\u015bmierdzie\u0107\u201d - przyk\u0142adowo, Amazon po publikacji raportu w kt\u00f3rym tylko wspomniana by\u0142a nazwa ich us\u0142ugi CloudFront, <a href=\"https:\/\/www.reuters.com\/technology\/amazon-shuts-down-cloud-infrastructure-linked-israeli-firm-nso-report-2021-07-19\/\">natychmiast zdecydowa\u0142 si\u0119 usun\u0105\u0107 konto firmy<\/a>. NSO Group z pewno\u015bci\u0105 mo\u017ce spodziewa\u0107 si\u0119 te\u017c dalszych krok\u00f3w, bo teraz, gdy sprawa si\u0119 ciutk\u0119 \u201cryp\u0142a\u201d, rz\u0105dy u\u017cywaj\u0105ce us\u0142ugi zaczynaj\u0105 dostawa\u0107 bardzo niewygodne pytania.\n\nZawsze gdy widz\u0119 tego typu temat, przypomina mi si\u0119 fascynuj\u0105cy <a href=\"https:\/\/frank.geekheim.de\/?page_id=128\">esej Franka Riegera z 2005 roku<\/a>. Przeczyta\u0142em go lata temu, cz\u0119sto wracam do niego my\u015blami i zauwa\u017cam, jak bardzo prorocza by\u0142a jego wizja \u015bwiata, w kt\u00f3rym walka z oprogramowaniem inwigilacyjnym zosta\u0142a przegrana wraz atakiem na World Trade Center. Sp\u0119dzi\u0142em dobre p\u00f3\u0142 godziny grzebi\u0105c po swoich archiwach, \u017ceby go dla Was odgrzeba\u0107, dlatego mam nadzieje, \u017ce docenicie . Jeden z lepszych manifest\u00f3w dotycz\u0105cych etyki w in\u017cynierii oprogramowania z jakim mia\u0142em kiedykolwiek styczno\u015b\u0107.\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-7.png\" sizes=\"(min-width: 720px) 720px\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/1_image-7.png 600w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/2_image-7.png 1000w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-7.png 1352w\" alt=\"\" width=\"1352\" height=\"1418\" \/>\n\n<figcaption>A na koniec - przegl\u0105d postaw w stosunku do prywatno\u015bci od nieocenionego XKCD<\/figcaption><\/figure>\n<h3 id=\"%C5%BAr%C3%B3d%C5%82a\">\u0179r\u00f3d\u0142a<\/h3>\n<ul>\n \t<li><a href=\"https:\/\/github.com\/AmnestyTech\/investigations\/tree\/master\/2021-07-18_nso\">Raport Amnesty International 2021-07-18<\/a><\/li>\n \t<li><a href=\"https:\/\/niebezpiecznik.pl\/post\/wyciekla-lista-50-000-ofiar-pegasusa\/\">Wyciek\u0142a lista 50 000 ofiar Pegasusa<\/a><\/li>\n \t<li><a href=\"https:\/\/www.reuters.com\/technology\/amazon-shuts-down-cloud-infrastructure-linked-israeli-firm-nso-report-2021-07-19\/\">Amazon shuts down cloud infrastructure linked to Israeli firm NSO - Vice<\/a><\/li>\n \t<li><a href=\"https:\/\/frank.geekheim.de\/?page_id=128\">We lost the war. Welcome to the world of tomorrow<\/a><\/li>\n \t<li><a href=\"https:\/\/niebezpiecznik.pl\/post\/jak-wykryto-slady-rzadowego-trojana-na-smartfonach-w-polsce\/\">Jak wykryto \u015blady rz\u0105dowego trojana na smartfonach w Polsce?<\/a><\/li>\n<\/ul>\n<h2 id=\"2-jak-whatsapp-chce-wprowadzi%C4%87-wsparcie-dla-wielu-urz%C4%85dze%C5%84-przy-zachowaniu-szyfrowania-e2e-%F0%9F%A4%90\"><a href=\"https:\/\/engineering.fb.com\/2021\/07\/14\/security\/whatsapp-multi-device\/\">2. Jak WhatsApp chce wprowadzi\u0107 wsparcie dla wielu urz\u0105dze\u0144 przy zachowaniu szyfrowania E2E <\/a><\/h2>\nPozostaj\u0105c w temacie bezpiecze\u0144stwa, czas przygl\u0105dn\u0105\u0107 si\u0119 ciekawym ruchom Facebooka je\u015bli chodzi o rozw\u00f3j WhatsAppa. W zesz\u0142ym tygodniu podzielili si\u0119 oni bowiem ze \u015bwiatem <a href=\"https:\/\/engineering.fb.com\/2021\/07\/14\/security\/whatsapp-multi-device\/\">ciekawym case study<\/a>, dotycz\u0105cym styku prywatno\u015bci u\u017cytkownika i szeroko rozumianej u\u017cyteczno\u015bci.\n\nKryptografia u\u017cywana w nowoczesnych komunikatorach sama w sobie jest trudnym problemem, a je\u017celi dodatkowo chcemy np. zapewni\u0107 synchronizacji wiadomo\u015bci mi\u0119dzy poszczeg\u00f3lnymi urz\u0105dzeniami - wyzwanie jeszcze dodatkowo wzrasta. Dlatego do tej pory WhatsApp posiada\u0142 sporo ogranicze\u0144 - by\u0142 przypi\u0119ty tylko do pojedynczego urz\u0105dzenia, kt\u00f3re stanowi\u0142o \u201cpojedynczy punkt prawdy\u201d. Ka\u017cdy inny spos\u00f3b u\u017cycia (jak np. przegl\u0105danie wiadomo\u015bci z komunikatora na laptopie) tak naprawd\u0119 sprowadza\u0142o si\u0119 do komunikacji nie z jakim\u015b centralnym serwerem, a z w\u0142asnym telefonem. W wypadku gdy takowy traci\u0142 baterie, r\u00f3wnie\u017c zewn\u0119trzne urz\u0105dzenia nie mog\u0142y dosta\u0107 si\u0119 do listy wiadomo\u015bci.\n<figure class=\"kg-card kg-image-card\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d04367dd0f.png\" alt=\"\" \/><\/figure>\nFacebook zdecydowa\u0142 si\u0119 rozwi\u0105za\u0107 problem za pomoc\u0105 multibroadcastu. Ka\u017cde urz\u0105dzenie posiada\u0107 ma w\u0142asny klucz szyfruj\u0105cy, a ka\u017cda wiadomo\u015b\u0107 u\u017cytkownika trafia\u0107 ma teraz nie do pojedynczego klienta, a do ca\u0142ej ich listy, gdzie ka\u017cdy z osobna przetrzymuje ju\u017c wy\u0142\u0105cznie lokalne zmiany. Dzi\u0119ki temu firma unika trudnego problemu dzielenia g\u0142\u00f3wnego klucza, po prostu wysy\u0142aj\u0105c wszystkie wiadomo\u015bci wsz\u0119dzie.\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/giphy-1.gif\" alt=\"\" width=\"498\" height=\"288\" \/>\n\n<figcaption>Proste rozwi\u0105zania s\u0105 czasem najlepsze.<\/figcaption><\/figure>\nJest to podej\u015bcie maj\u0105ce swoje wady. Tak naprawd\u0119 w dalszym ci\u0105gu nie istnieje \u017cadna forma globalnego backupu. Je\u017celi u\u017cytkownik zgubi wszystkie swoje urz\u0105dzenia, nie b\u0119dzie m\u00f3g\u0142 odzyska\u0107 swojej historii wiadomo\u015bci, co jest mo\u017cliwe np. w przypadku iMessage, u\u017cywaj\u0105cego <a href=\"https:\/\/www.forb\nes.com\/sites\/zakdoffman\/2021\/05\/08\/whatsapp-beaten-by-apple-imessage-for-iphone-ipad-users-as-new-update-leaks\/\">iCloud jako sposobu na synchronizacje urz\u0105dze\u0144 End-to-End<\/a>. Fakt, \u017ce nawet taka firma jak Facebook od lat nie jest w stanie zapewni\u0107 tego poziomu funkcjonalno\u015bci pokazuje, jak wielka przewaga kryje si\u0119 w pe\u0142nej kontroli ca\u0142ego ekosystemu. A jak wa\u017cna rol\u0119 pe\u0142ni\u0105 dzi\u015b komunikatory, niech uzmys\u0142owi prosty fakt: od lat m\u00f3wi si\u0119, \u017ce to w\u0142asnie iMessage stanowi <a href=\"https:\/\/www.fool.com\/investing\/general\/2013\/01\/10\/apples-trojan-horse-imessage.aspx\">najpot\u0119\u017cniejszego konia troja\u0144skiego<\/a> Apple, tak mocno trzymaj\u0105cego ludzi w ich ekosystemie.\n\nOczywi\u015bcie, ca\u0142o\u015b\u0107 jest troch\u0119 bardziej skomplikowana ni\u017c by\u0142em w stanie to tutaj przedstawi\u0107. Je\u015bli kto\u015b jest zainteresowany szczeg\u00f3\u0142ami - <a href=\"https:\/\/scontent.whatsapp.net\/v\/t39.8562-34\/217392192_617386875906350_2307693746154839727_n.pdf\/WhatsApp_Security_Whitepaper_V4_Preview.pdf\">WhatsApp opublikowa\u0142 Whitepaper<\/a> zawieraj\u0105cy wi\u0119cej detali.\n<h3 id=\"%C5%BAr%C3%B3d%C5%82a-1\">\u0179r\u00f3d\u0142a<\/h3>\n<ul>\n \t<li><a href=\"https:\/\/scontent.whatsapp.net\/v\/t39.8562-34\/217392192_617386875906350_2307693746154839727_n.pdf\/WhatsApp_Security_Whitepaper_V4_Preview.pdf\">Whitepaper<\/a><\/li>\n \t<li><a href=\"https:\/\/engineering.fb.com\/2021\/07\/14\/security\/whatsapp-multi-device\/\">How WhatsApp enables multi-device capability<\/a><\/li>\n \t<li><a href=\"https:\/\/www.fool.com\/investing\/general\/2013\/01\/10\/apples-trojan-horse-imessage.aspx\">Apple's Trojan Horse: iMessage<\/a><\/li>\n \t<li><a href=\"https:\/\/www.forbes.com\/sites\/zakdoffman\/2021\/05\/08\/whatsapp-beaten-by-apple-imessage-for-iphone-ipad-users-as-new-update-leaks\/\">Why iMessage On Your iPhone Will Beat WhatsApp's Radical New Update<\/a><\/li>\n<\/ul>\n<h2 id=\"3-o-paroletnich-pr%C3%B3bach-migracji-facebooka-na-now%C4%85-wersje-mysql-%F0%9F%91%B4\"><a href=\"https:\/\/engineering.fb.com\/2021\/07\/22\/data-infrastructure\/mysql\/\">3. O paroletnich pr\u00f3bach migracji Facebooka na now\u0105 wersje MySQL<\/a><\/h2>\nWspomniane zmiany w WhatsAppie to jednak nie jedyna ciekawa publikacja udost\u0119pniona w zesz\u0142ym tygodniu przez Facebooka. Podzielili si\u0119 r\u00f3wnie\u017c wra\u017ceniami z olbrzymiej migracji danych - <a href=\"https:\/\/engineering.fb.com\/2021\/07\/22\/data-infrastructure\/mysql\/\">procesu przej\u015bcia firmy na MySQL 8<\/a>.\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-8.png\" sizes=\"(min-width: 720px) 720px\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/1_image-8.png 600w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-8.png 720w\" alt=\"\" width=\"720\" height=\"226\" \/>\n\n<figcaption>Facebook pisze co\u015b o nowym funkcjonalno\u015bciach, ale my znamy prawdziwe powody migracji.<\/figcaption><\/figure>\nCzy te\u017c macie czasem wra\u017cenie, \u017ce o MySQL jest bardzo cicho? Kiedy\u015b \u201cdomy\u015blna\u201d baza dla aplikacji, dzi\u015b zosta\u0142a wr\u0119cz zupe\u0142nie wyrugowana z tej roli przez Postgresa. Ci\u0119\u017cko mi powiedzie\u0107 co jest powdem - czy jego licencja, czy fakt \u0142atwej dost\u0119pno\u015bci w rozwi\u0105zaniach chmurowych (aczkolwiek to nie jest tak, \u017ce tam jako\u015b brakuje wsparcia dla MySQL), czy te\u017c \u0142atka rozwi\u0105zania przeznaczone dla PHP, co u niekt\u00f3rych (dzi\u015b ju\u017c mocno bezpodstawnie) ci\u0105gle kojarzy si\u0119 z amatork\u0105.\n\nI rozumiem je\u017celi tego typu decyzje podejmowane by\u0142y przez do\u015bwiadczonych administrator\u00f3w baz danych, analizuj\u0105cych wydajno\u015b\u0107 konkretnych silnik\u00f3w. Gdzie tam - dzisiejszy programista (generalizuje, ale tylko troch\u0119) prawie na bazach si\u0119 nie zna (ju\u017c pr\u0119dzej tych NoSQL) i ci\u0119\u017cko jest wydusi\u0107 z niego jakie\u015b merytoryczne argumenty - przyznam \u017ce czasem troch\u0119 \u201ctrollersko\u201d pr\u00f3bowa\u0142em. Po prostu mamy do czynienia ze starym, dobrym \u201cnikogo nie zwolnili za u\u017cycie PostgreSQL\u201d.\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/giphy-2.gif\" alt=\"\" width=\"480\" height=\"270\" \/>\n\n<figcaption>Mo\u017ce po prostu baza SQL sta\u0142a si\u0119 w czasach ma\u0142ych mikroserwis\u00f3w zupe\u0142nie zast\u0119powalnym elementem - ka\u017cda b\u0119dzie dobra, wybierzmy najpopularniejsz\u0105.<\/figcaption><\/figure>\nDlatego te\u017c lubi\u0119 poczyta\u0107 sobie czasem interesuj\u0105ce przyk\u0142ady u\u017cycia MySQL, jak ten opublikowany przez Facebooka - okazuje si\u0119 bowiem, \u017ce baza ta w dalszym ci\u0105gu stanowi trzon najwi\u0119kszej sieci spo\u0142eczno\u015bciowej na \u015bwiecie. W swoim case study opisuj\u0105 oni bowiem proces migracji z ciut ju\u017ce prehistorycznej wersji MySQL 5.6 na aktualniejsz\u0105 (wydan\u0105 w 2018) wersj\u0119 8. Dlaczego nie u\u017cy\u0107 naj\u015bwie\u017cszego wydania? Ot\u00f3\u017c okazuje si\u0119, \u017ce wspomniana migacja\u2026 trwa ju\u017c kilka lat. Facebook posiada du\u017c\u0105 ilo\u015b\u0107 niestandardowego kodu \u2013 ponad 1700 poprawek w swojej w\u0142asnej \u201cga\u0142\u0119zi\u201d MySQL 5.6. Nawet pomimo regularnego przenoszenia ich do wersji 8.0, firma ca\u0142y czas dodaje wi\u0119cej niestandardowych funkcji do wersji 5.6, wi\u0119c zmigrowana \u201c\u00f3semka\u201d musi nadgania\u0107.\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-9.png\" sizes=\"(min-width: 720px) 720px\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/1_image-9.png 600w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-9.png 900w\" alt=\"\" width=\"900\" height=\"280\" \/>\n\n<figcaption>Realna rozmowa z biura Facebooka.<\/figcaption><\/figure>\nDodatkowo, decyzja o pomini\u0119ciu du\u017cego wydania 5.7 (MySQL ma niestandardow\u0105 numeracje kolejnych wersji - 5.6 -&gt; 5.7 -&gt; 8) sprawi\u0142a sporo problem\u00f3w, a to ze wzgl\u0119du na niekt\u00f3re deprekacje API. Pokazuje to, \u017ce czzsem nie warto zbyt d\u0142ugo czeka\u0107 z aktualizacj\u0105 zale\u017cno\u015bci - mo\u017cna si\u0119 zdziwi\u0107 jakie b\u0119d\u0105 skutki.\n\nMimo, \u017ce ca\u0142y proces nie zosta\u0142 jeszcze uko\u0144czony, tw\u00f3rcy twierdz\u0105 \u017ce niekt\u00f3re benefity wydania 8 ju\u017c s\u0105 zauwa\u017calne, wi\u0119c ca\u0142o\u015b\u0107 ko\u0144czy si\u0119 na optymistycznej nucie. Post ten na pewno b\u0119dzie najbardziej interesuj\u0105cy dla tych, kt\u00f3rych intersuj\u0105 bazy danych, ale w zasadzie powinien stanowi\u0107 swoist\u0105 przypowie\u015b\u0107 dla ka\u017cdego, kto nie mia\u0142 w swojej karierze epizod\u00f3w z wychodzeniem z system\u00f3w legacy.\n<h3 id=\"%C5%BAr%C3%B3d%C5%82a-2\">\u0179r\u00f3d\u0142a<\/h3>\n<ul>\n \t<li><a href=\"https:\/\/engineering.fb.com\/2021\/07\/22\/data-infrastructure\/mysql\/\">Migrating Facebook to MySQL 8.0<\/a><\/li>\n<\/ul>","innerContent":["<h2 id=\"1-system-pegasus-nie-s%C5%82u%C5%BCy-tylko-do-pods%C5%82uchiwania-terroryst%C3%B3w-kto-by-si%C4%99-spodziewa%C5%82-%F0%9F%A4%B7%E2%80%8D%E2%99%82%EF%B8%8F\">1. System Pegasus nie s\u0142u\u017cy tylko do pods\u0142uchiwania terroryst\u00f3w? Kto by si\u0119 spodziewa\u0142 \u200d\u2642\ufe0f<\/h2>\nNo, chyba takiej \u201cinby\u201d je\u015bli chodzi o tematy zwi\u0105zane ze \u015bledzeniem obywateli nie by\u0142o od czasu, gdy w 2013 roku Edward Snowden wyjawi\u0142 tajniki programu PRISM (tak, od tamtej pory min\u0119\u0142o ju\u017c prawie 10 lat). Od tamtego czasu wprawdzie takie firmy jak Palantir czy wspominany dzisiaj Pegasus pojawia\u0142y si\u0119 w mediach (min. w kontek\u015bcie zakupu ich <a href=\"https:\/\/niebezpiecznik.pl\/post\/jak-wykryto-slady-rzadowego-trojana-na-smartfonach-w-polsce\/\">us\u0142ug przez Polski rz\u0105d<\/a>), jednak chyba nigdy jeszcze sprawa nie by\u0142a tak \u201cgruba\u201d.\n\nW ramach <a href=\"https:\/\/github.com\/AmnestyTech\/investigations\/tree\/master\/2021-07-18_nso\">\u015bledztwa Amnesty International<\/a> uda\u0142o si\u0119 ustali\u0107 ponad 50 tys. ofiar Pegasusa, oprogramowania dzia\u0142aj\u0105cego jak spyware i w za\u0142o\u017ceniach s\u0142u\u017c\u0105cego do walki z terroryzmem.\n<figure class=\"kg-card kg-image-card\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-10.png\" sizes=\"(min-width: 720px) 720px\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/1_image-10.png 600w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/2_image-10.png 1000w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-10.png 1096w\" alt=\"\" width=\"1096\" height=\"1118\" \/><\/figure>\nBadacze NGOsa opublikowali r\u00f3wnie\u017c narz\u0119dzie, kt\u00f3rym mo\u017cna sprawdzi\u0107, czy nasz telefon nie by\u0142 przypadkiem zaatakowany. Wyciek udowodni\u0142, \u017ce narz\u0119dzie nie jest wykorzystywane tylko do walki z terrorystami, ale \u017ce rz\u0105dy w wielu krajach u\u017cywaj\u0105 go r\u00f3wnie\u017c do \u015bledzenia nie tylko \u00a0aktywist\u00f3w, dziennikarzy czy prawnik\u00f3w, ale w niekt\u00f3rych przypadkach r\u00f3wnie\u017c ich rodzin. Spraw\u0119 \u015bwietnie opisa\u0142 nasz Niebezpiecznik, publikuj\u0105c <a href=\"https:\/\/niebezpiecznik.pl\/post\/wyciekla-lista-50-000-ofiar-pegasusa\/\">artyku\u0142 o wycieku<\/a>, w kt\u00f3rym znajdziecie znacznie dok\u0142adniejszy opis sytuacji, ni\u017c ja jestem w stanie przygotowa\u0107 w paru akapitach naszego przegl\u0105du. Bardzo zach\u0119cam do lektury.\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/giphy.gif\" alt=\"\" width=\"250\" height=\"182\" \/>\n<figcaption>Mam wra\u017cenie, \u017ce jak temat wybuch\u0142 z du\u017c\u0105 si\u0142\u0105 pocz\u0105tkiem tygodnia, tak aktualnie nikogo ju\u017c nie obchodzi. Dlatego ja z niek\u0142aman\u0105 satysfakcj\u0105 go przywo\u0142uje w naszej sobotniej edycji.<\/figcaption><\/figure>\nTo, \u017ce sytuacja troch\u0119 przycich\u0142a, nie oznacza jednak, \u017ce NSO Group (tw\u00f3rcy Pegasusa) nie musz\u0105 liczy\u0107 si\u0119 z pewnymi konsekwencjami. Na pewno wszelkie przysz\u0142e informacje o u\u017cyciu ich oprogramowania b\u0119d\u0105 mocniej kontestowane. Dodatkowo, firma zacz\u0119\u0142a \u201c\u015bmierdzie\u0107\u201d - przyk\u0142adowo, Amazon po publikacji raportu w kt\u00f3rym tylko wspomniana by\u0142a nazwa ich us\u0142ugi CloudFront, <a href=\"https:\/\/www.reuters.com\/technology\/amazon-shuts-down-cloud-infrastructure-linked-israeli-firm-nso-report-2021-07-19\/\">natychmiast zdecydowa\u0142 si\u0119 usun\u0105\u0107 konto firmy<\/a>. NSO Group z pewno\u015bci\u0105 mo\u017ce spodziewa\u0107 si\u0119 te\u017c dalszych krok\u00f3w, bo teraz, gdy sprawa si\u0119 ciutk\u0119 \u201cryp\u0142a\u201d, rz\u0105dy u\u017cywaj\u0105ce us\u0142ugi zaczynaj\u0105 dostawa\u0107 bardzo niewygodne pytania.\n\nZawsze gdy widz\u0119 tego typu temat, przypomina mi si\u0119 fascynuj\u0105cy <a href=\"https:\/\/frank.geekheim.de\/?page_id=128\">esej Franka Riegera z 2005 roku<\/a>. Przeczyta\u0142em go lata temu, cz\u0119sto wracam do niego my\u015blami i zauwa\u017cam, jak bardzo prorocza by\u0142a jego wizja \u015bwiata, w kt\u00f3rym walka z oprogramowaniem inwigilacyjnym zosta\u0142a przegrana wraz atakiem na World Trade Center. Sp\u0119dzi\u0142em dobre p\u00f3\u0142 godziny grzebi\u0105c po swoich archiwach, \u017ceby go dla Was odgrzeba\u0107, dlatego mam nadzieje, \u017ce docenicie . Jeden z lepszych manifest\u00f3w dotycz\u0105cych etyki w in\u017cynierii oprogramowania z jakim mia\u0142em kiedykolwiek styczno\u015b\u0107.\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-7.png\" sizes=\"(min-width: 720px) 720px\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/1_image-7.png 600w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/2_image-7.png 1000w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-7.png 1352w\" alt=\"\" width=\"1352\" height=\"1418\" \/>\n\n<figcaption>A na koniec - przegl\u0105d postaw w stosunku do prywatno\u015bci od nieocenionego XKCD<\/figcaption><\/figure>\n<h3 id=\"%C5%BAr%C3%B3d%C5%82a\">\u0179r\u00f3d\u0142a<\/h3>\n<ul>\n \t<li><a href=\"https:\/\/github.com\/AmnestyTech\/investigations\/tree\/master\/2021-07-18_nso\">Raport Amnesty International 2021-07-18<\/a><\/li>\n \t<li><a href=\"https:\/\/niebezpiecznik.pl\/post\/wyciekla-lista-50-000-ofiar-pegasusa\/\">Wyciek\u0142a lista 50 000 ofiar Pegasusa<\/a><\/li>\n \t<li><a href=\"https:\/\/www.reuters.com\/technology\/amazon-shuts-down-cloud-infrastructure-linked-israeli-firm-nso-report-2021-07-19\/\">Amazon shuts down cloud infrastructure linked to Israeli firm NSO - Vice<\/a><\/li>\n \t<li><a href=\"https:\/\/frank.geekheim.de\/?page_id=128\">We lost the war. Welcome to the world of tomorrow<\/a><\/li>\n \t<li><a href=\"https:\/\/niebezpiecznik.pl\/post\/jak-wykryto-slady-rzadowego-trojana-na-smartfonach-w-polsce\/\">Jak wykryto \u015blady rz\u0105dowego trojana na smartfonach w Polsce?<\/a><\/li>\n<\/ul>\n<h2 id=\"2-jak-whatsapp-chce-wprowadzi%C4%87-wsparcie-dla-wielu-urz%C4%85dze%C5%84-przy-zachowaniu-szyfrowania-e2e-%F0%9F%A4%90\"><a href=\"https:\/\/engineering.fb.com\/2021\/07\/14\/security\/whatsapp-multi-device\/\">2. Jak WhatsApp chce wprowadzi\u0107 wsparcie dla wielu urz\u0105dze\u0144 przy zachowaniu szyfrowania E2E <\/a><\/h2>\nPozostaj\u0105c w temacie bezpiecze\u0144stwa, czas przygl\u0105dn\u0105\u0107 si\u0119 ciekawym ruchom Facebooka je\u015bli chodzi o rozw\u00f3j WhatsAppa. W zesz\u0142ym tygodniu podzielili si\u0119 oni bowiem ze \u015bwiatem <a href=\"https:\/\/engineering.fb.com\/2021\/07\/14\/security\/whatsapp-multi-device\/\">ciekawym case study<\/a>, dotycz\u0105cym styku prywatno\u015bci u\u017cytkownika i szeroko rozumianej u\u017cyteczno\u015bci.\n\nKryptografia u\u017cywana w nowoczesnych komunikatorach sama w sobie jest trudnym problemem, a je\u017celi dodatkowo chcemy np. zapewni\u0107 synchronizacji wiadomo\u015bci mi\u0119dzy poszczeg\u00f3lnymi urz\u0105dzeniami - wyzwanie jeszcze dodatkowo wzrasta. Dlatego do tej pory WhatsApp posiada\u0142 sporo ogranicze\u0144 - by\u0142 przypi\u0119ty tylko do pojedynczego urz\u0105dzenia, kt\u00f3re stanowi\u0142o \u201cpojedynczy punkt prawdy\u201d. Ka\u017cdy inny spos\u00f3b u\u017cycia (jak np. przegl\u0105danie wiadomo\u015bci z komunikatora na laptopie) tak naprawd\u0119 sprowadza\u0142o si\u0119 do komunikacji nie z jakim\u015b centralnym serwerem, a z w\u0142asnym telefonem. W wypadku gdy takowy traci\u0142 baterie, r\u00f3wnie\u017c zewn\u0119trzne urz\u0105dzenia nie mog\u0142y dosta\u0107 si\u0119 do listy wiadomo\u015bci.\n<figure class=\"kg-card kg-image-card\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d04367dd0f.png\" alt=\"\" \/><\/figure>\nFacebook zdecydowa\u0142 si\u0119 rozwi\u0105za\u0107 problem za pomoc\u0105 multibroadcastu. Ka\u017cde urz\u0105dzenie posiada\u0107 ma w\u0142asny klucz szyfruj\u0105cy, a ka\u017cda wiadomo\u015b\u0107 u\u017cytkownika trafia\u0107 ma teraz nie do pojedynczego klienta, a do ca\u0142ej ich listy, gdzie ka\u017cdy z osobna przetrzymuje ju\u017c wy\u0142\u0105cznie lokalne zmiany. Dzi\u0119ki temu firma unika trudnego problemu dzielenia g\u0142\u00f3wnego klucza, po prostu wysy\u0142aj\u0105c wszystkie wiadomo\u015bci wsz\u0119dzie.\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/giphy-1.gif\" alt=\"\" width=\"498\" height=\"288\" \/>\n\n<figcaption>Proste rozwi\u0105zania s\u0105 czasem najlepsze.<\/figcaption><\/figure>\nJest to podej\u015bcie maj\u0105ce swoje wady. Tak naprawd\u0119 w dalszym ci\u0105gu nie istnieje \u017cadna forma globalnego backupu. Je\u017celi u\u017cytkownik zgubi wszystkie swoje urz\u0105dzenia, nie b\u0119dzie m\u00f3g\u0142 odzyska\u0107 swojej historii wiadomo\u015bci, co jest mo\u017cliwe np. w przypadku iMessage, u\u017cywaj\u0105cego <a href=\"https:\/\/www.forb\nes.com\/sites\/zakdoffman\/2021\/05\/08\/whatsapp-beaten-by-apple-imessage-for-iphone-ipad-users-as-new-update-leaks\/\">iCloud jako sposobu na synchronizacje urz\u0105dze\u0144 End-to-End<\/a>. Fakt, \u017ce nawet taka firma jak Facebook od lat nie jest w stanie zapewni\u0107 tego poziomu funkcjonalno\u015bci pokazuje, jak wielka przewaga kryje si\u0119 w pe\u0142nej kontroli ca\u0142ego ekosystemu. A jak wa\u017cna rol\u0119 pe\u0142ni\u0105 dzi\u015b komunikatory, niech uzmys\u0142owi prosty fakt: od lat m\u00f3wi si\u0119, \u017ce to w\u0142asnie iMessage stanowi <a href=\"https:\/\/www.fool.com\/investing\/general\/2013\/01\/10\/apples-trojan-horse-imessage.aspx\">najpot\u0119\u017cniejszego konia troja\u0144skiego<\/a> Apple, tak mocno trzymaj\u0105cego ludzi w ich ekosystemie.\n\nOczywi\u015bcie, ca\u0142o\u015b\u0107 jest troch\u0119 bardziej skomplikowana ni\u017c by\u0142em w stanie to tutaj przedstawi\u0107. Je\u015bli kto\u015b jest zainteresowany szczeg\u00f3\u0142ami - <a href=\"https:\/\/scontent.whatsapp.net\/v\/t39.8562-34\/217392192_617386875906350_2307693746154839727_n.pdf\/WhatsApp_Security_Whitepaper_V4_Preview.pdf\">WhatsApp opublikowa\u0142 Whitepaper<\/a> zawieraj\u0105cy wi\u0119cej detali.\n<h3 id=\"%C5%BAr%C3%B3d%C5%82a-1\">\u0179r\u00f3d\u0142a<\/h3>\n<ul>\n \t<li><a href=\"https:\/\/scontent.whatsapp.net\/v\/t39.8562-34\/217392192_617386875906350_2307693746154839727_n.pdf\/WhatsApp_Security_Whitepaper_V4_Preview.pdf\">Whitepaper<\/a><\/li>\n \t<li><a href=\"https:\/\/engineering.fb.com\/2021\/07\/14\/security\/whatsapp-multi-device\/\">How WhatsApp enables multi-device capability<\/a><\/li>\n \t<li><a href=\"https:\/\/www.fool.com\/investing\/general\/2013\/01\/10\/apples-trojan-horse-imessage.aspx\">Apple's Trojan Horse: iMessage<\/a><\/li>\n \t<li><a href=\"https:\/\/www.forbes.com\/sites\/zakdoffman\/2021\/05\/08\/whatsapp-beaten-by-apple-imessage-for-iphone-ipad-users-as-new-update-leaks\/\">Why iMessage On Your iPhone Will Beat WhatsApp's Radical New Update<\/a><\/li>\n<\/ul>\n<h2 id=\"3-o-paroletnich-pr%C3%B3bach-migracji-facebooka-na-now%C4%85-wersje-mysql-%F0%9F%91%B4\"><a href=\"https:\/\/engineering.fb.com\/2021\/07\/22\/data-infrastructure\/mysql\/\">3. O paroletnich pr\u00f3bach migracji Facebooka na now\u0105 wersje MySQL<\/a><\/h2>\nWspomniane zmiany w WhatsAppie to jednak nie jedyna ciekawa publikacja udost\u0119pniona w zesz\u0142ym tygodniu przez Facebooka. Podzielili si\u0119 r\u00f3wnie\u017c wra\u017ceniami z olbrzymiej migracji danych - <a href=\"https:\/\/engineering.fb.com\/2021\/07\/22\/data-infrastructure\/mysql\/\">procesu przej\u015bcia firmy na MySQL 8<\/a>.\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-8.png\" sizes=\"(min-width: 720px) 720px\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/1_image-8.png 600w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-8.png 720w\" alt=\"\" width=\"720\" height=\"226\" \/>\n\n<figcaption>Facebook pisze co\u015b o nowym funkcjonalno\u015bciach, ale my znamy prawdziwe powody migracji.<\/figcaption><\/figure>\nCzy te\u017c macie czasem wra\u017cenie, \u017ce o MySQL jest bardzo cicho? Kiedy\u015b \u201cdomy\u015blna\u201d baza dla aplikacji, dzi\u015b zosta\u0142a wr\u0119cz zupe\u0142nie wyrugowana z tej roli przez Postgresa. Ci\u0119\u017cko mi powiedzie\u0107 co jest powdem - czy jego licencja, czy fakt \u0142atwej dost\u0119pno\u015bci w rozwi\u0105zaniach chmurowych (aczkolwiek to nie jest tak, \u017ce tam jako\u015b brakuje wsparcia dla MySQL), czy te\u017c \u0142atka rozwi\u0105zania przeznaczone dla PHP, co u niekt\u00f3rych (dzi\u015b ju\u017c mocno bezpodstawnie) ci\u0105gle kojarzy si\u0119 z amatork\u0105.\n\nI rozumiem je\u017celi tego typu decyzje podejmowane by\u0142y przez do\u015bwiadczonych administrator\u00f3w baz danych, analizuj\u0105cych wydajno\u015b\u0107 konkretnych silnik\u00f3w. Gdzie tam - dzisiejszy programista (generalizuje, ale tylko troch\u0119) prawie na bazach si\u0119 nie zna (ju\u017c pr\u0119dzej tych NoSQL) i ci\u0119\u017cko jest wydusi\u0107 z niego jakie\u015b merytoryczne argumenty - przyznam \u017ce czasem troch\u0119 \u201ctrollersko\u201d pr\u00f3bowa\u0142em. Po prostu mamy do czynienia ze starym, dobrym \u201cnikogo nie zwolnili za u\u017cycie PostgreSQL\u201d.\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/giphy-2.gif\" alt=\"\" width=\"480\" height=\"270\" \/>\n\n<figcaption>Mo\u017ce po prostu baza SQL sta\u0142a si\u0119 w czasach ma\u0142ych mikroserwis\u00f3w zupe\u0142nie zast\u0119powalnym elementem - ka\u017cda b\u0119dzie dobra, wybierzmy najpopularniejsz\u0105.<\/figcaption><\/figure>\nDlatego te\u017c lubi\u0119 poczyta\u0107 sobie czasem interesuj\u0105ce przyk\u0142ady u\u017cycia MySQL, jak ten opublikowany przez Facebooka - okazuje si\u0119 bowiem, \u017ce baza ta w dalszym ci\u0105gu stanowi trzon najwi\u0119kszej sieci spo\u0142eczno\u015bciowej na \u015bwiecie. W swoim case study opisuj\u0105 oni bowiem proces migracji z ciut ju\u017ce prehistorycznej wersji MySQL 5.6 na aktualniejsz\u0105 (wydan\u0105 w 2018) wersj\u0119 8. Dlaczego nie u\u017cy\u0107 naj\u015bwie\u017cszego wydania? Ot\u00f3\u017c okazuje si\u0119, \u017ce wspomniana migacja\u2026 trwa ju\u017c kilka lat. Facebook posiada du\u017c\u0105 ilo\u015b\u0107 niestandardowego kodu \u2013 ponad 1700 poprawek w swojej w\u0142asnej \u201cga\u0142\u0119zi\u201d MySQL 5.6. Nawet pomimo regularnego przenoszenia ich do wersji 8.0, firma ca\u0142y czas dodaje wi\u0119cej niestandardowych funkcji do wersji 5.6, wi\u0119c zmigrowana \u201c\u00f3semka\u201d musi nadgania\u0107.\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-9.png\" sizes=\"(min-width: 720px) 720px\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/1_image-9.png 600w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/image-9.png 900w\" alt=\"\" width=\"900\" height=\"280\" \/>\n\n<figcaption>Realna rozmowa z biura Facebooka.<\/figcaption><\/figure>\nDodatkowo, decyzja o pomini\u0119ciu du\u017cego wydania 5.7 (MySQL ma niestandardow\u0105 numeracje kolejnych wersji - 5.6 -&gt; 5.7 -&gt; 8) sprawi\u0142a sporo problem\u00f3w, a to ze wzgl\u0119du na niekt\u00f3re deprekacje API. Pokazuje to, \u017ce czzsem nie warto zbyt d\u0142ugo czeka\u0107 z aktualizacj\u0105 zale\u017cno\u015bci - mo\u017cna si\u0119 zdziwi\u0107 jakie b\u0119d\u0105 skutki.\n\nMimo, \u017ce ca\u0142y proces nie zosta\u0142 jeszcze uko\u0144czony, tw\u00f3rcy twierdz\u0105 \u017ce niekt\u00f3re benefity wydania 8 ju\u017c s\u0105 zauwa\u017calne, wi\u0119c ca\u0142o\u015b\u0107 ko\u0144czy si\u0119 na optymistycznej nucie. Post ten na pewno b\u0119dzie najbardziej interesuj\u0105cy dla tych, kt\u00f3rych intersuj\u0105 bazy danych, ale w zasadzie powinien stanowi\u0107 swoist\u0105 przypowie\u015b\u0107 dla ka\u017cdego, kto nie mia\u0142 w swojej karierze epizod\u00f3w z wychodzeniem z system\u00f3w legacy.\n<h3 id=\"%C5%BAr%C3%B3d%C5%82a-2\">\u0179r\u00f3d\u0142a<\/h3>\n<ul>\n \t<li><a href=\"https:\/\/engineering.fb.com\/2021\/07\/22\/data-infrastructure\/mysql\/\">Migrating Facebook to MySQL 8.0<\/a><\/li>\n<\/ul>"]}],"_links":{"self":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10107","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/comments?post=10107"}],"version-history":[{"count":1,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10107\/revisions"}],"predecessor-version":[{"id":10681,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10107\/revisions\/10681"}],"wp:attachment":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media?parent=10107"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/categories?post=10107"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/tags?post=10107"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}