maj 2006 - archiwum wiadomości
Prawda jest taka, że dobrym programistą nie jest ten, kto zna możliwie dużo języków programowania, lecz ten, kto potrafi nimi coś ciekawego wyrazić. Świadom tego faktu, zamówiłem sobie w Helionie dwie książki o algorytmach, a wczoraj przesyłka wylądowała w moich rękach. Zamówienie opiewało na pozycje "C++. Algorytmy i struktury danych" autorstwa Adama Drozdka (Amerykanina, gdyby ktoś pytał :)) oraz "Algorytmy, struktury danych i techniki programowania (wyd. 3)" Piotra Wróblewskiego. Z braku czasu przejrzałem je dość pobieżnie, ale spostrzegłem już kilka charakterystycznych cech każdej z nich.
Tytuł może nieco na wyrost, gdyż w zasadzie rzecz tyczy się samego mechanizmu parsowania tekstów wzorowanego na Wiki. Brak czegoś własnego zaczynam odczuwać coraz dotkliwiej przy własnych projektach, a za jakiś czas zmusi mnie do tego sam OpenPB. Dlatego w najbliższym tygodniu rozpocznę wstępne prace badawcze nad biblioteką Open Power Processor, która zostanie później włączona w ten system forów, gdzie będzie wykorzystywana do przetwarzania postów. Sformułowałem już wstępne założenia:
"Zmieniono trasę papieskiej pielgrzymki tak, aby obejmowała Grunwald - tradycyjne miejsce spotkań Polaków z duchowieństwem niemieckim". Czy podczas pielgrzymek Jana Pawła II krążyło tyle dowcipów o niej? Raczej nie. To taka dosyć ciekawa implementacja teorii względności w codziennym życiu. Czy krytykuję tu czyjekolwiek zachowanie? Nie, po prostu zjawisko wzbudziło we mnie zainteresowanie, zwłaszcza w świetle naszych przypominających rzucanie grochem o ścianę starań o udzielenie poparcia opozycji białoruskiej czy obroną bezpieczeństwa energetycznego Polski.
Polityka generalnie rzadko gości w takiej ilości na Zyxist.com, ale teraz chciałbym nawiązać do tego tematu w nieco innym kontekście. Jak wiadomo wszystkim uczniom, obecnie naszym miłościwie panującym jest niejaki Roman G. dopuszczony do resortu edukacji z namaszczenia sekty K. Osobnik to wysoce kontrowersyjny, jawnie obnoszący się ze swym podziwem dla ideologii endeckiej, a dał się poznać jako twórca bojówki przestępczo-nacjonalistycznej znanej jako Młodzież Wszechpolska.
Doszedłem właśnie, co było nie tak z tym moim kodem. Na szczęście problem nie leżał ani w OPF, ani w bibliotece advAjax (zresztą nie byłem do końca przekonany do tej opcji, dlatego nawet anakina nie powiadomiłem). Wszystko wzięło się z tutoriali, a w zasadzie ich braku/nieścisłości już istniejących. Nieścisłość objawia się potulnym pisaniem, że "nodeValue przechowuje zawartość znaczników". Gwoli dziennikarskiej ścisłości powinno się jeszcze dodać, że po drodze jest węzeł DOMTextNode.
Wczoraj postanowiłem wreszcie zaimplementować obsługę AJAX w Open Power Forms. Pod ręką była akurat biblioteka advAjax oraz formularz z jednego z przykładów, więc zacząłem łączyć to ze sobą. Kod JavaScript nie działa jednak do tej pory, i to z bardzo dziwnego powodu. Teoretycznie powinien on zrobić dokładnie to, co chcę, tj. sprawdzić, jaki jest wynik kontroli umieszczony w nadesłanym z OPF pliku XML. Jednak z niewiadomych powodów advAjax wcale nie przekazuje do kodu obiektu DOMDocument, tylko zwyczajny Document, a ten z kolei przy próbie odwołania się do listy elementów zwróconych metodą getElemenstById() - obiekty HTMLElement niekompatybilne z kodem.
Blogi powstają, blogi przemijają. Część z nich istnieje kilka miesięcy, niektóre trwają latami, zyskując z czasem sporą poczytność. Zjawisko prowadzenia internetowych dzienników niewątpliwie ma w sobie coś z fenomenu, stając się powoli nie tylko miejscem dzielenia się refleksjami, ale też platformą informacyjną. Wszystko zależy od autorów, ich osobistych chęci oraz pragnień. Zajęcia tego próbuje naprawdę dużo osób, a rodzajów końcowych efektów bywają tysiące.
Maju ów, kto cię widział tu, w Stalowej Woli, ten wie, że o tej porze wszystko się... kaszani. Od pierwszej, i jak na razie ostatniej próby, minął ponad miesiąc. Wiosna rozkwitła pełnią barw, a słońce realizowało swój ustawowy obowiązek, ogrzewając powietrze do wysokich temperatur. W ten sobotni poranek Zyx obudził się nie do końca wyspany. Poprzedniej nocy zakończył wielki maraton kodowania na konkurs Diversity, trwając na stanowisku do ostatniego klawisza. Teraz najchętniej zapomniałby o istnieniu komputerów na długie godziny, wyjeżdżając gdzieś za miasto rowerem, ale czekało go następne zadanie, na dokładkę związane właśnie z tymi elektronicznymi cudami.
Podczas ostatnich dwóch miesięcy miałem okazję robić już dwa projekty, w których trzeba było renderować za pomocą systemu szablonów drzewa. Standardowe sekcje nie bardzo się w takim wypadku sprawdzają, gdyż wymaga to dodatkowych zabiegów zarówno po stronie kodu PHP (umieszczenie informacji dla renderera o każdym węźle), jak i po stronie szablonów (trzy dodatkowe ify i pętla for). Sprawa została poruszona również na forum projektu, więc w wolnych chwilach myślę, jak by ułatwić to zadanie i nieco je zautomatyzować.
MySQL'a zawsze ceniłem sobie za swą stabilność oraz elegancję wielu rozwiązań. Ostatnio, wraz z pojawieniem się wersji 5.0 zaczął także liczyć się jako poważniejszy gracz w kategorii oferowanych możliwości. Dzisiaj znalazłem na stronie producenta informację o pojawieniu się bety wersji 5.1. Nie wiem, ile ona już tam dokładnie wisi, ale mniejsza z tym. Ważne, że jest :). Zapoznałem się już z dokładną listą zmian i wyglądają one ciekawie, w szczególności z punktu widzenia administratorów dużych centrów danych.