Weblog Tomasza Przechlewskiego [Zdjęcie T. Przechlewskiego]


scrum
random image [Photo gallery]
Zestawienie tagów
1-wire | 18b20 | 1wire | 2140 | 3rz | alsamixer | amazon | anniversary | antypis | apache | api | applebaum | arm | armenia | astronomy | asus | atom.xml | awk | aws | bachotek | bakłażan | balcerowicz | balta | bash | berlin | bibtex | bieszczady | biznes | blogger | blogging | blosxom | bono | borne-sulinowo | breugel | bt747 | budapeszt | canon | cedewu | chello | chiller | chillerpl | chown | chujowetaśmy | ciasto | cmentarz | contour | cron | css | csv | curl | cycling | d54250wykh | dbi | 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 | food | fop | foto | france | francja | fripp | fuczki | fuji | fuse | gammu | garmin | gawk | gazwyb | gdańsk | gdynia | gender | geo | geocoding | georgia | gft | git | github | gmail | gmaps | gnokii | gnus | google | googlecl | googleearth | googlemaps | gotowanie | 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 | kociewie kołem | kod | kolibki | komorowski | konwersja | krutynia | kuchnia | kurski | latex | latex2rtf | latex3 | lcd | legend | lenny | lesund | lewactwo | liberation | linksys | linux | lisp | lisrel | litwa | lizbona | logika | ltr | lubowla | lwp | lwów | m2wś | mapquest | mapsource | marvell | math | mathjax | mazury | mbank | mediolan | mencoder | mh17 | michalak | michlmayr | microsoft | monitor | mp4box | mplayer | ms | msc | mssql | msw | mtkbabel | museum | muzyka | mymaps | mysql | nanopi | natbib | navin | nekrolog | neo | neopi | netbook | niemcy | niemieckie zbrodnie | nikon | nmea | nowazelandia | nuc | nxml | oauth | oauth2 | obituary | okular | olympus | ooffice | ooxml | opera | osm | otf | otftotfm | other | overclocking | panoramio | pdf | pdfpages | pdftex | pdftk | perl | photo | photography | picasa | picasaweb | pim | pine | pis | pit | plotly | pls | plugin | po | podróże | politics | polityka | polsat | portugalia | 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 | sernik | sheevaplug | sienkiewicz | signature | sks | skype | skytraq | smoleńsk | sqlite | srtm | ssl | staszek wawrykiewicz | statistics | stats | statystyka | stix | stretch | suwałki | svg | svn | swanetia | swornegacie | szwajcaria | słowacja | tbilisi | terrorism | tex | texgyre | texlive | thunderbird | tomato | totalnaopozycja | tourism | tramp | trang | truetype | ttf | turystyka | tusk | tv | tv5monde | twitter | typetools | ubuntu | uchodźcy | udev | ue | ukraina | 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 | zdrowie | łeba | świdnica | żywność
Archiwum
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
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: , ,
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: , , , , , , ,
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: , , ,