środa, 27 lipca 2011

Z zielonej wyspy na słoneczną wyspę (i z powrotem)

Ślady z wycieczki rowerowej na Bornholm, 20--25 lipca 2011: dzień 1, dzień 3, dzień 4, dzień 5, dzień 6. W drugi dzień lało i z konieczności była przerwa.

Całość trasy z zaznaczeniem różnymi kolorami poszczególnych dni: dzień 1--6.

Ponadto w promocji: -- wycieczka (moja) po okolicach Kołobrzegu, czyli tzw. dzień 0; -- rejs (powrotny) statkiem ,,Jantar'' z Nexo do Kołobrzegu; -- podróż (powrotna) pociągiem TLK relacji Kołobrzeg-Kraków (wersja alternatywna).

poniedziałek, 18 lipca 2011

Jeszcze jedna książka nt. LaTeXa

Okładka
Okładka

Wydali książkę, którą napisałem. Jest to jeszcze jeden podręcznik do LaTeXa.

Podręczników do LaTeXa jest multum ale mój ma być zwięzły i w miarę aktualny (takie były przynajmniej założenia). Okładka przyciąga uwagę (także logiem LaTeXa w wersji poor man's) -- ale to akurat nie jest moja zasługa.

Namiary na informację w katalogu wydawcy są tutaj. Tutaj są namiary na dodatkowe materiały. Tutaj jest zaś wersja robocza (może być trochę obszerniejsza od tej na CTANie).

Tomasz Przechlewski (2011), Praca magisterska i dyplomowa z programem LaTeX. Jak szybko tworzyć profesjonalnie wyglądające dokumenty, Wolters Kluwer Polska, Warszawa, ISBN: 978-83-264-1441-1. http://www.eoficyna.com.pl/x_C_I__P_40158734__PZTA_0D.html

niedziela, 17 lipca 2011

Odsyłacze bibliograficzne w schemacie autor-rok

Używam pakietu natbib ograniczając się do poleceń: \citet, \citealt, \citep, \citealp, \citeyearpar oraz \citetext.

Poniższy hak powoduje, że odsyłacze wewnątrz \citet będą odzielone przecinkiem, a wewnątrz \citep -- średnikiem. (,,Standardowy'' natbib stosuje jeden ,,globalny'' znak separującego kolejne odsyłacze.)


\documentclass[a4paper]{article}
\usepackage{polski}
\usepackage[authoryear]{natbib} %%&---
%% http://tex.stackexchange.com/questions/3125/a-comma-separator-for-citet-and-a-semicolon-separator-for-citep-simultaneou
\usepackage{etoolbox}
\makeatletter
\newcommand\bibstyle@comma{\bibpunct(),a,,}
\newcommand\bibstyle@semicolon{\bibpunct();a,,}
\makeatother
\pretocmd\citet{\citestyle{comma}}\relax\relax
\pretocmd\citealt{\citestyle{comma}}\relax\relax
\pretocmd\citep{\citestyle{semicolon}}\relax\relax
\pretocmd\citealp{\citestyle{semicolon}}\relax\relax

\begin{document}
...

Sposoby użycia ilustrują poniższe przykłady:


Przeciętna wariancja wyodrębniona (\emph{average variance extracted}, AVE)
jest definiowana następująco~\citetext{por.~\citealp[s.~612]{HairetAl98};
\citealp{sztemberg-lewandowska2008}; \citealp[s.~1213--1214]{FornellLarcker81}}:

Przeciętna wariancja wyodrębniona (average variance extracted, AVE) jest definiowana następująco (por. Hair i inni, 1998, s. 612; Sztemberg-Lewandowska, 2008; Fornell i Larcker, 1981, s. 1213--1214):


Tendencje przedstawione przez Orlikowski i~Baroudiego potwierdzają inne przeglądy,
por.~\citet{AbareshiMartin2008,RungtusanathamChoiHollingworth2003,NewstedHuffMunro98}
oraz \citet{PinsonneaultKraemer1993}.

Tendencje przedstawione przez Orlikowski i Baroudiego potwierdzają także inne przeglądy, por. Abareshi i Martin (2008), Rungtusanatham i inni (2003), Newsted i inni (1998) oraz Pinsonneault i Kraemer (1993).


Model Akceptacji Technologii [...] i~akceptację systemów informacyjnych w~praktyce
badawczej informatyki ekonomicznej~\citep{VenkateshEtAl03,VenkateshDavis00}.

Model Akceptacji Technologii (Technology Acceptance Model, TAM) jest najczęściej wykorzystywaną teorią objaśniającą wykorzystanie i akceptację systemów informacyjnych w praktyce badawczej informatyki ekonomicznej (Venkatesh i inni, 2003; Venkatesh i Davis, 2000).


Praktyka badawcza [...] oceniania w~pracach Hensleya~\citeyearpar{Hensley1999}
oraz Malhotry i~Grovera~\citeyearpar{MalhotraGrover1998}, a~w~obszarze
informatyki ekonomicznej w~pracach:
\citet{StraubBoudreauGefen2004,RaiLangWelker2002,BoudreauGefenStraub2001,Straub89}
oraz~\citet{NewstedHuffMunro98,GefenStraub2005} a~także \citet{Segars1997}

Praktyka badawcza ustalania trafności w dziedzinie nauk o zarządzaniu jest z kolei oceniania w pracach Hensleya (1999) oraz Malhotry i Grovera (1998), a w obszarze informatyki ekonomicznej w pracach: Straub i inni (2004), Rai i inni (2002), Boudreau i inni (2001), Straub (1989) oraz Newsted i inni (1998), Gefen i Straub (2005) a także Segars (1997).

czwartek, 23 czerwca 2011

Niepotrzebne mlocate

Dziś wpisując df przeraziłem się widząc, że pozostało mi 17% wolnej przestrzeni na pinkaccordions.homelinux.org (8Gb karta SDHC) bo do niedawna było to ca. 70%. Szukając winnego znalazłem ponad 3Gb plik w katalogu /var/lib/mlocate, który powstał (i powiększał się) ponieważ lekkomyślnie zamontowałem katalog ,,/'' z dugiej szewy poprzez fusermount. Z kolei ta druga szewa ma podłączony 2 Tb dysk (który nie jest przez nią indeksowany dzięki dodaniu czego trzeba do /etc/updatedb.conf).

W pierwszej chwili chciałem zablokować indeksowanie podmontowanego katalogu. Po chwili namysłu zdecydowałem się na bardziej radykalne wywalenie mlocate:


apt-get remove mlocate && rm -rf /var/lib/mlocate/*

Alternatywnie można dodać do /etc/updatedb.conf


vim /etc/updatedb.conf
# PRUNEPATHS to, które _nie będą_ indeksowane, dodaję /<ssfhs-katalog> żeby
# nie był indeksowany katalog zamontowany via fusermount
# PRUNEPATHS="/tmp /var/spool /<ssfhs-katalog>"

Ale po co mi w ogóle indeksowanie systemu plików na serwerze? Niepotrzebne... A im mniej zapisów tym -- podobno -- karta dłużej wytrzyma.

Przy okazji problemów z szewą: mój sposób synchronizacji czasu nie działa na jednej szewie jeżeli przy starcie systemu ntp nie połączył się z serwerem czasu... Poprawiłem czas (z pomocą kol. Rafiego):


# /etc/init.d/ntp stop
* Stopping NTP server ntpd [ OK ]
# ntpdate ntp.ubuntu.com
# /etc/init.d/ntp start

środa, 25 maja 2011

Rocznica pinkaccordions.homelinux.org

Minął rok odkąd zarejestrowałem w www.dyndns.com adres pinkaccordions.homelinux.org (dokładnie pierwszy wpis w access.log ma datę 23 maja 2010 r.). Działa doskonale....

Przy okazji: dzisiaj przeniosłem anemometr z płotu na dach bloku. Prędkości wiatru od razu wzrosły...

środa, 11 maja 2011

Ostatnie okrążenie

Dziś przejeżdżając skromne 35 km, przekroczyłem 145 tys życiowego przebiegu... Zostało 5 tys. do okrągłej liczby 150 tys. i jest szansa, że dociągnę jeszcze w tym roku...

środa, 4 maja 2011

Jak odkręcić zakleszczony filtr Hoya

Pojechaliśmy na Warmię (niem. Ermland) na dwa dni (2--3 maja) zwiedzając Pasłęk, Ornetę, Dobre Miasto i Lidzbark Warmiński (zdjęcia są tutaj).

W Ornecie Misiek upuścił aparat (w torbie i z niewielkiej wysokości) tak nieszczęśliwie, że uszkodził się dekiel i stłukł filtr nakręcony na obiektyw. Sam obiektyw (Olympus Zuiko 12-60 mmm) wydaje się intact. Filtr z kolei był tani--jakaś Hoya UV/72mm za 40 PLN. Zatem straty minimalne, ale... Ale nie szło odkręcić oprawki filtra. Próbowałem nawet to złapać kombinerkami za brzeg (szkła już nie było więc było więcej miejsca) i guzik...

Szukając pomocy wpisałem do Google hoya filter stuck. Problem generalnie jest znany i proponowane są różne rozwiązania:

  1. Wsadzić obiektyw na chwilę do lodówki. Wsadziłem na 5 minut do zamrażalnika--nie pomogło.
  2. Otoczyć filtr skórzanym paskiem. Pasek zacisnąć i spróbować przekręcić. Też nie działa.
  3. Położyć na kawałku gumy. Docisnąć i przekręcić. Akurat miałem kawał w miarę miękkiej gumy. Misiek trzymał gumę ja kręciłem obiektywem. Już myślałem czy nie połączyć punktu 1 (lodówka) z punktem 3 i wtedy puściło...

Uff...

PS: ślad wycieczki: dzień 1 i dzień 2.

sobota, 30 kwietnia 2011

Wycieczka do Węgier i Parpar

W nawiązaniu do poprzedniego wpisu.

Zachęcony relacjami Szlakiem kamieni i dworów..., Słupki graniczne WMG, i Węgry-kamienie graniczne WMG też się wybrałem obejrzeć ww. słupy graniczne d. Wolnego Miasta Gdańska.

Plany miałem ambitne: chciałem odnaleźć kamienie 7--21 k. Węgier plus 1--5 niedaleko Białej Góry. Najpierw ustaliłem ich położenie posługując się mapą i metodą opisaną w poprzednim wpisie. Rezultat jest tutaj (niebieska trasa/zielone pinezki). Wyznaczyłem też trasę (używając Gmaps pedometer) rozpoczynającą i kończącą się Tczewie.

Jak zwykle nie poszło zgodnie z planem. Planowo to było do Gościszewa. Później zjechałem z trasy i nie w tym miejscu dojechałem do Nogatu. W ,,normalnym'' terenie nie miałoby to większego znaczenia ale marsz (z rowerem -- do momentu, w którym stwierdziłem, że to nie ma sensu) po brzegu Nogatu naprzeciwko Pogorzałej Wsi okazał się niezwykle uciążliwy: bardzo stroma skarpa i mnóstwo powalonych gałęzi i przeszkadzających krzaków. Straciłem dużo czasu zanim dotarłem do słupka nr 7. GPS wskazywał jego pozycję z dokładnością do 30 m. Podobnie było ze słupem nr. 8, który też odnalazłem bez problemów. Pozostałem słupki odpuściłem wobec znaczącego obsuwu czasowego w stosunku do planowanego harmonogramu no i miałem już serdecznie dość łażenia po krzakach.

Kierując się na Białą Górę znowu fatalnie pomyliłem drogę. Do tego, to co na mapie jest drogą publiczną w tzw. realu okazało się drogą nawet nie szutrową a piaszczystą. W wielu miejscach nie szło jechać i trzeba było iść... Teren trzeba przyznać odludny i dziki. Ale żeby nie było idealnie to: tutaj i tutaj smrodzą (to drugie wygląda na mieszalnie pasz lub cóś w tym stylu)...

W związku z obsuwem czasowym słupki 1--5 także odłożyłem na później i z Białej Góry pojechałem bez zatrzymywania się (pod zimy i przeciwny wiatr) do Tczewa.

Trasa jest tutaj. Zielone pinezki to słupki graniczne wg mapy 2079_Wernersdorf_1939.jpg ustalone za pomocą procedury opisanej w poprzednim wpisie. Czerwone to miejsce zrobienia zdjęcia...

PS: jeżeli planuje się podróż PKP z rowerem nie należy klikać na rozkładzie w pole `Przewóz rowerów', bo wtedy wyświetlona zostanie tylko część pociągów, którymi można jechać z rowerem. Np. pociągi osobowe (zwykle/zawsze? składy typu EN57) Przewozów Regionalnych z definicji zabierają rower a wg. rozkładu nie. Rozkład rozklad-pkp.pl nie uwzględnia też połączeń SKM (a SKM kursuje m-dzy Tczewem a Słupskiem).

PS2: moja trasa jest w okolicach Parpar delikatnie mówiąc do kitu... Teraz już nawet nie wiem dlaczego tak to sobie ,,zaplanowałem''...

środa, 27 kwietnia 2011

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

wtorek, 19 kwietnia 2011

Zmiana wyglądu ikony w Google maps

W bibliotece, z której korzystam do wizualizowania plików GPX na google maps, do wyświetlenia punktu (czyli elementu wpt) wykorzystywana jest funkcja GPXParser.prototype.CreateMarker:


GPXParser.prototype.CreateMarker = function(point)
{
var lon = parseFloat(point.getAttribute("lon"));
var lat = parseFloat(point.getAttribute("lat"));
// ... ... ...
var marker = new GMarker(new GLatLng(lat,lon));
// ... ... ...
}

W powyższym symbol // ... ... ... oznacza pominięte fragmenty funkcji.

Wszystkie ikony dla elementów wpt są oznaczone standardową dużą czerwoną pinezką. Ja chcę, żeby moja pinezka ,,reagowała'' na obecność elementu type, który według schematu GXP, określa typ punktu. Przykładowo miejsce odwiedzone będę oznaczał jako:


<wpt lat="54.071729" lon="18.446817"><ele/>
<name>Skarszewy</name>
<type>visited</type>
<extensions><html>Skarszewy</html></extensions></wpt>

Tak oznaczone miejsca mają być wyróżniane za pomocą niebieskiej ikony. Pozostałe będą oznaczane czerwoną:


GPXParser.prototype.CreateMarker = function(point)
{
var lon = parseFloat(point.getAttribute("lon"));
var lat = parseFloat(point.getAttribute("lat"));

var wpType = point.getElementsByTagName("type")[0] ; // czy istnieje element type?
var wpTypeTxt = "?";

if ( wpType ) { wpTypeTxt = wpType.firstChild.nodeValue; } // jeżeli tak przypisz wartość

// ... ... ...
// zmiana wyglądu, skopiowane z: http://kody.wig.pl/tag/gmarker/
var cIcon = new GIcon();

// Ikony do pobrania z http://sites.google.com/site/gmapicons/
// umieszczam w katalogu '/icons_/'
if ( wpTypeTxt == "visited" ) { cIcon.image = '/icons_/mm_20_blue.png'; }
else { cIcon.image = '/icons_/mm_20_red.png'; }

cIcon.shadow = "/icons_/mm_20_shadow.png";
var marker = new GMarker(new GLatLng(lat,lon), cIcon );

cIcon.iconSize = new GSize(12, 20);
cIcon.shadowSize = new GSize(22, 20);
cIcon.iconAnchor = new GPoint(6, 20);
cIcon.infoWindowAnchor = new GPoint(5, 1);

// ... ... ...
}

Wynik można obejrzeć tutaj.