Skocz do zawartości
Forum Kopalni Wiedzy
KopalniaWiedzy.pl

Chcą, by Google płacił wielomiliardowe odszkodowanie za śledzenie w trybie incognito

Rekomendowane odpowiedzi

Wydaje mi się, że wyższe zarobki wynikają z firm, które zatrudniają takich COBOL'owych jednorożców. Podejrzewam, że to są na przykład banki albo duże firmy z branży finansowej. Na pewno nie są to startupy, które walczą o przetrwanie, a pracowników przyciągają trickami typu stół bilardowy w kantynie 2x3m czy elastyczne godziny pracy (od rana do późnego wieczora) ;) Tam królują na back-endzie języki jak Ruby on Rails, a po stronie klienta coś na React czy cokolwiek jest teraz modne.

Jeden z moich znajomych odszedł do pracy w banku, gdzie płacili mu znacznie więcej za klepanie kodu w miarę nowoczesnym frameworku JS jako senior full-stack developer, o ile mnie pamięć nie myli.

 

2 hours ago, Jajcenty said:

A mnie i owszem, dziwi. Pisałem w COBOLu przez ponad 18 lat i w mojej opinii lubienie tego zakrawa na syndrom sztokholmski. Ale trzeba przyznać, że miał ładne struktury danych, choć przy niskich poziomach trzeba było uważać, bo kompilator lubił coś dosunąć do granicy słowa dorzucając w strukturę parę gap bajtów.

Jakbym wiedział, to byłbym mniej wredny w stosunku do Ciebie na forum :lol:

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
13 godzin temu, Astro napisał:

to takie perełki jak IOCCC.

mam wystarczająco dużo problemów, żeby zrozumieć swój własny kod :D Jak widzę zapis typu int *** to wiem, że popłynąłem. choć właściwie, tablica tablic - dlaczego nie?

11 godzin temu, cyjanobakteria napisał:

Jakbym wiedział, to byłbym mniej wredny w stosunku do Ciebie na forum

Chyba powinieneś być wredny w mniej zawoalowany sposób. Moja lista aktualnych wrogów jest pusta. Więc mówisz, że powinieneś na niej być? Strzelałeś mi ze stanika, a ja tego nie zauważyłem? Hm..

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
2 godziny temu, Jajcenty napisał:

Jak widzę zapis typu int *** to wiem, że popłynąłem. choć właściwie, tablica tablic - dlaczego nie?

Mi jakoś te rzeczy "podchodziły", lubiłem książki Jana Bieleckiego (pamiętne **++p--->ref chociażby). Aczkolwiek teraz już nie jestem pewien, czy dobrze pamiętam różne niuanse. Btw trzy gwiazdki to raczej chyba nie pójdzie jako tablica tablic, tylko jedna gwiazdka była z grubsza równoważna tablicy, resztę trzeba było już "pobożnie" zapisywać jako [] z tego co pamiętam.

Czyli int *[] albo int []* (nie jestem pewien kolejności, ale chyba pierwsze). :)

Edytowane przez darekp

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
11 minut temu, darekp napisał:

esztę trzeba było już "pobożnie" zapisywać jako [] z tego co pamiętam.

Można, ale nie trzeba. :D Na tym polega piękno wskaźników i C w sczególności. Klasyczny przykład:

 

while (*s++ = *t++); //z wiki

Dlatego wskaźnik traktuję jak tablice :D

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Tak, ale tu operujesz na wskaźnikach "jednogwiazdkowych" a przy wyższej liczbie gwiazdek to chyba był jakiś problem.

P.S. Bo to są różne sytuacje, gdy inkrementujesz wskaźnik do wskaźnika lub wskaźnik do tablicy (różny sizeof na ogół). Ale nie wykluczam, że rzeczywiście kiedyś dawno temu tego nie zrozumiałem.

P.S.2 Sprawdziłem u mnie Visual Studio przy takim kodzie

int t[10][10];
int main()
{
    int **p = t;
    return 0;
}

wywala błedy:

Cytat

a value of type "int (*)[10]" cannot be used to initialize an entity of type "int **"

'initializing': cannot convert from 'int [10][10]' to 'int **'

 

Prawidłowy kod to:

int t[10][20];
int main()
{
    int (*p)[20] = t;
    return 0;
}

(i te nawiasy okrągłe otaczające p są tu niezbędne, bez nich kompilator zinterpretowałby "p" jako tablicę dziesięciu wskaźników).

Edytowane przez darekp
  • Pozytyw (+1) 1

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Godzinę temu, darekp napisał:

zinterpretowałby "p" jako tablicę dziesięciu wskaźników

Sprostowanie, oczywiście miało być "tablicę dwudziestu wskaźników". Albo precyzyjniej 20-elementową tablicę wskaźników.

Edytowane przez darekp

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
5 godzin temu, darekp napisał:

Tak, ale tu operujesz na wskaźnikach "jednogwiazdkowych" a przy wyższej liczbie gwiazdek to chyba był jakiś problem.

P.S. Bo to są różne sytuacje, gdy inkrementujesz wskaźnik do wskaźnika lub wskaźnik do tablicy (różny sizeof na ogół). Ale nie wykluczam, że rzeczywiście kiedyś dawno temu tego nie zrozumiałem.

większość moich programów zaczynała się 

int main( int argc, char** argv) {...}

Na pewno da się znaleźć zastosowanie i dla trzeciej gwiazdki :D Nie pamiętam już tylko czy przy inkrementacji wskaźnika kompilator umiał uwzględnić rozmiar własnych typów (struct czy union) czy trzeba było dodawać sizeof(). Czuję się usprawiedliwiony pisałem w tym w latach 90 ubiegłego stulecia ;)

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Z tego, co pamiętam to gwiazdki należą do nazwy zmiennych. Przypomniałem sobie o tym niedawno, jak próbowałem być cwany i zadeklarować dwa wskaźniki na raz, co oczywiście skończyło się tym, że wskaźnikiem była tylko pierwsza zmienna ;)

# BAD
int* test, test2;

# GOOD ;)
int *test, *test2;

 

  • Pozytyw (+1) 1

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
1 godzinę temu, Jajcenty napisał:

większość moich programów zaczynała się 

int main( int argc, char** argv) {...}

Tak, bo do main jest przekazywana tablica wskaźników, a nie tablica dwuwymiarowa. To są dwa różne typy dla kompilatora.

 

1 godzinę temu, Jajcenty napisał:

Na pewno da się znaleźć zastosowanie i dla trzeciej gwiazdki

Oczywiście, że się da. Jedna gwiazdka to wskaźnik, dwie gwiazdki to wskaźnik do wskaźnika, trzy to wskaźnik do wskaźnika do wskaźnika itd. Mam w pracy kolegę, który w żartach w zależności od liczby gwiazdek używa odpowiednich stopni wojskowych, cztery gwiazdki to zdaje się generał i on twierdzi (możliwe, że od kogoś to słyszał), że w praktyce w kodzie wskaźników powyżej generała się nie spotyka:)

 

P.S. Kompilujący się pod Visual Studio przykład (C++):

const char tablica2d[][20] = {"ala", "ola"};
const char *argv[] = { "ala", "ola" };

int main()
{
	const char *p1 = tablica2d[1];
	const char **p2 = argv;
	const char ***p3 = &p2;
	const char ****general = &p3;
	return 0;
}

Ale spróbuj dla któregoś z tych wskaźników zrobić przypisanie, w którym po prawej stronie jest tablica2d - nie da się.

2 godziny temu, Jajcenty napisał:

Nie pamiętam już tylko czy przy inkrementacji wskaźnika kompilator umiał uwzględnić rozmiar własnych typów (struct czy union) czy trzeba było dodawać sizeof()

Uwzględniał rozmiar. Bezdyskusyjnie.

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

 

Godzinę temu, darekp napisał:

Tak, bo do main jest przekazywana tablica wskaźników, a nie tablica dwuwymiarowa. To są dwa różne typy dla kompilatora.

Tablica wskaźników do  tablic znaków. Jeśli miałbym wskazać istotną różnicę do powiedziałbym że tablice są ciągłe w pamięci, podczas gdy wskaźniki mogą i wskazywać obszary nieciągłe. Zatem tab[][] ciągłe, **tab nieciągłe.

Godzinę temu, darekp napisał:

cztery gwiazdki to zdaje się generał

Kapitan, 3 to porucznik, 2 podporucznik. Ale trochę zależy od ozdobników: z lamówką to zaledwie chorąży :D

 

Godzinę temu, darekp napisał:

Oczywiście, że się da. Jedna gwiazdka to wskaźnik, dwie gwiazdki to wskaźnik do wskaźnika, trzy to wskaźnik do wskaźnika do wskaźnika itd.

To była lekka ironia ;) . Od tego zaczęliśmy. Napisałem, że kiedy widzę napis *** to wiem że odpłynąłem. Kilka razy zdarzyło mi napisać coś tak straszliwie generycznego, ale niestety kod przepadł... i dobrze C to nie jest język do zastosowań biznesowych :D

 

Edytowane przez Jajcenty

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
2 godziny temu, Jajcenty napisał:

To była lekka ironia

Mea culpa, nie załapałem, ostatnio jestem trochę zabiegany i nieuważnie przeczytałem :D

Za to zaciekawiło mnie to, że w COBOLu są ładne struktury danych, spróbuję kiedyś doczytać, bo na razie COBOL to dla mnie abstrakcja, jestem z innego pokolenia,  w liceum uczyłem się BASICa na Spectrum, a na studiach był Pascal (a ja gdy tylko mogłem, wyłamywałem się i pisałem w C).

Edytowane przez darekp

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
W dniu 18.09.2020 o 16:40, cyjanobakteria napisał:

Skoro sam przestałeś klepać kod w 2002

Wtedy zacząłem pisać w Ruby, nie rozumiem tej implikacji. Przestałem pisać w 2017.

W dniu 18.09.2020 o 17:17, Astro napisał:

Dlatego ludkowie piszący drive'y do lodówek, odkurzaczy i pralek zarabiają nieźle, i wciąż są poszukiwani.

To już od dawna pisze się w C i wyżej. Chyba że ktoś oszczędza milicenty i korzysta z 6502 ;)
 

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
2 godziny temu, Astro napisał:

Smutne. Dlatego taniej zatrudnić pięciu niskoczólkowych od sprawnego klepania rzeczy, które zamiast w pięćdziesięciu da się zmieścić w dwóch pięknych i czytelnych linijkach.

Kod w Javie jest około dwukrotnie krótszy od analogicznego kodu w C++, wyłącznie ze względu na brak konieczności ręcznej alokacji pamięci.
Spotkałem się z opiniami "wymiataczy", że c++ powstał po to, aby kiepski programista był w stanie napisać to samo co oni potrafią w c. To co nie dotarło do tych wysokich czułek to fakt, że wymiatacz w c++ jest w stanie napisać znacznie więcej funkcjonalności niż wymiatacz w c, do tego lepiej i często działającej znacznie (dzięki metaprogramowaniu) szybciej. Z Javą w stosunku  do C++ jest podobnie - są domeny gdzie tworzy się znacznie szybciej i lepiej.

3 godziny temu, Astro napisał:

Niedługo już nie będzie potrzeba programistów, bo wystarczą karmiciele sieci neuronowych. Do tego wystarczy chyba zresztą jakieś technikum, albo i szkoła zawodowa.

Z początku wysokiej klasy analitycy. Wyobrażam sobie to w ten sposób, że po ustaleniu kierunku sieć będzie się dopytywać pewnych szczegółów. Kluczowe dla nauki będą istniejące systemy informatyczne, i sieć będzie się uczyć w trójkącie   wymagania->funkcjonująca aplikacja-> kod.
Nie bardzo widzę zadania dla osób "po zawodówce" których nie jest w stanie przejąć AI, gdy już obecnie pracę tracą osoby po studiach. Chyba że karmiciele dokładnie w taki sam sposób, jak kot jest karmicielem algorytmów do rozpoznawania obrazów. Też nie trzeba, wszystko jest już na Youtube :P



 

  • Pozytyw (+1) 1

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Tu się zgodzę. Odświeżyłem niedawno C, jak już wspomniałem, i miałem szybki catchup z rzeczywistością. Prosty program, który obsługuje argument wejściowy i wykona na nim prostą operację typu porównanie albo jakieś sprawdzeniu czy istnieje i otwarcie pliku, to jest 20-30 linii kodu. Cała ferajna: sprawdzanie długości stringa, alokacja/dealokacja pamięci, porównanie, sprawdzanie wyjścia z funkcji pod kątem błędów, jeszcze rzut okiem czy na pewno nie ma buffer overflow, itd... To jest strasznie męczące na dłuższą metę. Dlatego szanuję i podziwiam deweloperów kernela Linuksa. Sam muszę przed śmiercią obowiązkowo podesłać kilka patchy ;) Może jakiś drobny sterownik z błędem naprawię.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
6 godzin temu, peceed napisał:

ręcznej alokacji pamięci

Oczywiście dealokacji.

5 godzin temu, cyjanobakteria napisał:

Sam muszę przed śmiercią obowiązkowo podesłać kilka patchy ;) Może jakiś drobny sterownik z błędem naprawię.

To by wiele tłumaczyło: banda podstarzałych sklerotyków pisała coś w C wieki temu i tuż przed śmiercią zabiera się za programowane systemowe ;)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
3 godziny temu, peceed napisał:

To by wiele tłumaczyło: banda podstarzałych sklerotyków pisała coś w C wieki temu i tuż przed śmiercią zabiera się za programowane systemowe

To ja się odetnę od tego co napisał @cyjanobakteria - mnie klimaty w rodzaju grzebania w kernelu Linuxa w ogóle nie kręcą :P

Gdy pisałem, że czasem mam chęć podłubać jeszcze coś coś w C, to m. in. dlatego, że czasem mam chęć sobie popróbować jakichś alternatywnych sposobów zarządzania pamięcią. Wiadomo, że niczego genialnego nie wymyślę, ale fajnie byłoby sobie wyrobić jakieś zdanie na temat alternatyw w stosunku do garbage collectora itp. mainstreamu, może fajnie byłoby znaleźć jakieś niszowe, hobbystyczne "coś", co może i wymaga pisania trochę dłuższego kodu, ale w zamian daje zalety których nie daje GC. Rust zdaje się poszedł tą drogą. Garbage collector też ma swoje wady, zwalnia pamięć nie wiadomo  kiedy, już poprawiałem błędy na produkcji wynikające z tego, że ktoś nie w C# zapomniał wsadzić jakiś zasób w using().

Druga sprawa to struktury danych. Nawet w C# i Java gdy zrobić bardziej skomplikowany algorytm, to trzeba rzeźbić za pomocą List<>, Dictionary<> i pokrewnych. Napisany kod jest taki, że trudno potem na pierwszy rzut oka zorientować się, o co w nim chodzi a to czasem bywa istotne (Linq pomaga, jeśli chodzi o odczyt z takich struktur danych, ale  ich wypełnianie/budowanie to na ogół mało czytelna sprawa). W bazach danych można utworzyć tabelę i jeśli okaże się, ze jest nieefektywność, to często wystarczy dołożyć indeks i po sprawie. W C#/Java nie da się zrobić niczego w rodzaju var employee = new Table<string FirstName, string LastName, pozostałe_pola>(). Składnia nie pozwala. Tak naprawdę brakuje jakichś fajnych, bardziej wysokopoziomowych struktur danych. To też jest taki obszar, że korci, żeby samemu pokombinować, wymyślić jakieś alternatywy do mainstreamu, może nawet wymagające jakichś zmian w składni języka programowania.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
59 minut temu, darekp napisał:

W C#/Java nie da się zrobić niczego w rodzaju var employee = new Table<string FirstName, string LastName, pozostałe_pola>(). Składnia nie pozwala.

c# Uzywając DataSet/DataTable powinno się dać emulować w miarę generycznie. Masz też entityframewrok i parę innych maperów, reflection, anonymous objects, no i wreszcie ViewBag! To powinno wystarczyć by zjepsuć każdy program. Przecież to samo zuo :D BTW a wiedziałeś że w Pythonie można do instancji dodać lub usunąć atrybut? Jakie pole do robienia psikusów kolegom.

 

Edytowane przez Jajcenty

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
1 godzinę temu, Jajcenty napisał:

BTW a wiedziałeś że w Pythonie można do instancji dodać lub usunąć atrybut? Jakie pole do robienia psikusów kolegom.

Nie wiedziałem, ale też mnie niezbyt dziwi:) Słyszałem, że w pierwszych wersjach Fortranu można było zrobić przypisanie 2 = 3 i potem też niech koledzy szukają błędu :D Zdaje się, że w jakimś w miarę nowoczesnym języku też coś podobnego daje się zrobić tylko nie pamiętam szczegółów (jeden z mniej popularnych języków). Oczywiście w C też się da: najpierw #undef TRUE, potem #define TRUE FALSE  :D

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
3 hours ago, darekp said:

To ja się odetnę od tego co napisał @cyjanobakteria - mnie klimaty w rodzaju grzebania w kernelu Linuxa w ogóle nie kręcą :P

Kernel to ciekawy projekt swoją drogą. Jest to najszybciej rozwijane oprogramowanie na  świecie. Nawet MS nie jest w stanie nadążyć z rozwojem systemu Windows. Widziałem kiedyś prezentację Grega Kroah-Hartmana, gdzie wspominał, że mają 5-10 łat na godzinę, 24/7, 365 dni w roku. Wszystkie łatki są niewielkie, kilka-kilkanaście linijek wyjścia z diff'a, jeden ekran tekstu lub mniej.

 

50 minutes ago, darekp said:

Słyszałem, że w pierwszych wersjach Fortranu można było zrobić przypisanie 2 = 3 i potem też niech koledzy szukają błędu :D 

Widziałem w necie fragment kodu w JS, który powstał zadaje się jako dowcip. Nie znajdę tego teraz, ale to była zakamuflowana, niskopoziomowa zmiana w sposobie w jaki działają typy boolean. Porównanie (true === true) zwróciłoby false, losowo, mniej więcej 1 na kilkaset prób :lol:

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
6 godzin temu, darekp napisał:

Napisany kod jest taki, że trudno potem na pierwszy rzut oka zorientować się, o co w nim chodzi a to czasem bywa istotne (Linq pomaga, jeśli chodzi o odczyt z takich struktur danych, ale  ich wypełnianie/budowanie to na ogół mało czytelna sprawa). W bazach danych można utworzyć tabelę i jeśli okaże się, ze jest nieefektywność, to często wystarczy dołożyć indeks i po sprawie. W C#/Java nie da się zrobić niczego w rodzaju var employee = new Table<string FirstName, string LastName, pozostałe_pola>(). Składnia nie pozwala.

Pozwala, pozwala. Tylko trzeba stworzyć funkcje pomocnicze, dla przykładu, stosując maksymalny skrótowiec: 
Table employee = D.table(firstName,lastName,pozostałePola());
Helpery ładnie rozwiązują też kwestie tworzenia bardziej skomplikowanych struktur. Można spokojnie tworzyć bardzo rozbudowane obiekty za pomocą hierarchii Builderów.
Tak że jedynym prawdziwym problemem jest reprezentacja grafów w postaci liniowej, nieintuicyjna dla mózgu, każdy tekstowy język programowania ma ten sam problem. Bez rysunków pomocniczych w dokumentacji się nie obędzie i wspomniane języki wspierają umieszczanie odnośników w komentarzach :P
W dzisiejszych czasach  to można zrobić zdjęcie odręcznych notatek i rysunków i wrzucić do repozytorium.

 

Edytowane przez peceed

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Cyknąć zdjęcie i wrzucić do zamrażarki na wieczne przechowanie. Ktoś widział kiedyś aktualną dokumentację kodu w firmie? ;)

Z sieciami jest podobnie. Większość diagramów i dokumentacji z jakimi miałem do czynienia była nieaktualna. Hakerzy się włamują, bo znają atakowane sieci i wszystko to, co w nich siedzi, lepiej niż firmowi admini ;)

Edytowane przez cyjanobakteria

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
15 godzin temu, darekp napisał:

W C#/Java nie da się zrobić niczego w rodzaju var employee = new Table<string FirstName, string LastName, pozostałe_pola>(). Składnia nie pozwala.

Ok, źle sparsowałem wyrażenie :) Chyba poproszę o opis wymaganej funkcjonalności w języku naturalnym, to lepsze niż domyślanie się znaczenia na podstawie nieistniejącej składni :)

15 godzin temu, darekp napisał:

Tak naprawdę brakuje jakichś fajnych, bardziej wysokopoziomowych struktur danych.

Czy chodzi o literały dla bardziej skomplikowanych struktur?

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się

  • Podobna zawartość

    • przez KopalniaWiedzy.pl
      Google ujawniło swoją pilnie strzeżoną tajemnicę. Koncern, jako pierwszy dostawca chmury obliczeniowej i – prawdopodobnie – pierwszy wielki właściciel centrów bazodanowych, zdradził ile wody do chłodzenia zużywają jego centra obliczeniowe. Dotychczas szczegóły dotyczące zużycia wody były traktowane jak tajemnica handlowa.
      Firma poinformowała właśnie, że w ubiegłym roku jej centra bazodanowe na całym świecie zużyły 16,3 miliarda litrów wody. Czy to dużo czy mało? Google wyjaśnia, że to tyle, ile zużywanych jest rocznie na utrzymanie 29 pól golfowych na południowym zachodzie USA. To też tyle, ile wynosi roczne domowe zużycie 446 000 Polaków.
      Najwięcej, bo 3 miliardy litrów rocznie zużywa centrum bazodanowe w Council Bluffs w stanie Iowa. Na drugim miejscu, ze zużyciem wynoszącym 2,5 miliarda litrów, znajduje się centrum w Mayes County w Oklahomie. Firma zapowiada, że więcej szczegółów na temat zużycia wody przez jej poszczególne centra bazodanowe na świecie zdradzi w 2023 Environmental Report i kolejnych dorocznych podsumowaniach.
      Wcześniej Google nie podawało informacji dotyczących poszczególnych centrów, obawiając się zdradzenia w ten sposób ich mocy obliczeniowej. Od kiedy jednak zdywersyfikowaliśmy nasze portfolio odnośnie lokalizacji i technologii chłodzenia, zużycie wody w konkretnym miejscu jest w mniejszym stopniu powiązane z mocą obliczeniową, mówi Ben Townsend, odpowiedzialny w Google'u za infrastrukturę i strategię zarządzania wodą.
      Trudno się jednak oprzeć wrażeniu, że Google'a do zmiany strategii zmusił spór pomiędzy gazetą The Oregonian a miastem The Dalles. Dziennikarze chcieli wiedzieć, ile wody zużywają lokalne centra bazodanowe Google'a. Miasto odmówiło, zasłaniając się tajemnicą handlową. Gazeta zwróciła się więc do jednego z prokuratorów okręgowych, który po rozważeniu sprawy stanął po jej stronie i nakazał ujawnienie danych. Miasto, któremu Google obiecało pokrycie kosztów obsługi prawnej, odwołało się od tej decyzji do sądu. Później jednak koncern zmienił zdanie i poprosił władze miasta o zawarcie ugody z gazetą. Po roku przepychanek lokalni mieszkańcy dowiedzieli się, że Google odpowiada za aż 25% zużycia wody w mieście.
      Na podstawie dotychczas ujawnionych przez Google'a danych eksperci obliczają, że efektywność zużycia wody w centrach bazodanowych firmy wynosi 1,1 litra na kilowatogodzinę zużytej energii. To znacznie mniej niż średnia dla całego amerykańskiego przemysłu wynosząca 1,8 l/kWh.

      « powrót do artykułu
    • przez KopalniaWiedzy.pl
      Nikt nie lubi być śledzony - nie ma w tym nic dziwnego. Faktem jest jednak, że ogromne korporacje gromadzą różnego rodzaju dane na temat Twojej aktywności w internecie. Informacje te wykorzystywane są przez nie przede wszystkim w celach marketingowych. W jaki sposób firmy śledzą Twoje działania i jak się przed tym chronić?
      Mechanizmy śledzenia w internecie. Jak korporacje zdobywają informacje na Twój temat?
      Wszystkie działania, które podejmujesz w internecie zostawiają na Twoim komputerze i serwerach firm wiele śladów. Nieustannie pozostawiasz w sieci chociażby informacje na temat swojej lokalizacji (poprzez adres IP przypisany do Twojego komputera), preferencji i potencjalnych działań w przyszłości.
      Techniki, które wykorzystują korporacje do śledzenia są na tyle subtelne, że prawdopodobnie nigdy nawet nie rzuciły Ci się w oczy. Które z nich są najczęściej stosowane w dzisiejszych czasach?
      Pliki cookies - popularne "ciasteczka"
      Zdecydowanie najpopularniejszym i najskuteczniejszym narzędziem do śledzenia aktywności użytkowników są pliki cookies, nazywane inaczej ciasteczkami. Zasadniczo są one plikami tekstowymi o niewielkich rozmiarach, które przechowuje Twój komputer. Gromadzisz je po prostu odwiedzając kolejne strony internetowe i przeglądając je.
      Plik cookie stanowi informację o Twojej aktywności dla strony internetowej, którą odwiedzasz. Przykładowo - załóżmy, że wpisujesz w wyszukiwarkę hasło “płaszcz męski”, ponieważ jesteś zainteresowany jego kupnem. Później przeglądasz różne sklepy internetowe, porównujesz ceny i produkty - w międzyczasie Twój komputer gromadzi ciasteczka. Kiedy rozeznasz się nieco w ofercie rynku, zamykasz przeglądarkę.
      Po pewnym czasie wznawiasz poszukiwania - tym razem jednak, kiedy wejdziesz na jakąś stronę, otrzyma ona informację o tym, że odwiedzasz ją po raz kolejny. Czemu to służy? Korporacje mogą w ten sposób spersonalizować reklamy, które widzisz na stronie. Zamiast promocji przypadkowych produktów będą Ci się wyświetlać oferty kupna płaszczy w okazyjnej cenie. Co więcej - częstą praktyką korporacji jest manipulowanie cenami i ofertami.
      Bazują one na danych odnośnie Twoich wcześniejszych zachowań. Jeśli podczas szukania płaszcza męskiego dodałeś produkt lub kilka produktów do koszyka, może Cię na przykład śledzić reklama proponująca darmową dostawę czy kod rabatowy. Ponadto, przy następnych odwiedzinach na stronie całkiem możliwe, że ceny towarów będą w jakiś sposób zmodyfikowane. Można się z tym spotkać niemalże w każdej branży działającej internecie. Tego typu praktyki wykorzystywane są chociażby przez duże linie lotnicze, hotele czy wypożyczalnie samochodów.
      Statystyka udowadnia skuteczność takiego rozwiązania, a w praktyce precyzja tego narzędzia jest o wiele większa, niż w podanym przykładzie. Firmy motywują w ten sposób użytkowników do szybszego kupna, co przekłada się na większe zyski.
      Adres IP - sieciowy identyfikator Twojego komputera
      Niemalże każdy komputer podpięty do sieci posiada swój unikalny adres IP. Dla korporacji stanowi on informację dotyczącą przede wszystkim Twojej lokalizacji. Jej znajomość pozwala - po raz kolejny - na wyświetlenie reklamy spersonalizowanej względem Twoich potrzeb. Przykładowo - jeśli jesteś mieszkańcem Warszawy, po wyszukaniu płaszczy męskich w Google i odwiedzeniu kilku stron, zaczną Ci się wyświetlać materiały promocyjne. Będą one jednak dotyczyć nie tylko odwiedzonego sklepu internetowego, ale na przykład fizycznego punktu dystrybucji na terenie Warszawy, razem z adresem i numerem kontaktowym.
      Narzędzie do sprawdzania własnego adresu IP: https://ip.pc.pl/
      Odcisk palca przeglądarki, czyli nowoczesne narzędzie śledzące
      Odciski palców przeglądarki lub urządzenia są jedną z najnowocześniejszych metod, za pomocą których korporacje śledzą Twoją aktywność w sieci. Pozwalają one na identyfikację danego użytkownika w oparciu o specyficzne ustawienia przeglądarki lub inne jej cechy charakterystyczne. Co ciekawe - ta identyfikacja jest możliwa nawet w sytuacji, gdy na bieżąco czyścisz pliki cookies i ukryjesz swój adres IP.
      Ochrona prywatności w internecie - jak możesz zabezpieczyć się przed gromadzeniem danych przez korporacje?
      Zabezpieczenie przed śledzeniem w internecie okazuje się dość trudnym zadaniem. Możesz bowiem wyłączyć systemy takie jak JavaScript, za pośrednictwem których jesteś śledzony. Problemem jest jednak to, że większość stron internetowych opiera swoje funkcjonowanie właśnie na nich.
      Jeśli chcesz uchronić się przed zostawianiem odcisków palców w internecie, musisz skonfigurować swoją przeglądarkę tak, aby nie wyróżniała się żadnymi cechami szczególnymi. Istnieją specjalne narzędzia, które pozwalają określić, w jakim stopniu możliwe jest zidentyfikowanie Cię w internecie. Przykładami mogą być chociażby programy takie jak AmIUnique czy Uniquemachine. Pomocne mogą okazać się także blokery reklam (jak np. uBlock czy Ghostery) oraz blokery śledzenia (DoNotTrackMe czy Disconnect), które uniemożliwiają korporacjom personalizację reklam i manipulowanie cenami czy ofertami.
      Programy i usługi uniemożliwiające śledzenie oraz gromadzenie danych często możemy znaleźć w ofercie firm zajmujących się szeroko rozumianym bezpieczeństwem w sieci. Istnieje również wiele samodzielnych produktów tego rodzaju, które możemy łatwo znaleźć w wyszukiwarce lub dedykowanych stronach.
      Przeczytaj: 4 narzędzia, które pozwolą Ci zachować prywatność w sieci
      VPN jako alternatywny sposób na ochronę Twoich danych
      Narzędziem, które pozwoli Ci zabezpieczyć się przed zostawianiem wirtualnych odcisków palców, jest VPN. Stanowi on zabezpieczone, prywatne i szyfrowane połączenie dwóch sieci lub użytkownika i sieci. To rozwiązanie pozwala na możliwie największą anonimowość w internecie. Stanowi bowiem swoistą zaporę pomiędzy Twoimi danymi, a dostępem korporacji.
      Zobacz: Co to jest VPN i jak działa: https://vpn.co.pl/
      Musisz jednak pamiętać o tym, że całkowita ochrona swojej prywatności wymaga podejmowania również innych działań. Najlepiej, abyś używał kompleksowo zarówno VPN, jak i różnego rodzaju wtyczek czy modyfikacji przeglądarki, które ograniczają dostęp korporacji do Twoich danych.

      « powrót do artykułu
    • przez KopalniaWiedzy.pl
      Prawnikom Google'a nie udało się doprowadzić do odrzucenia przez sąd pozwu związanego z nielegalnym gromadzeniem danych użytkowników przez koncern. Sędzia Lucy Koh uznała, że Google nie poinformował użytkowników, iż zbiera ich dane również wtedy, gdy wykorzystują w przeglądarce tryb anonimowy.
      Powodzi domagają się od Google'a i konglomeratu Alphabet co najmniej 5 miliardów dolarów odszkodowania. Twierdzą, że Google potajemnie zbierał dane za pośrednictwem Google Analytics, Google Ad Managera, pluginów oraz innych programów, w tym aplikacji mobilnych. Przedstawiciele Google'a nie skomentowali jeszcze postanowienia sądu. Jednak już wcześniej mówili, że pozew jest bezpodstawny, gdyż za każdym razem, gdy użytkownik uruchamia okno incognito w przeglądarce, jest informowany, że witryny mogą zbierać informacje na temat jego działań.
      Sędzia Koh już wielokrotnie rozstrzygała spory, w które były zaangażowane wielkie koncerny IT. Znana jest ze swojego krytycznego podejścia do tego, w jaki sposób koncerny traktują prywatność użytkowników. Tym razem na decyzję sędzi o zezwoleniu na dalsze prowadzenie procesu przeciwko Google'owi mogła wpłynąć odpowiedź prawników firmy. Gdy sędzia Koh zapytała przedstawicieli Google'a, co koncern robi np. z danymi, które użytkownicy odwiedzający witrynę jej sądu wprowadzają w okienku wyszukiwarki witryny, ci odpowiedzieli, że dane te są przetwarzane zgodnie z zasadami, na jakie zgodzili się administratorzy sądowej witryny.
      Na odpowiedź tę natychmiast zwrócili uwagę prawnicy strony pozywającej. Ich zdaniem podważa ona twierdzenia Google'a, że użytkownicy świadomie zgadzają się na zbieranie i przetwarzanie danych. Wygląda na to, że Google spodziewa się, iż użytkownicy będą w stanie zidentyfikować oraz zrozumieć skrypty i technologie stosowane przez Google'a, gdy nawet prawnicy Google'a, wyposażeni w zaawansowane narzędzia i olbrzymie zasoby, nie są w stanie tego zrobić, stwierdzili.

      « powrót do artykułu
    • przez KopalniaWiedzy.pl
      Google podsumowało jedną z najbardziej długotrwałych wojen, jaką stoczyło ze szkodliwym oprogramowaniem. W ciągu ostatnich trzech lat firma usunęła ponad 1700 aplikacji zarażonych różnymi odmianami szkodliwego kodu o nazwie Bread (Joker).
      Jego twórcy byli wyjątkowo uparci. Zwykle autorzy szkodliwego kodu przestają go wgrywać do Play Store gdy tylko zostanie on wykryty przez Google'a. Przestępcy stojący za Bread'em nie poddali się tak łatwo. Działali przez ponad trzy lata i co tydzień przygotowywali nową wersję szkodliwego kodu.
      Przez te trzy lata stosowali tę samą technikę – wprowadzali w kodzie serię niewielkich zmian, licząc na to, że uda się oszukać stosowane przez Google'a mechanizmy obronne. Zwykle się nie udawało, ale czasami przestępcy odnosili sukces. Na przykład we wrześniu ubiegłego roku ekspert ds. bezpieczeństwa, Aleksejs Kurpins znalazł w Play Store 24 różne aplikacje zarażone Jokerem. W październiku inny ekspert znalazł kolejną aplikację, a kilka dni później Trend Micro poinformował o odkryciu kolejnych 29 kolejnych zarażonych programów. Później znajdowano kolejne, w tym arkusze kalkulacyjne Google Docs.
      Jednak w większości wypadków mechanizmy Google'a działały dobrze i zablokowały ponad 1700 aplikacji, które miały zostać umieszczone w Play Store. Jak dowiadujemy się z wpisu na oficjalnym blogu, w pewnym momencie hakerzy użyli niemal każdej znanej techniki, by ukryć kod. Zwykle przestępcy posługiwali się jednorazowo 3–4 wariantami szkodliwego kodu. Jednak pewnego dnia próbowali wgrać aplikacja zarażone w sumie 23 odmianami kodu.
      Najbardziej skuteczną techniką zastosowaną przez twórców szkodliwego kodu było wgranie najpierw czystej aplikacji do Play Store, a następnie rozbudowywanie jej za pomocą aktualizacji zawierających już szkodliwy kod. Przestępcy nie ograniczali się jedynie do tego. Umieszczali na YouTube filmy z recenzjami, które miały zachęcić internautów do instalowania szkodliwych aplikacji.
      Jak informuje Google, twórcy Breada działali dla korzyści finansowych. Pierwsze wersje ich szkodliwego kodu miały za zadanie wysyłać SMS-y premium, z których przestępcy czerpali korzyści. Gdy Google zaostrzył reguły dotyczące korzystania przez androidowe aplikacje z SMS-ów, przestępcy przerzucili się na WAP fraud. Telefon ofiary łączył się za pomocą protokołu WAP i dokonywał opłat, którymi obciążany był rachunek telefoniczny. Ten typ ataku był popularny na na przełomie pierwszego i drugiego dziesięciolecia bieżącego wieku. Później praktycznie przestał być stosowany. Nagle, w roku 2017, wystąpił prawdziwy wysyp szkodliwego kodu, który znowu korzystał z tej techniki. Jak twierdzi Google, twórcy Breada byli najbardziej upartą i wytrwałą grupą przestępczą, która używała WAP fraud.

      « powrót do artykułu
    • przez KopalniaWiedzy.pl
      Francuski urząd ds. konkurencji nałożył na Google'a grzywnę w wysokości 150 milionów euro. Koncern został ukarany za zachowania antykonkurencyjne oraz niejasne zasady Google Ads.
      Google naruszył swoją dominującą pozycję na rynku reklamy w wyszukiwarkach poprzez niejasne i trudne do zrozumienia zasady korzystania z platformy Google Ads oraz zastosowanie ich w sposób nieuczciwy i przypadkowy, stwierdzili urzędnicy. Na amerykańską firmę nałożono obowiązek wyjaśnienia zasad działania Google Ads i właściwego uzyskania zgody użytkowników na prezentowanie im spersonalizowanych reklam. Firma ma również przedstawić jasne procedury zawieszania kont oraz opracować procedury informowania, zapobiegania, wykrywania i postępowania w razie wykrycia naruszenia regulaminu Google Ads.
      Przedstawiciele koncernu zapowiedzieli, że odwołają się od decyzji.
      Wiele europejskich krajów bacznie przygląda się działalności amerykańskich gigantów IT. Firmy takie jak Google, Facebook, Apple czy Amazon są wielokrotnie krytykowane za płacenie zbyt niskich podatków. Nie dalej jak we wrześniu bieżącego roku Google porozumiał się z władzami Francji i zgodził się zapłacić niemal miliard euro grzywny w ramach ugody w sprawie do oszustwa podatkowe. Z kolei w styczniu bieżącego roku francuski urząd odpowiedzialny za ochronę danych ukarał koncern grzywną w wysokości 50 milionów euro za naruszenie europejskich przepisów dotyczących prywatności.

      « powrót do artykułu
  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...