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