<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
    <channel>
        <title>What is Miklos hacking</title>
        <description></description>
        <link>http://vmiklos.hu/blog/</link>
        <item>
            <title>LibreOffice Hamburg Hackfest 2013</title>
            <description>&lt;div class="imageblock" style="text-align:center;"&gt;
&lt;div class="content"&gt;
&lt;a class="image" href="https://lh6.googleusercontent.com/-VWFdyXddsj4/UcAmItG7LdI/AAAAAAAAC0M/aduHC_-oanA/s714/HHHackfest2013.png"&gt;
&lt;img src="https://lh6.googleusercontent.com/-VWFdyXddsj4/UcAmItG7LdI/AAAAAAAAC0M/aduHC_-oanA/s400/HHHackfest2013.png" alt="https://lh6.googleusercontent.com/-VWFdyXddsj4/UcAmItG7LdI/AAAAAAAAC0M/aduHC_-oanA/s400/HHHackfest2013.png" /&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;This year, LibreOffice&amp;#8217;s Hamburg hackfest happened last weekend, with more than
20 attendees. Thanks to the
&lt;a href="https://wiki.documentfoundation.org/Hackfest/Hamburg2013#Sponsors"&gt;sponsors&lt;/a&gt;, we
had free drink and food during the whole hackfest. ;-)&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;My original plan was to add support for tables inside text frames
in Writer, when importing from RTF. At the end I managed to do that, though not
the way I originally wanted to implement that feature. :-)&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Here is how this looked with the RTF importer we inherited from OpenOffice.org (LO 3.4),
and then with the new RTF import filter (LO 3.6):&lt;/p&gt;&lt;/div&gt;
&lt;div align="center"&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;&lt;span class="image"&gt;
&lt;a class="image" href="https://lh6.googleusercontent.com/-8ltBBFaWW8E/UcAmQvIrchI/AAAAAAAAC0c/B6-aazoJpm0/s514/rtf-textframe-table-lo34.png"&gt;
&lt;img src="https://lh6.googleusercontent.com/-8ltBBFaWW8E/UcAmQvIrchI/AAAAAAAAC0c/B6-aazoJpm0/s400/rtf-textframe-table-lo34.png" alt="https://lh6.googleusercontent.com/-8ltBBFaWW8E/UcAmQvIrchI/AAAAAAAAC0c/B6-aazoJpm0/s400/rtf-textframe-table-lo34.png" /&gt;
&lt;/a&gt;
&lt;/span&gt;
&lt;span class="image"&gt;
&lt;a class="image" href="https://lh5.googleusercontent.com/-wcelxQuT94k/UcAmQ2uBEHI/AAAAAAAAC0o/wOgnKwhFGJI/s659/rtf-textframe-table-lo36.png"&gt;
&lt;img src="https://lh5.googleusercontent.com/-wcelxQuT94k/UcAmQ2uBEHI/AAAAAAAAC0o/wOgnKwhFGJI/s400/rtf-textframe-table-lo36.png" alt="https://lh5.googleusercontent.com/-wcelxQuT94k/UcAmQ2uBEHI/AAAAAAAAC0o/wOgnKwhFGJI/s400/rtf-textframe-table-lo36.png" /&gt;
&lt;/a&gt;
&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Here is how this looks like in latest master, and how it should look like:&lt;/p&gt;&lt;/div&gt;
&lt;div align="center"&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;&lt;span class="image"&gt;
&lt;a class="image" href="https://lh4.googleusercontent.com/-NpZdA5p2ZVI/UcAmQ1cIC8I/AAAAAAAAC0k/fvKJRMvlRFI/s900/rtf-textframe-table-lo42.png"&gt;
&lt;img src="https://lh4.googleusercontent.com/-NpZdA5p2ZVI/UcAmQ1cIC8I/AAAAAAAAC0k/fvKJRMvlRFI/s400/rtf-textframe-table-lo42.png" alt="https://lh4.googleusercontent.com/-NpZdA5p2ZVI/UcAmQ1cIC8I/AAAAAAAAC0k/fvKJRMvlRFI/s400/rtf-textframe-table-lo42.png" /&gt;
&lt;/a&gt;
&lt;/span&gt;
&lt;span class="image"&gt;
&lt;a class="image" href="https://lh6.googleusercontent.com/-5s9O3RJD0MI/UcAmRfFQBMI/AAAAAAAAC0s/uS47fqc-QZU/s687/rtf-textframe-table-word2007.png"&gt;
&lt;img src="https://lh6.googleusercontent.com/-5s9O3RJD0MI/UcAmRfFQBMI/AAAAAAAAC0s/uS47fqc-QZU/s400/rtf-textframe-table-word2007.png" alt="https://lh6.googleusercontent.com/-5s9O3RJD0MI/UcAmRfFQBMI/AAAAAAAAC0s/uS47fqc-QZU/s400/rtf-textframe-table-word2007.png" /&gt;
&lt;/a&gt;
&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Other than that, there were a few other topics I hacked on:&lt;/p&gt;&lt;/div&gt;
&lt;div class="ulist"&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
various additional fixes for
  &lt;a href="https://bugs.freedesktop.org/show_bug.cgi?id=58819"&gt;fdo#58819&lt;/a&gt;, so watermark
  is exported (with correct size, position, rotation, opacity, etc.), and
  reasonably imported
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
the last character of the git hash is no longer missing from the about dialog
  (&lt;a href="http://cgit.freedesktop.org/libreoffice/core/commit/?id=216fe5cf3c41713fa2a11731e4c3d514236b2480"&gt;commit&lt;/a&gt;)
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
number of leaking files when running the writer filter tests is now down to 2
  from 527
  (&lt;a href="http://cgit.freedesktop.org/libreoffice/core/commit/?id=c03a1e46460e4255d7709df9ba8147947f66acfb"&gt;commit&lt;/a&gt;)
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
RTF import of text frame&amp;#8217;s AutoSize property
  (&lt;a href="http://cgit.freedesktop.org/libreoffice/core/commit/?id=aa0f3ca1cd285e8ffbc10de5510d447a72de980a"&gt;commit&lt;/a&gt;)
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
File &amp;#8594; Properties &amp;#8594; Security &amp;#8594; Record Changes is now imported and exported
  in the RTF filter
  (&lt;a href="http://cgit.freedesktop.org/libreoffice/core/commit/?id=ae85b56a9a18657a57fd5033faff34e7ee4ff2f8"&gt;commit&lt;/a&gt;)
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
finally added UI for fine dashing&amp;#8201;&amp;#8212;&amp;#8201;so not only existing documents are
  rendered correctly, but you can create such documents as well
  (&lt;a href="http://cgit.freedesktop.org/libreoffice/core/commit/?id=4c3d2dcdadbcb8f2ffc2caab07d50a286341df96"&gt;commit&lt;/a&gt;)
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;You can see some photos &lt;a href="https://picasaweb.google.com/104737754628780823336/20130617_Hamburg"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Last, but not at least, thank you Eike and Bjoern for organizing this event! :-)&lt;/p&gt;&lt;/div&gt;
</description>
            <link>http://vmiklos.hu/blog/lo-hamburg-hackfest-2013.html</link>
            <pubDate>Tue, 18 Jun 2013 11:44:53 +0200</pubDate>
            <guid isPermaLink="false">http://vmiklos.hu/blog/lo-hamburg-hackfest-2013.html</guid>
        </item>
        <item>
            <title>Free Software Conference and Exhibition 2013</title>
            <description>&lt;div class="imageblock" style="text-align:center;"&gt;
&lt;div class="content"&gt;
&lt;a class="image" href="http://konf.fsf.hu/cgis/ossc/2013/"&gt;
&lt;img src="https://lh6.googleusercontent.com/-uoQeGkRqjrA/UbRVYVbk25I/AAAAAAAACzE/sOVvcUNZpc4/s400/konf2013_logo_web.png" alt="https://lh6.googleusercontent.com/-uoQeGkRqjrA/UbRVYVbk25I/AAAAAAAACzE/sOVvcUNZpc4/s400/konf2013_logo_web.png" /&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;The Free Software Conference and Exhibition 2013&amp;#8201;&amp;#8212;&amp;#8201;organized by FSF.hu&amp;#8201;&amp;#8212;&amp;#8201;was held yesterday @
Budapest. I gave a talk about hacking on Writer file format problems
(&lt;a href="https://speakerdeck.com/vmiklos/libreoffice-writer-fajlformatum-problemak-es-megoldasuk"&gt;slides&lt;/a&gt;), this time in Hungarian.&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;After the talk I also held a one-hour workshop, showing how to start hacking on LO in practice:&lt;/p&gt;&lt;/div&gt;
&lt;div class="ulist"&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
first we did a build (using package manager to install dependencies, git clone, autogen, make, make dev-install)
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
then we did the &lt;a href="http://wiki.openoffice.org/wiki/Hacking#My_first_hack"&gt;vcl Menu::SetItemText() hack&lt;/a&gt;&amp;#8201;&amp;#8212;&amp;#8201;actually using &lt;code&gt;comphelper::string::reverseString()&lt;/code&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
finally I spent some time explaining a few bugfixes from the recent past: I explained a &lt;a href="http://cgit.freedesktop.org/libreoffice/core/commit/?id=a22ef599bd3fdcf0bd5c3616aa566a5922624ff3"&gt;VML import problem&lt;/a&gt;, an &lt;a href="http://cgit.freedesktop.org/libreoffice/core/commit/?id=3d4fef85d05269e613316a7af6245f05d207d76e"&gt;RTF import problem&lt;/a&gt;, a &lt;a href="http://cgit.freedesktop.org/libreoffice/core/commit/?id=4144cd5a851466778004af9de98dbcfb019067bb"&gt;WW8 export mismerge&lt;/a&gt;, finally a &lt;a href="http://cgit.freedesktop.org/libreoffice/core/commit/?id=f06cc552a0699f7c2c34db981e77d4c8efe5e9e7"&gt;WW8 import issue&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;We (with Andras Timar and Tamas Zolnai) also ran the LibreOffice booth. This
year speakers got a free t-shirt and lunch, thanks for the organizers! :)&lt;/p&gt;&lt;/div&gt;
</description>
            <link>http://vmiklos.hu/blog/szszk-2013.html</link>
            <pubDate>Sun, 09 Jun 2013 12:31:35 +0200</pubDate>
            <guid isPermaLink="false">http://vmiklos.hu/blog/szszk-2013.html</guid>
        </item>
        <item>
            <title>Balaton Maraton 2013</title>
            <description>&lt;div class="paragraph"&gt;&lt;p&gt;Idén is volt Balaton Maraton (a tizenhatodik, nekem a negyedik), sikerült idén
is teljesíteni a szintidőt, sőt&amp;#8230;  de ne szaladjunk ennyire előre.&lt;/p&gt;&lt;/div&gt;
&lt;div class="sect1"&gt;
&lt;h2 id="_felkészülés"&gt;Felkészülés&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Idén igyekeztem a korábbi évek gyakorlatával ellentétben egy kicsit
tudatosabban készülni. Így került sor a következő túrákra:&lt;/p&gt;&lt;/div&gt;
&lt;div class="ulist"&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
április 7: Pilis, 126 km (&lt;a href="http://vmiklos.hu/blog/fehervasarnap.html"&gt;erről már írtam&lt;/a&gt;)
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
április 14: &lt;a href="http://vmiklos.hu/blog/godollo-30.html"&gt;Gödöllő K30&lt;/a&gt;, 102 km
  (&lt;a href="https://maps.google.com/maps?q=http://vmiklos.hu/gps/2013-04-14.kml"&gt;GPS
  track&lt;/a&gt;, a kmóra ezeket mérte: idő 4h27m11s, átlag 22.8 km/h, max 45.7 km/h)
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
április 27: &lt;a href="http://vmiklos.hu/blog/visegrad.html"&gt;Dunakanyar&lt;/a&gt;, 125 km
  (&lt;a href="https://maps.google.com/maps?q=http://vmiklos.hu/gps/2013-04-27.kml"&gt;GPS
  track&lt;/a&gt;, a kmóra ezeket mérte: idő 5h33m29s, átlag 22.4 km/h, max 37.0 km/h)
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
május 4: Ráckeve, 105 km
  (&lt;a href="https://maps.google.com/maps?q=http://vmiklos.hu/gps/2013-05-04.kml"&gt;GPS
track&lt;/a&gt;, a kmóra ezeket mérte: idő 4h31m31s, átlag 23.1 km/h, max 31.8 km/h)
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
május 27: &lt;a href="http://vmiklos.hu/blog/godollo-170.html"&gt;Gödöllő K100&lt;/a&gt;, 168 km
  (&lt;a href="https://maps.google.com/maps?q=http://vmiklos.hu/gps/2013-05-25.kml"&gt;GPS
  track&lt;/a&gt;, a kmóra ezeket mérte: idő 7h35m3s, átlag 22.0 km/h, max 51.4 km/h)
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Ez utóbbi 4 túra valahogy majdnem mindig az utolsó pillanatban dőlt el, így
végül egyedül mentem. A K30/K100 útvonalakon szoktak szervezett versenyt is
csapni, korábban így jártam ezeken a helyeken, de most nem akartam
alkalmazkodni az általuk kitalált időpontokhoz. Sőt, a K100 útvonalán jól
látható, hogy Vácduka és Rád között van egy gyalog (meg persze MTB-vel :-) )
járható út, amit ki is használtam, egy felesleges kerülőt így megspórolva.&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Lényeg a lényeg, abban a reményben indultam el az idei maratonra, hogy
reméltem, sikerül javítani a korábbi időkön.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="sect1"&gt;
&lt;h2 id="_a_maraton"&gt;A maraton&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Innentől felpörögtek az események: szokás szerint a rajtnál a depóból nem
indulhattunk el pontban 9:00-kor, mivel akkor még csak a verseny indul.
Valahogy így festett:&lt;/p&gt;&lt;/div&gt;
&lt;div class="imageblock" style="text-align:center;"&gt;
&lt;div class="content"&gt;
&lt;a class="image" href="https://lh3.googleusercontent.com/-DDoU9LpoyBg/UapBaIw0CEI/AAAAAAAACx4/DBz665H7_Gs/s2560/IMG_20130601_091219.jpg"&gt;
&lt;img src="https://lh3.googleusercontent.com/-DDoU9LpoyBg/UapBaIw0CEI/AAAAAAAACx4/DBz665H7_Gs/s400/IMG_20130601_091219.jpg" alt="https://lh3.googleusercontent.com/-DDoU9LpoyBg/UapBaIw0CEI/AAAAAAAACx4/DBz665H7_Gs/s400/IMG_20130601_091219.jpg" /&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Aztán 9:15-kor lassan elindult a maraton eleje is, az a rész ahol én álltam a
kmóra szerint 9:22-kor. Mint mindig, most is lassú rajt kellett volna legyen
Zamárdiig (tilos előzni), de azért ezt nem sokan tartották be. Ugyanezen a
szakaszon szoktak jönni a sajtófotósok és végigvillantanak sok-sok embert; LGee
ki is keresett engem:&lt;/p&gt;&lt;/div&gt;
&lt;div class="imageblock" style="text-align:center;"&gt;
&lt;div class="content"&gt;
&lt;a class="image" href="http://www.velo.hu/kepek/galeria/1046/xvi_balaton_maraton_tour_de_pelso_2013__78_.jpg"&gt;
&lt;img src="https://lh5.googleusercontent.com/-thkcz7RN0Rw/UazIC-zN35I/AAAAAAAACy0/LKJjZlkmj9Y/s400/xvi_balaton_maraton_tour_de_pelso_2013__78_.jpg" alt="https://lh5.googleusercontent.com/-thkcz7RN0Rw/UazIC-zN35I/AAAAAAAACy0/LKJjZlkmj9Y/s400/xvi_balaton_maraton_tour_de_pelso_2013__78_.jpg" /&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Idén 5 frissítőpont volt:&lt;/p&gt;&lt;/div&gt;
&lt;div class="ulist"&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
Fonyód
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
Keszthely
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
Badacsony
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
Balatonfüred
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
Balatonalmádi
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Nagyjából Balatonfürednél (160. km környéke) kezdett el jobban esni az eső, és ennek
hatására konzekvensen le is állt a kmóra. ;-) Aztán már újra a hetesen
karikázva a cél előtt kb. 8 km-rel újra bekapcsolt. Így a következőket mérte:
idő 6h24m42s, táv 168 km, átlag 26.1 km/h, max 49.8 km/h.&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Szervezett versenyről lévén szó, a tényleges táv változatlanul 209 km volt, és
a célba 18h előtt sikerült beérni, ami azt jelenti, hogy sikerült megjárni az
egészet 8h29m alatt! :-) Összehasonlításképpen, a korábbi években az idők így
alakultak: 2012-ben 9h45m, 2011-ben 9h51m, 2010 9h29m.&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Hivatalos eredmények
&lt;a href="http://balaton-team.com/images/2013_eredmenyek/maraton13_1.xls"&gt;erre&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</description>
            <link>http://vmiklos.hu/blog/balaton-maraton-2013.html</link>
            <pubDate>Mon, 03 Jun 2013 19:03:29 +0200</pubDate>
            <guid isPermaLink="false">http://vmiklos.hu/blog/balaton-maraton-2013.html</guid>
        </item>
        <item>
            <title>DOC support in mso-dumper</title>
            <description>&lt;div class="paragraph"&gt;&lt;p&gt;&lt;a href="http://cgit.freedesktop.org/libreoffice/contrib/mso-dumper/"&gt;mso-dumper&lt;/a&gt; is a
project that creates some&amp;#8201;&amp;#8212;&amp;#8201;more or less human-readable&amp;#8201;&amp;#8212;&amp;#8201;dump from binary
files. Initially Kohei Yoshida developed it to dump XLS, then Thorsten Behrens
added support for PPT files, finally during last November I started to add DOC
support.&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;You may ask: why that is useful? My answer is that I spend quite some time on
the import/export filters of LibreOffice Writer, and to be able to improve or
fix such filters, some knowledge of the file format in question and Writer
internals is needed. Regarding the file format knowledge, I find it much easier
to read the specification once and implement some simple dumper based on that&amp;#8201;&amp;#8212;&amp;#8201;than reading the specification again and again, and just trying to
understand what&amp;#8217;s going on inside a binary file using a hex editor.&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;To my knowledge, such a dumper for the DOC format (in particular the WW8
version of it) did not exist previously.
&lt;a href="http://gitorious.org/ww8dumper"&gt;WW8Dumper&lt;/a&gt; was the closest match, but that was
far from complete and I found extending mso-dumper easier.&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;To stress-test the parser, I used
&lt;a href="http://cgit.freedesktop.org/libreoffice/core/tree/bin/get-bugzilla-attachments-by-mimetype"&gt;get-bugzilla-attachments-by-mimetype&lt;/a&gt;
to get all DOC attachements from the Freedesktop bugzilla, and during the last
days I fixed the remaining crashes (actually this is why I write this post now
;-) ). If you want to try it out you can do so by:&lt;/p&gt;&lt;/div&gt;
&lt;div class="listingblock"&gt;
&lt;div class="content"&gt;
&lt;pre&gt;&lt;code&gt;git clone git://anongit.freedesktop.org/libreoffice/contrib/mso-dumper
cd mso-dumper
./doc-dump.py /path/to/doc/file.doc&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;The idea is that on any input the dumper should not crash: instead either it
should give you usable result, or in case some unhandled structure is reached,
it should print a &lt;code&gt;&amp;lt;todo&amp;gt;&lt;/code&gt; XML tag. Other than that, of course patches welcome&amp;#8201;&amp;#8212;&amp;#8201;that said, Maxime de Roucy already contributed a patch to the DOC part of
mso-dumper, thanks! :-)&lt;/p&gt;&lt;/div&gt;
</description>
            <link>http://vmiklos.hu/blog/mso-dumper.html</link>
            <pubDate>Sun, 26 May 2013 18:01:38 +0200</pubDate>
            <guid isPermaLink="false">http://vmiklos.hu/blog/mso-dumper.html</guid>
        </item>
        <item>
            <title>Pécs</title>
            <description>&lt;div class="imageblock" style="text-align:center;"&gt;
&lt;div class="content"&gt;
&lt;a class="image" href="https://picasaweb.google.com/104737754628780823336/20130520_Pecs#5880132496815754274"&gt;
&lt;img src="https://lh4.googleusercontent.com/-7Q7rThew5fM/UZptWgDvDCI/AAAAAAAABco/MBXtxmqsHf4/s400/DSC_9135.JPG" alt="https://lh4.googleusercontent.com/-7Q7rThew5fM/UZptWgDvDCI/AAAAAAAABco/MBXtxmqsHf4/s400/DSC_9135.JPG" /&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;A hétvégen Pécsett jártunk. Javában zajlott a
&lt;a href="http://zsolnayfesztival.hu/"&gt;Zsolnay Fesztivál&lt;/a&gt;, így talán az átlagosnál több
ember hemzsegett az utcákon, de nem volt nyomasztó tömeg így sem. A következő
helyeket érintettük:&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Szombat:&lt;/p&gt;&lt;/div&gt;
&lt;div class="ulist"&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href="http://www.museum.hu/museum/index_hu.php?ID=152"&gt;Victor Vasarely Múzeum&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href="http://pecs.varosom.hu/latnivalok/muzeum/Dommuzeum.html"&gt;Dómmúzeum&lt;/a&gt; (kőtár):
  itt amúgy majdnem belesétáltunk egy pánsípos koncertbe, de aztán csak nem
  akarta elkezdeni az ürge, úgyhogy továbbálltunk
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href="http://www.ddnp.hu/pinter-kert"&gt;Pintér-kert Arborétum&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Vasárnap:&lt;/p&gt;&lt;/div&gt;
&lt;div class="ulist"&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href="http://www.pecs.hu/cikk/0829/886151/20080716_pecs_templom_7.htm"&gt;Lyceum templom&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href="http://www.zskn.hu/mauzoleum"&gt;Zsolnay-mauzóleum&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href="http://www.zskn.hu/csaladtortenet"&gt;Zsolnay család- és gyártörténeti
  kiállítás&lt;/a&gt;: itt rengeteg időt töltöttünk azzal, hogy megpróbáljuk a
családfát rekonstruálni, a sok ismétlődő Zsolnay &amp;lt;keresztév&amp;gt; miatt, persze nem
tudtuk, hogy a &lt;em&gt;legutolsó&lt;/em&gt; teremben lesz egy kiosk ahol végig lehet követni
interaktívan mindazt amit magunk próbáltunk összerakni ;-) (TL;DR: a család
nagyrésze külföldön él, aki itt, az is inkább Budapesten&amp;#8201;&amp;#8212;&amp;#8201;a gyárhoz pedig
végképp nincs sok közük, mivel még '89 előtt gyakorlatilag mindegyiküket
kirakta állambácsi a saját gyárukból)
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href="http://www.pmh.hu/pmh_program/Trio_A/2013-05-19/15:00"&gt;Trio Á&lt;/a&gt; fellépés: szegények kellemes háttérzenét játszottak a tűző napon, a közönség a közelben lévő árnyékot adó fák alatt helyezkedett el, és kellemesen diskurált, mivel ugye annyira nem volt izgalmas, hogy csak a zenére figyeljenek :-)
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href="http://www.wssz.hu/tartalom/cikk/szellel-szembe-poenok-es-poemak-jordan-tamas-stand-up-estje"&gt;Széllel szembe - poénok és poémák - Jordán Tamás stand up estje&lt;/a&gt;: talán ez volt a legtartalmasabb programpont; ezt persze biztos itthon is meghallgathattuk volna, de itt "ingyen" volt, és kifejezetten tetszett
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Hétfő:&lt;/p&gt;&lt;/div&gt;
&lt;div class="ulist"&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href="http://pecs.varosom.hu/latnivalok/muemlekek/Memi-Pasa-furdoje.html"&gt;Memi Pasa fürdője&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href="http://www.pecsipuspokseg.hu/pecsi_bazilika"&gt;Szent Péter és Szent Pál Székesegyház&lt;/a&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Szállásunk a &lt;a href="http://corsohotel.hu/"&gt;Corso Hotel&lt;/a&gt; volt, akik egyből adtak egy
&lt;a href="http://www.iranypecs.hu/"&gt;Irány Pécs!&lt;/a&gt; kártyát, valamint náluk vettük meg a
fenti fesztiválra is a napi belépőt, ezek után már a legtöbb helyre ingyenesen
bejuthattunk.&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Képek &lt;a href="https://picasaweb.google.com/104737754628780823336/20130520_Pecs"&gt;erre&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;
</description>
            <link>http://vmiklos.hu/blog/pecs.html</link>
            <pubDate>Wed, 22 May 2013 21:02:07 +0200</pubDate>
            <guid isPermaLink="false">http://vmiklos.hu/blog/pecs.html</guid>
        </item>
        <item>
            <title>Az elveszett boldogság nyomában</title>
            <description>&lt;div class="imageblock" style="text-align:center;"&gt;
&lt;div class="content"&gt;
&lt;a class="image" href="https://lh3.googleusercontent.com/-CaHNvjuHKzc/UXWaIcgYB5I/AAAAAAAACiw/cdaMwxUEaJo/s500/boldosag.jpg"&gt;
&lt;img src="https://lh3.googleusercontent.com/-CaHNvjuHKzc/UXWaIcgYB5I/AAAAAAAACiw/cdaMwxUEaJo/s400/boldosag.jpg" alt="https://lh3.googleusercontent.com/-CaHNvjuHKzc/UXWaIcgYB5I/AAAAAAAACiw/cdaMwxUEaJo/s400/boldosag.jpg" /&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Egyik ismerősünk említette ezt a könyvet, a következő idézetet ragadva ki belőle:&lt;/p&gt;&lt;/div&gt;
&lt;div class="quoteblock"&gt;
&lt;div class="content"&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Az egyik ilyen meglátás az volt, hogy a jekána indiánok szókincsében nem létezik kifejezés a
„munká"-ra. Egyedül a tarabaho kifejezést használják a nem indiánokkal való ügyletek
megnevezésére, akiket - rajtunk kívül - gyakorlatilag csak hallomásból ismertek. Ez a spanyol
trabajo szó pontatlan kiejtése volt, de elég pontosan arra utalt, amit a konkvisztádorok és
utódaik értettek rajta. Érdekes módon ez volt az egyetlen spanyol eredetű szó, amit tanultam
tőlük. A jekánáknak nem volt a mienkhez hasonló munka-fogalmuk. Voltak szavaik minden
olyan tevékenységre, amely beletartozhat a munka fogalmába, de nem volt rá egy általános
összefoglaló kifejezésük.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="attribution"&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Később derült ki, hogy amúgy Jean Liedloff 1975-ös könyve gyereknevelésről szól, és megvannak a maga
ellentmondásai: érdekes dolog például szidni az olyan embereket akik „könyvből
tanulják" a gyereknevelést mikor a könyv maga is e témában íródott, de ettől
függetlenül nem bántam meg, hogy elolvastam.&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;(&lt;a href="http://bookline.hu/product/home.action?id=75878&amp;amp;type=22"&gt;bookline&lt;/a&gt;)&lt;/p&gt;&lt;/div&gt;
</description>
            <link>http://vmiklos.hu/blog/az-elveszett-boldogsag-nyomaban.html</link>
            <pubDate>Mon, 22 Apr 2013 22:15:31 +0200</pubDate>
            <guid isPermaLink="false">http://vmiklos.hu/blog/az-elveszett-boldogsag-nyomaban.html</guid>
        </item>
        <item>
            <title>Hackweek 9</title>
            <description>&lt;div class="imageblock" style="text-align:center;"&gt;
&lt;div class="content"&gt;
&lt;a class="image" href="https://lh6.googleusercontent.com/-o4L02197n38/UW-lp9UHX2I/AAAAAAAACiU/XetdnZpBpp4/s700/hackweek.jpg"&gt;
&lt;img src="https://lh6.googleusercontent.com/-o4L02197n38/UW-lp9UHX2I/AAAAAAAACiU/XetdnZpBpp4/s400/hackweek.jpg" alt="https://lh6.googleusercontent.com/-o4L02197n38/UW-lp9UHX2I/AAAAAAAACiU/XetdnZpBpp4/s400/hackweek.jpg" /&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Last week was &lt;a href="http://hackweek.suse.com/"&gt;Hackweek&lt;/a&gt; at SUSE&amp;#8201;&amp;#8212;&amp;#8201;below is a quick
summary on what experiments did I do during that timeframe.&lt;/p&gt;&lt;/div&gt;
&lt;div class="sect1"&gt;
&lt;h2 id="_lcov"&gt;lcov&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;I did some experiments with using lcov on the LibreOffice codebase. The goal is
to have a quick iteration, so you can see the current coverage of a file or a
directory, select a method that is not yet tested, add a test for it, and
"test" the test by checking if the coverage indeed got improved. As a first
step, I tried this out on the Writer RTF import:&lt;/p&gt;&lt;/div&gt;
&lt;div class="listingblock"&gt;
&lt;div class="content"&gt;
&lt;pre&gt;&lt;code&gt;cd writerfilter
touch source/rtftok/*
make -sr -j8 gb_GCOV=YES &lt;b&gt;&amp;lt;1&amp;gt;&lt;/b&gt;
cd ../sw; make -sr -j8 CppunitTest_sw_rtfexport CppunitTest_sw_rtfimport &lt;b&gt;&amp;lt;2&amp;gt;&lt;/b&gt;
lcov --directory workdir/unxlngx6/CxxObject/writerfilter/source/rtftok/ --capture --output-file libreoffice.info &lt;b&gt;&amp;lt;3&amp;gt;&lt;/b&gt;
genhtml -o coverage libreoffice.info &lt;b&gt;&amp;lt;4&amp;gt;&lt;/b&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;div class="colist arabic"&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;
rebuild selected files with lcov options
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
run the tests
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
extract coverage information to a single .info file
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
generate some nice HTML output from the .info file
&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;
&lt;div class="admonitionblock"&gt;
&lt;table&gt;&lt;tr&gt;
&lt;td class="icon"&gt;
&lt;div class="title"&gt;Note&lt;/div&gt;
&lt;/td&gt;
&lt;td class="content"&gt;lcov
&lt;a href="https://build.opensuse.org/project/show?project=openSUSE%3AMaintenance%3A1336"&gt;had
problems&lt;/a&gt; with gcc-4.7, fully updated openSUSE 12.2 or 12.3 is known to work.&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;There is a
&lt;a href="http://cgit.freedesktop.org/libreoffice/contrib/dev-tools/plain/lcov/coverage.sh"&gt;script&lt;/a&gt;
available to make the above a bit more automated.&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;The speed of the above depends on the amount of code needing a rebuild + the
number of tests, but it should not take more than a minute.&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;E.g. I noticed the bookmark import code isn&amp;#8217;t tested, added a
&lt;a href="http://cgit.freedesktop.org/libreoffice/core/commit/?id=7b515a57eb6a644860715018656ac0b843b62baf"&gt;test
for it&lt;/a&gt;, and that indeed improved the line coverage of rtfdocumentimpl.cxx:
84.1% &amp;#8594; 85.0%.&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;A next area I wanted to test is the Writer RTF export. Let&amp;#8217;s pick something in
rtfattributeoutput.cxx&amp;#8230; StartURL() is not tested, so a
&lt;a href="http://cgit.freedesktop.org/libreoffice/core/commit/?id=85c8252e13e9234253494f96ffd70df35be056dc"&gt;hyperlink
testcase&lt;/a&gt; should help. Indeed it did: 50.2% &amp;#8594; 52.0%.&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Last, but not at least, thanks to Norbert Thiebaud, who added &lt;code&gt;gb_GCOV&lt;/code&gt; to
gbuild.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="sect1"&gt;
&lt;h2 id="_gdb_pretty_printers"&gt;gdb pretty-printers&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Then I experimented with improving our Writer gdb Python pretty-printers. One
annoying shortcoming was the lack of handling uno::Reference&amp;lt;text::XTextRange&amp;gt;.
Imagine one searches for a bug related to table import for DOCX or RTF. One
idea is to check the arguments of the convertToTable() method call. The first
argument is a 2D array of XTextRange pairs, that describe what will be the
input for cell contents. So if you want to check the first cell, you do
something like this:&lt;/p&gt;&lt;/div&gt;
&lt;div class="listingblock"&gt;
&lt;div class="content"&gt;
&lt;pre&gt;&lt;code&gt;(gdb) b DomainMapperTableHandler.cxx:798
(gdb) r
(gdb) print (*m_pTableSeq)[0][0]
$1 = uno::Sequence of length 2 = {uno::Reference to (XInterface) 0x1a73648, uno::Reference to (XInterface) 0x1a77f68}
(gdb) print (*m_pTableSeq)[0][0][0]
$2 = uno::Reference to (XInterface) 0x1a73648
(gdb) print (*m_pTableSeq)[0][0][1]
$3 = uno::Reference to (XInterface) 0x1a77f68&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Not that helpful. Here is how one could work it around:&lt;/p&gt;&lt;/div&gt;
&lt;div class="listingblock"&gt;
&lt;div class="content"&gt;
&lt;pre&gt;&lt;code&gt;(gdb) print (*m_pTableSeq)[0][0][0]._pInterface-&amp;gt;m_pImpl-&amp;gt;m_pMark-&amp;gt;m_pPos1
$4 = boost::scoped_ptr SwPosition (node 10, offset 0)
(gdb) print (*m_pTableSeq)[0][0][1]._pInterface-&amp;gt;m_pImpl-&amp;gt;m_pMark-&amp;gt;m_pPos1
$5 = boost::scoped_ptr SwPosition (node 10, offset 20)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;But this is not something anyone will remember. After adding a few new
pretty-printers, now it&amp;#8217;s like this:&lt;/p&gt;&lt;/div&gt;
&lt;div class="listingblock"&gt;
&lt;div class="content"&gt;
&lt;pre&gt;&lt;code&gt;(gdb) print (*m_pTableSeq)[0][0]
$1 = uno::Sequence of length 2 = {uno::Reference to (SwXTextRange *) 0x1a72b98, uno::Reference to (SwXTextRange *) 0x1a773b8}
(gdb) print *(*m_pTableSeq)[0][0][0]._pInterface
$2 = (SwXTextRange) SwXTextRange sw::UnoImplPtr SwXTextRange::Impl = {mark = sw::mark::IMark = {pos1 = boost::scoped_ptr SwPosition (node 10, offset 0), pos2 = empty boost::scoped_ptr}}
(gdb) print *(*m_pTableSeq)[0][0][1]._pInterface
$3 = (SwXTextRange) SwXTextRange sw::UnoImplPtr SwXTextRange::Impl = {mark = sw::mark::IMark = {pos1 = boost::scoped_ptr SwPosition (node 10, offset 20), pos2 = empty boost::scoped_ptr}}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Technically, it would be possible to make &lt;code&gt;print (*m_pTableSeq)[0][0][0]&lt;/code&gt; work
as well, but for a larger class without a pretty-printer that would result in
multiple pages of output. Anyway, &lt;code&gt;_pInterface&lt;/code&gt; is the same for all UNO
objects, so something that is not too hard to remember.&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;An other improvement is the XTextCursor pretty-printer. Example usage:
debugging of the commented text range ODF import. Before:&lt;/p&gt;&lt;/div&gt;
&lt;div class="listingblock"&gt;
&lt;div class="content"&gt;
&lt;pre&gt;&lt;code&gt;(gdb) b txtfldi.cxx:559
(gdb) print *rHlp.GetCursor()._pInterface-&amp;gt;m_pImpl-&amp;gt;pRegisteredIn-&amp;gt;m_pMark
$1 = SwPosition (node 9, offset 4)&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;After the new pretty-printers one doesn&amp;#8217;t have to type that much:&lt;/p&gt;&lt;/div&gt;
&lt;div class="listingblock"&gt;
&lt;div class="content"&gt;
&lt;pre&gt;&lt;code&gt;(gdb) print *rHlp.GetCursor()._pInterface
$1 = (SwXTextCursor)
    SwXTextCursor sw::UnoImplPtr SwXTextCursor::Impl = {registeredIn = SwModify = {point = SwPosition (node 9, offset 4), mark = SwPosition (node 9, offset 4), next = 0x1a28b88, prev = 0x1a28b88}}&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="sect1"&gt;
&lt;h2 id="_rtf_filter_text_frame_rework"&gt;RTF filter text frame rework&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Finally, I experimented with reworking the textframe code in the RTF filter. In
short, the motivation is to bring the RTF filter in sync with the OOXML one,
which can nicely import and export text box gradients. To get there, there are
3 different problems to solve:&lt;/p&gt;&lt;/div&gt;
&lt;div class="olist arabic"&gt;&lt;ol class="arabic"&gt;
&lt;li&gt;
&lt;p&gt;
The RTF import filter currently imports rectangle and textbox shapes as
  drawinglayer rectangles, even if they have some text inside. Just like the
  OOXML import filter, we would better import these shapes as Writer textframes,
  as long as they contain some text.
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
The RTF export writes Writer textframes as old-style Word frames, not as text
  box shapes. This should be changed, as the old syntax doesn&amp;#8217;t support
  gradients, and in general both the DOC and DOCX export filters already export
  new-style Word frames, so there is no reason why the RTF filter would not do
  the same.
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
Once all the above is done, add support for gradients in the RTF filter, in a
  similar way OOXML filters were already improved to handle gradients.
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
Once this all is done, add new testcases to cover the new code.
&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;First I had hacked on #1, sadly Writer textframes and drawinglayer rectangles
don&amp;#8217;t share the exactly same UNO API, like drawinglayer has &lt;code&gt;TextWritingMode&lt;/code&gt;
and a &lt;code&gt;Name&lt;/code&gt; property, Writer textframes have a &lt;code&gt;WritingMode&lt;/code&gt; property instead,
and additionally they implement the &lt;code&gt;XNamed&lt;/code&gt; UNO interface, etc.&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Then I switched to #3&amp;#8201;&amp;#8212;&amp;#8201;there I managed to reuse our existing VML import to do
the hard work: the RTF tokenizer reads the RTF shape properties, then
constructs the same VML model what is normally built from v:fill and v:shadow
XML elements inside DOCX files, finally the VML import does the mapping of
Word&amp;#8217;s gradient concept to the Writer gradient concept.&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;At the end of the week I also hacked on #2 and #4&amp;#8201;&amp;#8212;&amp;#8201;and while I did so, I
noticed two more interesting details of Word&amp;#8217;s new-style RTF textframe markup:&lt;/p&gt;&lt;/div&gt;
&lt;div class="ulist"&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
The bad news: Writer supports having different top/left/bottom/right borders,
  RTF still just supports the concept of a single line around the textframe.
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
The good news: old-style RTF frames didn&amp;#8217;t support different left/right or
  top/bottom external margins, but Writer does&amp;#8201;&amp;#8212;&amp;#8201;so now using the new syntax,
  this is exported properly.
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="sect1"&gt;
&lt;h2 id="_git"&gt;git&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Unrelated to the above, I
&lt;a href="http://git.kernel.org/cgit/git/git.git/commit/?id=21246dbb9e0af278bc671e32e45a6cae4ad38b6f"&gt;fixed&lt;/a&gt;
an annoying git bug, when one tried to cherry-pick multiple commits at the same
time, and copy&amp;amp;paste went wrong, the "unrecognized" arguments were just
silently ignored. Now one gets an error instead.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="sect1"&gt;
&lt;h2 id="_docs_libreoffice_org"&gt;docs.libreoffice.org&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;In parallel to the above, Thorsten was kind enough to explain how to update
&lt;a href="http://docs.libreoffice.org/"&gt;docs.libreoffice.org&lt;/a&gt;: The new output is generated
using doxygen 1.8, it contains a bit more eye-candy. E.g. notice the new
foldable subsections
&lt;a href="http://docs.libreoffice.org/sw/html/classSwUnoCrsr.html"&gt;here&lt;/a&gt;. ;-)&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</description>
            <link>http://vmiklos.hu/blog/hackweek-9.html</link>
            <pubDate>Mon, 15 Apr 2013 17:31:35 +0200</pubDate>
            <guid isPermaLink="false">http://vmiklos.hu/blog/hackweek-9.html</guid>
        </item>
        <item>
            <title>Fehérvasárnap</title>
            <description>&lt;div class="paragraph"&gt;&lt;p&gt;Múlt vasárnap
(&lt;a href="http://hu.wikipedia.org/wiki/Feh%C3%A9rvas%C3%A1rnap"&gt;fehérvasárnap&lt;/a&gt;) bringázni
voltunk a Pilisben. Nem mondom, hogy a végére nem fáradtam el, ez volt idén az
első alkalom, hogy 100km feletti túrára mentem&amp;#8201;&amp;#8212;&amp;#8201;de már bőven ideje volt.&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;A &lt;a href="https://maps.google.com/?q=http://vmiklos.hu/gps/2013-04-07.kml"&gt;GPS track&lt;/a&gt;
mutatja, hogy mi Budapestről mentünk, a társaság másik fele pedig Szentendréig
HÉV-vel, és ott csatlakoztak hozzánk. Onnantól pedig a Dömör-kapu, Pilismarót,
Két-bükkfa-nyereg, Dobogókő útvonalat követtük.&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;A kmóra a következőket mérte:&lt;/p&gt;&lt;/div&gt;
&lt;div class="ulist"&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
nettó idő 6h38m32s
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
táv 125.91km
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
max 51.6km/h
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;A túrán használtam először hosszútávon a nyári (nem havas, stb) időkre szánt
Schwalbe Silento külsőket, egyelőre meg vagyok velük elégedve.&lt;/p&gt;&lt;/div&gt;
</description>
            <link>http://vmiklos.hu/blog/fehervasarnap.html</link>
            <pubDate>Sat, 13 Apr 2013 17:59:11 +0200</pubDate>
            <guid isPermaLink="false">http://vmiklos.hu/blog/fehervasarnap.html</guid>
        </item>
        <item>
            <title>LibreOffice Writer now supports graphic bullets in its DOCX/RTF filters</title>
            <description>&lt;div class="imageblock" style="text-align:center;"&gt;
&lt;div class="content"&gt;
&lt;a class="image" href="https://lh5.googleusercontent.com/-fhN5_7nf5A8/UWG83Z5qLqI/AAAAAAAAChY/cehOqHVomas/s628/ooxml-graphic-bullet.png"&gt;
&lt;img src="https://lh5.googleusercontent.com/-fhN5_7nf5A8/UWG83Z5qLqI/AAAAAAAAChY/cehOqHVomas/s400/ooxml-graphic-bullet.png" alt="https://lh5.googleusercontent.com/-fhN5_7nf5A8/UWG83Z5qLqI/AAAAAAAAChY/cehOqHVomas/s400/ooxml-graphic-bullet.png" /&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;If you ever tried to use graphical bullets in Writer (Format &amp;#8594; Bullets and
Numbering &amp;#8594; Graphics), you may have noticed that only the ODF filter can load
and save such a numbering. This is now improved a lot. Motivated by seeing this
is now handled in the binary DOC filter, I now added support for this also to
the DOCX and RTF import and export filters. If you want to play with this
feature, core.git also contains a
&lt;a href="http://cgit.freedesktop.org/libreoffice/core/plain/sw/qa/extras/ooxmlexport/data/i120928.docx"&gt;DOCX&lt;/a&gt;
and an
&lt;a href="http://cgit.freedesktop.org/libreoffice/core/plain/sw/qa/extras/rtfexport/data/i120928.rtf"&gt;RTF&lt;/a&gt;
sample as well.&lt;/p&gt;&lt;/div&gt;
</description>
            <link>http://vmiklos.hu/blog/graphic-bullets.html</link>
            <pubDate>Sun, 07 Apr 2013 20:46:36 +0200</pubDate>
            <guid isPermaLink="false">http://vmiklos.hu/blog/graphic-bullets.html</guid>
        </item>
        <item>
            <title>Jahorina</title>
            <description>&lt;div class="imageblock" style="text-align:center;"&gt;
&lt;div class="content"&gt;
&lt;a class="image" href="https://lh5.googleusercontent.com/-Y8pHKGqxWhU/UURLBkOm_rI/AAAAAAAACQQ/S_c0EPVTqyo/s2560/IMG_20130316_113531.jpg"&gt;
&lt;img src="https://lh5.googleusercontent.com/-Y8pHKGqxWhU/UURLBkOm_rI/AAAAAAAACQQ/S_c0EPVTqyo/s400/IMG_20130316_113531.jpg" alt="https://lh5.googleusercontent.com/-Y8pHKGqxWhU/UURLBkOm_rI/AAAAAAAACQQ/S_c0EPVTqyo/s400/IMG_20130316_113531.jpg" /&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Az elmúlt hat napban a Bosznia-Hercegovinában található Jahorinán voltunk
síelni. Mivel aránylag kevés információt találtam a neten, igyekszem
összefoglalni tapasztalatainkat.&lt;/p&gt;&lt;/div&gt;
&lt;div class="sect1"&gt;
&lt;h2 id="_0_nap"&gt;0. nap&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Az utazást a szigoru.hu baráti társaság szervezte (itt nem utazási irodára kell
gondolni, tényleg csak a buszt, szállást, síbérletet intézték&amp;#8201;&amp;#8212;&amp;#8201;kb. a Ryanair
sielős megfelelői lehetnének&amp;#8230; :-P), Facebookos továbbküldős
üzenetből értesültünk a lehetőségről. A magyar határtól kb. 500 km-re lévő
síterepre busszal utaztunk az &lt;a href="http://www.sch.bme.hu"&gt;SCH&lt;/a&gt; elől. Hivatalosan 7:00-kor volt gyülekező, és
7:15-kor indulás, már itt csúszott a program. Az odautazás amúgy eseménytelenül
telt, nem számolva a szokásosan 10 percesnek kikiáltott 3-4 óránkénti
megállásokat, amik rendszerint 2 óránként és jó fél órasak voltak, elsősorban a
cigizők igényeit kiszolgálva.&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Ennek eredményeképpen 17:30 helyett inkább 20:30 körül érkeztünk meg a
szállásunkra (Pahuljica panzió), amiben viszont sok kivetnivalót nem találtunk:
az igényelt kétágyas szobában történetesen egy franciaágy, egy sima ágy és egy
kihúzható heverő is volt, saját fürdőszoba, általunk megszokott (és nem a
bosnyák közvécék kategóriájába eső) mellékhelység. Wifi csak a földszinten, de
ott ingyen.&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Az árak első hallásra valóban a hazainak feleltethetők meg, kettőnknek egy
vacsora (főétel, köret, ital) 15 euróból kijött (a helyi konvertibilis márkát a
legtöbb helyen 1:2 arányban simán váltják, mi nem is vettünk otthon külön
márkát).&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Este még gyorsan körbejártuk a környéket: a panziótól pár perc sétára közért is
található, mely persze vacsora után már zárva volt.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="sect1"&gt;
&lt;h2 id="_1_nap"&gt;1. nap&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Reggel 9-kor megkaptunk mindenféle mizéria nélkül a heti síbérletet (vö.
Franciaország, ahol a fényképes bérletekkel állandó gond van csoportok esetén:
fényképet kell vinni, majd a helyi serpák ragasztgatják be a bérletre a
fényképeket, így tipikusan órák mennek el a drága síidőből az első nap), és
miután szert tettünk egy ingyenes sítérképre, nekikezdtünk a pályák
felderítésének.&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Sajnos még délután is erős köd volt, így egész nap nem járt több felvonó. A
síterep keleti oldalán található szállásunkról először egy tányéros (ez u.úgy
nagyot ránt mint a szlovák társai, némi nosztalgikus érzést kiváltva azokból
akik már nem először találkoznak a jelenséggel) és egy 6 fős üllős liftet
próbáltunk ki. A helyi nevezéktan érdekessége, hogy a felvonókat ékes szerb
nyelven&amp;#8201;&amp;#8212;&amp;#8201;de (a turisták kedvéért) legalább nem cirill betűkkel&amp;#8201;&amp;#8212;&amp;#8201;azonosítják, a sítérkép pedig egyszerű betűkkel azonosítja őket. A
megfeleltetésre a sítérkép alján lévő apróbetűs táblázat ad lehetőséget.&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;A pályákat szerencsére mind a térképen, mint a valóságban számokkal
azonosítják, bár a kijelzés meglehetősen visszafogott: a pálya száma csak
hébe-hóba van kijelezve. Az esetek többségében egyszerű kék/piros/stb (a pálya
nehézségére utalva) színű póznák jelölik a pálya határát. Ez alól is vannak
kivételek, ott egyszerűen abból lehet tájékozódni, hogy merre nincs (vagy
kevesebb) a szűzhó.&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Délután aztán a szomszédos völgybe is ellátogattam (az "mi" völgyünk aljából
induló felvonó tetejéről kényelmesen át lehet csúszni), ahol modernebb,
plexiüveggel fedett felvonóval szállítják fel a sportolókat. A kijelzést itt se
vitték túlzásba, harmadik nekifutásra sikerült úgy letalálni a pályán, hogy
sehol se kellett visszagyalogolni. Úgy tűnik helyi marketing-trükknek számít,
hogy a pálya elkanyarodik, de az egyenesen továbbsíelőket is várja egy étterem,
ahonnan viszont vissza kell gyalogolni egy keveset. A liftek nyitvatartását úgy
tűnik sehol se rögzítik írásban, de egy angolul beszélő szerb szerint az
íratlan szabály a 16:00-s zárás (hétvégén 12:30). Szerencsére mi hetfőtől
péntekig síelünk, így a szokatlanul rövid hétvégi nyitvatartás minket nem
érint. A nap végén felkerestük a már említett boltot: 8:00-21:30 a
nyitvatartása, így a 9 órás felvonó-nyitás előtt, vagy azok zárása után is
kényelmesen lehet vásárolni. A mai kedvenc a 2l-es helyi sör, amiért kb.
u.annyi eurót kellett kifizetni, mint Brüsszelben egy 3decis testvéréért. :-)&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="sect1"&gt;
&lt;h2 id="_2_nap"&gt;2. nap&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Reggel megvaxoltattam a lécemet, meglepő módon a szervízben csak egyszer
kellett mutogatás nélkül elmondani, hogy mit akarok, egyből értették. Délelőtt
a már tegnap megismert pályákon síeltünk, sajnos egyelőre úgy tűnik, hogy a
szállásunkhoz vezető völgybe visszajutni a nyugatibb völgyekből továbbra se
lehetséges rendes pályán: a nap folyamán 2 megoldást is kipróbáltam, de
mindkettő szűzhavas síelésbe torkollott.&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Ebédre újfent valami egyszerűt akartunk enni, de kezd körvonalazódni a helyi
szabály: minden étel 5 euró körül van, ennyi pénzből viszont bőven jól lehet
lakni. Jelen esetben két kolbászt kértünk (gondolva, hogy elég kenyérrel egy
könnyű ebédre jó lesz), mire kihoztak 2 tálat, a tálakon 4 kolbásszal,
hasábburgonyával, salátával, hagymával, pitával&amp;#8230;&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Délután sikerült felfedezni a tegnap még nem érintett pályákat: mint kiderült a
felvonók aljában itt nincs információ arról, hogy milyen felvonók üzemelnek, de
interneten meg lehet nézni, és az az információ tényleg naprakész. Kipróbáltam
egyet az olimpiai pályák közül is&amp;#8201;&amp;#8212;&amp;#8201;nem lepett meg, hogy ezek normális
fekete/piros pályák, ha nem lenne kiírva, hogy olimpiai, észre se venné az
ember.&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Valamint tanultunk 2 új hasznos szerb szót: konobar = pincér, és naziv = név.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="sect1"&gt;
&lt;h2 id="_3_nap"&gt;3. nap&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Délelőtt a hozzánk legközelebb eső, majd a tőle nyugatabbra lévő völgyben
síeltünk: az idő kifejezetten szeles volt, így az üllő felvonókon a kilengés
jól érezhető volt. Annyira, hogy miközben beültünk "ebédelni" egy forró csokira,
le is állították a két völgy üllő felvonóit, ezáltal gyakorlatilag egyetlen
tárcsás használatára kötelezve mindazokat, akik még időben nem startolak el a
síterep nyugati felén fekvő olimpiainak titulált pályákra.&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Pánikra persze semmi ok, így esett meg, hogy e tárcsás felvonó mellett
kipróbáltam egy sífutó utat is, ami végül lesikló léccel is síelhető volt:
tehát ma is találtunk új pályát.&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Amúgy ez a lezárás kellemes nosztalgikus hangulatba sodorta a társaság jelentős
részét: a folyamatos tárcsás felvonó-használat, a többperces várakozási idők
érdekes módon mindenkiben a régi szlovák síterepek hangulatát idézte fel.&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Azokat, akik a szomszéd völgyben rekedtek volna, állítólag kisbuszokkal hozták
át hozzánk&amp;#8201;&amp;#8212;&amp;#8201;úgy tűnik nagyon sürgősnek tartották a szeles időben az
üllőliftek leállítását. Ennek ellenére azért az alsóbb szakaszokon ma is volt
csendes, napsütéses idő, így volt lehetőség fotózkodásra. A szervezők az utolsó
utáni pillanatban értesítettek SMS-ben, hogy 2 euróért bevisznek "bulizni"
Szarajevóba: ezt mi kihagytuk, mivel inkább pihenésre vágytunk az egész napos
síelés után; illetve várost nézni önállóan csak úgy lett volna értelme, ha
előbb utána olvasunk, hogy mit lenne érdemes megnézni.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="sect1"&gt;
&lt;h2 id="_4_nap"&gt;4. nap&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Ma kifejezetten zord időjárást kaptunk, egy fél órát leszámítva egész nap esett
a hó (és így nem sütött a nap). Ami viszont pozitívum, hogy alig volt szél, így
újra járt az összes felvonó.&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;A mai síelésre vittem GPS-t is: az 1916 méteres csúcsot sikerült 1904 méterre
megközelíteni, valamint a teljes nap folyamán 54.6 km-t síelni, amivel teljes
mértékben meg lehetek elégedve, ha belevesszük, hogy ebben volt egy egy órás
ebédszünet is.&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;A hóesés amúgy egész előző nap is folytatódott, és ez rámutatott a bosnyák
pályakarbantartás egy gyengéjére is: a pályákat délután/este ratrakolják, így
az egész éjszakás hóesés után vagy 10 centi szűzhó borította az amúgy
ledolgozott pályákat. Persze a népszerű szakaszokon a síelők ezt gyorsan
ledolgozták.&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Ezen kívül megjött a magyarok következő turnusa, akik csütörtök estétől
vasárnapig maradnak, az egyik felvonón pl. szarvasi pálinkával kínáltak.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="sect1"&gt;
&lt;h2 id="_5_nap"&gt;5. nap&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;És egyben az utolsó. A terv az volt, hogy reggel síelés előtt becuccolunk a
buszba, síelünk amíg járnak a felvonók, majd 4 után indulunk haza. Hogy ez jó
ötlet volt-e vagy nem, az kérdéses: jó volt kihasználni a lehetőségeket, de a
-tizenvalamennyi °C, az erős szél és a köd (röviden: a helyhez képest is
ridegnek számító időjárás) azért kissé rossz szájízt adott az utolsó napra.&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Ennek ellenére sikerült betartani a régi szabályt, hogy utolsó nap óvatosan:
senki nem sérült meg, és aránylag időben el is tudtunk indulni hazafelé.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="sect1"&gt;
&lt;h2 id="_konklúzió"&gt;Konklúzió&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;A nagy kérdés adott: jó ötlet-e Jahorinára menni egy jól bejáratott
osztrák/francia/stb síterep helyett?&lt;/p&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Én a következő előnyöket láttam:&lt;/p&gt;&lt;/div&gt;
&lt;div class="ulist"&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
évek óta osztrák/francia terepeken síelve végre valami változatosság
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
nagyjából egy megszokott minőségű síterepre jut az ember, a nyugati árak
  töredékéért (u.úgy jelezve vannak színekkel a pályák, van sítérkép, ratrak,
  stb.)
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
hétköznap a pályákon minimális a terheltség
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
az utazás csak 8 óra Bp-ről (Franciaországnál 1-1 teljes nap elment csak az utazással)
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Persze vannak hátrányok is, amit érdemes figyelbe venni, ha az ember kompromisszumképtelen:&lt;/p&gt;&lt;/div&gt;
&lt;div class="ulist"&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
a pályák kijelzettsége rosszabb: többen kérdezték, hogy itt a fekete
  pályáknál alap feltétel, hogy ne legyenek kijelezve? ;-) (vagy például nincs
  led-panel a kasszánál, hogy mely felvonók járnak, csak
  &lt;a href="http://oc-jahorina.com/en/"&gt;neten&lt;/a&gt; lehet megnézni)
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
az angol nyelvtudása a helyieknek csapnivaló, bár erőltetve a tőmondatok
  használatát minden felmerülő problémát megoldottak, így sok paraszra nem
  lehetett okunk
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div class="paragraph"&gt;&lt;p&gt;Pár ár-referencia (TL;DR: 2 KM kb. = 1 EUR):&lt;/p&gt;&lt;/div&gt;
&lt;div class="ulist"&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;
forró-csoki a &lt;a href="http://www.peggy-jahorina.ba/"&gt;Peggy&lt;/a&gt; "hüttében": 4,5 KM
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
&lt;a href="https://lh4.googleusercontent.com/-0ME8NW6pVpc/UUMETp0uVEI/AAAAAAAACPE/7hxNbbrgGE4/s2560/IMG_20130315_084607.jpg"&gt;2l-es LAV sör&lt;/a&gt; a helyi boltban: 3,3 KM
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
szállás a &lt;a href="http://www.pahuljica-jahorina.com/pahuljica_eng/"&gt;Pahuljica&lt;/a&gt; panzióban félpanzióval: 50 KM
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;
nagy (32cm) pizza a &lt;a href="https://www.facebook.com/Vatra.Jahorina"&gt;VATRA&lt;/a&gt; étteremben: 10KM
&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</description>
            <link>http://vmiklos.hu/blog/jahorina.html</link>
            <pubDate>Sat, 16 Mar 2013 18:06:24 +0100</pubDate>
            <guid isPermaLink="false">http://vmiklos.hu/blog/jahorina.html</guid>
        </item>
    </channel>
</rss>
