TechLife devBlog

# Internet

Strony firmowe w Google Plus

Internet 8 listopada 2011 20:59

Dzisiaj logując się na G+ zauważyłem, że zmieniła się favikona (sic!). Googlowcy nigdy nie robią drobnych zmian, więc wiedziałem już że coś dodali. Okazało się, że pojawiła się opcja zakładania kont firmowych, czyli odpowiedników Facebookowych fanpage'y.

Jak widać wygląda dość ładnie. Szkoda tylko, że w większości sprowadzało się to do skopiowania danych z Facebooka w dodatku w dość okrojonej formie. Nie można "urządzić" strony po swojemu, instalując różne grafiki czy dodatkowe aplikacje tak jak ma to miejsce na Facebooku. Dobre kilka minut szukałem też opcji przekazania innym osobom praw administracyjnym do strony, jednak jak się ostatecznie okazało taka funkcjonalność jeszcze nie istnieje...

Na reklamie oczywiście prezentuje się sweetaśnie.

Estetyka i prostota Google Plus (swoją drogą bezczelnie zerżnięta z Diaspory) wygrywają dla mnie z wyglądem Facebooka, ale uproszczona funkcjonalność już nie. Cały czas nie bardzo mogę pojąć jak się mają kręgi (G+) do grup (F). Kręgi nijak nie spełniają funkcji grup. Nie istnieje przecież pojedyncza grupa fanów np. Django, do której by można się zapisać i podyskutować, ponieważ każdy ma inny krąg znajomych.

Poza tym korzystając z G+ jako firma widzimy strumień wiadomości ludzi, których nasza firma ma w kręgu znajomych... WTF? Jak to się ma do Facebookowego firmowego Wall gdzie umieszczane są tylko wiadomości, które ktoś skierował bezpośrednio do naszej firmy?

Google, siadaj: dostateczny.

GIODO a serwis internetowy

Internet, Techblog 22 września 2010 23:02

Notka poświęcona osobom, które chcą stworzyć serwis internetowy zgodny z wytycznymi GIODO. Uwaga, dla osób postronnych notka może objawić się jako absurdalny bełkot.

Jak stworzyć serwis internetowy, na którym GIODO-mucha nie siada? Nie mam pojęcia! Ale mam nadzieję, że razem uda nam się coś wypracować. Aby przejść podstawowy tutorial absurdu należy zapoznać się z 8 minutowym filmem, stworzonym przez lookr.tv, na którym Generalny Inspektor Ochrony Danych Osobowych, niczym profesor Miodek odpowiada na pytania zatroskanych internautów:

[...] no ja takiego problemu proszę Państwa nie mam, dlatego że wiem, że definicja dotycząca tego co jest daną osobową jest definicją otwarta [...] dlatego każdy przypadek należy dokładnie analizować, czy informacja jest daną osobową czy też nie.

Mnie również cieszy, że wszystkie kwestie zostały już dogłębnie wyjaśnione. W końcu od tego jest ten Pan, od tego on jest, od tego jest on.

[...] tak rzeczywiście, zgadza się, informacje które wymagają dużego nakładu czasu i pracy nie uważa się za dane osobowe, aczkolwiek należy zawsze pamiętać o tym, że dla mnie jakieś informacje mogą powodować, że będę musiał użyć dużego nakładu czasu i pracy, natomiast dla kogo innego to będzie bardzo proste aby powiązać te informacje z konkretną osobą i o tym proszę zawsze pamiętać.

Wiec jeżeli konkurs ortograficzny wygra Gniewomir z Kozich piętek, a mieszkańcy Kozich piętek będą doskonale wiedzieli, że w ich miejscowości mieszka tylko jeden Gniewomir to z ich punktu widzenia będzie to oczywista publikacja danych osobowych. Zły przykład? Więc weźmy numer IP Gniewomira. Dla większości ludzi na świecie będzie to nic nie mówiący numer, ale nie dla ISP-a z Kozich piętek, który dostarcza internet całym 3 osobom. Bez większych trudności ustali kto kiedy korzystał z danego IP-ka.

[...] rzeczywiście my stwierdzamy, że co do zasady IP komputera jest daną osobową, ale są wyjątki, które powodują, że w pewnych momentach nie można uznać IP komputera za dane osobowe [...]

Tutaj mamy w działaniu zasadę łaskawego wykluczenia, czyli na wszelki wypadek wszystkie numery IP trzeba traktować jako dane osobowe, ale dzięki łasce naszego prawa będziemy mogli zignorować 5 adresów IP, co do których jesteśmy pewni, że nie są to dane osobowe. Oczywiście pozwoli to oczywiście na znaczne oszczędności w nakładach na ochronę danych osobowych.

Mało Wam jeszcze? Nie ma problemu - temat rzeka.

Zajrzyjmy np. w ten zakamarek strony GIODO. Można tutaj wyłowić takie coś:

dostawcy usług internetowych oraz menedżerowie lokalnych sieci mogą, stosując rozsądne środki, zidentyfikować użytkowników internetu, którym przypisali adresy ip ponieważ systematycznie zapisują w plikach daty, czas trwania oraz dynamiczny adres IP (czyli ulegający zmianie po każdym zalogowaniu) przypisany danej osobie. To samo odnosi się do dostawców usług internetowych, którzy prowadzą rejestr (logbook) na serwerze HTTP Nie ma wątpliwości, że w takich przypadkach można mówić o danych osobowych, w rozumieniu art. 2 Dyrektywy

Macie Apache z włączonym logowaniem połączeń? Gratulacje, jesteście szczęśliwymi posiadaczami bazy danych osobowych. Na szczęście podobno logi są zwolnione z obowiązku rejestracji zgodnie z zasadą przetwarzania ich "w zakresie drobnych bieżących spraw życia codziennego". [źródło]

Po więcej można sięgnąć do dokumentu ABC zagrożeń bezpieczeństwa danych osobowych w systemach teleinformatycznych (na samym dole). Z tego dokumentu głoszącego radosną nowinę możemy szybko dowiedzieć się, że również adres e-mail może (ale nie musi (i co że nie musi?!)) być daną osobową. Mój e-mail - tomasz // karbownicki.com - z pewnością można uznać za daną osobową. Natomiast na stronie 24 dowiemy się, że również nick może być daną osobową, bo jeżeli ktoś podpisze się jako "Gniewomir z Kozich piętek" to mamy daną jak w mordę strzelił. Nawet jeżeli ktoś podpiszę się (nick) jako "Adam Kowalski z Opola, ul. Krakowska 907/34" i nie mamy pojęcia czy taka osoba w ogóle istnieje to i tak należy uważać to za daną osobową, do momentu aż będziemy wiedzieli, że taka osoba nie istnieje. Wówczas możemy z czystym sumieniem wykluczyć taką daną z naszego zbioru ściśle chronionych danych osobowych, dzięki czemu oszczędzimy oczywiście góry złota i lata pracy.

Ale wróćmy do budowy serwisu internetowego. Skoro wiemy już, że niemal wszystko co wpisze użytkownik może być daną osobową, możemy przystąpić do projektowania serwisu z uwzględnieniem mechanizmów ochrony danych osobowych. Oczywiście nawet jak użytkownik nic nie wpisze tylko wejdzie na stronę to i tak mamy jego IP w logu Apache'a, wiec za wiele do szczęścia nie trzeba (-;

Na początek musimy mieć serwer posiadający odpowiedni certyfikat, że spełnia on wszystkie wymogi wynikające z przepisów i jest gotowy do przechowywania na nim danych osobowych. Kiedy już znajdziemy taki serwer czas powitać "Wymagania dotyczące struktur baz danych osobowych oraz funkcjonalności zarządzających nimi aplikacji".

Art. 32 ust. 1 pkt. 5 w powiązaniu z §7 ust. 1 pkt. 4 rozporządzenia, stawia w odniesieniu do struktury bazy danych oraz aplikacji zarządzającej zbiorem danych osobowych wymaganie posiadania opcji umożliwiającej rejestrację daty, zakresu i sposobu udostępniania danych odbiorcom (w myśl art. 6 pkt. 7 ustawy), jeśli konieczność takiego udostępnienia wynika z przepisów prawa lub jest przewidziana przez administratora danych.

Jest to jak dla mnie najbardziej niedorzeczna część, która może sprawić, że mechanizmów tych będzie tyle samo co pozostałej części serwisu! Bo jeżeli nick może być daną osobową, to musimy zarejestrować każde udostępnienie komuś nicka. Załóżmy, że mamy widok strony głównej forum, gdzie obok tematów mamy nicki autorów ostatniego posta w wątku.

Forum ArchLinux

Wówczas każde odświeżenie strony wiąże się z koniecznością odnotowania w logu tego, że o godzinie XX:YY panu A zostały udostępnione dane: nick pana B, nick pana C, nick pana D ... Nie wspominając już o bardziej skomplikowanych stronach składających się z różnych elementów, z których każdy może zwierać dane osobowe. Dajmy na to stronę główna joggera.

Jogger - główna

Mamy tam listę najnowszych wpisów wraz z nickami autorów, najpopularniejsze wpisy razem z nickami autorów oraz najczęściej komentowane wpisy razem z nickami autorów. Teraz wyobraźmy sobie, że każdy taki element generuje jednego inserta do loga udostępniania danych osobowych i już mamy 3 inserty do bazy na każde odświeżenie strony (-: Nawet nie myślcie o bardziej skomplikowanych portalach :D Dołóżmy to, że każda zmiana w szablonie, która wprowadza wyświetlenie się np. nicka, e-maila wiąże się z odpowiednią modyfikacją mechanizmu logującego udostępnianie danych. Tym sposobem szybko odechce się każdemu tworzenia nowych widoków.

Na koniec zajrzyjmy jeszcze do "ABC zagrożeń bezpieczeńswtwa ...". Na stronie 85 znajdziemy rozdział "Zabezpieczenie elektronicznych formularzy". Na stronie 86 znajdziemy takie zdanie:

Ponadto transmisja danych między systemem administratora a komputerem rejestrującego się użytkownika powinna być zabezpieczona przy użyciu kryptograficznych środków ochrony danych (np. poprzez zastosowanie protokołu SSL).

O ile dobrze rozumiem to jeżeli przesyłamy do systemu swoje dane osobowe musimy tą transmisję zabezpieczyć np. poprzez SSL. Zestawmy to teraz z innymi danymi osobowymi, którymi jak wiemy mogą być np. adresy e-mail. Czy każdy formularz subskrypcji newslettera musi iść po SSL-u? Czy każdy formularz do napisania komentarza gdzie przesyłamy swój nick (dana osobowa) musi iść po SSL-u?

Chciałem zebrać dzisiaj wszystkie informacje niezbędne do postawienia serwisu zgodnego z GIODO. Niestety poległem :-( Z moich dotychczasowych ustaleń wynika, że nakład pracy potrzebny na ochronę danych osobowych sprawia, że zadanie stanie się niewykonalne. Dlatego będę wdzięczny za wszelkie informacje od Was dotyczące tego tematu. Może ktoś z Was postawił już coś takiego jak serwis zgodny z GIODO lub przynajmniej przeszedł kontrolę i wie co można olać...

PS. Proszę nie komentować tej notki bo formularz nie ma SSL-a a ja nie jestem pewien czy serwerownia Joggera ma odpowiednie certyfikaty ;-)

Rzecz o przyszłości internetu

Inne, Internet, Techblog 19 czerwca 2010 00:29

Tekst ten spisuje w dużej mierze z własnej ciekawości, aby czytając go za kilka lat móc sprawdzić jak na ile trafnie udało mi się przewidzieć przyszłość.

Creative Commons (by-nc-nd) - JaulaDeArdilla Będąc w podstawówce czasami mogłem całe dnie przesiedzieć na klepaniu przeróżnych programów w BASIC-u na moim postkomunijnym Commodore 64 (pozdrowienia dla fanów C&A). Kiedy jednak nastała era PC a ja zacząłem szperać po internecie czy to u kumpli czy w kawiarenkach, wówczas zauważyłem, że mój nie podłączony do internetu komputer stawał się coraz mniej użyteczny. Oczywiście nadal można było zrobić na nim 1k przeróżnych rzeczy jednak był jakiś taki... pusty. Wtedy zdałem sobie sprawę, że internet to przyszłość, bez której nie będzie można niedługo żyć. Brak internetu będzie równie odczuwalny jak brak prądu.

Kiedy poszedłem do technikum, do klasy informatycznej, postanowiłem wybrać sobie jakiś język programowania, w którym zacznę się szkolić, tak aby na studiach a później w pracy zawodowej mieć już go w małym palcu. W tamtych czasach w królestwie programowania prym wiodły takie języki jak C, C++ czy Delphi, w których to można było naklepać jakiś programy użytkowe, które wówczas były w cenie. Ja jednak nie widząc innej przyszłości poza internetem postawiłem na naukę tworzenia dynamicznych stron internetowych i związanych z nimi języków skryptowych od PHP poczynając.

Na studiach zauważyłem, że moja wizja przyszłości szybko się wypełnia. Coraz więcej polskich firm zaczęło dostrzegać potencjał internetu. Każda firma chciała mieć własną stronę internetową, które stopniowo z prostych HTML-owych wizytówek zaczęły przekształcać się z coraz bardziej zaawansowane systemy zarządzania treścią, ewidencji sprzedaży czy wspomagania zarządzaniem. Te coraz bardziej funkcjonalne systemy szybko zaczęły przyjmować funkcje aplikacji desktopowych stopniowo je zastępując (stan na dzień dzisiejszy).

Creative Commons (by-nc-nd) - taberandrew Do zalet aplikacji internetowych nie muszę chyba nikogo przekonywać. Świadczy o tym chociażby fakt, że za ich pomocą ja piszę ten tekst a Wy go czytacie (i za chwilę skomentujecie). Poza tym większość z Was zapewne używa np. internetowego klienta poczty, który automagicznie się aktualizuje, naprawia, zyskuje nowe funkcje czy backupuje. Jest to ogromna przewaga nad aplikacjami desktopowymi, które mogą przestać działać na 100 sposobów (wirusy, utrata danych, awaria jednego z wymaganych komponentów systemowych), natomiast póki działa Wam przeglądarka (a do tego nie trzeba wiele) do puty będą działały aplikacje internetowe (mówię oczywiście cały czas o przeglądarkowych aplikacjach).

Ok, więc mamy stan na dzień dzisiejszy, ale co dalej? Otóż moim zdaniem następnym krokiem będzie zmniejszenie roli komputerów osobistych na rzecz internetowych chmur czyli olbrzymich farm serwerów. Dowody takiego trendu możemy znaleźć już teraz. Wystarczy sprawdzić jaki komputer szybciej przeszuka zasoby internetu - nowe 8-rdzeniowe cacko czy stary pentium 500MHz? Oczywiście zrobią to w tym samym czasie bo zamiast robić to same zapytają o to serwerownie Googla. A który z nich znajdzie szybciej mail od kumpla sprzed 3 miesięcy? Oczywiście żaden, bo zajmą się tym serwery Googla na których operuje Gmail. Przykładów jest oczywiście znacznie więcej, można przecież zapytać który poradzi sobie lepiej z konwersją wideo wrzucanego na YouTube. Oczywiście jest to kolejne niewłaściwie zadane pytanie bo żaden z nich nie zajmuje się już konwersją, robią to internetowe serwery. A kto zaczyna wykrywać nam teraz wirusy znajdujące się na dopiero co podłączonej pamięci USB? Nie, nie nasz antywirus ale zewnętrze oprogramowanie antywirusowe przebywające w chmurach, do których lekki klient, działający w naszym systemie, wysyła próbki do analizy.

Przyszłość jest w chmurach Widzimy więc, że kolejnym naturalnym krokiem na tej ścieżce jest odchudzenie komputerów osobistych do roli wyłącznie klientów internetowych chmur (patrz Chrome OS). Oczywiście nadal pozostają programy, których nie da się póki co wyprzeć z desktopów. Bo jak zastąpić programy typu Photoshop, CAD, programy do obróbki wideo czy zaawansowane graficznie gry przez aplikacje przeglądarkowe. To rzecz jasna nie stanie się w najbliższych latach, chociażby dlatego, że nie istnieje jeszcze odpowiednia technologia, w której te aplikacje mogły by powstać. IMO HTML5 dopiero będzie w stanie zapewnić dobry budulec dla aplikacji internetowych typu pakiety biurowe, a do reszty jeszcze daleko. Co prawda rzeczami typu Flash czy WebGL będzie się dało zapchać wiele dziur jednak gra napisana w WebGL choć do działania będzie wymagała wyłącznie przeglądarki to jednak całość operacji graficznych nadal pozostanie do wykonania po stronie klienta.

Creative Commons (by-nc-nd) - stadtstreicher79 Na końcu dochodzimy więc do punktu, w którym wszelkie operacje wymagające większej mocy obliczeniowej przerzuconą zostaną do chmur. Widzę to na podobnej zasadzie jak odbywają się sesje VNC. Nasz komputer będzie logował się do najbliższego nam centrum cyfrowego i stamtąd otrzyma gotowy do wyświetlenia na monitorze obraz. Zalet takiego systemu jest wiele. Po pierwsze znika problem skalowalności. Obecnie rynek gier komputerowych jest w znacznym stopniu motorem napędowym do zmiany podzespołów komputerowych na nowsze. Jednak w przypadku centrów cyfrowych problem ten nie istnieje. Jeżeli tylko będziemy chcieli pograć w najnowszą grę to po prostu w nią pogramy ponieważ system będzie miał do dyspozycji olbrzymie zasoby obliczeniowe, które będzie przydzielał użytkownikom w zależności od ich zapotrzebowania. Chociaż centra cyfrowe wydają się trochę nierealnym pomysłem to jednak nie odbiegają one za bardzo od dzisiejszych sieci energetycznych. Każdy z nas będzie podłączony do najbliższego centrum cyfrowego podobnie jak obecnie podłączony jest do najbliższej elektrowni i każdy będzie otrzymywał tyle mocy obliczeniowej ile aktualnie potrzebuje (podobnie jak z energią elektryczną). Z tej perspektywy sprawa wygląda już całkiem normalnie. Kolejna ogromna zaleta jest taka, że podobnie jak teraz wykwalifikowani pracownicy obsługują elektrownie, również specjaliści od sprzętu będą obsługiwali centra obliczeniowe. To zupełnie tak jak by każdy z nas miał w domu własnego informatyka. Skończą się zawirusowane systemy działające na ćwierć gwizdka, z którymi zwykły użytkownik nie daje sobie rady. Poza tym aktualizacja takiego centrum cyfrowego będzie wiązała się z wymianą macierzy dyskowej klasy 1 na macierz klasy 2, czy wymianą jednostki głównej posiadającej 4k procesorów klasy 1 na jednostkę z 100k procesorów klasy 2 i po bólu. Wreszcie komputerami zajmą się specjaliści a użytkownikom pozostanie... użytkowanie :-)

Co do zestawów komputerowych do szacuję, że będą one składały się wyłącznie z monitora, myszki i klawiatury (o ile ktoś nie wymyśli czegoś bardziej poręcznego) oraz urządzeń peryferyjnych typu kamera czy drukarka. Będą one spięte ze sobą siecią bezprzewodową. Wszystko inne znajdowało będzie się w chmurach. Ktoś spyta a co np. ze zgrywaniem zdjęć z aparatu skoro nie będziemy mieli obudowy komputera do której można będzie wsadzić kabel USB czy kartę pamięci. Otóż sprawa jest prosta, wszelkie urządzenia peryferyjne będą również klientami sieci internet i będą przesyłały dane prosto do chmur, a więc żadna obudowa z portami nie będzie nam potrzebna.

Na tym już zakończę moje przemyślenia co by niepotrzebnie nie wydłużać tekstu. To jak, kto się założy, że tak będzie? :-)

Google Font API

Internet, Techblog 19 maja 2010 23:29

Google pchnął dzisiejszego dnia sieć o dobre kilka kroków do przodu. Nie dość, że pojawił się projekt WebM, który prawdopodobnie raz na zawsze wydrze internetowe wideo z rąk Adobe i odda w ręce standardów, to jeszcze udostępniona dziś usługa Google Font API ma zamiar wzbogacić wreszcie strony w nowe fonty! Koniec cudowania z podmieniamiem tekstu przez obrazki, Flasha, canvasa czy inne cuda na kiju. Wreszcie wygląda to maksymalnie prosto i przejrzyście.

Wystarczy wybrać czcionkę z katalogu, wstawić odnoszący się do niej nagłówek:

‹link href='http://fonts.googleapis.com/css?family=Yanone+Kaffeesatz' rel='stylesheet' type='text/css'›

I już możemy korzystać z czcionki w CSS-ie:

h1 { font-family: 'Yanone Kaffeesatz', arial, serif; }

Wynik:
Wynik

No wreszcie! Czyżby Google nadrabiało za wpadkę z WIFI?

PlayFlash czyli YouTube i MPlayer

Internet, Linux, Techblog 19 maja 2010 22:14

Jak wiemy VP8 jest już w drodze, jednak do czasu pełnego wdrożenia pozostanie nam jeszcze użerać się z Flashem na nie bardzo wspieranych przez Adobe platformach tj. Linux czy Mac. Ułomność obsługi Flasha widoczna jest zwłaszcza przy wideo w wyższych rozdzielczościach.

Powstało już wiele rozwiązań tego problemu jak np. podmiana playera Flashowego na MPlayera lub wywoływanie w konsoli skryptów, które jako parametr dostają adres URL do filmu na YouTube.

Rozwiązania te nie są jednak jak dla mnie zbyt wygodne, ponieważ MPlayer nie jest w stanie zastąpić playera Flashowego, z racji tego, że np. nie zbuforuje filmu od wybranego fragmentu czy też nie umożliwi nam zmiany rozdzielczości filmu. Natomiast uruchamianie skryptu z podaniem mu adresu URL jest co by nie mówić nieporęczne, bo po co klikać dziesięć razy skoro można dwa.

Wiadomo, że ładujący się film z YouTube'a tworzy plik w katalogu /tmp/ o nazwie FlashXX... Wystarczy więc wyłapać najnowszy plik z tego katalogu o takiej nazwie i uruchomić go za pomocą naszego ulubionego odtwarzacza. Całe sterowanie można wykonać za pomocą standardowego Flashowego playera YouTube np. wybór rozdzielczości i ustawienie odpowiedniego miejsca startu filmu (np. od 2 minuty) a później skryptem ukrytym w ikonce lub skrócie klawiszowym uruchomić nasz natywny player i rozsiąść się wygodnie w fotelu.

Skrypt jest banalnie prosty:

/usr/bin/mplayer /tmp/`ls /tmp/ -tr | grep Flash | tail -1`

Ja mam go podpięty pod ikonkę dzięki temu używanie wymaga dwóch kliknięć (pauza w playerze YouTube i odpalanie skryptu).

PlayFlash w akcji

« Nowsze | Strona 2 z 12 | Starsze »