Żegnajcie Tabbrowser Extensions i Adblock

Żona się skarżyła, że na laptopie jej się Firefox na niektórych stronach
(w szczególności na stronach MBanku)
wysypuje. Już wcześniej miała problemy z obrazkami na Allegro, które to
problemy rozwiązywało wyłączenie Tabbrowser Extensions. Okazało się, że po
wyłączeniu TBE Firefox już się nie wykłada. Fajnie… Tyle, że po pierwsze
— przeglądarka nie powinna się wysypywać (SIGSEGV) z powodu błędnego
rozszerzenia (XUL/JavaScript/CSS), a po drugie standardowa obsługa zakładek
w Firefoksie IMHO i IMWHO nie nadaje się do użytku…

Problem nie występował na naszym dużym komputerze. Ale tutaj dawno
nie uaktualnialiśmy Tabbrowser Extensions. Uaktualnień trochę się bałem, bo
kolejne wersje to snapshoty, o których autor pisze, że u niego działa, a jak
u kogoś nie, to go nie obchodzi. Póki działa ok, ale nigdy nie wiadomo kiedy
się spieprzy. Dla pewności, czy to nowa wersja TBE psuła Firefoksa zrobiłem
upgrade… i u mnie też zaczęło się wysypywać. Postanowiłem więc poszukać
alternatywy. Tab
Mix
wyglądało zachęcająco, więc zainstalowałem. Zaraz po instalacji
rozszerzenia (i oczywiście po restarcie przeglądarki, wrrrr…) Firefox
zaczął się zachowywać w miarę normalnie (w porównaniu do Firefoksa bez żadnych
zakładkowych ulepszeń). Większość rzeczy działała tak, jak je sobie wcześniej
w TBE konfigurowałem. Po zmianie kilku opcji (w przejrzystym okienku, a nie
potworze z milionami ustawień, jak w TBE) właściwie mam wszystko co potrzeba.
Jeszcze sobie tylko Session
Saver
a zainstalowałem i mam wszystko do czego było mi Tabbrowser
Extensions potrzebne. Przy okazji zobaczyłem jaki Firefox może być szybki.
Nie sądziłem, że tamto paskudztwo mogło aż tak spowalniać przeglądarkę.

Jak już zakładki działały, to dla pewności sprawdziłem stronę MBanku.
I znowu się wysypało… No to wyłączyłem wszystkie stare rozszerzenia…
przestało się wywalać. Metodą eliminacji znalazłem winnego (bo wina
jest oczywiście po stronie samego Firefoksa) — Adblock. Wersja ta sama
co na addons.mozilla.org, więc upgrade odpada. Najwyraźniej Adblock plus
jakiekolwiek sensowne zarządzanie zakładkami powoduje problemy (usuwanie
obrazków z okienka, które właśnie zostało zamienione na zakładkę?). Adblock
tak bardzo do szczęścia potrzebny mi nie jest (największe syfy Flashblock
blokuje), więc się go pozbyłem. Wygląda na to, że teraz Firefox działa jak
należy… ciekawe jak długo…

Wnioski są takie: Firefox to paskudny gniot (ale to chyba wszyscy
wiedzą), ale można sobie z nim poradzić. Dla mnie to wystarczy.

P.S. Mam wrażenie, że z tego wpisu też straszny gniot mi wyszedł… 😉

Różności…

Ten wpis napisałem wczoraj, ale że Jogger nie działał, to idzie teraz…

Mozilla Team mnie zaskoczyło. Gdy mi po upgrade się Firefox wywalał przy
wpisaniu czegokolwiek w pasku adresu, to użyłem Quality Feedback Agent do
wysłania raportu. Bez jakichkolwiek nadziei, że coś z tego wyniknie. A
jednak. Dostałem odpowiedź, z automatu, że problem został wyjaśniony,
instrukcję jak sobie z nim poradzić (sam sobie poradziłem wcześniej) i radę na
przyszłość. Czyli to jednak działa :-).

A ostatnio znowu trochę dłubię przy CJC i PyXMPP. Repozytoria SVN na
JabberStudio już mi działają, więc mogę commitować co zrobię i jest jakaś
motywacja. Kommitnąłem poprawki które się nazbierały w czasie gdy JabberStudio
nie działało i poprawiłem jakieś drobne błędy w CJC, które zresztą znałem już od
dawna i od dawna wiedziałem jak je poprawić. A w PyXMPP zrobiłem Pythonowe
wersje klas i funkcji z kompilowanego modułu _xmlextra. Są to
obrzydliwe hacki, dużo wolniejsze od oryginałów, ale przynajmniej można teraz
PyXMPP używać bez żadnego kompilowania (zakładając, że się ma moduły libxml2
już skompilowane), co powinno ułatwić coniektórym instalację. Przy okazji
powkurzałem się na libxml2 który potrafi generować bzdurny kod
XML po zmianie przestrzeni nazw elementu w drzewie dokumentu. Zgłosiłem to na
listę dyskusyjną, może też zgłoszę do bugzilli. Jakoś ten problem nie wpłynął
na działanie CJC (przypadek), więc na razie go olewam. Muszę jeszcze odpalić
ponownie automatykę do snapshotów, żeby ludzie mogli moją aktualną twórczość
ściągać.

Firefoks ssie…

Postawiłem sobie JWChat na swoim serwerku Jabbera. Następnie próbowałem
uruchomić. Na początku w Firefoksie 1.0 — a ten się zawiesił. Przynajmniej
tak to wyglądało, bo nawet okienka nie odrysowywał. Po następnym uruchomieniu
poczekałem dłużej, a Firefoks nawet ostrzegł, że aplikacja go spowalnia i może
przestać odpowiadać. Kazałem mu to olać… i nawet w końcu się coś
pojawiło.

Jednak jak już się pojawiło, to się do użytku nie nadawało. Programik, jak
typowy klient Jabbera chciał otwierać różne okienka, a Firefoks mu na to nie
powalał. Nawet jak mu dałem jabber.bnet.pl na listę domen
w których popupy nie mają być blokowane. Nieładnie. Ręcznie otwierając
zablokowane popupy udało mi się nawet jakąś wiadomość wysłać, ale po pewnym
czasie znowu przestało działać. Przy którymś kolejnym podejściu wypieprzył się
cały Firefox.

Potem spróbowałem w Operze. Opera nie była na liście obsługiwanych
przeglądarek i rzeczywiście — tam to nie działa. Ale to co działa nie zamula
całej przeglądarki. Potem był Konqueror. Tu mnie JWChat ostrzegło, że tej
przeglądarki nie obsługuje no i oczywiście niezadziałało. Nie miałem tego
programowi za złe — to normalne, że aplikacja jest przygotowana do pracy
w konkretnym środowisku, a taki klient Jabbera ma raczej duże wymagania co do
tego co API przeglądarki musi oferować.

W końcu spróbowałem jeszcze na jakiejś starej Mozilli (1.5)… i tam działa
bez zarzutu. Po prostu śliczny klient Jabbera, tylko trochę wolny. Biorąc pod
uwagę to, że to może działać tam gdzie normalny klient Jabbera jest
niedostępny (kawiarenka Internetowa, jakaś sieć gdzie jest tylko proxy HTTP
itp.) to prezentuje się naprawdę nieźle.

Wracając do Firefoksa… Co spieprzyli do Mozilli, że to przestało działać?
Właściwie to nie ważne… to mogłaby być też niedoróbka w samym JWChat. Gorsze
są słabości Firefoksa które przy tym wyszły, ale dokuczają na codzień. Czemu
kawałek Java Scriptu może zawiesić całą przeglądarkę? Niby mogę sobie otworzyć
wiele stron, w wielu zakładkach, ale jak jedna robi coś dziwnego, to cała
przeglądarka przestaje się nadawać do użytku (a drugiej tak łatwo nie odpalę,
póki pierwszej nie zamknę, tracąc wszystko co otwarte). Czy twórcy Firefoksa
nie słyszeli nigdy o wątkach? Jeszcze rozumiem zewnętrzne pluginy, np. takiego
Flasha — są napisane w C/C++, mogłyby nie być thread-safe, no i natywne
wątki mogą być niezbyt przenośnie. Ale kod Java Script, w którym zresztą
napisana jest duża część przeglądarki, czemu niemiałby być wykonywany
współbieżnie? Przecież to i tak działa na jakiejś maszynie wirtualnej…

Nie wiem jak teraz wygląda obsługa JavaScript w IE. Jeśli podobnie lub
gorzej, to zrobienie tego sensownie może spowodować ucieczkę ludzi od FF. Bo
na prawdę ciężko swobodnie korzystać z WWW, gdy co jakiś czas wszystko
staje… (nie, nie piszę o oglądaniu stron erotycznych ;-)).

Kolejna sprawa to ten popup-blocker — sztandarowa funkcjonalność
Firefoksa, wymieniana we wszelkich materiałach promocyjnych, a taka
niedorobiona. Tyle rzeczy miało nie wejść, albo nie weszło do Firefoksa 1.0 z
powodu dużo mniejszych błędów, ale to widać było zbyt ważne marketingowo, żeby
porzucić. Nie wierzę, że nikt wcześniej nie zauważył że lista domen z których
popupy nie mają być blokowane nie działa jak należy…

Czy zgłosiłem to na Bugzillę? Nie. Nie chce mi się. Kiedyś coś próbowałem
tam zgłosić i skutecznie mnie do tego zniechęcono. Nie będę instalował
nightly-buildów, nie będę wywalał wszystkich rozszerzeń (w końcu te
rozszerzenia tez miały być potęgą Firefoksa). Po prostu sobie pomarudzę tutaj,
a co ;-)

PS. Niech ktoś z userów jabber.bnet.pl sprawdzi jak ten JWChat
działa pod IE i da znać. Jestem ciekawy, jak wypadnie to w porównaniu do
Firefoksa.

Drukarka…

W firmie mamy całą masę drukarek w sieci, ale jak ja chciałem coś wydrukować, to ciężko było. Bo
te drukarki to albo jakiś Develop (słyszał ktoś o takiej marce?), albo
Xerox PEcośtan, po których nawet żadnego śladu na linuxprinting nie ma, a próby ujarzmienia
kończyły się fiaskiem. Jedna sensowna (HP LaserJet 1200) podłączona była do
komputera kumpla, który albo był wyłączony, albo skutecznie zahasłowany,
albo… go nie było.

W końcu przekonałem kumpla, że lepiej podłączyć tę drukarkę do mnie. W końcu
ja mam zawsze komputer włączony, a on się z tego Windowsa jakoś podepnie.
Dzisiaj to konfigurowałem. Lokalnie ruszyło od kopa (podpięte pod USB, bo
kabelek równoległy ktoś zwinął), trochę więcej napracowałem się przy
udostępnianiu przez Windows, bo trzeba było odpowiednie sterowniki przygotować
(drukarka udostępniona jest jako PostScriptowa — nie podoba mi się
Microsoftowa idea sterowników do każdej drukarki na każdym kompie osobno).
W każdym razie kumpel z Windowsa wydrukował sobie co chciał, bez najmniejszych
problemów.

W końcu przyszedł czas na mnie. Korzystając z tego, że już mam drukarkę
(ciekawe jak długo, hehe), postanowiłem wydrukować dla szefa dokument który
napisałem. Dokument był w reStructuredText, więc zrobiłem z tego HTML,
otworzyłem w Firefoksie i wcisnąłem print. A ten tylko Memory
Fault
powiedział i zniknął. Super. Dłubanie w about:config nic nie pomogło.

No to jako ostatnią deskę ratunku wziąłem Konquerora. Ten pięknie wykrył drukareczkę,
ale jak dałem podgląd wydruku to pokazał mi coś, co mogłoby być moim tekstem, ale zapisanym
alfabetem Morse’a. Mimo to wcisnąłem print. I wydrukowało… tylko że
maciupkimi literkami (mimo wszystko czytelnymi). Oczywiście w opcjach wydruku (cała masa ich była) nie
znalazłem nic co by mi te literki zwiększyło. W opcjach całego Konquerora było jakieś zwiększanie fontów…
ale max na 18 udało mi się to ustawić (wcześniej było 14), nawet już nie
sprawdzałem, czy na wydruk to ma jakiś wpływ — olałem sprawę, szef się jakoś doczyta…

Ciekawe czy jak będę potrzebował z OO coś wydrukować, to czy coś z tego wyjdzie…

Niedostępny urząd

Chciałem zobaczyć co dzisiaj jest w kinie. Repertuar naszych kin zawsze
najszybciej można było znaleźć na stronach Urzędu Miejskiego w Gliwicach. A więc
otwieram tę stronę w ELinksie… i okazuje się, że nie mogę przejść na
interesującą mnie podstronę. Na żadną podstronę. Ktoś nie powiedział
webmasterowi, że do linków służy tag <a/>. Napisałem to admina co o tym
myślę. Chciałem od razu ich do Osiołków dodać, ale Osiołki proszą aby najpierw
męczyć admina, więc poczekam jeszcze na jego odpowiedź. Później spróbowaliśmy
jeszcze Firefoksem. Tu już dało się tych linków używać, tylko trzeba było
znaleźć odpowiednie miejsce do kliknięcia, które nie całkiem się pokrywało z
opisem odnośnika. No pełen profesjonalizm po prostu.

Update: w Firefoksie można klikać normalnie. Nieporozumienie wyniknęło tylko z powodu kursora który zmieniał kształt na tekstowy zamiast na linkowy (co zrozumiałe przy takim partactwie).

pub-sub

Ostatnio na Joggerze dużo się pisze o RSS, jak to wygodnie przeglądać w
ten sposób newsy z różnych źródeł. Ale to przecież dalekie od ideału… Po
pierwsze i tak trzeba znać źródła informacji którą się chce uzyskać, po drugie
oprogramowanie musi co chwilę sprawdzać, czy nowa informacja się pojawiła.
Pojawia się więc myśl, że fajnie by było jakbyśmy byli informowani jak
oczekiwana przez nas informacja się gdzieś pojawi.

Właśnie podczas czytania jednego z takich wpisów o RSS przypomniałem sobie
o pubsub. I mam na myśli właściwie dwie rzeczy. Jedna to protokół
pubsub
rozszerzenie XMPP rozwijane przez JSF (możliwe, że opowiem o tym na
najbliższych Pingwinariach), drugie to PubSub.com serwis pozwalający subskrybować
informacje jakie nas interesują, niezależnie od źródła. Zresztą, PubSub.com wykorzystuje technologię pubsub dla XMPP.

Jak sobie przypomniałem, że coś takiego istnieje, to postanowiłem
spróbować. Okazało się to prostrze niż mogłem przypuszczać. Po prostu
wystarczy wejść na stronę PubSub.com
i wpisać swoje zapytanie (podobnie jak do wyszukiwarki internetowej), a
następnie już tylko czekać aż pojawią się (np. w postaci feedu RSS, albo po
prostu strony HTML) pierwsze informacje do niego pasujące. Można też założyć
sobie konto — wtedy nad swoimi subskrypcjami ma się większą kontrolę,
a ich lista nie jest związana z jedną przeglądarką. Można też zainstalować
sobie PubSub sidebar for Firefox (dla IE też jest), który
będzie pokazywał interesujące nas informacje na bierząco. I tu pojawia się
XMPP (rdzeń współczesnego protokołu Jabbera) — ten sidebar to nic
innego, jak prosty klient XMPP z obsługą
pubsub.

Dla siebie stworzyłem zapytania o Pythona, XMPP/Jabbera i o siebie (żebym
od razu wiedział, jak ktoś mnie w sieci obsmarowuje 😉 ). Na temat pythona
dostaję całą masę wiadomości i już trafiłem na jeden ciekawy artykuł:
Python
optimization tips
. O Jabberze jest nieco mniej (między innymi, że jakiś
serwis uznał XMPP za słowo dnia). Pozostałe zapytania nie
pokazały na razie nic. W każdym razie serwis wydaje się interesujący. Nie mogę
się tylko doczekać kiedy mój klient Jabbera będzie umiał pubsub (wiem, wtedy gdy
sobie to napiszę), a PubSub.com udostępni
swoje usługi dla serwerów z zewnątrz (teraz, zdaje się, jest tylko dostęp
z klientów podłączonych bezpośrednio do ich serwera).