28 czerwca 2003
16:58:54
|
kategorie:
transport gg,
Jak obiecałem tak zrobiłem. Transport GG w wersji 2.0.6 jest już dostępny. Najważniejsze zmiany to:
- Poprawiony błąd który powodował wywrotkę transportu po otrzymaniu
wiadomości od niezarejestrowanego użytkownika (zdalny DoS).
- Poprawiona obsługa zmian obecności - teraz jggtrans powinien prawidłowo
obsługiwać wiele sesji Jabbera jednego użytkownika.
- Usprawniona obsługa statusów niedostępnych kontaktów - powinny być one
widoczne w większości klientów.
- Polecenie import roster zostało oznaczone jako "nie zalecane", a w
formularzu rejestracyjnym można wybrać pobranie listy kontaktów analogiczne
do działania komendy get roster.
- Anulowanie subskrypcji transportu na obecność użytkownika (wywalenie
transportu z rostera, lub zmiana subskrypcji na "to" lub "none") nie powoduje
wyrejestrowania użytkownika z transportu - pozwala to na uniknięcie
automatycznego logowania do transportu.
Wygląda na to że wersja ta działa stabilnie, a przynajmniej stabilniej od
poprzedniej. Uaktualnienie raczej zalecane, ale oczywiście "NO WARRANTY". ;-)
28 czerwca 2003
13:16:27
|
kategorie:
linux,
programowanie,
Mimo, że jogger nie służy do dyskusji dołącze się do wątku
zgody
i mmazura.
Zgadzam się z mmazurem. Dodałbym jeszcze coś - ja nie umiałbym pisać programu
od razu według założeń jak ma wyglądać produkt końcowy. Po prostu tego na
początku nie wiem. Oczywiście jest założony jakiś konkretny cel, ale można by go
osiągnąć na setki sposobów. Jak w parę godzin zrobię jakoś działającą
prowizorkę, to wiem co w niej jest nie tak, co należy zmienić, co dodać
i z czego zrezygnować. Czasem wiąże się to z pisaniem od nowa (nie jest to
dużo, jak już się wie jak), czasem wystarczy ulepszyć prowizorkę, a czasami
się ją po prostu porzuca - gdy okazuje się że projekt mnie przerasta, albo
uznam go za za mało ambitny czy użyteczny. To jest wolność jaką daje mi
hobbystyczne programowanie Open Source - mogę robić to co sprawia mi satysfakcję,
a z innych projektów zrezygnować. Dlatego też w pracy wolę być administratorem,
a nie programistą - daje mi to czas na programowanie jakie lubię.
Z zaczynaniem od prowizorki wiąże się jeszcze coś - nie zaczynam
"oficjalnie" projektu (np. przez założenie go na JabberStudio), póki nie mam
jeszcze jakoś działającego kodu, który nadaje się do dalszego rozwoju.
Oczywiście czasem okazuje się że poszedłem błędną ścieżką i w pewnym momencie
programu nie da się dalej rozwijać z powodu błędnych założeń - tak jest np.
z moim apingerem. Używają
tego chyba setki ludzi na całym świecie, dostaję ileś majli w sprawie jego
błędów i ograniczeń, ale żeby to poprawić musiałbym napisać to od początku.
Nie chce mi się - bo u mnie działa. Smutne, ale tak wyglądają ograniczenia
Open Source. A co do samych ograniczeń tego projektu - wynikały one głównie
z tego, że miał być to program bardzo prosty, a urósł do czegoś poważniejszego
- pierwotne założenia zostały osiągnięte, ale jak program się rozwijał, to
oczekiwania rosły. Nie wyobrażam sobie jednak, żebym miał coś zaczynać tworzyć
zakładając od razu wielki projekt - tworzenia dużych projektów nawet się nie
podejmuje. Linus też nie zaczynał pracy nad Linuksem z myślą o stworzeniu
w pełni funkcjonalnego i bardzo popularnego systemu operacyjnego na wiele
platform sprzętowych. Pierwotne założenia nie dość że różniły się od tego czym
Linux jest dzisiaj, ale w wielu miejscach były z tym sprzeczne. Ale przecież
jeden człowiek nigdy by nie zaczął pracy nad tak wielkim projektem.
A może ktoś zna jakiś duży projekt Open Source, który odniósł sukces, a prowadzony był "profesjonalnie" (według definicji zgody)?
Starczy tego, teraz czas zająć się obiecanym wydaniem nowego transportu
GG...
27 czerwca 2003
19:11:05
|
kategorie:
rodzinka,
transport gg,
zdrowie,
Jakoś dochodzę do siebie po środowej operacji. Wczoraj byłem w Bytomiu na
kontroli i dowiedziałem się, że wyjątkowo mało spuchłem jak na taki zabieg.
A żona i tak twierdzi że wyglądam "jak pół chomika". Po kontroli wpadłem do
firmy oddać L4 i zrobiłem przy okazji parę pilnych rzeczy, z którymi beze mnie
by sobie nie poradzili. Problemem oczywiście wciąż było (i nadal jest) jedzenie
- obiad jadłem z 5 razy dłużej niż zwykle, a po nim byłem potwornie zmęczony
i obolały. W nocy, jakby jeden chory w rodzinie to było mało, Krysia dostała
gorączki (38.4) i zamiast spać była pełna energii. Musiałem się ewakuować do
drugiego pokoju na podłogę. Czasem jakoś znosiłem jak łaziła mi po twarzy, ale
teraz to było wykluczone.
Dzisiaj obudziłem się bardziej obolały niż wczoraj. Do pracy ani nigdzie
indziej nie musiałem iść, więc żeby się czymś zająć zabrałem się za
Transport GG. Postanowiłem wreszcie poprawić parę błędów o które userzy mnie
od jakiegoś czasu męczą. Ale mogłem spokojnie to olać, bo najwyraźniej nikomu
bardzo na tych poprawkach nie zależało - nikt nie zgłosił żadnego z tych błędów
na JabberStudio. Przy okazji znalazłem
buga, który pozwala na bardzo prosty zdalny DoS - wywalenie transportu jedną
wiadomością. Oprócz tego poprawiłem obsługę statusów opisowych niedostępnych
użytkowników (przy okazji okazało się, że wina, przynajmniej u mnie, jest w
połowie po stronie jggtrans, a w połowie po stronie tkabbera - w obu podobno
poprawione), obsługę zmian dostępności (brana pod uwagę jest tylko dostępność
zasobu o największym priorytecie) i chyba jeszcze jakieś drobiazgi. U siebie już
to zainstalowałem, jak nic się nie wysypie to prawdopodobnie jutro będzie
release wersji 2.0.6.
25 czerwca 2003
15:17:36
|
kategorie:
zdrowie,
(co bardziej wrażliwi niech lepiej ominą ten wpis)
Właśnie wróciłem ze Specjalistycznej Przychodni Stomatologicznej w Bytomiu.
W pokiereszowanych ustach mam jakiś zakrawiony wacik, którego boję się wyjąc,
pluje krwią i ze strachem czekam na moment w którym znieczulenie przestanie
działać. Ale zacznijmy od początku...
Dzisiaj rano tam pojechałem na zabieg, na który zapisałem się jakieś dwa i pół miesiąca temu.
Już wtedy mnie ostrzeżono, że mimo że jestem zapisany na 9:30, to mogę czekać
do południa, albo i dłużej. Dlatego wziąłem sobie od żony książkę do czytania
w autobusie i na miejscu. Przeczytałem prawie całą, gdy o 12:15 zaproszono mnie
na salę operacyjną. Pani poradziła zdjąć koszulkę, bo będzie mi za ciepło i dała
fartuszek "żeby mnie nie ubrudzić jak będzie trzeba kość piłować". Pocieszające.
Potem doktor się upewnił, że chodzi o lewą ósemkę, przy okazji się dowiedziałem,
że prawa kwalifikuje się na taki sam zabieg...
Zabieg zaczął się od znieczulenia. Zaczęło działać bardzo szybko - widać coś
mocniejszego niż używa moja dentystka. W ruch poszedł skalpel - coś mi tam
pocięli. Później długo na zmianę było jakieś wiercenie, podważanie i próby
wydłubywania. Ząb wyraźnie dawał opór, a chirurga najwyraźniej to też wkurzało.
Słyszałem tylko "co za cholerna ósemka", "ten za krótki daj dłuższy", "może coś
szerszego", "dawaj korzeniowce", "teraz trzonowce" itd. itp. W tym czasem
znęcano się nad moją paszczą. Ząb i bezpośrednie okolice były znieczulone, ale
szarpanie szczęką i tak nie jest przyjemne, poza tym asystentka ciągle odciągała
mi policzek, a narzędzia zbrodni czasem trafiały na inne nie znieczulone
miejsca. Twardzielem nie jestem, więc od pewnego momentu wiłem się, trzęsłem
i jęczałem. Za to dostawałem opieprz od chirurga. Dowiedziałem się też, że to
wszystko przeze mnie, bo się upierałem na ten termin (co jest oczywiście
nieprawdą) i parę innych nieprzyjemnych rzeczy. Minimalna ulga przychodziła
tylko pani doktor (asystentka?) przytrzymywała mi głowę dociskając do swoich
piersi - przynajmniej można było pomyśleć o czymś innym ;-)
Jak próby podważania i wydłubywania zęba nie dawały rezultatu, to najpierw
postanowiono przeciąć zęba. To też nie dało żadnych rezultatów (co okazało się
po kolejnych kilkunastu minutach dłubania). Potem piłowano mi kość szczęki. Też
okazało się że mam wyjątkowo grubą (i to też pewnie moja wina). W końcu udało
się tego zęba wyciągnąć (w kilku kawałka). Jeszcze tylko zszywanie i mogłem na
chwiejnych nogach opuścić salę. Wcześniej lekarz powiedział mi co mam łykać i że
po L4 mam się zgłosić jutro. Spytałem się czy to konieczne - i znowu pretensje
że co ja z Gliwic nie mogę dojechać? Że tam idę na zabieg, a na kontrolę gdzie
indziej? itp. Oczywiście kontrola tam ma sens, ale na początku była mowa tylko
o L4...
Teraz nie wiem co o tym myśleć. Lekarz nie traktował mnie miło, ale ze
strony medycznej raczej nie mam podstaw mu nic zarzucać. Zresztą trochę rozumiem
jego zdenerwowanie, szczególnie jak dopisali mu paru dodatkowych pacjentów. No
i mój przypadek też był podobno wyjątkowy. I czemu akurat mnie się musiało za to
dostać? Mam jeszcze drugą ósemkę do wyrwania i nie wiem czy iść z nią też tam,
czy gdzie indziej. W sumie tam tę godzinkę jakoś wytrzymałem i dalej wierzę że
trafiłem w ręce fachowców. Gdzie indziej może być przecież gorzej, ale może też
być i dużo lepiej. Na razie jednak nigdzie się z tym nie wybieram...
24 czerwca 2003
09:51:49
|
kategorie:
cjc,
zdrowie,
Konkurencja nie śpi - w ekg pojawiły się podstawy obsługi Jabbera, więc i ja
postanowiłem opublikować swoje wypociny. Ze strony
projektu XMPP
można ściągnąć snapshot tej biblioteki wraz z konsolowym klientem Jabbera
- CJC. Kiedyś będzie to niezależny projekt, ale to dopiero jak PyXMPP się
ustabilizuje. Na razie CJC nadaje się jedynie do prostego czatu, ale już
daje jakiś pogląd na to, jak ja sobie to wyobrażam. Jak ktoś ma jakieś
opinie czy sugestie na ten temat, to proszę dać znać.
A jutro czeka mnie operacyjne usuwanie ósemki (zęba). Mam się tam stawić
o 9:30, ale może będę musiał czekać i do 13:00. Nawet nie chcę wiedzieć jak
to ma wyglądać i jak długo po tym nie będę mógł jeść.
16 czerwca 2003
18:16:05
|
kategorie:
praca,
sieci,
Jako admin ostatnio raczej się obijałem. Zajmowałem się jedynie programowaniem
Jabbera i ostatnio zacząłem się zastanawiać nad tym, że wszystko działa, nic
nie pada i właściwie to nic lepszego do roboty nie mam (poza odebraniem paru
telefonów od klientów i wysłaniem do nich serwisu). Dzisiaj miał być kolejny
taki dzień - spędzony nad pracami CJC, ale...
Jak tylko przyszedłem do pracy szef mnie poinformował, że jakiś klient dzwoni,
że mu poczta nie działa. Szybko okazało się, że mnie też nie działa - jak ma
działać, jak nasz główny serwer pocztowy padł. O drugiej w nocy postanowił sobie
zrobić przerwę. Akurat temu serwerowi taki niewyjaśniony pad zdarzył się chyba
pierwszy raz od jakiś dwóch lat. Nie odpowiadał nawet na Magic-SysRq przez
konsolę szeregową (później się okazało że to nie serwer, ale nowy minicom,
w którym znowu zmieniły się skróty klawiszowe), więc poszedłem do serwerowni (na
centralę TPSA), gdzie jeszcze na konsoli widniał piękny Ooops z kernel panikiem.
Po restarcie wszystko ruszyło bez problemu, więc mogłem wrócić do pisania CJC...
Okazało się że dzisiaj wreszcie było wszystko gotowe do podłączenia kolejnej
sieci (a właściwie podzielenia istniejącej). Kumpel zrobił nowego VLANa
i system zawisł (tym razem w innej maszynie). To akurat się zdarzało czasem. Po
reboocie VLAN działał już poprawnie, ale dhcpd przywitał nas komunikatem
"eth2.60: not found". Wszystko inne widziało ten interfejs. Po chwilach zabawy
z ifup/ifdown itp. dhcpd przestał też widzieć "eth2.59", "eth2.58" i "eth2.21",
a w końcu zawisła częściowo obsługa sieci. Pomyślałem, że to dobra okazja, żeby
wreszcie zrobić upgrade kernela, bo miałem jeszcze jakieś stare 2.4.19. Po
restarcie (twardym bo przy tym zwisie nie dało się czysto położyć systemu)
musiałem poczekać aż fsck poprawi root filesystem. Na / miałem wciąż ext2 więc
uznałem że to też można od razu zmienić na ext3. Poprawiłem fstab,
przegenerowałem initrd, ale chyba nie zrobiłem "tune2fs" jak należy i po
restarcie system nie umiał zamontować /. Po starcie z zapasowego wpisu w lilo
niby system wstał, ale VLANy nie wstawały - pomyślałem, że do nowego kernela
potrzeba nowego pakietu vlan. Więc odpalam poldka, a ten mi "poldek.conf:
input/output error". Plik niby był w /etc, ale nie można było go nawet skasować,
a co dopiero przeczytać. fsck niby coś poprawiał, ale nic nie poprawił. Po
którejś próbie straciło się jeszcze /etc/inittab, /etc/rc.d i parę innych,
bez śladu nawet w /lost+found. Robiło się wesoło. Jednak się nie poddałem (w
końcu gdzieś jeszcze mam backupy) i zrobiłem ten ext3. System nawet z tego
wystartował, a kolejny fsck (teraz pracujący na ext3) wywalił błędny
poldek.conf, a zgubione pliki wkleił do /lost+found. Wszystko wróciło do normy,
upgrade kernela się udał. Nawet VLANy działały jak trzeba (wcześniej nie działały
prawdopodobnie do tego, że zmieniła mi się nazwa modułu do sieciówki). Nadszedł
czas spróbowania dhcpd...
Jak odpaliłem wcześniej w single, to ruszył. Później w działającym systemie już
nie: "eth2.60: not found". Pozostało zajrzeć do źródeł. Szybko znalazłem
odpowiednią funkcję w common/discover.c. Okazało się, że dhcpd na listę
interfejsów przeznacza bufor o wielkości 2048 bajtów, a przy ponad 50
interfejsach to nie wystarczało. Zmieniłem na 65536, przekompilowałem...
i działa :-) Od razu zmianę wrzuciłem do CVS PLD, może jeszcze komuś się przyda.
Ostatecznie byłem z siebie zadowolony, a nawet stwierdziłem że tego mi było
trzeba. Czasem lubię sobie poadminować, byle nie za często :-)