Opieka nad projektem…

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.

Lokalizacja po mozillowatemu…

Gdy instalowałem sobie Firefoksa 1.0 na domowym komputerku, to wybrałem
sobie angielską (brytyjską, nie amerykańską!) wersję językową. Co prawda
disc zamiast disk trochę kłuło w oczy
(w terminologii komputerowej niestety przywykłem do amerykańskiego), ale
przynajmniej colour itp. jest normalnie. W każdym razie
z tą lokalizacją jest mi całkiem dobrze, ale…

Gdy przychodzi czas na upgrade okazuje się, że nowa wersja jest na
początku tylko po amerykańsku. Na angielską wersję językową trzeba długo
czekać, mimo że w przypadku poprawek bezpieczeństwa nie powinno się czekać ani
chwili. Do Fx 1.0.5 jeszcze wersji brytyjskiej nie ma.

Pojawia się pytanie, czemu w takim razie nie zainstaluję sobie po prostu
wersji amerykańskiej. Ano temu, że po jej zainstalowaniu Fx przestaje działać
z moim obecnym profilem, a swoich ustawień i rozszerzeń nie chcę się pozbywać.
Każdy normalnie tłumaczony projekt (czyt. tłumaczony przy użyciu gettexta) ma
fallback do języka domyślnego (zwykle amerykańskiego). W takim przypadku może
się pojawić nowa wersja bez czekania na uaktualnienia lokalizacji —
w najgorszym wypadku będzie brakowało kilku napisów. A jak ktoś chce zmienić
język to po prostu wybiera nowy, ewentualnie instalując wcześniej pliki
tłumaczeń. Niestety w oprogramowaniu Mozilli to tak nie działa — muszą być
zasoby w wybranym języku albo całość się wypieprza na brakujących
encjach. Już nie mówiąc o tym, jak się sprawy komplikują, gdy z jednej
instalacji Firefoksa mieliby korzystać użytkownicy różnych języków.

No i nie wiem. Czekać dalej na Fx 1.0.5 w wersji English (British),
czy instalować domyślną i hackować swój profil (zdaje się, że poprzednio przy
tym poległem)?

I znowu na jakiś głupi artykuł trafiłem…

Już kiedyś czytałem (poprzez pubsub.com, jak zwykle) na fragment tego
artykułu (dalej nie szukałem), a teraz trafiłem do źródła: The Coming Boom

Rzecz jest o tym jak naukowcy badają kobiecy orgazm w celu wytworzenia
odpowiednika Viagry dla kobiet. Technika badań jest dość ciekawa — link
po jakim trafiłem do artykułu był trafnie nazwany Reverse
engineering the female orgasm
.

No, nie zupełnie o odpowiednik Viagry chodzi, bo nie tylko gotowość fizyczną
(co jest problemem u facetów) ma to dawać, ale także ochotę seks. Cel badań
mnie się trochę kojarzy z świństwami wsypywanymi dziewczynom do drinków, aby
były łatwiejsze. Rozumiem, że niektórym kobietom może to być potrzebne, ale
pewnie, gdy to powstanie, to jak zwykle będzie nadużywane. I rozkręci się wielka
akcja reklamowa (potęgująca to nadużywanie)… i spamerzy będą mieli co
sprzedawać… I faceci nie będą musieli już się starać, bawić w jakieś
gry wstępne itp., bo wszystko załatwi jedna tabletka… Nie, może nie będzie
tak źle… w końcu są jeszcze na tym świecie ludzie radośni mimo, że nie
używają Prozacu ;-)

Teledyski…

Reklamy w radiu zachęciły mnie do zajrzenia na teledyski.interia.pl. Ciężko u nas
o darmową/tanią dobrą muzykę (wiem jestem nienormalny, ale pirackich MP3
nie lubię), więc możliwość dostępu do takiej i to z teledyskami, cieszy.

Na stronie rzeczywiście jakieś teledyski, nawet interesujące. Wybrałem
pierwszy z brzegu, zespołu Homo Twist. Pojawiła się strona z ładnym
puzzlem — oczywiście brakuje plugina, który oczywiście nie jest
dostępny pod Linuksem. Nie poddałem się jednak. Zajrzałem do źródła strony
w poszukiwaniu jakiegoś URLa to właściwego teledysku. Kod strony to oczywiście
koszmarek — niby XHTML, ale uzupełniany JavaScriptem i to jeszcze przez
document.write(). Po cholerę uzywać XHTML jak się ma zamiar go
używać w sprzeczności z podstawowymi założeniami XML (XML to nie ciąg znaków,
do którego można coś dopisywać gdzie popadnie — XML to drzewo
elementów). W każdym razie wprost z kodu trudno było URLa wyciągnąć, ale już
wiedziałem gdzie szukać…

… Otworzyłem więc okienko informacji o stronie i rzeczywiście,
w zakładce media był URL do playlist2.html z jakimiś parametrami.
Ściągnąłem to sobie jako plik, oczywiście nie HTML, ale nawet
prawie-well-formed XML. A w środku już normalny URL, do strumienia
mms://. Pozostało spróbować odpalić to w mplayerze…. i ruszyło!
Hip-hip, hurra! Tylko czy musi to być takie trudne? Naprawdę nie można po
prostu dać URLa do strumienia? W Windows by się w Media Playerze odpaliło,
a na wszystkim innym w czym kto chce. A może po prostu trzeba znaleźć
odpowiedniego plugina pod Linuksa? Jakiś mplayer-plugin, abo co? Tylko że nie
chcę sobie niepotrzebnie przeglądarki zaśmiecać. A może Greasemonkey?

Popieprzę sobie :-)

Nie pieprzyłem już od trzech tygodni, albo i dłużej. To znaczy, nie
całkiem tak. Zdarzały się w tym czasie małe przygody na boku — to
popieprzyłem sobie w pracy, to u kogoś w weekend. Ale od trzech tygodni nie
popieprzyłem sobie we własnym domu. Ale wreszcie koniec tej udręki! Znów będę
pieprzył do woli! I będzie tak ostro, jak dawno nie było! Wreszcie zmieliłem
sobie pieprzu i napełniłem, pustą od dłuższego czasu, pieprzniczkę.
:-)

Afrykański jellonek?

Odezwał się do mnie ktoś o JIDzie 2782630xxxx@mxit.co.za/clockspeed
(xxxx to też cyfry):

[Sat Jun 25 11:48:34 2005] <2782630xxxx> Hi
[Sat Jun 25 11:48:42 2005] <2782630xxxx> Hi
[Sat Jun 25 11:50:34 2005] <jajcus> Hello
[Sat Jun 25 11:50:41 2005] <jajcus> strange JID...
[Sat Jun 25 11:55:17 2005] <2782630xxxx> My name is Tommie.
[Sat Jun 25 11:55:39 2005] <jajcus> And how can I hel you, Tommie?
[Sat Jun 25 12:22:00 2005] <2782630xxxx> What PC-game do you like most?
[Sat Jun 25 14:35:40 2005] <jajcus> Crossfire?
[Sat Jun 25 14:37:25 2005] <2782630xxxx> My is Half-Life2.

Czyżby nasze WP Kontakt i Hapi zyskiwały konkurencję w Afryce? ;-)
W każdym razie ten afrykański komunikator wymaga jeszcze dopracowania —
z każdą wiadomością wysyła inne <thread/>, przez co u mnie otwiera się
za każdym razem nowe okienko (podobną przypadłość miał/ma zdaje się
Neos), a do tego nawet na /version nie odpowiada, więc nie wiem
co to.

Ups…

Jun 19 18:18:35 rudi upsmon[10409]: UPS naszups@serwus.bnet.pl on battery
Jun 19 18:18:40 rudi upsmon[10409]: UPS naszups@serwus.bnet.pl on line power
Jun 19 18:20:36 rudi upsmon[10409]: UPS naszups@serwus.bnet.pl on battery
Jun 19 18:20:41 rudi upsmon[10409]: UPS naszups@serwus.bnet.pl on line power
Jun 19 18:21:26 rudi upsmon[10409]: UPS naszups@serwus.bnet.pl on battery
Jun 19 18:21:31 rudi upsmon[10409]: UPS naszups@serwus.bnet.pl on line power
Jun 19 18:22:01 rudi upsmon[10409]: UPS naszups@serwus.bnet.pl on battery
Jun 19 18:22:06 rudi upsmon[10409]: UPS naszups@serwus.bnet.pl on line power
Jun 19 18:33:37 rudi upsmon[10409]: UPS naszups@serwus.bnet.pl on battery
Jun 19 18:33:42 rudi upsmon[10409]: UPS naszups@serwus.bnet.pl on line power
Jun 19 19:01:47 rudi upsmon[10409]: UPS naszups@serwus.bnet.pl on battery
Jun 19 19:01:52 rudi upsmon[10409]: UPS naszups@serwus.bnet.pl on line power
Jun 19 19:30:43 rudi upsmon[10409]: UPS naszups@serwus.bnet.pl on battery
Jun 19 19:30:48 rudi upsmon[10409]: UPS naszups@serwus.bnet.pl on line power
Jun 19 20:08:53 rudi upsmon[10409]: UPS naszups@serwus.bnet.pl on battery
Jun 19 20:08:58 rudi upsmon[10409]: UPS naszups@serwus.bnet.pl on line power
Jun 19 20:33:18 rudi upsmon[10409]: UPS naszups@serwus.bnet.pl on battery
Jun 19 20:33:23 rudi upsmon[10409]: UPS naszups@serwus.bnet.pl on line power
Jun 19 20:42:21 rudi upsmon[10409]: UPS naszups@serwus.bnet.pl on battery
Jun 19 20:42:26 rudi upsmon[10409]: UPS naszups@serwus.bnet.pl on line power
Jun 19 21:06:43 rudi upsmon[10409]: UPS naszups@serwus.bnet.pl on battery
Jun 19 21:06:48 rudi upsmon[10409]: UPS naszups@serwus.bnet.pl on line power
Jun 19 21:57:28 rudi upsmon[10409]: UPS naszups@serwus.bnet.pl on battery
Jun 19 21:57:33 rudi upsmon[10409]: UPS naszups@serwus.bnet.pl on line power

Uwielbiam zasilanie w tym budnku (TPSA, a jakże)… Miło że jeszcze coś
tam działa. W każdym razie nie mam zamiaru dzisiaj w nocy tam jechać!

Robótka

Jakiś czas temu zaproponowano mi pracę dla pewnego Holendra.
Pierwszy
mail od zleceniodawcy
nie nastawiał optymistycznie. Jednak dostałem to
zlecenie, wraz z widokami na następne. Chodzi o przygotowanie Linuksowego systemu
dla pewnego urządzenia. Nieśmiało zasugerowałem, żeby to zrobić na PLD (w końcu
to znam najlepiej, a i PLD ma parę zalet, które w takim zastosowaniu mogą mieć
znaczenie), a Holender na to poszedł. PLD mnie nie zawiodło, a ja, jak na
razie, nie zawiodłem zleceniodawcy. Podstawowy system bootuje się, nie tylko w QEMU, ale
i na docelowym sprzęcie (z karty Compact Flash). Pierwsze zadanie zostało
zaliczone, dostałem już dwa kolejne…

Układ jest bardzo wygodny. W uproszczeniu: zleceniodawca mówi co chce, ja
ile mi to zajmie godzin roboczych. W ten sposób jest zadanie wycenione
(ustalona stawka godzinowa). Jeśli wynik zadowala zleceniodawcę, to ja dostaję
zaliczkę (połowa ustalonej kwoty), zaczynam robotę, a gdy skończę, to dostaję
resztę. Jak napracuję się mniej niż zakładałem, to strata Holendra, jeśli
więcej to moja. I właściwie dokładnie tak to działał w przypadku
dwóch pierwszych zadań (postawienia systemu i doinstalowanie aplikacji).
Trochę bardziej komplikuje się to w przypadku trzeciego zadania —
konfiguracji serwerów Holendra…

No właśnie. Dostałem do administracji dwie maszyny. Z Debianem, którego nie znam
(no, do przedwczoraj nie znałem), skonfigurowane przez kogoś innego i z jakimiś
dziwnymi aplikacjami do skonfigurowania (GForge, OpenExchange). Tu nie jestem
w stanie stwierdzić ile mam roboty, póki się w to nie wgryzę. A wgryzanie się
robię aktywnie, od razu naprawiając co mi się nie podoba i próbując robić co
mam do zrobienia. Ale chyba jakoś się z wyceną dogadamy…

Mam trochę mieszane uczucia co do tej roboty. Cały czas przecież pracuje na
pełny etat tam gdzie pracuję. Więc na robotę dla Holendra muszę poświęcić moje
popołudnia, wieczory (kiepski ze mnie geek, do rana nie siedzę) i weekendy.
Odbywa się to kosztem rodziny, moich opensourcowych projektów i innych rzeczy.
Dwanaście godzin pracy dziennie to dla mnie trochę dużo i daje w kość. Ale gdy
pieniądze wpływają na konto, to jest fajnie. I też pewną frajdę sprawia mi
praca dla kogoś, kogo na oczy nie widziałem i pewnie nie zobaczę, kto jednak
docenia moją pracę (w firmie, gdzie pracuję na stałe, coraz rzadziej to się
zdarza) i do tego przyzwoicie (jak na nasze warunki) płaci. Podoba mi się też
to, że robota te nie jest związana z jakimiś długoterminowymi zobowiązaniami.
Mam coś do zrobienia, zrobię to w tydzień, czy dwa, a kolejnej roboty mogę po
prostu nie wziąć.

Zaczynam też się zastanawiać, czy robota wolnego strzelca na większą
skalę nie podobałaby mi się bardziej niż etat w jednej firmie. Konkretne
zlecenia, za które dostawałbym konkretne pieniądze (takie na jakie zapracuję),
a nie siedzenie przepisowych ośmiu godzin przy biurku, czasem nie wiadomo po
co, żeby zarobić tak sobie, czasem nie wiadomo za co. No i nie musiałbym
słuchać poleceń szefa, ani szefowej (to ostatnie najbardziej kuszące). Ale
stała posada w jednym miejscu ma swoje zalety. Przede wszystkim robotę,
nawet jeśli durną, zapewnia szefostwo. Sam mógłbym sobie nie poradzić, w końcu
nie zawsze zleceniodawcy będą mi spadać z nieba jak ten Holender. No
i nie wiem, czy szukanie zleceniodawców i wszelkie związane z robotą
formalności nie dałyby mi bardziej w kość, niż obecna robota…