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).

Twórcy Firefoxa nie chcą moich bug reportów

Postawiłem w firmie firewall i proxy z uwierzytelnianiem (wreszcie mogę być
BOFHem z prawdziwego zdarzenia ;-)). Uwierzytelnianie Digest, bo w jakieś
plain-tekstowe Basic nie będę się bawił. No i to działa, nawet w IE.
Jednak w Firefoksie nie całkiem tak jakbym chciał. Prosi mnie o hasło przy każdym nowym połączeniu,
zamiast zapamiętać to co wpisałem na początku sesji. Co gorsza, jak mu każe hasło zapamiętac, to niby
zapamiętuje (mogę nawet je obejrzeć poprzez View saved
passwords
), ale i tak przy każdym połączeniu pyta. Wrrrr…

No więc postanowiłem zgłosić błąd. Najpierw udałem sie na Bugzillę, żeby
zobaczyć czy już nie jest zgłoszony, jednak otrzymałem tylko komunikat Error establishing an encrypted connection…, a potem
Document contains no data
. To zacząłem googlać za błędem. Nawet gdzieś ktoś o nim już wspominał
i radą było użycie starszego Firefoksa (nie mam na to ochoty). Przy okazji trafiłem też na rozdział
Reporting
Bugs
z helpa do Firefoksa, a tam wyczytałem:

1. Use the latest version of Firefox with a new profile

Make sure you are using the latest nightly build of Firefox. Always install it
in an empty folder.

Jak jeszczę potrzebę użycia nowego profilu rozumiem, to wymaganie
instalowania snapshotu już nie bardzo. Skoro błąd występuje w jakimś oficjalnym wydaniu,
to powinno być dla niego zgłoszone. Chociażby po to, żeby inni użytkownicy mogli się dowiedzieć
co i jak. Poza tym niekoniecznie mam czas na instalowanie takiego nightly build
i ochotę na ryzyko np. utraty swojej konfiguracji. A jeżeli błąd nie jest
zgłoszony dla ostatniego oficjalnego wydania, a jest już poprawiony to przecież każdy użytkownik który
go napotka i chciałby coś się o tym dowiedzieć lub zgłosić musiałby tę
procedurę robić od nowa — w bazie buga nie ma i nie wiadomo czy jest
poprawiony, więc aby to stwierdzić lub zgłosić buga trzeba ściągnąć
nightly, zobaczyć że błędu nie ma i znowu nie zgłosić… Bez sensu.

Staczam się… ;-)

Chyba się staczam… ostatnio zarywam noce kodując w… PHP. ;-)

Wszystko dlatego, że postanowiłem u siebie postawić
system śledzenia błędów dla PLD. Stary był brzydki i
niezbyt wygodny, a przez ostatnie tygodnie nie działał w ogóle — zbytnio
obciążał maszynę na której był postawiony, a poprawiać go nie było komu.

Dyskusja na temat alternatywy powracała już kilka razy na listy zwykle bez
efektu. Jednak pewną tendencję w dyskusjach można było zauważyć — nowy
system powinien być opary o jakieś gotowe rozwiązanie, najlepiej żeby to była
Bugzilla, Mantis lub Flyspray. Bugzilla mi się nie podoba (stanowczo za dużo
kontrolek w formularzach), poza tym wydaje się na tyle skomplikowana, że jej
dostosowanie do naszych potrzeb mogłoby okazać się trudne i długotrwałem.
Mantisa nie znam, a Flyspray, znany
z Buggera po prostu mi się podoba,
a skoro ja użyczam sprzętu i chcę sie tym zająć, to moje zdanie może być
decydujące. :-)

Tak po prostu postawić Flyspray’a to byłoby za mało. On powstał dla
zupełnie innych projektów niż PLD. Np. pole system operacyjny nie ma
u nas sensu, zamiast tego ważniejsza jest architektura. Poza tym w błędzie
najistotniejszy jest pakiet którego dotyczy i jego wersja. Nie chciałem dla
każdego pakietu robić osobnego projektu (osobne projekty są dla poszczególnych
linii dystrybucji (Ra, Ac, Th) i innych projektów związanych z PLD (ten BTS,
LiveCD, RescueCD)), więc wykorzystałem obecne już pole kategoria.
Trzeba było przy tym mocno zmienić interfejs, gdyż pole wyboru pakietu
zawierające listę wszystkich pakietów (tysiące!) to byłoby nieużywalne.
Podobnie z wersjami, które w oryginalnym Flyspray są określane per-projekt,
a u nas muszą być per-pakiet. To wszystko udało się właściwie zrobić.
Udało mi się też przenieść bazę pluskiew ze starego systemu.

Poza zmianami przystosowawczymi wprowadziłem też inne ulepszenia.
Np. język interfejsu jest konfigurowalny per-użytkownik, a domyślnie brany
z ustawień przeglądarki. Poza tym włączyłem serwowanie stron jak
application/xhtml+xml dla przeglądarek które to akceptują. To
zresztą uziemiło system na jakiś czas, bo się okazało, że XHTML to strony
generowane przez Flyspraya mają tylko w DOCTYPE. No na głównej stronie nie
było źle, nie walidowała się jedynie z powodu pustego <optgroup/>.
Niestety większość pozostałych stron nie była nawet well-formed XML
przez co przestała się w ogóle wyświetlać. Wczoraj udało mi się większość
z tego poprawić, więc już się wyświetla w przeglądarkach obsługujących XML,
ale raczej Valid XHTML Strict to w większości nie jest.

No i dzisiaj wreszcie udało mi się uruchomić narzędzie, które w poprawianiu
tego XHTMLa może mi pomóc:
HTML Validator dla Mozilli
. Polecam! Niestety to rozszerzenie w postaci
gotowej do zainstalowania dostępne jest jest jedynie dla Windowsów.
W Linuksowym Firefoksie instaluje się bez zająknięcia, ale po prostu nie
działa. Okazało się, że w środku siedzi binarka nstidy.dll,
nstidy.so trzeba sobie samemu skompilować (źródła rozszerzenia są
dostępne). Do kompilacji teoretycznie potrzebne są źródła Mozilli, ale nie
uśmiechało mi się ich instalowanie i kompilowanie, więc jakoś poradziłem sobie
bez tego — w końcu hacker jestem! ;-)

Poza BTSem podłubałem trochę w automatyce builderów (małe zlecenie do
Havnera). To już była czysta przyjemność, bo automatyka jest w Pythonie.
:-) Niestety okazało się, że przy okazji coś po psułem
i w niedzielę w nocy, zamiast iść spać musiałem poprawiać…

Mozilla FireFox

Postanowiłem wypróbować tę przeglądarkę. I pierwsze wrażenie jest
nienajlepsze. Dotychczas używałem epiphany, która wygląda jak powinna (nie
jest okienko zapchane jakimiś śmieciami w stylu jakiegoś sidebara czy
przycisków na pół ekranu), jest szybka i wygodna. Jednak Epiphany ma też swoje
wady – założenia Gnomowe „maksymalnie prosty interfejs” powodują
że menu i okno konfiguracji są stanowczo za ubogie dla mnie. Rozszerzeń też nie
wiele. Wcześniej używałem Galeona, ale w ostatnich wersjach zgnomił się jescze
bardziej niż epiphany. Liczyłem na to, że FireFox będzie OK…

Pierwsze co się rzuca w oczy to powolność FireFoksa. Nie chodzi o engine
renderujący stronę, bo to jest OK, ale interfejs użytkownika. To nie jest
normalne, gdy na komputerze z procesorem Athlon 1GHz widzę jak mi się okienka
rysują. Ale ostatecznie – można się do tego przyzwyczaić.

Druga sprawa wyszła przy próbie instalacji rozszerzeń. Wchodzę na
odpowiednią stronę, klikam na link, potwierdzam chęć instalacji i… większość
z rozszerzeń się nie instaluje z powodu braku dostępu do katalogu chrome. Czy
to znaczy że nie mogą się one po prostu w moim katalogu domowym zainstalować?
Czy muszę odpalać przeglądarkę z roota???? Jasne, można też zainstalować pliki
ręcznie, ale przecież miało być tak prosto…

Po paru minutach przeglądania rozszerzeń na texturizer.net postanowiłem
zajrzeć na joggera. Wtedy lisek się powiesił. Niezły to kawałek oprogramowania,
który można w ciągu 10 minut powiesić…

Istnieje możliwość że FireFox sam z siebie jest OK, tylko chłopcy robiąc
paczki dla PLD coś spieprzyli, ale nie sądzę żeby wszystkie opisane powyżej
problemy to była ich sprawka. W każdym razie jeszcze trochę się tym pobawię…