]> pere.pagekite.me Git - homepage.git/blobdiff - blog/archive/2013/01/index.html
Generated.
[homepage.git] / blog / archive / 2013 / 01 / index.html
index 15944c320bfa52179561c697b47395f752925654..a9792ccfacb225ee191ec4ea7b5f34a7417e394d 100644 (file)
 
     <h3>Entries from January 2013.</h3>
     
+    <div class="entry">
+      <div class="title">
+        <a href="http://people.skolelinux.org/pere/blog/Welcome_to_the_world__Isenkram_.html">Welcome to the world, Isenkram!</a>
+      </div>
+      <div class="date">
+        22nd January 2013
+      </div>
+      <div class="body">
+        <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>
+
+      </div>
+      <div class="tags">
+        
+        
+        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram</a>.
+        
+        
+      </div>
+    </div>
+    <div class="padding"></div>
+    
+    <div class="entry">
+      <div class="title">
+        <a href="http://people.skolelinux.org/pere/blog/First_prototype_ready_making_hardware_easier_to_use_in_Debian.html">First prototype ready making hardware easier to use in Debian</a>
+      </div>
+      <div class="date">
+        21st January 2013
+      </div>
+      <div class="body">
+        <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>
+
+      </div>
+      <div class="tags">
+        
+        
+        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram</a>.
+        
+        
+      </div>
+    </div>
+    <div class="padding"></div>
+    
+    <div class="entry">
+      <div class="title">
+        <a href="http://people.skolelinux.org/pere/blog/Thank_you_Thinkpad_X41__for_your_long_and_trustworthy_service.html">Thank you Thinkpad X41, for your long and trustworthy service</a>
+      </div>
+      <div class="date">
+        19th January 2013
+      </div>
+      <div class="body">
+        <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>
+
+      </div>
+      <div class="tags">
+        
+        
+        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
+        
+        
+      </div>
+    </div>
+    <div class="padding"></div>
+    
+    <div class="entry">
+      <div class="title">
+        <a href="http://people.skolelinux.org/pere/blog/How_to_find_a_browser_plugin_supporting_a_given_MIME_type.html">How to find a browser plugin supporting a given MIME type</a>
+      </div>
+      <div class="date">
+        18th January 2013
+      </div>
+      <div class="body">
+        <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>
+
+      </div>
+      <div class="tags">
+        
+        
+        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
+        
+        
+      </div>
+    </div>
+    <div class="padding"></div>
+    
+    <div class="entry">
+      <div class="title">
+        <a href="http://people.skolelinux.org/pere/blog/What_is_the_most_supported_MIME_type_in_Debian_.html">What is the most supported MIME type in Debian?</a>
+      </div>
+      <div class="date">
+        16th January 2013
+      </div>
+      <div class="body">
+        <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>
+
+      </div>
+      <div class="tags">
+        
+        
+        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
+        
+        
+      </div>
+    </div>
+    <div class="padding"></div>
+    
+    <div class="entry">
+      <div class="title">
+        <a href="http://people.skolelinux.org/pere/blog/Using_modalias_info_to_find_packages_handling_my_hardware.html">Using modalias info to find packages handling my hardware</a>
+      </div>
+      <div class="date">
+        15th January 2013
+      </div>
+      <div class="body">
+        <p>Yesterday, I wrote about the
+<a href="http://people.skolelinux.org/pere/blog/Modalias_strings___a_practical_way_to_map__stuff__to_hardware.html">modalias
+values provided by the Linux kernel</a> following my hope for
+<a href="http://people.skolelinux.org/pere/blog/Lets_make_hardware_dongles_easier_to_use_in_Debian.html">better
+dongle support in Debian</a>.  Using this knowledge, I have tested how
+modalias values attached to package names can be used to map packages
+to hardware.  This allow the system to look up and suggest relevant
+packages when I plug in some new hardware into my machine, and replace
+discover and discover-data as the database used to map hardware to
+packages.</p>
+
+<p>I create a modaliases file with entries like the following,
+containing package name, kernel module name (if relevant, otherwise
+the package name) and globs matching the relevant hardware
+modalias.</p>
+
+<p><blockquote>
+Package: package-name
+<br>Modaliases: module(modaliasglob, modaliasglob, modaliasglob)</p>
+</blockquote></p>
+
+<p>It is fairly trivial to write code to find the relevant packages
+for a given modalias value using this file.</p>
+
+<p>An entry like this would suggest the video and picture application
+cheese for many USB web cameras (interface bus class 0E01):</p>
+
+<p><blockquote>
+Package: cheese
+<br>Modaliases: cheese(usb:v*p*d*dc*dsc*dp*ic0Eisc01ip*)</p>
+</blockquote></p>
+
+<p>An entry like this would suggest the pcmciautils package when a
+CardBus bridge (bus class 0607) PCI device is present:</p>
+
+<p><blockquote>
+Package: pcmciautils
+<br>Modaliases: pcmciautils(pci:v*d*sv*sd*bc06sc07i*)
+</blockquote></p>
+
+<p>An entry like this would suggest the package colorhug-client when
+plugging in a ColorHug with USB IDs 04D8:F8DA:</p>
+
+<p><blockquote>
+Package: colorhug-client
+<br>Modaliases: colorhug-client(usb:v04D8pF8DAd*)</p>
+</blockquote></p>
+
+<p>I believe the format is compatible with the format of the Packages
+file in the Debian archive.  Ubuntu already uses their Packages file
+to store their mappings from packages to hardware.</p>
+
+<p>By adding a XB-Modaliases: header in debian/control, any .deb can
+announce the hardware it support in a way my prototype understand.
+This allow those publishing packages in an APT source outside the
+Debian archive as well as those backporting packages to make sure the
+hardware mapping are included in the package meta information.  I've
+tested such header in the pymissile package, and its modalias mapping
+is working as it should with my prototype.  It even made it to Ubuntu
+Raring.</p>
+
+<p>To test if it was possible to look up supported hardware using only
+the shell tools available in the Debian installer, I wrote a shell
+implementation of the lookup code.  The idea is to create files for
+each modalias and let the shell do the matching.  Please check out and
+try the
+<a href="http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/hw-support-lookup?view=co">hw-support-lookup</a>
+shell script.  It run without any extra dependencies and fetch the
+hardware mappings from the Debian archive and the subversion
+repository where I currently work on my prototype.</p>
+
+<p>When I use it on a machine with a yubikey inserted, it suggest to
+install yubikey-personalization:</p>
+
+<p><blockquote>
+% ./hw-support-lookup
+<br>yubikey-personalization
+<br>%
+</blockquote></p>
+
+<p>When I run it on my Thinkpad X40 with a PCMCIA/CardBus slot, it
+propose to install the pcmciautils package:</p>
+
+<p><blockquote>
+% ./hw-support-lookup 
+<br>pcmciautils
+<br>%
+</blockquote></p>
+
+<p>If you know of any hardware-package mapping that should be added to
+<a href="http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/modaliases?view=co">my
+database</a>, please tell me about it.</p>
+
+<p>It could be possible to generate several of the mappings between
+packages and hardware.  One source would be to look at packages with
+kernel modules, ie packages with *.ko files in /lib/modules/, and
+extract their modalias information.  Another would be to look at
+packages with udev rules, ie packages with files in
+/lib/udev/rules.d/, and extract their vendor/model information to
+generate a modalias matching rule.  I have not tested any of these to
+see if it work.</p>
+
+<p>If you want to help implementing a system to let us propose what
+packages to install when new hardware is plugged into a Debian
+machine, please send me an email or talk to me on
+<a href="irc://irc.debian.org/%23debian-devel">#debian-devel</a>.</p>
+
+      </div>
+      <div class="tags">
+        
+        
+        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram</a>.
+        
+        
+      </div>
+    </div>
+    <div class="padding"></div>
+    
     <div class="entry">
       <div class="title">
         <a href="http://people.skolelinux.org/pere/blog/Modalias_strings___a_practical_way_to_map__stuff__to_hardware.html">Modalias strings - a practical way to map "stuff" to hardware</a>
@@ -50,7 +601,7 @@ values stands for.  It is in part based on information from
 this shell script:</p>
 
 <pre>
-cat $(find /sys -name modalias) | sort -u
+find /sys -name modalias -print0 | xargs -0 cat | sort -u
 </pre>
 
 <p>The supported modalias globs for a given kernel module can be found
@@ -242,7 +793,7 @@ hardware to packages when new stuff is inserted during run time.</p>
 one can use the following shell script:</p>
 
 <pre>
-  for id in $(cat $(find /sys -name modalias)|sort -u); do \
+  for id in $(find /sys -name modalias -print0 | xargs -0 cat | sort -u); do \
     echo "$id" ; \
     /sbin/modprobe --show-depends "$id"|sed 's/^/  /' ; \
   done
@@ -273,11 +824,15 @@ packages to install when new hardware is plugged into a Debian
 machine, please send me an email or talk to me on
 <a href="irc://irc.debian.org/%23debian-devel">#debian-devel</a>.</p>
 
+<p><strong>Update 2013-01-15:</strong> Rewrite "cat $(find ...)" to
+"find ... -print0 | xargs -0 cat" to make sure it handle directories
+in /sys/ with space in them.</p>
+
       </div>
       <div class="tags">
         
         
-        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
+        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram</a>.
         
         
       </div>
@@ -420,7 +975,7 @@ please send me an email. :)</p>
       <div class="tags">
         
         
-        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
+        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram</a>.
         
         
       </div>
@@ -583,7 +1138,27 @@ siste måneden.</p>
 <li>2013
 <ul>
 
-<li><a href="http://people.skolelinux.org/pere/blog/archive/2013/01/">January (5)</a></li>
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2013/01/">January (11)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2013/02/">February (9)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2013/03/">March (9)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2013/04/">April (6)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2013/05/">May (9)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2013/06/">June (10)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2013/07/">July (7)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2013/08/">August (3)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2013/09/">September (5)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2013/10/">October (7)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2013/11/">November (2)</a></li>
 
 </ul></li>
 
@@ -727,35 +1302,39 @@ siste måneden.</p>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/bankid">bankid (4)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (5)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (7)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (12)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (13)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (63)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (90)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (118)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (142)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan (9)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan (10)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook (7)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook (10)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (169)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (225)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (21)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (12)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (10)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (12)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (9)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (5)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju (32)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (11)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (17)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju (37)</a></li>
+
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (7)</a></li>
+
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (18)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (8)</a></li>
 
@@ -763,19 +1342,21 @@ siste måneden.</p>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
 
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (3)</a></li>
+
  <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (25)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (219)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (236)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (148)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (156)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (6)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (8)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (41)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (45)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (61)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (67)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/raid">raid (1)</a></li>
 
@@ -783,7 +1364,7 @@ siste måneden.</p>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/rfid">rfid (2)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/robot">robot (6)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/robot">robot (8)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
 
@@ -791,36 +1372,36 @@ siste måneden.</p>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (28)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (32)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (4)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (4)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (39)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (43)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (3)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (5)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (9)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (12)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (20)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (1)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/valg">valg (7)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/valg">valg (8)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (35)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (39)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (4)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (26)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (28)</a></li>
 
 </ul>
 
 
     </div>
     <p style="text-align: right">
- Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.4</a>
+ Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.6</a>
 </p>
 
   </body>