] > Karol „Zal” Zalewski - Blog - http://blog.4zal.net/kategoria/informatyka/software/

Miniblog: HTC Desire

2010-07-20, Wtorek 01:48:34 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Nienawidzę wszelkiego rodzaju automagicznych rozwiązań, których sposób działania nie jest wytłumaczony użytkownikowi. Taka była moja pierwsza myśl po zapoznaniu się z nową zabawką, czyli smartphonem HTC Desire. W skrócie - Android 2.1 z nakładką HTC Sense, procesor o częstotliwości 1GHz i 576MiB pamięci operacyjnej. Niemalże kopia Nexus One, w Internecie znajdziecie mnóstwo pozytywnych recenzji. I nikt nie wspomniał, że jest to jedno z najbardziej irytujących urządzeń. Owszem, robi wrażenie. Aż założyłem sobie konto na FaceBooku. Wszystko się świeci, migocze i porusza. Cieszy oko. Jednakże, jeżeli czyjeś życie nie kręci się tylko i wyłącznie wokół Twittera, Facebooka oraz Google to zaczyna się pojawiać mnóstwo rys na obrazie tego telefonu "idealnego". Jeżeli to faktycznie jest "iPhone killer" to współczuję nabywcom produktów Apple.

W ogólności jestem zadowolony z zakupu. Inaczej nie napisałbym tego tekstu pod Androidem. Ale... Uważam, że standardowy zestaw oprogramowania oraz sposób jego działania składa się na wizję telefonu zabawki, a nie biznesowego palmtopa z opcją wykonywania połączeń. Pod tym względem już nawet leciwa Nokia E51 wypada zdecydowanie lepiej.

Manifest kryptoanarchistyczny: „Od kuszy do kryptografii, czyli psucie państwu szyków przy pomocy techniki”

2010-07-06, Wtorek 12:50:16 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Już dwa razy zdarzyło mi się odwoływać do tekstów opublikowanych w MindFucku, czyli nieregularniku anarchistycznym. Za pierwszym razem umieściłem u siebie tekst Erica Raymonda (osoby znanej z zaangażowania w ruch Open Source) „Dlaczego jestem anarchistą?”, natomiast w drugim przypadku był to opis „Zabójczej Loterii Narodowej” (ang. dead pool) Jamesa Daltona Bella. Ja co prawda anarchistą nie jestem (może kryptoanarchistą) pomimo tego, iż libertarianizm ociera się o pewne formy anarchizmu, ale uważam, że niektóre teksty anarchistyczne są bardzo interesujące. Oto i kolejny z nich znaleziony w drugim numerze MindFucka, tym razem manifest kryptoanarchistyczny autorstwa Chucka Hammilla. Przypominam, że cały esej (również jego tłumaczenie autorstwa Jacka Sierpińskiego) jest dostępny na licencji „rób, na co tylko masz ochotę”, a tam, gdzie jest to możliwe, należy do domeny publicznej. I jeszcze jedna mała uwaga - oryginalny tekst został napisany w 1989 roku.

Od kuszy do kryptografii, czyli psucie państwu szyków przy pomocy techniki

O tej maksymie – przysłowiu – powszechnie przypisywanej Eskimosom zapewne słyszeliśmy wszyscy; lecz o ile prawdopodobnie nie będziemy sprzeczać się z mówiącym to, o tyle możemy odbierać ją jako zwyczajny frazes, który niczego już nas nie nauczy i być może jesteśmy już zmęczeni jej wysłuchiwaniem. Dlatego powtórzę to teraz:

Jeśli dasz człowiekowi rybę, to nakarmisz go na jeden dzień. Ale jeśli nauczysz człowieka, jak łowić ryby, to nakarmisz go na całe życie.

Prawdopodobnie postrzegałeś ten cytat w kontekście opozycji „workfare” do „welfare”; mianowicie, jeśli chce się naprawdę pomóc komuś w potrzebie, powinno się go nauczyć, jak ma zarabiać na środki swojego utrzymania, a nie, jak po prostu o nie żebrać. I jest to oczywiście prawda, choćby dlatego, że jeśli będzie on głodny następnym razem, to w pobliżu może nie być nikogo, kto chciałby czy nawet mógłby dać mu rybę, podczas gdy dysponując informacją, jak łowić ryby, jest on całkowicie niezależny.

Twierdzę jednak, że wyczerpuje to jedynie pierwszą warstwę zawartości tego cytatu i zmarnowałbym nasz czas cytując go po raz kolejny, jeśli nie było tam nic więcej do zebrania. Zresztą wydaje się on mieć niemal kryptoaltruistyczny wydźwięk, sugerując jak gdyby, że powinniśmy układać nasze sprawy tak, by zwiększać korzyści głodnych żebraków, jakich możemy napotkać.

Ale zauważmy: przypuśćmy, że ten Eskimos nie wie, jak łowić ryby, ale wie, jak polować na morsy. Ty zaś podróżując przez kraj morsów bywasz często głodny, bo nie masz pojęcia, jak chwytać te przeklęte stworzenia i być może zjadły ci one wiele ryb, które mógłbyś złapać. Przypuśćmy teraz, że decydujecie się wymienić informacjami, wymieniając wiedzę o łowieniu ryb na wiedzę o polowaniu na morsy. Pierwszą rzeczą, jaką obserwujemy jest to, że tego rodzaju transakcja kategorycznie i niedwuznacznie obala marksistowskie założenie, że każdy handel musi mieć „zwycięzcę” i „przegrywającego” – ideę, że jeśli jedna osoba zyskuje, musi to koniecznie zachodzić „kosztem” innej osoby, która traci. Rzecz jasna w tym scenariuszu taki przypadek nie zachodzi. Każda ze stron zyskała coś, czego nie miała przedtem i nie została przy tym w jakikolwiek sposób uszczuplona w swym stanie posiadania. Gdy przychodzi do wymiany informacji (a nie przedmiotów materialnych), życie nie jest już dłużej grą o sumie zerowej. Jest to niezwykle doniosłe. „Prawo malejących zysków”, „pierwsze i drugie prawo termodynamiki” – wszystkie te „prawa”, które w innych kontekstach ograniczają nasze możliwości – nie krępują nas więcej! Jest to anarchia nowego i podniecającego rodzaju!

Rozważmy inną możliwość: przypuśćmy, że ten głodny Eskimos nigdy nie nauczył się łowić ryb, bo władca jego plemienia uznał łowienie za nielegalne. Mówi on nam, że ponieważ ryba zawiera niebezpieczne małe ości, a czasami szpiczaste kolce, jego władcy zarządzili, że konsumpcja, a nawet posiadanie ryb jest zbyt ryzykowne dla ludzkiego zdrowia, aby było dozwolone – nawet dla dobrze poinformowanych, chętnych dorosłych osób. Być może jest tak dlatego, że ciała obywateli uważane są za własność plemienną i co za tym idzie funkcją władcy jest karanie tych, którzy niewłaściwie troszczą się o ten majątek. Albo może jest tak dlatego, że jego władca wspaniałomyślnie rozszerza na kompetentne dorosłe osoby „korzyści” przewidziane dla dzieci i umysłowo chorych: pełnoczasowy, wszechogarniający nadzór – tak, by nie musieli się oni kłopotać dokonywaniem wyborów zachowań uważanych za fizycznie ryzykowne lub moralnie „nieprzyzwoite”. W każdym razie patrzysz zdumiony, gdy twój eskimoski informator opowiada, że prawo to traktowane jest tak poważnie, iż jego przyjaciel został niedawno uwięziony na wiele lat za zbrodnię „posiadania dziewięciu uncji pstrąga, z zamiarem sprzedaży”.

Możesz teraz dojść do wniosku, że społeczeństwo tak groteskowo opresyjne, że narzuca tego rodzaju prawa jest po prostu afrontem dla godności wszystkich ludzkich istot. Możesz pójść dalej i zdecydować się poświęcić część swojego czasu na psucie szyków tyranowi. (Twój motyw może być „altruistyczny”, w rodzaju pragnienia wyzwolenia uciskanych, lub „egoistyczny”, w rodzaju chęci dowiedzenia, że możesz przeciwstawić się uciskającemu, lub – bardzo możliwe – może być on kombinacją tych lub innych powodów).

Ale skoro nie masz ochoty zostać męczennikiem swojej „sprawy”, nie będziesz montował kampanii wojskowej czy nawet próbował przemycić łodzi ryb. Jednak technika – w szczególności technika informacyjna – może zwielokrotnić twoją skuteczność dosłownie sto razy. Mówię „dosłownie”, bo za ułamek wysiłku (i właściwie bez ryzyka) towarzyszącego przemycaniu stu ryb, możesz całkiem łatwo wyprodukować sto kserokopii instrukcji łowienia ryb. Jeśli rząd, jak we współczesnej Ameryce, pozwala przynajmniej otwarcie dyskutować o rzeczach, których robienie jest zabronione, powinno to wystarczyć. Ale jeśli rząd próbuje zlikwidować również przepływ informacji, to będziesz musiał podjąć trochę większy wysiłek i być może napisać swoją instrukcję łowienia ryb w zaszyfrowanej formie na dyskietce lub zagrzebać ją w niewykonywalnej części kodu gry komputerowej. Odbiorca (skoro tylko zna sekret) może łatwo wyciągnąć informację ze swego komputera, ale żaden nieproszony plemienny szpicel nie dowie się niczego.

Technika – w szczególności komputerowa – dostawała często niezasłużone szturchańce od miłośników wolności. Mamy skłonność myśleć o 1984 Orwella czy o Brazil Terry’ego Gilliama, czy o wykrywaczach ciał utrzymujących niewolników-obywateli Berlina Wschodniego po ich stronie granicy, czy o wyszukanych urządzeniach używanych przez Nixona do szkodzenia ludziom ze swej „listy wrogów”. Albo przyznajemy, że za cenę biletu na Concorde możemy lecieć z dwukrotną prędkością dźwięku, ale tylko wówczas, gdy przejdziemy najpierw przed magnetometrem obsługiwanym przez rządowego policjanta, pozwalając mu nas przeszukać i obmacać nasze bagaże, jeśli urządzenie zapiszczy.

Ale takie nastawienie umysłu jest poważnym błędem! Zanim zaczęto używać elektrycznych pastuchów, rządy torturowały swych więźniów kijami i gumowymi wężami. Zanim do szpiegowania zaczęto używać lasery, rządy używały lornetek i ludzi czytających z ruchu warg. Chociaż rząd w oczywisty sposób używa techniki w celach ucisku, zło tkwi nie w narzędziach, lecz w tych, którzy je dzierżą.

W rzeczywistości technika stanowi jedną z najbardziej obiecujących dróg odebrania naszej wolności tym, którzy ją ukradli. Ze swej natury faworyzuje ona bystrego (który potrafi ją użyć) nad tępym (który nie potrafi). Faworyzuje ona elastycznego (który szybko dojrzy zalety nowego) nad ospałym (który trzyma się wypróbowanych metod). A czy są lepsze słowa do opisania jakiejkolwiek rządowej biurokracji niż „tępa” i „ospała”?

Jednym z najjaskrawszych, klasycznych triumfów techniki nad tyranią był wynalazek „broni osobistej” – przenośnej kuszy. Dysponując nią, niewyćwiczony wieśniak mógł łatwo i śmiertelnie trafić w cel z pięćdziesięciu metrów – nawet jeśli ten cel był konnym, opancerzonym rycerzem. (Inaczej niż długi łuk, który był niewątpliwie potężniejszy i mógł wystrzelić w danym czasie więcej strzał, kusza nie wymagała żadnych specjalnych ćwiczeń. Podczas gdy łuk wymagał dla osiągnięcia jakiegokolwiek stopnia celności opanowania wzrokowej, dotykowej i mięśniowej koordynacji, dzierżyciel kuszy mógł po prostu położyć broń na ramię, nacelować ostrze strzały i mieć uzasadnione podstawy pewności trafienia w cel).

Co więcej, skoro jedynymi konnymi rycerzami odwiedzającymi naszego przeciętnego wieśniaka byli rządowi żołnierze i poborcy podatków, użyteczność tego urządzenia była oczywista. Pospólstwo mogło się z nim bronić nie tylko przed sobą nawzajem, ale i przeciw swoim rządowym panom. Był to średniowieczny odpowiednik pocisku przeciwpancernego i co za tym idzie królowie oraz księża (średniowieczny odpowiednik Biura ds. Alkoholu, Tytoniu i Kusz) grozili za jego bezprawne posiadanie odpowiednio śmiercią i ekskomuniką.

Wracając do teraźniejszości, komputer osobisty (z uruchomionym na nim systemem szyfrującym z kluczem publicznym) przedstawia sobą odpowiednik przeskoku kwantowego – w dziedzinie broni defensywnej. Taka technika może być używana nie tylko do ochrony posiadanych przez kogoś wrażliwych danych, ale też do wymieniania przez dwie obce sobie osoby informacji przez niezabezpieczony kanał komunikacyjny – na przykład podsłuchiwaną linię telefoniczną czy nawet radio – bez jakiegokolwiek wcześniejszego spotkania w celu wymiany kluczy do szyfru.

Dysponując komputerem za pięćset dolarów możesz stworzyć szyfr, którego wart setki milionów dolarów Cray X-MP nie złamie w rok. Za parę lat powinno być ekonomicznie wykonalne szyfrowanie w podobny sposób także komunikatów głosowych; wkrótce potem pełnokolorowych, cyfrowo przetworzonych obrazów video. Technika odeśle podsłuch do lamusa! Ogólniej mówiąc, zniszczy ona całkowicie rządową kontrolę nad przepływem informacji!

Najbardziej obiecującym z tych kryptograficznych schematów wydaje się być algorytm RSA, nazwany tak od Rivesta, Shamira i Adelmana, którzy go wspólnie stworzyli. W formalnym wyprowadzeniu zawiera on trochę umiarkowanie trudnej matematyki (liczby pierwsze, modulo, „małe twierdzenie Fermata”), ale jego istotą jest to, że jeśli dany jest iloczyn dwóch bardzo wielkich liczb pierwszych, otrzymanie ich z jego analizy jest obliczeniowo niewykonalne. „Obliczeniowo niewykonalne” znaczy, że jeśli każdy czynnik ma około 200 cyfr, to najpotężniejszy istniejący komputer będzie potrzebował ponad wiek na rozłożenie ich 400-cyfrowego iloczynu.

Zamieniając czyjąś wiadomość na „liczbę” (nawet stosując coś tak prostego, jak A=01, B=02, …, Z=26) i wykonując na niej odpowiednie przekształcenie, uzyskuje się nową liczbę, która jest zaszyfrowanym przekazem. Odbiorca wykonuje następnie na tej liczbie podobne przekształcenie w celu odtworzenia pierwotnej wiadomości.

Tym, co czyni to przełomowym odkryciem i ze względu na co nazywa się to szyfrem z kluczem publicznym jest fakt, że mogę jawnie opublikować dwa liczbowe parametry, które pozwolą każdemu wysłać do mnie zaszyfrowaną wiadomość, utrzymując równocześnie w tajemnicy trzeci parametr, tak, że nikt poza mną nie może rozszyfrować takiego przekazu. Wyeliminowany został krok stanowiący uprzednio trudność (wymienianie kluczy szyfrujących z inną osobą). W ten sposób ludzie, dla których fizyczne spotkanie jest niemożliwe, niekorzystne lub niebezpieczne mogą łatwo wymieniać zaszyfrowane wiadomości – każda strona wybiera i rozpowszechnia swoje dwa publiczne parametry, utrzymując równocześnie w tajemnicy trzecie.

Inną korzyścią tego systemu jest pojęcie „podpisu cyfrowego”, umożliwiające identyfikację źródła danego przekazu. Dokonując dodatkowego kroku szyfrującego przy pomocy mojego tajnego parametru i wymagając od odbiorcy dokonania przy rozszyfrowaniu dodatkowego działania przy użyciu moich publicznych parametrów – mogę dowieść, że otrzymany przez niego przekaz nie mógł być wysłany przez nikogo innego prócz mnie! Tak, że nie tylko mamy łatwe zabezpieczenie transmisji przekazu przez anonimowy, niezabezpieczony kanał komunikacyjny, ale również możemy pozytywnie zidentyfikować nadawcę takiej wiadomości!

Oczywiście są to dokładnie te troski, które dziś dręczą w kwestii komputerów osobistych Związek Radziecki. Z jednej strony przyznają oni, że uczniowie amerykańscy dorastają w tej chwili dysponując komputerami będącymi rzeczą tak pospolitą, jak suwaki logarytmiczne – nawet bardziej, bo komputery mogą robić wiele rzeczy interesujących i instruujących 3-4-latki. I są to ci sami uczniowie, którzy za jedno pokolenie staną naprzeciw swych sowieckich odpowiedników. Trzymanie się z tyłu musi być dla Sowietów tak samobójczym krokiem, jak kontynuowanie nauki szermierki, gdy przeciwnicy produkują karabiny. Z drugiej strony komputer, czymkolwiek jeszcze może być, jest także niezwykle skuteczną maszyną kopiującą – dyskietka za 25 centów zawiera z górą 50000 słów tekstu i może być powielona w parę minut.

Jakby samo to nie byłoby wystarczającym zagrożeniem, komputer tworzący kopie może jeszcze szyfrować dane w sposób, który jest prawie nie do złamania. Pamiętajmy, że w społeczeństwie sowieckim nie są znane publicznie dostępne kserokopiarki (stosunkowo mała liczba istniejących maszyn jest kontrolowana intensywniej niż w USA pistolety maszynowe).

Dzisiejsi polityczni „konserwatyści” twierdzą, że nie powinniśmy sprzedawać Sowietom komputerów osobistych, bo mogą użyć je do celów militarnych. „Liberałowie” utrzymują, że powinniśmy im je sprzedawać w interesie wolnego handlu i współpracy – i jeśli nie będziemy tego robić, to zrobi to jakiś inny kraj.

Jako wolnościowy cyberpunk twierdzę, że powinniśmy dać je Sowietom za darmo i, jeśli będzie to konieczne, zrobić je dla nich – i, jeśli to nie wystarczy, być może powinniśmy załadować je do Blackbirda SR-71 i zrzucić je o północy nad Moskwą. Płacąc oczywiście z prywatnej subskrypcji, nie z przymusowego opodatkowania…

Przyznaję, że nie jest to stanowisko, które uzyskałoby duże poparcie wśród członków konwencjonalnego lewicowo-prawicowego politycznego spektrum, ale mówiąc słowami jednej z postaci Illuminatusa, jesteśmy politycznymi nieeuklidesowcami: najkrótsza odległość do danego celu nie musi wyglądać jak coś, co większość ludzi uważa za “linię prostą”. Łamanie totalitarnym rządom monopolu na informację jest równoznaczne z łamaniem kręgosłupa ich zdolności uciskania. Komputeryzacja powiększa wolność każdego mężczyzny, kobiety i dziecka na tej planecie – i zrobi to bez jawnego czy ukrytego otwierania ognia!

Przyznajemy, że historię kształtowali ludzie o nazwiskach takich, jak Waszyngton, Lincoln, …, Stalin, Nixon, Marcos, Duvalier, Noriega i tym podobnych. Ale powinniśmy przyznać, że kształtowali ją także ludzie o nazwiskach Edison, Curie, Marconi, DeForest i Wozniak. I to drugie kształtowanie było co najmniej tak samo skuteczne, i nawet w przybliżeniu nie tak krwawe.

W swej książce How I Found Freedom in an Unfree World, Harry Browne czyni znaczące spostrzeżenie, że prawdopodobieństwo sukcesu jakiegokolwiek przedsięwzięcia jest odwrotnie proporcjonalne do liczby ludzi, których trzeba przekonać w celu jego dokonania. Tak, ze o ile przekonanie rządu, by skończył z praktyką cenzury i podsłuchiwania może być niemożliwe, o tyle zatrudnienie techniki szyfrującej do skończenia z tym samemu jest zadaniem trywialnym.

Patrząc dookoła, natychmiast widać nasuwające się dodatkowe zastosowania technarchii do rozwiązywania tego, co inaczej byłoby problemem politycznym: Saudyjczyk pragnący cieszyć się psychoaktywnym narkotykiem alkoholem zrobiłby mądrzej ucząc się chemicznego procesu fermentacji i destylacji, niż zużywając czas na nakłanianie swoich władców do zmiany islamskiego prawa. Niemiec ze Wschodu, który wolałby być Niemcem z Zachodu postąpiłby lepiej studiując aerodynamikę szybowców czy balonów, niż prosząc lub żebrząc o wizę wyjazdową.

Nie bez powodu rewolwer kalibru .45 nazywano na Dzikim Zachodzie „zrównywaczem”. Stwarzał on najdrobniejszej dziewczynie z rewii możliwość obrony przed najbardziej krzepkim i brutalnym kowbojem. (Niektórzy mówią, że ruch na rzecz “kontroli broni” zrodził się, gdy okazało się, ze pozwala jej to także odeprzeć napaść rządowego szeryfa, ale to już inna historia). Komputer osobisty jest dziś „zrównywaczem” nie w dziedzinie brutalnej siły, ale przetwarzania informacji i idei.

Jak tylko nanotechnologia dostarczy urządzeń peryferyjnych, jakakolwiek rzecz złożona z jakichkolwiek substancji będzie mogła być zbudowana w czyimkolwiek garażu, jak tylko ta rzecz i te substancje zostaną wymodelowane matematycznie. W rezultacie rząd nie będzie mógł dłużej ogłaszać rzeczy i substancji za nielegalne – i będzie musiał znów wejść w jedyną uprawnioną rolę, jaką kiedykolwiek odgrywał: rolę tego, kto chroni obywateli przed innymi, którzy ich atakują. Tygrys zostanie wsadzony do klatki, na dobre i złe!

Co za tym idzie, gdy następnym razem będziesz patrzeć na tych, którzy będą chcieli być twoimi „wodzami” ze zdziwieniem i poczuciem zniewagi, i myśleć: „Dobrze, jeśli 51% tego narodu, 51% tego stanu i 51% tego miasta musi zmądrzeć, zanim będę wolny, to równie dobrze każdy mógłby podciąć mi moje pieprzone gardło i zostawić mnie na pastwę losu!” – uznasz, że sytuacja nie jest całkiem ponura. Technika – w szczególności technika komputerowa – może pomóc ci uczynić się jednostronnie wolnym!

Wchodzimy w ostatnią dekadę tego, co Timothy Leary nazwał Ryczącym Dwudziestym Stuleciem i każdy jej dzień ukazuje nam coraz bardziej oczywistość prawdy zawartej w jego zachęcie: „If you’re wise… digitize”.

Gobby Collaborative Editor: Notatnik w wersji multiplayer

2010-06-19, Sobota 22:07:49 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Systemy kontroli wersji pokroju SVN, Mercuriala, czy też Gita to świetne rozwiązanie, które znacząco ułatwia nie tylko samodzielną pracę nad projektami informatycznymi, ale również sprzyja pracy grupowej. Chyba każdy, kto miał okazję wspólnej pracy nad treścią dłuższego dokumentu doceni połączenie LaTeX-a oraz któregoś z wymienionych systemów. Istnieją jednak takie sytuacje, kiedy to systemy kontroli wersji zupełnie nie sprawdzają się. Ostatnie chwile przed deadlinem, kiedy to cała grupa intensywnie pracuje nad dokumentem, są źródłem konfliktów, które co i rusz należy rozwiązywać. A przecież blokada konkretnego pliku w tak delikatnym okresie nie wchodzi w grę. Jak sobie z tym poradzić? To proste. Wystarczy skorzystać z „notatnika w wersji multiplayer”. Oto krótki opis oprogramowania, które dostarcza wspomnianą funkcjonalność i znacząco ułatwia pracę w zespole.

Kiedyś już wspominałem o polskim projekcie o nazwie MoonEdit. Program ten, o zamkniętym kodzie źródłowym (freeware do użytku niekomercyjnego), będąc narzędziem wieloplatformowym umożliwia wspólną edycję jednego pliku przez kilka osób w tym samym czasie. Wszystko odbywa się w czasie rzeczywistym, a zmiany oznaczane są kolorami przyporządkowanymi do użytkownika, który danej modyfikacji dokonał. Świetna sprawa, która w znaczący sposób ułatwia wspólną pracę nad jednym dokumentem. Przypomina to w pewnym stopniu to, co mogą zaobserwować użytkownicy usług Google o nazwie Google Docs (ew. LaTeX Lab - otwartoźródłowy edytor LaTeX-a oparty o Google Docs) oraz Google Wave. Wszystkie te rozwiązania mają jednak co najmniej jedną, acz istotną, wadę. Ich licencje oraz sposób funkcjonowania sprawiają, iż ich wykorzystanie jest ograniczone. Warto zatem poszukać wolnego oprogramowania, które pełni rolę takiego sieciowego notatnika. Takim programem jest Gobby.

Gobby to wieloplatformowy projekt rozwijany od 2005, a dostępny na licencji GPL, który całkiem nieźle sprawdza się podczas grupowej edycji dokumentów. Szczególnie, jeżeli mowa o kodach źródłowych oraz plikach z kodem w LaTeX-u. Możliwość pracy na kilku plikach jednocześnie, osobny kanał komunikacyjny dla osób uczestniczących w tworzeniu (coś ala IRC), szyfrowane połączenia, ochrona pliku hasłem, podświetlanie składni, czy też wsparcie dla Unicode to tylko niektóre z cech Gobbiego. Samą aplikację znajdziecie w repozytoriach takich dystrybucji Linuksa, jak np. Debian, czy też Ubuntu. Warto również podkreślić, że Gobby ułatwia pracę deweloperom podczas Ubuntu Developer Summit. Także członkowie projektu Fedora mają z nim stosunkowo często do czynienia.

Gdybyście mieli ochotę zapoznać się z Gobbim to polecam na sam początek wypróbować wersję starszą, niż 0.4.90. Dlaczego? Starsze wersje pomimo braku funkcjonalności redo/undo posiadają nieco prostszy interfejs użytkownika oraz serwer wbudowany w klienta, który można uruchomić jednym kliknięciem myszy (serwer dedykowany tj. Sobby jest opcjonalny).

Zachęcam do wypróbowania Gobbiego lub innych rozwiązań tego pokroju. To naprawdę ułatwia pracę i umożliwia skupienie się na tym, co najważniejsze bez potrzeby tracenia energii na zabawę w rozwiązywanie konfliktów, czy siedzenie przed jednym komputerem.

Miniblog: Usługa echo dla XMPP Jingle

2010-06-03, Czwartek 01:32:53 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Duża część oprogramowania zapewniającego komunikację audio/wideo (np. Skype) udostępnia usługę umożliwiającą sprawdzenie poprawności konfiguracji klientów. Jest to najczęściej tzw. usługa echo - wszystko to, co bot otrzyma na wejściu przesyła z powrotem do nadawcy. W przypadku protokołu Jabber/XMPP i wideokonferencji sprawa jest nieco trudniejsza - samodzielnie należy sobie znaleźć bota, który taką opcję udostępnia. Gdyby ktoś takiej szukał to na dzień obecny istnieje i funkcjonuje m.in.:

echo@test.collabora.co.uk

Dopiero przy jego pomocy odkryłem, że z Jingle najlepiej radzi sobie Psi+ (w przeciwieństwie do Empathy i Pidgina). O przesyle wideo mogę obecnie zapomnieć - mam nadzieję, że nie na długo. Co ciekawe, wspomniany wyżej bot korzysta z Telepathy, a jego kod jest dostępny dla wszystkich zainteresowanych.

Miniblog: VoIP

2010-05-31, Poniedziałek 23:41:11 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Nie wyobrażam sobie, abym do komunikacji typu IM mógł obecnie korzystać z czegokolwiek innego, niż XMPP. Standardy, w szczególności otwarte, są w komunikacji szczególnie ważne. Wyobraźcie sobie Internet bez e-maili, w którym to funkcjonalność poczty dostarczana byłaby przez różnego rodzaju niekompatybilne ze sobą nawzajem serwisy społecznościowe. Brr... Bądź, co bądź, w przypadku IM wybór jest prosty - XMPP. A co w przypadku, gdybym chciał prowadzić rozmowę głosową lub wideokonferencję?

Na pewno nie sięgnął bym po czarną, własnościową skrzynkę, jaką jest Skype. Owszem, to standard „de facto” jednak daleko mu do bycia otwartym. Do tej pory do rozmów głosowych wykorzystywałem sprzętową bramkę VoIP wykorzystującą protokół SIP (standard spisany w RFC i rozwijany przez IETF). W przypadku rozmów wideo naturalnym byłoby zatem sięgnięcie po klienta, który również korzysta z SIP i umożliwia transfer obrazu - np. po wieloplatformową Ekigę (Speex i Theora w roli kodeków). Pozostaje jeszcze co najmniej jedno rozwiązanie. Jingle!

Jingle to rozszerzenie XMPP (m.in. XEP-0166) stworzone przy współpracy z Google umożliwiające przesyłanie ww. danych między klientami XMPP. Problem polega jedynie na tym, że jest to jeszcze szkic standardu i różne jego implementacje bywają niekompatybilne ze sobą. Jakie klienty wspierają Jingle? Psi (tylko głos), Pidgin, Telepathy i kilka innych.

Pytanie tylko, co w praktyce lepiej się sprawdza. SIP, czy XMPP z Jinglem? Mam nadzieję sprawdzić to w ciągu najbliższych kilku tygodni.

Wieczór z Open Source 2010

2010-05-25, Wtorek 23:17:08 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Zapraszam wszystkich zainteresowanych w dniu 2010-06-11 na Wieczór z Open Source 2010. Spotkanie odbędzie się w Wyższej Szkole Informatyki w Łodzi, ul. Rzgowska 17a. Zarówno kilku Joggerowiczów (Matthew oraz Paszczak), jak i ja sam, będziemy mieć podczas spotkania okazję wygłoszenia prezentacji dot. FLOSS.

Konferencja jest przeznaczona dla wszystkich, którzy chcą posłuchać czegoś o Open Source. Poruszane tematy będą zarówno dla początkujących jak i zaawansowanych. Wykłady oraz warsztaty przygotowane są w taki sposób, aby każdy odszukał w nich coś interesującego dla siebie oraz były inspiracją do dalszej nauki i poznawania Open Source.

Program na dzień obecny:

Temat Prelegent
LaTeX: Jak szybko i łatwo tworzyć dokumenty doskonałe Karol Zalewski
Wordpress Maciej Palmowski
Open Source w telefonach komórkowych na przykładzie Maemo 5 Maciej Jabłoński
Cachowanie i kompresja w protokole HTTP – jak oszczędzić łącze i serwery Konrad Stępień
HTML5 i CSS3 Jan Kraus
Why everything is worse than git Mateusz Marek
java.lang.OutOfMemoryError Kamil Porembiński

Więcej informacji można znaleźć na stronie imprezy: Wieczór z Open Source 2010

Miniblog: Społeczne mikropłatności

2010-05-07, Piątek 15:39:27 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

W moim poprzednim wpisie, dotyczącym prostych i skutecznych darowizn na rzecz twórców funkcjonujących w Internecie, kilka osób (w tym m.in. Rozie) wspomniało o tym, że w trakcie tworzenia znajduje się serwis, którego celem jest usunięcie przedstawionego problemu. Mowa o Flattr - serwisie umożliwiającym dokonywanie mikropłatności przy pomocy jednego kliknięcia.

Zasada działania jest prosta. Na początku miesiąca wpłacamy minimum 2 EUR na konto w systemie Flattr. Następnie przez cały miesiąc rozdajemy kliknięcia twórcom, a gdy nastąpi jego koniec pula pieniędzy dzielona jest przez liczbę kliknięć i przesyłana do właściwych osób. Proste. Z jednej strony mamy system ratingowy podobny do tego znanego z Digg.com, a z drugiej strony możliwość wygodnego przekazywania mikropłatności twórcom bez obaw o nasze fundusze i czas.

Mam nadzieję, że całość nie tylko sprawdzi się, ale również zyska popularność.

Internet, wolna kultura, darowizny i mikropłatności

2010-05-06, Czwartek 07:37:12 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Czy byłby to dla mnie problem, gdybym miał dobrowolnie przekazać 1, 2, lub 5 złotych twórcy, który udostępnił za darmo stworzony przez siebie tekst, obraz, muzykę, film, grę, czy też program? Jeżeli utwór ten byłby w moim mniemaniu dobry to „why not?”. Ale jak tylko pomyślę, że aby przekazać komuś 1 złoty musiałbym poszukać jego numeru konta, danych osobowych, uruchomić interfejs WWW mojego banku, wypełnić formularz, poczekać na token pod postacią SMS-a i... To mi się odechciewa. Za dużo tego, prawda? A gdyby tak zrobić to prościej, szybciej i z większym pożytkiem zarówno dla twórców, jak i odbiorców?

Gdybym mógł przekazać twórcy złotówkę przy pomocy jednego kliknięcia to nie tylko ja byłbym zadowolony, ale i twórca mógłby liczyć na więcej darowizn. Sama koncepcja płatności przez Internet jest prosta i dobrze znana. Wystarczy spojrzeć na takie serwisy, jak np. PayPal, MoneyBookers, Google Checkout oraz Amazon Payments. Nieco większym problemem przy korzystaniu z ww. usług jest rola obdarowanego oraz integracja z kontami bankowymi. Niestety, koszty jakie ponosi obdarowany oraz trudność w przelewaniu środków na konta ww. systemów w celu skorzystania z nich przez darczyńców (np. wymagane posiadanie karty kredytowej lub doładowanie wirtualnego konta tradycyjnym przelewem) sprawiają, że nie nadają się do realizacji celu, o którym napisałem.

Przykład rozwiązania w oparciu o system Dotpay.pl - metoda POST. Bez potrzeby zakładania odrębnego konta ze strony darczyńcy. Istnieje również możliwość skorzystania z metody GET.

A może rodzime rozwiązania lepiej sprawują się pod tym względem? Trochę ich jest - Platnosci.pl, PayU, Przelewy24 i Dotpay. Po krótkim przejrzeniu ich możliwości oraz warunków na jakich działają większość z nich odpada w przedbiegach, pozostaje Dotpay. Tak, jak i inne serwisy, dzięki integracji z polskimi systemami bankowymi umożliwia on dokonywanie szybkich wpłat przez darczyńców. Jest również przystosowany do przekazywania darowizn - nie wymaga od twórcy prowadzenia działalności gospodarczej, ani tworzenia konta w ich systemie przez darczyńcę. Odbierający darowiznę obarczany jest opłatą w wysokości kilku procent od przelewanej kwoty (minimum 30 groszy). Rejestracja konta odbiorcy kosztuje 10 złotych i jest konieczny do odebrania zgromadzonych pieniędzy na tradycyjne konto (sam przelew to złotówka). Wady? Wysoka minimalna opłata za przekazanie pieniędzy oraz brak anonimowości ze strony darczyńcy (np. konieczność podania imienia i nazwiska). Zalety? Darczyńca nie musi posiadać karty kredytowej (wystarczy ROR w jednym z polskich banków) lub doładowywać konta w systemie. W razie potrzeby może on wykorzystać również kilka innych systemów w celu zrealizowania płatności (standardowo MoneyBookers, dodatkowo PayPal). Jedno kliknięcie i trafia się na stronę, która pozwala na wybór sposobu płatności oraz podanie podstawowych danych osobistych (zazwyczaj imię, nazwisko i e-mail). Po niej następuje logowanie w systemie naszego banku i... Pozostaje jeszcze kwestia hasła jednorazowego (w przypadku np. mBanku), którego obecność utrudnia procedurę, a ewentualny brak powoduje zmniejszenie bezpieczeństwa.

Hasło jednorazowe. Jak je usunąć nie tracąc bezpieczeństwa? To proste! Wystarczy wprowadzić limit darowizn, jaki można zrealizować w ciągu dnia. Jaki i czego dotyczący (tj. suma darowizn, liczba darowizn, liczba darowizn przekazanych danemu użytkownikowi itp.) to już inna kwestia. Tego brakuje. Ostatniego elementu, z punktu widzenia informatyka (US miałby pewnie odmienne zdanie), niezbędnego do stworzenia systemu sprzyjającego przekazywaniu mikrodarowizn twórcom funkcjonującym w polskim Internecie. Niestety, decyzja nie leży po stronie użytkownika, a po stronie twórców systemów bankowych.

Pomysł nie jest szczególnie odkrywczy, ale jestem ciekaw, co o tym sądzicie. Czy również dostrzegacie bariery na jakie natrafia osoba chcąca przekazać piątaka twórcy? Czy sądzicie, iż ich zniesienie może wpłynąć na liczbę darowizn i być korzystne dla twórców? Moim zdaniem wyeliminowanie tych barier jest ważne. Szczególnie, że rozwiązania „zapłać tyle, ile chcesz” stają się coraz popularniejsze pośród niezależnych twórców i sympatyków wolnej kultury, a łatwość przekazywania darowizn i ich odbioru ma kluczowe znaczenie w takim środowisku.

Miniblog: 5 gier indie w systemie „płać tyle, ile chcesz”

2010-05-04, Wtorek 20:44:33 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Jeszcze przez tydzień można wesprzeć EFF, Child's Play oraz twórców gier indie nabywając pięciopak gier: World of Goo, Aquaria, Gish, Lugaru oraz Penumbra. Wszystko to w systemie „płać tyle, ile chcesz”. Bez systemów DRM, a całość w wersjach dla Windowsa, Linuksa oraz Maca. Sądzę, że warto - gierki są przednie (polecam World of Goo), a sprawa szczytna. Gdyby ktoś się wahał to na decyzję ma jeszcze tydzień.

Swoją drogą, coraz więcej twórców decyduje się na wydawanie gier w takim systemie. I coraz częściej okazuje się, że to całkiem niezły sposób na reklamę oraz zarobek. Czyżby Karl Fogel nie mylił się aż tak bardzo? Jedno jest pewne - im więcej tego typu akcji tym więcej materiału do analizy.

Międzynarodowy Dzień Przeciwko DRM

2010-05-04, Wtorek 07:25:09 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

To już dziś, 4 maja został ogłoszony przez Free Software Foundation Dniem Przeciwko DRM, czyli cyfrowemu zarządzaniu prawami. Czym jest DRM? DRM to:

...oparty o mechanizmy kryptograficzne lub inne metody ukrywania treści system zabezpieczeń mający przeciwdziałać używaniu danych w formacie elektronicznym w sposób sprzeczny z wolą ich wydawcy.

Źródło: „Digital rights management”, Wikipedia

Co oznacza DRM dla nas, użytkowników? Przede wszystkim naruszenie naszych praw. Oto skutki stosowania DRM przez producentów oprogramowania oraz wydawców muzyki, filmów, książek itp.:

  • mechaniczna kontrola (np. konieczność stałego połączenia z Internetem i inne utrudnienia) dostępu do treści, którą posiadasz,
  • ograniczanie przywilejów (np. prawa do wykonania backupu) każdego z nas,
  • konieczność zakupu urządzeń, które sprzętowo wspierają DRM,
  • i wiele innych.

Powiedź stop systemom DRM, które ograniczają Twoją wolność!

Miniblog: H.264, Apple, Microsoft i Internet

2010-05-03, Poniedziałek 19:07:41 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Powiedzcie mi, jak można być tak naiwnym, aby wierzyć dwóm najbardziej otwartym firmom zajmującym się tworzeniem wolnego oprogramowania (mowa oczywiście o Apple i Microsofcie), gdy mówią, że Flash będący dzieckiem Adobe jest BE, bo jest zamknięty? Zamiast tego, do odtwarzania wideo w Internecie proponują H.264, który jest przecież taki wspaniały, a do tego stał się już de facto standardem.

Bogowie... Myślę, że tylko nieliczni zrozumieli żart Ballmera oraz Jobsa. I mam nadzieję, że zalicza się do nich również Google ze swoim VP8.

Telefon z Symbianem i drukowanie na drukarce CUPS

2010-05-03, Poniedziałek 00:26:56 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Jedna z moich ostatnich zabawek (telefon Nokia E51) umożliwia drukowanie notatek, kalendarzy, SMS-ów itp. korzystając z drukarek sieciowych. Robi to stosując HP JetDirect lub protokół LPR. Oznacza to, iż aby możliwym było drukowanie z wykorzystaniem drukarki udostępnianej na serwerze z CUPS-em należy tak go skonfigurować, aby zachowywał się, jak LPD.

W tym celu, pod Linuksem (w moim przypadku jest to Debian), należy dodać do /etc/inetd.conf (plik konfiguracyjny super serwera) następującą linię:

printer stream tcp nowait lp /usr/lib/cups/daemon/cups-lpd cups-lpd -o job-sheets=none,none

Po zapisaniu pliku wystarczy zrestartować inetd (pod Debianem: /etc/init.d/openbsd-inetd restart). Konfigurując drukarkę w telefonie komórkowym podajemy adres IP lub nazwę hosta serwera oraz nazwę drukarki w systemie CUPS. Przykładowo, dostęp do drukarki z poziomu CUPS-a uzyskuję dzięki adresowi:

http://thor.ipv4.4zal.net:631/printers/Officejet_Pro_K550

Oznacza to, że w nazwie hosta wpiszę thor.ipv4.4zal.net, zaś w przypadku kolejki użyję Officejet_Pro_K550. Jeżeli dodatkowo jest to drukarka firmy HP to mogę użyć w komórce sterownika o nazwie HP Mobile Printing. Wydruki będą ładniejsze, a polskie znaki diakrytyczne nie będą sprawiać żadnych problemów.

Efektem ubocznym takiej konfiguracji CUPS-a jest to, iż od teraz każdy, kto posiada informacje o serwerze oraz wykorzystywanej kolejce będzie w stanie drukować na niej bez potrzeby dokonywania uwierzytelniania i autoryzacji.

Miniblog: QR Code

2010-05-01, Sobota 22:09:30 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Jak już pewnie niektórzy zauważyli znowu mam fioła na punkcie QR Code. Co prawda uważam, że jego stosowanie na stronach internetowych nie jest najrozsądniejszym rozwiązaniem, ale...

Jest to wspaniała sprawa wszędzie tam, gdzie mamy do czynienia z wydrukowanymi materiałami lub gdzie zachodzi potrzeba wymiany danych, których wprowadzanie do telefonu komórkowego jest czasochłonne. Zamiast przepisywać treść wizytówki wystarczy uruchomić na komórce oprogramowanie pokroju Kaywa Reader i zeskanować dołączony do niej QR Code zawierający dane w formacie vCard, MECARD itp. Samo generowanie też nie jest problematyczne, w sieci istnieje mnóstwo serwisów, które to umożliwiają (m.in. The 2D Code).

Czy muszę zaznaczać, że wspomniane kody znajdują się już na połowie moich dokumentów?

Vimperator a inne przeglądarki WWW

2010-04-11, Niedziela 15:04:17 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Vimperator nie jest samodzielną przeglądarką internetową. Jednakże ci, którzy mieli z nim do czynienia wiedzą, iż zmienia on przeglądarkę nie do poznania. Vimperator to rozszerzenie do Firefoksa, które sprawia, że zaczyna się on zachowywać w sposób zbliżony do Vima, czyli popularnego *nixowego edytora tekstu. Co to oznacza? Minimalistyczny wygląd oraz możliwość kontrolowania przeglądarki bez użycia myszy - jednoliterowe skróty klawiaturowe umożliwiają wygodne i szybkie nawigowanie, poruszanie się po kartach, czy też przeglądanie historii. Vimperator jest rozszerzeniem bez którego nie wyobrażam sobie przeglądarki. Cały problem polega jednak na tym, że sam Firefox nie jest już aplikacją idealną. O ile kiedykolwiek nią był. Czy oprogramowanie alternatywne w stosunku do „ognistego liska” również posiada „Vim mode”? To całkiem prawdopodobne.

Jakie przeglądarki mogą obecnie stanowić konkurencję dla Mozilla Firefox? Przede wszystkim otwarty Google Chrome oraz własnościowa Opera. Innymi przeglądarkami pokroju tekstowego Lynksa nie ma potrzeby się zajmować. Zatem, jak wygląda sytuacja w przypadku Chrome? Okazuje się, że doczekał się on kilku rozszerzeń wzorowanych na Vimperatorze. Mowa tutaj przede wszystkim o Vrome, któremu najbliżej do Vimperatora, oraz o Vimium, które posiada największy potencjał chociaż nie dorównuje jeszcze funkcjonalnością temu pierwszemu. Inne rozszerzenia (liczba pojedyncza byłaby tutaj właściwsza) zupełnie nie nadają się do użytku. Uważam, że przeniesienie się na Chrome w połączeniu z Vimium lub Vrome jeszcze przez jakiś czas będzie gorszym wyborem, niż pozostanie przy Firefoksie i Vimperatorze. Jest to spowodowane ograniczoną funkcjonalnością tych rozszerzeń oraz błędami, które sprawiają, że praca z nimi jest męcząca.

W przypadku Opery można znaleźć kilka rozwiązań opartych o UserJS. Mowa m.in. o czymś, co nazwane zostało Vimperoperą oraz rozwiązaniu zaproponowanym przez Groszka. Problem polega na tym, że Vimperopera nie współpracuje najlepiej z Operą 10.50, a kod Groszka jest jeszcze mocno rozwojowy. W tym świetle Opera wypada przy Firefoksie i Chrome dosyć blado.

Podsumowując, moim zdaniem nie istnieje obecnie sensowna alternatywa dla Vimperatora, która nadawałaby się do codziennego użytku. Niemniej jednak sądzę, iż w ciągu najbliższych kilku miesięcy sytuacja ta może ulec zmianie. Chrome nie tylko szybko się rozwija, ale posiada również wsparcie ze strony twórców rozszerzeń. Gdy tylko Vrome pozbędzie się najbardziej irytujących bugów lub Vimium pozyska dodatkową funkcjonalność nie będzie dla mnie żadnych przeciwwskazań ku temu, aby przenieść się na Chrome. A może Firefox 4 zmieni ten stan rzeczy?

Miniblog: Źródła wtórne i pierwotne

2010-02-25, Czwartek 17:35:47 +0100, autor Karol „Zal” Zalewski, licencja LPRCTKC

Wiem, że nie jest to dla wielu z nas wygodne, ale w trakcie czytania dowolnie wybranego artykułu warto zwrócić uwagę na jeden bardzo ważny element - źródła. Szczególnie, gdy mowa o tekstach odnoszących się do obcojęzycznych prac. Z jednej strony źródło może być mało wiarygodne, szczególnie, gdy ktoś odnosi się do brukowców. Z drugiej zaś strony drobny błąd przy tłumaczeniu tekstu może zaważyć na jego wydźwięku.

Oczywista oczywistość, ale rzadko stosowana w praktyce. Szczególnie, gdy mamy do czynienia z łańcuszkiem artykułów odnoszącym się do źródeł wtórnych, a nie jednego pierwotnego. Przykład? Proszę bardzo - „Używasz Open Source? Jesteś piratem!” z LinuxNews.pl. Brr...

Starsze wpisy |