Instalacja mcrypt dla PHP 7.2 w CentOS 7

Mcrypt został wyrzucony z pakietu PHP i teraz jest modułem PECL. Aby go uruchomić w CentOS 7 trzeba go pobrać i skompilować. Będziemy potrzebować takich pakietów:

sudo yum php72w-devel install gcc libmcrypt libmcrypt-devel re2c
sudo pecl install mcrypt-1.0.2

Później jeszcze trzeba dopisać do konfiguracji PHP: extension=mcrypt.so. Dopisek można zrobić w php.ini albo można utworzyć plik mcrypt.ini w folderze /etc/php.d.

Na końcu sprawdzamy czy wszystko działa jak należy: php –info | grep mcrypt. Jeżeli będzie OK, to dostaniemy rozmaite informacje a jeżeli nie, to nie będzie żadnego tekstu wynikowego.

Git pull bez nadpisywania plików konfiguracyjnych

Czasami można użyć Git jako proste i szybkie narzędzie do deploymentu – zespół deweloperski wystawia zmiany do repozytorium, do określonej gałęzi, a serwer produkcyjny zasysa zmiany poprzez git pull. Problem jednak w tym, że czasami zmiany te mogą nadpisywać pliki konfiguracyjne. Czasami konfiguracja nie jest scentralizowana w jednym pliku, który jest konsekwentnie ignorowany prez .gitignore, lecz z różnych przyczyn jest rozproszona po wielu plikach (np. .htaccess), które z różnych przyczyn nie powinny być niewersjonowane, aczkolwiek zwersjonowane w nich dane (np. dane dostępowe, loginy i hasła) nie powinny być inne niż czysto deweloperskie.

Można na to znaleźć różne rozwiązania. Prostym wydaje się git stash. Jest to polecenie, które aktualne zmiany w plikach (czyli różnice w stosunku do tego, co jest w repozytorium) odkłada do swojego rodzaju schowka, który zachowuje się jak sterta albo stos. Można więc składować kolejne zmiany “jedna na drugą” a później je z tego stosu zdejmować poleceniem git stash pop lub git stash apply (apply nie usuwa zmian ze stosu).

W najbardziej podstawowej wersji, gdy składujemy tylko jeden zestaw zmian, otrzymujemy więc schowek, do którego “wycinamy” zmiany i później je “wklejamy”. Możliwy jest więc taki przebieg synchronizacji plików z repozytorium, że:

  1. git stash – wycinamy pliki konfiguracyjne i składujemy w schowku;
  2. git pull – synchronizujemy wszystko z repo (pliki konfiguracyjne zostaną nadpisane);
  3. git stash pop – przywracamy pliki konfiguracyjne ze schowka,

W okolicznościach, w których chcemy szczególnie nadzorować jakie pliki zostaną nadpisane i ewentualnie manualnie rozwiązywać potencjalne konflikty, można rozpocząć od git fetch (aktualizacja bazy danych repo), przejrzeć listę zmian za pomocą git status oraz zbadać indywidualne zmiany za pomocą git diff.

Nagrania i prezentacje PDF z konferencji “po RODO we PRZYPADKI” 13 grudnia

Otwarcie konferencji – Jarosław Feliński, Prezes SIODO

“po RODO we PRZYPADKI” – Jarosław Feliński, Prezes SIODO

“Po RODO wa rzeczywistość” – Przemysław Kuczkowski r.pr., SIODO

“RODO nie RODeO” – Natalia Bender, Wiceprezes SIODO

“RODO a Kultura Bezpieczeństwa” – Prof. Marian Cieślarczyk, WAT

“RODO EDUKACJA” – Jarosław Feliński, Prezes SIODO

“RODO PRZYPADKI” – Justyna Aniszewska, SIODO

“RODO a UODO i prawo resortowe” – Katarzyna Staśkowiak, SIODO

“RODOWANIE” – Przemysław Kanikowski, SIODO

Sądownie nakazana cenzura mediów w Australii

Ciekawy przypadek blokowania informacji ze strony państwa, którego bym o takie blokowania nie podejrzewał.

Podobno newsem dzisiejszego dnia w Australii jest orzeczenie winy pewnej wysoko postawionej, znaczącej osoby. O kogo chodzi? Wszyscy w Australii wiedzą, piszą o tym na twitterach i blogach, ale… nie wolno o tej osobie i szczegółach orzeczena sądu informować żadnym mediom. Dziennikarze nie mogą o tym pisać, bo sąd zabronił a australijskie prawo okazuje się móc narzucać takie blokady. Podobno zresztą nie są one wcale rzadkie, ale nigdy nie robi się z tego specjalnego szumu. Tym razem jest szum, bo chodzi o kardynała Georga Pella, który jest nie tylko najwyższym rangą austalijskim duchownym ale też jest nazywany trzecią w kolejności najważniejszą osobą w Kościele Katolickim (pełnił funkcje głównego watykańskiego skarbnika). Niektóre media już teraz piszą, że australiski Kościół Katolicki właśnie otrzymał “śmiertelny cios”. A to dopiero początek sądzenia kardynała, bo zarzuty nadużyć seksualnych jakie mu postawiono, rozdzielono na kilka oddzielnych spraw sądowych.

Podobno jutrzejsza okładka “The Daily Telegraph” będzie zawierać napis “TO NAJWIĘKSZA NARODOWA HISTORIA” a nad nim “Okropna zbrodnia, ta osoba jest winna, może już czytałeś wiadomości online, lecz nie możemy tego opublikować. Ale zaufaj nam…”. Serwisy “The Age”, “Sydney Morning Herald”, “Canberra Times” opublikowały artykuł o tytule “Dlaczego media nie mogą raportować o sprawie, która wzbudziła ogromne zainteresowanie online”. “The Advertiser” opublikował “Historia, której nie możemy Ci opowiedzieć”. Inne serwisy australisjkie też albo coś takiego opulikowały albo nie publikowały nic. Watykan się nie wypowiedział – podobno “z szacunku do postanowienia sądu”.

Wieść niesie, że podobno na terenie Ausrtalii zablokowano już treści jakiegoś *zagranicznego* serwisu, który skądś zdobył jakieś informacje i je opublikował.

Podobno blokada informacyjna ma trwać do czerwca.

Dana i datum w informatyce

Ostatnie dwa wpisy poświęciłem tematyce pojedynczej “danej” głównie w kontekście danych osobowych. Natomiast chyba warto też wskazać gdzie słowo “dana” oraz “datum” występują w informatyce.

Bazy danych

Na początek warto zaznaczyć, że informatyka jest bardzo obszerną dziedziną. Dwóch informatyków może mieć niewielkie pojęcie o swoich własnych niszach nawet jeżeli obaj tworzą elementy tego samego systemu. Przykładowo, programista może mieć szczątkową wiedzę na temat teorii baz danych. Z drugiej strony, administrator baz danych może mieć szczątkową wiedzę o programistycznej podbudowie silnika bazodanowego, na którym działa baza, którą administruje.

No ale do rzeczy.

Mówi się raczej powszechnie o “danej liczbowej”, “danej całkowitej”, “danej tekstowej” czy “danej typu tekstowego”. Rzadziej się słyszy o “danej elementarnej”. W bazach danych występuje abstrakcyjna dana – np. w bazach Oracle jest oracle.sql.Datum z którego dziedziczą wszystkie typy danych:

The root of Oracle native datatype hierarchy.

W PostgreSQL wewnętrzny typ danej abstrakcyjnej (widoczny z poziomu języka C) to “Datum” (zdefiniowana w postgres.h, funkcje do jej obsługi są w datum.h) .

 /* A Datum contains either a value of a pass-by-value type or a pointer to a value of a pass-by-reference type. Therefore, we require:
sizeof(Datum) == sizeof(void *) == 4 or 8
The macros below and the analogous macros for other types should be used to convert between a Datum and the appropriate C type. */

typedef uintptr_t Datum;

W GDBM również podstawowa struktura bazodanowa to “datum”.

The basic unit of data in gdbm is the structure:

typedef struct { char *dptr; int dsize; } datum;

Zresztą, drugi postulat Codd’a, twórcy modelu baz relacyjnych, posługuje się “datum”:

“Each and every datum (atomic value) in a relational data base is guaranteed to be logically accessible by resorting to a combination of table name, primary key value and column name.”

Teoria informacji

Pojęcie “danej” znalazłem ostatnio przypadkiem będąc w bibliotece w książce “Informacja” autorstwa prof. dr hab. Bogdana Stefanowicza, wydanie I, 2004 rok. Poniżej fragmenty:

Pojawia się ono także kilkukrotnie w innych publikacjach tego autora, np. w dostępnej online “Informacja. Wiedza. Mądrość” z 2013 roku.

Słownik angielsko-polski

Przeglądając książki na półce znalazłem stary słownik polsko-angielski przeznaczony dla informatyków z 1990 roku. A w nim “datum” jako “dana”. Poniżej zdjęcia.

“Datum” (liczba mnoga od “data”) znaczy “dana”

Dana osobowa – liczba pojedyncza w użyciu

Ostatnio pisałem o tym jak pomimo tego, że w sensie prawnym istnieje u nas w Polsce tylko definicja “danych osobowych” (liczba mnoga), to w sferze językowej istnieje pojęcie “danej” (liczba pojedyncza) i że ludzie się takim pojęciem posługują. Skupiłem się wówczas na języku angielskim i tamtejszym “personal datum” a tym razem chciałbym pobieżnie przeszukać polski Internet w obszarach związanych mniej lub bardziej związanych z ochroną danych.

GIODO i UODO

Słynna wypowiedź GIODO na temat “Czy adres IP komputera należy do danych osobowych?“:

(…) gdy adres IP jest na stałe lub na dłuższy okres czasu przypisany do konkretnego urządzenia, które przypisane jest z kolei konkretnemu użytkownikowi, należy uznać, że stanowi on daną osobową. (…) 
Do czasu, gdy podmiot nie uzyska pewności, że sam nie jest w stanie łączyć adresu IP z innymi danymi identyfikującymi osobę, powinien zabezpieczać adres IP tak jakby był on daną osobową.

Albo lepiej, “Czym są dane osobowe, jak interpretować art. 6 ust. 3 ustawy o ochronie danych osobowych?“:

Daną osobową będzie taka informacja, która pozwala na ustalenie tożsamości danej osoby (…). (…) danymi osobowymi nie będą pojedyncze informacje o dużym stopniu ogólności, np. nazwa ulicy i numer domu czy wysokość wynagrodzenia. Informacja ta będzie jednak stanowić daną osobową wówczas, gdy zostanie zestawiona z innymi dodatkowymi informacjami, które w konsekwencji można odnieść do konkretnej osoby. Przykładem pojedynczej informacji stanowiącej daną osobową jest natomiast numer PESEL

To są tylko dwa przykłady, GIODO wielokrotnie na swojej stronie internetowej wykorzystuje termin dana osobowa. Specjalizowane przeszukiwania serwisu GIODO z użyciem Google ujawniają następujące ilości publikacji (artykułów, sprawozdań itp.):

Następca urzędu GIODO, czyli UODO, jest dużo bardziej powściągliwy, znaleźć można zaledwie kilka publikacji z pojedynczymi użyciami terminu. Ciekawe tutaj wydają się publikacje autorstwa osób spoza UODO. Wśród nich trafiłem na ciekawy fragment “Wytycznych dotyczące zgłaszania naruszenia ochrony danych osobowych na mocy rozporządzenia 2016/679” autorstwa Grupy Roboczej Art. 29 d/s Ochrony Danych:

Większa ilość powiązanych danych osobowych jest zazwyczaj bardziej wrażliwa niż pojedyncza dana osobowa.

Jest też “Rekomendacja R (1999) 5 – Wytyczne w sprawie ochrony osób w zakresie gromadzenia i przetwarzania danych osobowych na Infostradach” z 1999 roku autorstwa Komitetu Ministrów dla Państw Członkowskich:

Pamiętajcie, że wasz adres elektroniczny jest daną osobową i że ktoś może chcieć się nim posłużyć do różnych celów.

PARP

Odejdę teraz od GIODO/UODO i spojrzę do innej instytucji państwowych, która jakkolwiek mniej powiązana z ochroną danych osobowych to jednak związana z edukacją przedsiębiorców w tym zakresie. Oto Polska Agencja Rozwoju Przedsiębiorczości opublikowała “Ochrona danych osobowych – poradnik dla małych i średnich przedsiębiorstw” a tam:

Mail kancelaria@bm.com.pl również nie będzie stanowił danej osobowej, bowiem nie wskazuje, kto w ramach prowadzonej działalności wykorzystuje skrzynkę pocztową.

Zakwalifikowanie adresu IP jako danej osobowej wiąże się z koniecznością posiadania dodatkowych informacji umożliwiających identyfikację osoby użytkującej urządzenie

Ochrona dóbr osobistych i danych osobowych” by Piotr Waglowski:

Daną osobową będzie taka informacja, która pozwalana ustalenie tożsamości danej osoby, bez nadzwyczajnego wysiłku i nakładów, zwłaszcza przy wykorzystaniu łatwo osiągalnych i powszechnie dostępnych źródeł. Danymi osobowymi nie będą pojedyncze informacje o dużym stopniu ogólności. W zależności od współwystępowania z innymi informacjami,informacja o dużym stopniu ogólności będzie stanowić daną osobową, gdy zostanie zestawiona z innymi dodatkowymi informacjami (…)

Wiele wystąpień “danej osobowej” znajdziemy w “Ochrona danych osobowych w przedsiębiorstwie– poradnik dla MŚP“, kilka wybranych poniżej:

Co do zasady daną osobową nie będzie też pojedyncza informacja o dużym stopniu ogólności, np. nazwa ulicy,numer domu czy wysokość wynagrodzenia. Taka informacja będzie jednak stanowić daną osobową wówczas, gdy zostanie ona zestawiona z innymi dodatkowymi informacjami, które w konsekwencji będzie można odnieść do konkretnej osoby

Numer PESEL dla administracji publicznej będzie stanowił daną osobową

Ale dla firmy detektywistycznej, która na podstawie numeru jest w stanie zidentyfikować właściciela za pomocąodpowiednich instrumentów, numer rejestracyjny będzie stanowić daną osobową.

Orzeczenia WSA i NSA

Google wykazuje istnienie pewnej niewielkiej liczby orzeczeń mówiących o pojedynczej danej osobowej:

Dlatego również jako niesłuszne należy uznać stanowisko Zarządu Dróg Miejskich, zgodnie z którym numer rejestracyjny pojazdu nie stanowi danej osobowej na etapie wnoszenia opłaty za parkowanie

To jest ciekawy fragment, bo odwołujący się do definicji ustawowej UODO 1997:

Organ odwoławczy dostrzegł ponadto, że numer księgi wieczystej wypełnia ustawową definicję danej osobowej, zawartą w art. 6 ust. 1 ustawy o ochronie danych osobowych (Dz. U. z 2016r. poz. 922)

Tutaj coś może “zawierać dane” ale też “być daną”:

Warto jednakże wskazać, że ustawa o ochronie danych osobowych nie stanowi aktu prawnego z założenia uniemożliwiającego realizację prawa dostępu do informacji publicznej i w żadnym przepisie nie ustanawia zakazu udostępnienia informacji publicznej zawierającej dane osobowe, czy informacji publicznej stanowiącej daną osobową.

Książki

Google zwraca informacje o pewnej liczbie książek, ale nie mam podglądu do ich treści. Jedyne, co udało mi się podejrzeć, to “Zakres przetwarzania danych osobowych w działalności gospodarczej” Doroty Fleszer:

(…) o traktowaniu numeru telefonu jako danej osobowej przesądzają odpowiednie przepisy prawa telekomunikacyjnego.

Z ciekawszych pozycji, których nie mam jak sprawdzić, Google twierdzi, że wiele wystąpień “danej osobowej” jest w “Ochrona danych osobowych: Komentarz” Barta, Fajgielskiego i Markiewicza.

Dana wrażliwa

W trakcie moich poszukiwań trafiłem też na specjalny przypadek “danej osobowej” zwany “daną wrażliwą”. Naturalnie występuje on dużo, dużo rzadziej, ale jednak jest, co jedynie potwierdza zjawisko językowe.

“Nowe techniki gromadzenia i przetwarzania danych osobowych pracowników, a ochrona ich prywatności”, dr hab. Małgorzata Gersdorf, nie tylko korzysta z terminu “dana wrażliwa”, ale nawet z ogólnego “dana”:

daną wrażliwą, zgodnie z art. 27 ustawy o ochronie danych osobowych, jest dana ujawniająca poglądy polityczne, przekonania religijne lub filozoficzne, przynależność wyznaniową, partyjną lub związkową;

Dana osobowa – czy istnieje lub mogłoby istnieć takie coś?

Inspiracją do tego tekstu była dla mnie prezentacja “Informatyk czyta GDPR/RODO” dr inż. Wacława Iszkowskiego znaleziona na serwerach UODO oraz dyskusje w grupie facebookowej Forum Inspektorów Ochrony Danych Osobowych.

Datum

W sensie prawnym istnieje u nas w Polsce tylko definicja “danych osobowych” (liczba mnoga). Natomiast tak w ogóle funkcjonuje “dana” (np. w naukach matematycznych i informatycznych dana, dana liczbowa, całkowita), słowo odziedziczone z łaciny i oznaczające “fakt”, “informację”, “przesłankę”. W języku angielskim, też z łaciny, stosowano i wciąż się stosuje, ale bardzo rzadko, pojedyncze “datum“. W angielskim wiele słów utraciło liczbę pojedynczą albo nigdy jej nie miało, a u nas ją ma – np. “information” jest rzeczownikiem niepoliczalnym a u nas policzalnym i my swobodnie mówimy “informacja” i “informacje”.

Personal datum

U nas po polsku daną osobową mogłaby być np. najmniejsza niepodzielna identyfikująca informacja np. numer PESEL. Danymi zaś nazwalibyśmy PESEL plus imię, nazwisko, adres. Wiele osób intuicyjnie tak się posługuje słowami “dana” i “dane” – można tego doświadczyć w Internecie.

Zajrzałem na szybko w Google, aby zweryfikować, czy angielskie pojedyncze “datum” jest obecnie stosowane konkretnie do danych osobowych. No i jest stosowane, aczkolwiek rzadko. Tym nie mniej można je spotkać w artykułach, książkach, regulaminach i innych typach publikacji. 

Przykłady poniżej (starałem się dobrać po jednym przykładzie publikacji innego typu).

W świeżym artykule “What If Banks Were the Main Protectors of Customers’ Private Data?” z 20 listopada 2018 roku Harvard Business Review napisało:

“A company that collects more data than it really needs is unnecessarily generating more risk because each PERSONAL DATUM is the object of a potential leak or lawsuit.”

W publikacji “Privacy, Reputation, and Trust: Some Implications for Data Protection” Giovanni Sartor z Wydziału Prawa na European University Institute we Florencji kilkukrotnie pisze o “personal datum”.

W książce “European Data Protection: Coming of Age” wydanej w 2012 roku i poświęconej tematyce ochrony danych osobowych w Europie kilkukrotnie pojawia się “personal datum”.

W 1997 roku (aby wskazać też i starsze publikacje) the Independent opublikował artykuł o znamiennym tytule “Without strong encryption, government can pretty reliably track virtually every PERSONAL DATUM we possess“.

Na stronie internetowej lotniska w Montpellier znajduję natomiast “General Terms and Conditions of Use” a tam: 

“What is that a personal datum? A personal datum is a datum which allows to identify directly or indirectly a person: name, first name, mailing address, e-mail address…(…) Montpellier Méditerranée Airport can be brought to collect personal datum during your navigation on the website”

(Montpellier jest we Francji, ale to tylko przykład – takich regulaminów z różnych stron świata mających “personal datum” widziałem więcej, ale nie wpisałem wam tutaj to, co miałem pod ręką.)

Artykuł 23 w “The Use of Nominative Data in Computer Processing Act” z 31 marca 1979 roku, Wielkie Księstwo Luksemburga, nazywa przesyłaną informację o osobie terminem “datum”.

Inny przykład: w treści patentu amerykańskiego nr US20090327420A1 zatytułowanego “Controlled sharing of personal data” znaleźć można wiele wystąpień “personal datum”.

Za pomocą Google możecie znaleźć więcej publikacji odnoszących się do “personal datum”. Niektóre dosyć ciekawe, bo różnie interpretujące to, czym jest pojedyncze “datum” – czasami jest to najmniejsza “dana” osbobowa (tak jak to zaproponowałem wyżej) a czasami zbiór danych dotyczący tylko jednej osoby (wówczas “personal data” odnosi się do zbioru danych więcej niż jednej osoby).

Dana vs szukana

Niektórzy odbierają słowo “dana” w zestawieniu ze słowem “szukana” – tak po szkolnemu.

I słusznie!

Słowo “dane” pochodzi od określania w zadaniach matematycznych tego, co jest znane, przyjęte, “podane” – w odróżnieniu od tego, co jest nieznane, “szukane”. To jest matematycznie antyczna tradycja nazewnicza. Jest dziełko Euklidesa z II wieku p.n.e., które nazywa się po grecku “Dedomena”, co się tłumaczy na angielski (i widziałem też tak przetłumaczone na polski!) jako właśnie “Data“, ci znaczy dosłownie “dane”. Nazwa jest stąd, że tam dosłownie co drugie zdanie Euklides opisuje, ze coś jest właśnie “dane” 
(czytałem przekład angielski, tam jest wszędzie “given”): “kąt między liniami jest dany”, “koło ma daną pozycję i rozmiar”. W języku polskim “dany”, “dana”, “dane” stało się rodzajem przymiotnika podczas gdy w języku np. angielskim był to rzeczownik, odpowiednik naszego “faktu” albo “przesłanki”.

Piękne matematyczne słowniki sprzed lat można znaleźć w Google Books, które opisują i tłumaczą pojęcia datum i data. Polecam znaleźć i poczytać!

Ciąg dalszy

Zobacz też kolejne moje wpisy w tej tematyce:

Glybera – skuteczna terapia genowa, która nie trafiła do chorych

Ciekawa i smutna historia dotycząca super-skutecznego leku na rzadką i okropną chorobę genetyczną zwaną “rodzinnym niedoborem lipazy lipoproteinowej” (LPLD). Lek ten odkryto z wielkim trudem i zarazem błyskotliwością, ale firma, która stała za wprowadzeniem go na rynek, strawiła na to cały majątek i w związku z tym została wykupiona. Nowy zarząd, na decyzje którego pierwotni odkrywcy nie mieli już wpływu, ustalił cenę dawki leku: milion dolarów.

“Problem polega na tym, że ludzie tacy jak ja (…) nigdy nie mają nic do powiedzenia na temat cen. (…) Do czasu wyceny już nas nie ma, zrobiliśmy pracę naukową, kliniczną i wszystko, a to ludzie komercyjni i finansowi decydują o cenie”.

Cenę dawki leku można różnie tłumaczyć. Wiadomo, lek musi zwrócić inwestycje w niego włożone. Ale też w obronie ceny przywołuje się argument, że jedna dawka całkowicie leczy chorobę i przez to finansowo może być tańsza, niż inne formy leczenia, które pacjent musi stosować latami (albo i całe życie). Jeżeli jednak nawet przyjąć to rozumowanie za słuszne, to chyba nikogo ono nie przekonało, bo poza 31 osobami skutecznie wyleczonymi w trakcie prób klinicznych, tylko jedna osoba nabyła lek w komercyjnym obrocie – a i to z wielkim trudem i nie za swoje osobiste pieniądze. Później już nikt. Tymczasem po latach oczekiwania na pacjenta-klienta wygasły pozwolenia i licencje. Ostatecznie z wyprodukowanych na początku 4 dawek do komercyjnego obrotu trzy dawki rozdano po symbolicznej cenie 1 euro. Szczęśliwcy, którzy je dostali, zostali trwale wyleczeni.

Obecnie lek nie jest produkowany i nie zanosi się na to, aby był w przyszłości.

Obecnie chorzy na LPLD są zmuszeni do zażywania leków zastępczych, które nie leczą ich z choroby a jedynie pozwalają żyć. Nie mogą spożywać wielu pokarmów (niektóre wręcz mogą ich zabić), są narażeni na okropne wewnętrzne dolegliwości a kobietom odradza się posiadanie dzieci ze względu na wysokie ryzyko poronienia.