luty 2008 - archiwum wiadomości
Dzisiaj pragnę przedstawić małą kwestię związaną z hermetyzacją danych w PHP, a konkretniej jawnym dostępem do danych prywatnych jednego obiektu z poziomu innego obiektu. Myślę, że może się to komuś przydać, gdyż dokumentacja wspomina o tym tylko pośrednio (podobnie jak typowa książka o PHP) i czytelnik przy pierwszej lekturze niekoniecznie musi się natychmiast zorientować, co naprawdę oznaczają zawarte tam słowa.
Znalazłem wczoraj bardzo ciekawą analizę wraz z zestawieniem wszystkich popularnych licencji open-source używanych w oprogramowaniu. Polecam zapoznanie się z nią każdemu, kto pragnie wydać własny program jako wolny, gdyż często bywa, że bierzemy jakąś licencję, nie mając pełnego rozeznania w tym, na co tak naprawdę zezwalamy.
Od tygodnia trwa na AGH nowy semestr. Sesję zdałem w sumie bez niespodzianek; jedynie zadania z algebry musiałem dwa razy pisać, bo przyznam szczerze, że pod tym względem do pierwszego terminu się dość słabo przygotowałem. Za to w części teoretycznej zostałem posądzony o oddanie gotowca (?!), lecz dzięki odpowiedniej ripoście niemal natychmiast wyprowadziłem panią doktor z błędu :).
Kim jest pies dla człowieka, wie chyba każdy. Życie tych stworzeń jest już tak związane z ludźmi, że ich obecność traktujemy jako oczywistość. Powszechne jest trzymanie takiego czworonoga we własnym domu lub mieszkaniu, a w przypadku tego ostatniego także wyprowadzanie go na spacer. Właśnie o tym chciałbym dziś napisać, jako że to, co dziś zauważyłem na środku chodnika po takim wyprowadzaniu, przeszło moje ludzkie pojęcie.
Pod koniec zeszłego roku montowałem sobie silnik w PHP, lecz prace nad nim wstrzymałem z powodu OPT. Postanowiłem go wczoraj uruchomić na nowopostawionym FastCGI ot tak, żeby sprawdzić, jak się trzyma. Okazało się, że kod się niesamowicie sypał. Nie działało wykrywanie środowiska pracy, translacja adresów w routerze oraz kilka innych rzeczy. Szybki rzut oka wystarczył, by zorientować się, że "awaria" dotknęła wszystkich komponentów, które opierały swoje działanie na dostarczonych z serwera danych o żądaniu.
Z powodu porządków na stanowiskach pracy postanowiłem dla próby zainstalować sobie Lighttpd zamiast Apache'a. Z serwerem tym miałem już wcześniej do czynienia podczas stawiania serwera, lecz z powodu braku niektórych możliwości musiałem wtedy z niego zrezygnować. Natomiast na domowy komputer - czemu nie, tym bardziej że pamiętałem łatwość, z jaką uruchamia się na nim FastCGI.
Kolejny wpis zainspirowany przez Nowakera poświęcony będzie kwestii zarabiania na rozwoju oprogramowania open-source. Nietrudno napotkać tego typu modele jego tworzenia i budzą one u różnych osób rozmaite odczucia. Mam zamiar rozstrzygnąć, jakie są cele takich praktyk, czy pomagają one w rozwoju projektu oraz jak się najlepiej do nich ustosunkować?
Nie cierpię używać gotowych skryptów innych, niż biblioteki, wszędzie tam, gdzie potrzebuję dwujęzycznej strony WWW. Niemal całe tego typu oprogramowanie jest napisane przez Anglosasów, a oni z racji, że ich język ma dominującą pozycję w Internecie, mają o tym ZEROWE pojęcie. W sumie nie dziwię im się - jak robią jakiś projekt, wystarczy, że zrobią stronę po angielsku i już mają ustrzelony zarówno rynek krajowy, jak i narodowy. A tymczasem co ma w tej sytuacji zrobić Polak?
Ostatni nowy znak w kodzie źródłowym interpretera języka Revomer pojawił się więcej, niż rok temu. Od tamtej pory kod leżał odłogiem na moim twardym dysku i czekał sobie na lepsze czasy. Nocą kilka dni temu dostałem nagle weny i w półtorej godziny rozpisałem założenia nowej wersji tego języka oraz zaprojektowałem prawie wszystkie komendy. Cóż, jeśli ktoś myślał, że w dziedzinie ezoterycznych języków programowania wymyślono już wszystko, to zaraz go z tego błędu wyprowadzę.
Protokół HTTP, który stał się podstawą wielu działających obecnie usług sieciowych, jest relatywnie młody - wersja 1.0 ukazała się zaledwie dwanaście lat temu. Popularność zawdzięcza jednak nie swoim możliwościom, a prozaicznemu nienadążaniu postępu technicznego za rozwojem i pomysłowością właścicieli stron WWW. Początkowo był to prosty mechanizm do udostępniania hipertekstowych dokumentów na żądanie klienta, nigdy nieprzewidziany do pracy w internetowych systemach czasu rzeczywistego (wszystko, co wymaga stałego kontaktu z serwerem i niemal ciągłej wymiany danych). Pociąga to za sobą szereg nieprzyjemnych dla programistów konsekwencji.