Katastrofy tam
Największe tamy na świecie i ich katastrofy
Tsunami
Największe tsunami w historii ludzkości
 
Rozmowa kwalifikacyjna w Google
Rozmowa kwalifikacyjna w Google

Po otrzymaniu odpowiedzi odmownej odnośnie rekrutacji do Google (przeczytaj najpierw), sprawa ucichła - niemal o niej zapomniałem.

Jedno tylko czasem mi przychodziło do głowy: niedorzeczna świadomość, że wysłałem dwie aplikacje - o staż i o pracę, a odpowiedź otrzymałem jedną.

Po dwóch miesiącach w końcu przyszła odpowiedź na drugi mail.

Moja aplikacja została wzięta pod uwagę przy tworzeniu krakowskiego oddziału Google.

Google logo

→ Czytaj dalej artykuł Druga szansa: spełnienie marzeń o pracy w Google

Dziś nie będzie o Google (ale będzie jutro). Dziś będzie o tym, co właśnie mimochodem usłyszałem w TV i o ogólnej idei niepodległości.

→ Czytaj dalej artykuł Krótka refleksja o niepodległości Kosowa

W dwa miesiące przed rozmową kwalifikacyjną w IBM przechodziłem ulicą Krupniczą w Krakowie i zauważyłem w bramie znajome pastelowe kolorki... Moim oczom ukazała się siedziba Google!

To, co działo się później, wydawało się być snem informatyka...

Logo Google

→ Czytaj dalej artykuł Spełnienie marzeń: zielona karta do Google

Rzecz działa się w lipcu zeszłego roku. Na moim wydziale (Fizyki, Astronomii i Informatyki Stosowanej UJ) pojawiły się plakaty z krzykliwymi hasłami typu "czy lubisz publicystykę?" lub "studiujesz filologię lub informatykę?". Jeśli odpowiedź na te pytania brzmiała "tak", czytelnik miał się stawić na spotkanie z ekipą IBM Polska na stanowisko Technical Writer w Krakowie. Co też zrobiłem.

→ Czytaj dalej artykuł Pierwsza rozmowa kwalifikacyjna: IBM Polska

Każdy informatyk po porannej (czyt. 11:00) pobudce najpierw otwiera pocztę (czyt. Gmaila). Tak też ja zrobiłem dzisiaj. Wpisuję hasło... Okazuje się złe! Kilka prób... Wciąż nic. Mimo, że hasło niedawno zmieniałem, byłem go pewien - na pocztę loguję się kilkanaście razy dziennie.

Błędne hasło!

→ Czytaj dalej artykuł Jak Windows doprowadził mnie do paniki

Zaczęło się na początku grudnia... Na ulicę wyszli Lottoludzie z piłkami zamiast głów. Najpierw zobaczyłem ich pod Galerią Krakowską, następnie spostrzegł ich mój tata przez kamerę internetową Rynku... A to był dopiero początek...

Lottoludzie!

Przed świętami z nieba zaczęły spadać szczęśliwe liczby. Tylko cudem uniknąłem śmierci, gdy wielki numer 23 zmiażdżył dach samochodu obok...

Lotto spada z niebios!

To pewnie nie koniec...

Co jakiś czas czytuję książki o Kosmosie, Wymiarach, czy Hiperprzestrzeni, by nie zapomnieć, by odświeżyć poglądy itd... Tak też w ostatnich dniach powróciłem do "Hiperprzestrzeni" Michio Kaku.

Pisze on, że istoty trójwymiarowe nie mogą zobaczyć wyższych wymiarów, ponieważ te są nieskończenie małe, a w dodatku nie potrafimy ich sobie wyobrazić, zaś nasze zmysły już dawno przestały je postrzegać (jeśli kiedykolwiek to robiły). W książce przedstawiona jest wyraźnie teoria, iż mogą istnieć istoty żyjące w wyższych wymiarach, których nie widzimy i nie czujemy. One jednak mogłyby nas wyciągnąć do np. czwartego wymiaru przestrzennego, "obrócić" nas w nim i spowrotem umieścić w naszym świecie.

Jakkolwiek takie podejście wydaje się logiczne, zaś my, jako istoty trójwymiarowe nie widzielibyśmy nicponia w jego pełnym sensie wymiarowym, tak zadałem sobie pytanie: dlaczego nie ma istot dwuwymiarowych?

Istoty takie żyłyby na "kartce papieru", nieskończenie cienkiej, zaś my moglibyśmy je tak samo "wyciągnąć" do trzeciegu wymiaru, "odwrócić" i "włożyć" spowrotem. Tu się chwilę zastanowiłem. Czy aby na pewno?

Skoro istoty te żyłyby w dwóch wymiarach, ich "wielkość" w trzecim wymiarze byłaby nieskończenie mała. Skutkiem tego, nie potrafilibyśmy ich zobaczyć, tak samo, jak nie umiemy zobaczyć nieskończenie małych wymiarów wyższych. W moim mniemaniu, idealnego punktu, linii, czy płaszczyzny dwuwymiarowej nie sposób zobaczyć z trzeciego wymiaru, bowiem są nieskończenie cienkie w innych wymiarach, lub nie są w nich w ogóle określone.

Możliwe więc, że istnieją istoty dwu-, a nawet jednowymiarowe, których nie widzimy, a one nas. Istoty trójwymiarowe możemy zobaczyć, bowiem sami jesteśmy w pełni "określeni" w tych trzech wymiarach. Jeśli rozszerzyć to twierdzenie na czas, możemy dojść do wniosku, że w istocie w tym samym miejscu i różnym czasie mogą istnieć inne Wszechświaty i istoty, z którymi żyjemy w harmonii, nawet o tym nie wiedząc.

Na myśl przychodzi od razu wizja duchów, jednak jako osoba mająca pewien dystans (póki co) do wiary, nie podciągałbym tej teorii pod powyższy wywód. Chcę jedynie zwrócić uwagę, że tak, jak my podejrzewamy, iż mogą istnieć istoty w wyższych wymiarach, tak też mogą istnieć w niższych. I wcale nie musimy widzieć tych drugich, podobnie jak tych pierwszych. Zaś one nas.

Dodatkowo, jeśli przyjąć propozycje Riemanna, jakoby siły elektrostatyczności, grawitacji i magnetyzmu były efektami zagięcia przestrzeni w wyższych wymiarach, można uznać, iż my możemy wywoływać pewne oddziaływania na istoty żyjące w niższych wymiarach, nawet sobie z tego nie zdając sprawy. Podobnie, jak istoty np. czterowymiarowe na nas. W takim porządku świata sens miałaby nawet definicja Boga, wysunięta w książce, jakoby była to istota określona w nieskończonej liczbie wymiarów. Tak więc mająca władzę nad wszystkimi niższymi.

Przyznam, iż ta koncepcja poruszyła mnie. Wczoraj, leżąc w środku nocy, opracowałem prototyp. Dzisiaj, na podstawie dwóch zdań zapisanych naprędce w komórce, rozwinąłem ją w trakcie pisania wpisu. Wraz z dalszą lekturą książki mogą pojawić się w mojej głowie nowe koncepcje... Jednak już tą uważam za coś nowego - podczas poprzednich lektur tej pozycji, nigdy nie wpadłem na taki oczywisty wniosek. Zobaczymy, co przyszłość przyniesie...

Po poprzednich wpisach na temat wykładu o studiach w moim lo oraz Dniach Otwartych UJ przyszła pora na Festiwal Nauki w Krakowie. Nie trudno zauważyć, że już na pierwszym roku staram się nie zasypiać gruszek w popiele i chwytam, za co się da ;)

W tym właśnie problem, przy okazji tej imprezy. Dojrzałem wywieszoną kartkę, iż poszukiwani są chętni do pomocy w reprezentacji naszego wydziału na Festiwalu Nauki. Długo nie myśląc, zaplanowałem wbicie na spotkanie organizacyjne 15 maja, we wtorek (co ciekawe - już w trakcie trwania festiwalu...).

Natura jednak miała inne plany, i jak wyszedłem kupić klemę do sklepu, tak lunęło deszczem rzęsistym i potężnym, a następnie spadł grad, którego wielkość w przybliżeniu była równa opuszkom palców poczynając od paznkocia - czyli całkiem spory. Możliwe, że największy, jaki widziałem. Temperatura była wybitnie dodatna, więc wracając do domu po rzekach, w które zamieniły się ulice i chodniki, obserwowałem fantastyczny efekt parowania gradu znad traw - fantastyczna mgiełka... Rewelacyjna sprawa.

Nie miałem jednak już ochoty jechać w taką pogodę na spotkanie, więc stwierdziłem, że podobnie jak w przypadku Dni Otwatych, załatwię sprawę mailowo. Pan odpowiedzialny za nasz wydział skierował mnie do pana odpowiedzialnego za mój kierunek. Ten jednak nie raczył odpisać na maila. Pofatygowałem się więc do niego, ale usłyszałem tylko, że wszystkie stołki są już obsadzone i będziemy organizować prezentację jakże ciekawych wyrenderowanych przez naszych studentów grafik. Szczęka mi opadła, pogodziłem się z porażką i odpuściłem... Potem nawet się nie pofatygowałem na Rynek w ramach odwiedzin, jak co roku - brak czasu, chęci... Nie tak to miało być. Trudno, za rok osobiście dopilnuję, żeby było wypaśnie.

Trochę jednak wyciągnąłem z całego zajścia. Otóż uświadomiłem sobie, że prezentacje z ciekłym azotem, wahadłem Maxwella, walizką i innymi bajerami, które zawsze najbardziej mnie (i innych zresztą też) przyciągały były (i są) prowadzone... przez mój kochany wydział :) Dziwną sprawą wydaje mi się fakt, że Instytut Matematyki i Informatyki ma kasę na organizację konkursów na festiwalu z nagrodami (pendrive'y), natomiast nasza Informatyka klepię biedę. Trzeba będzie to naprawić. Poza tym, poczytałem informator festiwalowy... I kto wymyślił Festiwal? Oczywiście, aktualny Rektor UJ, Karol Musioł, w 2000 roku.

W ostatnich dniach poszukiwałem pokoju dziekana... patrzę, a tu na drzwiach "Prof. dr hab. Karol Musioł" - kolejny szok. Rektor naucza na moim wydziale! Ba, prawdopodobnie będę miał z nim osobiście przyjemność mieć zajęcia na III roku, wg Adrianny (pozdrówka :P). Fajnie, będzie niedaleko do pójścia w sprawach inicjatyw... a tych mam sporo w planach ;)

Chociaż sam Festiwal nie wypalił dla mnie tak, jak chciałem, trzeba powiedzieć, że uczestniczenie w takich eventach jest bardzo przydatnym i świetnym doświadczeniem. Serdecznie zachęcam :)

Jak pisałem w poprzednim wpisie, w trakcie przygotowywania wykładu na temat studiów dla maturzystów, pojawiła się okazja uczestniczenia w Dniach Otwatych UJ.

Okazja ta ujawniła się w formie karteczki na tablicy ogłoszeń mojego roku. Nie byłem wprawdzie na spotkaniu organizacyjnym, jednak kochana Adrianna, która była odpowiedzialna za nasz wydział, odpisywała na maile i smsy, skutkiem czego pojawiłem się w piątek 30 marca o 9:00 w Audytorium Maximum (ten bunkier na Krupniczej ;)). Poszedłem na czuja i trafiłem do, z pozoru, niewielkiej sali, gdzie panował jeden wielki burdel.

Dni Otwarte UJ

Obszedłem go dookoła i znalazłem stanowisko Wydziału Fizyki, Astronomii i Informatyki Stosowanej tuż przy drzwiach, którymi wchodziłem. Chwilę się pokręciłem, aż trafiłem na Adriannę - bardzo miła osoba ;) Obdarowała mnie koszulką Samorządu Studenckiego (do którego jeszcze nie należę ;)) i wspólnymi siłami z kilkoma osobami doprowadziliśmy, mniej więcej, do ładu i składu nasze rozległe stanowisko. Zamieszania było sporo, ale na 10:00 (otwarcie dla licealistów) niemal wszystko było już gotowe przy wszystkich stanowiskach. (Na poniższym zdjęciu jestem na pierwszym planie ;))

Dni Otwarte UJ

Darmowe kalendarze, długopisy i smycze zniknęły już przy pierwszej fali odwiedzających, więc kto nie wziął sobie na pamiątkę egzemplarza - miał czego żałować ;) Ja przywłaszczyłem sobie kalendarz skomponowany pod studentów UJ, bowiem właśnie polowałem na jakiś terminarz, a kasy żal było. Oraz smycz dla siebie ;)

Dni Otwarte UJ

Ludzi przewijało się sporo, łącznie gdzieś z 30 na godzinę do samej Informatyki Stosowanej. Początkowo myślałem, że będę kiepską pomocą, bowiem pojawiły się Kasia i Gosia z III roku Infy - wiedza na pewno obszerniejsza... Kilka pierwszych pytań... i okazuje się, że tylko ja znam zeszłoroczne progi (swoją drogą - na Informatykę było to ok. 40% z matury rozszerzonej z matmy lub infy - szok dla pytających i pytanych ;)) i aktualne warunki na pierwszym roku. Ogólnie, było niezmiernie miło, a ja przekonałem się, że UJ składa się nie tylko ze zjebów - ekipa była bardzo wartościowych ludzi, wyniosłem z tego kilka znajomości i jestem niezmiernie szczęśliwy, że się na to zapisałem. Potem przyszedł po mnie kolega z Politechniki, a ja nawet jego odesłałem, by jeszcze posiedzieć w tej wspaniałej atmosferze ;) Obdarowano nas prowiantem w postaci drożdżówek i wody, aż w końcu dałem się Kamilowi wyciągnąć - i tak zmieniał się skład na popołudniowy. Przy okazji zwiedziliśmy główną Aulę Audytorium Maximum - robi kolosalne wrażenie. Druga połowa była przedzielona ogromną ścianą (chowaną, jak mniemam), ale i tak była to największa sala w stylu kinowym, jaką widziałem. Nagłośnienie świetne, siedzenia wygodne... Aż przyjemnie się siedziało ;)

Dni Otwarte UJ

Te kilka godzin zmieniło moje podejście do ludzi na UJ - stwierdziłem, że ci wartościowi chowają się po kołach typu Studenckie Koło Informatyki Stosowanej i w Samorządzie Studenckim. Do tego pierwszego mnie gorąco zapraszano, więc w kilka dni później zapisałem się (5zł semestralnie), licząc, że pomoże mi to także w organizowaniu własnych wykładów. Trochę się przejechałem już przy samym zapisie - okazało się, że nasz mały pokoik jest pełen bliżej nieokreślonych ludzi, którzy są tam w bliżej nieokreślonym celu i robią zamieszanie. Nikt nie wie, kto jest skarbnikiem, ani szefem tego stowarzyszenia... Wrażenie więc fatalne... W końcu znalazł się skarbnik... Dałem mu deklarację wraz z kasą, ale drugi raz już tam nie wstąpiłem i mnie nie ciągnie. Lista członków wykracza już ponad setkę, pokój mamy 4x2 metry... Wolę zrobić swoje własne stowarzyszenie i pod jego patronatem robić wykłady ;)

Podsumowując, Dni Otwarte to najlepsza impreza, w jakiej brałem czynny udział. Za rok na pewno też tam będę ;)

Niemal rok temu cieszyłem się z przyjęcia na UJ - wbrew wszystkiemu, co mi przepowiadano, a nawet - w co sam zacząłem wierzyć. Niech mnie gęś kopnie, jeśli spodziewałem się, jaka to będzie rewolucja. Uczelnia, do której chce się chodzić z racji na zajęcia, a nie uczęszczających - zupełnie odwrotnie, niż za czasów LO. Swój zachwyt opisywałem już kiedyś (teraz bym do tego dodał kilka razy tyle, zaś UJ nie zamienił nawet na wymarzony Princeton).

Swój zachwyt głosiłem wszem i wobec, aż w końcu wymyśliłem - zorganizować spotkanie "licealiści konta studenci" w moim LO. Sposób na propagandę, a na dodatek poznanie mnóstwa nowych ludzi ;) Poszedłem więc do LO - odzew władz był bardzo pozytywny. Gorzej ze studentami - ci cały czas się uczyli i robili ogólnie wszystko, co zbędne. Przekładanie z tygodnia na tydzień... W tym czasie pojawiła się okazja uczestniczenia w Dniach Otwartych UJ, z której skorzystałem - coby sprawdzić, jak się nadaję na gadanie o tej uczelni ;) W końcu trafiło mnie, ustaliłem deadline na 25 kwietnia i zorganizowałem wykładzik ;) Publika była średnio liczna (ok. 50 osób), bowiem trzecie klasy już były po klasyfikacji. Studentów, prócz mnie, przyszło sztuk jeden. Niemniej, sam wykład był, myślę, bardzo przyjemny dla obu stron, w miarę śmieszny i konkretny. Skecz, pisany na godzinę przed akcją, był następujący:

  1. Co miało być, a co jest. Kontakt w razie czego. Czego się dowiecie…
  2. Matura – co, gdy się nie zdaje lub obleje (studium zazwyczaj płatne)
  3. WKU 3 razy: maturalne, złożenie papierów, przyjęcie
  4. Składanie papierów: ilość podań, notariusz w AP
  5. Rekrutacja: załóżcie terminarze, listy rezerwowe
  6. Przyjęcie: legitymacje, ubezpieczenie ~30zł
  7. Terminy: wydział, kierunek, specjalność (specjalizacja), kolokwium (przekładanie bez problemów), kolokwium zaliczeniowe, sesja, wykłady, ćwiczenia/laboratoria/pracownia, sesja poprawkowa, dziekan, prodziekan, rektor, prorektor, dziekanat (sekretariat), ilość zajęć i przedmiotów w tygodniu, starosta, warunek (w zależności od wydziału), punkty ECTS, index, zakładanie konta w bibliotekach (8zł bez legitki elektronicznej), system ocen
  8. Studiowanie: e-mailowanie, fora roków, materiały w necie, zeszyty (ich brak), nieobecności (bez czepialstwa, 2nieuspr), książeczka zdrowia teorią, WF (tylko na stacj. dziennych; sekcje), zaliczanie eksternistyczne przedmiotów, odpytywanie przy tablicy na ocenę NIE na UJ
  9. Studia: stacjonarne, niestacjonarne, licencjackie, magisterskie, inżynierskie (nie ma na UJ), w syst. Sob-nd.
  10. Różnice między tymi samymi kierunkami na wydziałach
  11. Specjalności lub bloki programowe na 3. roku
  12. O samych uczelniach: AE, AGH (kilka ciekawych wydziałów), AP, AR, AWF, ASP, PK, Państwowa Wyższa Szkoła Teatralna, KSW, WSZiB, UJ (luzy na zajęciach, opóźnienia dozwolone, regulamin zmieniony że nie można wylecieć na 1. sesji, warun na 1 .roku).
  13. The End. Any questions – priv or mail/gg.

Podsumowując, myślę, że dla osób dostających się teraz na studia jest to świetna okazja do poznania, pokazania się, poćwiczenia... W moim przypadku motywacją była chęć poznania nowych ludzi, zdobycia jakiegoś nowego doświadczenia, czy wreszcie - odpłacenia swojemu liceum za, bądź co bądź, wpojenie poziomu wiedzy, przy którym kozaki z czołowych krakowskich liceów wymiękają. Poza tym, chciałem (i wciąż chcę) prowadzić serię wykładów na UJ - musiałem sprawdzić, czy nie mam tremy ;) Poza tym, że miejscami się lekko mieszałem i odbiegałem od tematu, nie było źle. Zdecydowanie polecam takie akcje.

Zaraz po zakończeniu wykładu wparował kolejny student (brawo za wyczucie czasu), z którym ruszyłem jego bryką na Kraków... i nie byłoby w tym nic ciekawego, gdyby nie to, że uświadomiłem sobie, iż jeśli ktoś inny siedzi za kółkiem, frajda może być przednia dla pasażera. Pozdrawiam wszystkich, na których darłem mordę na przystankach w stylu "iiiiihaaaaa", włączając w to robotników :P Na następny dzień ból gardła, ale co tam... 25 kwietnia 2007 - worth memoring ;)

Jak tylko wyczytałem informację o znalezieniu błędu na home.pl, do głowy przyszło mi słowo: szantaż. Z radością więc dzisiaj przeczytałem, że home.pl nie dało za wygraną, wykryło lukę i pozwało serwis hack.pl. Może warto wspomnieć, kto jeszcze kilka tygodni temu padł ofiarą akcji antygorianowej? Ano właśnie... "profesjonaliści" z wyżej wymienionej redakcji.

Pierwsza rzecz, która mnie zbulwersowała, to sposób przedstawienia problemu przez hack.pl.

Wstępnie myśleliśmy tylko o napisaniu o błędzie na łamach HACK.pl, a także o udostępnieniu zacieniowanych dowodów, które jednak nie pozwoliłyby na wykorzystanie błędu.

Chcemy postąpić maksymalnie przyjaźnie wobec home.pl, z naszego punktu widzenia, dobrze byłoby gdyby na łamach HACK.pl pojawił się news dotyczący luki w home.pl, ale też rozumiemy Państwa sytuację.

Koszt informacji szacujemy wstępnie na 200,000 złotych, cena - oczywiście - podlega negocjacji. Być może bylibyśmy zainteresowani współpracą z Wami na zasadach partnerskich, czy też reklamą w home.pl.

To nie brzmi jak kulturalne zwrócenie uwagi na błąd. Brzmi jak marnie zatuszowane wyłudzenie. Przynajmniej dla mnie.

Zobaczmy, co faktycznie osiągnęli redaktorzy z hack.pl. W oświadczeniu zdecydowali się podać szczegóły luki (skoro pieniążki przepadły, przynajmniej popularność będzie). Dostali się oni do logów. Jako przykład podają:

XXXX.neoplus.adsl.tpnet.pl - - [02/Apr/2007:16:38:20 +0200]

"GET /sql/sql.php?db=*nazwa_konta*2&table=*nazwa_tabeli*&token=f330213d49aabe[...]&sql_query=SELECT+%2AFROM+%60*nazwa_tabeli*%60++ORDER+BY+%60*pole_w_tabeli*%60+ASC&zero_rows=Rekord+zosta%B3+skasowany&goto=tbl_properties_structure.php&message=Skasowane+rekordy%3A%26nbsp%3B1+%28Wykonanie+zapytania+trwa%B3o+0.0003+sekund%28y%29%29

HTTP/1.1" 200 7111 "[...]" "Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3"

Okay. Możemy z tego faktycznie wyczytać nazwy tabel i bazy danych. Ciekawe jednak, na co się one mogą przydać? Ano na to, że jak już sobie wyczarujemy dostęp do bazy danych, to nie musimy robić np. "SHOW TABLES", tylko możemy je sobie wyciągnąc z query-stringów, żeby dalej psuć serwis. Łebskie. Oczywiście, nikt przy zdrowych zmysłach nie przesyła loginu i hasła GETem, więc taki zarzut (rozważnie lub zapominalsko nie podany) odpada. Z takiego logu faktycznie możemy też odczytać nazwy plików i katalogów. Tyle, że jakieś 90% skryptów ma powszechnie znane adresy do panelów administracyjnych ("/admin" ?). Bo nie wierzę, że nazwa katalogu to jedyne zabezpieczenie jakiegokolwiek panelu sterowania w PHP. A jednak, z pomocą przychodzi strona MENu:

Dalej wyszukałem wszelkie wywołania plików w tym katalogu, i doszedłem do strony w której użytkownik dostawał potwierdzenie o poprawnym zalogowaniu. Po otworzeniu tej strony okazało się, że mam pełen dostęp do panelu administracyjnego.

Wow, udało wam się wejść do niezabezpieczonego panelu?! No shit!! Haxorz. Okay, ale jak w ogole doszło do tego wielkiego włamania?

Aby poznać trzy losowe cyfry wystarczyło napisać skrypt sprawdzający czy istnieje katalog od nazwa_uzytkownika.home.pl/stats100 aż do nazwa_uzytkownika.home.pl/stats999 na danym koncie. Skrypt taki wykonuje się 2 sekundy!

Whoa. To się nazywa znalezienie luki! Ja bym tak nie umiał. I jeszcze wykonanie 500 zapytań HTTP i uzyskanie wszystkich odpowiedzi w ciągu sekundy... cuda, no ale co to dla hackerów. Respekt.

W czasie pisania tego wpisu natknąłem się na podobną opinię na też niezbyt przeze mnie lubianym ihack.pl (witamy w gronie razem z hacking.pl).... Home.pl też do najwyższej półki hosting providerów nie należy, więc mi się to widzi jako kolejna mini wojna :) Do poczytania w święta w sam raz.

P.S. Panowie z hack.pl zapomnięli wspomnieć o pieniążkach w swoim oświadczeniu :(

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.

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...

Hacking.pl to kolejna ofiara poruszenia, jakie wywołało w Internecie wystąpienie na antenie TVN goriona. Poprzednio, hackerzy wyrażali swój brak poparcia, podmieniając witryny serwisów hack.pl, ihack.pl oraz 7thguard.net. Zrzuty z ataku widnieją: tu, tu i tu. Hacker, podpisujący się nickiem kotecek, wkleił życiorys osoby będącej sprawcą poruszenia, dając do zrozumienia, co myśli o lansingu, podobnie jak autorzy poprzednich ataków.

Niezaznajomieni z sytuacją powinni wiedzieć, że gorianowi zarzucane jest kilka czynów, jednak zapewne najbardziej poruszyło hackerów podsumowywanie ich jako "włamywaczy", co zostanie na pewno jednoznacznie odebrane przez większość widzów. Poza tym, zainteresowanemu zdarzały się wpadki, które skrzętnie (acz słusznie) wytykane są przez wielu internautów. Część z nich posunęła się do niezbyt etycznego, publicznego prania burdów, które jednak pokazuje trochę inne oblicze goriana - kompromitujące. Sytuacji nie polepszyła próba umieszczenia wpisu o samym sobie na Wikipedii, czy grożenie ircopom oraz współjoggerowcom.

Opinię na ten temat każdy powinien wyrobić sobie sam. Na pewno dobrze się stało, że problem zabezpieczeń rządowych został wyciągnięty na światło dzienne, jednak wg mnie, nie w najlepszym stylu. Nie zostały bowiem powiedziane żadne konkrety na temat poprawy sytuacji. Sam gorian spotkał się z efektami bycia popularnym - błędy z przeszłości trudno wymazać (jak komentarze na własnym blogu), ale błędy popełniane w teraźniejszości - jeszcze trudniej.

Cały ten wpis jest poświęcony czemuś, na co czekałem długo. Widać bowiem wreszcie siłę Internetu. Tak, jak potrafiliśmy wypromować Kononowicza (oglądając wyniki miałem w głowie "TO MY"), tak potrafimy przedstawić obiektywnie sytuację innej osoby. Jestem pewien, że to medium będzie kiedyś kluczowym - już teraz, wg mnie, lepiej podpaść prasie, niż Internautom. Zresztą, sami oceńcie.

Właśnie wróciłem z ogniska.

Tak, z ogniska :) Z ciekawszych rzeczy... mówiłem o tym, czym jest ciałka oraz o tym, jak Aragorn przykładał ucho do głowy ;)

Jeśli pogoda się nie zmieni, kolejne ognisko po powrocie z Irlandii - 30 grudnia :)

Rozumiem, że strajk to pewien dosyć skuteczny sposób zwrócenia na siebie uwagi innych. Ciężko mi jednak zaakceptować to, co ostatnimi czasy dzieje się w Polsce. Mówię, rzecz jasna, o strajku listonoszy.

Są pewne klasy pracujące, dla których strajk jest nawet nie tyle odpowiednim, co byćmoże jedynym sposobem osiągnięcia jakiegoś skutku. Są to np. górnicy, stoczniowcy itp.. Z kolei inne zawody, wg mnie, zupełnie nie nadają się do tego typu "wołań o pomoc". Sprawa jest bowiem prosta: górnicy czy stoczniowcy mają szansę na zmianę decyzji związku, czy zarządu. Zazwyczaj chodzi o konkretne oddziały, coś da się zrobić.

Czy jednak listonoszowie na prawdę liczą na podwyżkę płac w całym kraju? I to (z tego, co słyszałem), o conajmniej kilkadziesiąt złotych? W skali kraju, dla kilku, zapewne, tysięcy osób, kwota nie jest mała. Szansa na odniesienie sukcesu jest więc marginalna - w jedności nie zawsze siła.

Teraz przeanalizujmy skutki takiego nieodpowiedzialnego postępowania, jakim wykazali się pracownicy Poczty Polskiej, odczułem je bowiem (i wciąż odczuwam) na własnej skórze. Oczekiwałem na pilne nadesłanie umów z Warszawy (do Wieliczki)... szły 2 tygodnie... w jedną stronę... priorytetem! Kolejnych wciaż nie otrzymałem, już ponad 2 tygodnie minęły... A wierzyciele czekają. Teraz przemyślmy, co mają zrobić np. ludzie starsi, nie mogący iść na pocztę z powodów zdrowotnych, potrzebujący wypłat na leki. A co z wezwaniami do zapłaty? W ciągu trzech dni, a list dochodzi po tygodniu? Tak, otrzymałem taki. Nie jeden!

Sprawa sprowadza się do tego, że pewne klasy nie powinny mieć prawa do strajkowania, mając inne przywileje wzamian (jakie? od czegoś mamy rząd...). Dla mnie to tak, jakby pilot samolotu w trakcie lotu stwierdził "ja teraz strajkuję" i na godzinę zostawił stery. Ekstra, po prostu genialnie...

To już jest przegięcie... mało tego, że każdy słup i drzewo w Wieliczce jest obklejone wizerunkiem pana Dudy (brawo... przez całą kadencję praktycznie nic nie zrobił, a na tydzień przed wyborami rozkopał moją, będącą w idealnym stanie, ulicę - by się nazywało, że zmodernizował drogi) lub pana Kozioła (ten z kolei z ramienia PiS, czyli też nie dobrze), to dziś mało mi nerwy nie puściły, jak otrzymałem na gg wiadomość:

[17:21:20] 1282893@gg.jabberpl.org: zapraszam do wzięcia udziału w głosowaniu, dnia 26 listopada 2006 roku http://www.arturkoziol.com/

prześlij wiadomość swoim znajomym, dziękuję :)

Oczywiście, jest marginalna szansa, że to konkurencja wysłała spam przez bota, celem osłabienia szans obywatela Kozioła. Niemniej, jak nie miałem zamiaru iść na drugą turę wyborów (podobnie, jak w przypadku pierwszej), tak już wiem, na kogo NIE oddam swojego głosu. Brawa za kampanię.

Moim ulubionym serialem jest Friends... Dialogi z niego znam na pamięć i choć większość żartów rozumiem, co jakiś czas napotykam w życiu na coś, co wyjaśnia pewne kwestie. Podobnie, nie do końca wiedziałem o co biega w tym dialogu (rzecz jasna, z pamięci):

(Ross): What phenomenon scares the beJesus out of Chandler?

(Monica): Michael Flatley, Lord of the Dance!

(Ross): That is correct!

(Joey): The Irish jig guy?!

(Chandler): His legs move like independently from his body!

Chociaż ostatnia kwestia nijako wyjaśniała istotę sprawy na tyle, by zrozumieć dowcip, tak moja wiedza o Michaelu Flatleyem była zerowa. Dopiero w ostatnich dniach, na forum studiów natrafiłem na topic, w którym znalazłem coś, co mnie urzekło.

Mówię tu o stepowaniu, przy sielskiej irlandzkiej muzyczce :) Nie przedłużając, serwuję pierwszy (i wg mnie najlepszy) film:

Po oglądnięciu całości niewątpliwie chce się jeszcze więcej :) Stąd: inny filmik z LotD, finał riverdance, riverdance thunderstorm oraz trochę stary, acz wciąż ciekawy riverdance w dość oryginalnym stylu. Dla wytrwałych, całość występu Michaela Flatley'a z Lord of the Dance.

Chciałbym tak umieć :) Ale jeśli nawet się tego nie nauczę w życiu, to na pewno będę dążył do pojawienia się na takim występie. Kolejny wspaniały aspekt życia odkryty! :)

W poprzedni weekend miałem plan na sobotę: zrobić niespodziankę urodzinową mojemu koledze Bartkowi wraz z jego dziewczyną i znajomymi. Nieszczęśliwym trafem, akcja nie wypaliła: kolega nie miał czasu, a jego dziewczyna, która podjęła się organizacji, również coś nie przypasowało jak należy. Całą akcję przełożyliśmy wstępnie na niedzielę, mimo, że na poniedziałek miałem zapowiedziane kolokwium z logiki i teorii mnogosci o 8:30. Spałem do 14:00, zaś o godzinie 16:30 pojechałem samochodem do Podłęża. Pogoda fatalna, dzień wyborów (w których zresztą udziału nie wziąłem, a nawet jakbym chciał, to dosłyszałem w tv podczas snu, że w Wieliczce nie wydrukowali jednego kandydata, więc wybory się zaczną od 17:00 do 2:00)... Chwilę poczekałem, podjechał samochód z resztą osób. Jedna poszła do kościoła opodal, pomodlić się (wow...), druga pojechała po swoją dziewczynę, zaś dziewczyna kolegi została ze mną w ciemnym aucie: musieliśmy zaszyć się w szczerym polu i czekać na powrót solenizanta. Zaskoczyliśmy Bartka w drzwiach, zaś impreza w pełni wypaliła - było super :) Do domu wróciłem koło 22:00, a skutkiem internetu, spałem tej nocy jedną godzinę.

Rano pojechałem na kolokwium... zwaliłem sprawę, a zadania były banalne, jednak to nie wina imprezy. Mniejsza. Przetrwałem pierwsze 6 godzin ćwiczeń i zaczęło się zmęczenie... potworne zmęczenie. Poszedłem na rynek coś zjeść, mając dwugodzinną przerwę. Perspektywa nudnego wykładu z wstępu do architektury komputerów nie była zbyt ciekawa. W Empiku książki Pratchetta Terry'ego wciąż po ponad 25zł - dużo za dużo, bym mógł sobie na jakąś pozwolić. Poszedłem jeszcze zajrzeć do przyjemnej knajpki chilloutowej Pergamin na ul. Brackiej i po drodze trafiłem do Centrum Taniej Książki. Tamże pierwsza część sagi, "Kolor Magii" za jedyne 9zł! Inne pozycje dwa razy tańsze niż w Empiku - byłem w conajmniej lekkim szoku. Kupiłem więc rzeczoną knigę, a dotarłszy pod budynek mojego wydziału spostrzegłem, że mam jeszcze 30 minut do wykładu. Ponieważ było dosyć chłodno, a ja zaparkowałem tuż przed uczelnią, wlazłem do auta i zacząłem czytać... o 16:30 obudził mnie kolega, który akurat nie zdążył na wykład :) Tym sposobem przespałem się jak wzorcowy student - w czasie wykładu, centralnie przed budynkiem :) Nawet niektórzy mnie rozpoznawali... potem przychodziły SMSy w stylu "podobno lubisz sypiać w samochodzie" ;) Cóż, jakoś się wybudziłem i o 18:00 poszedłem na dosyć istotny wykład z logiki i teorii mnogości. Następnej nocy spałem 14 godzin...

Przeczytaj najpopularniejsze artykuły!

Katastrofy tam
Największe tamy na świecie i ich katastrofy
Tsunami
Największe tsunami w historii ludzkości
 
Rozmowa kwalifikacyjna w Google
Rozmowa kwalifikacyjna w Google
Pisanie artykułów za pieniądze
Jak zdalnie zrobić karierę redaktora?
Pozycjonowanie bloga
Jak udoskonalić i wypromować bloga?
Pierwsza rozmowa kwalifikacyjna: IBM
Pierwsza rozmowa kwalifikacyjna - IBM