Sprawa dymu wyjaśniona (prawie)

Wygląda na to, że z AlchemyXa jest lepszy mechanik, a sparrow niech lepiej
ulepsza Joggera, a nie ludzi straszy 😉

Pojechałem z mechanikiem na miejsce. Ten, w marnym świetle reflektorów
swojego malucha, obejrzał wnętrzności mojego autka, pomacał, powąchał, może
nawet posmakował (wspominał potem coś o słodkim smaku) i stwierdził, że to
płyn chłodniczy. Nie był jednak w tych warunkach w stanie dokładnie znaleźć
źródła przecieku. Zbadawszy poziom płynu w chłodnicy uznał, że mogę ostrożnie
pojechać fiacikiem do warsztatu, tylko muszę uważnie obserwować kontrolkę
temperatury i jak się zapali, to się zatrzymać. Nie zapaliła się i szczęśliwie
dojechaliśmy na miejsce. Samochodzik spędzi tę noc pod warsztatem, a jutro się
okaże co mu dokładnie jest i ile będzie nas to kosztować.

No cóż… przypomnę sobie jak się jeździ autobusem do pracy. Zresztą, i tak
miałem sobie jutro przypomnieć, bo samochód jest tym razem żonce potrzebny.
Jak się mechanik szybko nie uwinie, to żonka też sobie przypomni… już to
widzę jak się cieszy 😉

Dymy

Jadę sobie spokojnie naszym nowiutkim samochodzikiem z pracy do domciu.
Zjechałem już z autostrady (hehe) w stronę naszego osiedla, gdy nagle w
tylnej szybie zobaczyłem biały dym…

Zastanawiałem się czy to na pewno moje?, czy przypadkiem to się po
prostu para wodna kondensuje na spalinach (ale nie jest jeszcze tak zimno i
inni tak nie mieli). W końcu zauważyłem, że dymi mi się spod maski. To już nie
było się co zastanawiać. Zjechałem na bok, włączyłem awaryjne, wziąłem gaśnice
(a bo ja wiem co tam mogło być?), szmatę (żeby nie dotykać potencjalnie
gorącej maski gołymi rękami) i delikatnie podniosłem maskę. Była zimna, ogień
nie buchnął, ale wyleciało sporo dymu. Otworzyłem całkiem, poczekałem aż dym
się rozrzedził. Na moje oko silnik był zachlapany olejem, ale nie wiem skąd
mógł on wyciekać bagnet i korek wydają się być na swoim miejscu (o ile ja
wiem, gdzie jest ich miejsce)…

No to zadzwoniłem do żony, żeby skontaktowała się z naszym mechanikiem.
Potem przestawiłem samochód w jakiś zjazd, żeby nie stać na ruchliwej jezdni
(zapalałem samochód nieco drżącymi rękami). Żona się nie dodzwoniła, ale dała
mi numer telefonu fachowca. Mnie się udało i wyjaśniłem panu co się dzieje.
Mechanik nie był w stanie przez telefon ocenić co dokładnie się działo, nie
namawiał mnie też bardzo żebym do warsztatu dojechał (niedaleko, ale wolałem
nie ryzykować). Niestety teraz jeszcze ma jakąś robotę. Mam do niego wpaść po
18:00 i wtedy tam podjedziemy zobaczyć. Tymczasem samochodzik stoi sobie
gdzieś przy wjeździe do jakiejś hurtowani, a my tylko wyglądamy przez okno czy
jakaś chmura czarnego dymu się stamtąd nie unosi 😉

Ale Polonezik (nasze poprzednie autko) nigdy nie robił nam takich numerów!
Nie wiem, może to taki niewinny żarcik ze strony autka, a może po prostu się
rozchorował — jak cała rodzina choruje, to cała! 😉

Taka mała katastrofa

Żona pojechała do lekarza. Zostałem Krysią sam… Jakoś sobie radzimy, aż w
pewnym momencie dziecię mnie informuje: zasiusiałam galotki. No fajnie.
No to każę jej iść do łazienki, tam mogę ją rozebrać, może coś jeszcze
wyciśnie do nocniczka. Spodziewałem się mokrych majteczek i galotek,
ale czekała mnie większa niespodzianka: wielkie kupsko w majteczkach. Fuj!

No to trzeba było dziecko rozebrać całkiem, zająć się tymi nieszczęsnymi
majteczkami, Krysia w tym czasie jeszcze coś do nocnika naprodukowała, umyć
ją i ubrać na nowo. Mam to już za sobą… ufff.

ZPT

System obsługi użytkowników sieci obsługiwanych przez naszą firmę robiłem w Zope.
Prezentację przy użyciu DTML, bo Zope’a uczyłem się z ZopeBook, gdzie o DTML było najwięcej,
a ZPT wyglądał strasznie verbose. Poza tym było tam wyraźnie napisane, że oba rozwiązania
są równorzędne i po prostu DTML bardziej przypadnie do gustu
programiście/hackerowi, a ZPT webmasterowi.

No i system działa, nawet bardzo ładnie działa (wygląda gorzej, ale mnie to
nie obchodzi). Jednak Zope zaczął mnie wkurzać, bo niby proste rzeczy w tym
DTML trzeba było robić na około, a do tego VIM się gubił w składni i podświetlał
mi część kodu jako błędy (w sumie nie dziwię mu się). Poskarżyłem się nawet na
pl.comp.lang.python i tam ktoś mi odpisał, że to DTML jest do d… i należy
używać ZPT. A więc zacząłem czytać o ZPT. I rzeczywiście wygląda dużo lepiej niż DTML,
chyba zaraz spróbuję jakiś prostszy kawałek systemu na to przepisać. Może się przeproszę
z Zopem i kolejny projekt też w nim zrobię? Niestety do metod ZSQL trzeba używać DTML,
a tam to nawet wartości None nie rozumie. Ale z tym się jeszcze da żyć…
Gdyby jeszcze można było używać Subversion do tego to już by było super.

Wesoła wiadomość


From: ":D"@pp.pl.pl.pl
Subject: [portal] Pytanie do firmy XXXXX
To: adres_firmy_XXXXX

:D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D:D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D

Sprawdziłem nagłówki. Wiadomość została wysłana przez formularz na naszej
stronie WWW z komputera z którego dostęp do Internetu został odcięty za
zaległe płatności. Miło nam, że klienci doceniają także takie nasze działania.
:-)

Format CV

W jakim formacie przysyła swoje CV grafik starający się o pracę?
Oczywiście w JPEG.

Boje się, że kandydaci na adminów (przyjęcie grafika na szczęście nie
należy do mnie) zaczną mi przysyłać CV w postaci skryptów perla… Na razie
dostaję głównie doce, rzadziej PDF i
RTF. Raz dostałem dwa pliki .rtf, jeden z
Content-Type: text/richtext, ale w formacie RTF (zdaje się że to
co innego), a drugi, z Content-Type: application/octet-stream
mimo rozszerzenia okazał się być dokumentem w formacie
OpenOffice. Ja nawet na początku się nie zorientowałem, bo i
tak w OO to otwierałem, ale ktoś z Windowsem i bez OO raczej by tego nie
otworzył.

Najgorsze jest to, że na razie format Worda się najlepiej sprawdził. Bo
treść tak przesłanych CV od razu mogłem przeczytać w moim
muttcie (dzieki wv w mailcap),
a do RTF i PDF musiałem przechodzić do Xów i odpalać jakąś kobyłę. Co gorsza
jeden z tych RTFów był tak rozjechany, że można było się jedynie domyślać o co
chodzi. Właściwie nie wiem jaki byłby właściwy format przesyłania takich
dokumentów. Mnie by plain-text wystarczył, ale jak musi być ładnie, to
chyba zostaje PDF, lub nieszczęsny (w mailach) HTML.

Mix-ins

Gdy w CJC użyłem osobnej klasy (nazwijmy ją A) do
rozszerzenia funkcjonalności innej klasy (B), ale tak, że to
B dziedziczyło po A, to myślałem że stosuję jakiś dziwny,
brudny trik dla własnej wygody. Później czytając dokumentację do
pylinta spotkałem się z określeniem mix-in class, nie
wiedziałem co to jest, ale tak jakoś mi się skojarzyło z tym co zrobiłem w
CJC.

Teraz coś podobnego chcę zrobić w PyXMPP, aby podzielić
jeden wielki moduł pyxmpp.stream na mniejsze kawałki.
Przypomniałem sobie o mix-in class i wrzuciłem to w Google. Okazało się,
że miałem rację. Dowiedziałem, że to znana technika programowania
obiektowego, która wcale nie jest zła. Znalazłem nawet artykuł o tym jak używać mix-ins w
Pythonie
. Rzeczywiście Python bardzo ułatwia stosowanie tej techniki.

No to teraz, gdy się podszkoliłem, mogę z czystym sumieniem wziąć się za
wydzielanie StreamSASLMixIn i StreamTLSMixIn.
:-)

Czy Python nie jest piękny?

Podczas dłubania w jednym skrypcie wyszło mi coś takiego (no tam było trochę czytelniej,
na potrzeby Joggera upiększyłem:

x=[x for x in x if x]

Każdy Pythonowiec od razu zrozumie, że ta instrukcja usuwa puste
(None, "", 0, itp.) elementy z listy
:-). Wiem, w Perlu dałoby się jeszcze mniej czytelnie, pewnie krócej
i na 100 różnych sposobów, ale na pewno nie tak ładnie ;-)

Oczywiście nie polecam takiego programowania — wypadałoby przynajmniej
zmienić jedno x na coś innego.

MAILER-DAEMON ma nowych przyjaciół.


From: jakiś_luser
Subject: Luser
To: "Mail Delivery System" <MAILER-DAEMON@mój-server>

Wróciliśmy cali i zdrowi . Jak na nasze polskie warunki drogowe - udało się
przejechać w ciagu jednego dnia 800 km. Wyjechaliśmy 4.20 rano a wróciliśmy
20.30 wieczorem . Byliśmy na grobach rodziny w Bygdoszczy i po drodze
odwiedziliśmy Licheń . Nie wiem czy się orientujesz , jest to miejscowość koło
Konina , gdzie wybudowano duże Sanktuarium . Muszę kończyć póżniej napiszę
więcej.
narazie
Luser

Robota…

Wczoraj wyczerpała mi się bateria w komórce, a ładowarki nie mogłem znaleźć.
Dzisiaj rano też nie, więc pojechałem do pracy z rozładowaną komórką. Komórka
nie dzwoniła, to o niej zapomniałem… aż do momentu gdy bardzo potrzebowałem
pewnej informacji w niej zapisanej. Wkurzyłem się strasznie i po powrocie
wywróciłem pół domu do góry nogami, żeby tę ładowarkę znaleźć. Była
mniej-więcej tam gdzie zawsze, ale przysypana górą papierów.

Jak tylko podłączyłem komórkę przyszło 44 SMSów. Głównie od automatów, które
zwykle siedzą cicho. Zadzwonił też kumpel, że coś tam się rozłącza. Z SMSów
wynikało, między innymi, że wszystko na serwerowni pojawiało się i znikało,
więc diagnoza była prosta — znów przerwy zasilania w budynku TPSA, gdzie
mamy tę nieszczęsną szafę. Zalogowałem się na jeden z serwerów i sprawdziłem
stan baterii w UPS: 45%, UPS był On-Line. Uznałem, że był problem ale już go
nie ma i olałem sprawę. I to był mój błąd. A ja jeszcze poszedłem do parku do
rodzinki, stając się znowu nieosiągalny, bo komórka ładowała się w domu.

Gdy wróciłem już czekała na mnie wiadomość na sekretarce, że coś dalej nie
działa. Okazało się, że rzeczywiście — jeden z naszych głównych routerów
szalał. Miałem z nim jakiś kontakt przez konsolę szeregową, więc próbowałem
reanimować go zdalnie. Kontakt polegał na tym, że router sypał tonami
komunikatów i w ogóle nie reagował na jakąkolwiek próbę interakcji. Ale czasem
robił sobie przerwy, w których można było coś sprawdzić i próbować maszynę
rebootować. Za którymś rebootem nie wstał. No cóż, trzeba było jechać na
serwerownię. Tam się udało sytuację opanować i wygląda na to, że jak na razie
wszystko działa.

Najgorsze jest to, że rzeczywiście nawaliłem. No i w poniedziałek czeka
mnie pewnie dywanik u szefa. Oczywiście sporo winy jest po stronie TPSA, która
pozwala sobie na takie jaja z zasilaniem (dojazd elektryka, który może
wymienić odpowiednie bezpieczniki trwa czasem ponad godzinę), ale ja
powinienem zareagować szybciej. Zamiast tego wolałem uznać, że jest OK i
lecieć do żonki i córci. A jak jest wszystko OK, to czasem zamiast zajmować
się rodzinką to siedzę przed kompem, robię jakieś pierdoły i udaję (przed
samym sobą), że ciężko pracuję. Ech…