poniedziałek, 5 grudnia 2011

Kamień graniczny WMG w Matarni


#1: Selfportrait

#2: Janek H.

Za Wikipedią: Parafia św. Walentego w Gdańsku powstała na przełomie XIII/XIV wieku w kościele zbudowanym przez cystersów, do których należała aż do powstania listopadowego w 1830, po którym przeszła pod jurysdykcję diecezji chełmińskiej, a w 1993 po zmianach terytorialnych została włączona do diecezji gdańskiej. Obecny barokowo-rokokowy wystrój kościoła pochodzi z okresu po potopie szwedzkim w 1655, podczas którego kościół uległ znacznemu zniszczeniu.

Kościół jest mały i słabo widoczny od strony ulic Słowackiego/Budowlanych. Znajduje się obok niewielkiego cmentarza. Przy kościele jest kilka starych grobów. Na cmentarzu nie byłem...

Ciekawostką jest bocianie gniazdo znajdujące się na dachu kościoła.

Koło plebanii parafii św. Walentego jest wkopany słup graniczny Wolnego Miasta Gdańska. Dzisiaj tam byłem z kolegą Jankiem H. Kolega H. się wstydzi więc na zdjęciu #2 jest tylko jego ręka.

Po obejrzeniu słupa (długo nam to nie zajęło) wróciliśmy do Sopotu przez Dolinę Radości, po drodze oglądając jeszcze owocnik soplówki jeżowatej (Hericium erinaceus).

Nota bene trasa do Matarni doliną Radości jest do wykonania przez każdego, kto umie na rowerze jeździć. Można z Matarni wrócić tą samą drogą albo pojechać naokoło wzdłuż potoku Strzyży przez Matemblewo. Droga jest pokryta asfaltem za wyjątkiem fragmentu od kościoła św. Walentego do Matemblewa, przy czym w lesie wzdłuż Strzyży może być błoto i piach (ale to niewielki fragment). Poniżej plik GXP route z zaznaczonymi ciekawymi miejscami: pokaż.

sobota, 3 grudnia 2011

Ormo czuwa

Obrazek z dziś. Prawie pusta, prosta droga (konkretnie ulica Nowatorów w Gdańsku). Gość się uparł, że nauczy rowerzystów, iż powinni jechać ścieżką dla rowerów a nie jezdnią.

Na szczęście na tyle był kumaty, że nie usiłował nikogo łapać (za klapy albo coś w tym stylu), bo by jeszcze poprzewracał.

Takie rzeczy tylko w BudyńLandzie:-)

środa, 30 listopada 2011

Fedora 15 bugs

Fedora Desktop variant #1
XFce variant #1
Fedora Desktop variant #2
XFce variant #2

As I've found Gnome 3 unusable I've switch to Xfce which is much better than Gnome 3 but not perfect:

  • Freezes frequently if save session is active. This problem was solved by switching off save session feature.

  • Changes workspace layout from time to time. Most of time it displays variant #1 of the Desktop but sometimes the desktop switches to variant #2. Have no idea why. Unsolved.

  • Problems (fortunately very rarely) with The Workspace Switcher panel plugin (which allows one to switch between virtual desktops and/or display workspace layout in the panel)---number of displayed workspaces is suddenly reduced to 1 (or even 0). Unsolved as well.

Both unsolved `features' are annoying.

Finally I cannot update Fedora:


## LANG=C to switch to English
LANG=C yum update

Error: Package: ffmpeg-libs-0.6.90-0.2.rc0.fc15.i686 (@rpmfusion-free)
Requires: libx264.so.114
Removing: x264-libs-0.0.0-0.29.20110227.fc15.i686 (@rpmfusion-free)
libx264.so.114
Updated By: x264-libs-0.0.0-0.30.20110620.fc15.i686 (rpmfusion-free-updates)
Not found
You could try using --skip-broken to work around the problem

I have downgraded ffmpeg-libs (/etc/yum.conf contains exclude=ffmpeg-libs ffmpeg), otherwise I was unable to play AVI files. But sopcast insists on packages which are in conflict with my setup. In result I haven't sopcast installed.

I've been using Linux as my desktop operating system for about 12 years. I have started with Red Hat 4.0 (or 5.0) in 1989 or 1990 and since then I've stuck with Red Hat/Fedora. Actually I have never used MS Windows except version 95 (for starting DOS box) or when forced to do so. Looking back at all the Fedoras/RedHats I have used I am disappointed. Bugs were in every distributions, but with the help of Google I was able to cope with them. For the first time I cannot...

piątek, 18 listopada 2011

Problemy z updmap w TeXlive 2011

Powtórzyłem procedurę opisaną w Próbowanie fontów STIX, tj.:


otftotfm -a -e qx.enc STIXGeneral.otf STIXGeneral--qx

Powyższe generuje pliki vf/tfm/pfb w odpowiednie podkatalogi katalogu /home/tomek/.texlive2011. Uruchamia nawet program updmap, ale coś tam jest nie tak:


otftotfm -a -e qx.enc STIXGeneral.otf STIXGeneral--q
I had to round some heights by 18.0000000 units.
I had to round some depths by 3.0000000 units.
I had to round some heights by 18.0000000 units.
I had to round some depths by 3.0000000 units.
Config file: "/home/tomek/.texlive2011/texmf-config/web2c/updmap.cfg"
/home/tomek/.texlive2011/texmf-config/web2c/updmap.cfg unchanged. Map files not recreated.
/opt/tex/bin/updmap: Updating ls-R files.
otftotfm: warning: `updmap --nomkmap --enable Map \
/home/tomek/.texlive2011/texmf-var/fonts/map/dvips/lcdftools/lcdftools.map;
updmap >/dev/null 2>&1' exited with status 1;
otftotfm: warning: run it manually to check for errors

Powtarzam zatem:


$ updmap --nomkmap --enable Map /home/tomek/.texlive2011/texmf-var/fonts/map/dvips/lcdftools/lcdftools.map
updmap --nomkmap --enable Map /home/tomek/.texlive2011/texmf-var/fonts/map/dvips/lcdftools/lcdftools.map
Config file: "/home/tomek/.texlive2011/texmf-config/web2c/updmap.cfg"
/home/tomek/.texlive2011/texmf-config/web2c/updmap.cfg unchanged. Map files not recreated.
/opt/tex/bin/updmap: Updating ls-R files.
## nie wiem o co chodzi, ale jedziemy dalej
##
$ updmap
updmap
Config file: "/home/tomek/.texlive2011/texmf-config/web2c/updmap.cfg"
.. .. ..
ERROR: The following map file(s) couldn't be found:
/home/tomek/.texlive2011/texmf-var/fonts/map/dvips/lcdftools/lcdftools.map
Did you run mktexlsr?

updmap nie może zatem odszukać pliku lcdftools.map zadeklarowanego w pliku ~/.texlive2011/texmf-config/web2c/updmap.cfg

Próby ustalenia co jest nie tak zawiodły:


kpsewhich -expand-path '$TEXFONTMAPS'

Wydruk z powyższego zawiera ~/.texlive2011/texmf-var/fonts/map/dvips/lcdftools a wykonanie mktexlsr nie pomaga.

Skopiowałem zatem lcdftools.map do katalogu systemowego /usr/local/texlive/2011/texmf-var/fonts/map/dvips/updmap. Potem


## jako root
mktexlsr ;
## jako zwykły użytkownik, bo pliki tfm/vf/pfb są w moim katalogu domowym
updmap

Teraz działa. Wygląda na błąd w TL 2011. Znalazłem nawet w google radę zdesperowanego użytkownika, który radził wywalenie updmap.

Słuszną linię ma nasza partia

Podatki w górę, świadczenia budżetowe w dół, ,,bierzemy się do roboty'' z Nowakiem i Arłukowiczem, no i najważniejsze -- 300 PLN/łeb funkcjonariusza PP (Policji Państwowej) od lipca przyszłego roku.

Mam tylko jedno pytanie czy te 300 PLN to nie za mało i czy od lipca to nie za późno?

świnie
Snowball (pierwszy od prawej)

Dopisane 20 listopada 2011: Teraz jest moda na zwiększające klikalność zwykle kretyńskie mini-ankiety dodawane obok tekstu. To ja też dodam, tyle, że taką fake:

Dlatego ministrowie, niezależnie od dziedziny, jaką będą się zajmowali, będą musieli precyzyjnie planować i zdawać raporty...

Kto powiedział powyższe: 1. Premier Nikodem Dyzma w powieści Kariera Nikodema Dyzmy Tadeusza Dołęgi-Mostowicza; 2. Premier Donald Tusk w expose wygłoszonym 18. listopada 2011 r.; 3. Obaj wymienieni w pytaniach 1 i 2; 4. Świnia Snowball w powieści Animal Farm George'a Orwella.

wtorek, 8 listopada 2011

Data sets for statistical education

IMHO there is acute lack of interesting data sets for statistical education purposes, particularly cross-sectional in nature and not related to biology/medicine/astronomy. The domains I am looking for are management, demography and economics but sport is OK too as many students are interested in sport.

I agree there is a lot of data published (mainly) by various government agencies but its almost 100% time series data. There are many test datasets too (like UC Irvine Machine Learning Repository), but they are usually boring, often categorical and short:-)

To remedy a little the lack of good data I compiled myself a few databases and I intend to add more in the future. At present my repository consists of 4 datasets concerning: -- 1100 or so German WW2 U-boots; -- 2200 or so Titanic passangers/crew members -- 1200 or so Rugby Union players who took part in RWC 2011 and RWC 2007 tournaments.

The repository is available at my github account.

niedziela, 6 listopada 2011

Zmarł John McCarthy

Aż wstyd, że dopiero dziś się dowiedziałem.

24. października br. zmarł John McCarthy, twórca języka LISP (1958 r.), drugiego po Fortranie języka wysokiego poziomu powszechnie używanego do dziś. Ja też -- nie chwaląc się -- czasami go używam, choć go prawie nie znam:


(defun My-count-words (&optional begin end)
"count words between BEGIN and END (region); if no region defined,
count words in buffer"
(interactive "r")
(let ((b (if mark-active begin (point-min)))
(e (if mark-active end (point-max))))
(message "Word count: %s" (how-many "\\w+" b e))))

Nieoficjalna nazwa LISPa, to Lots of Irrelevant Silly Parentheses.

środa, 2 listopada 2011

Ostatnie prosta

Dziś przejeżdżając skromne 30 km, dociągnąłem do 149,925 km życiowego przebiegu... Zostało zatem zaledwie 80 km do okrągłej liczby 150 tys...

poniedziałek, 24 października 2011

How to import content from Blosxom to google Blogger

I have decided to give a try to Google Blogger service. I am an old dinosaur used to command line and tired with mouse and menus but as there is GoogleCL I am not scare. The problem is with my old posts---there is no way to post backdated blog entries with GoogleCL. A problem...

Fortunately there is export/import features on Blogger: one can backup blog content and/or upload it back to Google. In particular to import posts (and comments) into a blog, one have to click Import Blog from the blog's Settings. Next one have to select appropriate file and fill out the word verification beneath. The Blogger data format is Atom. So, to successfully import my old Blosxom entries I have to convert them to Atom.

I have made a few test entries and export them to check how the data looks like. Pretty wired but most of the content is irrelevant as it is concerned with formatting (css styles and such stuff is included). Also as I had comments disabled at my previous blog the problem is further simplified.

I have consulted Atom schema and tried with the following:


<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"
xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/"
xmlns:georss="http://www.georss.org/georss"
xmlns:gd="http://schemas.google.com/g/2005"
xmlns:thr="http://purl.org/syndication/thread/1.0">';

<id>tag:blogger.com,1999:blog-1928418645181504144.archive</id>
<updated>2011-10-22T12:34:14.746-07:00</updated>
<title type='text'>pinkaccordions.blogspot.com</title>
<generator version='7.00' uri='http://www.blogger.com'>Blogger</generator>

The meaning of the elements should be obvious. The last element (generator) is required by Blogger import facility, otherwise error message is returned.

According to the schema inside feed element there is zero or more entry elements:


<entry>
<id>ID</id>
<published>DATE</published>
<updated>DATE</updated>
<category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/blogger/2008/kind#post"/>

<!-- tags, each as value of attribute `term' of element category -->
<category scheme='http://www.blogger.com/atom/ns#' term='tag1'/>
<category scheme='http://www.blogger.com/atom/ns#' term='tag2'/>
<title type='text'>title</title>
<content type='html'>post content ... </content>
</entry>

There is a final </feed> to guarantee that XML file is well formatted.

I have assumed the only important feature of id element is that it's content should be unique. I have decided to use MD5sum of the post content as IDs to guarantee that.

Finally, my old Blosxom-compatible entries looks similar to the example below:


<?xml version='1.0' encoding='iso-8859-2' ?>
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<title>Przed finałami RWC 2011</title>
<!-- Tags: rwc2011,rugby,francja,polsat-->
</head><body><!-- ##Published : 2011-10-20T07:20:26CEST ##-->


<p>W RWC 2011 zostały już tylko dwa mecze: jutro (piątek), o trzecie miejsce oraz

So it was extremly easy to extract title, tags and publication date and format Atom-compliant XML file with the following Perl script:


#!/usr/bin/perl
# Variant of Blosxom to Blogger conversion
# 2011/10 t.przechlewski
#
use Digest::MD5 qw(md5_hex);

print '<?xml version="1.0" encoding="UTF-8"?>
<!-- id, title/updated jest wymagane w elementach feed/entry reszta opcjonalna -->
<!-- wyglada na minimalne oznakowanie -->
<feed xmlns="http://www.w3.org/2005/Atom"
xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/"
xmlns:georss="http://www.georss.org/georss"
xmlns:gd="http://schemas.google.com/g/2005"
xmlns:thr="http://purl.org/syndication/thread/1.0">';

print "<id>tag:blogger.com,1999:blog-1928418645181504144.archive</id>";
print "<updated>2011-10-22T12:34:14.746-07:00</updated>";
print "<title type='text'>pinkaccordions.blogspot.com</title>";
print "<generator version='7.00' uri='http://www.blogger.com'>Blogger</generator>\n";

foreach $post_file (@ARGV) {

my $post_title = $post_content = $md5sum = $published = '';
my @post_kws = ();
my $body = $in_pre = 0;
my $rel_URLs = 0;

print STDERR "\n$post_file opened!\n";
open POST, "$post_file" || die "*** cannot open $post_file ***\n";

while (<POST>) {
chomp();

if (/<title>(.+)<\/title>/) {$post_title = $1 ; next ; }
if (/<!--[ \t]*Tags:[ \t]*(.+)[ \t]*-->/) {$tags = $1 ; next ; }

if (/<\/head><body>/) {
$body = 1 ;
## </head><body><!-- ##Published : 2011-10-20T07:20:26CEST ##-->
if (/##Published[ \t]+:[ \t]+([0-9T\-\:]+).+##/) { $published = $1; }
print STDERR "Published: $published\n";
next;
}

if (/<\/body><\/html>/) { $body = 0 ; next }

if ( $body ) {
## sprawdzam `przenosnosc URLi':
if (/src[ \t]*=/) {
if (/pinkaccordions.homelinux.org/ || !(/http:\/\// ) ) { $rel_URLs = 1; }
}
## zawartość pre nie powinna być składana w jednym wierszu:
if (/<pre>/) { $in_pre = 1; $post_content .= "$_\n"; next ; }
if (/<\/pre>/) { $in_pre = 0; $post_content .= "$_ "; next ; }
if ( $in_pre ) { $post_content .= "$_\n"; }
else {
$post_content .= "$_ "; # ** musi być ze spacją **
}
}
}

### ### ###

if ($published eq '') {
warn "*** something wrong with: $post_file. Not published? Skipping....\n" ;
close(POST);
next ;
}
if ( $tags eq '' || $post_title eq '' ) {
die "*** something wrong with: $post_file (tags: $tags/title: $post_title)\n"; }
if ($rel_URLs) { die "*** suspicious relative URIs: $post_file\n"; }

$post_content =~ s/\&/&amp;/g;
$post_content =~ s/</&lt;/g;
$post_content =~ s/>/&gt;/g;

print STDERR "Title: $post_title Tags: $tags\n";

@post_kws = split /,/, $tags;
$md5sum = md5_hex($post_content);
print STDERR "MD5sum: $md5sum\n";

print "<entry>";
print "<id>tag:blogger.com,1999:post-$md5sum</id>";
print "<published>$published</published>";
print "<updated>$published</updated>";
print '<category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/blogger/2008/kind#post"/>';

## tags:
foreach $k (@post_kws) { print "<category scheme='http://www.blogger.com/atom/ns#' term='$k'/>"; }

print "<title type='text'>$post_title</title>";
print "<content type='html'>$post_content</content></entry>";

close(POST);

}

print "</feed>";

The minor problem was the default formatting of <pre>...</pre> which I use to show code snippets. I have to preserve line breaks (cf. $in_pre in the above Perl script) of pre element content as well as have to add the following to the default CSS styles (it is possible to modify CSS via Project →Template Designer →Advanced →Add CSS1)


pre { white-space:nowrap; font-size: 80%; }

To convert simply run script as follows:


perl blogspot-import.pl post1 post2 post3.... > converted-posts.xml

The above described script can be downloaded from here.

1In Polish: Projekt →Projektant szablonów →Advanced →Dodaj Arkusz CSS

czwartek, 20 października 2011

Przed finałami RWC 2011

W RWC 2011 zostały już tylko dwa mecze: jutro (piątek), o trzecie miejsce oraz w niedzielę finał Nowa Zelandia vs Francja. Oba na kanałach sportowych Polsatu. A więc finał jak w pierwszym turnieju i wynik też zapowiada się podobny.

Półfinał Francja vs Walia to było shame on Wales. Byli lepsi za wyjątkiem kopania z karnych. Z bodajże 5 kopnęli 1 (a przegrali 8:9) trzy razy zmieniając kopacza. Temu trzeciemu w pierwszej i ostatniej jego próbie w 75 min z 50 metrów prawie się udało (piłka przeleciała ciut pod poprzeczką).

Do tego sędzia usunął Walijczyka za tzw. tip tackle (przykład, po polsku wysoka szarża) już w 20 min, tj. prawie godzinę Walia grała w 14 przeciw 15. Nb. Francuz spadł na łeb, ale w dużym stopniu było to unintentional więc wielu ocenia decyzję sędziego jako pochopną... Pozostał niesmak... Francja nie zagrała jednego dobrego meczu a jest w finale.