Zdecydowałem (jest nikła szansa, że zmienię decyzję), że po ponad dwóch latach działalności, kończę współpracę z PHP Solutions, a nawet całym wydawnictwem Software.

Z tej okazji, mogę polecić kogoś na moje miejsce. Zajmowałem się pisaniem aktualności do PHP Solutions, korektami, tłumaczeniami i pisaniem artykułów. Do wzięcia będzie więc przynajmniej pierwsza pozycja - newsmena.

Kasa jest niewielka (100zł/strona), po ok. trzech miesiącach - chodzi głównie o publikację w prasie. Najbliższe newsy trzeba oddać za około miesiąc. Chętni na stanowisko proszeni są o wysłanie kilku słów o sobie, swojej wiedzy, wieku wraz z ew. linkami do projektów na mail calusy+phps@@eldoras.com - jak widać, należy usunąć nadmiarową małpkę. Do tego należy dodać jeden przykładowy newsik - kilka (4, max. 5) zdań na temat czegoś związanego z PHP (opis ciekawego projektu, nowej wersji itp.). Rozeznam się i kogoś prawdopodobnie polecę. Wszystkim odpiszę. Na maile czekam niezbyt długo, bo prawdopodobnie do godziny 17 w poniedziałek.

Od siebie powiem, że robota jest bardzo przyjemna i można się dowiedzieć o ciekawych rzeczach tworząc newsy. Ja odpuszczam pracę z kilku powodów: oczy wysiadają, za niska płaca, a przede wszystkim - przestało to być takie ciekawe, gdy wszystkie teksty w piśmie i tak już widziałem wcześniej. Stąd prosta droga do Warszawy, co mi już proponowano kilkukrotnie, ale nie to chcę w życiu robić :)

Trochę pochodziłem po Internecie i w końcu trafiłem... na swoją własną witrynę :P

Ruszyło mnie sumienie i oto znowu są aktualizacje na eldoras.com. I będą. Dojdą tak filmy, jak funkcjonalności. Już prędko :)

A kto nie widział, ma czego żałować ;)

Kolejny dzień, kolejna wspaniała zapomniana piosenka: Mmm Mmm Mmm ;) Tytuł niezbyt oddaje cokolwiek i raczej utrudnia dotarcie do nutki, ale zdecydowanie jest to jedna z przyjemniejszych wolnych nut i z pewnością znana każdemu. Polecam :)

→ Czytaj dalej... (1 komentarz)

Na mój gust, prekursor techno ;)

I to taki, którego wciąż warto słuchać. Sample można odsłuchać na oficjalnej stronie Quicksilvera, klikając w Music (plama w prawym górnym rogu) -> Releases -> Free (1997). Stare, ale dobrze daje po garach ;)

W ramach dzisiejszej piosenki lubianej, lecz zapomnianej przedstawiam... Solid Base - The Right Way :)

I oto stała się rzecz niesamowita... coś tak słynnego nie posiada swoich lyricsów, ni to w Google, ni w Yachoo, a nawet MSN! Cóż zrobić? Poniżej lyrics własnego autorstwa :)

W jednym miejscu brakuje dwóch słów, w drugim jednego nie jestem pewien, ale chyba lepsze to, niż nic ;) Gwarantuję, że kto ściągnie - przypomni sobie dobre czasy i porządne imprezy!

→ Czytaj dalej... (6 komentarzy)

Jestem dosyć zmęczony, więc dziś polecę piosenkę spokojniejszą... coś, przy czym kiwało się powoli i przymilnie na ostatnim przełomie wieków (czyli w roku 2000 i okolicach) - I Can't Live. Wzbudza sentymencik :)

→ Czytaj dalej... (3 komentarze)

Po ok. tygodniu pisania i testowania kodu, mogę wreszcie udostępnić wersję 0.9 aplikacji będącej chatem AJAXowym.

AJAX Chat w akcji

Features, czyli co mną kierowało:

  • Internauta może za pomocą kliknięcia rozwinąć lub schować chat - nie przeszkadza mu w przeglądaniu witryny, będąc domyślnie schowanym.
  • Internatura może sprawnie poruszać się po witrynie mając rozwinięty chat: nie jest to pop-up, lecz stanowi integralną część strony, będąc wraz z nią przesuwalnym suwakami. Sprawne poruszanie oznacza także, że przy przejściu do innej podstrony, chat zostanie automatycznie otwarty.
  • Chat jest estetyczny: nie zawiera żadnych grafik, jednak świetnie komponuje się z witrynami społecznościowymi - głównie forami, czy stronami hobbystycznymi. Adresy są automatycznie zamieniane na odnośniki. Przewijanie okna jest podobne do znanego z Gmaila: chat sprawdza, czy użytkownik nie czyta wcześniejszych wiadomości, zanim przesunie się, pokazując nową treść. Dodatkowo dodany jest przyjemny dla oka efekt znikania i pojawiania się chata.
  • Z punktu widzenia developera, stanowi w miarę kompaktowy skrypt: całość zajmuje 31KB (po usunięciu niektórych zbędnych części pakietu Script.Aculo.Us). Oparty jest na Prototype i MySQL, a kod jest na tyle przejrzysty, że zbędne są komentarze. Naturalnie, jest odporny na XSS i tego typu atrakcje.
  • Skrypt nie generuje dużego obciążenia: aktualizuje treść jedynie przy rozwiniętym oknie, z czasem ustawionym domyślnie na 2 sekundy. Pobiera generowany przy wysyłaniu wiadomości plik stały z odpowiednimi nagłówkami, które gwarantują korzystanie z cache przeglądarki w przypadku braku zmiany treści.
  • Działa bez zarzutu pod przeglądarkami: Firefox 1.5.0.4, IE 6.0, Opera 8.52. Pod innymi nie sprawdzałem, jednak powinien chodzić pod wszystkim, co jest obsługiwane przez script.aculo.us i prototype. Oczywiście trzeba być przygotowanym na błędną interpretację CSS - nie przykładałem do tego wielkiej wagi, ponieważ większość osób i tak stworzy własny szablon

Wszystko spakowałem haxorskim winrarem. Do pobrania: wersja 0.9. Licencja... naturalnie darmowa do zastosowań niekomercyjnych. W przypadku komercyjnych - jakaś symboliczna opłata ;) Wymagam jedynie, by zostawić w okienku chata odnośnik do http://ajax.eldoras.com. Demo działającego skryptu można obejrzeć na garfiku.

Instalacja:

  • Rozpakowujemy archiwum, modyfikujemy w pliku newmsg.php dane do połączenia z bazą danych (login, hasło, nazwa bazy). Całość wgrywamy na serwer.
  • Używamy db.sql do stworzenia tabel w bazie danych MySQL.
  • Do każdej strony, na której chcemy mieć chat, dołączamy w nagłówku 5 plików, jak widać w pliku sample_index.php (1 CSS i 4 skrypty, przy czym fixed.js to hack dla IE umożliwiający uzyskanie pozycji typu fixed). W treści strony (może być zaraz po znaczniku body) dodajemy diva "openchat" oraz includujemy chat.php (przykład w sample_index.php).
  • Opcjonalnie możemy zmodyfikować arkusz styli chat.css do naszych potrzeb. Nie zalecam zmiany identyfikatorów CSS - są do nich przypisane funkcje w JavaScript.

Wszelkie uwagi mile widziane, zmiany można nadsyłać na e-mail. Ufam, że będzie to coś, co rozejdzie się po necie i zostanie udoskonalone - mój wkład w open source community :)

Community jednak także mi trochę pomogło. Główne podziękowania należą się Patrysowi za cenne uwagi i praktyczną pomoc oraz Riddle'owi za uświadomienie mnie odnośnie zagadnień XHT cross-subdomain :)

Jak wiemy, Jogger nie pozwala na wgrywanie swoich plików *.php, co jest w pełni zrozumiałe. Ciężko również oczekiwać, by admin robił wyjątki, choć większość ma swoje marzenia co do udoskonalenia jogga. Ja na ten problem trafiłem, próbując uruchomić chat AJAXowy - nie szło, bowiem (dzięki w kierunku Riddle'a) XmlHttpRequest nie pozwala na robienie zapytań nie tyle cross-domain, co nawet cross-subdomain.

Myślałem więc, jak problem obejść. Jogga mam podpiętego pod własną subdomenę - jak widać. Nie ma więc siły, bym jakoś zamieścił pod adresem blog.eldoras.com/whatever swój plik *.php mając subdomenę skierowaną na IP Joggera.

Widzę dwie możliwości, które by raczej nie zagroziły samemu Joggerowi:

1. Stworzenie skryptu generującego przekierowania do określonych stron przy pomocy header("Location: http://anything.eldoras.com");

2. Stworzenie skryptu generującego przekierowanie przy użyciu silnika Apache'a (nie wiem jak to zrobić, ale mniemam, że deczko trudniej).

Napisałem w tej sprawie maila do Sparrowa, jednak bez odpowiedzi. Do Joggerowców zwracam się z pytaniem: czy jest problem, którego nie dostrzegam w tym rozwiązaniu?

EDIT: Na privie wyszło, że chyba nie wyraziłem się do końca jasno. Joggerowcy mieliby możliwość modyfikowania jedynie URLa na który ma zostać przeprowadzone przekierowanie. Tym sposobem, XHT by przeprowadzał zapytania do tej samej subdomeny, chociaż sam kod PHP byłby już parsowany przez inną subdomenę, poza Joggerem.

Natomiast dziś pragnę polecić i przypomnieć o niezwykle pozytywnej nutce - I Got A Girl ;)

→ Czytaj dalej... (Dodaj komentarz)

Wczorajszą ;) piosenką znaną i zapomnianą zostaje piękne i wspaniałe Baila Mi Ritmo! :)

→ Czytaj dalej... (Dodaj komentarz)

Humorek mam pozytywny i mam nadzieję, że długo nic go nie zmieni :) W ramach znanej, ale zapomnianej piosenki dziennie pragnę przedstawić coś, przy czym dyskotekowało się w roku 1999 - Disco Disco :) Wtedy to się bawiło! :)

Na oficjalnej stronie Mabela można od razu usłyszeć ten legendarny kawałek... swoją drogą, dosyć fajną ma muzykę - można posłuchać na jego www :)

→ Czytaj dalej... (1 komentarz)

Prosto z uczelni, polecam świetny mix Macareny :) Absolutna rewelacja, jeśli się trafi na odpowiednio rozrywkowe osoby (pozdrowienia dla Magdy ;) ).

→ Czytaj dalej... (2 komentarze)

Już nowy dzień, ale spóźnioną piosenkę polecę :) Aż się dziwię, że jeszcze o niej nie wspomniałem... legendarne Beds Are Burning - kawał porządnej muzyki!

→ Czytaj dalej... (Dodaj komentarz)

Kwestia zaległości świątecznych załatwiona, więc przechodzę do aktualnych rzeczy ;)

Chciałbym dziś polecić piosenkę występującą jakiś czas temu w reklamie bodajże Lecha - Unbelievable. Nutka jest całkiem radosna :)

→ Czytaj dalej... (Dodaj komentarz)

Stwierdziłem, że czas wziąć się za swoje porzucone projekty. Rozpocznę więc od powrotu do opisywania każdego dnia jednej zapomnianej, ale świetnej piosenki.

Ponieważ przerwałem inicjatywę z racji wyjazdu do Irlandii na święta, czuję się zobowiązany do wspomnienia o genialnej piosence, fantastycznie oddającej klimat tamtych stron i zeszłorocznych świąt.

→ Czytaj dalej... (Dodaj komentarz)

Pora już wczesna... więc przejdę od razu do rzeczy.

Doszedłem do wniosku, że shoutboxy to dziadostwo - używają iframe, rzadko się same odświeżają. Do tego mają podobną wadę jak chaty na www - jesteśmy zmuszeni cały czas mieć otwartą tą samą stronę. Chwila myślenia, 4 dni kodowania i oto jest: AJAXowy chat, który szybciutko można dołączyć na dowolną stronę serwisu, pozbawiony powyższych wad.

EDIT: Projekt można pobrać z http://ajax.eldoras.com.

Projekt ma w zamierzeniu być open-source, jednak dopiero, gdy przejdzie pierwsze testy. Narazie wersję roboczą można zobaczyć na garfiku. Wygląda jak wygląda - nie miałem już dziś siły bawić się w layout pod różne przeglądarki. Skrypt idealnie pasował do tego bloga, ale dzięki temu, że jogger nie ma możliwości uploadu *.php, zaś XHR blokuje cross-subdomain queries, to pies pogrzebany. Przyznam, że przydałoby się jakieś lepsze środowisko testowe. Marzy mi się forum - jeśli ktoś chce zaryzykować, proszę o kontakt na JID zar@uaznia.net.

Sam projekt obsługuje (a przynajmniej powinien) cacheowanie, nie pobiera treści, gdy chat jest schowany, transformuje http na linki, chyba nie jest podatny na XSS i w sumie tyle :)

Mile widziane próby znalezienia słabych stron, pomysły itp... jak widać, stadium można określić jako wczesną alfę ;) Z rzeczy, które mi teraz przychodzą do głowy... podrasować działanie paska przewijania, poprawić widok w różnych browserach, pamiętanie nicka i coś tam jeszcze...