- <title>First paper version of the Norwegian Free Culture book heading my way</title>
- <link>http://people.skolelinux.org/pere/blog/First_paper_version_of_the_Norwegian_Free_Culture_book_heading_my_way.html</link>
- <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/First_paper_version_of_the_Norwegian_Free_Culture_book_heading_my_way.html</guid>
- <pubDate>Sun, 9 Aug 2015 10:15:00 +0200</pubDate>
- <description><p>Typesetting a book is harder than I hoped. As the translation is
-mostly done, and a volunteer proof reader was going to check the text
-on paper, it was time this summer to focus on formatting my translated
-<a href="http://www.docbook.org/">docbook</a> based version of the
-<a href="http://free-culture.cc/">Free Culture</a> book by Lawrence
-Lessig. I've been trying to get both docboox-xsl+fop and dblatex to
-give me a good looking PDF, but in the end I went with dblatex, because
-its Debian maintainer and upstream developer were responsive and very
-helpful in solving my formatting challenges.</p>
-
-<p>Last night, I finally managed to create a PDF that no longer made
-<a href="http://www.lulu.com/">Lulu.com</a> complain after uploading,
-and I ordered a text version of the book on paper. It is lacking a
-proper book cover and is not tagged with the correct ISBN number, but
-should give me an idea what the finished book will look like.</p>
-
-<p>Instead of using Lulu, I did consider printing the book using
-<a href="http://www.createspace.com/">CreateSpace</a>, but ended up
-using Lulu because it had smaller book size options (CreateSpace seem
-to lack pocket book with extended distribution). I looked for a
-similar service in Norway, but have not seen anything so far. Please
-let me know if I am missing out on something here.</p>
-
-<p>But I still struggle to decide the book size. Should I go for
-pocket book (4.25x6.875 inches / 10.8x17.5 cm) with 556 pages, Digest
-(5.5x8.5 inches / 14x21.6 cm) with 323 pages or US Trade (6x8 inches /
-15.3x22.9 cm) with 280 pages? Fewer pager give a cheaper book, and a
-smaller book is easier to carry around. The test book I ordered was
-pocket book sized, to give me an idea how well that fit in my hand,
-but I suspect I will end up using a digest sized book in the end to
-bring the prize down further.</p>
-
-<p>My biggest challenge at the moment is making nice cover art. My
-inkscape skills are not yet up to the task of replicating the original
-cover in SVG format. I also need to figure out what to write about
-the book on the back (will most likely use the same text as the
-description on web based book stores). I would love help with this,
-if you are willing to license the art source and final version using
-the same CC license as the book. My artistic skills are not really up
-to the task.</p>
-
-<p>I plan to publish the book in both English and Norwegian and on
-paper, in PDF form as well as EPUB and MOBI format. The current
-status can as usual be found on
-<a href="https://github.com/petterreinholdtsen/free-culture-lessig">github</a>
-in the archive/ directory. So far I have spent all time on making the
-PDF version look good. Someone should probably do the same with the
-dbtoepub generated e-book. Help is definitely needed here, as I
-expect to run out of steem before I find time to improve the epub
-formatting.</p>
-
-<p>Please let me know via github if you find typos in the book or
-discover translations that should be improved. The final proof
-reading is being done right now, and I expect to publish the finished
-result in a few months.</p>
+ <title>A program should be able to open its own files on Linux</title>
+ <link>http://people.skolelinux.org/pere/blog/A_program_should_be_able_to_open_its_own_files_on_Linux.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/A_program_should_be_able_to_open_its_own_files_on_Linux.html</guid>
+ <pubDate>Sun, 5 Jun 2016 08:30:00 +0200</pubDate>
+ <description><p>Many years ago, when koffice was fresh and with few users, I
+decided to test its presentation tool when making the slides for a
+talk I was giving for NUUG on Japhar, a free Java virtual machine. I
+wrote the first draft of the slides, saved the result and went to bed
+the day before I would give the talk. The next day I took a plane to
+the location where the meeting should take place, and on the plane I
+started up koffice again to polish the talk a bit, only to discover
+that kpresenter refused to load its own data file. I cursed a bit and
+started making the slides again from memory, to have something to
+present when I arrived. I tested that the saved files could be
+loaded, and the day seemed to be rescued. I continued to polish the
+slides until I suddenly discovered that the saved file could no longer
+be loaded into kpresenter. In the end I had to rewrite the slides
+three times, condensing the content until the talk became shorter and
+shorter. After the talk I was able to pinpoint the problem &ndash;
+kpresenter wrote inline images in a way itself could not understand.
+Eventually that bug was fixed and kpresenter ended up being a great
+program to make slides. The point I'm trying to make is that we
+expect a program to be able to load its own data files, and it is
+embarrassing to its developers if it can't.</p>
+
+<p>Did you ever experience a program failing to load its own data
+files from the desktop file browser? It is not a uncommon problem. A
+while back I discovered that the screencast recorder
+gtk-recordmydesktop would save an Ogg Theora video file the KDE file
+browser would refuse to open. No video player claimed to understand
+such file. I tracked down the cause being <tt>file --mime-type</tt>
+returning the application/ogg MIME type, which no video player I had
+installed listed as a MIME type they would understand. I asked for
+<a href="http://bugs.gw.com/view.php?id=382">file to change its
+behavour</a> and use the MIME type video/ogg instead. I also asked
+several video players to add video/ogg to their desktop files, to give
+the file browser an idea what to do about Ogg Theora files. After a
+while, the desktop file browsers in Debian started to handle the
+output from gtk-recordmydesktop properly.</p>
+
+<p>But history repeats itself. A few days ago I tested the music
+system Rosegarden again, and I discovered that the KDE and xfce file
+browsers did not know what to do with the Rosegarden project files
+(*.rg). I've reported <a href="http://bugs.debian.org/825993">the
+rosegarden problem to BTS</a> and a fix is commited to git and will be
+included in the next upload. To increase the chance of me remembering
+how to fix the problem next time some program fail to load its files
+from the file browser, here are some notes on how to fix it.</p>
+
+<p>The file browsers in Debian in general operates on MIME types.
+There are two sources for the MIME type of a given file. The output from
+<tt>file --mime-type</tt> mentioned above, and the content of the
+shared MIME type registry (under /usr/share/mime/). The file MIME
+type is mapped to programs supporting the MIME type, and this
+information is collected from
+<a href="https://www.freedesktop.org/wiki/Specifications/desktop-entry-spec/">the
+desktop files</a> available in /usr/share/applications/. If there is
+one desktop file claiming support for the MIME type of the file, it is
+activated when asking to open a given file. If there are more, one
+can normally select which one to use by right-clicking on the file and
+selecting the wanted one using 'Open with' or similar. In general
+this work well. But it depend on each program picking a good MIME
+type (preferably
+<a href="http://www.iana.org/assignments/media-types/media-types.xhtml">a
+MIME type registered with IANA</a>), file and/or the shared MIME
+registry recognizing the file and the desktop file to list the MIME
+type in its list of supported MIME types.</p>
+
+<p>The <tt>/usr/share/mime/packages/rosegarden.xml</tt> entry for
+<a href="http://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec">the
+Shared MIME database</a> look like this:</p>
+
+<p><blockquote><pre>
+&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+&lt;mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info"&gt;
+ &lt;mime-type type="audio/x-rosegarden"&gt;
+ &lt;sub-class-of type="application/x-gzip"/&gt;
+ &lt;comment&gt;Rosegarden project file&lt;/comment&gt;
+ &lt;glob pattern="*.rg"/&gt;
+ &lt;/mime-type&gt;
+&lt;/mime-info&gt;
+</pre></blockquote></p>
+
+<p>This states that audio/x-rosegarden is a kind of application/x-gzip
+(it is a gzipped XML file). Note, it is much better to use an
+official MIME type registered with IANA than it is to make up ones own
+unofficial ones like the x-rosegarden type used by rosegarden.</p>
+
+<p>The desktop file of the rosegarden program failed to list
+audio/x-rosegarden in its list of supported MIME types, causing the
+file browsers to have no idea what to do with *.rg files:</p>
+
+<p><blockquote><pre>
+% grep Mime /usr/share/applications/rosegarden.desktop
+MimeType=audio/x-rosegarden-composition;audio/x-rosegarden-device;audio/x-rosegarden-project;audio/x-rosegarden-template;audio/midi;
+X-KDE-NativeMimeType=audio/x-rosegarden-composition
+%
+</pre></blockquote></p>
+
+<p>The fix was to add "audio/x-rosegarden;" at the end of the
+MimeType= line.</p>
+
+<p>If you run into a file which fail to open the correct program when
+selected from the file browser, please check out the output from
+<tt>file --mime-type</tt> for the file, ensure the file ending and
+MIME type is registered somewhere under /usr/share/mime/ and check
+that some desktop file under /usr/share/applications/ is claiming
+support for this MIME type. If not, please report a bug to have it
+fixed. :)</p>