16 marca 2004
18:24:16
|
kategorie:
html itp.,
jogger,
pyxmpp,
sprzęt,
Wczoraj udało mi się doprowadzić nowy parser strumienia w PyXMPP do działania.
Nie piszę skończyć, bo zasługuje jeszcze na wiele, głównie kosmetycznych, poprawek.
W każdym razie już CJC z libxml2 2.6.7 dzała, a to najważniejsze.
W pracy dokończyłem analizę tego nieszczęsnego machine check exception
i wyszło mi na to, że błąd został zgłoszony przez north bridge
i dotyczy
kontroli ECC w pamięci. Czyli albo pamięć walnięta, albo płyta główna. Będzie trzeba
to sprawdzić i felerny sprzęt wymienić.
Potem na jogu
Marcoosa przeczytałem o XFN i postanowiłem
użyć tego cuda u siebie. Ale że wymagałoby to poprawienia linków w dwóch plikach
(index.html i comments.html), to postanowiłem najpierw coś z
tym utrudnieniem
zrobić. Więc resztę czasu w pracy, pomiędzy telefonami
klientów, spędziłem na tworzenie szablonów do szablonu i systemu kompilacji tego
do formy strawnej przez Joggera. Udało mi się - z kawałków będących well-formed
XML składane jest (XInclude, zaimplementowane w xmllint) szablony dla strony
głównej i z komentarzami. Po drodze jest wszystko walidowane - w tym celu
stworzyłem DTD do szablonów dla XHTML 1.0. Pliki źródłowe się nie walidują, bo
musiałbym zrobić jeszcze DTD uzwględniające XInclude, a docelowy nie waliduje
się, bo ma deklarację DTD dla XHTML, nie uwzględniającą tagów Joggera, poza
deklaracją waliduje się względem tego mojego Joggerowego DTD.
Dla odmiany style CSS tworzone są przy pomocy preprocesora M4. Zrezygnowałem
z używania @import
do składania szablonów w przeglądarkach
czytelników, zamiast tego na Joggerze leżą już kompletne, posklejane pliki
stylów. Dzięki temu walidator przestał głupieć, a i strona ma szansę szybciej
się załadować (aby wyświetlić stronę w pełni teraz wystarczy załadować 3 pliki
zamiast 7).
Wszystko razem spięte jest przy pomocy plików Makefile dla
GNU Make Oznaczeń XFN jeszcze nie dodałem. Nie starczyło czasu...
:-)
Obiadek (schabowy z frytkami i surówką) zjadłem Pod Pierożkiem
, tak
jak pisałem. I smakował mi bardziej, niż wczorajszy w Sphinksie. Do tego był
tańszy, ale odrobinę mniej.
A teraz zabiorę się za zamalowywanie pamiątek po krysinych obiadkach. Ciekawe
czy po tym ta ściana nie będzie wyglądać jeszcze gorzej...
15 marca 2004
19:20:14
|
kategorie:
html itp.,
Coś spieprzyłem CSS w moim szablonie. Mnie się wydaje że jest OK, ale Validator ma inne zdanie. No cóż - nie wiem jak to poprawić (nie zmieniając za bardzo sposobu zapisu kolorów), więc na razie usuwam ikonkę Valid CSS
, ale będę musiał coś z tym zrobić. :-(
15 marca 2004
18:30:16
|
kategorie:
jedzenie,
programowanie,
pyxmpp,
Wczorajszym obiadkiem się nawet nie otrułem. Co ciekawsze nawet mi smakował,
a przecież tylko wrzuciłem na patelnię co mi w ręce wpadło: boczek, kiełbasę,
cebulę, czosnek, marchewkę, makaron i ser.
Wieczorem zabrałem się za nowy parser strumienia dla PyXMPP, bo z
libxml2-2.6.7 dotychczasowy nie działa i podobno to jest ficzer a nie bug.
Mam już gotowy analizator leksykalny - automat Mealy'ego na 35 stanach, który
bez problemu wyłuskuje konkretne tagi oraz dane pomiędzy nimi ze strumienia XML,
nie głupiejąc nawet na sekcjach CDATA, czy niewyeskejpowanych
>
w wartościach atrybutów. Nie obsługuje DTD, ale to i
tak w strumieniach XMPP jest zabronione. Obsługuje za to (tzn. umie ignorować)
PI i komentarze, mimo że też nie musi. Najlepsze jest to, że automat zadziałał
poprawnie (na ile go przetestowałem) za pierwszym razem gdy go uruchomiłem i
udało mi się go jakimiś danymi nakarmić. Teraz jeszcze muszę dokończyć
wyłuskiwanie początku/końca strumienia i pełnych zwrotek oraz przekazywania tego
do parsowania przez libxml2 (mój preparser
nawet nie do końca sprawdza
czy otrzymany XML jest well-formed).
Pracę zacząłem on restartowania serwera na Opteronach który zrobił Ooopsa.
Niektóre kernele na nim odpalane od razu wywalały się z machine check
exception
, więc wiem że coś jest skopane. Dzisiaj nawet próbowałem dojść do
tego co dokładnie i zacząłem analizować kody które mi któryś z tych kerneli
wyrzucił. Ale zanim się mniej-więcej w tym połapałem i znalazłem odpowiednie
tabelki w specyfikacji, to minęła 16-ta i czas było wracać do domu.
Po drodze do domu poszedłem na obiad do Sphinksa. Pierwszy raz zresztą.
Jedzenie może nie rewelacyjne, ale dobre, dużo i w miarę tanie. Zresztą w moim
przypadku to już sukces, że byłem w stanie to zjeść bez kombinowania.
Wielokrotnie już zamawiałem jedzenie, którego potem nie byłem w stanie zjeść i
zostawiałem nieruszone. Tym razem dla pewności nawet wypytałem najpierw kelnera
czy ta Shoarma na pewno nie ma żadnych pomidorów i czy przypadkiem nie jest
przyprawiona na słodko. Nic z tych rzeczy, więc zamówiłem. I rzeczywiście na
talerzu było wszystko jadalne - frytki, mięsko i normalna
(bez
majonezu/śmietany/pomidorów/buraczków) surówka. Podali też trzy różne sosy w
miseczkach, ale tego nie musiałem ruszać (dwa spróbowałem na końcu frytki, ale
ten ostry był z pomidorami i wcale nie taki ostry, a czosnkowy chyba na
śmietanie - nic dla mnie). Jeszcze kiedyś się tam wybiorę, może z żonką.
A jutro Bar pod Pierożkiem :-) .
14 marca 2004
13:53:49
|
kategorie:
rodzinka,
życie,
Żona i córka wyjechały na dwa tygodnie do Bochni wypoczywać. Nie będzie miał
kto pilnować, żebym za długo przed kompem nie siedział. Nie będzie miał kto mi
pysznych obiadków gotować. Nie będzie miał kto fundować mi wieczornej łóżkowej
gimnastyki. Moje zdrowie jest więc zagrożone, ale dwa tygodnie powinienem jakoś
przeżyć. Szczególnie, że na weekend do nich się wybieram.
Ten czas postaram się spędzić jakoś pożytecznie. Może przynajmniej część
moich projektów ruszy z miejsca. Mam nadzieję że wcześniej nie znajdę jakiejś
super gierki ani innego pożeracza czasu, ani że w firmie za dużo roboty mi nie
przywalą.
Na razie rozpoczynam destrukcję mieszkania, od kuchni - idę sobie
przygotować jakąś namiastkę obiadu.
13 marca 2004
17:20:58
|
kategorie:
praca,
Oto wiadomość jaką dzisiaj dostałem na adres zapisany w bazie WHOIS:
From: "LiveNet.pl" <bok@livenet.pl>
To: [cenzura]
Subject: Wlamanie z waszej sieci !!!
Dzien dobry
Jestem wlascicielem firmy hostingowej livenet.pl. Pisze w sprawie jednego z
Państwa klientów, otóż uw klient wykazuje zdolności hakerskie włamując się na
serwery smtp i podszywając się pod właścicieli serwera wysyła spam co w świetle
dzisiejszego prawa jest przestępstwem. Ja w imieniu swoim oraz kilku innych
zaprzyjaźnionych firm z branży zaobserwowaliśmy to już od jakiegoś czasu. My
oraz nasi klienci dostajemy maile z załącznikami w których znajdują się wirusy.
Chcieli byśmy poznać dane tego człowieka. poniżej przesyłam wycinek z logów
serwera na który polowaliśmy jakiś czas. dla uproszczenia proszę mi podać dane
człowieka który o godzinie 12:16 korzystal z IP [cenzura] prosze o kontakt
telefoniczny [cenzura].
Poniżej tego tekstu nie było żadnych logów, ale nagłówki wiadomości. Już na
pierwszy rzut oka widać że to wirus, a pierwsze użycie Google wykazało że to
Bagle.H. Oczywiście postarałem się o zablokowanie dalszego rozsyłania wirusa z komputera
nieostrożnego klienta, jednak przesłane w skardze nagłówki nie ułatwiały mi tego jak powinny
- nazwa serwera podanego w nagłówków Received:
stuff.livenet.pl
w ogóle nie istnieje. Przy okazji okazało się że ta
skarga przyszła do mnie jedynie z powodu przeoczenia przy konfiguracji mojego
serwera - taka nazwa w HELO
nie powinno w ogóle być przyjęta. I więcej
przyjmowana nie będzie (oczywiście poza pocztą wysyłaną na konto
postmaster
).
Wszystkie [cenzura]
są oczywiście wstawione przeze mnie zamiast
informacji których nie chciałem publikować. Myślałem nad wycięciem także nazwy
firmy, ale niech zostanie - ku przestrodze potencjalnych klientów.
07 marca 2004
21:58:09
|
kategorie:
gry,
linux,
pyxmpp,
sieci,
Zaczynam wątpić w to że użycie libxml2 w PyXMPP to był naprawdę dobry
wybór. I to nie z tego powodu, że ta biblioteka, wraz z modułem pythonowym
jest dość trudno dostępna dla użytkownika końcowego. Chodzi raczej o podejście developerów
libxml2. A może po prostu ja byłem głupi zakładając że interfejs SAX,
czyli strumieniowy, będzie mnie informował o zdarzeniach na bieżąco. Czyli że
np. informację o początku elementu dostaję zaraz po przeczytaniu całego taga
początkowego, a nie po rozpoczęciu kolejnego elementu. W każdym razie po
uaktualnieniu (zresztą podyktowanym względami bezpieczeństwa) libxml2 do
wersji 2.6.7 PyXMPP i wszystko co z niego korzysta (a więc CJC i JJIGW)
przestaje działać. I nie będzie działać, póki autorzy libxml2 nie cofną tego
feature'a
, albo ja nie przygotuję obejścia (ręcznego
wstępnego
parsowania strumienia XML przed przekazaniem go do parsera XML).
Routerek 3Coma nadal działa, ale zdążył nas zaskoczyć. Konfiguracja
firewalla, która miała zablokować dostęp po TCP i UDP do routera, zablokowała
cały ruch TCP i UDP przechodzący przez router. Okazało się że w ACLach w tym
routerze maski adresów IP mają odwrotne znaczenie niż gdzie indziej (chociaż
może w innych routerach jest tak samo) i adres z maską
255.255.255.255
oznacza dowolny adres, a jak chcę złapać
ten jeden konkretny, to muszę użyć maski 0.0.0.0
. Dziwne,
ale teraz działa.
Postawiłem i wczoraj w końcu skonfigurowałem zgodnie z życzeniami
użytkowników serwerek Quake3 na firmowym serwerze games.bnet.pl
. Gostki
przez dwa tygodnie za mną chodzili w tej sprawie. Podziwiam ich
cierpliwość. :-)
A'propos gier. Doszedłem to tego, czemu mi się komp przy OpenGL wywalał -
nie miałem modułu via-agp załadowanego, a obsługa DRI na Rage128
w trybie PCI najwyraźniej się sypie. A samo agpgart już nie
wystarcza. Obejrzałem sobie UFO: Alien
Invasion - może z tego być niezła gierka.