Komputery, oprogramowanie, internet i okolice
Kategorie: Wszystkie | Aplikacje | Blog | Dev | Hacks | Linux | Subversion | Varia | gry | khoomei | książki | mjuzik
RSS
środa, 25 listopada 2009

Dzień dobry, nazywam się KosciaK i jestem prokrastynatorem.

Co to jest prokrastynacja?

Cytując Wikipedię prokrastynację można zdefiniować jako "patologiczną tendencję do nieustannego przekładania pewnych czynności na później, ujawniającą się w różnych dziedzinach życia". Można też spróbować zdefiniować prokrastynację w sposób jaki zrobił to Johnny Kelly:

Lub jak to zrobił Lev Yilmaz w Tales of Mere Existence (które polecam z całego serca!).

Objawy prokrastynacji

Skoro już wiemy, że prokrastynacja to nie robienie za wszelką cenę tego co mamy zrobić wykonując setki innych czynności, warto opisać typowe objawy. Ja dzielę je na dwie grupy. Pierwsza to czynności całkowicie bezproduktywne lub tylko pozornie produktywne. Wymienić tu można:

  • Zaparzenie kolejnej kawy, herbaty. Wyjście na kolejnego papierosa.
  • Sprzątanie. Bardzo dokładne sprzątanie. Nawet jeśli ostatnio sprzątaliśmy dzień wcześniej. Bo pracować przy brudnym biurku się nie da.
  • Segregowanie różnych rzeczy. Na przykład nieprawidłowo ułożone książki na półce jedynie rozpraszają gdy w czasie pracy trzeba będzie po jakąś sięgnąć. A może by tak przygotować ich dokładną listę i w każdej umieścić nasze ekslibris?
  • Przeczytanie do końca książki i przejrzenie zaległej prasy.
  • I obejrzenie tych dwóch ostatnim odcinków trzeciej serii serialu.
  • Przeglądanie skrzynki pocztowej, czytanie zaległych maili, odpisywanie, segregowanie do folderów i przygotowywanie bardziej złożonych filtrów.
  • Przegląd wszystkich plików znajdujących się na dysku, segregowanie, archiwizowanie.
  • Odnawianie kontaktów na Naszej Klasie i Facebooku. Wzmożona aktywność na Blipie, Twitterze, Flakerze i Śledziku.
  • Dokładne planowanie tego co chcemy zrobić. Bardzo dokładne. Pisanie list TO DO zajmujących kilka stron  A4. A potem przepisanie tego do jakiegoś programu. A potem jeszcze jednego by sprawdzić czy lepiej się sprawdzi podczas pracy.
  • Przygotowanie narzędzi. Wszelkich narzędzi jakie mogą być nam potrzebne. Nawet tych, które raczej nie będą nam potrzebne. Tak na wszelki wypadek. Przecież nie można sobie pozwolić by brak czegoś ważnego rozproszył nas gdy już zaczniemy pracę.
  • Czy wspominałem już o sprawdzeniu skrzynki mailowej? Mikroblogów? No i forum? Lepiej poodpowiadać wszystkim zanim zabierzemy się do pracy.
  • Wyjście z psem, zabawa z kotem by zwierzaki nie przeszkadzały w trakcie pracy.
  • No i gimnastyka - kilka przysiadów i pompek nigdy nie zawadzi. A może warto by było przynieść z piwnicy rower treningowy? Praca jest ważna, ale nie może odbić się negatywnie na zdrowiu i kondycji.
  • A jako, że późno się robi i praca stresująca może wyskoczenie na chwilę do baru.
  • O tak oczywistych rzeczach jak oglądanie telewizji (lub filmików na YouTube) i granie w gry komputerowe nawet nie wspominam.

Dużo niebezpieczniejsze jest jednak to co znajduje się w grupie drugiej. Co niestety dużo częściej mnie dotyka. Chodzi mi mianowicie o rzucenie się w wir pracy. Niesamowicie wręcz produktywnej i wyczerpującej. Niestety nie mającej nic wspólnego z głównym zadaniem jaki powinienem wykonać. Właśnie wtedy kończę wiele dawno rozpoczętych projektów, rozpoczynam nowe, piszę masę tekstów na bloga, wykonuję wiele zadań, które nade mną wisiały od długiego czasu. Wszystko to na maksymalnych obrotach by nikt nie mógł mi zarzucić, że się obijam. A gdy zbliża się deadline głównego zadania, które miałem wykonać nie mam już siły, na nic...

Przyczyny prokrastynacji

Przede wszystkim trzeba sobie uzmysłowić, że przyczyną nie jest lenistwo. Ciągłe przekładanie i odwlekanie jest wynikiem zupełnie innych czynników.

  • Zadanie wydaje się być zbyt trudne, skomplikowane - boimy się ponieść porażkę i nawet nie rozpoczynamy pracy nad czymś co nas przerasta.
  • Zadanie wydaje się za łatwe - skoro można je zrobić w kilka chwil to po co się spieszyć. Po co poświęcać cenną energię na coś banalnego, urągającego naszej inteligencji, możliwościom.
  • Zadanie jest najzwyczajniej w świecie potwornie nudne.
  • Odwlekanie zadania może wynikać z uporu, dumy - odwlekanie staje się wyrazem sprzeciwu.
  • Zadanie wydaje się być bezsensowne i nielogiczne - nikt nie lubi wykonywać pracy, gdy nie rozumie celu jej wykonania.
  • Wykonanie zadania wymaga podjęcia jakiejś ważnej decyzji, podjęcia ryzyka - może to być próba ucieczki przed odpowiedzialnością.
  • Lub po prostu nie lubimy wykonywać danego zadania (kto normalny lubi na przykład wypełniać deklaracje podatkowe).

Niestety nawet jeśli uzmysłowimy sobie przyczynę odwlekania (a najczęściej sobie tego nie uzmysławiamy) niewiele to pomaga. Wiemy, że robimy źle, mamy pełną świadomość konsekwencji, odczuwamy poczucie winy... Nadal jednak postanawiamy zabrać się do roboty "za chwilę". A przy kolejnym ważnym zadaniu sytuacja się powtarza.

Dlaczego to choroba informatyków?

W zasadzie nie mam żadnych dowodów na poparcie tej tezy, ale rozmowy z wieloma programistami, webdeveloperami, projektantami mogłaby raczej to potwierdza.

Głównym powodem są moim zdaniem charakter pracy oraz cechy charakteru.

  • W programowaniu, projektowaniu najbardziej pociągający jest twórczy charakter pracy. Najciekawiej jest właśnie wtedy gdy potrzeba dużej kreatywności, zmagania się z trudnymi problemami, poszukiwania optymalnych rozwiązań, gdy trzeba uczyć się nowych rozwiązań. Niestety po wykonaniu 20% projektu, dających 80% efektu, kończy się etap twórczy. Projekt "już prawie działa" a pozostała część pracy to żmudne, wręcz rzemieślnicze zajęcia - testowanie, poprawianie błędów, pisanie dokumentacji, tworzenie nadającego się użytku interfejsu użytkownika. Zajęcia mało wymagające, lecz czasochłonne, w których mało jest miejsca na intelektualne wyzwania i artyzm.
  • Wielu informatyków ma duszę artystów - wielkie mniemanie o swoich umiejętnościach, wysokie ambicje, perfekcjonizm. Mimo, że tak wiele projektów informatycznych kończy się klęską to zazwyczaj mało który informatyk dopuszcza do siebie myśl o porażce, o możliwości popełnienia błędów.
  • Zawsze jest coś do poprawienia, przetestowania, udokumentowania, zrefaktoryzowania, zoptymalizowania, ulepszenia. Zawsze jest jakieś inne rozwiązanie do sprawdzenia, nowa technologia do nauczenia się. Zawsze można poświęcić czas na napisanie jakiegoś dodatkowego narzędzia, konwertera, generatora. Ciężko pracując można odkładać podjęcie ważnych decyzji, czy pracę nad trudniejszymi elementami prawie w nieskończoność.
  • Nie bez znaczenia jest często występująca chęć sprawowania pełnej kontroli - ciągłe kategoryzowanie, organizowanie, segregowanie, ustawianie i konfigurowanie. A przecież jedyna stała rzecz w projektach informatycznych to ciągłe zmiany wymagań. Zmiany nad którymi nie ma żadnej kontroli.
  • Dość często informatyk ma elastyczny czas pracy. Ważny jest efekt, a nie siedzenie od godziny do godziny. A jeśli dodamy do tego pracę zdalną, gdzie nikt nie stoi nad głową...

Na koniec sprawa najbardziej oczywista. Praca z komputerami bardzo ułatwia prokrastynowanie. Daje nieograniczony wręcz dostęp do wszelkiego rodzaju rozpraszaczy. Już nie wspominając o tym, że nigdzie indziej nie da się w tak prosty sposób tworzyć problemów, które potem można godzinami rozwiązywać.

Przeciwdziałanie

Jak przeciwdziałać prokrastynacji? Dobre pytanie i sam chciałbym znać na nie odpowiedź. Teoretycznie wystarczy wziąść się za siebie, zorganizować czas i po prostu zabrać się do roboty. Gdyby to jednak było takie łatwe. Próbowałem już kilku sposobów na efektywne zarządzanie czasem. Zazwyczaj dość szybko się poddawałem. Czy to z powodu problemów z poprawnną implementacją danej metody, czy to z powodu małej jej elastyczności, braku dobrych narzędzi.

Ostatnio, oczywiście w ramach prokrastnacji, sporo czytałem o GTD i muszę przyznać, że ten system wydaje się rozwiązywać większość problemów. Jednak o tym dopiero w kolejnej notce.

niedziela, 22 listopada 2009

Od około dwóch tygodni na Blipie dostępna jest nowa, odrobinę rewolucyjna funkcjonalność. Bo chyba za taką można uznać możliwość integracji z Twitterem. Na razie nadal jest to w fazie testów i prawdopodobnie pojawi się jeszcze trochę zmian, ale już teraz warto coś na ten temat napisać. Zwłaszcza, że mam kilka wątpliwości co do sensowności takiej integracji.

Integracja? Ale jak?

Na początek krótka instrukcja dla tych, którzy nie czytają Bliploga. Krok pierwszy to wejście do ustawień komuikatora i telefonu. Na dole klikając w podany link logujemy się na swoje konto na Twitterze i zezwalamy Blipowi na dostęp do danych.

Włącz integrację

Teraz już możemy przejść do Profilu → Ustawień i wybrać odpowiednie opcje.

Ustawienia integracji

Możemy ustawić synchronizacje statusów w obie strony, jak i powiadamianie na Blipie o statusach obserwowanych na Twitterze.

Zalety integracji

Pierwsza, najbardziej oczywista, zaleta tego rozwiązania to automatyczna synchronizacja wpisów na obu serwisach. Nie trzeba zastanawiać się o czym gdzie pisaliśmy, czy na pewno nasi obserwujący zostali o wszystkim poinformowani. Wystarczy napisać raz na jednym z serwisów a informacja pojawi się na obu. Bez potrzeby stosowania zewnętrznych narzędzi.

Po drugie zmniejsza się ilość serwisów na jakie musimy się zalogować, by sprawdzić czy coś nowego się nie pojawiło. Teraz wszystko możemy mieć w jednym miejscu. Po wejściu na Blipa możemy przeczytać zarówno to co napisali nasi blipowi jak i twitterowi znajomi.

Trzecia zaleta, dla mnie chyba najważniejsza, a niezbyt oczywista, to możliwość wykorzystania komunikatora do obsługi Twittera. Gdy po raz pierwszy testowałem Twittera, serwis oferował dostęp za pomocą konta Jabbera / XMPP, co było dla mnie najwygodniejszym rozwiązaniem. Gdy niedawno postanowiłem wrócić do serwisu, z przykrością zauważyłem, że nie ma już takiej możliwości. Pozostało ratować się wtyczką microblog-purple dla Pidgina, ale to nie jest do końca to o co mi chodzi. Teraz mogę bez problemu twittować z Jabbera za pomocą Blipa jako bramki. Tak samo, nie ma problemu z Twittowanie przez Gadu Gadu.

Zagrożenia

Niestety nowe możliwości oznaczają nowe problemy. Główne zagrożenia, jakie do tej pory zauważyłem to:

  • Problemy przy importowaniu statusów z Blipa dłuższych niż 140 znaków.
  • Możliwość podwójnego skracania linków w statusach z Twittera (bit.ly → rdir.pl).
  • Jeśli piszemy równolegle na obu serwisach przy włączonej obustronnej synchronizacji nasze statusy będą się dublować.
  • Zwiększenie szumu informacyjnego. Oprócz obserwowanych osób i tagów na Blipie dojdą jeszcze powiadomienia o statusach twitterowych znajomych. A część z nich może ustawiać to samo na Blipie i Twitterze. Niestety nie mamy żadnej możliwości filtracji statusów, działa to na zasadzie wszystko albo nic.
  • Nasi twitterowi znajomi raczej nie będą zadowoleni z wyrwanych z kontekstu fragmentów naszej dyskusji na blipowych tagach.
  • Podobnie się ma sprawa z cytowaniem innych blipnięć czy wspominaniu o użytkownikach Blipa.
  • Tak samo blipowi znajomi nie będą za dużo wiedzieć z naszych rozmów z Twittera (jest przynajmniej możliwość wyłączenia importowania na Blipa statusów zaczynających się od @USER).
  • Jeśli mamy ustawione synchronizowanie w obie strony i na obu serwisach automatycznie ustawiamy statusy na podstawie kanału RSS bloga to dość łatwo wygenerować sporo niepotrzebnego szumu.
  • Jeśli konto na jednym z serwisów ma jedynie powielać treści pojawiające się na tym drugim należy się poważnie zastanowić czy jest w ogóle sens utrzymywać konta na obu serwisach. Zwłaszcza jeśli grupa obserwujących się pokrywa.

Jak ja to rozwiązałem

Praktycznie od początku wielkim problemem było dla mnie określenie co tak na prawdę chcę prezentować na obu serwisach. Oczywistym było dla mnie, że są to różne serwisy i powinienem w jakiś sposób zróżnicować moją aktywność na każdym z nich. Blip miał pozostać głównym kanałem, stosunkowo nieformalnym. Twitter miał zostać wykorzystany do wykreowania poważniejszego, bardziej profesjonalnego wizerunku. Nawet zastanawiałem się czy nie twittować tylko po angielsku. Jak na razie niezbyt mi to wychodzi... Blip pozostał głównym kanałem mojej mikroblogowej aktywności i pojawiają się tam przeróżne treści. Na Twitterze odzywam się rzadko, zbyt rzadko. Najczęściej po prostu zapominam wysłać coś wartościowego również na drugi serwis. Jednak uważam, że automatyczna synchronizacja przyniosłaby zdecydowanie więcej szkody niż pożytku. Dlatego pozostanę przy wykorzystaniu integracji Blipa z Twitterem głównie by móc korzystać z obu serwisów z poziomu komunikatora.

czwartek, 19 listopada 2009

Chyba każdy, od czasu do czasu, lubi sobie powspominać Stare Dobre Czasy. Każdy też, od czasu do czasu, lubi sobie pograć w jakąś fajną grę. Dlatego też postanowiłem napisać o jednej z najważniejszych gier jakie kiedykolwiek powstały. Grze, dzięki której rozpoczął się wielki boom na First Person Shooters. Grze, w którą grał chyba każdy, kto w latach dziewięćdziesiątych miał kontakt z pecetami. Tak, dobrze myślicie. Chodzi oczywiście o arcydzieło firmy id Software z 1993 roku...

DOOM

DOOM

Pojawienie się Dooma było niewątpliwie punktem zwrotnym w historii gier komputerowych. To było COŚ! Zupełnie nowa jakość. Zwłaszcza jeśli porównamy do wydanego półtora roku wcześniej, świetnego Wolfensteina 3D, który dał przedsmak tego co miał przynieść Doom. Niesamowita trójwymiarowa grafika (tekstury, gra świateł), świetny dźwięk i muzyka, rozbudowane poziomy, spory wybór broni i przeciwników... No i ten niesamowity, futurystyczny, naprawdę przerażający klimat! Klimat przez duże K, L, I, M, A i T! Tu trzeba dodać, że jeśli dobrze pamiętam, obok Mortal Kombat i Syndicate, była to najbardziej krwawa i brutalna gra komputerowa w tamtych czasach. Wydaje mi się, że dopiero Duke Nukem 3d oraz Quake, obie gry wydane w 1996 roku, przyćmiły sławę Dooma.

O setkach godzin spędzonych nad Doomem i Doomem II przypomniałem sobie całkiem niedawno, gdy natrafiłem na Doom Triple Pack - flashowy port gry (plus Hexena i Heretica) pozwalający na granie w okienku przeglądarki. No właśnie, flashowy... Z wszystkimi wadami tego rozwiązania (cóż, nie jestem wielkim fanem tej technologii)... Dlatego postanowiłem poszukać bardziej normalnego rozwiązania.

Doom w Ubuntu

Pierwszą myślą było uruchomienie gry w DOSBox'ie. Ale najpierw musiałbym poszukać instalatora gry, potem pewnie trochę powalczyć z konfiguracją dźwięku, ustawieniem klawiatury, nie mając pewności czy na pewno wszystko będzie działać jak należy. Odpaliłem więc Synaptica, wpisałem w pole wyszukiwania "doom" i już miałem wszystko (no, prawie wszystko) co potrzeba.

W repozytorium znajdziemy:

  • prboom (strona projektu) - port silnika Dooma dla Linuxa wykorzystujący OpenGL, pozwalający na uruchomienie  Dooma i Dooma II jak i wszelakich konwersji (potrzebujemy plików .wad)
  • freedoom (strona projektu) - wolna i otwarta konwersja Dooma
  • freedm - zestaw wolnych i otwartych map dla rozgrywek sieciowych
  • doom-wad-shareware - shareware'owa wersja oryginalnego Dooma zawierająca pierwszy epizod gry

Jeśli zależy nam na ja knajwierniejszym odtworzeniu działania Dooma możemy wybrać Chocolate Doom zamiast PrBoom. Warto też zerknąć na The Doom Wiki, można tam znaleźć linki do jeszcze kilku silników. Niektóre z nich (jDoom, Doomsday Engine, ZDoom) całkowicie odmieniają Dooma dodając wysoką rozdzielczość i pełne 3D, zarówno jeśli chodzi o poruszanie się jak i modele. Ja pozostałem przy PrBoom - grafika jest lepsza niż w Chocolate Doom, przy pełnym zachowaniu klimatu gry.

Jeśli mamy jeszcze gdzieś na dysku (czy płycie) oryginalną wersję Dooma lub Dooma II (lub któryś z dodatków: Ultimate Doom, TNT:Evilution, The Plutonia Experiment, Final Doom) wystarczy skopiować plik .wad do /usr/share/games/doom/ Podobnie można postąpić z plikami .wad konwersji jakie można znaleźć w sieci. By uruchomić grę wystarczy wykonać polecenie:

doom -iwad /usr/share/games/doom/NAZWA_PLIKU_WAD.wad

Najwygodniej jest po prostu dodać do menu skróty z wpisaną już ścieżką do plików wad.

Ja na początku miałem drobne problemy z muzyką. Wystarczyło zmienić w ~/.prboom/prboom.cfg linię music_card z 0 na -1. Przy okazji wyłączyłem obsługę myszy ustawiając use_mouse na 0.

Doom po latach

Na pewno sentyment do tej wspaniałej gry robi swoje. niezaprzeczalnym jest, że mimo upływu kilkunastu lat gra nadal się broni. Może i technicznie bardzo się zestarzała - rozpikselowana grafika, muzyka w MIDI, przestarzały silnik, brak rozbudowanej fizyki, czy AI przeciwników. Ale to nie ma żadnego znaczenia! Nadal jest to, co jest najważniejsze - klimat, klimat i jeszcze raz klimat. Może, nie jest już tak przerażająca jak kiedyś, ale nadal trzyma w napięciu i potrafi zaskoczyć.

21:55, kosciak1 , gry
Link Dodaj komentarz »
wtorek, 17 listopada 2009

Przygotowanie nowego szablonu było jedynie początkiem zmian na blogu. Drugim etapem jest przygotowanie różnych dodatków i usprawnień, które ułatwią nawigację na blogu jak i zniwelują ograniczenia samego Bloxa. O części, zwijanym archiwum i zakładkach, można już było przczytać w poprzedniej notce (jak i dowiedzieć się, jak coś takiego zrobić u siebie). Dzisiaj o kolejnych zmianach.

Zakładki na wszystkich stronach

Spore różnice w zawartości pomiędzy stroną główną a stronami wpisów i statycznymi jest czymś co od zawsze mnie denerwowało na Bloxie. Brak listy kategorii, archiwum, zakładek, zostaje jedynie spis ostatnich notek. Rozwiązania są w zasadzie dwa. Pierwsze to rezygnacja z bloxowych zakładek i przeniesienie wszystkiego do pola na kod HTML. Niestety ograniczenie wielkości pola daje się dość szybko we znaki. Drugie rozwiązanie to dynamiczne załadowanie zakładek za pomocą technik AJAXowych. Tu natomiast musimy się liczyć z dłuższym czasem ładowania strony (kolejne wywołanie) i nie wyświetleniem się zakładek u osób z wyłączonym JavaScriptem. Ja zdecydowałem się na rozwiązanie pośrednie. Na stronie głównej zostawiłem normalne zakładki, natomiast na podstronach ładowane są dynamicznie.Teraz tylko muszę pamiętać by wprowadzać wszystkie zmiany zarówno na Bloxie jak i w osobnym pliku.

Podpowiadacz

Z Podpowiadacza jestem szczególnie zadowolony. Efekty jego pracy od kilku dni można zobaczyć pod treścią wpisów:

Podpowiadacz

Dodawane są linki do tagów Delicious bloga, oraz co najważniejsze, na podstawie tagów wybierane są 4 wpisy, które powinny być najbliższe tematycznie aktualnie czytanej notce. Mam cichą nadzieję, że uda się w ten sposób choćby jeszcze przez chwilę utrzymać odwiedzających na blogu. A może nawet zachęcić do dodania bloga do zakładek, czy też zasubskrybowania kanału RSS.

Czy to działa? Na razie chyba za wcześnie by móc w pełni oceniać ale wydaje mi się, że tak. Zupełnie przypadkowa osoba i tak przeczyta jedynie notkę zwróconą przez Google, ale już osoba zainteresowana określonym tematem częściej przegląda zaproponowane wpisy. Na pewno sporo zależy od tego skąd dany czytelnik do mnie trafił i czego poszukiwał. Nie bez znaczenia jest też trafność podpowiedzi, nad którą cały czas pracuję poprawiając dobór tagów dla poszczególnych wpisów.

Losowa notka

To taki mały eksperyment, który dzisiaj wystartował i na pewno wymaga jeszcze dopracowania. Po kliknięciu w link Losowa strona w zakładkach lub Przeczytaj losowy wpis w spisie podobnych wpisów zostaniemy przeniesieni do losowo wybranej notki z wszystkich jakie do tej pory pojawiły się na blogu.

Technikalia i przyszłość Podpowiadacza

Wśród bloxowych blogów podobne rozwiązanie widziałem jedynie u s.z.y.m.o.n.a. U niego działa to z wykorzystaniem jedynie JavaScriptu podpowiadając tylko z zbioru kilku ostatnich wpisów. Ja zdecydowałem się na zupełnie inne rozwiązanie by moć wybierać podobne wpisy z wszystkich do tej pory publikowanych na blogu. Pobieranie danych z Delicious i wybieranie podobnych wpisów w całości odbywa się na zewnętrzym serwerze. Na blogu skrypt pobiera jedynie w formie JSON spis tagów oraz dane polecanych notek.

Otwarta pozostaje kwestia udostępnienia Podowiadacza innym użytkownikom. Na razie aplikacja nie jest do tego przystosowana i wymaga kilku mniej lub bardziej poważnych przeróbek i sporej ilości testowania. Sam jeszcze nie wiem czy chce mi się poświęcić czas na te zmiany. Wszystko zależy od tego czy jest w ogóle zainteresowanie Podpowiadaczem i jak ono jest duże. Jeśli ktoś jest zainteresowany niech więc pisze. Na razie niczego obiecać nie mogę, ale kto wie.

14:16, kosciak1 , Blog
Link Komentarze (4) »
sobota, 14 listopada 2009

Podczas przygotowywania nowego szablonu dla mojego bloga natrafiłem na problem z archiwum i zakładkami - zajmowały zdecydowanie za dużo miejsca. Rozwiązanie było tylko jedno - użyć skryptu pozwalającego na ich zwijanie i rozwijanie. Gotowe rozwiązania (ich listę można znaleźć na końcu wpisu) mi nie odpowiadały i postanowiłem napisać coś swojego. A jako, że nie lubię wyważać otwartych drzwi skorzystałem z biblioteki jQuery, dzięki której bardzo łatwo można dodać na stronie odrobinę magii.

Możliwości

Efekty działania skryptu można podziwiać u mnie na blogu. Po załadowaniu grupuje archiwum latami i pozostawia rozwinięty jedynie rok bieżący.

Działanie skryptu

Kliknięcie na rok rozwija / zwija listę miesięcy. Na podobnej zasadzie można też zwijać i rozwijać wybrane foldery zakładek.

Jako "gratis" dorzucam jeszcze wyróżnianie komentarzy autora.

Instrukcja obslugi

1. Pobieramy skrypt blox_zwijarka_by_KosciaK.js i dodajemy do plików na swoim blogu (Notki → Pliki → Nowy plik)

2. Wstawiamy do pola na kod HTML (Ustawienia → Boczna szpalta) następujący fragment:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script> 
<script type="text/javascript" src="/resource/blox_zwijarka_by_KosciaK.js"></script>

Teoretycznie biblioteka jQuery na serwerach Google powinna być zawsze dostępna. Jeśli jednak wolimy mieć wszystko u siebie zawsze możemy pobrać jquery.min.js (wymagane jest jQuery w wersji 1.3.x), wstawić do zasobów bloga i zamienić pierwszą linię na:

<script type="text/javascript" src="/resource/jquery.min.js"></script> 
<script type="text/javascript" src="/resource/blox_zwijarka_by_KosciaK.js"></script>

3. Pora na konfigurację. W polu na kod HTML za wstawionymi powyższymi liniami dodajemy:

<script type="text/javascript">
zwijaj = ['FOLDER1', 'FOLDER2'];
autor = 'AUTOR';
</script>

Zamiast AUTOR wpisujemy nasz bloxowy login. W miejsce ['FOLDER1', 'FOLDER2'] wpisujemy nazwy folderów zakładek, które chcemy automatycznie zwinąć (ważna jest wielkość liter!). Na przykład u mnie całość będzie wyglądać w ten sposób:

<script type="text/javascript" src="/resource/jquery.min.js"></script> 
<script type="text/javascript" src="/resource/blox_zwijarka_by_KosciaK.js"></script>
<script type="text/javascript">
zwijaj = ['Czytam i polecam'];
autor = 'kosciak1';
</script>

Jeśli nie chcemy wyróżniać naszych komentarzy, czy też zwijać folderów zakładek, po prostu kasujemy całą linijkę "autor = ..." lub "zwijaj = ..."

4. Wprowadzamy konieczne zmiany do arkusza CSS (Wygląd → Edycja CSS) dodając na końcu arkusza:

.hide { 
display: none;
}

.TytulFolderaZakladek:hover {
cursor: pointer;
cursor: hand;
}

W archiwum poszczególne miesiące jak poprzednio posiadają klasę ArchiwumItem, wszystkie miesiące danego roku znajdują się w div'ie o klasie PoziomDrzewa a div z podanym rokiem ma klasę TytulFolderaZakladek. Wystarczy więc ostylować ArchiwumItem tak jak ZakladkaEtykieta by ujednolicić archiwum i zakładki. Tekst "(rozwiń)" znajduje się w elemencie span o klasie expand.

Komentarze autora bloga otrzymują dodatkową klasę: autor.

Warunki korzystania

Skrypt można swobodnie wykorzystywać i modyfikować. Jedynymi warunkami, które muszą być spełnione, jest pozostawienie informacji o autorze, oraz poinformowanie mnie o poprawkawkach znalezionych błędów. Wstawienie linka do mojego bloga do zakładek konieczne nie jest, acz bardzo wskazane :) Będę też wdzięczny za pozostawienie komentarza pod notką bym mógł się zorientować jakie jest zainteresowanie skryptem.

Rozwiązania alternatywne

Zapraszam również do zapoznania się z rozwiązaniami alternatywnymi:

piątek, 13 listopada 2009

Dziś ^elcukro rzucił na Blipie ciekawy pomysł - policzenie obserwujących lub obserwowanych, którzy są online. Mając kwadrans wolnego czasu postanowiłem przypomnieć sobie co nieco z Greasemonkey i napisać skrypt, który rozwiązałby problem.

Blip.pl - Count online users

Nazwa skryptu Blip.pl - Count online users może nie jest szałowa, ale ważniejsze jest przecież jak działa, a nie jak się nazywa. A działa bardzo prosto: zlicza obserwujących lub obserwowanych na naszym kokpicie (lub innego użytkownika) i wyświetla tę informację w boksie po prawej. O tak:

Blip.pl - Count online users

I to w zasadzie tyle.

Instalacja

Dla posiadaczy Firefoxa instrukcja w czterech prostych krokach:

  1. instalujemy Greasemonkey
  2. wchodzimy na stronę skryptu Blip.pl - Count online users
  3. klikamy w wielki przycisk "Install"
  4. wchodzimy na Blipa i pilnie obserwujemy zmieniającą się ilość obserwowanych / obserwujących będących online

Posiadacze innych przeglądarek muszą poradzić sobie sami. EDIT: W Google Chrome działa bez problemu (sprawdzone dla wersji 4.0.249.22)

Changelog:

  • 0.4 - po dodaniu tabu "NGO" obok "Polecamy" skrypt nie pokazywał liczby użytkowników online na kokpicie
  • 0.3 - funkcjonalnie nic się nie zmieniło, jedynie wyczyściłem kod
  • 0.2 - teraz skrypt pokazuje też liczbę użytkowników online na stronach tagów
  • 0.1 - pierwsza wersja
18:09, kosciak1 , Dev
Link Komentarze (2) »

Jeśli sam się nie pochwalę to nikt inny tego nie zrobi. A chyba jest czym się chwalić:

^obserwator na TOP100 Blipa

Mój blipowy bot ^obserwator, który powiadamia innych użytkowników, kto przestał ich obserwować, od około tygodnia pojawia się na liście TOP100 użytkowników Blipa (po włączeniu wyświetlania na liście firm i botów).

EDIT: My tu sobie gadu, gadu a ^obserwator ma już 250 obserwujących!

15:07, kosciak1 , Dev
Link Komentarze (1) »
czwartek, 12 listopada 2009

Jak co pół roku, przy okazji premiery nowych wydań Ubuntu, w blogosferze i mikroblogosferze, na krótką chwilę, tematem numer jeden stają się Ubuntu i systemy linuksowe. Pojawiają się relacje z instalacji najnowszej wersji Ubuntu lub aktualizacji wersji poprzedniej, tym żywsze, im bardziej kontrowersyjne zmiany wprowadzono i im więcej problemów się pojawia. Nie mogło być inaczej przy okazji wydania Ubuntu 9.10, w końcu to obecnie jedna z najpopularniejszych dystrybucji Linuksa. Nie brak też pytań, czy nowe Ubuntu jest już systemem operacyjnym dla zwykłego użytkownika. A może żaden linux nigdy takim systemem nie będzie?

Rodowód Linuksa

Na początku trzeba cofnąć się w czasie i zdać sobie sprawę z rodowodu Linuksa. O ile Windows powstawał jako graficzna nakładka na DOS (system stosunkowo prosty, jednoużytkownikowy, jednozadaniowy) i z założenia miał być systemem dla komputerów osobistych, tak w przypadku Linuxa, wywodzącego się z systemów uniksowych, wyglądało to zupełnie inaczej. Unix od początku był systemem wielozadaniowym, wieloużytkownikowym, stawiającym na bezpieczeństwo i stabilność, silnie związanym z rozwojem internetu, przeznaczonym raczej dla serwerów i stacji roboczych. Właśnie ta różnica w założeniach ma fundamentalne wręcz znaczenie. Nie zapominajmy też kto (i dla kogo) tworzył Linuksa. Chyba bardzo nie przesadzę jeśli powiem, że jest to system tworzony przez programistów, administratorów, hakerów i geeków tworzony dla programistów, administratorów, hakerów i geeków.

Wolność, otwartość i możliwość wyboru

Nie bez znaczenia jest filozofia stojąca za Linuksem, który jest wolny, otwarty i daje wybór. Jednak zwykły użytkownik po prostu chce by system operacyjny, oprogramowanie działało i tyle. A o żadnych filozofiach słuchać nie chce. Otwartość źródeł? Dobre sobie... nawet gdyby chciał grzebać w źródłach (a grzebanie w źródłach to ostatnia rzecz jakiej by chciał) i tak nie ma dość wiedzy i umiejętności. Wolność? No niby fajnie, że jest za darmo ale po co dorabiać do tego ideologię? Wybór? Ale po co zwykłemu użytkownikowi wybór?

Prawda jest taka, że zwykły użytkownik nie lubi i nie chce wybierać. Jak ma podjąć decyzję skoro nie ma dostatecznej wiedzy na temat oferowanych alternatyw. A po co ma poświęcać swój czas i energię na ich poznanie, skoro on tylko chce wykonać jakieś proste zadanie. Tak na prawdę te całe internety i komputery nic a nic go nie obchodzą. Zwykły użytkownik nie czuje potrzeby dokonywania zmian, możliwość zmienienia tapety zupełnie mu wystarcza. W Windowsie wszystko jest proste - jedna powłoka systemu, jedno środowisko graficzne, jeden menadżer okien, jeden menadżer plików, jeden pulpit, jedna przeglądarka... W zasadzie wszystko jest pojedyncze. A w przypadku wszelkich pytań systemu wystarczy kliknąć "Tak", "Dalej", "OK". A w Linuksie osobę, która nie ma pojęcia (i nie chce mieć, bo go to zupełnie nie obchodzi) zmusza się do ciągłego podejmowania decyzji, czytania i odpowiadania na setki pytań. W dodatku wmawia mu się, że to dla jego dobra i wygody.

Możliwości systemów *nixowych

Owszem, możliwości systemów unixo-podobnych są imponujące. Jednak , nie ma się co czarować. Zwykłego użytkownika większość z nich zupełnie nie obchodzi i nie dotyczy. Niech mi ktoś powie czy zwykły użytkownik kiedykolwiek:

  • Postanowi w sposób zaawansowany zarządzać zadaniami w czasie wykorzystując narzędzia typu cron, czy też anacron?
  • Wykorzysta możliwość pisania rozbudowanych skryptów z użyciem języka powłoki systemu?
  • Postanowi zautomatyzować najczęściej wykonywane czynności?
  • Wykorzysta możliwość łatwego łączenia różnych narzędzi, programów i skryptów pisanych w różnych językach programowania?
  • Postanowi wyszukać coś w pliku tekstowym z użyciem wyrażeń regularnych?
  • Potrzebuje wyspecjalizowanych narzędzi do monitorowania, przeglądania, analizowania logów i wyciągania z nich określonych danych?
  • Postanowi pracować zdalnie na komputerze?
  • Wykorzysta rozbudowane możliwości ustalania poziomów bezpieczeństwa dla folderów, plików i plików wykonywalnych?
  • Zamierza udostępniać różne usługi wielu użytkownikom systemu?
  • Postawi serwer www, poczty, grup dyskusyjnych, subversion... jakikolwiek serwer?
  • Potrzebuje systemu działającego stabilnie 24 godziny na dobę przez 7 dni w tygodniu?
  • Postanowi pracować w konsoli ze względu na wygodę i szybkość?
  • Lub też całkowicie zrezygnuje z pracy w trybie graficznym?

Powiem krótko: NIE! Dla zwykłego użytkownika to wszystko jest zupełną abstrakcją.

Potrzeby zwykłego użytkownika

Zwykły użytkownik chce przejrzeć pocztę, pogadać przez GG, wejść na Naszą Klasę, pograć na Kurniku, pogadać przez Skype, obejrzeć film i posłuchać muzyki. Tak po prostu. Bez kombinowania i szukania. Bez zastanawiania się czy dana biblioteka jest dostatecznie wolna i otwarta. Bez zaprzątania sobie głowy czy dany program jest napisany w GTK+, Qt, FLTK, Tk, wxWidget, SWT, Swing, czy czymkolwiek innym i jak to będzie wyglądać w danym środowisku graficznym. Ma po prostu działać. Zwykły użytkownik chce do swojego komputera podłączyć słuchawkę do Skype'a, klawiaturę z klawiszami multimedialnymi, aparat fotograficzny, komórkę, drukarkę, czy urządzenie wielozadaniowe. I nic go nie obchodzą jakieś tłumaczenia o zamkniętych sterownikach pisanych tylko dla Windowsa, czy sugerowanie by przed zakupem sprawdzić wsparcie dla danego urządzenia. Zwykły użytkownik uznaje za oczywiste hibernowanie i usypianie systemu na laptopie oraz system oszczędzania baterii i nie zrozumie żadnych tłumaczeń jeśli funkcje te nie działają. Zwykły użytkownik chce bez problemów otworzyć i przeczytać ściągnięty dokument i ma w du^H^Hgdzieś kwestie standardów, otwartych i wolnych formatów, czy panującego windowsocentryzmu.

Niestety, potrzeby zwykłego użytkownika są zupełnie inne (a czasem nawet stoją w  sprzeczności) z potrzebami dotychczasowych użytkowników Linuksa - programistów, administratorów, hackerów i geeków. W końcu kto o zdrowych zmysłach podłączałby słuchawkę dla Skype do serwera? Na co komu flashowe gry w tekstowej przeglądarce internetowej?

Ubuntu - bliskie ideału?

Wróćmy do wspomnianego na początku Ubuntu. Z wydania na wydanie coraz bardziej zbliża się do tego co można by nazwać systemem dla zwykłego użytkownika. Banalnie prosta instalacja (według mnie łatwiejsza niż instalacja takiego Windowsa XP, ale w sumie który zwykły użytkownik samodzielnie instaluje sobie system operacyjny?), mnóstwo kreatorów, podpowiadaczy... Prawie wszystko można wyklikać w trybie graficznym i nie trzeba włączać znienawidzonej przez zwykłego użytkownika konsoli. W dodatku, w przeciwieństwie do Windowsa, system jest już gotowy do pracy i ma prawie wszystkie potrzebne w normalnej pracy programy, a jeśli nie ma wystarczy kilka klików by je zainstalować. Podłączenie drukarki, skanera, kamery, słuchawki nie wymaga instalowania kilkuset megabajtów sterowników i śmieciowego oprogramowania. System działa stabilnie i z czasem nie puchnie "sam z siebie". System prawie idealny. Pod jednym, jedynym warunkiem...

Nie mogą się pojawić żadne problemy. Nie ma tu zupełnie znaczenia czy to problem ze sprzętem, systemem, niezgodnością pakietów, złą konfiguracją. Czy to problem zawiniony przez użytkownika czy nie. Rozwiązanie problemu wymaga wiedzy i umiejętności, a początkujący użytkownik Linuksa najczęściej nawet nie będzie w stanie nazwać problemu. Nawet jeśli jest osobą "techniczną", a nie zwykłym użytkownikiem (patrz ostatnie "przygody" Pawła Wimmera z Ubuntu i Mandrivą). Nawet jeśli rozwiązanie problemu można łatwo odnaleźć na forach i blogach najczęściej wymaga wykonania kilku "magicznych sztuczek" w konsoli czy edycji różnych systemowych plików. A równie dobrze jedyne co uda się znaleźć to raporty błędów, które od lat pozostały nienaprawione.

Oczywiście pracując na Windowsie użytkownik również narażony jest na różne problemy. Wirusy, trojany, konflikty sprzętu, spowolnienie systemu z powodu śmieciowego oprogramowania, nagłe zawieszenia się systemu. Też czasem trzeba coś ustawić w rejestrze systemowym, uruchomić z linii poleceń. Jednak zwykły użytkownik zawsze znajdzie w swojej rodzinie, czy wśród znajomych kogoś, kto mu pomoże rozwiązać problem. W przypadku Linuksa na taką pomoc zazwyczaj nie ma co liczyć. Zrażony pierwszymi niepowodzeniami zwykły użytkownik zrobi to, co zawsze robił w takich sytuacjach - poprosi kogoś o sformatowanie dysku i przeinstalowanie systemu. Tym razem znanego mu już Windowsa.

Podsumowując

Sam jestem dowodem na to, że Linux z powodzeniem może stać się podstawowym systemem operacyjnym, który poradzi sobie ze zdecydowaną większością codziennych (i niecodziennych) zadań. Ubuntu na desktopie sprawuje się znakomicie i czasem potrafi rozleniwić jeszcze bardziej niż Windows. Trzeba się naprawdę postarać by coś popsuć. Każdy, kto ma głowę na karku i choć odrobinę chęci by nauczyć się czegoś nowego, poradzi sobie bez większych problemów. Jednak zwykłemu użytkownikowi - osobie, która nie rozumie komputera i odrobinę się go nawet boi, Linuksa nigdy bym nie polecił. To nadal nie jest system dla niego. Cóż, Linux (a przynajmniej niektóre dystrybucje) dopiero od niedawna stara się stać systemem dla zwykłego użytkownika i obawiam się, że jeszcze długo (o ile w ogóle) to się nie uda. I żadne zaklinanie rzeczywistości niczego nie zmieni.

wtorek, 10 listopada 2009

Ostatnio na blogu dominowały dosyć ciężkie i poważne tematy. Nawet pisząc o świetnej grze World of Goo nie obyło się bez kwestii marketingu, dystrybucji i e-commerce. Dlatego dzisiaj coś lekkiego i przyjemnego. W dodatku bez zbędnej pisaniny. Oto przed wami mój bardzo subiektywny przegląd komiksów internetowych.

Jeśli masz dość odwagi by przekonać się dlaczego moje poczucie humoru jest całkowicie wypaczone i nie boisz się stracić masy czasu na przeglądaniu archiwów stripów komiksowych czytaj dalej.

poniedziałek, 09 listopada 2009

Jeśli miałbym wskazać polskie platformy blogowe, z których najczęściej korzystam jako czytelnik, byłyby to niewątpliwie Blox.pl oraz Jogger.pl. Każda z nich jest inna - różnią się filozofią działania, są skierowane do zupełnie różnych grup blogerów jak i czytelników. Jednak czymś, co różni je najbardziej, jest sposób promowania blogów pisanych na danej platformie. Ostatnio zastanawiałem się jaki to ma wpływ na sposób ich czytania i nawyki czytelników.

Blox.pl

Po wejściu na stronę główną serwisu pierwszą rzeczą jaką zauważymy jest lista najnowszych notek. Niestety jest to tylko tytuł wpisu i nick autora, brak tytułu bloga, zajawki tekstu. Po lewej lista polecanych blogów, ciężko jednak stwierdzić według jakie klucza są one dobierane. Po prawej box z listą kilku blogów Syndykatowych oraz normalnych z wybranej kategorii. Niżej kilka blogów promowanych przez Agorę. Jednak, przynajmniej mnie, jakoś nic nie zachęca do kliknięcia. Teoretycznie jest jeszcze lista TOP1000 wszystkich blogów i TOP10 dla poszczególnych kategorii, jest Syndykat, jest Katalog kategorii, ale moim zdaniem gdzieś schowane i jeśli się o nich nie wie może być kłopot z dotarciem do nich (szczególnie jeśli chodzi o katalogi).

Nie można zapominać, że Blox.pl przy blisko 150 tysiącach blogów trudno nazwać miejscem elitarnym i oczywiste jest, że ma to ogromny wpływ na sposób promocji blogów. Przy setkach nowych wpisów dziennie nie jest łatwo znaleźć satysfakcjonującego dla wszystkich blogerów rozwiązania. Trochę pomaga pojawiający się przy przeglądaniu blogów (i znienawidzony przez wielu) box pokazujący podobne blogi oraz wzbudzające dyskusje. Jednak nadal to niewiele.

Jogger.pl

Jogger.pl będąc stosunkowo małą platformą (niestety nie widzę nigdzie informacji o ilości blogów z blisko 6 tysiącami zarejestrowanych kont) może sobie pozwolić na zupełnie inny sposób prezentacji blogów. Na stronie głównej znajdziemy listy najpopularniejszych i najczęściej komentowanych blogów oraz, co chyba najważniejsze, listę najnowszych wpisów (publikowanych na poziomie 0). Mamy tam tytuły notek, autorów, liczbę komentarzy, tagi przypisane notce oraz treść wpisu (całość lub tylko fragment). Wszystko podane w bardzo przejrzysty i czytelny sposób (wręcz uwielbiam joggerowy design!). Grzechem byłoby nie wspomnieć o Techblogu - wydzielonym serwisie promującym wpisy stricte techniczne. Nic tylko przeglądać, czytać i klikać dalej.

Pierwsze wnioski

Na pierwszy rzut oka wszystko wydawało mi się proste i oczywiste. Szanse na to, że ktoś trafi na naszego bloxowego bloga i na nim pozostanie dzięki wsparciu platformy nie są zbyt duże. Jesteśmy jednymi z tysięcy blogerów i sami musimy powalczyć o nowych odwiedzających i ich utrzymanie. Z drugiej strony jest Jogger, gdzie jak mi się zdaje (piszę z pozycji czytelnika z zewnątrz, nie użytkownika platformy), o wiele łatwiej o promowanie naszego bloga i pojawiających się na nim wpisów. Możemy być pewni, że nasza notka zostanie zauważona przez wszystkich odwiedzających stronę główną Joggera. Wydaje się, że powinno być tu o wiele łatwiej. Czy aby na pewno?

Niedawno, podczas porządków w czytniku RSS, zauważyłem coś co mnie bardzo zdziwiło. O ile kanałów do blogów na Bloxie mam sporo tak joggerowych ledwie kilka. Nie dawało mi to spokoju, przecież ilość czytanych wpisów z bloxa i joggera jest zbliżona, może nawet z przewagą blogów joggerowych. Wczoraj mnie olśniło!

Wpływ na sposób czytania i postrzeganie blogów

Gdy natrafię na ciekawy blog na Bloxie jestem niejako zmuszony dodać go do zakładek lub zasubskrybować kanał RSS. Jeśli tego nie zrobię prawdopodobnie będę miał spore trudności w ponownym dotarciu do niego. Czy tego chcę, czy nie muszę stać się stałym czytelnikiem a przynajmniej zrobić krok w tym kierunku.

W przypadku Joggera sprawa wygląda zupełnie inaczej. Dzięki świetnej stronie startowej i małej ilości nowych notek, tak na prawdę wcale nie muszę odwiedzać poszczególnych blogów ani dodawać ich kanałów do czytnika. Wystarczy wejść na stronę główną Techbloga lub Joggera i przejrzeć ostatnie notki. Klikam dalej tylko gdy chcę przeczytać komentarze lub zainteresował mnie początek wpisu a na stronie głównej jest tylko zajawka. Najczęściej po przeczytaniu całej notki, komentarzy wracam do strony głównej Joggera w poszukiwaniu kolejnych ciekawych treści, zamiast przeglądać zawartość znalezionego bloga.

Paradoksalnie, przez zbyt dobrą prezentację na stronie głównej Jogger odciąga mnie od zapoznania się z poszczególnymi blogami. Mimo, że kojarzę i rozpoznaję wielu autorów to traktuję ich bardziej jako całość w kateogrii "Piszących na Joggerze" niż samodzielnych bloggerów. Często nawet miałbym kłopot z przypomnieniem sobie nazwy czy adresu poszczególnych blogów, czy wskazaniem kto konkretnie napisał daną notkę (mimo, że mnie zaciekawiła). W przypadku blogów na Blox tego problemu nie mam. Tu poszczególne blogi są dla mnie osobnymi bytami i wiem co, na którym przeczytałem.

 

Zastanawiam sie czy to ze mną coś nie tak, czy u innych blogo czytaczy też występuje podobne zjawisko. Czy rzeczywiście efekt, o którym wspominam jest tak silny w przypadku czytelników nie będących zarejestrowanymi na Joggerze.

13:32, kosciak1 , Blog
Link Komentarze (6) »
 
1 , 2
Spis Treści
Kanały RSS
Add to Google
Add to Netvibes