<link>http://people.skolelinux.org/pere/blog/</link>
+ <item>
+ <title>Welcome to the world, Isenkram!</title>
+ <link>http://people.skolelinux.org/pere/blog/Welcome_to_the_world__Isenkram_.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Welcome_to_the_world__Isenkram_.html</guid>
+ <pubDate>Tue, 22 Jan 2013 22:00:00 +0100</pubDate>
+ <description><p>Yesterday, I
+<a href="http://people.skolelinux.org/pere/blog/First_prototype_ready_making_hardware_easier_to_use_in_Debian.html">asked
+for testers</a> for my prototype for making Debian better at handling
+pluggable hardware devices, which I
+<a href="http://people.skolelinux.org/pere/blog/Lets_make_hardware_dongles_easier_to_use_in_Debian.html">set
+out to create</a> earlier this month. Several valuable testers showed
+up, and caused me to really want to to open up the development to more
+people. But before I did this, I want to come up with a sensible name
+for this project. Today I finally decided on a new name, and I have
+renamed the project from hw-support-handler to this new name. In the
+process, I moved the source to git and made it available as a
+<a href="http://anonscm.debian.org/gitweb/?p=collab-maint/isenkram.git">collab-maint</a>
+repository in Debian. The new name? It is <strong>Isenkram</strong>.
+To fetch and build the latest version of the source, use</p>
+
+<pre>
+git clone http://anonscm.debian.org/git/collab-maint/isenkram.git
+cd isenkram && git-buildpackage -us -uc
+</pre>
+
+<p>I have not yet adjusted all files to use the new name yet. If you
+want to hack on the source or improve the package, please go ahead.
+But please talk to me first on IRC or via email before you do major
+changes, to make sure we do not step on each others toes. :)</p>
+
+<p>If you wonder what 'isenkram' is, it is a Norwegian word for iron
+stuff, typically meaning tools, nails, screws, etc. Typical hardware
+stuff, in other words. I've been told it is the Norwegian variant of
+the German word eisenkram, for those that are familiar with that
+word.</p>
+
+<p><strong>Update 2013-01-26</strong>: Added -us -us to build
+instructions, to avoid confusing people with an error from the signing
+process.</p>
+
+<p><strong>Update 2013-01-27</strong>: Switch to HTTP URL for the git
+clone argument to avoid the need for authentication.</p>
+</description>
+ </item>
+
+ <item>
+ <title>First prototype ready making hardware easier to use in Debian</title>
+ <link>http://people.skolelinux.org/pere/blog/First_prototype_ready_making_hardware_easier_to_use_in_Debian.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/First_prototype_ready_making_hardware_easier_to_use_in_Debian.html</guid>
+ <pubDate>Mon, 21 Jan 2013 12:00:00 +0100</pubDate>
+ <description><p>Early this month I set out to try to
+<a href="http://people.skolelinux.org/pere/blog/Lets_make_hardware_dongles_easier_to_use_in_Debian.html">improve
+the Debian support for pluggable hardware devices</a>. Now my
+prototype is working, and it is ready for a larger audience. To test
+it, fetch the
+<a href="http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/">source
+from the Debian Edu subversion repository</a>, build and install the
+package. You might have to log out and in again activate the
+autostart script.</p>
+
+<p>The design is simple:</p>
+
+<ul>
+
+<li>Add desktop entry in /usr/share/autostart/ causing a program
+hw-support-handlerd to start when the user log in.</li>
+
+<li>This program listen for kernel events about new hardware (directly
+from the kernel like udev does), not using HAL dbus events as I
+initially did.</li>
+
+<li>When new hardware is inserted, look up the hardware modalias in
+the APT database, a database
+<a href="http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/modaliases?view=markup">available
+via HTTP</a> and a database available as part of the package.</li>
+
+<li>If a package is mapped to the hardware in question, the package
+isn't installed yet and this is the first time the hardware was
+plugged in, show a desktop notification suggesting to install the
+package or packages.</li>
+
+<li>If the user click on the 'install package now' button, ask
+aptdaemon via the PackageKit API to install the requrired package.</li>
+
+<li>aptdaemon ask for root password or sudo password, and install the
+package while showing progress information in a window.</li>
+
+</ul>
+
+<p>I still need to come up with a better name for the system. Here
+are some screen shots showing the prototype in action. First the
+notification, then the password request, and finally the request to
+approve all the dependencies. Sorry for the Norwegian Bokmål GUI.</p>
+
+<p><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-1-notification.png">
+<br><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-2-password.png">
+<br><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-3-dependencies.png">
+<br><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-4-installing.png">
+<br><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-5-installing-details.png" width="70%"></p>
+
+<p>The prototype still need to be improved with longer timeouts, but
+is already useful. The database of hardware to package mappings also
+need more work. It is currently compatible with the Ubuntu way of
+storing such information in the package control file, but could be
+changed to use other formats instead or in addition to the current
+method. I've dropped the use of discover for this mapping, as the
+modalias approach is more flexible and easier to use on Linux as long
+as the Linux kernel expose its modalias strings directly.</p>
+
+<p><strong>Update 2013-01-21 16:50</strong>: Due to popular demand,
+here is the command required to check out and build the source: Use
+'<tt>svn checkout
+svn://svn.debian.org/debian-edu/trunk/src/hw-support-handler/; cd
+hw-support-handler; debuild</tt>'. If you lack debuild, install the
+devscripts package.</p>
+
+<p><strong>Update 2013-01-23 12:00</strong>: The project is now
+renamed to Isenkram and the source moved from the Debian Edu
+subversion repository to a Debian collab-maint git repository. See
+<a href="http://people.skolelinux.org/pere/blog/Welcome_to_the_world__Isenkram_.html">build
+instructions</a> for details.</p>
+</description>
+ </item>
+
+ <item>
+ <title>Thank you Thinkpad X41, for your long and trustworthy service</title>
+ <link>http://people.skolelinux.org/pere/blog/Thank_you_Thinkpad_X41__for_your_long_and_trustworthy_service.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Thank_you_Thinkpad_X41__for_your_long_and_trustworthy_service.html</guid>
+ <pubDate>Sat, 19 Jan 2013 09:20:00 +0100</pubDate>
+ <description><p>This Christmas my trusty old laptop died. It died quietly and
+suddenly in bed. With a quiet whimper, it went completely quiet and
+black. The power button was no longer able to turn it on. It was a
+IBM Thinkpad X41, and the best laptop I ever had. Better than both
+Thinkpads X30, X31, X40, X60, X61 and X61S. Far better than the
+Compaq I had before that. Now I need to find a replacement. To keep
+going during Christmas, I moved the one year old SSD disk to my old
+X40 where it fitted (only one I had left that could use it), but it is
+not a durable solution.
+
+<p>My laptop needs are fairly modest. This is my wishlist from when I
+got a new one more than 10 years ago. It still holds true.:)</p>
+
+<ul>
+
+<li>Lightweight (around 1 kg) and small volume (preferably smaller
+ than A4).</li>
+<li>Robust, it will be in my backpack every day.</li>
+<li>Three button mouse and a mouse pin instead of touch pad.</li>
+<li>Long battery life time. Preferable a week.</li>
+<li>Internal WIFI network card.</li>
+<li>Internal Twisted Pair network card.</li>
+<li>Some USB slots (2-3 is plenty)</li>
+<li>Good keyboard - similar to the Thinkpad.</li>
+<li>Video resolution at least 1024x768, with size around 12" (A4 paper
+size).</li>
+<li>Hardware supported by Debian Stable, ie the default kernel and
+ X.org packages.</li>
+<li>Quiet, preferably fan free (or at least not using the fan most of
+ the time).
+
+</ul>
+
+<p>You will notice that there are no RAM and CPU requirements in the
+list. The reason is simply that the specifications on laptops the
+last 10-15 years have been sufficient for my needs, and I have to look
+at other features to choose my laptop. But are there still made as
+robust laptops as my X41? The Thinkpad X60/X61 proved to be less
+robust, and Thinkpads seem to be heading in the wrong direction since
+Lenovo took over. But I've been told that X220 and X1 Carbon might
+still be useful.</p>
+
+<p>Perhaps I should rethink my needs, and look for a pad with an
+external keyboard? I'll have to check the
+<a href="http://www.linux-laptop.net/">Linux Laptops site</a> for
+well-supported laptops, or perhaps just buy one preinstalled from one
+of the vendors listed on the <a href="http://linuxpreloaded.com/">Linux
+Pre-loaded site</a>.</p>
+</description>
+ </item>
+
+ <item>
+ <title>How to find a browser plugin supporting a given MIME type</title>
+ <link>http://people.skolelinux.org/pere/blog/How_to_find_a_browser_plugin_supporting_a_given_MIME_type.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/How_to_find_a_browser_plugin_supporting_a_given_MIME_type.html</guid>
+ <pubDate>Fri, 18 Jan 2013 10:40:00 +0100</pubDate>
+ <description><p>Some times I try to figure out which Iceweasel browser plugin to
+install to get support for a given MIME type. Thanks to
+<a href="https://wiki.ubuntu.com/MozillaTeam/Plugins">specifications
+done by Ubuntu</a> and Mozilla, it is possible to do this in Debian.
+Unfortunately, not very many packages provide the needed meta
+information, Anyway, here is a small script to look up all browser
+plugin packages announcing ther MIME support using this specification:</p>
+
+<pre>
+#!/usr/bin/python
+import sys
+import apt
+def pkgs_handling_mimetype(mimetype):
+ cache = apt.Cache()
+ cache.open(None)
+ thepkgs = []
+ for pkg in cache:
+ version = pkg.candidate
+ if version is None:
+ version = pkg.installed
+ if version is None:
+ continue
+ record = version.record
+ if not record.has_key('Npp-MimeType'):
+ continue
+ mime_types = record['Npp-MimeType'].split(',')
+ for t in mime_types:
+ t = t.rstrip().strip()
+ if t == mimetype:
+ thepkgs.append(pkg.name)
+ return thepkgs
+mimetype = "audio/ogg"
+if 1 < len(sys.argv):
+ mimetype = sys.argv[1]
+print "Browser plugin packages supporting %s:" % mimetype
+for pkg in pkgs_handling_mimetype(mimetype):
+ print " %s" %pkg
+</pre>
+
+<p>It can be used like this to look up a given MIME type:</p>
+
+<pre>
+% ./apt-find-browserplug-for-mimetype
+Browser plugin packages supporting audio/ogg:
+ gecko-mediaplayer
+% ./apt-find-browserplug-for-mimetype application/x-shockwave-flash
+Browser plugin packages supporting application/x-shockwave-flash:
+ browser-plugin-gnash
+%
+</pre>
+
+<p>In Ubuntu this mechanism is combined with support in the browser
+itself to query for plugins and propose to install the needed
+packages. It would be great if Debian supported such feature too. Is
+anyone working on adding it?</p>
+
+<p><strong>Update 2013-01-18 14:20</strong>: The Debian BTS
+request for icweasel support for this feature is
+<a href="http://bugs.debian.org/484010">#484010</a> from 2008 (and
+<a href="http://bugs.debian.org/698426">#698426</a> from today). Lack
+of manpower and wish for a different design is the reason thus feature
+is not yet in iceweasel from Debian.</p>
+</description>
+ </item>
+
+ <item>
+ <title>What is the most supported MIME type in Debian?</title>
+ <link>http://people.skolelinux.org/pere/blog/What_is_the_most_supported_MIME_type_in_Debian_.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/What_is_the_most_supported_MIME_type_in_Debian_.html</guid>
+ <pubDate>Wed, 16 Jan 2013 10:10:00 +0100</pubDate>
+ <description><p>The <a href="http://wiki.debian.org/AppStreamDebianProposal">DEP-11
+proposal to add AppStream information to the Debian archive</a>, is a
+proposal to make it possible for a Desktop application to propose to
+the user some package to install to gain support for a given MIME
+type, font, library etc. that is currently missing. With such
+mechanism in place, it would be possible for the desktop to
+automatically propose and install leocad if some LDraw file is
+downloaded by the browser.</p>
+
+<p>To get some idea about the current content of the archive, I decided
+to write a simple program to extract all .desktop files from the
+Debian archive and look up the claimed MIME support there. The result
+can be found on the
+<a href="http://ftp.skolelinux.org/pub/AppStreamTest">Skolelinux FTP
+site</a>. Using the collected information, it become possible to
+answer the question in the title. Here are the 20 most supported MIME
+types in Debian stable (Squeeze), testing (Wheezy) and unstable (Sid).
+The complete list is available from the link above.</p>
+
+<p><strong>Debian Stable:</strong></p>
+
+<pre>
+ count MIME type
+ ----- -----------------------
+ 32 text/plain
+ 30 audio/mpeg
+ 29 image/png
+ 28 image/jpeg
+ 27 application/ogg
+ 26 audio/x-mp3
+ 25 image/tiff
+ 25 image/gif
+ 22 image/bmp
+ 22 audio/x-wav
+ 20 audio/x-flac
+ 19 audio/x-mpegurl
+ 18 video/x-ms-asf
+ 18 audio/x-musepack
+ 18 audio/x-mpeg
+ 18 application/x-ogg
+ 17 video/mpeg
+ 17 audio/x-scpls
+ 17 audio/ogg
+ 16 video/x-ms-wmv
+</pre>
+
+<p><strong>Debian Testing:</strong></p>
+
+<pre>
+ count MIME type
+ ----- -----------------------
+ 33 text/plain
+ 32 image/png
+ 32 image/jpeg
+ 29 audio/mpeg
+ 27 image/gif
+ 26 image/tiff
+ 26 application/ogg
+ 25 audio/x-mp3
+ 22 image/bmp
+ 21 audio/x-wav
+ 19 audio/x-mpegurl
+ 19 audio/x-mpeg
+ 18 video/mpeg
+ 18 audio/x-scpls
+ 18 audio/x-flac
+ 18 application/x-ogg
+ 17 video/x-ms-asf
+ 17 text/html
+ 17 audio/x-musepack
+ 16 image/x-xbitmap
+</pre>
+
+<p><strong>Debian Unstable:</strong></p>
+
+<pre>
+ count MIME type
+ ----- -----------------------
+ 31 text/plain
+ 31 image/png
+ 31 image/jpeg
+ 29 audio/mpeg
+ 28 application/ogg
+ 27 image/gif
+ 26 image/tiff
+ 26 audio/x-mp3
+ 23 audio/x-wav
+ 22 image/bmp
+ 21 audio/x-flac
+ 20 audio/x-mpegurl
+ 19 audio/x-mpeg
+ 18 video/x-ms-asf
+ 18 video/mpeg
+ 18 audio/x-scpls
+ 18 application/x-ogg
+ 17 audio/x-musepack
+ 16 video/x-ms-wmv
+ 16 video/x-msvideo
+</pre>
+
+<p>I am told that PackageKit can provide an API to access the kind of
+information mentioned in DEP-11. I have not yet had time to look at
+it, but hope the PackageKit people in Debian are on top of these
+issues.</p>
+
+<p><strong>Update 2013-01-16 13:35</strong>: Updated numbers after
+discovering a typo in my script.</p>
+</description>
+ </item>
+
<item>
<title>Using modalias info to find packages handling my hardware</title>
<link>http://people.skolelinux.org/pere/blog/Using_modalias_info_to_find_packages_handling_my_hardware.html</link>