Dawno nie pisałem, bo bardzo mnie wciągnęło pisanie tego PyXMPP. Idzie
znacznie wolniej niż myślałem, ale jestem zadowolony z tej pracy. Mam
ambicję napisać to tak, żeby było 100% XMPP compliant, ale też zgodne
z ze „starym Jabberem”. Właściwie to co napisałem już można wykorzystać
do tworzenia klienta Jabbera, czy prostych serwisów.
Na standards-jig@jabber.org wielu narzekało, że SASL to za duże wymaganie
dla „małych klientów”. Nie zgadzam się z nimi – zrobiłem autentykację PLAIN
i DIGEST-MD5 w pythonie praktycznie od zera i wielki problem to nie był.
Gorzej jest z profilami stringprep (wymagania odnośnie nazwy użytkownika
i zasobu). Przez weekend walczyłem z normalizacją Unicode 3.2.0 (co było tym
trudniejsze, że unidata w Pythonie to tylko 3.0.0) i prawie działa – nawet
dekompozycja i kompozycja sylab HANGUL (cokolwiek by to nie było), ale mam
jeszcze jakieś problemy z porządkiem kanonicznym. Myślę że dzisiaj to
naprawię, a może i całe stringprep uda mi się zrobić. Odpowiednie moduliki
są dosyć spore – zawierają parę tabel wydłubanych z Unicode Character
Database.
A z innej beczki: w sobotę byłem z żoną na Matrix Reloaded (dzidzia została
u dziadków). Skoro wszyscy o tym filmie tutaj piszą to i ja napiszę. IMHO
całkiem niezły. Nie spodziewałem się niczego ambitnego i byłem zadowolony
z tego co zobaczyłem. Może po prostu jestem wystarczająco rąbnięty, żeby to
oglądać – nie było dla mnie problemem traktowanie części postaci jako procesy
w systemie operacyjnym. Miałem tylko wątpliwości, czy agent Smith to wirus
dołączający się do aktywnych procesów, czy zwykła fork-bomba 🙂 Zgodnie
z poleceniami odczytanymi z ogłoszeń na ścianach kina przeczekałem napisy,
żeby zobaczyć zapowiedź kolejnej części. Zapowiedzi widziałem lepsze, ale same
napisy końcowe mnie zainteresowały. Lista płac olbrzymia i chyba samych
„system administrators” było ze 20. W sumie poadministrowałbym sobie taką
farmą serwerów co to liczyła 🙂
Wczoraj miałem znowu okazję wykazać się jako tatuś. Krysia nie chciała spać,
po półtorej godziny cycania żona miała już dosyć, a ja przejąłem ryczącego
dzidziusia. Takiej nieszczęśliwej jej jeszcze nie widziałem. Nie pomagało
noszenie, mówienie, kołysanie itp. Dopiero jak z nią poszedłem do łazienki,
to przed lustrem nieco się uspokoiła. Ale ile można tak w łazience stać…
Na szczęście w pokoju też się znalazło lusterko. Trochę pochlipała z lusterkiem
w objęciach, potem położyła się mi na brzuchu – widać było że wreszcie będzie
chciała spać. Jak już trochę przysnęła przeniosłem ją do łóżeczka. Obudziła
się, ale to że ją położyłem w łóżeczku bardzo się jej spodobało. Popełniłem
błąd przykrywając ją – rozkopywanie kocyka uznała za najlepszą zabawę. Potem
się powoli uspokajała, trochę pośpiewała pod nosem i zasnęła. Z odkrytymi
nóżkami – trudno. Ważne że się udało i to bez cycusia.
I cycuś został dla tatusia.
Sorry nie mogłem się powstrzymać 😛
Od kilku dni restartowałem swojego newstickera, bo myślałem że się zawiesiło ściąganie wiadomości z Twojego joga, ale widać trochę go zaniedbałeś.
Co do Matrixa to widzę, że jesteś jedną z niewielu osób które tak to postrzegają. Mam kumpla który widział to tak samo, ale na poziomie Windowsów (czyli wirus – Smith, antywirus – Neo). Całkiem ciekawa teoria. Sprawdzę ją jak w końcu sam to obejrzę.
PolubieniePolubienie
Ani wirus (wirusy nie blokują działania programu do którego się doczepiają), ani forkbomba (Smith nie generuje nowych procesów). To rodzaj działania, którego nie spotykamy w naszych komputerach – „włamanie” do segmentów innego procesu i nadpisanie ich własnym kodem i danymi. Taki exec() tylko do wybranego, innego procesu. exec(int pid); ? 😉
PolubieniePolubienie