Zonk

Wczoraj bua dostała spazmów i odmówiła dalszego działania. Okazało się, że skończyła się pamięć (cała!) i Linux zajmował się mieleniem dysku i niczym innym. Żadne próby reanimacji nie przyniosły skutku. Po restarcie wywaliłem swap. Stwierdziłem, że najwyżej ubije mi jakąś (firefoksa) aplikację i dalej będzie działać. A firefox umie odtworzyć ostatnio przeglądane strony. Więc w sumie OK. Ale nic z tego. Bez swapa, jak się skończy pamięć, Linux również zajmuje się głównie mieleniem dysku. Tylko nie wiem co on tam mieli. Tym razem przynajmniej udało się odratować i jakoś ubić firefoksa co pozwoliło na uniknięcie restartu.
Zużycie pamięci wygląda następująco:
Firefox (3.5.4pre) w chwili screenshota miał 23 otwarte zakładki.
Co robić, Droga Redakcjo?
Zdecydowałem się wczoraj wieczorem na aktualizację do Jaunty Jackalope czy czegoś takiego. Wrażenia następujące:
Jakoś do tej pory problemy związane z GPLv3 mnie nie obchodziły. Ktoś tam co jakiś czas pomstował na tę licencję, Linus odmówił kategorycznie używania tej licencji, coś tam się działo. Ale wczoraj miałem szkolenie wewnętrzne na temat Open Source. Gros szkolenia poświęcone było kwestiom licencyjnym. No i się okazało, że w myśl GPLv3, jeśli pracownik HP w ramach wykonywania obowiązków służbowych skompiluje u klienta jakąś aplikację udostępnianą na GPLv3, oznacza to że HP udziela royalty-free (nie wiem jak to się dobrze tłumaczy) licencji na wszystkie patenty posiadane przez HP, które wykorzystuje ta aplikacja. Normalnie łał. I faktycznie:
A “contributor” is a copyright holder who authorizes use under this License of the Program [...]
A contributor’s “essential patent claims” are all patent claims owned or controlled by the contributor [...]
Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor’s essential patent claims[...]
No i stało się. Mamy już wszystko złubudubuwione. Ostatni bastion — raketa — padł. Chciałem napisać dużo złych rzeczy na temat instalacji Ubuntu, ale okazało się, że prawie wszystkie problemy wynikły z tego, że napęd CD był zepsuty. Jednakowoż parę problemów instalacyjnych Ubuntu występuje:
Poza tym wszystko z grubsza działa.
Oprócz tego mieliśmy upgrade wordpressa (czyli tej portalii) oraz mediawiki. Niestety przy przenoszeniu bazy i upgrade MySQLa się coś straszliwie pokaszaniło z kodowaniem w mediawiki ustawionym na język polski. Próbowałem coś podłubać w tym MySQLu, ale to jakoś bezsensu jest tam porobione i dałem sobie szybko spokój.
W ramach walki ze spamem pojawiły się: graylist do postfixa oraz reCAPTCHa na portalii. Wygląda na to jednak że reCAPTCHa słabo działa, bo już dostałem kilka spamerskich rejestracji użytkowników. Niestety pogłębił się problem z działaniem OpenID. Wygląda na to, że działa jeszcze gorzej niż działało. Naprawienie tego wymaga jakiegoś głębokiego grzebania w dziwnych bibliotekach i PHP, a mnie się już nie chce. Ale cóż: nie od dziś wiadomo, że w Debianie się nie da…
No i jeszcze jedno, co przed chwilą zauważyłem: sprawdzanie pisowni w firefoksie działa jakoś wybiórczo.
Zbieram różne fajne zabawki, ale dawno się żadną nie chwaliłem. Zatem dzisiaj zabawki z ostatniego pół roku w skrócie.

Na pierwszy ogień tablet internetowy Nokii. Byłem zaskoczony, że ten Linux zainstalowany tam w zasadzie działa. Działa WiFi, działa Bluetooth, działa przeglądanie internetu, działa chat, działa konsola i ssh, działa odtwarzanie muzyki i oglądanie filmów. Ekran dotykowy działa bezproblemowo. Ale nie jest tak różowo. Parę mankamentów:
Ogólnie mówiąc, zabawka dość przyjemna i nawet zaskakująca swoją funkcjonalnością, ale nie warta ceny.

Drugą zabawką jest iPAQ 114. Kupiony jako następca iPAQ 4150. Ma służyć głównie jako nawigacja do samochody plus czasem jakaś funkcja rozrywkowa. Krótkie podsumowanie jego cech:
Moim zdaniem doskonale spełnia swoje zadanie. Jeśli ktoś potrzebuje niezbyt wyszukanego pocketa za niewygórowaną cenę, to polecam.

Ostatnia zabawka to pracowy telefon: HP iPAQ 514 Voice Messenger. No i to jest dramat maksymalny. Nigdy nie używałem jeszcze tak niewygodnego telefonu. Jedyna pozytywna rzecz, którą mogę o nim powiedzieć, to to, że ma pełnotekstowe wyszukiwanie numeru (w sensie po nazwie i po numerze). Choć bardzo staram się go używać i bardzo staram się go polubić, to jednak nie mogę. Coś w nim jest bardzo nieudanego. Natomiast doczekał się już następcy: HP iPAQ 614, który robi naprawdę dobre wrażenie.
Napisało mi dziś Ubuntu, że jest nowa wersja. Długi weekend idzie, to pomyślałem, że będzie kiedy naprawiać. No i klik.
Ściągało się i mieliło przez jakąś godzinę. W międzyczasie jakieś ikonki mi znikały i pojawiały się, firefox się wywalił, ale myślę “trudno, trzeba przeboleć”. W międzyczasie pyta, czy zastąpić stare pliki konfiguracyjne nowymi, pokazując różnice. Tutaj dwie uwagi:
Na koniec dostałem pytanie, czy odinstalować pakiety, które nie mają swoich odpowiedników w nowej wersji Łubudubu. To trochę ryzykowne, bo tych pakietów z 80 się pokazało. Mogli spróbować się większym sprytem wykazać przy tej okazji.
Wreszcie restart. Wszystko pięknie się uruchamia i… czarno. Absolutnie czarno. NumLock, CapsLock działają, ale ani ctrl-alt-backspace, ani ctrl-alt-del, ani ssh, ani nic. No więc mu z kopa i uruchamia się jeszcze raz. No i dokładnie tak samo. Buech. To się długi weeeeeeekend szykuje. Ale uruchomiłem jeszcze raz w jakimś bezpiecznym trybie. Bezpieczny tryb oznacza uruchomienie bez pięknego obrazka we framebufferze, z logami procesu uruchamiania przelatującymi przez ekran. W pewnym momencie pojawia się okienko (tekstowe) z pytaniem, czy uruchomić normalnie Xy, czy przejść do konsoli jako root, czy naprawić Xy. No to kliknąłem, żeby naprawił. Coś pomielił, mignął i znowu to samo okienko. Asekuracyjne kazałem przejść na konsolę jako root. Z pewną taką nieśmiałością startx i… działa.
No to restart (pewnie jakiś init 3 czy init 5 by zadziałał, ale co tam). No i włala! Miodzio normalnie. Wszystko rozpoznał. Wyłączył “własnościowe” sterowniki do karty graficznej (to pewnie przez nie widziałem ciemność). Z minusów, które się objawiły:
[ 404.402838] psmouse.c: Mouse at isa0060/serio1/input0 lost synchronization, throwing 1 bytes away.
[ 405.443479] psmouse.c: resync failed, issuing reconnect request
[ 405.646918] psmouse.c: Failed to reset mouse on isa0060/serio1
[ 417.175978] psmouse.c: Failed to enable mouse on isa0060/serio1
A poza tym chyba wszystko działa. Wyjątkowo nieźle, aczkolwiek pewnie i tak większość ludzi sobie nie poradzi.
Uwielbiam fantastycznie udokumentowane i rozsądnie działające biblioteki. Jest taka fajna, libusb, która w zasadzie eliminuje konieczność modyfikowania jądra przy dodawaniu obsługi nowych urządzeń. Poza różnymi innymi funkcjami są odpowiedniki read() i write(): usb_bulk_read(), usb_bulk_write().
Sporo czasu w ciągu ostatnich dni spędziłem śledząc błąd w gnokii, który w uproszczeniu polegał na tym, że gubiły się dane w transmisji. Miałem bufor wielkości 255 bajtów i gdy odpowiedź od telefonu przekraczała te 255 bajtów, zawsze 64 bajty ze środka znikały.
Co się okazało? Telefon przesyła dane w paczkach po 64 bajty (to nawet widać w wynikach lsusb). Telefon zwraca dane w paczkach o wielkości będącej wielokrotnością 64 bajtów (a więc …, 192, 256, …) oprócz ostatniej oczywiście. Jeśli bufor jest mniejszy niż zwrócona paczka, to dane są obcinane do największej wielokrotności 64 mniejszej niż wielkość bufora (dokładniej: nie dane tylko wynik funkcji mówiący ile bajtów przeczytano). Co się dzieje z pozostałymi danymi? Nic. Nie trafia nawet informacja do loga o tym że coś się gubi.
I love this game…
From: noreply@maemo.org
Subject: N810 maemo submission accepted
N810 maemo submission accepted
Congratulations! You have been accepted to the N810 maemo device
program. We will send your discount and instructions as soon as the
device is available in your selected shop (soon).
maemo team – http://maemo.org

Będzie nowy gadżet