Apple skanuje zdjęcia

Przez sieć przetacza się fala komentarzy dotyczących wprowadzanego przez Apple skanowania zdjęć. Dotyczą one głównie zagadnień technicznych, typu czy hashe będą miały kolizje[1], czy będą false positive’y[2] albo kiedy będzie miało miejsce skanowanie zdjęcia. Nieliczne komentarze poruszają możliwość innego niż deklarowana wykorzystania rozpoznawania zawartości zdjęć.

Wydaje mi się, że większość komentarzy pomija sedno. Pod pozorem walki z pedofilią mamy bowiem do czynienia z udostępnieniem, prywatnych dokumentów do analizy firmie trzeciej lub służbom. Bez wymaganej dotychczas zgody sądu. I nie ma tu znaczenia, czy ocena jest automatyczna, czy ręczna.

Ba, nawet false positives są odbierającym prywatność na rękę. Przypuszczam bowiem, że szybko pojawi się procedura pozwalająca na ocenę – czyli przejrzenie przez człowieka – zdjęcia uznanego za naruszenie. Oczywiście motywowana redukcją false positives. Albo może – dla pewności i uniknięcia ewentualnych false negatives – od razu większej ilości zdjęć danego użytkownika?

W każdym razie w mojej ocenie jest to typowe zagranie odbierające ludziom wolność i prywatność, z klasycznym uzasadnieniem. Dla przypomnienia: tego typu zmiany zawsze forsowane są zwykle albo pod hasłem walki z pedofilią, albo walki z terroryzmem.

Nie rozpatrywałbym też tego jako finalnej zmiany. To, czy teraz skanowane są tylko zdjęcia wysyłane do chmury, czy robi to tylko Apple nie ma znaczenia. Uważam, że chodzi o zmianę mentalności i zrobienie pewnego wyłomu. Z czasem rozwiązanie można przecież rozszerzyć na inne platform. Albo wręcz nakazać producentom wsparcie skanowania wszystkich zdjęć, niezależnie od faktu ich wysyłania gdziekolwiek.

Gdyby ktoś się zorientował, że tego typu rozwiązania można ominąć przez stosowanie, czy nie będzie to wspaniały pretekst do zakazu szyfrowania? W imię walki z pedofilią albo terroryzmem, oczywiście.

[1] Oczywiście, że tak.
[2] Oczywiście, że tak.

Zmiany we free tier w Google Cloud Platform

Tytułem wstępu: Google ma swoją chmurę, czyli Google Cloud Platform, a w ramach niej coś takiego jak free tier, czyli zasoby dostępne bez opłat[1]. Zasoby są niewielkie, dodatkowo podlegające pewnym ograniczeniom, raczej do zabawy. Ale do testów, nauki czy właśnie zabawy – idealne. Między innymi można mieć uruchomioną w ramach compute engine najsłabszą VMkę, czyli f1-micro.

Mail

Jeśli ktoś korzysta z GCP, to zapewne dostał już maila. Dla tych, co maila przeoczyli, krótkie podsumowanie. Od pierwszego sierpnia 2021 instancje e2-micro są bezpłatne (w określonej ilości czasu), natomiast od pierwszego września instancje f1-micro będą płatne. Regiony pozostają bez zmian. Instrukcja zmiany linkowana w mailu dostępna jest tu.

To różne platformy, więc ciężko porównać dokładnie, ale:
f1-micro to 0.2 VCPU i 0.6 GB RAM w cenie $0.0076 (us-central1)
e2-micro to 0.25 VCPU i 1 GB RAM w cenie $0.008376 (us-central1)
Dodatkowo w przypadku e2-micro możliwy jest burst do 2 VCPU.

Google pisze[2]:

As we improve the experience of the Free Tier, we will be introducing the E2-micro VM, which is a part of a second generation VM family.

Wydajność

W przypadku RAM zysk jest oczywisty, natomiast w przypadku CPU – niekoniecznie. Wiele zależy od tego, na jakiej platformie CPU znajduje się obecnie VMka, i na jakiej wyląduje po przeniesieniu. Tabela platform CPU dla serii N1 i E2 jest dość skomplikowana. Jednak patrząc na base frequency, przeciętnie powinno być szybciej.

I jeszcze wynik cat /proc/cpuinfo z mojej instancji f1-micro:

processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 63
model name : Intel(R) Xeon(R) CPU @ 2.30GHz
stepping : 0
microcode : 0x1
cpu MHz : 2299.998
cache size : 46080 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology n$
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs
bogomips : 4599.99
clflush size : 64

Jak się zmigruję to uzupełnię wpis, co dostałem po migracji i jak wrażenia.

Migracja

Wczoraj zmigrowałem maszynę na e2-micro. Migracja błyskawiczna i bezproblemowa. Zgodnie z instrukcją zatrzymać instancję, wyedytować typ, zapisać zmianę, uruchomić maszynę.

Po migracji dostałem dokładnie ten sam procesor. Tyle, że teraz cat /proc/cpuinfo pokazuje dwa. Jeśli chodzi o osiągi i wydajność w praktyce, to najlepiej widać to na obrazku.

Wykorzystanie CPU na f1-micro i po migracji na e2-micro w GCP free tier
Wykorzystanie CPU na f1-micro vs e2-micro

Migracja chwilę przed 12:00, później wzrost obciążenia spowodowany porządkami, chwilę po 18:00 koniec ostatnich ręcznych prac. Jak widać, główny zysk wynika ze wzrostu mnożnika z 0.2 do 0.25 VCPU. Ponieważ przydział jest dynamiczny, procesy jednowątkowe także skorzystają na zmianie parametrów.

Podsumowując, warto migrować, bo e2-micro w stosunku do f1-micro oferuje 66% więcej RAM i 25% więcej CPU.

[1] Wymagane jest podpięcie karty debetowej, a po przekroczeniu puli darmowych zasobów jest automatycznie naliczana opłata za przekroczoną część.
[2] Nawiasem, wysłaniem tego maila Google Cloud Platform zdobyło u mnie sporo punktów sympatii. Mogli przecież np. zamieścić info o zmianie cenników free tier na blogu i billować nieuważnych, albo wysłać suchego maila o zmianach w cenniku. Wiele firm tak właśnie by postąpiło. A tu osobne, czytelne powiadomienie, z instrukcją migracji. Miło.

Odmładzanie szrotu komputerowego

Jest taki komputer, z którego korzystam w domu rodziców. Poleasingowy desktop, z monitorem CRT 17″, czyli zabytek. Służy do przeglądania WWW, jako terminal oraz jako dodatkowy storage na backupy zdjęć na starych, niewielkich dyskach 3,5″. Korzystam z niego sumarycznie tydzień, może dwa w roku. Kiedyś niewiele więcej. Wyposażony w Intel(R) Core(TM)2 Duo CPU E4600 @ 2.40GHz i 2 GB RAM, w zasadzie spełniał swoje zadanie.

Niestety, 2 GB RAM powodowały, że z niektórymi rzeczami nie dawał rady. I pół biedy, jeśli było to kilka zakładek WWW. Gorzej, że zaczął mieć problem z otwarciem co większych zdjęć z poczty. Korzystam z niego na tyle rzadko, że wymiana sprzętu nie miała sensu. Z drugiej strony wyprzedaję trochę starych podzespołów, więc wiem, jak niskie są ceny. Postanowiłem sprawdzić, czy da się dołożyć pamięci RAM.

Płyta główna

Okazało się, że płyta to DQ35JO i obsługuje wg dmidecode maksymalnie do 8 GB RAM DDR2. Co więcej, ma cztery sloty. Rozważałem dokupienie 2×2 GB, co pozwoliłoby rozbudować pamięć do 4 GB, a przy odrobinie szczęścia do 6 GB. Ceny do zakupu od ręki były nieadekwatne (ok. 40 zł za ww. konfigurację), ale temat nie był pilny. Trochę policytowałem i kupiłem 2×1 GB RAM za… 1 zł. Plus wysyłka.

Procesor

Trochę się rozochociłem, więc sprawdziłem, jakie jeszcze procesory obsługuje płyta. Znowu pozytywne zaskoczenie, bo można włożyć całkiem sporo modeli procesorów, w tym Core 2 Quad. Ceny tych ostatnich znowu były nieadekwatne, ale znalazłem dostępne od ręki Intel Core 2 Duo E8400 3.0 GHz za… 5 zł. Specyfikacja tutaj. Jak widać TDP bez zmian, taktowanie 25% większe, cache L2 trzy razy (sic!) większy. Grzech nie wymienić, znaczy, bo procesor szybszy. Oczywiście to sztuka dla sztuki, pewnie nie odczuję w praktyce różnicy, ale chodzi głównie of fun z grzebania w sprzęcie.

Zakupy

Szczęśliwie sprzedawca miał w ofercie pastę termoprzewodzącą na procesor. Zrobiło się całe 11 zł plus wysyłka, która niemal podwajała cenę. Jak szaleć to szaleć, z miejscem na dyskach też było słabo, więc dorzuciłem dysk 500 GB za 35 zł dzięki czemu wysyłka załapała się na Smart! Dysk się przyda, bo w maszynie był stary, mały dysk IDE oraz niewiele większy SATA. Istotniejsze dane tzn. backupy leżą sobie na softraid RAID1, pozostała część to system i śmieci. Jedyne o czym zapomniałem i musiałem dokupić później, już gdzie indziej, to przejściówka do zasilania dysku SATA za 7 zł z wysyłką.

Wymiana odbyła się błyskawicznie. Najpierw wymieniony RAM i sprawdzenie przy pomocy memtest86+, potem procesor. Cieszę się, że nie skusiłem się na mocniejszy procesor, bo radiator jest… taki sobie. Jakiś stockowy zapewne, mało metalu, nie wygląda na coś potrafiącego odprowadzać większą ilość ciepła.

Ekonomia

Oczywiście z ekonomicznego punktu widzenia sens jest żaden, bo chodziło o fun. Zamiast rozbudowywać stary sprzęt, pewnie bardziej opłaca się kupić gotowy, kompletny zestaw z 4 GB RAM i dyskiem. Sprawdziłem i używany stacjonarny komputer z Core 2 Quad można kupić już za 170 zł. A Core 2 Duo za 130 zł. I to biorąc tylko pod uwagę oferty od Super Sprzedawców.

Oczywiście kupując takiego szrota „do WWW” warto zwrócić uwagę na procesor i rozmiar dysku. Dopłacając symboliczne kwoty można kupić znacznie lepszy sprzęt. Do sporadycznego korzystania pobór prądu nie robi różnicy. Jeśli jednak komputer miałby być włączony codziennie, przez dłuższy czas, warto przeliczyć kalkulatorem, czy nie lepiej zainwestować w coś bardziej energooszczędnego.