24 lipca 2005
18:43:28
|
kategorie:
jabber,
programowanie,
transport gg,
Od jakiegoś czasu do źródeł transportu GG włączona jest biblioteka libgadu
(na dostępnych pakietach z libgadu nie można polegać). W libgadu ostatnio
znaleziono poważne błędy, więc trzeba było ją uaktualnić. Przy tej okazji
zajrzałem do kodu transportu GG... i wreszcie się porządnie za niego zabrałem,
co w rezultacie dało dzisiejsze
wydanie wersji 2.2.0.
Od wersji 2.1.0 zmieniło się wiele. Większość jeszcze w lutym. Najważniejsze
zmiany to:
- Wspomniane już włączenie libgadu do źródeł transportu.
- Ignorowanie wybranych numerków.
- Ustawianie osobnych statusów dla GG, można też ustawić specjalny status
używany podczas niedostępności i niewidzialności.
- Wywalenie całkiem zmiany haseł. Stary kod i tak nie działał z nowym
protokołem (wymagającym czytania kodów z obrazków), a nowy protokół byłby
dość niepraktyczny w implementacji.
- Kupa różnych poprawek.
- I chyba najważniejsze: obsługa subskrypcji obecności per-kontakt. Teraz
powinny działać listy prywatności, ustawianie online/offline dla konkretnych użytkowników,
jednokierunkowe subskrypcje (ja go widzę, a on mnie nie) itp.
Z ostatnim punktem związana jest pewna niedogodność: po upgrade'zie
użytkownicy będą musieli potwierdzić autoryzację
dla każdego swojego
kontaktu z GG. To może być bardzo dużo klikania. Użytkownicy niektórych
serwerów mają już to za sobą, więc dobrze wiedzą o co chodzi.
Z poprawek wspomnieć mogę np. rezygnację z używania
GIOChannel
do czegoś, do czego się zupełnie nie nadają (śledzenie aktywności na sockecie obsługiwanym
przez coś innego niż GLib), czy wywalenie zupełnie niepotrzebnego (a pełnego
błędów) buforowania danych zapisywanych do strumienia XMPP. Ta druga zmiana
podobno spowodowała znacznie zmniejszenie obciążenia w dużych (tysiące zarejestrowanych użytkowników)
instalacjach transportu. A to buforowanie miało niby być optymalizacją... Poza
tym usunąłem ileś memleaków i innych błędów wykrytych przez Valgrinda.
Wersja
z wczorajszego wieczora już podobno całkiem stabilnie działała, a ja mam
nadzieję, że dzisiaj nie tylko poprawiłem kilka kolejnych błędów, ale i nie
wprowadziłem żadnych nowych. Jednak, jak znam życie, to pewnie za chwilę
dostanę parę bugreportów dotyczących jakiś nowych (a może i starych)
i strasznie głupich błędów. Jeśli tak, to postaram się szybko wydać poprawioną
wersję, jeśli nie, to pewnie kolejne wydanie będzie za jakiś rok albo i później.
19 lipca 2005
20:19:42
|
kategorie:
samochód,
sieci,
sprzęt,
Dzisiaj znowu dwa razy (raz pod przychodnią, raz pod dworcem PKP)
zahaczyłem zderzakiem o krawężnik. Ten drugi raz to był akurat o ten jeden
raz za dużo i kawał zderzaka mi się odłamał. Nie mógł tak wisieć (to już
będzie zagadka dla mechanika — czy da się to jeszcze poskładać), więc
trzeba było coś z tym zrobić. Ale co to dla mnie? ;-) Wyciągnąłem
z torby zestaw naprawczy, czyli metrowy patchcord zakończony wtykami RJ-45
(chyba nie krosowany) i przywiązałem to jakoś tak, żeby się trzymało. Jutro
tak jeszcze pojadę do pracy, a po południu do mechanika, niech mi przynajmniej
powie czy i co będzie trzeba kupić.
18 lipca 2005
22:01:32
|
kategorie:
praca,
sprzęt,
Gdzieś w okolicach marca/kwietnia stwierdziliśmy, że jedna z naszych maszyn
przestaje się wyrabiać i jak najszybciej trzebaby ją wymienić na mocniejszą.
Stara maszyna ma 2 Athlony MP 1800+, więc było wiadomo, że żadna
jednoprocesorowa maszyna nie starczy. Dodatkowo potrzebne było coś, co nam się
do szafy zmieści. Czyli maksimum 4U i 68cm głębokości. Drugi warunek okazał się
praktycznie nie do spełnienia dla nowoczesnych maszyn dwuprocesorowych, więc
szafa została powiększona o dupkę, a poszukiwania były kontynuowane po
złagodzeniu wymagań. Od początku chciałem coś z procesorami AMD, ale nic
ciekawego (o odpowiedniej mocy i nie za drogiego) u typowych producentów
serwerowych PeCetów (a więc: IBM, HP (dawniej Compaq) i Dell) nie znalazłem.
W końcu mi wyszło, że chcę IBM x336.
Wybór ten został wstępnie zaakceptowany przez szefostwo, bo cena
podstawowego zestawu, mimo że duża, była jeszcze znośna. Jednak gdy tylko
szef dowiedział ile kosztować to będzie po dokupieniu kolejnego procka i RAMu,
to propozycja upadła. Już miałem się zastanawiać nad jakimś składakiem, lub
po prostu dużo słabszą maszyną, gdy na newsach przeczytałem o Sun Fire v20z
z Opteronami. Że ja wcześniej nie wpadłem na to, żeby na strony Suna zajrzeć.
Udało się nawet jakoś znaleźć dystrybutora w Polsce (strony WWW Suna nie
ułatwiają znalezienia większości potrzebnych informacji). Dystrybutor za serwer
z wszystkim co potrzebujemy (2 procki, 2GB ram, dysk SCSI) zaproponował cenę
mniejszą niż ten wyjściowy
IBM z jednym prockiem i 1GB ram (i dwoma
dyskami, których nie potrzebujemy). Niestety, okazało się, że akurat pieniędzy
nie ma... przez jakiś czas słyszałem może w przyszłym tygodniu
, aż
w końcu zamówienie poszło i w ostatni piątek serwer do nas dotarł.
Już po przejrzeniu instrukcji (właściwie tylko ulotki, bo instukcje były na
płytce) dowiedziałem się, że ten serwer oprócz platformy
z dwoma
Opteronami itd. ma jeszcze Service Processor
, czyli Embeded PowerPC
z Embeded Linuksem, który kontroluje pracę całej maszyny. Maszyna ma więc
4 porty Ethernet — dwa gigabitowe z platformy i dwa 10/100 (właściwie
jeden z dwuportowym HUBem) z SP. Gdy serwer jest wyłączony, to SP pracuje
i można się na niego przez SSH zalogować i np. właczyć serwer. Oprócz tego cały
BIOS można obsługiwać przez port szeregowy. Tu na prawdę nie było sensu
podłączać monitora i klawiatury do serwera, żeby zainstalować system. Ja
zainstalowałem PLD z płytki PLD Rescue (wersja AMD64) używając konsoli
szeregowej. Ale mógłbym to nawet zrobić przez SSH posiłkując się SP (gdy
instalowałem PLD jeszcze SP nie miałem opanowanego ani skonfigurowanego).
Wszelkie eksperymenty z serwerem są bardzo proste — będąc fizycznie
zdala od maszyny można ją sobie włączać i wyłączać do woli, a konfigurację BIOSu
i systemu operacyjnego przeprowadzać przez konsolę szeregową (w razie potrzeby
tunelowaną po SSH).
SP pozwala też przeprowadzać pełne testy diagnostyczne
maszyny. Zresztą, przy tych testach dzisiaj wyszły dwie rzeczy. Pierwsza to to,
że większość testów nie chciała działać. Wywalały się one z komunikatem Unable to load module
, a w jednym przypadku Module
has disappeared
. Okazało się, że to dlatego, że SP miało firmware w wersji
2.1.0.16, a pliki pomocnicze z płytki, udostępnione mu przez NFS, były dla
wersji 2.1.0.8. Ściągnąłem z sieci firmware i pliki pomocnicze w wersji 2.2.0.18
i problem zniknął. Przy okazji zrobiłem upgrade BIOSu (wszystko zdalnie). Drugi
problem, to nie działający dysk. Dysk który przyszedł z serwerem albo nie był
wykrywany przez BIOS kontrolera, albo zaraz potem odmawiał współpracy. Nie
zauważyłem tego od razu, bo system instalowałem na starszym, mniejszym dysku, bo
73GB w tej maszynie nie są nam potrzebne. Ale skoro już dysk przyszedł, to
powinien jednak działać. No cóż... sprawdzimy jak działa serwis Suna. IBM
ostatnio nie wypadł najlepiej.
18 lipca 2005
20:33:31
|
kategorie:
zdrowie,
Po powrocie z pracy w łazience zaobserwowałem coś interesującego. Mam wyraźny
wzgórek łonowy ;-)... ej, coś tu nie gra... tylko z jednej
strony... raczej mi się to nie podoba. Poprosiłem żonę o opinię. Obadała
i stwierdziła do lekarza!
. No to zadzwoniłem, umówiłem się, wziąłem
prysznic
i pojechałem.
Lekarzowi powiedziałem, że zrobiła mi się taka buła nad lewym
jądrem
. Wypytał, od kiedy to mam, czy mnie to boli itd. W końcu przyszedł
czas na zdjęcie majtek i pokazanie problemu. Lekarz obmacał bułę
i ze
zdziwieniem stwierdził to wygląda na przepuklinę
. Później spytał co to
za praca po której mi się to pojawiło. Normalna, praca informatyka
.
Dzisiaj już zupełnie. Siedziałem osiem godzin na tyłku i bawiłem się nowym
serwerem. Co prawda, trzeba było coś w serwerowni poprzestawiać, ale do tego
oddelegowałem kolegów (fajnie czasem być kierownikiem działu
;-)). W każdym razie lekarz stwierdził przepuklinę i dał mi
skierowanie do chirurga. Zobaczymy co powie chirurg...
18 lipca 2005
10:56:03
|
kategorie:
oprogramowanie,
sprzęt,
Oto co znalazłem w licencji (nawet niespecjalnie długiej i wymyślnej) do
firmware i sterowników dla serwera Sun Fire v20z:
You acknowledge that Software is not designed, licensed or intended for use in
the design, construction, operation or maintenance of any nuclear facility.
Na tą licencję trzeba się zgodzić, klikając na Accept
aby ściągnąć
firmware i sterowniki. Żeby było śmieszniej wstęp do tej licencji mówi, że należy ją zaakceptować przed otworzeniem
opakowania z oprogramowaniem którego dotyczy. A samo oprogramowanie jest w większości na GPL. Na szczęście to akurat
ta licencja na ściąganie
uwzględnia. Ale już sam do końca nie wiem, czy jak ściągnę od nich to oprogramowanie
(GPL) to mogę przy jego użyciu budować bombę atomową, czy nie... no i jak otworzyć to opakowanie...;-)
17 lipca 2005
21:44:36
|
kategorie:
jjigw,
oprogramowanie,
pyxmpp,
Jakiś czas temu dostałem łatę na JJIGW dodającą obsługę
subskrypcji obecności użytkowników IRCa. Rzecz fajna, przydatna, aczkolwiek
z powodu specyfiki IRCa (zmieniające się nicki), ciężka do zaimplementowania.
Dzisiaj wreszcie znalazłem czas, żeby przejrzeć tego patcha. I nie
spodobał mi się. Parę rzeczy psuł (łamiąc specyfikację XMPP i MUC), parę innych robił nia tak jakbym
chciał. Ale zawierał też pewne poprawki mojego kodu. Najbardziej dokuczyły mi:
brak dokumentacji dodanego kodu i coding style
. Ale tego nie
śmiałem się za bardzo czepiać — mój kod JJIGW sam
z siebie jest kompletnie pozbawiony dokumentacji, a i śliczny nie jest.
Napisałem swoje uwagi do autora patcha. W sumie, nawet jakby nie chciał
tego poprawić, to bym patcha nałożył. Ręcznie, w większości po swojemu, ale
dodałbym te zmiany. Jednak gotowy kod, to zawsze coś. Szkoda, że rzadko dostaję
gotowe ulepszenia do moich projektów. No, ale cóż. Sam sobie też jestem winien
— komu się chce grzebać w zawiłym i nieudokumentowanym kodzie? Z drugiej
strony, jakbym się uparł, żeby wszystko udokumentować, to ten kod by pewnie
w ogóle nie powstał — zabawa mogłaby przestać być zabawna. Dobrze, że
przynajmniej API PyXMPP jakoś
udokumentowałem.