poniedziałek, 27 kwietnia 2009

Totalitarytarne GG

W polskim zakątku sieci już huczy! Oto nadchodzą nowe szwadrony starej cenzury. Stare postaci w nowych szatach z rózgami w rękach jak w czasach Rzymu karać będą nieposłusznych.

Wstęp wydać się może niektórym lekko przerażający, aczkolwiek nie jest on zbyt mocno przesadzony. Rzeczywiście zrobił się lekki szum z powodu wprowadzenia w sieci Gadu-Gadu na serwerach nowego systemu antyspamowego. Najnowsze "ficzery" to blokada wielu adresów url w opisach i w samych wiadomościach.

Nowy silnik ma za zadanie blokować adresy, które są często przesyłane. Tak przynajmniej wieść gminna niesie. Pytanie tylko, czy jest to rzeczywiście silnik anty-spamowy, czy może raczej anty-marketingowy. Zablokuje z łatwością wszystkie adresy rozsyłane przez najgłupszych spamerów, a także przypadki rozsyłania sobie mniej lub bardziej interesujących i wartościowych materiałów. Coś tak czuję, że to będzie się zdarzać znacznie częściej.

Dzisiejsza wrzawa spowodowana jest nałożeniem blokady na najnowszy adres wrzuta.pl. Wrzuta jest między ludźmi dość popularna i nie ma się co dziwić, że pojawiła się na liście. W końcu przecież źli i wredni spamerzy rozsyłają ludziom przez wrzutę materiały porno, reklamy tabletek na impotencję i prezerwatywy z wodą!

Warto wspomnieć, że wśród zablokowanych aktualnie adresów są serwisy informujące o możliwości blokowania reklam w najnowszym kliencie gg: bk2.prv.pl (oficjalnym), strona nieoficjalnego klienta gg: gg8-plus.tk (znowu bez reklam), strony hostingujące cba.pl, czy yoyo.pl, a także strony służące do skracania linków. Ktoś donosi, że nawet strona skracająca używana przez samego infobota (własność GG).

Pojawia się więc kolejny powód do zastanowienia się nad alternatywą. Ze swojej strony znowu i znowu polecam protokół Jabber. Protokół jest oparty na XMPP, otwarty, a do tego nie kontrolowany. Wolność jaką odczuwa użytkownik Jabbera jest nie do ogarnięcia dla użytkownika GG, związanego z tą pseudoplatformą komunikacyjną od lat. O wszystkich zaletach można poczytać na www.jabberpl.org. Aby nieco osłabić efekt szoku podam tutaj podstawowe zalety:
  • dowolny login na wybranym przez siebie serwerze - koniec zapamiętywania numerków!
  • wysoka stabilność serwerów,
  • transporty do innych sieci - i tak możesz pisać do więźniów GG
  • brak ograniczenia na opis - chcesz napisać komuś wiersz? a może lepiej epopeję i to wszystkim?
  • bezpieczeństwo - połączenia są szyfrowane, naprawdę!
Problem polega na tym, że wielu ludzi wcale nie chce zmiany. Boją się zmiany protokołu na lepszy. Jeśli więc tak, to może lepiej rozejrzeć się przynajmniej za lepszym komunikatorem. O tym może w innym wpisie. Dziś podam kilka ważnych nazw: pidgin, konnekt, kadu

Mamy więc kolejne powody do nazywanie tego produktu padu-padu.

niedziela, 26 kwietnia 2009

Java: pomiar czasu wykonania kodu

"Czas to pieniądz" - powiedzenie stare jak świat. Aktualnie złożoność obliczeniowa algorytmów jest dużo ważniejsza niż ich złożoność pamięciowa. Nie zawsze możemy dokładnie wyliczyć złożoność obliczeniową. Możemy na szczęście wykonać szybki pomiar czasu wykonania naszego kodu dla przykładowych danych.

Na polskojęzycznych stronach znaleźć można oczywiście różne metody oparte często na klasie Time. My skorzystamy bezpośrednio z klasy System i jednej metody statycznej.

Metoda:
System.currentTimeMillis();

Zwraca nam aktualny czas w milisekundach. Nie ma wielkiej potrzeby analizować wykonania kodu z dokładnością do nanosekundy. Milisekundy w zupełności starczą. Jak więc użyć tej metody? To bardzo proste: pobieramy czas przed, czas po i odejmujemy je od siebie.

long start=System.currentTimeMillis();
//długie obliczenia
long stop=System.currentTimeMillis();
System.out.println("Czas wykonania:"+(stop-start));

Jak nie trudno zauważyć jest to bardzo proste w użyciu. Oczywiście pokusić się można o bardziej zaawansowany kod wykorzystujący przy okazji filozofię OOP. Zainteresowanych takim wykorzystaniem tego kodu odsyłam do strony gdzie sam znalazłem te informacje w języku angielskim: How to measure execution time.

Można mierzyć czas w odcinkach. Na przykład gdy najpierw kalkulujemy, a potem rysujemy, to możemy zmierzyć czas całościowo i czas obu etapów. Pojawia się oczywiście problem błędu spowodowanego przez pobranie czasu z systemu. Na szczęście przy dużych liczbach obliczeń czas wywołania tej metody można uznać za pomijalnie mały. Doradzam nie nadużywać tej metody jak każdej innej. Pomijalnie mały czas dla odpowiedniej liczby powtórzeń stanie się niedopuszczalnie duży i nasz pomiar czasu wykonania stanie się niedokładny. Mówiąc prościej: na pewno nie mierzymy w ten sposób czasu trwania każdej iteracji pętli jednocześnie mierząc czas trwania wszystkich iteracji. Różnica sumy i całego pomiaru może nas zaskoczyć.

Obrazek pochodzi z The Uber Review.

czwartek, 23 kwietnia 2009

Zarobaczony Windows

Wirusy komputerowe towarzyszą nam aktualnie na każdym kroku. Osoba, która na swoim komputerze nie posiada żadnego oprogramowania antywirusowego jest albo naiwna, albo szalona. Oczywiście wirusy kojarzą nam się od razu z systemem spod znaku tłuczonych okien. Inne systemy nie pozostają mocno w tyle, aczkolwiek przodownikiem jest oczywiście Windows. Nie podlega dyskusji, że "złośliwe" oprogramowanie jest plagą naszych czasów. Problem polega na tym, że ono rzeczywiście jest złośliwe.

Kiedyś wirus to było coś. Program był na prawdę niewielki, wykorzystywał jakąś lukę, przesyłał się potajemnie, mnożył wykorzystując wyłącznie bezczynność procesora, podmieniał przerwania i czekał. Większość wirusów miała jakiś sensowny cel, na przykład dopiec użytkownikowi. Trzeba to jednak zrobić umiejętnie. Do tego atak na jeden komputer, nawet 1000, nawet milion, to trochę nudne, ale zmasowany atak. Tak to jest coś na prawdę kuszącego. Wirus siedział więc cicho jak mysz pod miotłą, aż któregoś dnia wybiła dwunasta i zabawa się zaczęła. To były spustoszenia, straty, przestoje.

Któż nie pamięta takich nazw jak Krishna, albo Czarnobyl? To były na prawdę złośliwe wirusy. W całym systemie robiły sieczkę. Konkretna data, szybkie działanie, ale do tego momentu cisza jak makiem zasiał. Jak coś takiego złapałeś, to nic nie mogłeś wiedzieć aż do dnia 0. Takie to były plugastwa.

Dobra choroba to taka, której nie poczujesz, lekarz nie wyleczy, a grabarz zakopie... razem z Tobą. No ostatecznie ujawni się, jak już będzie za późno. Twórcy współczesnych wirusów chyba nie inspirowali się tym dziedzictwem ani przez chwilę. Bardziej prawdopodobne, że inspirowali się systemem, który infekują. Wirusy są ciężkie, a jak takiego złapiesz, to wiesz od razu, że czas skanować system i się tego pozbywać, albo pozbyć się od razu systemu razem z tym gównem. Zero zabawy z userem.

Najgorsze są wirusy przenoszące się na pamięciach masowych. Nigdy nigdzie nie można tego wpiąć bezpiecznie. Zawsze coś czyha na nasz nośnik. Tylko czekać aż pojawią się syfy dopisujące się do CD/DVD przy każdym nagrywaniu. Na dniach przez nieostrożność sam przyniosłem sobie na PC takie gówno. I co? Ledwo to wpiąłem do portu, ledwo odpaliłem i już wiem, że czas odkurzyć dyski przy pomocy AV. Zero finezji, żadnego polotu. Od razu widać, że okna otwierają się w nowych procesach, że pliki ukryte znikły i nie widać rozszerzeń. Nawet kilka ikonek się pozmieniało. Wiem co mnie jeszcze czeka: grzebanie w rejestrze, by przywrócić pierwotne ustawienia systemu. Nie ma to jak kilka godzin bezsensownej zabawy.

Zastanawia mnie, jakim cudem ludzie piszący najnowsze wirusy utrzymują się w tej branży. To jest naprawdę niepojęte. Chyba że Ci ludzie pracują dla firm tworzących oprogramowanie AV. Ktoś przecież musi napędzać ten rynek, który kiedyś nakręcał się sam. Ja osobiście w VIRI już od lat się nie bawię. Trojany, AdWere'y i inne takie już mnie nie bawią. Szczególnie kiedy rynek jest tak nasycony produktami o jakości chińskich skarpet. Wirusów już prawie nikt się nie boi tak bardzo. W końcu i tak widać jak się takiego złapie.

wtorek, 14 kwietnia 2009

Społecznie upośledzeni

Społeczności internetowe. Wielkie elektroniczne ule bzyczące tysiącem, milionem par nie-skrzydeł. Pełne wrzawy, nie-pracy. Witamy w świecie opływającym w puste frazesy, pełny zdań bez pokrycia i słów bez wartości. W świecie słodkiego i tuczącego miodu.

Człowiek jest istotą społeczną. Uczą nas tego już od pierwszych lat. Z biegiem czasu należymy do coraz większych społeczności. Nawet w pewnej chwili buntujemy się przeciw temu jednocześnie stając się w ten sposób członkami innej grupy społecznej. Grupy nastoletnich buntowników. Jakiego kroku więc nie wykonamy trafiamy w to samo bagno, tylko z innej strony.

Serwisy społecznościowe zyskały na popularności. Pozornie kierowane są do określonej grupy społecznej lub wiekowej. Pozornie są odzwierciedleniem świata zza monitora. Pozornie... Popularność tych portali oznacza ogromne zainteresowanie zagregowanych społeczności. Bycie użytkownikiem takiego portalu samo w sobie oznacza przynależność do społeczności. Nie przed, a po. Jest więc niemal obciachem nie być użytkownikiem, grona, epulsa, facebooka, twitera, myspace, last.fm, (...) naszej-klasy i dziesiątek innych. Te właśnie serwisy tworzą ogromną chmurę, nawałnicę zwaną web2.0.

Były czasy, kiedy człowiek używał sieci internet do komunikacji, oraz pobierania informacji. Każdy twórca strony internetowej był samodzielnie odpowiedzialny za jej treść. Serwisy pojawiały się i znikały. Albo miałeś coś do powiedzenia, albo już Cię nie było. Jako szary user, miałeś swój czas, swoje impulsy i chłonąłeś jak gąbka wiedzę zamieszczoną przez innych. Czasy te bezpowrotnie minęły. Teraz każdy może napisać co chce. Każdy może założyć stronę, albo bloga. Przede wszystkim każdy może i niestety robi to, założyć konto w serwisie społecznościowym by identyfikować się z jakąś grupą. Stałym elementem takich serwisów jest możliwość tworzenia grupy znajomych. Dodajesz, usuwasz, przesuwasz, zarządzasz swoimi znajomymi jak w notesie. Nie są to jednak tylko kontakty. To miara popularności. Miara akceptacji w stadzie. Powstał swoisty sport, kolekcjonowanie "znajomych". Wyprzedzanie się w liczbach. Portale dobrze to wspierają wyświetlając liczbę znajomych w profilu, czy przy awatarze postaci. Tysiące trofeów, tysiące głów.

Wraz z różnymi zmianami serwis grono od pewnego czasu wyświetla dokładną liczbę znajomych tylko do 500. Później pojawia się magiczne 500+. Jest jak złoty medal, puchar do postawienia nad kominkiem. To prestiż przyniesiony przez zwycięstwo. Jest jak sława i popularność. Jak niegasnące światło reflektorów. Ten kto nie umie tego osiągnąć powinien zostać zepchnięty na margines społeczności, bo jest nieudacznikiem. Nie jest jednak miło stać w tłumie i cieniu tłumu. Ilu swoich znajomych można wymienić z imienia? Powiązać imiona z twarzami, twarze z sytuacjami? Ilu z nich można poznać na prawdę?

Pewien filozof powiedział kiedyś, że człowiek powinien mieć tylu przyjaciół na ilu go stać. Tylko że my nie szukamy już przyjaciół. W zasadzie nie rzadko zauważyć można, że nikogo nie szukamy. Przykładem znowu serwis grono. Co profil, to "nikogo nie szukam". Do znudzenia można przeglądać zdjęcia osób, które osiągnęły już wszystko, znalazły wszystko i doświadczyły wszystkiego. Znajdą się jeszcze co jakiś czas takie, które szukają przygody, albo partnera. Są i tacy, którzy do znudzenia i wciąż szukają znajomych. Znajomych nigdy za wiele. Tak wiele przecież można.

Dla wielu ludzi przynależność do takiego serwisu jest pewnego rodzaju przymusem. Portal jest platformą komunikacji ze znajomymi, często tymi prawdziwymi. Przeniesienie na platformę komunikatora internetowego, czy poczty elektronicznej niektórym po prostu nie pasuje. Poszukiwanie nowych i nowych fałszywych znajomych, figurantów oznaczających liczby tak bardzo absorbuje, że nie mają czasu na inne sposoby kontaktu. Co najważniejsze nie mają czasu na kontakt prawdziwy.

Czy jestem święty? Staram się być rozumny. Staram się znać ludzi, których awatary widnieją na mojej liście. Człowiek, który nie ma w sobie czego zmieniać, jest oszustem, kłamcą. Nie ma ideałów. Jeśli jednak jesteś rozumny, możesz stosunkowo szybko zrozumieć pewien cytat:
W świecie ślepców jednooki jest królem

Sam już nie wiem skąd wzięły się w mojej głowie te słowa. Tak często jednak pasują.