środa, 31 października 2007

Inkscape

Do tej pory diagramy tworzyłem korzystając albo z Dia albo z Metaposta. Oba są dobre ale nie do wszystkiego więc dziś, w wolnej chwili, poświęciłem sporo czasu na rozpoznanie programu Inkscape. Jest w Inkscape nawet plugin pozwalający importować wzory generowane w LaTeXu. Plugin to nawet chyba zbyt mocno powiedziane: wzorek wpisany w okienko dialogowe jest kompilowany przez LaTeXa a następnie zamieniany na SVG za pomocą programu pstoedit. Za całość odpowiada skrypt pythonowy, u mojej Fedorze umieszczony w: /usr/share/inkscape/extensions/eqtexsvg.py.

Wprawdzie skrypt kończy działanie wyświetlając dość dziwny komunikat: Skrypt nie zgłosił błędu, jednak możliwe, że wynik jego działania jest inny niż spodziewany, sugerujący błąd, ale nie -- wszystko jest dobrze. (W mojej dystrybucji FC5 mam Inkscape w wersji 0.45 a pstoedit w wersji 3.44.) Przykładowy ekran zamieszczony jest obok.

Jeżeli ktoś używa Inkscape w systemie Windows firmy Microsoft i też chciałby wstawiać wzorki z LaTeXa, to być może pomocne będą wskazówki, które na swoim blogu umieścił Dave Herman.

niedziela, 28 października 2007

Monitor Iiyama, cd

Musiałem wrócić do tematu konfigurowania nowego monitora, bo okazało się, że pulpit w moim KDE jest przesunięty o jakieś 3 mm w prawo. Dopasowałem go ostatecznie używając programu xvidtune. Używając xvidtune trzeba pamiętać, że wszelkie manipulacje przyciskami Left, Right, Up, Down itp., w tym programie są widoczne dopiero po naciśnięciu guzika Apply (co może być dość zaskakujące--jak się nie wie, można odnieść wrażenie, że program nie działa). Z kolei guzik Show powoduje wypisanie w oknie terminala wiersza zawierającego parametry do Modeline. Moje szczęśliwe numerki, to:


"1680x1050" 188.1 1680 1820 2004 2288 1050 1051 1054 1100 -hsync +vsync

Powyższe wkleiłem do pliku /etc/X11/xorg.conf do sekcji Monitor. I jest lepiej. Tak przy okazji, po raz pierwszy pokazał mi xvidtune kol. Rysiu Kubiak, gdzieś circa 1990 r.

Okazała się też, że nie działa żaden program do odtwarzania plików video: mplayer, xine itp. W przypadku mplayera pomogło wpisanie do ~/.mplayer/config:


# Write your default config options here!
monitoraspect=1680/1050
# http://portal.suse.pl/wiki/index.php/Mplayer#xv
vo=x11

Podobnie dla xine wstawiłem do ~/.xine/config polecane:


video.driver:xshm

Tym razem rezultat jest taki sobie. Film się odtwarza ale są kłopoty z komunikacją z programem via mysz. Program jakoś niechętnie (albo wcale) reaguje na kliki. Mało korzystam z xine, nie jest to więc istotna sprawa. W wolnej chwili może uda mi się problem rozwiązać lepiej.

piątek, 26 października 2007

Klęcznik dla fakira

Klęcznik (kneeler chair) lesund kupiony w sklepie Ikea z przeznaczeniem do zabrania do pracy okazał się jeszcze mniej starannie wykonany niż poprzedni, też kupiony w tym samym sklepie. W przeciwieństwie do większości asortymentu był on sprzedawany w stanie złożonym. Wygląda, że fachowcom odpowiednich śrubek zabrakło i siedzisko dokręcili w ten sposób, że śruba sterczała wewnątrz ,,tapicerki'' (por. [1]). Bubel był finezyjny, bo dopiero po pewnym czasie coś zaczynało uwierać. Krótszych śrub na wymianę nie miałem, ale wstawiłem w roli podkładki dwie grube nakrętki, których mam w nadmiarze (por. [2]). Od razu też zabezpieczyłem regulowaną, dość rachityczną podpórkę -- która w poprzednim egzemplarzu pękła -- ściskając ją dwoma obejmami (por. [3] i [4]) po 1,60 zł za sztukę (do nabycia w dowolnym sklepie z artykułami metalowymi).

środa, 24 października 2007

Monitor Iiyama TFT E2001WSV

W końcu zdecydowałem się na zmianę monitora CRC na płaski. Używałem do tej pory 19 calowego modelu NEC MS95F. Straszna skrzynia, a tego kolory wyraźnie wyblakły no i przede wszystkim grzał jak piec. Po dłuższym kombinowaniu i przeglądaniu opinii w Internecie poszedłem ,,na pałę'' do Balty we Wrzeszczu bez określonych preferencji. Sprzedawca okazał się być użytkownikiem Linuksa--chyba pierwszy raz w życiu spotkałem kogoś sprzedającego sprzęt, którego wiedza nie ogranicza się wyłącznie do MSW. Pan z Balty polecał 20 calowy szeroki monitor albo 19 calowy o normalnych wymiarach ekranu--oba firmy Iiyama. Zachęcał to tego szerokiego i mówił, że sam takiego używa.

Trochę się tego szerokiego bałem, bo jakoś tak podświadomie mam zakodowane, że z nowościami mogą być problemy. A ja w tematach hardware'owych jestem totalnym ignorantem. No ale niecałe 900 zł to nie majątek więc wziąłem większy. Iiyama TFT E2001WSV. Podłączyłem i kicha: coś tam out of range, ekran czarny. Ctrl-Alt-F3 zmieniłem ustawienia ,,ręcznie'' w /etc/X11/xorg.conf na ,,generyczny LCD'' w trybie 1024x768. W tym trybie wszytko na pulpicie było oczywiście znacząco i denerwująco większe niż być powinno a ponadto prawa część pulpitu była obcięta.

Konsultując problem z google znalazłem wiele porad wzmiankujących bliżej mi nie znany wpis ModeLine (z /etc/X11/xorg.conf) o tyle nieprzyjemny, że zawierający ca 10 parametrów liczbowych, będących dla mnie kompletną czarną magią. Mój ,,stary'' xorg.conf zresztą nie zawierał ani jednego wiersza zawierającego ModeLine.

Ignorując na razie ModeLine, metodą kilku prób i błędów doszedłem do następującej zawartości pliku /etc/X11/xorg.conf (poniższy listing zawiera tylko relewantne fragmenty):


Section "Monitor"
## ...
HorizSync 31.5 - 83.0
VertRefresh 56.0 - 75.0
EndSection

Section "Device"
Identifier "Videocard0"
Driver "nv"
VendorName "Videocard vendor"
BoardName "nVidia Corporation NV11 [GeForce2 MX/MX 400]"
## poniższe wpisy znalazłem via google, być może są zbędne:
Option "NVreg_SoftEDID" "true"
Option "IgnoreEDID" "true"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Videocard0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1680x1050" "1280x800"
EndSubSection
EndSection

Prawie działało. Tzn. pulpit miał w zasadzie dobre wymiary i nic nie smużyło, tylko ikony i fonty były ciągle obłędnie duże. No trudno, poddałem się na dziś. Jutro doczytam o parametrach ModeLine. Pomógł przypadek: Elka chciała pilnie wysłać pocztę, zalogowała się jako ela no i się okazało, że u niej jest ślicznie. Sprawdziłem Środowisko->Preferencje->Rozdzielczość ekranu. Było ustawione tak jak trzeba, czyli: 1680 na 1050. Okazało się, że u mnie jest ciągle 1152x864 czy coś w tym stylu. Wystarczyło zmienić i już było dobrze. Obyło się bez czytania nt. ModeLine.

Corpus delicti jest tutaj.

wtorek, 16 października 2007

TrueType core fonts a dołączanie fontów

Dziś zostałem zapytany czy można dołączyć do dokumentu PDF font Times New Roman ze zbioru TrueType core fonts for the Web. Na zdrowy tzw. chłopski rozum, wydaje się, że tak ale z kolei w przypadku firmy MS może być różnie więc niekoniecznie może to być możliwe (zgodne z licencją).

Sprawdziłem licencję i można. Oczywiście jeżeli dokument zawiera podzbiór znaków (emedded subset) ale to akurat jest normalne/zwyczajowe ograniczenie. Na ten temat traktuje też [11] [8].

niedziela, 14 października 2007

Adieu, les bleus!

Co się odwlecze. Francja przegrała 9 do 14. Sędzia tym razem nie pomagał. Gwizdnął słusznie faul ca 5 minut przed końcem dający Anglikom prowadzenie, potem Wilkinson dodał trzy punkty z dropa. Kibicowałem Anglikom bo byli lepsi, może nie dużo lepsi ale jednak. Dziś wieczorem RPA vs Argentyna. A w eliminacjach Anglia poległa z RPA haniebnie. Ciekawe czy już w finale będzie miała okazje do rewanżu a tym razem zagra Wilkinson.

Przy okazji: aż do wczoraj ta strona nie wyświetlała się w Operze z powodu błędu składniowego. Dla FF wszystko było OK. Sprawdziłem zatem porządnie co jest nie tak:


http://pinkaccordions.homelinux.org/wblog && \
xmllint --valid --noout wblog

i faktycznie był błąd. Teraz jest OK. W IE#6 jest kompetnie do kitu ale nie mam motywacji sprawdzać co jest nie tak.

środa, 10 października 2007

Michalak forward pass, cont

W nawiązaniu do wpisu nt. meczu Francji i Nowej Zelandii: na youtube jest filmik gdzie widać wszystko co i jak. Zwłaszcza w 77 sekundzie tego klipa (w tle widać machającego rękami w geście protestu Joe Rokocoko (NZ) -- nr 14). Nie ulega wątpliwości, że sędzia, Wayne Barnes powinien przerwać akcję po podaniu Traille'a. Aż dziw, że tego nie zauważył. Krótka relacja nt. całej afery z N. Zelandii jest tutaj.

poniedziałek, 8 października 2007

Michalak forward pass

Jak powszechnie wiadomo podanie ręką piłki w przód jest zabronione a wielu twierdzi, że decydujące punkty w ćwierćfinałowym meczu Pucharu Świata w Rugby na Millenium Stadium w Cardiff pomiędzy Francją a faworyzowaną Nową Zelandią zdobyte zostały po takim właśnie podaniu. Wpisanie w google Michalak forward pass daje w rezultacie -- dwa dni po meczu --42,000 stron. Miał bowiem w tym zamieszaniu swój udział ,,nasz człowiek, czyli Frédéric Michalak. Ledwo wszedł na boisko 12 minut przed końcem meczu, złapał piłkę podaną przed Damiena Traille'a (to podanie właśnie -- zdaniem wielu -- było w przód, np. Within seconds of his arrival Michalak took a pass from Damien Traille -- it looked forward but may have been flicked back by an All Black), przebiegł 30 metrów, podał piłkę Yannickowi Jauzion, który jak to się mówi ,,dopełnił formalności''. Szczerze mówiąc to przegapiłem ten moment oglądając transmisję a wszystkie klipy na youtube dotyczące tego incydentu są usuwane (Ten film wideo jest już niedostępny z powodu otrzymania zgłoszenia o posiadaniu praw autorskich przez użytkownika Rugby World Cup Limited). Zresztą IMHO w pozostałych do końca meczu 12 minutach N. Zelandia nic nie pokazała a gdyby była dobra to nawet ewentualny błąd sędziego by Francji nie pomógł.

Poza ww., kontrowersji nie było. Anglia w ciężkim boju wygrała 12 do 10 z Australią. Anglicy zaimponowali: po porażce 0 do 36 z RPA wydawali się bez szans z silnym zespołem. A jednak. Wspomniane RPA nie bez wysiłku pokonało Fiji. No i wreszcie Argentyna pewnie wygrała ze Szkocją. Ten ostatni mecz był najbardziej jednostronny.

Polsat tym razem się nie popisał. Transmitowali tylko mecz Anglików z Australią. Zamiast reszty hitów puszczali jakieś piłkarskie pierdoły. Na szczęście francuska TV5 dawało wszystko live tyle tylko, że komentatorów nie szło zrozumieć (a jednym był Olivier Magne).

Środowisko R i pakiet ESS: instalowanie i rozpoczęcie pracy

R to środowisko do obliczeń statystycznych i wchodzi w skład każdej praktycznie dystrybucji Linuksa. Zainstalować można go bez problemu używając yuma, jeżeli już wcześnie nie został zainstalowany domyślnie. Dokumentację w formacie html odnaleźć można w katalogu /usr/lib/R/html/.

Emacs ma wsparcie do R w postaci pakietu ESS. Instalowanie ESS jest proste: należy rozpakować i dodać do plików startowych Emacsa następujące dwa wiersze (katalog ~/.emacs-local/ess/lisp oczywiście należy dopasować do własnych ustawień):


(add-to-list 'load-path "~/.emacs-local/ess/lisp")
(require 'ess-site)

Uruchamianie ESS jest jakby nieco mniej oczywiste; być może nawet to co opisałem poniżej jest nieoptymalne. Startuję R z wnętrza Emacsa za pomocą M-x R Enter. Zostanie wyświetlone w minibuforze pytanie o katalog roboczy, np.:


ESS [S(R): R] starting data directory ...

Należy wybrać odpowiedni katalog. Po pewnej chwili Emacs przejdzie do bufora *R*, który umożliwia interaktywną pracę z R. W buforze *R* można działać w środowisku R z wnętrza Emacsa dzięki czemu pracuje się wygodniej: działa dopełnienie (Tab) oraz help (C-c C-v). Tyle, że w buforze *R* polecenia R i wyniki obliczeń są przemieszane i szybko można się pogubić. Lepiej pisać program (skrypt) R w osobnym buforze a wyniki oglądać w buforze *R* (ogólnie *R:numer-procesu*, jeżeli działamy z więcej niż jednym skryptem, tj. dla drugiego skryptu zostanie utworzony bufor *R:2*, dla trzeciego *R:3*, itd.). Aby to osiągnąć należy otworzyć (nowy) plik za pomocą standardowego polecenia C-x C-f. Plik powinien mieć rozszerzenie .r. Bufor przejdzie do trybu ESS co zostanie zasygnalizowane pojawieniem się napisu ESS w wierszu trybu (modeline).

W tym buforze także działa pomoc (C-c C-v) i dopełnianie (C-c C-Tab). Pojedynczy wiersz ze skryptu R można uruchamiać za pomocą ess-eval-line (C-c C-j; uwaga: polecenia podzielone na wiersze wymagają naciśnięcia C-c C-j dla każdego wiersza); cały blok poleceń zaś za pomocą ess-eval-region (C-c C-r). Drobna niedogodność to przechodzenie pomiędzy różnymi oknami: tematów pomocy, R oraz bufora ze skryptem R (ESS otwiera/zamyka okna mało ,,intuicyjnie''). Ponieważ skrypty R są krótkie dobrym pomysłem jest podział ekranu na pół (C-x 2) i wyświetlanie w drugim oknie bufora *R*.

Prosty przykład wykorzystania R do określenia związku między poziomem korupcji a sposobem głosowania w sprawie zaakceptowania przez ISO specyfikacji OOXML można znaleźć w Corrupt countries were more likely to support the OOXML document format (Kai Puolamäki). Rysunek obok pokazuje wykonanie skryptu R z ,,wnętrza'' Emacsa (jak widać nawet okno zawierające histogram też się ładnie wyświetliło).

czwartek, 4 października 2007

Nazwy plików a system SVN

W zasadzie prosta sprawa. Nazwy plików różniące się tylko wielkością znaków (duże/małe litery) w systemie MSW są nierozróżnialne. Jeżeli takimi plikami zarządza system kontroli wersji SVN, to w linuksie i podobnych systemach wszystko działa, a w MS Windows nie -- i w pierwszej chwili nie wiadomo dlaczego. A nie działa zapewne dlatego, że plik jest nadpisywany i SVN-owi nie zgadza się liczba ściągniętych dokumentów.


#!/usr/bin/perl
# Rekursywnie przeszukuje bieżący katalog wypisując pliki, których nazwy
# różnią się tylko wielkością liter (małe/duże).
# Takie pliki nierozróżnia tzw. W-System, co może być źródłem problemów.

use File::Find;
find(\&fcmp, ".");

sub fcmp {
$dir = lc("$File::Find::dir");
$file = lc("$File::Find::name");
$Files{$dir}{$file}++;
}

for $d (sort keys %Files ) {
for $f (sort keys %{ $Files{$d}} ) {
if ($Files{$d}{$f} > 1) {
print "** $Files{$d}{$f} Duplicates found for: $d $f\n" ;
}
}
}

Powyższy skrypt perlowy wypisze pliki, które potencjalne mogą powodować problemy.