Weblog Tomasza Przechlewskiego [Zdjęcie T. Przechlewskiego]


scrum
random image [Photo gallery]
Zestawienie tagów
1-wire | 18b20 | 1wire | 2140 | 3rz | adamowicz | alsamixer | amazon | anniversary | antypis | apache | api | applebaum | arm | armenia | astronomy | asus | atom.xml | awk | aws | bachotek | bakłażan | balcerowicz | balta | banan | bash | batumi | berlin | bibtex | bieszczady | biznes | blogger | blogging | blosxom | bono | borne-sulinowo | breugel | bt747 | budapeszt | budyń | bursztyn | 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 | dp1500 | ds18b20 | dulkiewicz | dyndns | dynia | ebay | economy | ekonomia | elka | elm | emacs | emacs23 | english | ep | erasmus | erasmusplus | ess | eu | excel | exif | exiftool | f11 | fc | fc11 | fc15 | fc29 | fc5 | fc8 | fedora | fedora21 | fenix | ffmpeg | finepix | firefox | flickr | folau | fontforge | fontspec | fonty | food | fop | foto | france | francja | fripp | froggit | 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 | hhi | historia | history | hitler | holocaust | holokaust | hpmini | humour | iblue747 | ical | iiyama | ikea | imap | inkscape | inne | internet | j10i2 | javascript | jhead | k800i | kajak | kamera | karob | kleinertest | kml | kmobiletools | knuth | kociewie kołem | kod | kolibki | komorowski | konwersja | krutynia | kuchnia | kurski | latex | latex2rtf | latex3 | lcd | legend | lenny | lesund | lewactwo | lgbt-folly | liberation | linksys | linux | lisp | lisrel | litwa | lizbona | logika | ltr | lubowla | lwp | lwów | m2wś | malta | mapquest | mapsource | marchew | marvell | math | mathjax | mazury | mbank | mediolan | mencoder | mevo | mh17 | michalak | michlmayr | microsoft | monitor | mp4box | mplayer | ms | msc | mssql | msw | mswindows | mtkbabel | museum | muzyka | mymaps | mysql | nafisa | nanopi | natbib | navin | nekrolog | neo | neopi | netbook | niemcy | niemieckie zbrodnie | nikon | nmea | nowazelandia | nuc | nxml | oauth | oauth2 | obituary | odessa | okular | olympus | ooffice | ooxml | opera | osm | otf | otftotfm | other | overclocking | ozbekiston | panoramio | paryż | pdf | pdfpages | pdftex | pdftk | pedophilia | perl | photo | photography | picasa | picasaweb | pim | pine | pis | pit | plotly | pls | plugin | po | podróże | pogoda | politics | polityka | polsat | portugalia | postęp | powerpoint | połtawa | prelink | problem | propaganda | pstoedit | putin | python | pywws | r | radio | random | raspberry | raspberry pi | raspberrypi | refugees | relaxng | ridley | router | rower | rowery | rpi | rsync | rtf | ruby | rugby | rumunia | russia | rwc | rwc2007 | rwc2011 | rwc2019 | rzym | samba | selenium | sem | sernik | sheevaplug | sienkiewicz | signature | sks | skype | skytraq | smoleńsk | sqlite | srtm | sshfs | 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 | transylwania | truetype | ttf | turcja | turkey | turystyka | tusk | tv | tv5monde | twitter | typetools | ubuntu | uchodźcy | udev | ue | ukraina | umap | unix | upc | updmap | ups | utf8 | uzbekistan | varia | video | vienna | virb edit | vostro | wammu | wdc | wdfs | weather | weathercloud | webcam | webdav | webscrapping | weewx | wh2080 | wiedeń | wikicommons | wilno | win10 | windows | windows8 | wine | wioślarstwo | word | wordpress | wrt54gl | ws1080 | wtyczka | wunderground | 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
Messtischblaetter

Tyle wiem na temat co jest na wikipedii. Mapy są dostępne np. tutaj. Weźmy jako przykład Wernersdorf, która zawiera m.in. okolice Piekła i Białej Góry.

Ściągnąłem oba wyżej wymienione pliki 2079_Wernersdorf_1939_jpg.map oraz 2079_Wernersdorf_1939.jpg.

Po to aby wprowadzić współrzędne interesujących mnie punktów do GPSa posłużyłem się programem OziExplorer (w wersji Trial). Po załadowaniu pliku 2079_Wernersdorf_1939_jpg.map w pasku na na górze okna ukazują się współrzędne punktu, na którym znajduje się wskaźnik myszy. W notacji mieszanej, tj. przykładowo 53° 54,918' oraz 18° 53,170 minut (mieszanej bo nie ma sekund tylko dziesiąte części minuty). Pewnie można to przestawić, ale ja spisałem jak jest i zamieniłem na układ 100% dziesiętny używając skryptu:

#!/usr/bin/perl
use Geo::Coordinates::DecimalDegrees;
my @dms = @ARGV ;
print STDERR "*** dms2decimal deg min sec ... deg/min/sec niekoniecznie sa liczbami calkowitymi....\n";
print STDERR "*** każde trzy liczby w linii poleceń są traktowane jako deg min sec *** \n";

while (@dms) {
  $deg = shift @dms ; $min = shift @dms ; $sec = shift @dms ;
  printf "%f %f %f =  %.6f\n", $deg, $min, $sec, dms2decimal($deg, $min, $sec);
}
## przykład:
dms2decimal.pl 53 54.918 0 18 53.170 0
> 53.000000 54.918000 0.000000 =  53.915300
> 18.000000 53.170000 0.000000 =  18.886167

Czyli 53° 54,918'/18° 53,170 to 53.915300/18.886167 w notacji dziesiętnej. Nb. wszystkie on-line serwisy do konwersji deg→dms, które oglądałem, wymagają całkowitych wartości stopni/minut/sekund, a Geo::Coordinates::DecimalDegrees nie. Inna sprawa czy to co podaje jest poprawne. Na 100% pewności nie mam ale chyba tak.

Na mapie Google wygląda to tak.

Wg mapy Wernersdorf i OziExplorera w tym miejscu jest środek mostu nad Nogatem na drodze nr 605 w Białej Górze, czyli ten punkt.

Różnica dla długości i szerokości geograficznej wynosi odpowiednio 53.915300 - 53.913498 = 0,001802 oraz 18.886167 - 18.883739 = 0,002428.

W odpowiedź na pytanie czy ja coś poplątałem czy ktoś inny na razie nie będę się wgłębiał. Zamiast tego to co odczytam w OziExplorerze skoryguję (na razie) za pomocą wyżej wyznaczonych poprawek.

OziExplorer się instaluje w Fedorze, się uruchamia za pomocą wine, ale beznadziejnie kończy pracę komunikatem o brakującej pamięci...

url | Wed, 27/04/2011 19:02 | tagi: , , , ,
Xetex i PDF: kilka problemów

Dawno temu zrobiłem systemik formatujący pewien plik XML do postaci pliku PDF. Ten cel jest realizowany na dwa pas. Najpierw skrypt Perla zamienia XML na plik TeXa, który to plik jest zamieniany pdfTeXem na dokument PDF. 10 lat działało i nagle ktoś dostrzegł, że zakładki (bookmarks) są nie po polsku. No nie są, bo kiedyś było to trudne do wykonania... A teraz faktycznie nie jest trudne -- wystarczy zamienić kodowanie z jednobajtowego na UTF-8.

Po tej właśnie linii zaatakowałem problem, tj. 1) zmieniłem kodowanie w generowanym pliku TeXowym z ISO8859-2 na UTF-8 oraz, w związku z tym 2) zmieniłem pdfTeXa na XeTeXa. Jak zwykle nie obyło się bez problemów:

  1. Elementy nawigacyjne są definiowane inaczej w XeTeXu niż w pdfTeXu, więc za pierwszym razem bookmarki zniknęły w ogóle. Gdybym swoje makra pisał w LaTeXu problem by nie istniał, ale w plain TeXu zwykle trzeba wszystko samemu... Tym razem na szczęście z pomocą google znalazłem działające gotowe makra pn. navigator.

  2. Kolory też są inaczej definiowane. Ja to zrobiłem tak:

    \def\cmykRed{0 1 1 0}
    \def\setcolor#1{\special{color push cmyk #1}}
    \def\endcolor{\special{color pop}}
    
    \setcolor\cmykRed \bf Cośtam-coś-tam-na-czerwono \endcolor
    
  3. Miłą cechą XeTeXa jest to, że można korzystać z fontów systemowych. Wymyśliłem zatem, że dokument będzie składany fontem TeX Gyre Heros w odmianie wąskiej. Można to zadeklarować następująco:

    %% Podstawowym fontem jest TeX Gyre Heros w odmianie `Condensed'
    %% cf. http://www.gust.org.pl/projects/e-foundry/tex-gyre/heros
    \def\MainFont{TeX Gyre Heros Cn}\def\MainXFont{TeX Gyre Heros}
    \font\rm = "\MainFont:mapping=tex-text" 
    \font\bf = "\MainFont/B:mapping=tex-text"
    \font\it = "\MainFont/I:mapping=tex-text"
    %% W stopniu 8pt zamiast odmiany wąskiej używamy normalnej %%
    \font\eightrm = "\MainXFont:mapping=tex-text" at 6.25pt
    \font\eightbf = "\MainXFont/B:mapping=tex-text" at 6.25pt
    \font\eightit = "\MainXFont/I:mapping=tex-text" at 6.25pt
    

    Zapis mapping=tex-text oznacza, że font ,,reaguje'' na TeXowe ligatury, m.in -- oraz --- zamieniając je (odpowiednio) na półpauzę i pauzę. Zapis /B włącza odmianę grubą a /I kursywę...

  4. I gdy już wszystko było prawie gotowe nieopatrzenie zajrzałem do pliku .log a tam cała masa wpisów:

    Invalid UTF-8 byte or sequence at line 22 replaced by U+FFFD.
    

    Czyli Perl jednak sygnalizował coś brzydkiego wypisując:

    Wide character in print at ....
    

    Mój skrypt czyta plik XML, parsuje go z wykorzystaniem XML::Parser, który to -- jak powszechnie wiadomo -- wypluwa dokument w UTF-8. Więc czemu w efekcie dostaję błędnie kodowany plik?? Ustalenie co jest nie tak zajęło mi kilka godzin a sprawa sprowadzała się do dodania:

    open (OUT, ">:utf8", "plik-out") # zamiast open (OUT, ">plik-out")
    

    zamiast open (OUT, ">:utf8"... można wpisać:

    use open ":encoding(utf8)";
    use open IN => ":encoding(utf8)", OUT => ":utf8";
    

    Wpisanie zaś:

    use utf8 ;
    

    wskazuje tylko tyle, że skrypt Perla jest kodowany w UTF-8.

url | Mon, 18/04/2011 22:58 | tagi: , , ,
Kreator przemówień

Stary dowcip sięgający czasów tzw. PRL, a może i dalej. W oryginale, który znam dotyczył drętwych mów działaczy PZPR...

Przykładowo w tabeli poniżej należy połączyć dowolną frazę z kolumny 1 z dowolną frazą z kolumn 2--4. W ten sposób powstaje tekst samograj. Zwykle wierszy jest 10, co daje około 6,5 tys różnych zdań. Przy 5 wierszach jest tego dużo mniej...

1 2 3 4
Kaczyński swoim seansem nienawiści pokazał chamstwo i bezczelność prowadząc do wojny domowej.
Hoffman podczas tego haniebnego spędu przekroczył granicę zbydlęcenia pokazując swoje prostactwo moralne.
Macierewicz tam na Krakowskim Przedmieściu szkodzi dobremu wizerunkowi Polski podpalając Polskę i dzieląc Polaków.
Brudziński mówiąc te dyrdymały bzdury i wypociny podnosi rękę na demokratyczny rząd , powinien trafić do szpitala psychiatrycznego.
Ziobro oczerniając i obrzucając błotem premiera zachowuje się jak nazista schodząc poniżej poziomu dna wyznaczonego przez Kempę.

Powyższy kreator przemówień aktywisty partii rządzącej znalazłem dziś w Sieci (reklamowany jako kreator przemówień marszałka S. Konstantego Myszkiewicza-Niesiołowskiego).

Gotowy plik z frazami do generatora jest tutaj. A tu skrypt perla generujący przemówienie o zadanej objętości. Przykładowo:

## 15 zdaniowy news do pokazania w `TuskVaselinaNetwork':
perl cliche.pl cliche-PO.txt -zdania 15

co daje:

Brudziński swoim seansem nienawiści przekroczył granicę zbydlęcenia  
podpalając Polskę i dzieląc Polaków. Macierewicz mówiąc  
te dyrdymały bzdury i wypociny przekroczył granicę  
zbydlęcenia , powinien trafić do szpitala psychiatrycznego.  
Ziobro oczerniając i obrzucając błotem premiera pokazał  
chamstwo i bezczelność , powinien trafić do  
szpitala psychiatrycznego. Macierewicz tam na Krakowskim Przedmieściu  
pokazał chamstwo i bezczelność pokazując swoje prostactwo  
moralne. Macierewicz mówiąc te dyrdymały bzdury i  
wypociny podnosi rękę na demokratyczny rząd ,  
powinien trafić do szpitala psychiatrycznego. Ziobro mówiąc  
te dyrdymały bzdury i wypociny podnosi rękę  
na demokratyczny rząd prowadząc do wojny domowej.  
Brudziński oczerniając i obrzucając błotem premiera zachowuje  
się jak nazista schodząc poniżej poziomu dna  
wyznaczonego przez Kempę. Kaczyński tam na Krakowskim  
Przedmieściu zachowuje się jak nazista schodząc poniżej  
poziomu dna wyznaczonego przez Kempę. Macierewicz tam  
na Krakowskim Przedmieściu szkodzi dobremu wizerunkowi Polski  
schodząc poniżej poziomu dna wyznaczonego przez Kempę.  
Hoffman oczerniając i obrzucając błotem premiera szkodzi  
dobremu wizerunkowi Polski podpalając Polskę i dzieląc  
Polaków. Hoffman swoim seansem nienawiści podnosi rękę  
na demokratyczny rząd pokazując swoje prostactwo moralne.  
Kaczyński swoim seansem nienawiści pokazał chamstwo i  
bezczelność , powinien trafić do szpitala psychiatrycznego.  
Ziobro swoim seansem nienawiści szkodzi dobremu wizerunkowi  
Polski schodząc poniżej poziomu dna wyznaczonego przez  
Kempę. Ziobro oczerniając i obrzucając błotem premiera  
przekroczył granicę zbydlęcenia pokazując swoje prostactwo moralne.  
Hoffman mówiąc te dyrdymały bzdury i wypociny  
zachowuje się jak nazista prowadząc do wojny  

Dłuższej `kongresowej' wersji:

perl cliche.pl cliche-PO.txt -zdania 500

może nie będę cytował. Za mało jest wierszy, stąd tekst pełny jest podobnie brzmiących zdań. Tekst 10 wierszowy wypada lepiej -- tu jest przykład (z czasów koalicji PSL-SLD) jak ktoś nie wierzy.

url | Thu, 14/04/2011 22:38 | tagi: , ,