Wreszcie jakiś release, a nawet trzy

Dość tego ukrywania moich wypociń przed światem. Szczególnie że ostatnie wydanie PyXMPP
(0.3) nie działało z ostatnimi wydaniami libxml2 (>=2.6.7). Nawet w PLD Ac był taki
niedziałający zestaw. Wczoraj siadłem do kompa i wydałem kolejne wersje wszystkich moich
aktywnych Jabberowych projektów: PyXMPP
0.4
, CJC 0.4 i JJIGW 0.1. Wszystkim im jeszcze wiele
brakuje, ale używać się dają. CJC ma już nawet paru swoich wiernych użytkowników, a po
wczorajszym wydaniu już pojawił się nowy bugreport.

Dzisiaj dostałem polecenie służbowe od szefa: zainstalować
TeamSpeak na naszym serwerze gier.
Szkoda że to zamknięte binarki, ale w końcu i tak większość gierek które tam mamy
to też zamknięty soft, nawet bardziej. Serwerek zainstalowałem i zacząłem się zastanawiać
nad kupnem słuchawek z mikrofonem do zabawy z tym w domu. Ale szef nas zaskoczył i przywiózł
5 kompletów takich (niestety nie za darmo). W firmie już testowaliśmy i fajnie jest. Może
sobie kupię takie słuchaweczki, a może nie.

Niech się święci 4 maja

Dzisiaj urodziny (drugie) Krysi. Więcej o tym pewnie żona. Ja tylko wspomnę, że byłem pod wrażeniem jak
jubilatka świeczki zdmuchnęła. Wszyscy byli zachwyceni, poza nią samą – ona
wolała jak się świeciły.

A oto co mnie się dzisiaj zdażyło: idąc na pocztę spotkałem dwóch robotników
z budowy, którzy chcieli 40gr, bo im brakowało na piwo. Jeden miał na koszulce
pingwina (raczej zupełnie nielinuksowego). Dałem im mówiąc, że to tylko z powodu
pingwina. Zdziwili się: A co pingwin ma z tym wspólnego. Pokazałem im
pingwiny na mojej koszulce (Pingwinaria 2003). Uznali że zrozumieli.

Na poczcie odebrałem dwie przesyłki – obie z Allegro. Jedna do żony –
spodenki dla małej. Druga do mnie – karta WLAN na PCMCIA: Compex iWavePort
WL11B+. Z Google nie wiele wynikało na temat jej działania w Linuksie, ale mimo
to zaryzykowałem i kupiłem ją na Allegro. Długo nie docierała, a ze sprzedawcą
prawie zupełnie nie było kontaktu, ale w końcu jest. Oczywiście jeszcze dzisiaj
musiałem sprawdzić co jest warta. Okazało się że rzeczywiście jest na chipsecie
Agere, jak wcześniej wygooglałem i że producent chipsetu udostępnia sterowniki
pod Linuksa z pełnymi źródłami na licencji BSD-like – a więc super – jednak
tylko dla kernela 2.4 (wolałbym dla 2.6). Ale jestem dobrej myśli – jak są
źródła, to na pewno jeszcze coś z tego będzie. Mogę poczekać. A właściwie nawet
muszę, bo do mojej drugiej karty – Compex WLU11, na USB – jeszcze sterowników w
ogóle nie ma.

Ostatnio znowu dużo czasu marnuję rżnąc w Crossfire. Jednak ogrywają mnie na
moim własnym serwerze. Mimo to
udało mi się znaleźć parę chwil dla moich projektów. Poprawiłem parę drobiazgów
w CJC i zabrałem się znowu za JJIGW. Może uda mi się zrobić
wydanie całej trójcy – tych dwóch wraz z biblioteką PyXMPP.

Holandia?

Dostałem dzisiaj ciekawego majla:

Hello,

Is there already someone busy with translation your jabber-gg-transport into
dutch? If not, I will translate it. This will take a week, a month,… but it
will not take longer than 2 months normally. 🙂

Włączając mechanizmy gettext do kodu transportu GG nie sądziłem że będą
potrzebne do czegoś więcej niż język polski. Ale jak ktoś chce robić
holenderskie tłumaczenie… niech robi :-)

Prawie skończyłem implementację vCard w PyXMPP. Działa już wczytywanie
Jabberowego vcard-temp i standardowego formatu MIME directory
(RFC2426/RFC2425) oraz zapisywanie tego drugiego. Trzeba jeszcze przetestować
kompatybilność z innymi implementacjami RFC2426 (jakieś address-booki) oraz
dodać tworzenie XMLowej wizytówki. Wtedy będzie można implementować
/whois w CJC i w JJIGW.

W domu zacząłem co-nieco sprzątać. Jeśli w weekend (gdy przyjeżdża żona) ma
być czysto, to muszę zacząć już teraz ;-).

Ktoś se robi jaja, ja se robie jaja…

To zacznę od siebie – w zeszłym tygodniu zainstalowałem sobie
jabberd-2.0b1 na jabber.bnet.pl. Fajny nowy serwerek Jabbera,
obsługujący XMPP w tym autentykację SASL, szyfrowanie StartTLS,
privacy-lists. W ogóle super… tylko że beta. Więc się sypał na okrągło
trochę błędów znalazłem, część poprawiłem, wszystkie zgłosiłem na
JabberStudio (poprawione wraz z patchami). Teraz działa już nieco
lepiej, ale do stabilności jabberd-1.4.x (który swoją drogą był niezłym
i przestarzałym bublem) wciąż mu daleko. :-(. Podziwiam
cierpliwość swoich userów :-).

tkabber-0.9.5beta miał błąd w obsłudze SASL, więc go musiałem sobie
poprawić (zgłosiłem oczywiście też alekseyowi), mając już serwer
obsługujący StartTLS dodałem też tego obsługę do PyXMPP i CJC (trzeba
jeszcze dokończyć weryfikację certyfikatu i obsługę błędów).

Tydzień temu kupiłem (na koszt firmy) kartę muzyczną do mojej stacji
roboczej w pracy. Nie miałem głośniczków, więc do testów pożyczyłem
słuchawki od kumpla – karta działała. Dzisiaj wreszcie skombinowałem
głośniczki. Próbuję coś zagrać… i cisza. :-( Kombinowałem
ze sterownikami – nic, podłączyłem te same słuchawki co poprzednio
– nic, zmieniłem slot PCI – nic. W końcu sprawdziłem jeszcze na
komputerze kolegi (z Windows) – też cisza. To fajnie się tym dźwiękiem
pobawiłem… Na szczęście kumpel miał dzisiaj przy sobie inną kartę
– podobno zepsutą, która „charczy”. Ale zawsze lepsze „charczenie” niż
PC-speaker.

Od piątku mamy problemy z łączami międzynarodowymi. Podobno to przez
atak DDOS na operatora który daje nam łącza – nie mogli się doprosić
o przyblokowanie tego u operatora który daje im łącza międzynarodowe.
Dzisiaj pingi wróciły do normy, nam wszystko działa pięknie, ale klienci
dzwonią że u nich nie. Okazało się, że z naszego routera łączność
w świat jest, ale już od klientów nie. Później okazało się, że gdzieś
w Świecie walnięty jest routing na 1/8 naszej przestrzeni adresowej
– akurat ten zakres adresów który przydzielony jest klientom sieci
osiedlowych… Albo jakiś admin machnął się przy konfiguracji routerka,
albo jakiś chakier bawi się czyimś routerkiem. W każdym razie na szybkie
rozwiązanie problemu podobno nawet nie mam co liczyć :-( .
Ale jak to przetłumaczyć klientom???? :-(

Wydałem CJC i znikam

Wczoraj wydałem
PyXMPP
i CJC
w wersji 0.2. CJC – Console Jabber Client – to klient Jabbera na
terminale tekstowe z interfejsem użytkownika podobnym do tych znanych
z popularnych klientów IRC takich jak: irssi czy BitchX. Nie jest
jeszcze skończony (a jaki program jest?) – brakuje w nim między innymi:
rejestracji nowych kont, rejestracji w transportach oraz wyszukiwania
użytkowników, ale poza tym podstawowa funkcjonalność jest i działa. Jest
też przynajmniej jeden użytkownik, który używa CJC regularnie (nie ja)
:-).

Jeżeli w tym co wydałem są jakieś poważne błędy to, niestety, mają
szansę być poprawione dopiero po ósmym września. Wtedy wrócę z wczasów
na które wyjeżdżam dzisiaj wieczorem. Teściowie z większością bagaży
wyjechali już dzisiaj rano, żeby na miejscu – w Pogorzelicy – wszystko
na nasz przyjazd przygotować. My zaszaleliśmy i zarezerwowaliśmy sobie
przedział sypialny w pociągu – nie bardzo sobie wyobrażamy podróż z
dzidziusiem samochodem na drugi koniec Polski (ostatnio godzina jazdy
była dla niej trudna do wytrzymania). Koszty takiej podróży są
olbrzymie (za dwie osoby to będzie ponad 300zł), ale na pewno wygoda
większa. Gorzej na miejscu – tam samochód się przydał, a teść pewnie nam
swojego nie będzie dawał. Trudno.

„Lesia” przeczytałem i nawet mi się podobał. W najbliższym czasie
nie będę jeździł komunikacją miejską, więc pewnie literaturę sobie
odpuszczę, ale mogę się zastanawiać co następnego czytać gdy znowu będę
musiał do roboty jeździć.

Przemogłem się…

… i zacząłem pisać manuala do CJC. Co prawda CJC jeszcze nie
skończone, ale przynajmniej teraz jest jeszcze mało do dokumentowania. Chyba
wszyscy programiści się ze mną zgodzą, że to najgorsza część roboty (chyba tylko
dokumentacja kodu jest gorsza, dlatego PyXMPP dłużej będzie się bez
dokumentacji). Dobrze, że przynajmniej DocBook jest taki fajny.

Piszę po angielskawemu i ktoś to kiedyś będzie musiał na angielski
przetłumaczyć. Polskie tłumaczenie też by się przydało, ale ja tego pisać nie
będę.

W sobotę jedziemy z rodzinką (żona, córka, teściowie) na wczasy. Zaszalałem
i już parę tygodni temu zarezerwowałem przedział sypialny w pociągu, bo
wielogodzinnej jazdy samochodem z dzidziusiem sobie nie wyobrażam.

Wczoraj spotkaliśmy znajomych żony na placu zabaw z dzieckiem. Mieli takie
fajne nosidło ze stelażem do noszenia dziecka. Wsadziłem w to Krysię, wsadziłem
na plecy – i nic – nie czuć tych 10kg. Zaraz pomyśleliśmy, że przydałoby nam się
to na wczasach, przecież wózkiem po plaży nie będziemy jeździć. Tylko czy to się
na pewno sprawdzi? I gdzie to kupić? Na Allegro mają nawet takie za 83zł, ale
żonie nie udało się ze sprzedawcą skontaktować, nie wiadomo czy do czwartku by
doszło no i za 83zł to może być badziewie. Ja na chwilę urwałem się z pracy,
żeby zobaczyć co w sklepie można kupić – jest tam nosidło Chicco za 240zł.
Trochę dużo jeśli miało by się nie sprawdzić, więc jeszcze się wahamy.

Zabcia – finał?

Dostałem kolejnego SMSa od Zabci. Wygląda na to, że ostatniego
:-( Wygląda też na to, że Zabcia nie przez pomyłkę wysyła do mnie
te SMSy i że ta prawdziwa żabcia czyta Joggera – dzisiejszy SMS zawiera
odwołania do mojego joga, a zarazem cechy charakterystyczne dla jej pierwszych
SMSów, których tu nie publikowałem.

Coraz bardziej jestem ciekawy kto jest tą żabcią. Więc Żabciu, proszę,
ujawnij się kimkolwiek jesteś :-) (żona w tym momencie
powiedziała „ekhm ekhm”, ale ja bym się tym nie przejmował)

Dzisiaj, Poza czytaniem SMSów, dalej pracowałem nad CJC. Postanowiłem zacząć
kończyć „partyzantkę” i od dzisiaj CJC plik konfiguracyjny trzyma
w ~/.cjc/ a nie w bieżącym katalogu i może być odpalony
skądkolwiek, a nie tylko z bieżącego katalogu. Zaimplementowałem także kilka
ficzerów o które poprosił najwierniejszy użytkownik – takich jak obsługa części
klawiszy tak jak to robi readline, czy obsługa skalowania okienka
terminala.

Dzisiaj też doczytałem do końca w autobusie i tramwaju kolejną książkę.
Ostatnio umilam sobie godzinną podróż do pracy autobusem i podobną z powrotem
tramwajem czytając książki. Czytam to co mi najłatwiej zdobyć – książki
Chmielewskiej, których żona ma chyba komplet. Może to i mało ambitna, babska
literatura, ale parę z nich mi się bardzo spodobało. Chyba najbardziej właśnie
„Lądowanie w Garwolinie”, które skończyłem czytać dzisiaj (żonie akurat ta się
nie podobała) – niezłe jaja w postaci inscenizowania lądowania kosmitów w PRL
lat 60-tych.

Różne takie…

Zeszły tydzień w pracy był dość ciężki – przenosiliśmy się do nowej siedziby.
Poniedziałek, wtorek i środę spędziłem głównie na walce z kabelkami. Siedzibę
dostaliśmy wraz z czymś w rodzaju okablowania strukturalnego (coś w rodzaju, bo
w niektórych pomieszczeniach nie było gniazdek, w innym były 3, a w jednym
malutkim pokoiku chyba ponad 20). Kable od szafy poprzednika były podobno
odcięte pilarką kątową i zupełnie bez oznaczeń. Miałem więc 75 ponumerowanych
gniazdek, 75 przewodów bez jakichkolwiek oznaczeń (na szczęście połączone po
trzy) i trzy patch-panele po 24 porty. 3 kable/gniazdka mogłem sobie odpuścić,
ale i tak trzeba było określić który kabel jest z którego gniazdka i kolejno
zamontować na patch-panelu. Pierwszego dnia próbowaliśmy różnych metod, czasem
godnych MacGyvera (zanurzanie końca kabla w wodzie ze słonymi paluszkami
i mierzenie oporności w gniazdku – metoda bardzo skuteczna dopóki wszystkie
kable nie były mokre) z mizernym skutkiem. We wtorek użyliśmy już metod bardziej
cywilizowanych i skutecznych, ale za to żmudnych. Potem przez dwa dni montowałem
kabelki na patch-panelach. Czasem tylko mi przerywano jak musiałem pomóc komuś
coś przytargać na górę (meble, UPS itp.).

Po zmontowaniu wszystkiego i pokrosowaniu ładnie gniazdek do switcha
i centralki telefonicznej nawet coś (internet i telefony) zaczęło działać,
ale telefony tylko w jedną stronę – do nas można było się dodzwonić (ale mało
kto znał nowy numer), ale od nas nie. Trzy osoby, łącznie z szefem, chyba 2h
próbowały centralkę poprawnie skonfigurować, aż szef nie wytrzymał i kupił nową
(przy okazji sporo lepszą). Zanim nowa centralka dotarła, kolegom udało się
skonfigurować starą. Ale telefony długo nie podziałały, bo nową trzeba było
podłączyć i skonfigurować – znowu prawie cały dzień bez telefonów :-).

A'propos telefonów ostatnio zdarza mi się jeszcze coś ciekawego – dostaję
jakieś SMSy od niejakiej „zabci“. Dość pikantne, zresztą zamieszczam
dzisiejszy (chyba 4 z kolei). Dzieci proszę o nie czytanie tego.

Ale mam ochote posiedziec ci naga na kolankach, poczuc jezyczek na swoich
piersiach, poocierac sie rozkosznie wilgotna… o Twojego … tak zebys w pewnym
momencie zlapal mnie mocno za bioderka i wbil sie az do dna… Cmok, milego dnia
;-*

Żonę to chyba trochę wkurza, ale ja nie wiem czemu. Nie przypominam sobie
abym znał jakiegoś napalonego płaza.

Nieprzyzwoite SMSy w przeciwieństwie od przeprowadzki w pracy nie odrywają
mnie od pracy nad CJC i ten mój kliencik Jabbera nieźle się rozwija. Ten wpis
pójdzie jeszcze przez tkabbera, ale następny – kto wie…

Dawno nie pisałem

Dawno nie pisałem, bo ostatnio każdą wolną chwile przy komputerze spędzałem
ulepszając mojego Konsolowego Klienta Jabbera (CJC). Jest to coraz bardziej
użyteczny programik. Z podstawowych rzeczy brakuje mu teraz chyba jedynie
obsługi subskrypcji obecności i dodawania użytkowników – do zrobienia w ciągu
najbliższych dni. Cały czas szukam chętnego do ulepszenia wyglądu mojego
programiku – ja nawet nie umiem dobrać sensownych kolorków do rostera.

Od pierwszego sierpnia będę pracował w nowej siedzibie firmy 🙂
i od jutra czeka mnie przeprowadzka :-(. Ale może mi się uda uniknąć
najgorszej roboty.

Operator naszego głównego łącza „w świat” w piątek w nocy coś „naprawiał”
i do rana praktycznie nie mieliśmy Internetu. To bardzo duży problem odkąd
prowadzimy Biuletyn Informacji Publicznej dla całego miasta – ta usługa nie może
nie działać. Dlatego zastanawiałem się nad postawieniem BGP (mamy jeszcze jedno
łącze do polpaka). Ale jak dowiedziałem się jakie to koszty (kilka tysięcy zł.
miesięcznie od każdego operatora, nie mówiąc już o routerze który to
pociągnie), to ten pomysł musiałem sobie podarować. Inny pomysł podrzucił szef
– nasze łącze do polpaku słabe i zapchane, ale od bardzo długiego czasu nie
leżało – więc może by tak ruch z tego polpaku wyrzucić na drugie łącze, a polpak
zostawić na BIP. No ale to wiązałoby się z przeadresowaniem dużego kawała sieci
i sporymi zmianami w routingu, a pozatym ruch na głównym łączu wzrósł by o kilka
Mb/s. Jest też pomysł zestawienia nowego polpaka, ale to znowu koszty. Ciekawe
na czym stanie.

Aleksey Shchepin zasugerował, że powinienem zgłosić się do Jabber Council.
Spytałem Petera Saint-Andre co o tym sądzi i też stwierdził że to dobry pomysł.
Naskrobałem więc swój „position paper”, ale jeszcze nie wysłałem (mam czas do
końca miesiąca), bo nie ufam w swój angielski i umiejętności pisania takich
rzeczy. Dam jeszcze komuś do przejrzenia, zrobię ewentualne poprawki i wtedy
wyślę. Byle bym tylko nie przegapił terminu! Może się też okazać, że nie
przyjęli mnie do JSF (powinni zadecydować do 24 lipca, ale jeszcze nie znam
wyników), wtedy problem sam się rozwiąże.

Nie ufajcie swoim rosterom

Dzisiaj znalazłem buga w Psi,tkabberze,Gabberze. Pewnie jest też w większości innych klientów. Jedyny który się oparł atakowi to mój CJC. 😉 Niektórzy już się przekonali jak to działa, a wielu się pewnie dopiero przekona, bo wysłałem właśnie informację (wraz z exploitem) na bugtraq, jadmin i jdev. Ale inaczej nie dotarłbym do autorów wszystkich klientów, więc tak chyba lepiej.

Życzę szybkich poprawek w waszych ulubionych klientach. 🙂