Blog poświęcony głównie tematyce związanej z informatyką oraz użytkowymi aspektami komputerów i Internetu.
Creative Commons License
Ten utwór jest dostępny na licencji Creative Commons Uznanie autorstwa-Użycie niekomercyjne-Bez utworów zależnych 2.0 Polska

darmowe liczniki
Kategorie: Wszystkie | informatyka | przemyślenia | użytkowe
RSS
środa, 19 maja 2010
Być użytkownikiem programu Pinnacle – bezcenne

Na szczęście to nie ja dostąpiłem wątpliwego zaszycztu bycia tym użytkownikiem, tylko kolega (pozdr. dla Vincenta i dzięki za info). Poniższy obrazek to podobno tylko wierzchołek góry lodowej jeśli chodzi o kłopoty z programami do obsługi urządzeń tej firmy.

Pinnacle

niedziela, 02 maja 2010
(Nie)znajomość własnego warsztatu

Gdy pracuję w systemie Linux i korzystam z mojego ulubionego klienta Bittorrent - Azureusa, często zachodzi potrzeba potraktowania tego programu poleceniami renice i ionice, żeby zwiększyć responsywność systemu, która mogła ucierpieć przez działanie złożonej Jav'owej aplikacji. Warto było w tym celu napisać sobie prosty skrypt. Pojawił się tutaj problem pobrania PID'u procesu na podstawie jego nazwy. Nie zagłębiając się specjalnie w naturę problemu (co okazało się błędem - o tym za chwilę) stworzyłem własne rozwiązanie tego problemu w ten sposób:

ps ax | grep "java.*Azureus" | awk '{$0 = gensub(/^ +/,"", "g", $0); print $1; exit}'

Dla zainteresowanych krótkie wytłumaczenie działania tej komendy:

  • ps ax - wyświetla listę wszystkich procesów użytkownika, również tych, które nie posiadają konsoli. Na początku każdego wiersza, tuż po spacji, jest szukany przeze mnie PID. Gdzieś pod koniec jest "command line" którym uruchomiono proces.
  • Odnajuję wiersz z procesem Jav'y, szukając słowa "java", następnie dowolnej liczby dowolnych znaków, następnie słowa "Azureus". Wzorzec ten "łapie" wiersz z procesem, którego szukam.
  • Następnie trzeba się jakoś pozbyć tej nieszczęsnej spacji na początku. Niestety prostym poleceniem cut nie dało rady, więc sięgnąłem po potężny AWK, który nadaje się idealnie, ponieważ przetwarza wierszami i od razu dzieli wiersz na rekordy. W "miniprogramie" AWK usuwam spację z początku wiersza "łapiąc" ją wyrażeniem regularnym "/^ +/" i usuwając. Następnie wypisuję pierwszy rekord wiersza, czyli szukany PID.

Jak widać powyższe rozwiązanie wbrew pozorom wykorzystuje sporo różnych pomysłów i w gruncie rzeczy nie wygląda na najprostsze. W tym momencie dochodzę do refleksji, która jest przedmiotem tego wpisu: otóż ktoś już wcześniej zauważył, że w życiu często zachodzi potrzeba znalezienia PID'u procesu po jego nazwie i wymyślono do tego oddzielne polecenie:

pgrep -f Azureus

Efekt jego działania jest dokładnie taki sam jak polecenia, które ułożyłem wcześniej. Wniosek z tego jest taki, że jeżeli zabieramy się za tworzenie własnego rozwiązania jakiegokolwiek problemu informatycznego (a może wcale nie tylko informatycznego), warto sprawdzić najpierw czy w danej chwili już nie dysponujemy narzędziami, którymi możemy ten problem rozwiązać natychmiast. Myślę, że przykładów podobnych, niezwykle użytecznych i mało znanych poleceń oraz funkcjonalności powłoki systemu Linux jest więcej, chociażby takie jak: watch, stat, column, reset czy mechanizmy zwane "event designator" albo "brace expansion".

PS. Dla formalności dodam jeszcze, że podany wyżej "miniprogram" AWK też jest nadmiernie skomplikowany, bo okazuje się, że gensub nie jest potrzebny, samo "print $1" wystarczy :)

środa, 24 marca 2010
Drobne spostrzeżenia cz. 1: Grono ściemnia na głównej stronie

Zaintrygowało mnie eleganckie zapewnienie na stronie logowania czołowego niegdyś, polskiego serwisu społecznościowego: "Logujesz się bezpiecznie przez SSL". Serwisy internetowe często stosują technikę polegającą na szyfrowaniu jedynie strony z formularzem do logowania, a przechodząc do właściwych stron serwisu zmieniają połączenie na zwykłe http (skoro nie dajemy rady ochronić wszystkich twoich danych, to zabezpieczymy przynajmniej twoje hasło). Myślałem, że tak jest i tym razem, chociaż nie widziałem typowego w takich sytuacjach mignięcia paska adresu na żółto w krótkiej chwili, gdy połączenie jest szyfrowane.

Aby się upewnić włączyłem w mojej przeglądarce ostrzeżenie przy otwieraniu zaszyfrowanej strony: w Mozilla Firefox - opcje -> bezpieczeństwo -> ostrzeżenia -> ustawienia: wyświetlaj ostrzeżenie przy "otwieraniu zaszyfrowanej strony". Podczas logowania do serwisu, ostrzeżenie wbrew obietnicom napisanym pogrubioną czcionką nie pojawia się, co oznacza tyle, że połączenie wcale bezpieczne nie jest.

Jakie to ma praktyczne konsekwencje? Szczerze mówiąc niewielkie o ile nie łączymy się z Internetem np. poprzez ogólnodostępny, darmowy "hot-spot" gdzie istnieje realna szansa podsłuchania całego ruchu w sieci w bardzo prosty sposób. Głównym celem szyfrowania połączenia ze stroną internetową jest zapewnienie, że jeżeli ktoś, kto "po drodze" od naszej przeglądarki do serwera ze stroną internetową uzyska dostęp do medium transmisyjnego, to jednak nie uzyska dostępu do danych. W przypadku niezabezpieczonych sieci bezprzewodowych niebezpieczeństwo jest duże, dlatego, że taki podsłuch jest właśnie trywialnie prosty - wszak nośnikiem jest eter. W przypadku połączenia kablowego (pomijając infrastrukturę sieci lokalnej w szkole/uczelni/pracy, która może być tak zbudowana, że podsłuch jest możliwy w jej obrębie) niebezpieczeństwo przechwycenia niezaszyfrowanych danych na drodze od naszego usługodawcy internetowego do serwera docelowego jest raczej średnie, ponieważ byłoby po prostu dość skomplikowane technicznie (ale jak najbardziej możliwe).

Jakie to ma inne konsekwencje? Tylko wizerunkowe. Nie podoba mi się to, że serwis mnie oszukuje już na powitanie.

U konkurencji jest lepiej, bo:

  • NK zapewnia oddzielny link do logowania przez SSL widoczny na stronie głównej
  • FB zapewnia szyfrowanie SSL, gdy w pasku adresu ręcznie podmienimy http na https. Jednakże na stronie głównej nie informuje o takiej możliwości. Co ciekawe, szyfrowanie jest domyślne podczas edytowania danych swojego konta, co trochę dziwi wobec nie szyfrowania samego logowania do seriwsu.

 

poniedziałek, 22 marca 2010
VMware Player 3 – w pełni funkcjonalny program do wirtualizacji

Deklarowałem się, że nie będę podawać na blogu news'ów, ale ta informacja jest dosyć istotna dla osób korzystających z wirtualizacji, a nie została zauważona w żadnym z serwisów, które śledzę.

Od ok. 2 lat używam i polecam znajomym program Sun Virtualbox. Jest to narzędzie darmowe posiadające wszystkie niezbędne funkcje. VMware Player do wersji 3 był programem pozwalającym jedynie na uruchamianie istniejących maszyn, a nie ich tworzenie. Natomiast od wersji 3 wprowadzono również możliwość tworzenia nowych maszyn. Oznacza to, że do grupy darmowych, w pełni funkcjonalnych programów można zaliczyć również VMware Player'a. Różnicą w stosunku do płatnego Workstation jest brak możliwości tworzenia migawek (swoją drogą pamiętam, że w Workstation kiedyś dawno temu też tego nie było) oraz brak jakichś mało użytecznych dla skromnego użytkownika funkcji do pracy w grupie.

Testowałem VMware Player na razie tylko w wersji dla systemu linuks i w moim odczuciu działa znacznie wydajniej od Sun Virtualbox'a. Przykładowo odtwarzanie filmów z Youtube działa (system gościa to Windows) całkowicie płynnie, czego o maszynie w Virtualbox powiedzieć nie można. Zapewne dzięki wsparciu dla przyspieszenia sprzętowego w wyświetlaniu grafiki.

poniedziałek, 08 marca 2010
Realna alternatywa dla GG: Facebook?

Pisałem już na blogu o tym, że nie lubię GG. Nie jest to opinia umotywowana typowo polską skłonnością do narzekania na wszystko. Uważam, że trudno jest lubić program służący do komunikacji w czasie rzeczywistym, który:

  • Wyświetla irytujące, nachalne reklamy we wszystkich możliwych miejscach (sugeruję umieszczanie reklam dodatkowo również pomiędzy znakami przesyłanych wiadomości, bo tam ich jeszcze nie było)
  • Ma interfejs przeładowany bezużytecznymi funkcjami (ktoś wie do czego służy GG Rodzina albo GG Zamawianka? Ja nie wiem i ta wiedza nie jest mi do szczęścia potrzebna)
  • Ma po prostu źle wykonane archiwum. Przynajmniej u mnie czas załadowania się archiwum to kilkanaście sekund przy pełnym obciążeniu procesora. Bez przesady - można to zrobić efektywniej
  • Potrafi od czasu do czasu nie dostarczyć wysłanej wiadomości
  • Może się pochwalić jakże bogatym zbiorem wyników po wpisaniu w Google: gg cenzura. Niestety istenieją zaobserowane przypadki blokowania treści przesyłanych przez sieć GG

W mojej ocenie zarzuty te (w szczególności dwa ostatnie) są dyskwalifikujące dla tego programu jako rozwiązania typu instant messaging.

Szeroko stosowanym i polecanym przez profesjonalistów rozwiązaniem jest dowolny program korzystający z protokołu XMPP zwanego dawniej Jabber:

  • Jest to standard otwarty, tzn. nie należy do żadnej firmy i każdy może "postawić" swój serwer tego protokołu
  • Zmierza w stronę oficjalnego standardu internetowego RFC
  • Istnieje bardzo dużo programów do jego obsługi, wybór jest ogromny
  • Jest sprawdzony i niezawodny
  • Jest darmowy i niekomercyjny
  • Ma szereg funkcji niedostępnych w GG
  • Nie istnieje przykra konieczność poddawania się kaprysom firmy produkującej program np. zmuszanie do aktualizacji, zmuszanie do oglądania reklam, zmuszanie do korzystania z programu w taki sposób, jaki wymyślą sobie wizjonerzy firmy. W przypadku XMPP korzystamy z takiego programu, jaki nam się podoba

Niestety główna zaleta GG jest jednocześnie główną wadą XMPP/Jabbera: baza użytkowników. Co z tego, że ja bym go chętnie używał skoro musiałbym rozmawiać chyba sam ze sobą? Zwykli użytkownicy komputerów niestety o nim nie słyszeli i korzystają z GG, bo jak wiadomo z GG korzystają wszyscy. W lutym br. Facebook wykonał moim zdaniem niezwykle trafną operację, która może coś w tej dziedzinie zmienić, a mianowicie:

Facebook udostępnił dla każdego użytkownika serwisu konto na swoim własnym serwerze XMPP. Rozmowy prowadzone w ten sposób są tym samym, co dostępny w serwisie chat tzn. możemy używać do rozmowy chatu lub swojego ulubionego programu obsługującego XMPP. Korzyści są na przykład takie:

  • Aby rozpocząć korzystanie nie trzeba zakładać żadnego konta. Wystarczy wybrać program, ja polecam Pidgin
  • Konfiguracja jest trywialna. Wystarczy jako serwer (dla konta XMPP, w Pidginie pod nazwą "domena") wpisać w programie chat.facebook.com, podać nazwę użytkownika i hasło a w opcjach zaawansowanych odznaczyć szyfrowanie SSL (niestety nieobsługiwane) i to wszystko

Od tego momentu można korzystać z chatu FB w swoim ulubionym programie. Konto XMPP jest niezależne od zalogowania w serwisie Facebook. Można mieć jednocześnie otwarty Pidgin oraz przeglądarkę ze stroną FB. Widać, że zmiany (dostępność znajomych) pojawiają się szybciej w programie niż na stronie. Ponadto można również korzystać z programów na telefony komorkowe np. Parlingo

Facebook załatwia nam problem tego, że z XMPP korzysta mało użytkowników, czyli likwiduje jego największą wadę. Gdyby poinformować użytkowników Facebook'a, że w ten sposób mogą wykorzystać swoje konto, do tego, aby mieć pełnowartościowy, lepszy od GG komunikator to myślę, że coraz więcej osób mogłoby zrezygnować z wątpliwych usług żółtego słoneczka.

 

1 , 2 , 3 , 4 , 5 ... 11