>> wybierz styl >> es :: ns :: bs

Weblog Tomasza Przechlewskiego [Zdjęcie T. Przechlewskiego] [[Ikona]]


scrum
random image [Photo gallery]
Zestawienie tagów
1-wire | 18b20 | 1wire | 2140 | 3rz | alsamixer | amazon | anniversary | antypis | apache | api | arm | armenia | astronomy | asus | atom.xml | awk | aws | bakłażan | balcerowicz | balta | bash | berlin | bibtex | bieszczady | biznes | blogger | blogging | blosxom | borne-sulinowo | breugel | bt747 | budapeszt | canon | cedewu | chello | chown | chujowetaśmy | cmentarz | contour | cron | css | csv | curl | d54250wykh | debian | dejavu | dhcp | dht22 | dia | docbook | dom | ds18b20 | dyndns | dynia | ebay | economy | ekonomia | elka | elm | emacs | emacs23 | english | ess | eu | excel | exif | exiftool | f11 | fc | fc11 | fc15 | fc5 | fc8 | fedora | fedora21 | fenix | ffmpeg | finepix | firefox | flickr | fontforge | fontspec | fonty | fop | foto | france | francja | fripp | fuczki | fuji | fuse | gammu | garmin | gawk | gazwyb | gdańsk | gdynia | gender | geo | georgia | gft | git | github | gmail | gnokii | gnus | google | googlecl | googleearth | googlemaps | gphoto | gphoto2 | gps | gpsbabel | gpsphoto | gpx | gpx-viewer | greasemonkey | gruzja | grzyby | haldaemon | handbrake | historia | history | hitler | holocaust | holokaust | hpmini | humour | iblue747 | ical | iiyama | ikea | imap | inkscape | inne | internet | j10i2 | javascript | jhead | k800i | kajak | kamera | kleinertest | kml | kmobiletools | knuth | kod | kolibki | komorowski | konwersja | krutynia | kuchnia | kurski | latex | latex2rtf | latex3 | lcd | legend | lenny | lesund | lewactwo | liberation | linux | lisp | lisrel | litwa | logika | ltr | lubowla | lwp | m2wś | mapsource | marvell | math | mathjax | mazury | mbank | mediolan | mencoder | mh17 | michalak | microsoft | monitor | mp4box | mplayer | ms | msc | msw | mtkbabel | museum | muzyka | mymaps | mysql | nanopi | natbib | navin | neo | neopi | netbook | niemcy | niemieckie zbrodnie | nikon | nmea | nowazelandia | nuc | nxml | oauth | oauth2 | obituary | okular | olympus | ooffice | ooxml | opera | otf | otftotfm | other | overclocking | panoramio | pdf | pdfpages | pdftex | pdftk | perl | photo | photography | picasa | picasaweb | pim | pine | pit | plotly | pls | plugin | po | politics | polityka | polsat | postęp | powerpoint | prelink | problem | propaganda | pstoedit | putin | python | r | radio | random | raspberry pi | refugees | relaxng | ridley | router | rower | rowery | rpi | rsync | rtf | ruby | rugby | russia | rwc | rwc2007 | rwc2011 | rzym | samba | sem | sheevaplug | sienkiewicz | signature | sks | skype | skytraq | smoleńsk | sqlite | srtm | ssl | statistics | stats | statystyka | stix | suwałki | svg | svn | swornegacie | szwajcaria | słowacja | tbilisi | terrorism | tex | texgyre | texlive | thunderbird | tomato | tourism | tramp | trang | truetype | ttf | turystyka | tusk | tv | tv5monde | twitter | typetools | ubuntu | uchodźcy | udev | umap | unix | upc | updmap | ups | utf8 | varia | video | vienna | virb edit | vostro | wammu | wdc | wdfs | webcam | webdav | wh2080 | wiedeń | wikicommons | wilno | windows | windows8 | wine | wioślarstwo | word | wordpress | wrt54gl | ws1080 | wtyczka | ww2 | www | wybory | wybory2015 | włochy | węgry | xemex | xetex | xft | xhtml | xine | xml | xmllint | xsd | xslt | xvidtune | youtube | yum | zakopane | zakupy | zdf | łeba | świdnica
Pobrania via google: [[Ikona]]
Archiwum
Inne blogi
N. Walsh | Morten H. Frederiksen | B. Clementson | prawo.vagla.pl | F. Hecker | M. Olson | J. Tennison | J. Clark | M. Nottingham | M. Shuttleworth | T. Isakowicz-Zalewski | J. Anglim | José A. Ortega Ruiz Modern Perl
Inne tematyczne
Ashwin Amanna | wiesia.nets.pl | Wojt | rwm.org.pl | DataBlog | Revolutions | Learning R | A. Gelman | C. Nel | J. Vogelgesang | ubl.xml.org/ | J.D. Long |
O stronie
wykorzystywany jest blosxom plus następujące wtyczki: tagging, flatarchives, rss10, lastbuilddatexhtmlmime. Niektóre musiałem dopasować nieco do swoich potrzeb. Więcej o blosxom jest tutaj
Subskrypcja
RSS 1.0
Szybsze geokodowanie zdjęć: gpsPhoto.pl

Wprawdzie jestem/byłem sceptyczny co do rezultatów, ale postanowiłem sprawdzić empirycznie ile warte jest dodanie współrzędnych geograficznych przy wykorzystaniu techniki zsynchronizowania czasów GPSa i aparatu. Ustawiłem czas Geko na Paryż. To co odbiornik wyświetlał z grubsza się zgadzało z czasem na zegarku. No akurat wiem, że GPS z definicji może ,,robić'' za ultra dokładny zegarek. Z aparatem było gorzej--wyświetla tylko godziny i minuty. Ustawiłem czas na tyle dokładnie na ile się dało.

Po zapisaniu śladu do pliku GPX okazało się, że czas zapisany przez Geko jest circa godzinę do tyłu w porównaniu do tego co jest wyświetlane. Wyświetla czas lokalny a zapisuje UTC? Chyba tak, bo w dokumentacji skryptu GPSphoto jest o czymś takim wspomniane. Zdjęcie z kolei jest oznaczone czasem lokalnym i taki czas jest zapisywany. No i dodatkowo jest pewna różnica wynikająca z niezbyt precyzyjnego zgrania obu urządzeń. Prosty pomysł jak je zgrać dokładnie podano w dokumentacji GPSphoto: po prostu trzeba zrobić zdjęcie Geko z wyświetlonym na ekranie czasem. Faktycznie, prościej chyba się nie da:-) Ale nie do zastosowania w urządzeniach GPS bez ekranu (por. komentarz z tego bloga.)

Żeby sobie ułatwić skrypt zrobiłem wykorzystujący Image::ExifTool. Na wejściu pobiera nazwę pliku ze zdjęciem, a wypisuje zawartość pola DateTimeOriginal. Jeżeli podam -- jako drugi parametr -- czas w notacji gg:mm:ss, to skrypt wypisze też różnicę w sekundach:

exif_datetime.pl  -f dscf2451.jpg -b 15:49:20

Wyszło 44 sekundy. Dodałem 3600 sekund jako różnicę między czasem aparatu a czasem garmina, wpisując z wiersza poleceń:

perl gpsPhoto.pl --dir=jpgs --gpsfile=20071228.gpx --timeoffset=-3644 \
  --kml 20071228.kml

Szczerze mówiąc za pierwszym razem nie dodałem znaku minus przed wartością 3644. W rezultacie większość zdjęć została pominięta. Ale kilka zostało oznaczonych. Uruchomiłem gpsPhoto drugi raz, tym razem poszło lepiej. Powstały plik wyświetliłem w googleearth i konsternacja: część zdjęć jest oznaczona prawidłowo, ale kilka ma współrzędne kompletnie do kitu. Do tego ślad jak zwykle jest przerwany i ma jeden gigatyczny ,,odlot'' od prawdziwego przebiegu trasy. Najbardziej zdumiewało mnie jednak to, że zdjęcia na śladzie nie były wstawione chronologicznie, tylko przemieszane. Niechybnie oznaczało to, że coś namieszałem.

Straciłem sporo czasu kombinując czemu tak się stało. Wreszcie wróciłem do źródeł, czyli zacząłem studiować dokumentację gpsPhoto.pl. Dodałem opcję --overwrite-geotagged, słusznie mniemając, że skoro jest taka opcja, to geo-oznakowane pliki nie są domyślnie brane pod uwagę. Ostatecznie zatem uruchomiłem gpsPhoto w następujący sposób:

perl gpsPhoto.pl --dir=jpgs --gpsfile=20071228.gpx --timeoffset=-3644 \
  --overwrite-geotagged --kml 20071228.kml

Wynikowy plik 20071228.kml pokazuje, że współrzędne geograficze poszczególnych zdjęć są całkiem precyzyje. Tak się jednak stało, że w wszystkich miejscach gdzie robiłem zdjęcia garmin nie miał problemów z rejestrowaniem śladu. Zobaczymy jak będzie np. w lesie, albo w mieście, przy wysokich budowlach.

Reasumując, muszę odszczekać to co napisałem wcześniej no i być mniej sarkastyczny. Ślad z mojego pierwszego eksperymentu jest tutaj. Na razie nie ma na nim zaznaczonych zdjęć; są dostępne na flickr.com. Muszę też doczytać na temat formatu KML.

url | Mon, 31/12/2007 12:16 | tagi: , , , ,
Emacs i Firefox

Funkcja browse-url wyświetla w przeglądarce WWW stronę o podanym adresie URL. Takie tam drobne ułatwienie: nie trzeba wklejać adresu do przeglądarki; wystarczy ustawić ,,na nim'' kursor i wywołać funkcję za pomocą M-x lub uprzednio zdefiniowaną kombinacją klawiszy. Wtedy Emacs uruchomi przeglądarkę, a ta z kolei wyświeli żądaną stronę.

Domyślną przeglądarką jest Mozilla; u mnie np. jest to Mozilla 1.7.12. Wraz z przejściem na wersję 22 Emacsa wróciłem do sprawy skonfigurowania Emacsa z Firefoksem i spróbowałem nastaw podanych na emacswiki.org:

(setq browse-url-browser-function 'browse-url-firefox
   browse-url-new-window-flag  t
   browse-url-firefox-new-window-is-tab t)
(global-set-key (kbd "C-c C-L") 'browse-url) 

Działa ale wyświetla każdą kolejną stronę w nowej karcie Firefoxa podczas gdy Mozilla pokazuje nową stronę w starym oknie. Wolę sposób działania Mozilli, więc pozostanę przy domyślnych ustawieniach.

url | Mon, 31/12/2007 12:12 | tagi: , ,
Wycieczka do Białej Góry

Biała Góra to miejsce gdzie zaczyna się rzeka Nogat. Jest tam historyczna śluza i starorzecze Wisły. Było strasznie zimno -- to nie był dobry termin na wycieczkę. Także z tego względu, że flora i fauna śpi. Było trochę ptaków, które zapewne tam zimują. Dzikich ptaków. Nie takich, jak na molo, że z daleka lecą po chleb. Ledwo usłyszały Miśka już uciekały więc bez lornetki trudno było rozpoznać gatunki. Jedne wyróżniały się wymiarami--chyba żurawie albo czaple. Wrócę jak będę miał EOSa:-)

Photo Photo Photo Photo

url | Thu, 27/12/2007 08:55 | tagi: ,
Kupowanie książek za granicą

Ten problem jest dyskutowany ([1] [2] [3] [4]), pojawiają się sprzeczne, często nieprawdziwe opinie. Nawet na liście GUST-l było pytanie w tej sprawie. Nie chwaląc się mam ,,w tym obszarze'' pewne doświadczenie-- w ostatnich latach kupiłem głównie via Internet kilkadziesiąt książek od różnych sprzedawców. Główne książki naukowe, literaturę fachową (informatyka), ale także trochę książek nt. historyczno-wojenne, które lubię sobie poczytać (przykładowo: Antony Beevor Stalingrad: The Fateful Siege, 1942-1943, Clay Blair, Hitler's U-Boat War, książki Martina Middlebrooka dot. różnych operacji RAF w drugiej wojnie światowej, itp.) Większość z nich oraz kilkanaście płyt CD kupiłem na amazon.com, tym amerykańskim. Opłaty za przesyłkę są na poziomie 10 USD w przypadku pojedynczej książki, jak książek jest więcej, to oczywiście jednostkowe koszty transportu są mniejsze. Uprzedzając obawy -- nie jest doliczane żadne cło. W ostatnich chyba dwóch latach wiele książek kupiłem w amerykańskich antykwariatach via Amazon. Płacę zawsze kartą debetową Visa/Electron wydaną przez Intelligo, używałem też e-karty m-Banku. Oczywiście amazon akceptuje także inne karty -- w tym, a zwłaszcza -- karty kredytowe, ale ja takowej nie posiadam.

Książki z antykwariatów są czasami dużo tańsze niż nowe, czasami różnica jest niewielka. Nie zawsze zatem opłaca się kupować z drugiej ręki, tym bardziej, że opłata za transport jest zwykle nieco większa dla książki używanej. No i kupujemy wtedy jedną książkę, więc nie ma możliwości rozłożenia kosztów transportu na wiele pozycji. Ważna sprawa: Amazon nie wysyła książek używanych do Polski. Najbliżej można wysłać do Niemiec. Można też wysłać do UK, Irlandii i jeszcze do innych krajów, ale do Polski nie da rady... Może dodadzą Polskę w najbliższym czasie do listy, ale na razie na niej nie jest. Trzeba mieć zatem ,,metę'' w tych krajach, do których książka może być wysyłana a z stamtąd sprowadzić już na własną rękę. Nie każdy antykwariat wysyła książki do Europy--jest to zaznaczone zwrotem international shipping available w opisie książki.

To czy książkę można czy nie można wysłać do Europy jest komunikowane na ostatnim etapie kupna--przy wybierze adresu do wysyłki. Klikamy ship to this address (jeżeli mamy zadeklarowany jeden adres wysyłkowy, to być może nie musimy nawet klikać -- ja mam ich kilka) i na górze strony ukazuje się niewinne ostrzeżenie ,,There is a slight problem...'' Faktycznie -- very slight -- na dole jest wyjaśnienie: this item can't be shipped to the country you selected. W tej sytuacji należy spróbować z innym sprzedającym, a zwykle jest ich wielu. Książki, które kupiłem zawsze powtarzam zawsze były w świetnym stanie, nawet te, które nie były opisane jako like new.

Inne potencjalne źródło książek to e-bay. W tym wypadku moje doświadczenie jest mniejsze: kilka pozycji. Kupiłem przykładowo Software Engineering: A Practitioner's Approach, która to książka kosztuje ca 120 USD na amazon.com, a cena używanej zaczyna się od 50 USD. Mówię o piątym wydaniu, które do tej pory ukazało się wyłącznie jako hardcover. A na e-bay można znaleźć ww. pozycję po kilka dolarów. Hmm... podejrzana sprawa. W opisie czytamy Containing exactly the same material as the US Hardcover edition... International Editions have different ISBN... This books is printed Black and White. Często koszty przesyłki są dość zaporowe, ale nie zawsze. Dla celów naukowych (tj. chciałem sprawdzić co i czy w ogóle przyjdzie) zaryzykowałem: znalazłem dostawcę z Chin(!), wydając całe 9 USD plus ca 15 USD za dostawę. BTW nie była to oferta najtańsza! Książka przyszła coś po tygodniu, jest absolutnie zgodna z opisem.

A czemu tak tanio? A bo na okładce jest napisane: This book cannot be re-exported from the country to which it is sold by Mc-Graw Hill. No i się wyjaśniło--segmentacja rynku. W USA łoimy do kaleson, a w Azji taniej bo kogo tam stać na książki po 100 dolarów. Nie jestem za to pewien czy kupowanie tych książek jest do końca zgodne z prawem. Na zdrowy chłopski rozum nie jest, ale z drugiej strony takich ofert jest na e-bay bardzo dużo, są one starannie i uczciwie opisane, łącznie z podaniem numeru ISBN (który jest różny od wydania International). Wygląda więc, że jest to co najmniej tolerowane.

Polskich pośredników unikam (ostatnie transakcje z nimi jakieś 3 lata temu, więc może coś się zmieniło). Kupując na konto UG nie miałem wyboru i korzystałem z różnych polskich importerów (bo moja firma nie pozwala na płacenie kartą kredytową). I dłużej i drożej... Przykładowo ceny książek sprowadzanych przez firmę ABE Books w porywach były wyższe o połowę od tych na amazon.com. Na pytanie czemu, odpowiedź, że to niemożliwe, bo oni kupują ,,bezpośrednio od wydawcy''. Aha, no tak, szczególnie jak się z tym wydawcą rozliczają w EUR.

Jeżeli chodzi o polskie książki, to nie kupię już niczego ani na merlin.pl ani na empik.com. Fatalna obsługa, ceny wcale nie najniższe. Do tego empik miał stronę WWW wprawdzie pstrokato-jarmarczną, ale nie działającą poprawnie w systemie Firefox/Linux. Polskie książki kupuję w małych księgarniach internetowych i jeszcze się nigdy na nich zawiodłem. A taki Merlin potrafił mi wysłać uszkodzą płytę DVD (widoczna nieuzbrojonym okiem rysa) a następnie ,,olać'' moją reklamację. Olać, tj. nic nie odpisać. Empik podpadł już przy pierwszym i zarazem ostatnim zamówieniu, wysyłając książkę przez miesiąc.

url | Wed, 26/12/2007 08:46 | tagi: , ,
Wywiad premiera T.
Emacs
Emacs
Emacs

Jak kończyłem poprzedni wpis, to w budynku obok premier Tusk produkował się w TV z okazji wigilii wigilii (czyli 23 grudnia). Jakieś 100 metrów w linii prostej. Na wypadek gdyby ten wpis czytał ktoś spoza kręgu moich znajomych, to spieszę donieść, że za płotem mojego bloku jest ,,coś w rodzaju'' hotelu zarządzanego przez Pomorski Urząd Wojewódzki. Piszę coś w rodzaju, bo to raczej widomy znak jak się marnuje pieniądze podatników -- zwykle toto stoi puste. Nieważne...

Więc przed 18 przyjechała TV, ustawili prądnice, światła i kamery. Włączyli wszystko, zaczęli świecić i burczeć. Od razu było widać, że jakiś ważny gość przyjedzie. No i tak świecili i burczeli przez 2 godziny. Potem przyjechał premier, wywiad był w środku, trwał chyba raptem ca 15 minut -- nie oglądałem to nie wiem. Przyznam, że premier mnie nie fascynuje, a jego wypowiedzi dot. zmiany stylu itp. rewelacje jeszcze bardziej mnie nudzą. Raczej czekam na konkrety i decyzje, i to niekoniecznie w/s CBA.

O 20.30 pojechali. Po co oświetlali ten budynek z zewnątrz tyle czasu -- do tej pory mnie to zastanawia. Chyba nie planowali wywiadu w ogrodach, bo na zewnątrz było dość rześko, jakieś -3 stopnie.

url | Mon, 24/12/2007 00:01 | tagi:
Migracje grudniowe

W uczuciach jestem stały, nie lubię zmian i związanego z nimi zamieszania i ryzyka. Ale wreszcie po latach pożegnałem Telekomunikację Polską na rzecz firmy UPC. Bo UPC jest tańsze. Prawdę powiedziawszy to wcale nie będę płacił o wiele mniej -- ponieważ wybrałem dość szybkie łącze -- ale gdybym takie coś zamówił w TP to by wyszło znacząco drożej. W związku ze zmianą trzeba było kupić nowy modem, którego konfiguracja była jeszcze prostsza od tego poprzedniego, używanego z Neostradą.

Internet z UPC działa sprawnie za to firma denerwuje mnie swoją absolutnie fatalną stroną WWW. Sprawa o tyle mnie dotyczy, że w ramach umowy mam opłacać faktury via ww. stronę. Z mojego zatem punktu widzenia jej funkcjonalność sprowadza się wyłącznie do możliwości pobrania plików PDF z formularzem faktury. Wydawać by się mogło, że nie można spartaczyć tak prostego zadania. A jednak w globalnej korporacji wszystko jest możliwe: jakiś ,,myśliwy'' wymyślił, że strona będzie wykorzystywała flasha. Po co? Nie wiadomo. Za to nie działa w moim L-systemie. Być może w jakimś bardziej up-to-date by działało ale nie będę sprawdzał. Anyway sprawa jest kuriozalna...

Jest coś śmiesznego w zaufaniu tzw. przeciętnego człowieka do tzw. wielkich firm... Wracając zaś do tematu, w UPC mam mieć ten sam numer co w TP. Zobaczymy co z tego wyjdzie, bo mam niejasne przeczucie, że z tym też będzie problem.

Kontynuując temat migracji: założyłem konto looseheadprop1 na gmail i teraz jest to moja główna skrzynka. Włączyłem IMAP. Na tym etapie doszło zresztą do pewnego nieporozumienia, bo na relewantnych stronach google nie jest napisane wprost, że IMAP jest dostępny wyłącznie dla kont w języku angielskim. Innymi słowy, aby włączyć IMAP trzeba zmienić Gmail display language na English US inaczej można czekać na włączenie się IMAP ad mortem defecatus. No cóż, widocznie ten co pisał ww. stronę założył, że jak dokument jest w j. angielskim to tylko Anglosasi go przeczytają. Taka sobie logika... Problem zresztą być może już nie istnieje, albo zniknie wkrótce.

ScreenDump
ScreenDump

W związku z powyższym zacząłem korzystać z Thunderbirda (poprzednio używałem pine), który skonfigurowałem według wskazówek ze strony google i wszystko działa doskonale. Doinstalowałem kilka wtyczek: Attachment Extractor, Display Mail User Agent, Enigmail, Quick Locale Switcher oraz Virtual Identity. Na razie tylko korzystam z Display Mail User Agent:-). Więc jeżeli ktoś nie chce wyjść w moich oczach na buraka używającego Outlooka, to przynajmniej niech usunie z nagłówka wiersz X-Mailer (do was m.in. piję w tej chwili kol. BL:-). Wtyczka Quick Locale Switcher przyda się jak będę większego coś w języku wysyłał. Trochę mi się nie podoba sposób jej działania, ale podobna wtyczka Dictionary Switcher nie działa wcale -- i to nie tylko u mnie -- co widać po komentarzach na ww. stronie.

Tak się rozochociłem tą zmianą, że -- idąc za ciosem -- skonfigurowałem też gnusa jako alternatywę do czytania poczty. Nie wchodząc w szczegóły po co mi to, uruchomienie gnus wymagało zainstalowania Emacsa w wersji 22, bo zarówno sam pterodactyl jak i niezbędne do współdziałania z gmailem biblioteki są w wersji 21 raczej dated. W FC5 nie ma -- z tego co mi się wydaje -- wersji 22 Emacsa zatem przygotowałem pliki rpm z archiwum źródłowego. Na marginesie: w swoim czasie skompilowałem i uruchomiłem Emacsa 23, ale... Ale to jest wersja alfa. Niby działa tyle, że co pewien czas następuje crash, zatem do pracy raczej kłopotliwe narzędzie. Od dziś zamiast wersji 21 będę miał 22. Wersja 23 zaś będzie służyła promocji Emacsa w tym, a zwłaszcza, powalaniu niewtajemniczonych na kolana:-)

Zawartość plików ~/.gnus.el oraz ~/.imap-authinfo skopiowałem z bloga Aleksieja Simakowa. Ale to było za mało żeby działało. Poza tym chciałem skonfigurować gnusa do czytania grup nowości, czegu u Simakowa nie ma. Dodałem zatem:

(setq gnus-select-method '(nntp "news.task.gda.pl" ))

A do konfiguracji konta pocztowego wykorzystuję zmienną gnus-secondary-select-methods:

(setq gnus-secondary-select-methods '((nnimap "imap.gmail.com"
     (nnimap-address "imap.gmail.com")
     (nnimap-server-port 993)
     (nnimap-authinfo-file "~/.imap-authinfo")
     (nnimap-stream ssl))))

Ponieważ gnus, z niewiadomych powodów, wstawiał błędne nagłówki, ustawiające kodowanie na us-ascii, dodałem wpisy:

(setq message-default-charset 'iso-8859-2)
(setq gnus-default-charset (quote iso-8859-2)) 
(setq gnus-default-posting-charset (quote iso-8859-2))

Prawie OK. Tzn. w buforze *Groups* widać grupy nowości, mogę je przeglądać i wysyłać wiadomości. Niestety nie widać nigdzie folderów z gmaila. Zaś bufor *Messages* nie zawiera informacji o jakichkolwiek błędach--wygląda, że się z gmailem łączy i wszystko jest OK. Zatem guglamy dalej. No i jest odpowiedź: magiczny klawisz ^, po naciśnięciu którego faktycznie pokazują się foldery i można czytać listy. Niestety, nie można wysyłać -- wyświetlany jest błąd: Sending failed; SMTP protocol error. Znowu google. I jest wskazówka: potrzebne jest zainstalowanie: gnutls-cli. Myślałem, że już to mam, bo locate gnutls coś tam wyświetlało... Zatem:

yum install -y gnutls-utils

I wreszcie (prawie) wszystko działa.

Na koniec wrócę do Emacs jako takiego. Problemy z migracją do wersji 22 są na razie drobne i łatwe do usunięcia. Nie działa ess. Na razie wstawiłem po prostu ; przed (require 'ess-site). Nie działa zapis /ssh::~/public_html (dotyczy biblioteki tramp), należy wpisać w pełnym brzmieniu /ssh:tomasz@gnu.univ.gda.pl:~/public_html. Funkcja My-flickr-images-initmojej biblioteki do ładowania zdjęć na flickr.com wyświetliła wspaniałe okno dialogowe a la MS Windows zamiast skromnie wyświetlić pytanie w minibuforze. Nie tylko wybranie katalogu trwa kilka razy dłużej, ale na dodatek szukane są tylko istniejące pliki. To ostatnie to akurat zapewne mój błąd: parametrem interactive było "fdir: ", a powinno być:

(interactive "Fdir: ")

Tyle, że oba ustawienia działają w ,,trybie minibufora''. Na szczęście nawet deweloperzy Emacsa mieli widocznie wątpliwości co do tego czy w tym wypadku nowe jest lepsze, bo już w ww. oknie dialogowym jest podpowiedź jak wrócić do starych sprawdzonych rozwiązań:

(setq use-file-dialog nil)

Kolejny drobny problem, to nieznana funkcja compile-internal. Faktycznie w dokumentacji jest oznaczona jako obsolete ze wskazaniem compilation-start jako zamiennika. Także i w tym przypadku modyfikacja też była bardzo prosta.

Reasumując: po raz kolejny się okazało, że wszystko poszło w miarę sprawnie. No ale ja z natury jestem panikarz.

url | Sun, 23/12/2007 22:44 | tagi: , , , , , , ,
Skrypty Gpx-viewer, gpsbabel i zdjęcia na Google Maps

Zrezygnowałem wreszcie z używania do komunikacji z GPSem programu GPSman na rzecz GPSBabela. Ten pierwszy jest programem interaktywnym a przez to niezbyt wygodnym bo trzeba się trochę naklikać żeby przegrać zawartość pamięci Geko na PC. GPSBabel działa w trybie wsadowym, dzięki czemu można oszczędzić dużo (cennego) czasu:

#!/bin/bash
TODAY=`date +"%Y%m%d"` # zapisz do pliku yyyymmdd.gpx
gpsbabel -t -r -w -i garmin -f /dev/ttyS0 -o gpx -F "$TODAY.gpx" 

Przyznać muszę, że podchodziłem do tego GPSBabela jak do jeża bo przy poprzednich próbach coś mi tam nie działało. A niesłusznie -- wystarczyło przeczytać dokumentację.

Najwięcej czasu straciłem zresztą na podłączeniu Garmina do komputera. Mój Geko 301 jest podpięty do PC standardowym ,,fabrycznym'' kablem pn. RS232 serial port connector (part number: 010-10310-00). Port szeregowy, tj. /dev/ttyS0 w nomenklaturze Linuksa, w FC5 jest dostępny tylko dla superużytkownika. BTW mam poczucie, że wcześniej był dostępny dla wszystkich. Kłopot ten rozwiązałem w sposób przedstawiony tutaj:

ls -l /dev/ttyS0
crw-rw---- 1 root uucp 4, 64 gru 18  2007 /dev/ttyS0
/usr/sbin/usermod -G uucp tomek # dodanie tomka do grupy uucp

Uwaga: program usermod działa tak, że jeżeli użytkownik jest obecnie członkiem grupy, której nie podano na liście--wartości opcji -G, to zostanie z niej usunięty. Lepiej więc zwyczajnie uruchomić vi i dopisać co trzeba do /etc/groups.

Mając już zgrany ślad (track) i punkty (waypoints) zacząłem kombinować co dalej z tym robić. Sposób w jaki publikuję moje ślady korzysta z biblioteki gpx-viewer Kaza Okudy. Każdy punkt z pliku GPX jest przedstawiony w postaci standardowej ,,pinezki'' znanej z google maps. Pinezka po kliknięciu zamienia się w okienko zawierające zawartość elementów-dzieci elementu wpt (tj. ele, name, cmt, desc oraz sym) oraz atrybuty tego elementu (latlon), np.:

<wpt lat="54.443087485" lon="18.540491704">
  <ele>69.340332</ele>
  <name>168</name>
  <cmt>168</cmt>
  <desc>168</desc>
  <sym>Flag</sym>
</wpt>

Gdyby ww. element zawierał element extension, to pokazana by była tylko zawartość extension. W przykładach ze strony Okudy extension zawiera element img zawierający z kolei zdjęcie zrobione w tym właśnie miejscu:

<wpt lat="49.237919" lon="-122.760106">
  <ele>4.0</ele>
  <name>Photo 2</name>
  <extensions><html><![CDATA[
       <a href="http://okuda.blogspot.com/2005/07/traboulay-poco-trail.html" target="_blank">
         <img src="blog/2005-07/IMG_2370-01.jpg" />
       </a>
    ]]></html></extensions>

Teraz mała dygresja: odsyłacze do zdjęć na flickr.com są tworzone według pewnego schematu. Strona główna zdjęcia ma adres http://www.flickr.com/tprzechlewski/<photo_id>/, gdzie <photo_id> oznacza identyfikator zdjęcia. Plik ze zdjęciem ma zaś następujący URL:

http://static.flickr.com/<server>/<photo_id>_<secret>_<size>.jpg

Wartości <server> oraz <secret> można ustalić np. poprzez wykonanie metody flickr.people.getPublicPhotos. Wartościami sizes (square), t (thumbnail), m (small), b (large), o (original). Oznaczają one odpowiednio pliki o wielkościach 75, 100, 200, 1024 pikseli i wielkość oryginalną. Rysunek typu square to kwadrat, pozostałe to prostokąty o dłuższym boku równym podanej licznie pikseli. Prostokąt o dłuższym boku równym 500 pikseli to wielkość zdjęcia, która jest wyświetlana na stronie głównej zdjęcia. Ta wielkość jest wybierana jeżeli URL nie zawiera części _<size>.

Ja chciałem żeby element img wewnątrz extension w pliku GPX wskazywał na zdjęcie w rozmiarze thumbnail na flickr.com a element a odsyłał na stronę główną tego zdjęcia. Żeby nie wpisywać kodu ręcznie wymyśliłem to następująco.

Za pomocą skryptu flickr_getphotolist.pl pobieram informacje nt. wszystkich zdjęć (publicznych, ale to ograniczenie akurat jest OK). Skrypt zapisuje informacje w postaci następującej listy haszy:

@photos = (
{'owner' => '20425995@N00','isfriend' => '0','ispublic' => '1','secret' => '95826dcd42',\
 'farm' => '3','title' => 'dscf1209','server' => '2343','id' => '1747402167','isfamily' => '0'},
...

do pliku ~/.flickr/hr.icio.ph. Prosty skrypt zwraca kompletne adresy URL po podaniu tytułu zdjęcia (działa przy założeniu, że tytuły są unikatowe):

#!/usr/bin/perl
require "$ENV{HOME}/.flickr/hr.icio.ph" ;
$photo_title = shift;
for (@photos) { if ($photo_title eq $_->{title} ) {
print "<extensions><html><![CDATA[
       <a href=\"http://www.flickr.com/tprzechlewski/$_->{id}/\" target=\"_blank\">
         <img src=\"http://static.flickr.com/$_->{server}/$_->{id}_$_->{secret}_t.jpg\" />
       </a> ]]></html></extensions> \n";
  }
}

Teraz wystarczy dopisać w .emacs funkcję, która w miejscu wywołania albo zapyta o tytuł zdjęcia, albo pobierze go sama z wiersza gdzie jest kursor po czym wstawi to co wypluje ww. skrypt do Emacsowego bufora. Genialne:-) Na próbę dodałem zdjęcia do śladu wygenerowanego 16. 12. 2007 r.

BTW patrząc na ten dziwny ślad nie mogę się powstrzymać od sarkazmu, mając w pamięci opinię niejakiej squishy z forum flickr.com: ... it's smaller than many cell phones and I think it's fabulous. I just turn it on and toss it in a backpack, then download the track log later to sync with photos... Gdzie ona mieszka? Na pustyni Gobi? Albo pracuje w Garminie... Albo to sync with photos jest plus/minus 10 kilometers. Bo mój geko 301 prawie zawsze zgubi ślad w trudnym terenie typu las, duże budynki, głębokie doliny itp...

url | Wed, 19/12/2007 09:54 | tagi: , , , , , , ,
Nowa usługa na flickr.com

Niedawno (13 grudnia 2007) Flickr uruchomił nowy serwis pn. stats! Użytkownicy serwisu z wykupioną usługą pro (ca 25 USD, czyli niedużo -- jak to się czasy zmieniły BTW) mają dostęp do różnych statystyk dotyczących swoich zdjęć. Informacje o usłudze zobaczyłem dzisiaj. Żeby z niej skorzystać trzeba się zasubskrybować -- czytaj nacisnąć duży guzik ze stosownym napisem. Wówczas ukazuje się napis, że OK, ale statystyki będą jutro. Grozę potęguje animacja gościa z pneumatycznym młotem. Widocznie jestem jednym z pierwszych bo były od razu -- wystarczyło odświeżyć stronę.

[[screen dump]]
[[screen dump]]
[[screen dump]]

A więc pro-user dostaje takie informacje jak: liczba odsłon dla każdego zdjęcia oraz statystyki adresów referer w podziale na ,,wczoraj'' oraz ,,ogółem''. Ponadto wykres liniowy liczby odsłon zawierający dzienne dane z ostatniego miesiąca oraz zestawienie tabelaryczne zawierające podsumowania liczby odsłon (wczoraj, ostatni tydzień, ostatni miesiąc oraz ogółem) dla stron głównych (photostream), zbiorów (sets), kolekcji (collections) i stron pojedynczych zdjęć.

Statystki ,,oglądnięć'' dostępne ze strony http://www.flickr.com/photos/tprzechlewski/stats/allphotos/ (Nie ma co klikać, więc i linka nie ma -- strona dostępna po zalogowaniu:-) są kompletne, tj. dla każdego zdjęcia dostępna jest liczba odsłon (z wczoraj, z ostatniego tygodnia oraz ogółem).

W pierwszej chwili pomyślałem, że nowa usługa renders obsolete jak mawiają Anglicy moje skrypty, które z takim zapałem ostatnio udoskonalałem. Ale niekoniecznie! Dane ze strony stats! primo nie są trwałe (niektóre tak -- ale nie wszystkie, np. dzienne statystyki oglądalności dostępne są tylko dla ,,wczoraj''), secundo żeby były trwałe trzeba je ściągać na swój komputer na przykład codziennie. No i tu się przyda programik flickr_store_views.pl, który potrafi się zalogować na flickr.com, pobrać stronę i zapisać co trzeba na dysk. Zamiast ściągać 170 stron i z nich wyciągać potrzebne informacje wystarczy teraz ściągnąć kilka stron spod adresu tprzechlewski/stats/allphotos/yesterday/pageliczba robiąc to metodycznie, czyli codziennie.

Jeszcze link z forum z informacjami nt. omawianej wyżej usługi. Your stats will eventually be a rolling 28 day window, czyli dostępne będą tylko dane z ostatniego miesiąca. Zwracam też uwagę na komentarz dot. tłumaczenia słowa interestingness na język hiszpański jako interesidad. Że niby takie słowo nie istnieje. Faktycznie nie ma w słowniku a google znajduje raptem 4 strony z interesidad (w tym powyższa). Ale jak przetłumaczyć interestingness (za WordNet: the power of attracting or holding one's interest), np. na j. polski? Moc przyciągania?

Dopisane 13 maja 2008: Skrypt flick-store-views.pl przestał działać. Coś zostało zmienione w procedurze logowania. Nie chce mi się tego poprawiać...

url | Fri, 14/12/2007 17:42 | tagi: , , ,
Ciągły kłopot z dźwiękiem w Skype
[[Screen dump]]

Ten wpis to takie przypomnienie dla mnie. Skype używam sporadycznie i jak włączę to z reguły rozmówca mnie nie słyszy bo FC5 ciągle się rozkonfigurowuje. Zatem aby mnie słyszano trzeba, np. kliknąć w środowisko-preferencje-regulacja głośności i tam przełączyć nastawy w zakładce nagrywanie tak jak to widać na zrzucie ekranowym obok. Tutaj są pomysły na permanentne rozwiązanie problemu zobaczymy czy działające...

url | Thu, 13/12/2007 16:24 | tagi: , , ,
Dodawanie zdjęć na flickr.com w trybie My-flickr-upld

Znacząco poprawiłem swój tryb do dodawania zdjęć na flikr.com. Teraz wszystko się dzieje wewnątrz Emacsa łącznie z uruchomieniem wysyłania plików na serwer. W starej wersji pliki konfiguracyjne czytał Emacsowy moduł xml.el co było może i eleganckie ale odbywało się przeraźliwie wolno. W nowej wersji plik konfiguracyjny jest plikiem lispowym wygenerowanym skryptem Perla z plików XML. Jak to działa opisałem na oddzielnej stronie. Jedna sprawa jest tajemnicza:

#!/usr/bin/perl -w
require 'login2flickr.rc';
require 'flickr_utils.rc';

my @tmpx = get_sets_ids();
my @tmpy = get_pools_ids();

W plikach login2flickr.rc oraz flickr_utils.rc są zdefiniowane procedury, który czytają plik z dysku i zwracają zmienne. W szczególności flickr_utils.rc zawiera dwie prawie identyczne procedury (get_sets_ids oraz get_pools_ids), czytające różne pliki konfiguracyjne. Kurcze... na jednym komputerze perl zwraca błąd: Undefined subroutine &main::get_pools_ids called at... a na drugim działa. Ten sam perl, ta sama wersja FC5, jedna procedura z pliku dołączanego poleceniem require jest zdefiniowana druga nie... Wystarczy zmienić kolejność poleceń require żeby powyższe działało w obu systemach. Nic mi do głowy nie przychodzi...

url | Tue, 11/12/2007 20:58 | tagi: , , , , ,