{"id":10143,"date":"2021-05-01T10:57:35","date_gmt":"2021-05-01T08:57:35","guid":{"rendered":"https:\/\/vived.io\/software-craftsmanship-saturday-vol-35\/"},"modified":"2022-09-19T13:20:13","modified_gmt":"2022-09-19T11:20:13","slug":"software-craftsmanship-saturday-vol-35","status":"publish","type":"post","link":"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-35\/","title":{"rendered":"Software Craftsmanship Saturday vol. 35"},"content":{"rendered":"<h2 id=\"1-wsparcie-jezykow-przez-thebigtech-trwa-rust-webassembly-edition\" data-num=1>1. Wsparcie j\u0119zyk\u00f3w przez TheBigTech trwa &#8211; Rust &amp; WebAssembly Edition<\/h2>\n<p>Dzisiejsz\u0105 edycje zaczynamy od interesuj\u0105cych og\u0142osze\u0144 zwi\u0105zanych z zaanga\u017cowaniem du\u017cych graczy w rozw\u00f3j j\u0119zyk\u00f3w &#8211; ostatnio mamy wysyp tego typu wiadomo\u015bci, ciekawe czy jest w tym element jakiej\u015b wi\u0119kszej strategii, FOMO panuj\u0105ce w\u015br\u00f3d TheBigTech czy te\u017c mo\u017ce zwyk\u0142y przypadek?<\/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\/1_image-5.png\" sizes=\"auto, (min-width: 720px) 720px\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/2_image-5.png 600w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/3_image-5.png 1000w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/4_image-5.png 1600w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/1_image-5.png 1656w\" alt=\"\" width=\"1656\" height=\"354\" \/><\/figure>\n<p>Zacznijmy od Rusta. Od kiedy nasz ulubiony j\u0119zyk 10x Developer\u00f3w (przepraszam je\u015bli macie mnie za zdart\u0105 p\u0142yt\u0119, ale ten \u017cart nigdy nie przestanie mnie \u015bmieszy\u0107) trafi\u0142 pod skrzyd\u0142a fundacji, coraz wi\u0119cej istotnych graczy postanowi\u0142o zaopiekowa\u0107 si\u0119 jego rozwojem. Do zacnego grona min. Google, Amazona i Microsoftu <a href=\"https:\/\/developers.facebook.com\/blog\/post\/2021\/04\/29\/facebook-joins-rust-foundation\/\">do\u0142\u0105czy\u0142 w zesz\u0142ym tygodniu Facebook<\/a>. Jako \u201cwiano\u201d, opr\u00f3cz beczki dolar\u00f3w, wnosi opowie\u015b\u0107 o tym <a href=\"https:\/\/engineering.fb.com\/2021\/04\/29\/developer-tools\/rust\/\">jak wygl\u0105da\u0142a adopcja rdzawego j\u0119zyka w ich organizacji<\/a>, co na pewno o\u015bmieli niejedn\u0105 firm\u0119 do zaryzykowania z tym dalej do\u015b\u0107 \u015bwie\u017cym ekosystemem.<\/p>\n<p>To jednak nie koniec tego typu og\u0142osze\u0144. R\u00f3wnie\u017c w zesz\u0142ym tygodniu, <a href=\"https:\/\/www.theregister.com\/2021\/04\/28\/microsoft_bytecode_alliance\/\">Microsoft<\/a> oraz <a href=\"https:\/\/blog.mozilla.org\/blog\/2021\/04\/28\/growing-the-bytecode-alliance\/\">Mozilla<\/a> zdecydowa\u0142y si\u0119 do\u0142\u0105czy\u0107 do Bytecode Alliance, fundacji kt\u00f3rej celem jest rozw\u00f3j i promocja WebAssembly. Jest to naprawd\u0119 wa\u017cny sygna\u0142 i pot\u0119\u017cne wsparcie dla standardu, kt\u00f3ry od lat stara si\u0119 wykroi\u0107 dla siebie sensown\u0105 nisz\u0119. Do tej pory bowiem, ze wszystkich du\u017cych tw\u00f3rc\u00f3w przegl\u0105darek tylko Google wspiera\u0142o Bytecode Alliance. Teraz sytuacja zmieni\u0142a si\u0119 diametralnie &#8211; wy\u0142\u0105cznie Apple ze swoim WebKitem nie do\u0142\u0105czy\u0142o jeszcze do wspomnianego \u201cprzymierza\u201d. Mo\u017ce powinni\u015bmy wkr\u00f3tce oczekiwa\u0107 podobnego og\u0142oszenia z ich strony, ale co ja si\u0119 \u0142udz\u0119 &#8211; nie bez kozery nazywa si\u0119 <a href=\"https:\/\/www.safari-is-the-new-ie.com\/\">Safari nowym Internet Explorerem<\/a>.<\/p>\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img decoding=\"async\" class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d0aaa83c31.png\" alt=\"\" \/><figcaption>Tutaj pewnie dla uczciwo\u015bci warto by by\u0142o wrzuci\u0107 jaki\u015b mem o Safari, ale co poradz\u0119 &#8211; te o Internet Explorerze s\u0105 niezast\u0105pione<\/figcaption><\/figure>\n<p>A jak ju\u017c wspomnieli\u015bmy Microsoft, lekko powi\u0105zana \u201cwrzutka\u201d &#8211; ot\u00f3\u017c <a href=\"https:\/\/kinvolk.io\/blog\/2021\/04\/microsoft-acquires-kinvolk\/\">przej\u0119li oni Kinvolk<\/a>, firm\u0119 za\u0142o\u017con\u0105 przez dawnych in\u017cynier\u00f3w pracuj\u0105cych nad CoreOS (kt\u00f3ry zosta\u0142 <a href=\"https:\/\/www.openshift.com\/learn\/topics\/coreos\">do\u015b\u0107 brutalnie potraktowany przez RedHata w zesz\u0142ym roku<\/a>). Ich flagowym produktem jest Flatcar Container Linux, zdobywaj\u0105ca du\u017c\u0105 popularno\u015b\u0107 w\u015br\u00f3d dostawc\u00f3w chmurowych alternatywa do ich wcze\u015bniejszego dzie\u0142a. Wida\u0107 jak na d\u0142oni jak istotna dla firmy z Redmond jest kontrola nad kluczowymi aspektami infrastruktury, mimo \u017ce zapowiadaj\u0105 oni i\u017c nie nale\u017cy spodziewa\u0107 si\u0119 zmian w sposobie licencjonowania Flatcara.<\/p>\n<p><strong>\u0179r\u00f3d\u0142a:<\/strong><\/p>\n<ul>\n<li><a href=\" https:\/\/developers.facebook.com\/blog\/post\/2021\/04\/29\/facebook-joins-rust-foundation\/\">Facebook Joins the Rust Foundation<\/a><\/li>\n<li><a href=\"https:\/\/engineering.fb.com\/2021\/04\/29\/developer-tools\/rust\/\">A brief history of Rust at Facebook<\/a><\/li>\n<li><a href=\"https:\/\/www.theregister.com\/2021\/04\/28\/microsoft_bytecode_alliance\/\">Microsoft joins Bytecode Alliance to advance WebAssembly<\/a><\/li>\n<li><a href=\"https:\/\/blog.mozilla.org\/blog\/2021\/04\/28\/growing-the-bytecode-alliance\/\">Growing the Bytecode Alliance<\/a><\/li>\n<li><a href=\"https:\/\/kinvolk.io\/blog\/2021\/04\/microsoft-acquires-kinvolk\/\">Microsoft acquires Kinvolk<\/a><\/li>\n<li><a href=\"https:\/\/www.openshift.com\/learn\/topics\/coreos\">What was CoreOS and CoreOS Container Linux?<\/a><\/li>\n<\/ul>\n<h2 id=\"2-kryptowaluty-zabijaja-darmowe-narzedzia-dla-deweloperow\" data-num=2>2. <a href=\"https:\/\/layerci.com\/blog\/crypto-miners-are-killing-free-ci\/\">Kryptowaluty zabijaj\u0105 darmowe narz\u0119dzia dla deweloper\u00f3w<\/a><\/h2>\n<figure class=\"kg-card kg-image-card\"><img decoding=\"async\" class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d0aab3cdeb.png\" alt=\"\" \/><\/figure>\n<p>Jak tam, macie ju\u017c now\u0105 kart\u0119 grafiki? Nie? To nie b\u0119dziecie mie\u0107 te\u017c darmowego CI. Kryptowaluty staj\u0105 si\u0119 jednym z najbardziej znienawidzonych temat\u00f3w bran\u017cy technologicznej.<\/p>\n<p>Przez lata jako programi\u015bci byli\u015bmy dosy\u0107 \u201crozpieszczani&#8221; przez ekosystem. Masa narz\u0119dzi mia\u0142a ca\u0142kiem rozs\u0105dne <a href=\"https:\/\/free-for.dev\/\">darmowe wersje<\/a>, pozwalaj\u0105ce hobbystom na eksperymentowanie &#8211; sam hostowa\u0142em swego czasu swoje ma\u0142e projekciki na Heroku (autowybudzanie instancji zawsze w moim sercu \u2764\ufe0f), a AWS Lambda stanowi\u0142a swego czasu podwaliny pod m\u00f3j bieda-smartdom.<\/p>\n<p>Sytuacja zmienia si\u0119 diametralnie. Praktycznie wszystkie podmioty udost\u0119pniaj\u0105ce cokolwiek darmowego aktualnie atakowane s\u0105 przez nadu\u017cycia ze strony kopaczy kryptowalut. Okazuje si\u0119, \u017ce tworzenie automat\u00f3w zak\u0142adaj\u0105cych darmowe konta w ilo\u015bciach masowych jest niezwykle op\u0142acalne z powodu ci\u0105gle rosn\u0105cych (mimo ostatnich fluktuacji trend jest do\u015b\u0107 widoczny) cen kryptowalut opartych o tak zwane Proof-of-Work &#8211; \u201cpaleniu\u201d mocy obliczeniowej. <a href=\"https:\/\/layerci.com\/blog\/crypto-miners-are-killing-free-ci\/\">LayerCI na swoim blogu opisuje<\/a> jak tego typu atak wygl\u0105da, i dlaczego bardzo trudno jest z\u0142apa\u0107 kogo\u015b za r\u0119k\u0119. St\u0105d te\u017c mo\u017cna ostatnimi czasy zauwa\u017cy\u0107 nerwowe ruchy takich graczy jak cho\u0107by GitLab, kt\u00f3ry<a href=\"https:\/\/about.gitlab.com\/blog\/2020\/09\/01\/ci-minutes-update-free-users\/\"> ju\u017c w zesz\u0142ym roku musia\u0142 ograniczy\u0107 ich bardzo przyjemne w u\u017cyciu zintegrowane CI<\/a>.<\/p>\n<p>Najsmutniejsze w tym wszystkim jest to, \u017ce (ze wzgl\u0119du na zdecentralizowany charakter) nic z tym fantem nie da si\u0119 za bardzo zrobi\u0107 &#8211; poza blokad\u0105 protoko\u0142u przez pa\u0144stwa na poziomie infrastruktury. Sugerowanie porzucenia przez kryptowaluty algorytm\u00f3w Proof-of-Work wydaje si\u0119 by\u0107 wr\u0119cz niemo\u017cliwe do realizacji &#8211; na miejsce ka\u017cdego Ethereum &#8211; przechodz\u0105cego na nie marnuj\u0105ce mocy obliczeniowej Proof-of-Stake &#8211; szybko wejdzie jaka\u015b alternatywa PoW. Na m\u00f3j brak optymizmu wskazuje te\u017c fakt, <a href=\"https:\/\/www.bloomberg.com\/opinion\/articles\/2021-04-14\/nvidia-risks-a-reckoning-as-crypto-miners-deprive-gamers-of-graphics-cards\">\u017ce wszystkie zakusy producent\u00f3w kart graficznych w celu ukr\u00f3cenia procederu spalaj\u0105 na panewce<\/a>. Chyba po prostu nie zas\u0142u\u017cyli\u015bmy sobie na takie fajne rzeczy jak darmowy CI.<\/p>\n<div class=\"embed-responsive embed-responsive-16by9\"><iframe loading=\"lazy\" title=\"Grimes - Oblivion\" width=\"500\" height=\"375\" src=\"https:\/\/www.youtube.com\/embed\/m5H-YlcMSbc?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/div>\n<p>Moje jedyne ostatnio pozytywne do\u015bwiadczenie z kryptowalutami (poza ci\u0105gle rosn\u0105c\u0105 warto\u015bci\u0105 mojego kupionego jakie\u015b cztery lata temu po kursie 500$ Etheru ) to odkrycie Grimes. Bohaterki naszego wpisu o NFT, kt\u00f3ra w\u0142a\u015bnie przygrywa mi podczas pisania tego artyku\u0142u. Og\u00f3lnie NFT to temat do kt\u00f3rego warto by by\u0142o nied\u0142ugo wr\u00f3ci\u0107 i opisa\u0107 Wam, co ostatecznie z tego ca\u0142ego sza\u0142u wysz\u0142o.<span class=\"-mobiledoc-kit__atom\">\u200c\u200c<\/span><\/p>\n<p><strong>\u0179r\u00f3d\u0142a:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/free-for.dev\/\">Free for developers<\/a><\/li>\n<li><a href=\"https:\/\/layerci.com\/blog\/crypto-miners-are-killing-free-ci\/\">Crypto miners are killing free CI<\/a><\/li>\n<li><a href=\"https:\/\/about.gitlab.com\/blog\/2020\/09\/01\/ci-minutes-update-free-users\/\">Upcoming changes to CI\/CD Minutes for free tier users on GitLab.com<\/a><\/li>\n<li><a href=\"https:\/\/www.bloomberg.com\/opinion\/articles\/2021-04-14\/nvidia-risks-a-reckoning-as-crypto-miners-deprive-gamers-of-graphics-cards\">Nvidia Risks a Reckoning by Catering to Crypto Miners<\/a><\/li>\n<\/ul>\n<h2 id=\"3-silna-spojnosc-aws-s3-jak-to-naprawde-dziala\" data-num=3>3. <a href=\"https:\/\/www.allthingsdistributed.com\/2021\/04\/s3-strong-consistency.html\">Silna Sp\u00f3jno\u015b\u0107 AWS S3 &#8211; jak to naprawd\u0119 dzia\u0142a<\/a><\/h2>\n<p>A na koniec, po tematach spo\u0142eczno\u015bciowo-spo\u0142ecznych, chcia\u0142bym zostawi\u0107 czytaj\u0105cych nas in\u017cynier\u00f3w z odrobin\u0105 \u201cmi\u0119ska\u201d. Bior\u0105c pod uwag\u0119 zbli\u017caj\u0105cy si\u0119 d\u0142ugi weekend, my\u015bl\u0119 \u017ce poza nadrobieniem zaleg\u0142o\u015bci w <a href=\"https:\/\/blog.vived.io\/keep-up-czyli-o-tym-jak-byc-na-biezaco-bez-uczucia-przytloczenia-contentem\/\">Waszym Vivedowym Keep Upie<\/a> (je\u015bli takowego macie) warto rzuci\u0107 sobie okiem na detale jednego z najciekawszych og\u0142osze\u0144 AWSa ostatnich miesi\u0119cy.<\/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_610d0aadbbb41.png\" alt=\"\" \/><\/figure>\n<p>Podczas zesz\u0142orocznego re:Invent, najwa\u017cniejszej konferencji Amazona, og\u0142oszono \u017ce S3, jedna z ich najpopularniejszych chmurowych us\u0142ug, uzyska\u0142a wreszcie \u201csiln\u0105 sp\u00f3jno\u015b\u0107\u201d. Termin ten jest z pewno\u015bci\u0105 znany wszystkim, kt\u00f3rzy lizn\u0119li systemy rozproszone i zahaczyli o tak zwany CAP Theorem (a je\u015bli czujecie, \u017ce macie w temacie braki &#8211; <a href=\"https:\/\/mwhittaker.github.io\/blog\/an_illustrated_proof_of_the_cap_theorem\/\">ten tekst powinien Wam pom\u00f3c<\/a>). Sp\u00f3jno\u015b\u0107 jednak ma to do siebie, \u017ce o ile z punktu widzenia u\u017cytkownika jest raczej prosta (&#8222;je\u015bli najpierw zrobi\u0119 zapis, a nast\u0119pnie odczyt, to nigdy nie dostan\u0119 w pyszczek 404 Not Found&#8221;), to tak naprawd\u0119 cz\u0119sto opiera si\u0119 na r\u00f3\u017cnego rodzaju trikach. Od samego pocz\u0105tku <a href=\"https:\/\/news.ycombinator.com\/item?id=25271791\">trwa\u0142y dyskusje<\/a> co tak naprawd\u0119 AWSowi uda\u0142o si\u0119 osi\u0105gn\u0105\u0107 i na jakie kompromisy musieli p\u00f3j\u015b\u0107. Teraz nareszcie mamy okazj\u0119 lepiej zrozumie\u0107 jak nowe gwarancje dzia\u0142aj\u0105 \u201cpod mask\u0105\u201d.<\/p>\n<p>Okazuje si\u0119, \u017ce metoda u\u017cyta przez AWS zosta\u0142 zaczerpni\u0119ty z\u2026 architektury procesora. Ot\u00f3\u017c CPU <a href=\"https:\/\/www.extremetech.com\/extreme\/188776-how-l1-and-l2-cpu-caches-work-and-why-theyre-an-essential-part-of-modern-chips\">posiadaj\u0105 kilka poziom\u00f3w cache<\/a>, a ich synchronizacja jest kluczowa ze wzgl\u0119du na wydajno\u015b\u0107. Dost\u0119pno\u015b\u0107 danych jest zapewniana dzi\u0119ki odpowiedniemu protoko\u0142owi komunikacyjnemu, bior\u0105cego pod uwag\u0119 pod uwag\u0119 rozjazdy mi\u0119dzy poszczeg\u00f3lnymi warstwami. Bardzo podobnie zachowa\u0142 si\u0119 AWS &#8211; wprowadzi\u0142 nowy komponent do podsystemu metadanych S3, kt\u00f3ry sprawdza, czy widok metadanych obiektu w pami\u0119ci podr\u0119cznej nie jest mo\u017ce nieaktualny. Ten komponent dzia\u0142a jako swoisty &#8222;\u015bwiadek&#8221; zapis\u00f3w, powiadamiany o ka\u017cdej zmianie obiektu. Nast\u0119pnie traktowany jest jako bariera odczytu, i ka\u017cdorazowo kieruje zapytanie albo do cache, albo do \u201ctranzakcyjnej\u201d cz\u0119\u015bci systemu. Mamy wi\u0119c do czynienia z tak zwan\u0105 \u201cSp\u00f3jno\u015bci\u0105 przyczynow\u0105\u201d (<a href=\"https:\/\/en.wikipedia.org\/wiki\/Causal_consistency\">Causal Consistency<\/a>)<\/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_610d0aaf91e66.png\" alt=\"\" \/><\/figure>\n<p>Co prawda <a href=\"https:\/\/www.allthingsdistributed.com\/2021\/04\/s3-strong-consistency.html\">artyku\u0142owi<\/a> brakuje troch\u0119 precyzyjno\u015bci Whitepapera (i og\u00f3lnie jest napisany nieco w tonie \u201cjacy my to nie jeste\u015bmy super\u201d), to i tak my\u015bl\u0119 \u017ce informacje w nim zawarte b\u0119d\u0105 wystarczaj\u0105ce dla wszystkich poza najwi\u0119kszymi pasjonatami system\u00f3w rozproszonych. Bior\u0105c pod uwag\u0119 jak cz\u0119sto spotykam si\u0119 ostatnio z opini\u0105, \u017ce w zasadzie wi\u0119kszo\u015b\u0107 nowoczesnych baz danych (zw\u0142aszcza analitycznych) to cache nad S3, na pewno niejeden Data Lake wreszcie m\u00f3g\u0142 pozby\u0107 si\u0119 niekt\u00f3rych \u201chaczur\u00f3w\u201d. Za to w\u0142a\u015bnie lubimy chmur\u0119 &#8211; zcentralizowane rozwi\u0105zywanie trudnych in\u017cynierskich problem\u00f3w ma zalety.<\/p>\n<p>Dla dziennikarskiej sprawiedliwo\u015bci &#8211; <a href=\"https:\/\/cloud.google.com\/blog\/products\/gcp\/how-google-cloud-storage-offers-strongly-consistent-object-listing-thanks-to-spanner\">Google posiada swoj\u0105 wersj\u0119 \u201csilnej sp\u00f3jno\u015bci\u201d w odpowiedniku S3 od rok 2018<\/a>, a u\u017cywaj\u0105 do tego rozwi\u0105zania <a href=\"https:\/\/research.google\/pubs\/pub45855\/\">Cloud Spanner<\/a>, bazuj\u0105cego na klasycznym ju\u017c <a href=\"http:\/\/static.googleusercontent.com\/media\/research.google.com\/en\/\/archive\/spanner-osdi2012.pdf\">Spannerze<\/a> &#8211; ichniejszej &#8222;globalnej&#8221; bazie danych.<\/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\/1_image-3.png\" sizes=\"auto, (min-width: 720px) 720px\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/2_image-3.png 600w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/3_image-3.png 1000w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/4_image-3.png 1600w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/1_image-3.png 2226w\" alt=\"\" width=\"2000\" height=\"916\" \/><figcaption>BTW: Dzi\u0119ki temu artyku\u0142owi dotar\u0142o do mnie, \u017ce autor <a href=\"https:\/\/www.allthingsdistributed.com\/\">AllThingsDistributed.com<\/a> to CTO AWSa<\/figcaption><\/figure>\n<p><strong>\u0179r\u00f3d\u0142a:<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/www.allthingsdistributed.com\/2021\/04\/s3-strong-consistency.html\">Diving Deep on S3 Consistency<\/a><\/li>\n<li><a href=\"https:\/\/www.extremetech.com\/extreme\/188776-how-l1-and-l2-cpu-caches-work-and-why-theyre-an-essential-part-of-modern-chips\">How L1 and L2 CPU Caches Work, and Why They\u2019re an Essential Part of Modern Chips<\/a><\/li>\n<li><a href=\"https:\/\/en.wikipedia.org\/wiki\/Causal_consistency\">Causal consistency<\/a><\/li>\n<li><a href=\"https:\/\/cloud.google.com\/blog\/products\/gcp\/how-google-cloud-storage-offers-strongly-consistent-object-listing-thanks-to-spanner\">How Google Cloud Storage offers strongly consistent object listing thanks to Spanner<\/a><\/li>\n<li><a href=\"http:\/\/static.googleusercontent.com\/media\/research.google.com\/en\/\/archive\/spanner-osdi2012.pdf\">Spanner: Google\u2019s Globally-Distributed Database<\/a><\/li>\n<li><a href=\"https:\/\/research.google\/pubs\/pub45855\/\">Spanner, TrueTime and the CAP Theorem<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Witajcie w Mi\u0119dzynarodowy Dzie\u0144 Solidarno\u015bci Ludzi Pracy. My nie robimy sobie wolnego i mamy dla Was informacje o nowym zaanga\u017cowaniu FAANGu w Rusta i WebAssembly, smutne wie\u015bci dotycz\u0105ce Crypto oraz troch\u0119 detali na temat implementacji silnej sp\u00f3jno\u015bci AWS S3.<\/p>\n<p>Zapraszamy do lektury!<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[266],"tags":[],"class_list":["post-10143","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. 35 - 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-saturday-vol-35\/\" \/>\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. 35 - Vived\" \/>\n<meta property=\"og:description\" content=\"Witajcie w Mi\u0119dzynarodowy Dzie\u0144 Solidarno\u015bci Ludzi Pracy. My nie robimy sobie wolnego i mamy dla Was informacje o nowym zaanga\u017cowaniu FAANGu w Rusta i WebAssembly, smutne wie\u015bci dotycz\u0105ce Crypto oraz troch\u0119 detali na temat implementacji silnej sp\u00f3jno\u015bci AWS S3. Zapraszamy do lektury!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-35\/\" \/>\n<meta property=\"og:site_name\" content=\"Vived\" \/>\n<meta property=\"article:published_time\" content=\"2021-05-01T08:57:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-09-19T11:20:13+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/1_image-5.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-saturday-vol-35\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-35\/\"},\"author\":{\"name\":\"Artur Skowro\u0144ski\",\"@id\":\"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3\"},\"headline\":\"Software Craftsmanship Saturday vol. 35\",\"datePublished\":\"2021-05-01T08:57:35+00:00\",\"dateModified\":\"2022-09-19T11:20:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-35\/\"},\"wordCount\":1459,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/vived.io\/pl\/#organization\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-35\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/1_image-5.png\",\"articleSection\":[\"Craftsmanship\"],\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-35\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-35\/\",\"url\":\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-35\/\",\"name\":\"Software Craftsmanship Saturday vol. 35 - Vived\",\"isPartOf\":{\"@id\":\"https:\/\/vived.io\/pl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-35\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-35\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/1_image-5.png\",\"datePublished\":\"2021-05-01T08:57:35+00:00\",\"dateModified\":\"2022-09-19T11:20:13+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-35\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-35\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-35\/#primaryimage\",\"url\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/1_image-5.png\",\"contentUrl\":\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/1_image-5.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-35\/#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. 35\"}]},{\"@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. 35 - 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-saturday-vol-35\/","og_locale":"pl_PL","og_type":"article","og_title":"Software Craftsmanship Saturday vol. 35 - Vived","og_description":"Witajcie w Mi\u0119dzynarodowy Dzie\u0144 Solidarno\u015bci Ludzi Pracy. My nie robimy sobie wolnego i mamy dla Was informacje o nowym zaanga\u017cowaniu FAANGu w Rusta i WebAssembly, smutne wie\u015bci dotycz\u0105ce Crypto oraz troch\u0119 detali na temat implementacji silnej sp\u00f3jno\u015bci AWS S3. Zapraszamy do lektury!","og_url":"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-35\/","og_site_name":"Vived","article_published_time":"2021-05-01T08:57:35+00:00","article_modified_time":"2022-09-19T11:20:13+00:00","og_image":[{"url":"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/1_image-5.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-saturday-vol-35\/#article","isPartOf":{"@id":"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-35\/"},"author":{"name":"Artur Skowro\u0144ski","@id":"https:\/\/vived.io\/pl\/#\/schema\/person\/0eb0878110cb27edfbfe46e841fe6db3"},"headline":"Software Craftsmanship Saturday vol. 35","datePublished":"2021-05-01T08:57:35+00:00","dateModified":"2022-09-19T11:20:13+00:00","mainEntityOfPage":{"@id":"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-35\/"},"wordCount":1459,"commentCount":0,"publisher":{"@id":"https:\/\/vived.io\/pl\/#organization"},"image":{"@id":"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-35\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/1_image-5.png","articleSection":["Craftsmanship"],"inLanguage":"pl-PL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-35\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-35\/","url":"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-35\/","name":"Software Craftsmanship Saturday vol. 35 - Vived","isPartOf":{"@id":"https:\/\/vived.io\/pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-35\/#primaryimage"},"image":{"@id":"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-35\/#primaryimage"},"thumbnailUrl":"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/1_image-5.png","datePublished":"2021-05-01T08:57:35+00:00","dateModified":"2022-09-19T11:20:13+00:00","breadcrumb":{"@id":"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-35\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-35\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-35\/#primaryimage","url":"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/1_image-5.png","contentUrl":"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/1_image-5.png"},{"@type":"BreadcrumbList","@id":"https:\/\/vived.io\/pl\/software-craftsmanship-saturday-vol-35\/#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. 35"}]},{"@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-wsparcie-j%C4%99zyk%C3%B3w-przez-thebigtech-trwarust-webassembly-edition-%F0%9F%A4%91\">1. Wsparcie j\u0119zyk\u00f3w przez TheBigTech trwa - Rust &amp; WebAssembly Edition<\/h2>\nDzisiejsz\u0105 edycje zaczynamy od interesuj\u0105cych og\u0142osze\u0144 zwi\u0105zanych z zaanga\u017cowaniem du\u017cych graczy w rozw\u00f3j j\u0119zyk\u00f3w - ostatnio mamy wysyp tego typu wiadomo\u015bci, ciekawe czy jest w tym element jakiej\u015b wi\u0119kszej strategii, FOMO panuj\u0105ce w\u015br\u00f3d TheBigTech czy te\u017c mo\u017ce zwyk\u0142y przypadek?\n<figure class=\"kg-card kg-image-card\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/1_image-5.png\" sizes=\"(min-width: 720px) 720px\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/2_image-5.png 600w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/3_image-5.png 1000w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/4_image-5.png 1600w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/1_image-5.png 1656w\" alt=\"\" width=\"1656\" height=\"354\" \/><\/figure>\nZacznijmy od Rusta. Od kiedy nasz ulubiony j\u0119zyk 10x Developer\u00f3w (przepraszam je\u015bli macie mnie za zdart\u0105 p\u0142yt\u0119, ale ten \u017cart nigdy nie przestanie mnie \u015bmieszy\u0107) trafi\u0142 pod skrzyd\u0142a fundacji, coraz wi\u0119cej istotnych graczy postanowi\u0142o zaopiekowa\u0107 si\u0119 jego rozwojem. Do zacnego grona min. Google, Amazona i Microsoftu <a href=\"https:\/\/developers.facebook.com\/blog\/post\/2021\/04\/29\/facebook-joins-rust-foundation\/\">do\u0142\u0105czy\u0142 w zesz\u0142ym tygodniu Facebook<\/a>. Jako \u201cwiano\u201d, opr\u00f3cz beczki dolar\u00f3w, wnosi opowie\u015b\u0107 o tym <a href=\"https:\/\/engineering.fb.com\/2021\/04\/29\/developer-tools\/rust\/\">jak wygl\u0105da\u0142a adopcja rdzawego j\u0119zyka w ich organizacji<\/a>, co na pewno o\u015bmieli niejedn\u0105 firm\u0119 do zaryzykowania z tym dalej do\u015b\u0107 \u015bwie\u017cym ekosystemem.\n\nTo jednak nie koniec tego typu og\u0142osze\u0144. R\u00f3wnie\u017c w zesz\u0142ym tygodniu, <a href=\"https:\/\/www.theregister.com\/2021\/04\/28\/microsoft_bytecode_alliance\/\">Microsoft<\/a> oraz <a href=\"https:\/\/blog.mozilla.org\/blog\/2021\/04\/28\/growing-the-bytecode-alliance\/\">Mozilla<\/a> zdecydowa\u0142y si\u0119 do\u0142\u0105czy\u0107 do Bytecode Alliance, fundacji kt\u00f3rej celem jest rozw\u00f3j i promocja WebAssembly. Jest to naprawd\u0119 wa\u017cny sygna\u0142 i pot\u0119\u017cne wsparcie dla standardu, kt\u00f3ry od lat stara si\u0119 wykroi\u0107 dla siebie sensown\u0105 nisz\u0119. Do tej pory bowiem, ze wszystkich du\u017cych tw\u00f3rc\u00f3w przegl\u0105darek tylko Google wspiera\u0142o Bytecode Alliance. Teraz sytuacja zmieni\u0142a si\u0119 diametralnie - wy\u0142\u0105cznie Apple ze swoim WebKitem nie do\u0142\u0105czy\u0142o jeszcze do wspomnianego \u201cprzymierza\u201d. Mo\u017ce powinni\u015bmy wkr\u00f3tce oczekiwa\u0107 podobnego og\u0142oszenia z ich strony, ale co ja si\u0119 \u0142udz\u0119 - nie bez kozery nazywa si\u0119 <a href=\"https:\/\/www.safari-is-the-new-ie.com\/\">Safari nowym Internet Explorerem<\/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\/img_610d0aaa83c31.png\" alt=\"\" \/>\n<figcaption>Tutaj pewnie dla uczciwo\u015bci warto by by\u0142o wrzuci\u0107 jaki\u015b mem o Safari, ale co poradz\u0119 - te o Internet Explorerze s\u0105 niezast\u0105pione<\/figcaption><\/figure>\nA jak ju\u017c wspomnieli\u015bmy Microsoft, lekko powi\u0105zana \u201cwrzutka\u201d - ot\u00f3\u017c <a href=\"https:\/\/kinvolk.io\/blog\/2021\/04\/microsoft-acquires-kinvolk\/\">przej\u0119li oni Kinvolk<\/a>, firm\u0119 za\u0142o\u017con\u0105 przez dawnych in\u017cynier\u00f3w pracuj\u0105cych nad CoreOS (kt\u00f3ry zosta\u0142 <a href=\"https:\/\/www.openshift.com\/learn\/topics\/coreos\">do\u015b\u0107 brutalnie potraktowany przez RedHata w zesz\u0142ym roku<\/a>). Ich flagowym produktem jest Flatcar Container Linux, zdobywaj\u0105ca du\u017c\u0105 popularno\u015b\u0107 w\u015br\u00f3d dostawc\u00f3w chmurowych alternatywa do ich wcze\u015bniejszego dzie\u0142a. Wida\u0107 jak na d\u0142oni jak istotna dla firmy z Redmond jest kontrola nad kluczowymi aspektami infrastruktury, mimo \u017ce zapowiadaj\u0105 oni i\u017c nie nale\u017cy spodziewa\u0107 si\u0119 zmian w sposobie licencjonowania Flatcara.\n\n<strong>\u0179r\u00f3d\u0142a:<\/strong>\n<ul>\n \t<li><a href=\" https:\/\/developers.facebook.com\/blog\/post\/2021\/04\/29\/facebook-joins-rust-foundation\/\">Facebook Joins the Rust Foundation<\/a><\/li>\n \t<li><a href=\"https:\/\/engineering.fb.com\/2021\/04\/29\/developer-tools\/rust\/\">A brief history of Rust at Facebook<\/a><\/li>\n \t<li><a href=\"https:\/\/www.theregister.com\/2021\/04\/28\/microsoft_bytecode_alliance\/\">Microsoft joins Bytecode Alliance to advance WebAssembly<\/a><\/li>\n \t<li><a href=\"https:\/\/blog.mozilla.org\/blog\/2021\/04\/28\/growing-the-bytecode-alliance\/\">Growing the Bytecode Alliance<\/a><\/li>\n \t<li><a href=\"https:\/\/kinvolk.io\/blog\/2021\/04\/microsoft-acquires-kinvolk\/\">Microsoft acquires Kinvolk<\/a><\/li>\n \t<li><a href=\"https:\/\/www.openshift.com\/learn\/topics\/coreos\">What was CoreOS and CoreOS Container Linux?<\/a><\/li>\n<\/ul>\n<h2 id=\"2-kryptowaluty-zabijaj%C4%85-darmowe-narz%C4%99dzia-dla-deweloper%C3%B3w-%F0%9F%98%A5\">2. <a href=\"https:\/\/layerci.com\/blog\/crypto-miners-are-killing-free-ci\/\">Kryptowaluty zabijaj\u0105 darmowe narz\u0119dzia dla deweloper\u00f3w<\/a><\/h2>\n<figure class=\"kg-card kg-image-card\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d0aab3cdeb.png\" alt=\"\" \/><\/figure>\nJak tam, macie ju\u017c now\u0105 kart\u0119 grafiki? Nie? To nie b\u0119dziecie mie\u0107 te\u017c darmowego CI. Kryptowaluty staj\u0105 si\u0119 jednym z najbardziej znienawidzonych temat\u00f3w bran\u017cy technologicznej.\n\nPrzez lata jako programi\u015bci byli\u015bmy dosy\u0107 \u201crozpieszczani\" przez ekosystem. Masa narz\u0119dzi mia\u0142a ca\u0142kiem rozs\u0105dne <a href=\"https:\/\/free-for.dev\/\">darmowe wersje<\/a>, pozwalaj\u0105ce hobbystom na eksperymentowanie - sam hostowa\u0142em swego czasu swoje ma\u0142e projekciki na Heroku (autowybudzanie instancji zawsze w moim sercu \u2764\ufe0f), a AWS Lambda stanowi\u0142a swego czasu podwaliny pod m\u00f3j bieda-smartdom.\n\nSytuacja zmienia si\u0119 diametralnie. Praktycznie wszystkie podmioty udost\u0119pniaj\u0105ce cokolwiek darmowego aktualnie atakowane s\u0105 przez nadu\u017cycia ze strony kopaczy kryptowalut. Okazuje si\u0119, \u017ce tworzenie automat\u00f3w zak\u0142adaj\u0105cych darmowe konta w ilo\u015bciach masowych jest niezwykle op\u0142acalne z powodu ci\u0105gle rosn\u0105cych (mimo ostatnich fluktuacji trend jest do\u015b\u0107 widoczny) cen kryptowalut opartych o tak zwane Proof-of-Work - \u201cpaleniu\u201d mocy obliczeniowej. <a href=\"https:\/\/layerci.com\/blog\/crypto-miners-are-killing-free-ci\/\">LayerCI na swoim blogu opisuje<\/a> jak tego typu atak wygl\u0105da, i dlaczego bardzo trudno jest z\u0142apa\u0107 kogo\u015b za r\u0119k\u0119. St\u0105d te\u017c mo\u017cna ostatnimi czasy zauwa\u017cy\u0107 nerwowe ruchy takich graczy jak cho\u0107by GitLab, kt\u00f3ry<a href=\"https:\/\/about.gitlab.com\/blog\/2020\/09\/01\/ci-minutes-update-free-users\/\"> ju\u017c w zesz\u0142ym roku musia\u0142 ograniczy\u0107 ich bardzo przyjemne w u\u017cyciu zintegrowane CI<\/a>.\n\nNajsmutniejsze w tym wszystkim jest to, \u017ce (ze wzgl\u0119du na zdecentralizowany charakter) nic z tym fantem nie da si\u0119 za bardzo zrobi\u0107 - poza blokad\u0105 protoko\u0142u przez pa\u0144stwa na poziomie infrastruktury. Sugerowanie porzucenia przez kryptowaluty algorytm\u00f3w Proof-of-Work wydaje si\u0119 by\u0107 wr\u0119cz niemo\u017cliwe do realizacji - na miejsce ka\u017cdego Ethereum - przechodz\u0105cego na nie marnuj\u0105ce mocy obliczeniowej Proof-of-Stake - szybko wejdzie jaka\u015b alternatywa PoW. Na m\u00f3j brak optymizmu wskazuje te\u017c fakt, <a href=\"https:\/\/www.bloomberg.com\/opinion\/articles\/2021-04-14\/nvidia-risks-a-reckoning-as-crypto-miners-deprive-gamers-of-graphics-cards\">\u017ce wszystkie zakusy producent\u00f3w kart graficznych w celu ukr\u00f3cenia procederu spalaj\u0105 na panewce<\/a>. Chyba po prostu nie zas\u0142u\u017cyli\u015bmy sobie na takie fajne rzeczy jak darmowy CI.\n\nhttps:\/\/www.youtube.com\/watch?v=m5H-YlcMSbc\n\nMoje jedyne ostatnio pozytywne do\u015bwiadczenie z kryptowalutami (poza ci\u0105gle rosn\u0105c\u0105 warto\u015bci\u0105 mojego kupionego jakie\u015b cztery lata temu po kursie 500$ Etheru ) to odkrycie Grimes. Bohaterki naszego wpisu o NFT, kt\u00f3ra w\u0142a\u015bnie przygrywa mi podczas pisania tego artyku\u0142u. Og\u00f3lnie NFT to temat do kt\u00f3rego warto by by\u0142o nied\u0142ugo wr\u00f3ci\u0107 i opisa\u0107 Wam, co ostatecznie z tego ca\u0142ego sza\u0142u wysz\u0142o.<span class=\"-mobiledoc-kit__atom\">\u200c\u200c<\/span>\n\n<strong>\u0179r\u00f3d\u0142a:<\/strong>\n<ul>\n \t<li><a href=\"https:\/\/free-for.dev\/\">Free for developers<\/a><\/li>\n \t<li><a href=\"https:\/\/layerci.com\/blog\/crypto-miners-are-killing-free-ci\/\">Crypto miners are killing free CI<\/a><\/li>\n \t<li><a href=\"https:\/\/about.gitlab.com\/blog\/2020\/09\/01\/ci-minutes-update-free-users\/\">Upcoming changes to CI\/CD Minutes for free tier users on GitLab.com<\/a><\/li>\n \t<li><a href=\"https:\/\/www.bloomberg.com\/opinion\/articles\/2021-04-14\/nvidia-risks-a-reckoning-as-crypto-miners-deprive-gamers-of-graphics-cards\">Nvidia Risks a Reckoning by Catering to Crypto Miners<\/a><\/li>\n<\/ul>\n<h2 id=\"3-silna-sp%C3%B3jno%C5%9B%C4%87-aws-s3jak-to-naprawd%C4%99-dzia%C5%82a-%F0%9F%94%AC\">3. <a href=\"https:\/\/www.allthingsdistributed.com\/2021\/04\/s3-strong-consistency.html\">Silna Sp\u00f3jno\u015b\u0107 AWS S3 - jak to naprawd\u0119 dzia\u0142a<\/a><\/h2>\nA na koniec, po tematach spo\u0142eczno\u015bciowo-spo\u0142ecznych, chcia\u0142bym zostawi\u0107 czytaj\u0105cych nas in\u017cynier\u00f3w z odrobin\u0105 \u201cmi\u0119ska\u201d. Bior\u0105c pod uwag\u0119 zbli\u017caj\u0105cy si\u0119 d\u0142ugi weekend, my\u015bl\u0119 \u017ce poza nadrobieniem zaleg\u0142o\u015bci w <a href=\"https:\/\/blog.vived.io\/keep-up-czyli-o-tym-jak-byc-na-biezaco-bez-uczucia-przytloczenia-contentem\/\">Waszym Vivedowym Keep Upie<\/a> (je\u015bli takowego macie) warto rzuci\u0107 sobie okiem na detale jednego z najciekawszych og\u0142osze\u0144 AWSa ostatnich miesi\u0119cy.\n<figure class=\"kg-card kg-image-card\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d0aadbbb41.png\" alt=\"\" \/><\/figure>\nPodczas zesz\u0142orocznego re:Invent, najwa\u017cniejszej konferencji Amazona, og\u0142oszono \u017ce S3, jedna z ich najpopularniejszych chmurowych us\u0142ug, uzyska\u0142a wreszcie \u201csiln\u0105 sp\u00f3jno\u015b\u0107\u201d. Termin ten jest z pewno\u015bci\u0105 znany wszystkim, kt\u00f3rzy lizn\u0119li systemy rozproszone i zahaczyli o tak zwany CAP Theorem (a je\u015bli czujecie, \u017ce macie w temacie braki - <a href=\"https:\/\/mwhittaker.github.io\/blog\/an_illustrated_proof_of_the_cap_theorem\/\">ten tekst powinien Wam pom\u00f3c<\/a>). Sp\u00f3jno\u015b\u0107 jednak ma to do siebie, \u017ce o ile z punktu widzenia u\u017cytkownika jest raczej prosta (\"je\u015bli najpierw zrobi\u0119 zapis, a nast\u0119pnie odczyt, to nigdy nie dostan\u0119 w pyszczek 404 Not Found\"), to tak naprawd\u0119 cz\u0119sto opiera si\u0119 na r\u00f3\u017cnego rodzaju trikach. Od samego pocz\u0105tku <a href=\"https:\/\/news.ycombinator.com\/item?id=25271791\">trwa\u0142y dyskusje<\/a> co tak naprawd\u0119 AWSowi uda\u0142o si\u0119 osi\u0105gn\u0105\u0107 i na jakie kompromisy musieli p\u00f3j\u015b\u0107. Teraz nareszcie mamy okazj\u0119 lepiej zrozumie\u0107 jak nowe gwarancje dzia\u0142aj\u0105 \u201cpod mask\u0105\u201d.\n\nOkazuje si\u0119, \u017ce metoda u\u017cyta przez AWS zosta\u0142 zaczerpni\u0119ty z\u2026 architektury procesora. Ot\u00f3\u017c CPU <a href=\"https:\/\/www.extremetech.com\/extreme\/188776-how-l1-and-l2-cpu-caches-work-and-why-theyre-an-essential-part-of-modern-chips\">posiadaj\u0105 kilka poziom\u00f3w cache<\/a>, a ich synchronizacja jest kluczowa ze wzgl\u0119du na wydajno\u015b\u0107. Dost\u0119pno\u015b\u0107 danych jest zapewniana dzi\u0119ki odpowiedniemu protoko\u0142owi komunikacyjnemu, bior\u0105cego pod uwag\u0119 pod uwag\u0119 rozjazdy mi\u0119dzy poszczeg\u00f3lnymi warstwami. Bardzo podobnie zachowa\u0142 si\u0119 AWS - wprowadzi\u0142 nowy komponent do podsystemu metadanych S3, kt\u00f3ry sprawdza, czy widok metadanych obiektu w pami\u0119ci podr\u0119cznej nie jest mo\u017ce nieaktualny. Ten komponent dzia\u0142a jako swoisty \"\u015bwiadek\" zapis\u00f3w, powiadamiany o ka\u017cdej zmianie obiektu. Nast\u0119pnie traktowany jest jako bariera odczytu, i ka\u017cdorazowo kieruje zapytanie albo do cache, albo do \u201ctranzakcyjnej\u201d cz\u0119\u015bci systemu. Mamy wi\u0119c do czynienia z tak zwan\u0105 \u201cSp\u00f3jno\u015bci\u0105 przyczynow\u0105\u201d (<a href=\"https:\/\/en.wikipedia.org\/wiki\/Causal_consistency\">Causal Consistency<\/a>)\n<figure class=\"kg-card kg-image-card\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d0aaf91e66.png\" alt=\"\" \/><\/figure>\nCo prawda <a href=\"https:\/\/www.allthingsdistributed.com\/2021\/04\/s3-strong-consistency.html\">artyku\u0142owi<\/a> brakuje troch\u0119 precyzyjno\u015bci Whitepapera (i og\u00f3lnie jest napisany nieco w tonie \u201cjacy my to nie jeste\u015bmy super\u201d), to i tak my\u015bl\u0119 \u017ce informacje w nim zawarte b\u0119d\u0105 wystarczaj\u0105ce dla wszystkich poza najwi\u0119kszymi pasjonatami system\u00f3w rozproszonych. Bior\u0105c pod uwag\u0119 jak cz\u0119sto spotykam si\u0119 ostatnio z opini\u0105, \u017ce w zasadzie wi\u0119kszo\u015b\u0107 nowoczesnych baz danych (zw\u0142aszcza analitycznych) to cache nad S3, na pewno niejeden Data Lake wreszcie m\u00f3g\u0142 pozby\u0107 si\u0119 niekt\u00f3rych \u201chaczur\u00f3w\u201d. Za to w\u0142a\u015bnie lubimy chmur\u0119 - zcentralizowane rozwi\u0105zywanie trudnych in\u017cynierskich problem\u00f3w ma zalety.\n\nDla dziennikarskiej sprawiedliwo\u015bci - <a href=\"https:\/\/cloud.google.com\/blog\/products\/gcp\/how-google-cloud-storage-offers-strongly-consistent-object-listing-thanks-to-spanner\">Google posiada swoj\u0105 wersj\u0119 \u201csilnej sp\u00f3jno\u015bci\u201d w odpowiedniku S3 od rok 2018<\/a>, a u\u017cywaj\u0105 do tego rozwi\u0105zania <a href=\"https:\/\/research.google\/pubs\/pub45855\/\">Cloud Spanner<\/a>, bazuj\u0105cego na klasycznym ju\u017c <a href=\"http:\/\/static.googleusercontent.com\/media\/research.google.com\/en\/\/archive\/spanner-osdi2012.pdf\">Spannerze<\/a> - ichniejszej \"globalnej\" bazie danych.\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/1_image-3.png\" sizes=\"(min-width: 720px) 720px\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/2_image-3.png 600w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/3_image-3.png 1000w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/4_image-3.png 1600w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/1_image-3.png 2226w\" alt=\"\" width=\"2000\" height=\"916\" \/>\n\n<figcaption>BTW: Dzi\u0119ki temu artyku\u0142owi dotar\u0142o do mnie, \u017ce autor <a href=\"https:\/\/www.allthingsdistributed.com\/\">AllThingsDistributed.com<\/a> to CTO AWSa<\/figcaption><\/figure>\n<strong>\u0179r\u00f3d\u0142a:<\/strong>\n<ul>\n \t<li><a href=\"https:\/\/www.allthingsdistributed.com\/2021\/04\/s3-strong-consistency.html\">Diving Deep on S3 Consistency<\/a><\/li>\n \t<li><a href=\"https:\/\/www.extremetech.com\/extreme\/188776-how-l1-and-l2-cpu-caches-work-and-why-theyre-an-essential-part-of-modern-chips\">How L1 and L2 CPU Caches Work, and Why They\u2019re an Essential Part of Modern Chips<\/a><\/li>\n \t<li><a href=\"https:\/\/en.wikipedia.org\/wiki\/Causal_consistency\">Causal consistency<\/a><\/li>\n \t<li><a href=\"https:\/\/cloud.google.com\/blog\/products\/gcp\/how-google-cloud-storage-offers-strongly-consistent-object-listing-thanks-to-spanner\">How Google Cloud Storage offers strongly consistent object listing thanks to Spanner<\/a><\/li>\n \t<li><a href=\"http:\/\/static.googleusercontent.com\/media\/research.google.com\/en\/\/archive\/spanner-osdi2012.pdf\">Spanner: Google\u2019s Globally-Distributed Database<\/a><\/li>\n \t<li><a href=\"https:\/\/research.google\/pubs\/pub45855\/\">Spanner, TrueTime and the CAP Theorem<\/a><\/li>\n<\/ul>","innerContent":["<h2 id=\"1-wsparcie-j%C4%99zyk%C3%B3w-przez-thebigtech-trwarust-webassembly-edition-%F0%9F%A4%91\">1. Wsparcie j\u0119zyk\u00f3w przez TheBigTech trwa - Rust &amp; WebAssembly Edition<\/h2>\nDzisiejsz\u0105 edycje zaczynamy od interesuj\u0105cych og\u0142osze\u0144 zwi\u0105zanych z zaanga\u017cowaniem du\u017cych graczy w rozw\u00f3j j\u0119zyk\u00f3w - ostatnio mamy wysyp tego typu wiadomo\u015bci, ciekawe czy jest w tym element jakiej\u015b wi\u0119kszej strategii, FOMO panuj\u0105ce w\u015br\u00f3d TheBigTech czy te\u017c mo\u017ce zwyk\u0142y przypadek?\n<figure class=\"kg-card kg-image-card\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/1_image-5.png\" sizes=\"(min-width: 720px) 720px\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/2_image-5.png 600w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/3_image-5.png 1000w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/4_image-5.png 1600w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/1_image-5.png 1656w\" alt=\"\" width=\"1656\" height=\"354\" \/><\/figure>\nZacznijmy od Rusta. Od kiedy nasz ulubiony j\u0119zyk 10x Developer\u00f3w (przepraszam je\u015bli macie mnie za zdart\u0105 p\u0142yt\u0119, ale ten \u017cart nigdy nie przestanie mnie \u015bmieszy\u0107) trafi\u0142 pod skrzyd\u0142a fundacji, coraz wi\u0119cej istotnych graczy postanowi\u0142o zaopiekowa\u0107 si\u0119 jego rozwojem. Do zacnego grona min. Google, Amazona i Microsoftu <a href=\"https:\/\/developers.facebook.com\/blog\/post\/2021\/04\/29\/facebook-joins-rust-foundation\/\">do\u0142\u0105czy\u0142 w zesz\u0142ym tygodniu Facebook<\/a>. Jako \u201cwiano\u201d, opr\u00f3cz beczki dolar\u00f3w, wnosi opowie\u015b\u0107 o tym <a href=\"https:\/\/engineering.fb.com\/2021\/04\/29\/developer-tools\/rust\/\">jak wygl\u0105da\u0142a adopcja rdzawego j\u0119zyka w ich organizacji<\/a>, co na pewno o\u015bmieli niejedn\u0105 firm\u0119 do zaryzykowania z tym dalej do\u015b\u0107 \u015bwie\u017cym ekosystemem.\n\nTo jednak nie koniec tego typu og\u0142osze\u0144. R\u00f3wnie\u017c w zesz\u0142ym tygodniu, <a href=\"https:\/\/www.theregister.com\/2021\/04\/28\/microsoft_bytecode_alliance\/\">Microsoft<\/a> oraz <a href=\"https:\/\/blog.mozilla.org\/blog\/2021\/04\/28\/growing-the-bytecode-alliance\/\">Mozilla<\/a> zdecydowa\u0142y si\u0119 do\u0142\u0105czy\u0107 do Bytecode Alliance, fundacji kt\u00f3rej celem jest rozw\u00f3j i promocja WebAssembly. Jest to naprawd\u0119 wa\u017cny sygna\u0142 i pot\u0119\u017cne wsparcie dla standardu, kt\u00f3ry od lat stara si\u0119 wykroi\u0107 dla siebie sensown\u0105 nisz\u0119. Do tej pory bowiem, ze wszystkich du\u017cych tw\u00f3rc\u00f3w przegl\u0105darek tylko Google wspiera\u0142o Bytecode Alliance. Teraz sytuacja zmieni\u0142a si\u0119 diametralnie - wy\u0142\u0105cznie Apple ze swoim WebKitem nie do\u0142\u0105czy\u0142o jeszcze do wspomnianego \u201cprzymierza\u201d. Mo\u017ce powinni\u015bmy wkr\u00f3tce oczekiwa\u0107 podobnego og\u0142oszenia z ich strony, ale co ja si\u0119 \u0142udz\u0119 - nie bez kozery nazywa si\u0119 <a href=\"https:\/\/www.safari-is-the-new-ie.com\/\">Safari nowym Internet Explorerem<\/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\/img_610d0aaa83c31.png\" alt=\"\" \/>\n<figcaption>Tutaj pewnie dla uczciwo\u015bci warto by by\u0142o wrzuci\u0107 jaki\u015b mem o Safari, ale co poradz\u0119 - te o Internet Explorerze s\u0105 niezast\u0105pione<\/figcaption><\/figure>\nA jak ju\u017c wspomnieli\u015bmy Microsoft, lekko powi\u0105zana \u201cwrzutka\u201d - ot\u00f3\u017c <a href=\"https:\/\/kinvolk.io\/blog\/2021\/04\/microsoft-acquires-kinvolk\/\">przej\u0119li oni Kinvolk<\/a>, firm\u0119 za\u0142o\u017con\u0105 przez dawnych in\u017cynier\u00f3w pracuj\u0105cych nad CoreOS (kt\u00f3ry zosta\u0142 <a href=\"https:\/\/www.openshift.com\/learn\/topics\/coreos\">do\u015b\u0107 brutalnie potraktowany przez RedHata w zesz\u0142ym roku<\/a>). Ich flagowym produktem jest Flatcar Container Linux, zdobywaj\u0105ca du\u017c\u0105 popularno\u015b\u0107 w\u015br\u00f3d dostawc\u00f3w chmurowych alternatywa do ich wcze\u015bniejszego dzie\u0142a. Wida\u0107 jak na d\u0142oni jak istotna dla firmy z Redmond jest kontrola nad kluczowymi aspektami infrastruktury, mimo \u017ce zapowiadaj\u0105 oni i\u017c nie nale\u017cy spodziewa\u0107 si\u0119 zmian w sposobie licencjonowania Flatcara.\n\n<strong>\u0179r\u00f3d\u0142a:<\/strong>\n<ul>\n \t<li><a href=\" https:\/\/developers.facebook.com\/blog\/post\/2021\/04\/29\/facebook-joins-rust-foundation\/\">Facebook Joins the Rust Foundation<\/a><\/li>\n \t<li><a href=\"https:\/\/engineering.fb.com\/2021\/04\/29\/developer-tools\/rust\/\">A brief history of Rust at Facebook<\/a><\/li>\n \t<li><a href=\"https:\/\/www.theregister.com\/2021\/04\/28\/microsoft_bytecode_alliance\/\">Microsoft joins Bytecode Alliance to advance WebAssembly<\/a><\/li>\n \t<li><a href=\"https:\/\/blog.mozilla.org\/blog\/2021\/04\/28\/growing-the-bytecode-alliance\/\">Growing the Bytecode Alliance<\/a><\/li>\n \t<li><a href=\"https:\/\/kinvolk.io\/blog\/2021\/04\/microsoft-acquires-kinvolk\/\">Microsoft acquires Kinvolk<\/a><\/li>\n \t<li><a href=\"https:\/\/www.openshift.com\/learn\/topics\/coreos\">What was CoreOS and CoreOS Container Linux?<\/a><\/li>\n<\/ul>\n<h2 id=\"2-kryptowaluty-zabijaj%C4%85-darmowe-narz%C4%99dzia-dla-deweloper%C3%B3w-%F0%9F%98%A5\">2. <a href=\"https:\/\/layerci.com\/blog\/crypto-miners-are-killing-free-ci\/\">Kryptowaluty zabijaj\u0105 darmowe narz\u0119dzia dla deweloper\u00f3w<\/a><\/h2>\n<figure class=\"kg-card kg-image-card\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d0aab3cdeb.png\" alt=\"\" \/><\/figure>\nJak tam, macie ju\u017c now\u0105 kart\u0119 grafiki? Nie? To nie b\u0119dziecie mie\u0107 te\u017c darmowego CI. Kryptowaluty staj\u0105 si\u0119 jednym z najbardziej znienawidzonych temat\u00f3w bran\u017cy technologicznej.\n\nPrzez lata jako programi\u015bci byli\u015bmy dosy\u0107 \u201crozpieszczani\" przez ekosystem. Masa narz\u0119dzi mia\u0142a ca\u0142kiem rozs\u0105dne <a href=\"https:\/\/free-for.dev\/\">darmowe wersje<\/a>, pozwalaj\u0105ce hobbystom na eksperymentowanie - sam hostowa\u0142em swego czasu swoje ma\u0142e projekciki na Heroku (autowybudzanie instancji zawsze w moim sercu \u2764\ufe0f), a AWS Lambda stanowi\u0142a swego czasu podwaliny pod m\u00f3j bieda-smartdom.\n\nSytuacja zmienia si\u0119 diametralnie. Praktycznie wszystkie podmioty udost\u0119pniaj\u0105ce cokolwiek darmowego aktualnie atakowane s\u0105 przez nadu\u017cycia ze strony kopaczy kryptowalut. Okazuje si\u0119, \u017ce tworzenie automat\u00f3w zak\u0142adaj\u0105cych darmowe konta w ilo\u015bciach masowych jest niezwykle op\u0142acalne z powodu ci\u0105gle rosn\u0105cych (mimo ostatnich fluktuacji trend jest do\u015b\u0107 widoczny) cen kryptowalut opartych o tak zwane Proof-of-Work - \u201cpaleniu\u201d mocy obliczeniowej. <a href=\"https:\/\/layerci.com\/blog\/crypto-miners-are-killing-free-ci\/\">LayerCI na swoim blogu opisuje<\/a> jak tego typu atak wygl\u0105da, i dlaczego bardzo trudno jest z\u0142apa\u0107 kogo\u015b za r\u0119k\u0119. St\u0105d te\u017c mo\u017cna ostatnimi czasy zauwa\u017cy\u0107 nerwowe ruchy takich graczy jak cho\u0107by GitLab, kt\u00f3ry<a href=\"https:\/\/about.gitlab.com\/blog\/2020\/09\/01\/ci-minutes-update-free-users\/\"> ju\u017c w zesz\u0142ym roku musia\u0142 ograniczy\u0107 ich bardzo przyjemne w u\u017cyciu zintegrowane CI<\/a>.\n\nNajsmutniejsze w tym wszystkim jest to, \u017ce (ze wzgl\u0119du na zdecentralizowany charakter) nic z tym fantem nie da si\u0119 za bardzo zrobi\u0107 - poza blokad\u0105 protoko\u0142u przez pa\u0144stwa na poziomie infrastruktury. Sugerowanie porzucenia przez kryptowaluty algorytm\u00f3w Proof-of-Work wydaje si\u0119 by\u0107 wr\u0119cz niemo\u017cliwe do realizacji - na miejsce ka\u017cdego Ethereum - przechodz\u0105cego na nie marnuj\u0105ce mocy obliczeniowej Proof-of-Stake - szybko wejdzie jaka\u015b alternatywa PoW. Na m\u00f3j brak optymizmu wskazuje te\u017c fakt, <a href=\"https:\/\/www.bloomberg.com\/opinion\/articles\/2021-04-14\/nvidia-risks-a-reckoning-as-crypto-miners-deprive-gamers-of-graphics-cards\">\u017ce wszystkie zakusy producent\u00f3w kart graficznych w celu ukr\u00f3cenia procederu spalaj\u0105 na panewce<\/a>. Chyba po prostu nie zas\u0142u\u017cyli\u015bmy sobie na takie fajne rzeczy jak darmowy CI.\n\nhttps:\/\/www.youtube.com\/watch?v=m5H-YlcMSbc\n\nMoje jedyne ostatnio pozytywne do\u015bwiadczenie z kryptowalutami (poza ci\u0105gle rosn\u0105c\u0105 warto\u015bci\u0105 mojego kupionego jakie\u015b cztery lata temu po kursie 500$ Etheru ) to odkrycie Grimes. Bohaterki naszego wpisu o NFT, kt\u00f3ra w\u0142a\u015bnie przygrywa mi podczas pisania tego artyku\u0142u. Og\u00f3lnie NFT to temat do kt\u00f3rego warto by by\u0142o nied\u0142ugo wr\u00f3ci\u0107 i opisa\u0107 Wam, co ostatecznie z tego ca\u0142ego sza\u0142u wysz\u0142o.<span class=\"-mobiledoc-kit__atom\">\u200c\u200c<\/span>\n\n<strong>\u0179r\u00f3d\u0142a:<\/strong>\n<ul>\n \t<li><a href=\"https:\/\/free-for.dev\/\">Free for developers<\/a><\/li>\n \t<li><a href=\"https:\/\/layerci.com\/blog\/crypto-miners-are-killing-free-ci\/\">Crypto miners are killing free CI<\/a><\/li>\n \t<li><a href=\"https:\/\/about.gitlab.com\/blog\/2020\/09\/01\/ci-minutes-update-free-users\/\">Upcoming changes to CI\/CD Minutes for free tier users on GitLab.com<\/a><\/li>\n \t<li><a href=\"https:\/\/www.bloomberg.com\/opinion\/articles\/2021-04-14\/nvidia-risks-a-reckoning-as-crypto-miners-deprive-gamers-of-graphics-cards\">Nvidia Risks a Reckoning by Catering to Crypto Miners<\/a><\/li>\n<\/ul>\n<h2 id=\"3-silna-sp%C3%B3jno%C5%9B%C4%87-aws-s3jak-to-naprawd%C4%99-dzia%C5%82a-%F0%9F%94%AC\">3. <a href=\"https:\/\/www.allthingsdistributed.com\/2021\/04\/s3-strong-consistency.html\">Silna Sp\u00f3jno\u015b\u0107 AWS S3 - jak to naprawd\u0119 dzia\u0142a<\/a><\/h2>\nA na koniec, po tematach spo\u0142eczno\u015bciowo-spo\u0142ecznych, chcia\u0142bym zostawi\u0107 czytaj\u0105cych nas in\u017cynier\u00f3w z odrobin\u0105 \u201cmi\u0119ska\u201d. Bior\u0105c pod uwag\u0119 zbli\u017caj\u0105cy si\u0119 d\u0142ugi weekend, my\u015bl\u0119 \u017ce poza nadrobieniem zaleg\u0142o\u015bci w <a href=\"https:\/\/blog.vived.io\/keep-up-czyli-o-tym-jak-byc-na-biezaco-bez-uczucia-przytloczenia-contentem\/\">Waszym Vivedowym Keep Upie<\/a> (je\u015bli takowego macie) warto rzuci\u0107 sobie okiem na detale jednego z najciekawszych og\u0142osze\u0144 AWSa ostatnich miesi\u0119cy.\n<figure class=\"kg-card kg-image-card\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d0aadbbb41.png\" alt=\"\" \/><\/figure>\nPodczas zesz\u0142orocznego re:Invent, najwa\u017cniejszej konferencji Amazona, og\u0142oszono \u017ce S3, jedna z ich najpopularniejszych chmurowych us\u0142ug, uzyska\u0142a wreszcie \u201csiln\u0105 sp\u00f3jno\u015b\u0107\u201d. Termin ten jest z pewno\u015bci\u0105 znany wszystkim, kt\u00f3rzy lizn\u0119li systemy rozproszone i zahaczyli o tak zwany CAP Theorem (a je\u015bli czujecie, \u017ce macie w temacie braki - <a href=\"https:\/\/mwhittaker.github.io\/blog\/an_illustrated_proof_of_the_cap_theorem\/\">ten tekst powinien Wam pom\u00f3c<\/a>). Sp\u00f3jno\u015b\u0107 jednak ma to do siebie, \u017ce o ile z punktu widzenia u\u017cytkownika jest raczej prosta (\"je\u015bli najpierw zrobi\u0119 zapis, a nast\u0119pnie odczyt, to nigdy nie dostan\u0119 w pyszczek 404 Not Found\"), to tak naprawd\u0119 cz\u0119sto opiera si\u0119 na r\u00f3\u017cnego rodzaju trikach. Od samego pocz\u0105tku <a href=\"https:\/\/news.ycombinator.com\/item?id=25271791\">trwa\u0142y dyskusje<\/a> co tak naprawd\u0119 AWSowi uda\u0142o si\u0119 osi\u0105gn\u0105\u0107 i na jakie kompromisy musieli p\u00f3j\u015b\u0107. Teraz nareszcie mamy okazj\u0119 lepiej zrozumie\u0107 jak nowe gwarancje dzia\u0142aj\u0105 \u201cpod mask\u0105\u201d.\n\nOkazuje si\u0119, \u017ce metoda u\u017cyta przez AWS zosta\u0142 zaczerpni\u0119ty z\u2026 architektury procesora. Ot\u00f3\u017c CPU <a href=\"https:\/\/www.extremetech.com\/extreme\/188776-how-l1-and-l2-cpu-caches-work-and-why-theyre-an-essential-part-of-modern-chips\">posiadaj\u0105 kilka poziom\u00f3w cache<\/a>, a ich synchronizacja jest kluczowa ze wzgl\u0119du na wydajno\u015b\u0107. Dost\u0119pno\u015b\u0107 danych jest zapewniana dzi\u0119ki odpowiedniemu protoko\u0142owi komunikacyjnemu, bior\u0105cego pod uwag\u0119 pod uwag\u0119 rozjazdy mi\u0119dzy poszczeg\u00f3lnymi warstwami. Bardzo podobnie zachowa\u0142 si\u0119 AWS - wprowadzi\u0142 nowy komponent do podsystemu metadanych S3, kt\u00f3ry sprawdza, czy widok metadanych obiektu w pami\u0119ci podr\u0119cznej nie jest mo\u017ce nieaktualny. Ten komponent dzia\u0142a jako swoisty \"\u015bwiadek\" zapis\u00f3w, powiadamiany o ka\u017cdej zmianie obiektu. Nast\u0119pnie traktowany jest jako bariera odczytu, i ka\u017cdorazowo kieruje zapytanie albo do cache, albo do \u201ctranzakcyjnej\u201d cz\u0119\u015bci systemu. Mamy wi\u0119c do czynienia z tak zwan\u0105 \u201cSp\u00f3jno\u015bci\u0105 przyczynow\u0105\u201d (<a href=\"https:\/\/en.wikipedia.org\/wiki\/Causal_consistency\">Causal Consistency<\/a>)\n<figure class=\"kg-card kg-image-card\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/img_610d0aaf91e66.png\" alt=\"\" \/><\/figure>\nCo prawda <a href=\"https:\/\/www.allthingsdistributed.com\/2021\/04\/s3-strong-consistency.html\">artyku\u0142owi<\/a> brakuje troch\u0119 precyzyjno\u015bci Whitepapera (i og\u00f3lnie jest napisany nieco w tonie \u201cjacy my to nie jeste\u015bmy super\u201d), to i tak my\u015bl\u0119 \u017ce informacje w nim zawarte b\u0119d\u0105 wystarczaj\u0105ce dla wszystkich poza najwi\u0119kszymi pasjonatami system\u00f3w rozproszonych. Bior\u0105c pod uwag\u0119 jak cz\u0119sto spotykam si\u0119 ostatnio z opini\u0105, \u017ce w zasadzie wi\u0119kszo\u015b\u0107 nowoczesnych baz danych (zw\u0142aszcza analitycznych) to cache nad S3, na pewno niejeden Data Lake wreszcie m\u00f3g\u0142 pozby\u0107 si\u0119 niekt\u00f3rych \u201chaczur\u00f3w\u201d. Za to w\u0142a\u015bnie lubimy chmur\u0119 - zcentralizowane rozwi\u0105zywanie trudnych in\u017cynierskich problem\u00f3w ma zalety.\n\nDla dziennikarskiej sprawiedliwo\u015bci - <a href=\"https:\/\/cloud.google.com\/blog\/products\/gcp\/how-google-cloud-storage-offers-strongly-consistent-object-listing-thanks-to-spanner\">Google posiada swoj\u0105 wersj\u0119 \u201csilnej sp\u00f3jno\u015bci\u201d w odpowiedniku S3 od rok 2018<\/a>, a u\u017cywaj\u0105 do tego rozwi\u0105zania <a href=\"https:\/\/research.google\/pubs\/pub45855\/\">Cloud Spanner<\/a>, bazuj\u0105cego na klasycznym ju\u017c <a href=\"http:\/\/static.googleusercontent.com\/media\/research.google.com\/en\/\/archive\/spanner-osdi2012.pdf\">Spannerze<\/a> - ichniejszej \"globalnej\" bazie danych.\n<figure class=\"kg-card kg-image-card kg-card-hascaption\"><img class=\"kg-image\" src=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/1_image-3.png\" sizes=\"(min-width: 720px) 720px\" srcset=\"https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/2_image-3.png 600w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/3_image-3.png 1000w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/4_image-3.png 1600w, https:\/\/vived.io\/wp-content\/uploads\/2021\/08\/1_image-3.png 2226w\" alt=\"\" width=\"2000\" height=\"916\" \/>\n\n<figcaption>BTW: Dzi\u0119ki temu artyku\u0142owi dotar\u0142o do mnie, \u017ce autor <a href=\"https:\/\/www.allthingsdistributed.com\/\">AllThingsDistributed.com<\/a> to CTO AWSa<\/figcaption><\/figure>\n<strong>\u0179r\u00f3d\u0142a:<\/strong>\n<ul>\n \t<li><a href=\"https:\/\/www.allthingsdistributed.com\/2021\/04\/s3-strong-consistency.html\">Diving Deep on S3 Consistency<\/a><\/li>\n \t<li><a href=\"https:\/\/www.extremetech.com\/extreme\/188776-how-l1-and-l2-cpu-caches-work-and-why-theyre-an-essential-part-of-modern-chips\">How L1 and L2 CPU Caches Work, and Why They\u2019re an Essential Part of Modern Chips<\/a><\/li>\n \t<li><a href=\"https:\/\/en.wikipedia.org\/wiki\/Causal_consistency\">Causal consistency<\/a><\/li>\n \t<li><a href=\"https:\/\/cloud.google.com\/blog\/products\/gcp\/how-google-cloud-storage-offers-strongly-consistent-object-listing-thanks-to-spanner\">How Google Cloud Storage offers strongly consistent object listing thanks to Spanner<\/a><\/li>\n \t<li><a href=\"http:\/\/static.googleusercontent.com\/media\/research.google.com\/en\/\/archive\/spanner-osdi2012.pdf\">Spanner: Google\u2019s Globally-Distributed Database<\/a><\/li>\n \t<li><a href=\"https:\/\/research.google\/pubs\/pub45855\/\">Spanner, TrueTime and the CAP Theorem<\/a><\/li>\n<\/ul>"]}],"_links":{"self":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10143","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=10143"}],"version-history":[{"count":1,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10143\/revisions"}],"predecessor-version":[{"id":10690,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/posts\/10143\/revisions\/10690"}],"wp:attachment":[{"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/media?parent=10143"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/categories?post=10143"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vived.io\/pl\/wp-json\/wp\/v2\/tags?post=10143"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}