Michał Moroz

Abecadło smoczątka, dziennik niecodzienny

Strona domowa, czyli milestone m1

`Nie można cofnąć tego, co puściło się w eter', to jedna z prawd wyniesiona z warsztatów radiowych w WSHE.

Można jednak wypuszczać te sygnały, które zmotywują, bądź zmuszą Cię do dalszej pracy. Tak i ja zrobiłem. Celowo umieściłem informację o własnym portfolio we wpisie Nowe serwisy podbite przeze mnie, która niedługo potem stała się najważniejszym priorytetem na następny miesiąc. W ten sposób rozpocząłem pracę nad własną stroną domową.

Vitalist stał się niezastąpionym narzędziem w mojej pracy. Jestem wzrokowcem i może dlatego ranga każdego zadania rośnie, kiedy zapiszę je sobie. Dodatkowa możliwość określania terminu zakończenia danego zadania motywowała mnie jeszcze bardziej. Wygodny interfejs skłonił mnie do pozostania przy właśnie tej liście todo, a moje poszukiwania menedżera zadań dobiegły końca.

Taka ogranizacja mojej pracy pozwoliła mi na zakończenie prac przed rozpoczęciem roku szkolnego, co przyjąłem za cel już na samym początku.

Pewnego wieczoru usiadłem i zacząłem rysować możliwości dotyczące wystroju strony domowej. Jeden z ciekawszych pomysłów odrzuciłem bojąc się, że sama praca nad tłem zajmie mi bardzo dużo czasu, nie mówiąc już o tym, że uznałem go za zbyt skomplikowany jak na mój aktualny poziom rozwoju graficznego. O czym mowa? Niebo u góry, ziemia pośrodku i podziemia poniżej.

Postawiłem więc na inny pomysł, ten, który można zobaczyć na mojej stronie domowej.

Następnym krokiem było wykonanie back-endu dla strony domowej. W założeniu miała być ona prosta do bólu i dałoby się ją wykonać nawet na czystym HTMLu. Uznałem jednak, że warto by było przypomnieć sobie PHP i poznać te ciekawsze możliwości klas i obiektów w piątej wersji języka. Dzięki temu też przymierzyłem się do PDO i wykonałem coś w rodzaju bardzo prymitywnego frameworka. Do wyświetlania tegoż zdecydowałem się skorzystać z xt - xhtml templates, których zdecydowanym plusem jest to, że do wyszukiwania elementów korzysta się z selektorów CSS3. Ze strony klienta wykorzystałem JQuery, w którym ten proces wygląda praktycznie tak samo. Kolejnym plusem JQuery jest łączenie wyrażeń w łańcuchy (chaining), co przypomina dokładnie budowanie zapytań SQL we frameworku Django. Podsumowując, nauczyłem się tutaj wiele i nie żałuję mojego wyboru.

Na koniec zostawiłem sobie opracowanie dokładnych szablonów dla powstającego portfolio oraz tego bloga.

Z tego, co zauważyłem, poszczególne strony są używalne od IE5.5 wzwyż oraz w przeglądarkach obsługujących standardy. Uwaga, Safari/Win ma problemy z JQuery, ale z tego, co wiem, na Macach biblioteka ta działa, jak należy. Zakładając, że Safari/Win jest aktualnie używana głównie przez developerów, nie będę próbował naprawiać jej błędów.

Dla wszystkich tych, którzy przewinęli tylko z góry na dół, podaję linki: strona domowa oraz portfolio. I oczywiście nagłówek tego bloga. :)

Mile widziane wsparcie w postaci wytykania błędów, szczególnie tych językowych. ;]

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Następna strona? - poprowadź mnie!

Postanowiłem nieco rozszerzyć ostatni wątek o pomysł, który ostatnio mnie nawiedził. Nadaje się on głównie dla osób, które są zainteresowane grzebaniem w kodzie swoich serwisów. I tutaj, na Joggerze na pewno nie jest ich mało.

Wszystkie modele opisane w poprzednim wpisie są modelami czysto generycznymi, w żaden sposób nie łączą się z akcjami użytkownika. Oczywiście, można to zmienić!

Dwie idee połączenia akcji użytkownika wraz z reakcją strony, które wpadły mi do głowy są względnie proste do zaimplementowania a mogę wnieść wiele do poszczególnych rodzajów oprogramowania.

Idea 1: Pierwsza nieodwiedzona strona.

Jedna z najprostszych idei, które mogą być bardzo pomocne w tworzeniu specjalizowanej listy linków dla użytkownika. Załóżmy, że istnieje lista stron od 1 do n. Gdzieś pomiędzy nimi znajduje się strona m, którą aktualnie odwiedza użytkownik. Użytkownik przechodzi następnie na stronę o. Wykonujemy następujące sprawdzenie:

  • Jeśli o < m, podajemy linka do m + 1 jako pierwszej nieodwiedzonej strony.
  • Jeśli o > m, m = o.

    • Jeśli chcemy być jeszcze bardziej poprawni, możemy sprawdzić, czy o > m + 1. Jeśli tak, możemy poinformować użytkownika, że pominął przy przeglądaniu odpowiednią ilość stron i zapytać, czy chce, abyśmy oznaczyli je za nieprzeczytane.
    • Uwaga - domyślnie oznaczamy je za przeczytane, bo jeśli ktoś już przeskakuje ileś stron, musi mieć ku temu powód!

Plusem tego rozwiązania jest to, że jeśli chcemy, da się je zaimplementować nawet w JavaScripcie, o ile dostarczymy mu numer aktualnej strony.

Zyskują na tym wielce fora, bo dostęp do wątków jest znacznie uproszczony. Nie jestem ich bywalcem, ale z tego, co wiem, w większości z nich stosowane są od dawna podobne mechanizmy. Jak bardzo pokrywają się z moim pomysłem - tego już nie powiem. :)

Problemy pojawiają się w przypadku stron, w których publikacje pojawiają się od najnowszej do najstarszej. W takim przypadku stosowanie powyższej idei mija się z celem - nieprzeczytana treść znaleźć się może nie tylko po jednej, ale po obu stronach listy.

Idea 2: Pozwól użytkownikowi zaznaczyć miejsce, do którego chciałby wrócić

Ta koncepcja jest jeszcze lepsza. W miejscach, gdzie różne wartościowe treści są rozrzucone wśród masy tych nieużytecznych, a jest ich stanowczo za dużo, aby bookmarkować je gdzieś w zewnętrznym serwisie, sami możemy postarać się o to, by zapewnić odpowiednią wygodę czytającym.

Jak? Na każdej ze stron dajemy dodatkowy przycisk, odpowiadający za akcję zapisania. Gdy przeglądamy listę stron, wszystkie zapisane strony z tej listy ukazują się jako linki. Jeśli założymy, że lista stron nie jest zbyt długa, aby mieć więcej niż kilka takich zakładek, użytkownik nie będzie potrzebował ich opisywania. Ale zamiast opisywania, skłaniam się ku innej formie. Niech zakładki mają kilka kolorów do wyboru.

Co dalej? Użytkownik może dostać własną stronę z zakładkami, jakie zrobił i małym wyjaśnieniem kontekstu (chciażby nazwa listy stron, w której dane zakładki się znajdują).

Kwestią sporną jest to, co powinno dziać się z taką zakładką po powróceniu na jej stronę. Przyzwyczajeni jesteśmy do manualnego usuwania wszelkich zakładek w przeglądarkach i specjalizowanych serwisach. Z drugiej strony logika podpowiada, że gdy ktoś wrócił na tą stronę, to w konkretnym celu i nie powinniśmy go zmuszać do dodatkowego klikania, tylko po to, by usunął tą zakładkę. Tą rzecz pozostawiam do przemyślenia ewentualnym implementatorom, specom od usability wyższej klasy ode mnie i wszystkim czytającym. ;)

Pomysł jest stary, jak stare są zakładki do książek. Ale chyba nikt jeszcze czegoś takiego sam z siebie nie zaimplementował w sieci. Głównym problemem tego rozwiązania jest z kolei bardzo łatwa możliwość zniszczenia całej jego używalności, jeśli tylko nie postaramy się utrzymać tego tak prostym, jak tylko można.

Mam nadzieję, że skłoniłem Cię do własnych refleksji. :)

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Morderca miniaturek

Miniaturkę możemy spotkać prawie wszędzie, gdyż dość dobrze nadaje się do prezentowania materiałów graficznych w sieci. Jej podstawową zaletą jest szybkość ładowania, to nie ulega wątpliwości. Dodatkowo, dzięki swym niewielkim rozmiarom użytkownik jest w stanie objąć wzrokiem dość pokaźną grupę miniaturek.

Jestem pewien także tego, że nieraz udało Ci się zaobserwować największy mankament miniaturek - czasami w żaden sposób nie można odcyfrować, co się dzieje na obrazku. Nadal nie wiesz, czy warto go obejrzeć... W takim razie po co miniaturka - równie dobrze mógłby ją zastąpić tekstowy odnośnik, prawda?

Skoro już uświadomiliśmy sobie problem, wyznaczmy teraz cel, do którego będziemy dążyć.

Potrzebujemy obiektu zastępującego miniaturkę, który będzie wyróżniał daną grafikę i starał się zachęcić do obejrzenia oryginału, przy jednoczesnym zachowaniu czytelności. Jeśli wziąć pod uwagę całość obrazka - jest to niemożliwe, ale kto powiedział, że trzeba nam całości? Nie lepiej wyciąć interesujący fragment?

Kadrowanie wyjściem ultymatywnym?

W przeciwieństwie do tworzenia miniaturek, kadrowanie daje zazwyczaj niezmiernie lepsze efekty wizualne. Z drugiej strony, póki nie nauczymy naszych komputerów rozpoznawania piękna, to będziemy sami musieli włożyć odrobinę naszej pracy (oraz inwencji) w wycinanki.

Pamiętaj, że ukazanie części grafiki wzbudza w oglądających ciekawość, dzięki czemu nie będą się nudzić na Twojej stronie i wysoce prawdopodobne, że jeszcze kiedyś wrócą. Istnieje pewna szansa, że dobrze uchwycony fragment będzie nie tylko intrygujący dla innych, ale stanie się nawet źródłem inspiracji dla innych.

Z powyższego akapitu płynie dość ważne pytanie - co wybrać? Z poczynionych przeze mnie doświadczeń wynikły dwa sposoby. Możemy wybrać łatwo zapadający w pamięć szczegół. Ważne przy tym, aby był reprezentatywny tylko dla jednego obrazka. Jeśli naprawdę utkwi w czyjejś pamięci, to właśnie odnieśliśmy sukces.

Inną metodą jest wybieranie najbardziej reprezentatywnej części obrazka. Problem w tym, że owszem, siła przebicia samego kadru będzie większa niż w poprzednim wypadku, jednak z drugiej strony, zabraknie nam niespodzianek w oryginale. Po pewnym czasie oglądający będzie mógł się przyzwyczaić do tego i przestanie zaglądać do oryginałów.

Może się okazać, że pewne fragmenty są zbyt duże, aby je skadrować. Wtedy należy się zastanowić, czy można bezpieczenie uciąć część tego fragmentu, czy też da się go zeskalować do pożądanych rozmiarów.

Narzędzia i wykonanie

Do tej pracy doskonale nadaje się zarówno GIMP, jak i Photoshop. Okazuje się, że moje sugestie to kombinowanie jak koń pod górę. Czujni czytelnicy (dzięki!) wskazali programy IrfanView, Picasę i JPEGCrops jako znacznie szybsze rozwiązanie przy większej ilości zdjęć. Nie testowałem żadnego z tych trzech programów, ale, jak widać, wybór jest znacznie większy.

Nie staraj się jakoś niezwykle precyzyjnie podchodzić do samego wyboru kadru - ja zazwyczaj przez chwilę zastanawiam się, jaki obiekt na obrazku rzuca się w oczy, następnie kilkakrotnie zaznaczam obszar 100x100px dookoła niego i wybieram opcję przycięcia obrazu, który zapisuję następnie jako JPEG z jakością 85 (domyślną). Dzięki temu moje wycinanki mają średnie rozmiary rzędu 3KB. Nawet przyjmując połączenie telefoniczne, dziesięć miniaturek ładuje się w jakieś 5-7s, co nie jest złym wynikiem.

Dość ważnym elementem jest wybranie stałego rozmiaru naszego kadru - dzięki temu wszystkie obrazki będą ładnie poukładane w rzędach i kolumnach na naszej stronie, niezależnie od tego, w jaki sposób zapiszemy je w kodzie HTML.

W razie, gdy obiekt, który chcesz zaznaczyć nie mieści się w domyślnych rozmiarach, można zeskalować obraz do 50% (co nadal daje w miarę dobre efekty wizualne), a następnie wykadrować i obciąć niepotrzebne części.

HTML

Gdy już zrobisz swoje miniatury i udostępnisz sieci, możesz wstawić je do swojego dokumentu. Jak? Rozwiązań jest naprawdę wiele. Można skorzystać z najprostszego kontenera <div />, lub bardziej skomplikowanej listy nieuporządkowanej.

Na tym blogu używam jeszcze innego rozwiązania. Korzystam z listy definicji <dl />, gdzie każdy <dt /> odpowiada danemu obrazkowi, a pod taką grupą wstawiam wspólny <dd />, czyli opis powyższych obiektów. Wygląda to tak:

<dl>
	<dt><img ... /></dt>
	<dt><img ... /></dt>
	[...]
	<dd>Obrazki przedstawiają x, y oraz z.</dd>
</dl>

W połączeniu z lekką stylizacją w CSS, może to wyglądać tak, jak na moim blogu.

Czy w takim razie odrobinka pracy popłaca? Odpowiedź pozostawiam Tobie.

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

BotNET 2.0

Nazywam się TROJAN.HTTP.A. Znajduję się właśnie na maszynie o adresie internetowym... A zresztą, nie jest to ważne. Ważne jest to, że rajem dla mnie stało się masowe rozpoczęcie korzystania z IPv6, dzięki czemu stały adres mogła mieć każda maszyna, z czego skwapliwie korzystano.

Jestem bardzo sprytną konstrukcją. Powielam się, przy czym sam pamiętam tylko adres mojego ojca i synów, oraz tych krewnych, którzy usiłowali wprowadzić się na tą samą maszynę, co ja. Tworzymy dużą sieć i dość często wymieniamy się różnymi danymi.

Po zrzucie w okolicy RAMu, rozstawiam polowy serwer HTTP. I w ten sposób kontaktuję się z moimi pobratymcami. Następnie, rejestruję darmową domenę w jednym z pięćdziesięciu kilku usługodawców, do których obsługi zostałem przystosowany. Następnie, kopiuję kilka kilobajtów tekstu określonych licencją Creative Commons i co pewien czas dodaję nowe linki do różnych stron mojego Pana. Czasami też dołożę nowy tekst, aby strona nie wydawała się martwa.

W ten sposób wszyscy pozycjonujemy strony naszego Pana. Staramy się zachować cicho, aby nikt nie dojrzał naszej działalności. Jeśli zostaniemy pokierowani z odpowiednią precyzją, to wykonamy swoją pracę bez zwrócenia uwagi. Potrzebny jest tylko odpowiedni czas.

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Na stronie i blogu README miej

Natchnęło mnie i obejrzałem kilka nowych joggerów. Mają już ze dwa wpisy, więc jest co czytać. ;)

Przy okazji zauważyłem pewną prawidłowość, o której jest ten wpis. A mianowicie brak zapewnionej informacji o tym, co taki blog będzie sobą reprezentować.

Ten problem można rozszerzyć do każdej strony internetowej. Musimy pamiętać, że aby zjeść owada, drapieżnik musi go zwabić. I w ten sam sposób autor strony internetowej musi uwić sobie swój kawałek sieci, żeby czytający chętnie się do niej przyklejali.

Należy założyć, że trafiając na stronę X, czytający nie ma żadnego rozeznania w tym, co się tam znajduje, znajdowało, czy też będzie znajdować. A autor powinien mu zapewnić swoiste README. Leżące w dobrze widocznym miejscu, aby czytający nie tracił czasu na szukanie. Dobrze, gdyby nie było większe, niż dwadzieścia, trzydzieści słów. W końcu stały czytelnik nie chce się przebijać przez wielki nagłówek, aby dotrzeć do treści.

Nikt nie broni, aby w tym malutkim README zawrzeć link do czegoś większego - strony z informacjami o autorze/stronie. W ten sposób będzie można zapewnić komfortowe rozwiązanie i dla tych, którzy przybyli tu pierwszy raz, i dla tych, którzy przyklejeni oczekują na schrupanie. Z drugiej strony nie wolno zostawiać samego linka, bo i tak nikt nie zada sobie tyle trudu, aby kliknąć i poczekać, aż nowa strona się załaduje.

I jeszcze drobna uwaga dla bloggerów - zostawianie informacji o treści bloga w pierwszym wpisie generalnie nie jest dobrym pomysł. Jeśli uważasz, że każdy nowy czytelnik będzie z chęcią do niego zaglądał z własnej woli, to masz zbyt wielkie mniemanie o sobie. A ci, którzy mogą sobie na coś takiego pozwolić, zazwyczaj i tak mają krótkie README gdzieś w widocznym miejscu.

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

jest.in

Wprowadzenie

jest.in to minimalistyczny zamiennik księgi gości. Między tymi dwoma tworami istnieje jednak jedna duża rozbieżność - jest.in skierowany został do osób, gdzie typowa księga gości zazwyczaj odnosi się do danej strony. Ten antropocentryzm to taki malutki zalążek Web 2.0 w serwisie. Dlaczego malutki, o tym dalej.

Co otrzymujemy? Personalną stronę (przykładowo: mój profil), gdzie oglądający mogą w kilku zdaniach wyrazić opinię o Tobie. Prościutkie, chyba nie sposób się pogubić. :)

Zapraszam do wyrażenia opinii o mnie - bardzo ciekawi mnie wynik takiego eksperymentu. Prośbę tą kieruję szczególnie do osób czytających tego bloga, dzięki temu zyskam ogólne pojęcie, jakiego siebie tutaj kreuję. To taka mała reklama, a teraz wracam do tematu.

Plusy

  • Kilkusekundowa rejestracja - czegoś tak prostego dawno nie widziałem, wystarczy tylko podać nazwę użytkownika. I nic więcej. Żadnych haseł, żadnego uwierzytelniania mailem, żadnego logowania. Jedynym zasobem do zapamiętania staje się URL Twojej strony.
  • Niebrzydki design. Uważam, że pomarańczka nie wygląda źle, chociaż nijak mi się nie kojarzy z działalnością. Ale kolejny ludzik plus gradienty byłby już monotonny.
  • Mniej więcej przyzwoity kod. Mimo iż występuje grupa błędów w HTML (a do CSS nie zaglądałem), to strona nie jest napisana przy użyciu tabelek, a puste divy daje się przeżyć. W dodatku nagłówki są używanie w poprawnej kolejności, a ich treść za pomocą CSS podmienia się na obrazek. Cieszy mnie też użycie HTML 4.01 Strict DOCTYPE - wreszcie ktoś nie przystosowuje się na siłę do XHTML.
  • Wodotryski - rejestracja nowego konta oskryptowana jest AJAXem i chociaż te skrypty na oko nie wyglądały zbyt dobrze (zastosowany innerHTML, który nie jest standardem), to przynajmniej działa w Operze - wnioskuję, że w Firefoksie i IE także.
  • Dostępność - stronę da się przeglądać w przeglądarce tekstowej i gdyby nie pomyłka w zapisywaniu jednego z nagłówka, byłaby równie dostępna, co w graficznych. Nie stwierdzono dużych zmian w wyglądzie przy IE6/Fx/O. Chętnie dołączę do tego raport z IE7 - jeśli tylko znajdzie się osoba, która poświęci chwilkę na uruchomienie tej przeglądarki, ocenę wyglądu i skrobnięcie komentarza. :)

Minusy

  • Brak logowania - z każdą rzeczą trzeba biegać do Grupy Trzymającej Władzę, a jeśli znajdzie się ktoś upierdliwy, to nie będziemy w stanie zapanować nad sytuacją i strona pójdzie gdzieś.
  • Zbyt proste - brakuje tu jakichś oryginalnych funkcjonalności, dzięki którym to niektóre z serwisów 2.0 mają teraz wysoką popularność.
  • Niedokończone. Przy wyłączonym JavaScripcie podczas dodawania konta jesteśmy przekierowywani na stronę, która jest 'pseudotekstem' - czyli treścią HTML bez jakichkolwiek niezbędnych deklaracji. Podobnie jest przy formularzu kontaktu z Grupą Trzymającą Władzę.
  • Błędy w kodzie wytykane przez walidator wypadałoby poprawić.
  • &nbsp; - niełamliwe spacje już dawno wyszły z użycia.
  • Wolałbym textarea zamiast jednolinijkowego inputa przy wpisywaniu opinii - czyżby nikt nie miał tutaj do powiedzenia więcej niż dwa zdania? Ludzie inteligentni nie istnieją? :)
  • Nie sprawdzałem strony pod względem ataków poprzez odpowiednio spreparowane dane wejściowe, więc nie mam pojęcia, jak z bezpieczeństwem. Oczywiście, trzeba obawiać się najgorszego.

Podsumowując: produkt niedopracowany, ale jakby się uprzeć, to wszystkie z wyżej wymienionych można poprawić/wyeliminować w ciągu jednego dnia pracy.

Czy warto? Chociaż produkt nieco zalatuje nastolatkami, to zawsze jest to jakaś metoda zdobycia informacji o sobie. I co ważne - metoda darmowa.

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Ufasz Google?

Markieting szeptany jest bardzo pożądaną reakcją na nasze usługi, jednak w obliczu bezdusznych maszyn staje się groźną bronią. Już niedługo, Google może zacząć nas zwodzić, samo nie będąc tego winne. Wystarczy, że zaufamy mu bez jakichkolwiek oporów.

Jest rok 2042, właśnie pojawiła się nowa wiadomość na komunikatorze w moim palmtopie wpięcym w sieć WiMAX. Wiedząc, że od tej chwili następne sekundy są na wagę złota, hamuję i zatrzymuję samochód w najbliższym możliwym miejscu. Wyłączam muzykę i zasuwam szyby, wciskając jeden przycisk. Momentalnie wnętrze pojazdu się wycisza, a ja mogę zająć się moim zadaniem.

Okazało się, że mój klient potrzebuje pomocy. Po raz kolejny jego przeciwnicy zrobili mu antyreklamę i umieścili na pierwszym miejscu w Google informacje o tym, jak jego firma nie wywiązuje się z zadań. Nie była to cała prawda. Wiecie, jak to jest, gdy pokłócicie się z kimś, a ten ktoś zacznie rozgłaszać wśród swych znajomych, jaki to on był pomocny, jak wyciągnął do was dłoń, a wy ją perfidnie odrzuciliście. Mój klient stanął właśnie w obliczu takiej sytuacji.

Cóż, stwierdziłem w odpowiedzi, że zajmę się powtórnym wypozycjonowaniem jego strony w krótkim czasie i za odpowiednią zapłatą. Jako pierwsze jednak, poradziłem mu kontakt z prawnikiem. To w jego rękach znajdzie się połowa pracy, jak nie więcej. Tylko dzięki niemu tamta strona może zostać zamknięta legalną drogą.

Sytuacja została szybko zażegnana, ale mój klient stracił na tym 10% swych dziennych przychodów przez okres czterech dni. Szczęśliwie. Słyszałem o firmach, które bankrutowały z tego powodu.

Owszem, była inicjatywa powołania przez Google odpowiedniej komisji do zgłaszania nadużyć, ale niefortunnie już w pierwszych dniach została zalana tyloma wnioskami, że starczyłoby im na dwa lata. Teraz jest trochę lepiej, ale to nadal okres miesiąca narażeń na stratę.

I tak się to dzieje. Nikt teraz nie jest bezpieczny, od kiedy maszyna stała się rekomendatorem.

Ponure? Możliwe? A co, gdy ilość prawdziwych informacji przez script-kiddies 2.0 zostanie zredukowana do kilku procent? To już nie będzie szum informacyjny, to będzie fałszerstwo. I czy Google poradzi sobie z wykładniczo przybywającymi problemami tej natury?

A może ludzie z Google zostaną kiedyś zmuszeni do przekręcenia dwóch kluczyków w jednej chwili i wciśnięcia wielkiego, czerwonego przycisku z napisem "DROP DATABASE"?

Zaczniemy od początku?

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Uderz mnie

Zią co bylo o czesc kochanie co tam u ciebie naprawdę zamach bombowy w ebayu minister edukacji wygłasza swój program there is no light in the darkest of your furthest reaches świetnie wreszcie mogę się polenić aż tak czekaj zaraz pokażę ci ciekawego linka szukaj z google nie nie to następne no zamrucz troszę ok czymś mam się martwić nie program z nim to spokojnie mac mini i zabawy z programami graficznymi o kolejny wpis na 10p brick by brick the night eclipsed pricked by kim jestes nie nie znam nie warto ech tak stary nie ma problemu pa kochanie.

Kropka.

Część z was ma już pewnie jakąś koncepcję dotyczącą znaczenia powyższego. Jest to oczywiście symulacja chwili czasu rzeczywistego człowieka podłączonego i obeznanego nieco z Internetem. W dobie o dwudziestu godzinach, coraz częściej zdarza się funkcjonować w ten sposób i mnie, i wam. Wielowątkowość, która to przykładnie została oddana akapit wyżej, zmusza do odpowiednich reakcji.

To właśnie ona jest powodem znieczulicy, która dotyka nas podczas coraz większej ilości doznań audiowizualnych, dostępnych w poszerzających się bazach danych. Dzięki niej zacieramy dziewięćdziesiąt procent z miejsc, w jakich byliśmy i informacji, jakie w nich znaleźliśmy.

Chyba każdy pamięta swoje życie sprzed YouTube. Teraz, gdy zrewolucjonizowało ono kwestię przekazu wideo na stronach www, jaki jest nasz stosunek do zwykłych filmów? Jeśli myślisz, że taki sam, to zastanów się przez chwilę - konwencjonalny film musisz kupić, bądź ukraść - w pierwszym przypadku wiąże się to z utratą pieniędzy (wliczam w to opłaty za TV), w drugim - czasu (jeśli mieszkasz w Polsce i zajmuje Ci to mniej, niż godzinę, możesz się cieszyć). Z drugiej strony, masz darmowy dostęp do milionów filmików na YT, z których część to perełki. Wniosek - YT zachwiało Twoim postrzeganiem filmu, niezależnie od tego, jak silnie rozgraniczasz te dwie rzeczy.

Analogicznie można postąpić z muzyką, grafiką, wreszcie słowem.

A teraz postaw się z drugiej strony - chcesz w jednej z tych dziedzin postawić swój pierwszy poważny krok. Szukasz pomysłu i oto on nadchodzi. Ale, czy dzięki niemu zyskasz czyjekolwiek poparcie?

Póki podejście, środki, efekt nie będzie tak szokujący, że Cię nie zapamiętam, nie masz szans. I nie zwódźmy się słowami - fakt, że coś jest interesujące oznacza nie mniej, nie więcej niż to, że Twoje dzieło zaskoczyło mnie na tyle, bym je zapamiętał. Inaczej, chaos i ciągi pseudolosowe Cię pochłoną.

Na zakończenie odrobina pocieszenia - nadal mamy wystarczająco wiele czasu, by wybić się, zrealizować swoje marzenia i znaleźć jeszcze chwilkę na pójście do kibelka.

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Layout - projektowanie zmian

Będzie potrzebna drukarka. Taka zwykła, kolorowa drukarka. Chociaż nie w pełni oddaje głębie kolorów, każdy, kto nie jest zwolennikiem kontrastów bliskich zeru, będzie mógł skorzystać z jej dobrodziejstwa.

Znaleźliby się ludzie, którzy drukarką potrafiliby zrobić rzeczy, które innym się nie śniły. Ci inni nazywają ich hackerami. Ale dziś użyjemy jej w standardowy sposób - mianowicie wydrukujemy sobie nasz newralgiczny layout, w którym chcielibyśmy coś poprawić, a pomysły zmieniają się co chwilę, bądź dyskwalifikują nazwzajem. Drukujmy oczywiście z uznaniem kolorów i obrazków tła, co w Firefoksie można ustawić w Page setup, bądź Ustawieniach strony, dostępnych z menu File/Plik.

Potrzeba nam tylko jednej strony, na której najlepiej będzie, gdy zawrzemy wszystkie elementy spędzające sen z powiek. Jej zalety ujawnią się, gdy weźmiemy długopis i zaczniemy pisać notatki po bokach - dopiski są od razu posegregowane, łatwo można odrzucać, czy wracać do poprzednich pomysłów. Warto zapisywać wszystko - nawet największe idiotyzmy, czy banały. Kto wie, czy później nie posłużą nam za inspirację, czy element układanki pasujący do pozostałych?

Bardzo łatwo jest także nam odłożyć kartkę i wrócić do niej później. Na dodatek możemy bardzo szybko i łatwo naszkicować kolejną koncepcję jakiegoś elementu. Czego chcieć więcej?

Gdy już zaczniemy pracę przy komputerze odnotujemy skrócenie czasu pracy przy nim o dość znaczącą wartość - możliwe, że nawet o połowę. Dzięki masie zapisanych pomysłów, zaznaczonych błędów, bądź zakreślonych szkiców najzwyczajniej bierzemy się do roboty, nie tracąc czasu na ponowne odkrywanie koła. A potem testowanie, na które sama kartka papieru niestety nam nie pozwoli...

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Don't learn anymore

Nie namawiam bynajmniej do zaprzestania nauki. Solidna edukacja jest podstawą do czegokolwiek, nawet, żeby to było posługiwanie się młotkiem. A propos prostych narzędzi - zdziwiłem się, gdy zobaczyłem, jak łatwo i szybko można heblować drewno... potluczonym szkłem. Wygląda na to, że nawet z odpadów daje się zrobić niezwykłe rzeczy.

Wracając z rozkosznych pól miodem i mlekiem płynących do internetowej, wirtualnej rzeczywistości napotykamy na coraz więcej serwisów, które stają się pełnoprawnymi aplikacjami internetowymi. W takich serwisach często pojawia się 'Learn more', czy 'Dowiedz się więcej' w rodzimym języku.

Learn more?

Zaczyna mnie to denerwować. Aplikacje te, zamiast postarać się o przejrzystość i intuicyjność interfejsu, oraz odpowiednie logo, dzięki któremu mógłbym określić, za co odpowiada dany serwis, odsyłają mnie z premedytacją do swojej pomocy.

Rozumiem, że streszczenie wszystkich cech danej aplikacji sieciowej nie jest możliwe na stronie głównej, ale gdyby tak podać słowa kluczowe, lub znaki graficzne (bardziej sugestywne, jeśli dobrze wykonane)? A co, gdyby w łatwy i przystępny sposób dostawać na sam początek np. trzy przyciski miast fury otaczających linków, a opcje zaawansowane będą dostępne dopiero po samodzielnym ich włączeniu? Czy nie byłoby lepsze wyświetlanie wskazówek początkującym - oczywiście też opcjonalne, ale domyślnie włączone?

Gdzie jest About?

Innym irytującym faktem jest to, że na dużej ilości stron brakuje rzucającego się przcisku 'About'. Przykład z życia: wchodzę na stronę jakiegoś skryptu forum w PHP (PunBB). Mam określony cel - chcę przeczytać, w czym to forum jest lepsze i dla jakiej grupy użytkowników je przeznaczono.

Piętnaście sekund zajęło mi znalezienie przycisku 'About'. Gdybym był mniej zachęcony layoutem strony, na której to forum działa - pewnie już wcześniej bym nacisnął ^W. Dlaczego tak? Nie spodziewałem się tak oczywistego położenia tego linka - zazwyczaj znajdują się one nieco bardziej po prawej stronie i tam właśnie zacząłem poszukiwania.

Teraz pomyślmy, co by było, gdyby wyróżnić go na zielono, pogrubić, lub dać inne tło pod niego. Byłoby widać od razu? Z pewnością. A przecież tego właśnie chcemy i my, użytkownicy, i my, developerzy.

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Logo serwisu

Jak wiadomo, logo powinno być znakiem rozpoznawczym serwisu. Dochodzimy tu do pierwszego, ważnego wniosku. Skoro jest to znak rozpoznawczy, musi się w jakiś sposób kojarzyć z samym serwisem. Jeśli masz więc do wyboru kilka, wybierz to, które najbardziej jednoznacznie identyfikuje stronę. Dzięki temu selekcja jest prostsza.

Drugie. Człowiek ogląda logo w dwóch przypadkach - kiedy dopiero co wszedł na tą stronę (najczęściej będąc tam pierwszy raz), w drugim - jeśli strona mu się spodoba. Pierwszy przypadek jest równie ważny dla wszystkich. Tak więc, gdy uważasz, że logo odstrasza - wyrzuć grafika. W przypadku, gdy to Ty jesteś tym grafikiem - gratuluję, właśnie Twoja lista przyszłych zawodów stała się bardziej zwięzła.

Za to drugi przypadek jest szczególnie ważny dla tych firm, które opatrzają swym logo inne towary. Dobre logo w tym wypadku ma być maksymalnie proste i pomysłowe. Zgodnie z tymi zasadami przypomni się nawet i za pięć lat, gdy taksówka z reklamą Twojej firmy będzie przejeżdżać obok klienta.

Nie może być ono za duże. Maksymalnie powinno zajmować jakąś jedną trzecią wysokości okna. Inna sprawa, że jeśli dobrze je wykonasz, to i 64x64 wystarczy.

Cztery - logo to symbol, a nie obraz Panoramy Racławickiej. Pamiętaj, że zbyt wiele elementów rozprasza i czyni trudnym do zapamiętania.

Jeśli nie możesz spełnić poprzednich punktów, to pomyśl o <h# /> - w ten sposób nadal możesz mieć przejrzysty serwis, a i jego wygląd będzie neutralny, a nie negatywny, jak przy użyciu nieprawidłowej grafiki.

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Takowy layout

Gdy zajrzałem któregoś dnia na stronę projektu Django, spodobał mi się tamtejszy layout, szczególnie pomysł z podziałem strony na trzy części i dolną jego częścią, gdzie tła tych trzech części wystają jedno spod drugiego.

Przez pewien czas chodziło mi coś takiego po głowie, tylko w nieco jaśniejszej tonacji i z małymi modyfikacjami. Następnie, gdy wymyśliłem nazwę, zrozumiałem, że ten layout będzie parodią typowej aplikacji Web 2.0.

Wreszcie znalazłem czas na eksperymentowanie z pomysłami kłębiącymi się w mojej głowie. I oto, co wyklikałem.

Foor. :)

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

I po co to wszystko

Wcielmy się teraz w hipotetycznego człowieka znanego pod nazwą Zwykłego Użytkownika, pana Kowalskiego. Dopasujmy nieco nasze postrzeganie do jego potrzeb i możliwości.

ZU nie obchodzą standardy sieciowe. Co prawda obiło mu się to o uszy, ale w czasach, kiedy słyszał tą nazwę, jacyś dziwni ludzie, podzieleni na dwie grupy, zażarcie się kłócili o to, tak jakby było to coś ważnego. Niestety, cała ta dyskusja nie była zbyt zrozumiała dla naszego użytkownika, oczywiście z wyjątkiem momentów, w których to leciały obelgi pod adresem przeciwników. Na dodatek na jednym z forów został zwymyślany przez kogoś za używanie Internet Explorera.

ZU niewiele pamięta z tych czasów. Miał wtedy duże problemy z utrzymaniem posady. Teraz zresztą też jest niewiele lepiej. Niby udało mu się osiągnąć cel; koniec końców nie został zwolniony. Jednak liczyło się to ze zwiększeniem ilości godzin pracy. Pan Kowalski wraca na tyle zmęczony do domu, że nie ma najmniejszej ochoty, by zastanawiać się nad jakimiś głupotami. Chce tylko zjeść ciepły obiad, podawany od niepamiętnych czasów dokładnie na czas przez jego żonę, panią Halinkę i posiedzieć przez chwilę przed telewizorem, czy komputerem, jeśli nie ma żadnego wartego obejrzenia filmu; najlepiej takiego z dużą dawką akcji.

ZU zazwyczaj przegląda internet za pomocą przeglądarki Mozilla Firefox. Kiedyś ściągnął jakieś świństwo, z którym nie mógł sobie poradzić, a było niezwykle denerwujące. Pan Kowalski nie lubi przyznawać się do niedoskonałości, ale wobec takiego wypadku musiał wezwać syna sąsiadów, specjalistę obeznanego w sprawach komputerów. Chłopak naprawił system w ciągu kilkunastu minut, a nasz użytkownik spytał się młodego człowieka, jak skutecznie się bronić przed tymi paskudztwami. I w ten sposób poznał Firefoksa. Syn sąsiadów, wymieniając zalety przeglądarki, wspomniał coś o tych standardach, ale co dokładnie - licho raczy pamiętać, poza tym było to jakieś takie pogmatwane. Z własnego doświadczenia wie tylko, że ci łebdewelojperzy to nieprzyjemni ludzie, skoro tak bardzo się potrafią sprzeczać o jakąś niejasną sprawę.

Posiada Neostradę w najtańszym jej wariancie - nie potrzebuje więcej. Co prawda dłuży mu się, gdy ściąga jakieś śmieszne filmiki czy mp-trójki, ale nie robi tego często, a dzięki panelom i tak może przeglądać inne strony podczas ściągania/ładowania animacji.

Człowieka takiego nie obchodzi w żadnym stopniu, że używamy poprawnego XHTML-a, CSS, czy jakiegokolwiek innego egzotycznego dla niego skrótu. Nie obchodzą go wcięcia w kodzie, rozważania na temat wyższości layoutu <div />-owego nad tabelkowym, czy inne abstrakcje w postaci semantycznego kodu i dociekania, który z tagów lepiej oddałby sekwencję znaków, którą tutaj wpisuję.

Chciałby tylko jednego - żeby mu się layout nie rozjeżdżał, kiedy próbuje czytać blog znajomego na Onecie.

Jeżeli można zrobić dobry kod używając HTML 4.1, to dlaczego większość ludzi, która robi szum na temat sieciowych standardów, onanizuje się widząc znaczek Valid XHTML 1.0 Strict?

Dochodzę do wniosku, że to, co robimy, wmawiając sobie wyższe idee, to jest tylko sztuka dla sztuki, a kod, który napiszemy bardziej nadawałby się na wystawę (przepraszam, ekspozycję) abstrakcjonizmów dwudziestego pierwszego wieku.

Nie muszę przekonywać, że kod oparty na divach (gdy ich nie za dużo) jest czytelniejszy dla mnie. Przy tabelkach jednak nie trzeba się obawiać, że coś wyjedzie poza layout. Oczywiście nie namawiam do cofnięcia się w ewolucji, jednak niektórzy ludzie są już chorzy, gdy widzą samo słowo <table />. To wpadanie ze skrajności w skrajność przypomina polskie wybory do Sejmu. Nie spodobała się jedna partia - to hyc, wybieramy całkowicie odwrotną.

Wszędzie tylko szum i peany, jak to nowsze jest lepsze i jak to mój jest większy od waszego. Może wypadałoby o tym skończyć, a zacząć brać się za coś konstruktywniejszego?

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Co łączy div i drzwi

Jpc napisał: Divy są jak drzwi, trzeba je zamykać... (źródło). I zgodziłbym się z tym jeszcze kilka lat temu.

Dziś, kiedy walidator w3 urósł do rangi Wyroczni, decydującej o wszystkich aspektach poprawnego pisania, a znaczek XHTML nabrał znaczenia przypinki identyfikującej nas spośród tłumu ludzi noszących takie same przypinki, powstał inny problem. Bo cóż z tego, że piszemy zdania, rozpoczynające się z wielkiej litery wielką literą i kończące kropką. Żeby móc przekazać informację, należałoby umieścić jeszcze coś wartościowego pośrodku.

Wracając do znacznika <div /> - biorąc pod uwagę skromne rozeznanie sytuacji, jakiego dopuściłem się w poprzednim akapicie, należałoby nieco zmodyfikować myśl ukazaną na początku.

Divy są jak drzwi. Nie sposób umieścić ich setkę w jednym pokoju.

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Jak bardzo jesteś 2.0?

Usiądź spokojnie - Cyganka prawdę ci powie.

Aby być 2.0 musisz spełniać następujące warunki.

Używać:
Ajax,
Pythona,
CSS,
Google Maps API,
Ruby,
prototype.js,
XHTML 1.1.
Posiadać:
blogrolkę na Bloglines,
favikonkę,
semantyczną składnię (cokolwiek to znaczy dla autora),
reklamy Google Adsense,
tagi.
Odwoływać się do:
Technorati,
flickr,
licencji Creative Commons,
tegoż walidatora,
Slashdota, Digga oraz del.icio.us,
Firefoksa.

All the rules of web 2.0 are provided by users of this site. The definition of web 2.0 changes on a daily basis. Now you can keep up with your web 2.0-ness since this site checks randomly against the most recent rules decreed by it's users.

Źródło.

To daje znakomity wgląd na to, jak ludzie postrzegają Web 2.0. Widać chwyt marketingowy podziałał. Popsuto ciekawe rozwiązanie (reguły zapytań pobierane są z del.icio.us), a ja coraz bardziej się przekonuję, że socjalizm nie jest przeznaczony dla rasy ludziej.

Ponadto, Appears to be web 3.0 cały czas mnie śmieszy. ;)

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Blummy

Linkuję za Riddlem; mimo, że opisał tą aplikację już miesiąc temu, wydaje mi się, że warto o niej wspomnieć.

Ładny gadżet, ale na razie się do niego nie przekonam. Nie mam aż tak wielu przycisków na pasku szybkiego dostępu, by stawał się konieczny.

Tak, Blummy nadaje się głównie do trzymania wszystkich niemieszczących się (oraz nieużywanych zbyt często) skryptozakładek w jednym miejscu. Inne użycie jest mało wygodne z bardzo prozaicznego powodu - muszę wykonać co najmniej jedno kliknięcie więcej, niż odwołując się do elementu na samym pasku.

Co prawda, jest kilka miejsc, gdzie Blummy pokazuje prawdziwe możliwości - np. wyświetlanie formularza dodawania zakładki do del.icio.us (do czego też się nie przekonałem, bo korzystam często z podsuwanych mi przez system tagów). Na obecnym etapie rozwoju można to traktować bardziej jako proof of concept.

Siła serwisu tkwi w jego przyszłości. Jeśli nie zostanie zalany beznadziejnymi zakładkami oraz będzie można szybko wyszukać potrzebne - Blummy może stać się czymś więcej, niż tylko dodatkowym, Ajaxowym panelem do mojej przeglądarki.

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

I Ty możesz zostać BETĄ

Tak - to przyszłość zagląda w Twoją teraźniejszość! Spal statyczne strony na stosie herezji i stań się fanatykiem nowej, rewolucyjnej sieci. Sieci, trafnie określonej cyframi 2.0. Czekamy na Ciebie.

Na poważnie - kiedy zbiorę siły (i odrobinkę mniej chory, niż dziś).

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Poziomy joggera

Patrząc chociażby na szablony (najprostszym sposobem - kto ma zaznaczony poziom 0, a kto nie, szczególnie w wypadku własnych produkcji) to duża ilość ludzi używa wpisów na przeróżnych poziomach. Opisują sprawy te mniej i bardziej prywatne, mniej lub bardziej ważne. Niby bardzo przydatna rzecz, ale bardzo mi przykro, nie rozumiem tego.

W mojej koncepcji świata, weblog ma przekazywać informacje. Są one różnorodne, mogą traktować o tematach ogólnych lub koncentrować się na określonym przypadku. Zwykle łączy je jedna cecha - subiektywność prowadzącego i jego poglądów. Jeśli miałbym więc używać poziomów jako ogranicznika, to po co w ogóle mi tym się parać? Czyż nie szybciej użyć bardziej nasuwającego się rozwiązania i, jeśli np. potrzebujemy coś wyrzucić z siebie lub przekazać, spotkać się irl lub chociażby napisać maila? Gwarantują one większą i bardziej nieskrępowaną możliwość wymiany poglądów na dany temat.

Gdy sto osób czyta wpisy na poziomie x, to jest duża szansa, że i tak dotrze coś do niepowołanych uszu (oczu?), więc czemu właśnie x, a nie 1? Blokowanie przez dodawanie nieblokowanych to dziwna rzecz dla mnie.

Wreszcie - gdy piszemy tylko dla siebie, to czy nie lepiej przestać zapychać komuś serwer i zamiast publicznej usługi używać pióra i arkusza papieru? Generalizując, nie ma wielu różnic między tymi dwoma rodzajami prowadzenia pamiętniczka.

Jestem skrzywionym człowiekiem, czy tylko ekshibicjonistą?

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Czemu nie lubię wiadomości

Chodzi tu właściwie o większość pokazywanych w popularnych serwisach informacyjnych, gazetach, Internecie, etc. Dawno temu ograniczyłem się z tymi 'newsami z kraju i ze świata', sądząc, że jest to jakieś wyjście. No i było, mimo to nie można do końca życia niczego nie wiedzieć.

Kolejne, możnaby powiedzieć, pierwsze (niby sprzeczność, ale jednak ma to jakiś sens) spotkanie z wiadomościami znów pozostawiło niesmak. Nie lubię, gdy ktoś manipuluje mną i zmusza do myślenia w określonym kierunku, a media - może tylko dlatego, żeby się sprzedać, a może nie - usiłują ten gwałt na mnie uczynić. Bo któż to podając suche fakty używa takich figur stylistycznych, jak pytania retoryczne? Należy się zdecydować, albo piszemy opowiastkę sensacyjną, albo opisujemy rzeczowo zdarzenie. W idealnym przypadku nie powinno być tam cienia emocji.

Niestety, wraz ze wzrostem tragizmu nowel z życia wziętych, rosną także reakcje na nie. Nie wiem, czemu, ale odpisywanie na forach publicznych na wieść o np. morderstwie (ach, to temat przedni jest, zyski z niego o wiele większe) staje się sportem, w którym wzmagamy naszą wściekłość i przeciwność światu. Bo na bicie się jesteśmy już za starzy/tchórzliwi/zbyt słabi. Czy tylko ja mam wrażenie, że to może jedynie doprowadzić do wrzodów na żołądku? :)

Inspirowane artykułami z gazeta.pl: Dożywocie za zabójstwo w Kutnie oraz Pierwsza biała terrorystka-samobójczyni.

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

RSS

Prawdę mówiąc to nigdy nie używałem. Czemu? Bo nie wiedziałem, że korzystanie z tego za pomocą samego Firefoxa jest tak wygodne. A wykorzystywanie zewnętrznych programów zawsze stwarzało jakieś problemy. Przykładem jest Thunderbird, którego samo odpalenie zajmuje trochę czasu a przeglądanie rss nie przypadło mi do gustu.

Teraz dziwię się sobie. Byle rss-zakładka w katalogu znajdującym się na pasku szybkiego dostępu jest tak komfortowa i tak szybka, że używanie jej staje się przyjemnością. Może jeszcze jedna lub dwie rzeczy nie do końca mi pasują - przydałoby się menu, gdzie mógłbym od razu wybrać wszystie informacje i otworzyć w panelach. W sumie tylko jedna.

Ameryki nie odkryłem. Ale wiem, że wielu ludzi podobnie jak ja nie jest przekonanych do dobrodziejstwa tego wynalazku. A jednak - myliłem się i teraz skwapliwie nadrobię zaległości.

Co następne - może del.icio.us?

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

XFN i CSS

Dzięki możliwościom CSS 2.1 można uzyskać bardzo duże wsparcie (oraz ciekawe rezultaty wizualne) dla XFN (strona projektu). Postanowiłem się tym zająć, czego efekty - na razie dość prymitywne - widać np. w menu Czytani.

Jednak bez legendy nawet najlepsza mapa nie zostanie odczytana przez wszystkich. Dlatego też zamieszczam tu krótki opis, co i w jaki sposób oznaczyłem. Będę starał się uaktualniać tą notkę na bieżąco w miarę postępu moich prac nad szablonem.

Specyfikacja.

met
contact
friend
muse
sweetheart

Komentując - kombinuję z moim szablonem, a z drugiej strony nie chce mi się nawet zmienić antypikseli. ;]

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Głupi pomysł

Zrobić słownik języka polskiego w oparciu o GoogleFight. :D

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane

Jobble

Wszystkim jabberowcom, którzy nie słyszeli o Jobble, polecam polską mapkę użytkowników Jabbera. Pokażmy więc, jak wielu nas jest. :)

A mnie proszę szukać w Łodzi, to taka szara plamka na środku. :P

Za wpis o Jobble Rozbitowi serdecznie dziękuję. :D

Zobacz komentarze Trackback dodajdo.com Zobacz pełne metadane
Na górę
Reklamy Google