]> pere.pagekite.me Git - homepage.git/blobdiff - blog/tags/english/index.html
Typo.
[homepage.git] / blog / tags / english / index.html
index 02168c647dad5db402328f36fc562cad54a06e14..2f952b042bf628c0dc487beaf18c7d25b3205cbc 100644 (file)
@@ -3,14 +3,14 @@
 <html>
  <head>
   <title>Petter Reinholdtsen: Entries Tagged english</title> 
-  <link rel="stylesheet" type="text/css" media="screen" href="../../style.css">
+  <link rel="stylesheet" type="text/css" media="screen" href="http://people.skolelinux.org/pere/blog/style.css">
   <link rel="alternate" title="RSS Feed" href="english.rss" type="application/rss+xml">
  </head>
  <body>
 
  <div class="title">
   <h1>
-       <a href="../../">Petter Reinholdtsen</a>
+       <a href="http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen</a>
       
   </h1>
   
@@ -23,7 +23,7 @@
 
 <div class="entry">
  <div class="title">
- <a href="../../The_sorry_state_of_multimedia_browser_plugins_in_Debian.html">The sorry state of multimedia browser plugins in Debian</a>
+ <a href="http://people.skolelinux.org/pere/blog/The_sorry_state_of_multimedia_browser_plugins_in_Debian.html">The sorry state of multimedia browser plugins in Debian</a>
  </div>
  <div class="date">
   2008-11-25 00:10
@@ -55,7 +55,7 @@ be the only one fitting our needs. :/</p>
  
 
  
-  Tags: <a href="../../tags/debian">debian</a>, <a href="../../tags/debian edu">debian edu</a>, <a href="../../tags/english">english</a>, <a href="../../tags/multimedia">multimedia</a>, <a href="../../tags/web">web</a>.
+  Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia</a>, <a href="http://people.skolelinux.org/pere/blog/tags/web">web</a>.
  
  </div>
 </div>
@@ -63,7 +63,7 @@ be the only one fitting our needs. :/</p>
 
 <div class="entry">
  <div class="title">
- <a href="../../Devcamp_brought_us_closer_to_the_Lenny_based_Debian_Edu_release.html">Devcamp brought us closer to the Lenny based Debian Edu release</a>
+ <a href="http://people.skolelinux.org/pere/blog/Devcamp_brought_us_closer_to_the_Lenny_based_Debian_Edu_release.html">Devcamp brought us closer to the Lenny based Debian Edu release</a>
  </div>
  <div class="date">
   2008-12-07 12:00
@@ -91,7 +91,7 @@ of these cards.</p>
  
 
  
-  Tags: <a href="../../tags/debian">debian</a>, <a href="../../tags/debian edu">debian edu</a>, <a href="../../tags/english">english</a>, <a href="../../tags/ltsp">ltsp</a>.
+  Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp</a>.
  
  </div>
 </div>
@@ -99,7 +99,7 @@ of these cards.</p>
 
 <div class="entry">
  <div class="title">
- <a href="../../Software_video_mixer_on_a_USB_stick.html">Software video mixer on a USB stick</a>
+ <a href="http://people.skolelinux.org/pere/blog/Software_video_mixer_on_a_USB_stick.html">Software video mixer on a USB stick</a>
  </div>
  <div class="date">
   2008-12-28 15:40
@@ -137,7 +137,7 @@ larger stick as well.</p>
  
 
  
-  Tags: <a href="../../tags/english">english</a>, <a href="../../tags/nuug">nuug</a>, <a href="../../tags/video">video</a>.
+  Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>.
  
  </div>
 </div>
@@ -145,7 +145,7 @@ larger stick as well.</p>
 
 <div class="entry">
  <div class="title">
- <a href="../../When_web_browser_developers_make_a_video_player___.html">When web browser developers make a video player...</a>
+ <a href="http://people.skolelinux.org/pere/blog/When_web_browser_developers_make_a_video_player___.html">When web browser developers make a video player...</a>
  </div>
  <div class="date">
   2009-01-17 18:50
@@ -201,7 +201,7 @@ sure hope it was using the announced Ogg Theora support. :)</p>
  
 
  
-  Tags: <a href="../../tags/english">english</a>, <a href="../../tags/multimedia">multimedia</a>, <a href="../../tags/nuug">nuug</a>, <a href="../../tags/video">video</a>, <a href="../../tags/web">web</a>.
+  Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>, <a href="http://people.skolelinux.org/pere/blog/tags/web">web</a>.
  
  </div>
 </div>
@@ -209,7 +209,7 @@ sure hope it was using the announced Ogg Theora support. :)</p>
 
 <div class="entry">
  <div class="title">
- <a href="../../Using_bar_codes_at_a_computing_center.html">Using bar codes at a computing center</a>
+ <a href="http://people.skolelinux.org/pere/blog/Using_bar_codes_at_a_computing_center.html">Using bar codes at a computing center</a>
  </div>
  <div class="date">
   2009-02-20 08:50
@@ -264,7 +264,7 @@ easier automatic tracking of computers.</p>
  
 
  
-  Tags: <a href="../../tags/english">english</a>, <a href="../../tags/nuug">nuug</a>.
+  Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
  
  </div>
 </div>
@@ -272,7 +272,7 @@ easier automatic tracking of computers.</p>
 
 <div class="entry">
  <div class="title">
- <a href="../../Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html">Checking server hardware support status for Dell, HP and IBM servers</a>
+ <a href="http://people.skolelinux.org/pere/blog/Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html">Checking server hardware support status for Dell, HP and IBM servers</a>
  </div>
  <div class="date">
   2009-02-28 23:50
@@ -446,7 +446,7 @@ do so.</p>
  
 
  
-  Tags: <a href="../../tags/english">english</a>, <a href="../../tags/nuug">nuug</a>.
+  Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
  
  </div>
 </div>
@@ -454,7 +454,7 @@ do so.</p>
 
 <div class="entry">
  <div class="title">
- <a href="../../Time_for_new__LDAP_schemas_replacing_RFC_2307_.html">Time for new  LDAP schemas replacing RFC 2307?</a>
+ <a href="http://people.skolelinux.org/pere/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html">Time for new  LDAP schemas replacing RFC 2307?</a>
  </div>
  <div class="date">
   2009-03-29 20:30
@@ -500,7 +500,7 @@ new IETF work group?</p>
  
 
  
-  Tags: <a href="../../tags/debian">debian</a>, <a href="../../tags/debian edu">debian edu</a>, <a href="../../tags/english">english</a>, <a href="../../tags/nuug">nuug</a>.
+  Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
  
  </div>
 </div>
@@ -508,7 +508,7 @@ new IETF work group?</p>
 
 <div class="entry">
  <div class="title">
- <a href="../../Returning_from_Skolelinux_developer_gathering.html">Returning from Skolelinux developer gathering</a>
+ <a href="http://people.skolelinux.org/pere/blog/Returning_from_Skolelinux_developer_gathering.html">Returning from Skolelinux developer gathering</a>
  </div>
  <div class="date">
   2009-03-29 21:00
@@ -537,13 +537,873 @@ now. :)</p>
  
 
  
-  Tags: <a href="../../tags/debian">debian</a>, <a href="../../tags/debian edu">debian edu</a>, <a href="../../tags/english">english</a>, <a href="../../tags/nuug">nuug</a>.
+  Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
  
  </div>
 </div>
 <div class="padding"></div>
 
- <p style="text-align: right;"><a href="english.rss"><img src="../../xml.gif" alt="RSS Feed" width="36" height="14"></a></p>
+<div class="entry">
+ <div class="title">
+ <a href="http://people.skolelinux.org/pere/blog/Standardize_on_protocols_and_formats__not_vendors_and_applications.html">Standardize on protocols and formats, not vendors and applications</a>
+ </div>
+ <div class="date">
+  2009-03-30 11:50
+ </div>
+
+ <div class="body">
+  
+<p>Where I work at the University of Oslo, one decision stand out as a
+very good one to form a long lived computer infrastructure.  It is the
+simple one, lost by many in todays computer industry: Standardize on
+open network protocols and open exchange/storage formats, not applications.
+Applications come and go, while protocols and files tend to stay, and
+thus one want to make it easy to change application and vendor, while
+avoiding conversion costs and locking users to a specific platform or
+application.</p>
+
+<p>This approach make it possible to replace the client applications
+independently of the server applications.  One can even allow users to
+use several different applications as long as they handle the selected
+protocol and format.  In the normal case, only one client application
+is recommended and users only get help if they choose to use this
+application, but those that want to deviate from the easy path are not
+blocked from doing so.</p>
+
+<p>It also allow us to replace the server side without forcing the
+users to replace their applications, and thus allow us to select the
+best server implementation at any moment, when scale and resouce
+requirements change.</p>
+
+<p>I strongly recommend standardizing - on open network protocols and
+open formats, but I would never recommend standardizing on a single
+application that do not use open network protocol or open formats.</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/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>.
+ </div>
+</div>
+<div class="padding"></div>
+
+<div class="entry">
+ <div class="title">
+ <a href="http://people.skolelinux.org/pere/blog/Recording_video_from_cron_using_VLC.html">Recording video from cron using VLC</a>
+ </div>
+ <div class="date">
+  2009-04-05 10:00
+ </div>
+
+ <div class="body">
+  
+<p>One think I have wanted to figure out for a along time is how to
+run vlc from cron to do recording of video streams on the net.  The
+task is trivial with mplayer, but I do not really trust the security
+of mplayer (it crashes too often on strange input), and thus prefer
+vlc.  I finally found a way to do it today.  I spent an hour or so
+searching the web for recipes and reading the documentation.  The
+hardest part was to get rid of the GUI window, but after finding the
+dummy interface, the command line finally presented itself:</p>
+
+<blockquote><pre>URL=http://www.ping.uio.no/video/rms-oslo_2009.ogg
+SAVEFILE=rms.ogg
+DISPLAY= vlc -q $URL \
+  --sout="#duplicate{dst=std{access=file,url='$SAVEFILE'},dst=nodisplay}" \
+  --intf=dummy</pre></blockquote>
+
+<p>The command stream the URL and store it in the SAVEFILE by
+duplicating the output stream to "nodisplay" and the file, using the
+dummy interface.  The dummy interface and the nodisplay output make
+sure no X interface is needed.</p>
+
+<p>The cron job then need to start this job with the appropriate URL
+and file name to save, sleep for the duration wanted, and then kill
+the vlc process with SIGTERM.  Here is a complete script
+<tt>vlc-record</tt> to use from <tt>at</tt> or <tt>cron</tt>:</p>
+
+<blockquote><pre>#!/bin/sh
+set -e
+URL="$1"
+SAVEFILE="$2"
+DURATION="$3"
+DISPLAY= vlc -q "$URL" \
+  --sout="#duplicate{dst=std{access=file,url='$SAVEFILE'},dst=nodisplay}" \
+  --intf=dummy < /dev/null > /dev/null 2>&1 &
+pid=$!
+sleep $DURATION
+kill $pid
+wait $pid</pre></blockquote>
+
+ </div>
+ <div class="tags">
+
+  Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>.
+ </div>
+</div>
+<div class="padding"></div>
+
+<div class="entry">
+ <div class="title">
+ <a href="http://people.skolelinux.org/pere/blog/No_patch_is_not_better_than_a_useless_patch.html">No patch is not better than a useless patch</a>
+ </div>
+ <div class="date">
+  2009-04-28 09:30
+ </div>
+
+ <div class="body">
+  
+<p>Julien Blache
+<a href="http://blog.technologeek.org/2009/04/12/214">claim that no
+patch is better than a useless patch</a>.  I completely disagree, as a
+patch allow one to discuss a concrete and proposed solution, and also
+prove that the issue at hand is important enough for someone to spent
+time on fixing it.  No patch do not provide any of these positive
+properties.</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/nuug">nuug</a>.
+ </div>
+</div>
+<div class="padding"></div>
+
+<div class="entry">
+ <div class="title">
+ <a href="http://people.skolelinux.org/pere/blog/Two_projects_that_have_improved_the_quality_of_free_software_a_lot.html">Two projects that have improved the quality of free software a lot</a>
+ </div>
+ <div class="date">
+  2009-05-02 15:00
+ </div>
+
+ <div class="body">
+  
+<p>There are two software projects that have had huge influence on the
+quality of free software, and I wanted to mention both in case someone
+do not yet know them.</p>
+
+<p>The first one is <a href="http://valgrind.org/">valgrind</a>, a
+tool to detect and expose errors in the memory handling of programs.
+It is easy to use, all one need to do is to run 'valgrind program',
+and it will report any problems on stdout.  It is even better if the
+program include debug information.  With debug information, it is able
+to report the source file name and line number where the problem
+occurs.  It can report things like 'reading past memory block in file
+X line N, the memory block was allocated in file Y, line M', and
+'using uninitialised value in control logic'.  This tool has made it
+trivial to investigate reproducible crash bugs in programs, and have
+reduced the number of this kind of bugs in free software a lot.
+
+<p>The second one is
+<a href="http://en.wikipedia.org/wiki/Coverity">Coverity</a> which is
+a source code checker.  It is able to process the source of a program
+and find problems in the logic without running the program.  It
+started out as the Stanford Checker and became well known when it was
+used to find bugs in the Linux kernel.  It is now a commercial tool
+and the company behind it is running
+<a href="http://www.scan.coverity.com/">a community service</a> for the
+free software community, where a lot of free software projects get
+their source checked for free.  Several thousand defects have been
+found and fixed so far.  It can find errors like 'lock L taken in file
+X line N is never released if exiting in line M', or 'the code in file
+Y lines O to P can never be executed'.  The projects included in the
+community service project have managed to get rid of a lot of
+reliability problems thanks to Coverity.</p>
+
+<p>I believe tools like this, that are able to automatically find
+errors in the source, are vital to improve the quality of software and
+make sure we can get rid of the crashing and failing software we are
+surrounded by today.</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/Debian_boots_quicker_and_quicker.html">Debian boots quicker and quicker</a>
+ </div>
+ <div class="date">
+  2009-06-24 21:40
+ </div>
+
+ <div class="body">
+  
+<p>I spent Monday and tuesday this week in London with a lot of the
+people involved in the boot system on Debian and Ubuntu, to see if we
+could find more ways to speed up the boot system.  This was an Ubuntu
+funded
+<a href="https://wiki.ubuntu.com/FoundationsTeam/BootPerformance/DebianUbuntuSprint">developer
+gathering</a>. It was quite productive.  We also discussed the future
+of boot systems, and ways to handle the increasing number of boot
+issues introduced by the Linux kernel becoming more and more
+asynchronous and event base.  The Ubuntu approach using udev and
+upstart might be a good way forward.  Time will show.</p>
+
+<p>Anyway, there are a few ways at the moment to speed up the boot
+process in Debian.  All of these should be applied to get a quick
+boot:</p>
+
+<ul>
+
+<li>Use dash as /bin/sh.</li>
+
+<li>Disable the init.d/hwclock*.sh scripts and make sure the hardware
+   clock is in UTC.</li>
+
+<li>Install and activate the insserv package to enable
+   <a href="http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot">dependency
+   based boot sequencing</a>, and enable concurrent booting.</li>
+
+</ul>
+
+These points are based on the Google summer of code work done by
+<a href="http://initscripts-ng.alioth.debian.org/soc2006-bootsystem/">Carlos
+Villegas</a>.
+
+<p>Support for makefile-style concurrency during boot was uploaded to
+unstable yesterday.  When we tested it, we were able to cut 6 seconds
+from the boot sequence.  It depend on very correct dependency
+declaration in all init.d scripts, so I expect us to find edge cases
+where the dependences in some scripts are slightly wrong when we start
+using this.</p>
+
+<p>On our IRC channel for this effort, #pkg-sysvinit, a new idea was
+introduced by Raphael Geissert today, one that could affect the
+startup speed as well.  Instead of starting some scripts concurrently
+from rcS.d/ and another set of scripts from rc2.d/, it would be
+possible to run a of them in the same process.  A quick way to test
+this would be to enable insserv and run 'mv /etc/rc2.d/S* /etc/rcS.d/;
+insserv'.  Will need to test if that work. :)</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/Taking_over_sysvinit_development.html">Taking over sysvinit development</a>
+ </div>
+ <div class="date">
+  2009-07-22 23:00
+ </div>
+
+ <div class="body">
+  
+<p>After several years of frustration with the lack of activity from
+the existing sysvinit upstream developer, I decided a few weeks ago to
+take over the package and become the new upstream.  The number of
+patches to track for the Debian package was becoming a burden, and the
+lack of synchronization between the distribution made it hard to keep
+the package up to date.</p>
+
+<p>On the new sysvinit team is the SuSe maintainer Dr. Werner Fink,
+and my Debian co-maintainer Kel Modderman.  About 10 days ago, I made
+a new upstream tarball with version number 2.87dsf (for Debian, SuSe
+and Fedora), based on the patches currently in use in these
+distributions.  We Debian maintainers plan to move to this tarball as
+the new upstream as soon as we find time to do the merge.  Since the
+new tarball was created, we agreed with Werner at SuSe to make a new
+upstream project at <a href="http://savannah.nongnu.org/">Savannah</a>, and continue
+development there.  The project is registered and currently waiting
+for approval by the Savannah administrators, and as soon as it is
+approved, we will import the old versions from svn and continue
+working on the future release.</p>
+
+<p>It is a bit ironic that this is done now, when some of the involved
+distributions are moving to upstart as a syvinit replacement.</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/nuug">nuug</a>.
+ </div>
+</div>
+<div class="padding"></div>
+
+<div class="entry">
+ <div class="title">
+ <a href="http://people.skolelinux.org/pere/blog/Debian_has_switched_to_dependency_based_boot_sequencing.html">Debian has switched to dependency based boot sequencing</a>
+ </div>
+ <div class="date">
+  2009-07-27 23:50
+ </div>
+
+ <div class="body">
+  
+<p>Since this evening, with the upload of sysvinit version 2.87dsf-2,
+and the upload of insserv version 1.12.0-10 yesterday, Debian unstable
+have been migrated to using dependency based boot sequencing.  This
+conclude work me and others have been doing for the last three days.
+It feels great to see this finally part of the default Debian
+installation.  Now we just need to weed out the last few problems that
+are bound to show up, to get everything ready for Squeeze.</p>
+
+<p>The next step is migrating /sbin/init from sysvinit to upstart, and
+fixing the more fundamental problem of handing the event based
+non-predictable kernel in the early boot.</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/nuug">nuug</a>.
+ </div>
+</div>
+<div class="padding"></div>
+
+<div class="entry">
+ <div class="title">
+ <a href="http://people.skolelinux.org/pere/blog/ISO_still_hope_to_fix_OOXML.html">ISO still hope to fix OOXML</a>
+ </div>
+ <div class="date">
+  2009-08-08 14:00
+ </div>
+
+ <div class="body">
+  
+<p>According to <a
+href="http://twerner.blogspot.com/2009/08/defects-of-office-open-xml.html">a
+blog post from Torsten Werner</a>, the current defect report for ISO
+29500 (ISO OOXML) is 809 pages.  His interesting point is that the
+defect report is 71 pages more than the full ODF 1.1 specification.
+Personally I find it more interesting that ISO still believe ISO OOXML
+can be fixed in ISO.  Personally, I believe it is broken beyon repair,
+and I completely lack any trust in ISO for being able to get anywhere
+close to solving the problems.  I was part of the Norwegian committee
+involved in the OOXML fast track process, and was not impressed with
+Standard Norway and ISO in how they handled it.</p>
+
+<p>These days I focus on ODF instead, which seem like a specification
+with the future ahead of it.  We are working in NUUG to organise a ODF
+seminar this autumn.</p>
+
+ </div>
+ <div class="tags">
+
+  Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>.
+ </div>
+</div>
+<div class="padding"></div>
+
+<div class="entry">
+ <div class="title">
+ <a href="http://people.skolelinux.org/pere/blog/Relative_popularity_of_document_formats__MS_Office_vs__ODF_.html">Relative popularity of document formats (MS Office vs. ODF)</a>
+ </div>
+ <div class="date">
+  2009-08-12 15:50
+ </div>
+
+ <div class="body">
+  
+<p>Just for fun, I did a search right now on Google for a few file ODF
+and MS Office based formats (not to be mistaken for ISO or ECMA
+OOXML), to get an idea of their relative usage.  I searched using
+'filetype:odt' and equvalent terms, and got these results:</P>
+
+<table>
+<tr><th>Type</th><th>ODF</th><th>MS Office</th></tr>
+<tr><td>Tekst</td> <td>odt:282000</td> <td>docx:308000</td></tr>
+<tr><td>Presentasjon</td> <td>odp:75600</td> <td>pptx:183000</td></tr>
+<tr><td>Regneark</td> <td>ods:26500    </td> <td>xlsx:145000</td></tr>
+</table>
+
+<p>Next, I added a 'site:no' limit to get the numbers for Norway, and
+got these numbers:</p>
+
+<table>
+<tr><th>Type</th><th>ODF</th><th>MS Office</th></tr>
+<tr><td>Tekst</td> <td>odt:2480        </td> <td>docx:4460</td></tr>
+<tr><td>Presentasjon</td> <td>odp:299  </td> <td>pptx:741</td></tr>
+<tr><td>Regneark</td> <td>ods:187      </td> <td>xlsx:372</td></tr>
+</table>
+
+<p>I wonder how these numbers change over time.</p>
+
+<p>I am aware of Google returning different results and numbers based
+on where the search is done, so I guess these numbers will differ if
+they are conduced in another country.  Because of this, I did the same
+search from a machine in California, USA, a few minutes after the
+search done from a machine here in Norway.</p>
+
+
+<table>
+<tr><th>Type</th><th>ODF</th><th>MS Office</th></tr>
+<tr><td>Tekst</td> <td>odt:129000</td> <td>docx:308000</td></tr>
+<tr><td>Presentasjon</td> <td>odp:44200</td> <td>pptx:93900</td></tr>
+<tr><td>Regneark</td> <td>ods:26500    </td> <td>xlsx:82400</td></tr>
+</table>
+
+<p>And with 'site:no':
+
+<table>
+<tr><th>Type</th><th>ODF</th><th>MS Office</th></tr>
+<tr><td>Tekst</td> <td>odt:2480</td> <td>docx:3410</td></tr>
+<tr><td>Presentasjon</td> <td>odp:175</td> <td>pptx:604</td></tr>
+<tr><td>Regneark</td> <td>ods:186      </td> <td>xlsx:296</td></tr>
+</table>
+
+<p>Interesting difference, not sure what to conclude from these
+numbers.</p>
+
+ </div>
+ <div class="tags">
+
+  Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>, <a href="http://people.skolelinux.org/pere/blog/tags/web">web</a>.
+ </div>
+</div>
+<div class="padding"></div>
+
+<div class="entry">
+ <div class="title">
+ <a href="http://people.skolelinux.org/pere/blog/Automatic_Munin_and_Nagios_configuration.html">Automatic Munin and Nagios configuration</a>
+ </div>
+ <div class="date">
+  2010-01-27 15:15
+ </div>
+
+ <div class="body">
+  
+<p>One of the new features in the next Debian/Lenny based release of
+Debian Edu/Skolelinux, which is scheduled for release in the next few
+days, is automatic configuration of the service monitoring system
+Nagios.  The previous release had automatic configuration of trend
+analysis using Munin, and this Lenny based release take that a step
+further.</p>
+
+<p>When installing a Debian Edu Main-server, it is automatically
+configured as a Munin and Nagios server.  In addition, it is
+configured to be a server for the
+<a href="http://wiki.debian.org/DebianEdu/HowTo/SiteSummary">SiteSummary
+system</a> I have written for use in Debian Edu.  The SiteSummary
+system is inspired by a system used by the University of Oslo where I
+work.  In short, the system provide a centralised collector of
+information about the computers on the network, and a client on each
+computer submitting information to this collector.  This allow for
+automatic information on which packages are installed on each machine,
+which kernel the machines are using, what kind of configuration the
+packages got etc.  This also allow us to automatically generate Munin
+and Nagios configuration.</p>
+
+<p>All computers reporting to the sitesummary collector with the
+munin-node package installed is automatically enabled as a Munin
+client and graphs from the statistics collected from that machine show
+up automatically on http://www/munin/ on the Main-server.</p>
+
+<p>All non-laptop computers reporting to the sitesummary collector are
+automatically monitored for network presence (ping and any network
+services detected).  In addition, all computers (also laptops) with
+the nagios-nrpe-server package installed and configured the way
+sitesummary would configure it, are monitored for full disks, software
+raid status, swap free and other checks that need to run locally on
+the machine.</p>
+
+<p>The result is that the administrator on a school using Debian Edu
+based on Lenny will be able to check the health of his installation
+with one look at the Nagios settings, without having to spend any time
+keeping the Nagios configuration up-to-date.</p>
+
+<p>The only configuration one need to do to get Nagios up and running
+is to set the password used to get access via HTTP.  The system
+administrator need to run "<tt>htpasswd /etc/nagios3/htpasswd.users
+nagiosadmin</tt>" to create a nagiosadmin user and set a password for
+it to be able to log into the Nagios web pages.  After that,
+everything is taken care of.</p>
+
+ </div>
+ <div class="tags">
+
+  Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
+ </div>
+</div>
+<div class="padding"></div>
+
+<div class="entry">
+ <div class="title">
+ <a href="http://people.skolelinux.org/pere/blog/Debian_Edu___Skolelinux_based_on_Lenny_released__work_continues.html">Debian Edu / Skolelinux based on Lenny released, work continues</a>
+ </div>
+ <div class="date">
+  2010-02-11 17:15
+ </div>
+
+ <div class="body">
+  
+<p>On Tuesday, the Debian/Lenny based version of
+<a href="http://www.skolelinux.org/">Skolelinux</a> was finally
+shipped.  This was a major leap forward for the project, and I am very
+pleased that we finally got the release wrapped up.  Work on the first
+point release starts imediately, as we plan to get that one out a
+month after the major release, to include all fixes for bugs we found
+and fixed too late in the release process to include last Tuesday.</p>
+
+<p>Perhaps it even is time for some partying?</p>
+
+<p>After this first point release, my plan is to focus again on the
+next major release, based on Squeeze.  We will try to get as many of
+the fixes we need into the official Debian packages before the freeze,
+and have just a few weeks or months to make it happen.</p>
+
+ </div>
+ <div class="tags">
+
+  Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
+ </div>
+</div>
+<div class="padding"></div>
+
+<div class="entry">
+ <div class="title">
+ <a href="http://people.skolelinux.org/pere/blog/After_6_years_of_waiting__the_Xreset_d_feature_is_implemented.html">After 6 years of waiting, the Xreset.d feature is implemented</a>
+ </div>
+ <div class="date">
+  2010-03-06 18:15
+ </div>
+
+ <div class="body">
+  
+<p>6 years ago, as part of the Debian Edu development I am involved
+in, I asked for a hook in the kdm and gdm setup to run scripts as root
+when the user log out.  A bug was submitted against the xfree86-common
+package in 2004 (<a href="http://bugs.debian.org/230422">#230422</a>),
+and revisited every time Debian Edu was working on a new release.
+Today, this finally paid off.</p>
+
+<p>The framework for this feature was today commited to the git
+repositry for the xorg package, and the git repository for xdm has
+been updated to use this framework.  Next on my agenda is to make sure
+kdm and gdm also add code to use this framework.</p>
+
+<p>In Debian Edu, we want to ability to run commands as root when the
+user log out, to get rid of runaway processes and do general cleanup
+after a user.  With this framework in place, we finally can do that in
+a generic way that work with all display managers using this
+framework.  My goal is to get all display managers in Debian use it,
+similar to how they use the Xsession.d framework today.<p>
+
+ </div>
+ <div class="tags">
+
+  Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
+ </div>
+</div>
+<div class="padding"></div>
+
+<div class="entry">
+ <div class="title">
+ <a href="http://people.skolelinux.org/pere/blog/Kerberos_for_Debian_Edu_Squeeze_.html">Kerberos for Debian Edu/Squeeze?</a>
+ </div>
+ <div class="date">
+  2010-04-14 17:20
+ </div>
+
+ <div class="body">
+  
+<p><a href="http://www.nuug.no/aktiviteter/20100413-kerberos/">Yesterdays
+NUUG presentation</a> about Kerberos was inspiring, and reminded me
+about the need to start using Kerberos in Skolelinux.  Setting up a
+Kerberos server seem to be straight forward, and if we get this in
+place a long time before the Squeeze version of Debian freezes, we
+have a chance to migrate Skolelinux away from NFSv3 for the home
+directories, and over to an architecture where the infrastructure do
+not have to trust IP addresses and machines, and instead can trust
+users and cryptographic keys instead.</p>
+
+<p>A challenge will be integration and administration.  Is there a
+Kerberos implementation for Debian where one can control the
+administration access in Kerberos using LDAP groups?  With it, the
+school administration will have to maintain access control using flat
+files on the main server, which give a huge potential for errors.</p>
+
+<p>A related question I would like to know is how well Kerberos and
+pam-ccreds (offline password check) work together.  Anyone know?</p>
+
+<p>Next step will be to use Kerberos for access control in Lwat and
+Nagios.  I have no idea how much work that will be to implement.  We
+would also need to document how to integrate with Windows AD, as such
+shared network will require two Kerberos realms that need to cooperate
+to work properly.</p>
+
+<p>I believe a good start would be to start using Kerberos on the
+skolelinux.no machines, and this way get ourselves experience with
+configuration and integration.  A natural starting point would be
+setting up ldap.skolelinux.no as the Kerberos server, and migrate the
+rest of the machines from PAM via LDAP to PAM via Kerberos one at the
+time.</p>
+
+<p>If you would like to contribute to get this working in Skolelinux,
+I recommend you to see the video recording from yesterdays NUUG
+presentation, and start using Kerberos at home.  The video show show
+up in a few days.</p>
+
+ </div>
+ <div class="tags">
+
+  Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
+ </div>
+</div>
+<div class="padding"></div>
+
+<div class="entry">
+ <div class="title">
+ <a href="http://people.skolelinux.org/pere/blog/Great_book___Content__Selected_Essays_on_Technology__Creativity__Copyright__and_the_Future_of_the_Future_.html">Great book: "Content: Selected Essays on Technology, Creativity, Copyright, and the Future of the Future"</a>
+ </div>
+ <div class="date">
+  2010-04-19 17:10
+ </div>
+
+ <div class="body">
+  
+<p>The last few weeks i have had the pleasure of reading a
+thought-provoking collection of essays by Cory Doctorow, on topics
+touching copyright, virtual worlds, the future of man when the
+conscience mind can be duplicated into a computer and many more. The
+book titled "Content: Selected Essays on Technology, Creativity,
+Copyright, and the Future of the Future" is available with few
+restrictions on the web, for example from
+<a href="http://craphound.com/content/">his own site</a>. I read the
+epub-version from
+<a href="http://www.feedbooks.com/book/2883">feedbooks</a> using
+<a href="http://www.fbreader.org/">fbreader</a> and my N810. I
+strongly recommend this book.</p>
+
+ </div>
+ <div class="tags">
+
+  Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett</a>, <a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet</a>, <a href="http://people.skolelinux.org/pere/blog/tags/web">web</a>.
+ </div>
+</div>
+<div class="padding"></div>
+
+<div class="entry">
+ <div class="title">
+ <a href="http://people.skolelinux.org/pere/blog/Thoughts_on_roaming_laptop_setup_for_Debian_Edu.html">Thoughts on roaming laptop setup for Debian Edu</a>
+ </div>
+ <div class="date">
+  2010-04-28 20:40
+ </div>
+
+ <div class="body">
+  
+<p>For some years now, I have wondered how we should handle laptops in
+Debian Edu.  The Debian Edu infrastructure is mostly designed to
+handle stationary computers, and less suited for computers that come
+and go.</p>
+
+<p>Now I finally believe I have an sensible idea on how to adjust
+Debian Edu for laptops, by introducing a new profile for them, for
+example called Roaming Workstations.  Here are my thought on this.
+The setup would consist of the following:</p>
+
+<ul>
+
+ <li>During installation, the user name of the owner / primary user of
+   the laptop is requested and a local home directory is set up for
+   the user, with uid and gid information fetched from the LDAP
+   server.  This allow the user to work also when offline.  The
+   central home directory can be available in a subdirectory on
+   request, for example mounted via CIFS.  It could be mounted
+   automatically when a user log in while on the Debian Edu network,
+   and unmounted when the machine is taken away (network down,
+   hibernate, etc), it can be set up to do automatic mounting on
+   request (using autofs), or perhaps some GUI button on the desktop
+   can be used to access it when needed.  Perhaps it is enough to use
+   the fish protocol in KDE?</li>
+
+ <li>Password checking is set up to use LDAP or Kerberos
+   authentication when the machine is on the Debian Edu network, and
+   to cache the password for offline checking when the machine unable
+   to reach the LDAP or Kerberos server.  This can be done using
+   <a href="http://www.padl.com/OSS/pam_ccreds.html">libpam-ccreds</a>
+   or the Fedora developed
+   <a href="https://fedoraproject.org/wiki/Features/SSSD">System
+   Security Services Daemon</a> packages.</li>
+
+ <li>File synchronisation with the central home directory is set up
+   using a shared directory in both the local and the central home
+   directory, using unison.</li>
+
+ <li>Printing should be set up to print to all printers broadcasting
+   their existence on the local network, and should then work out of
+   the box with CUPS.  For sites needing accurate printer quotas, some
+   system with Kerberos authentication or printing via ssh could be
+   implemented.</li>
+
+ <li>For users that should have local root access to their laptop,
+   sudo should be used to allow this to the local user.</li>
+
+ <li>It would be nice if user and group information from LDAP is
+   cached on the client, but given that there are entries for the
+   local user and primary group in /etc/, it should not be needed.</li>
+
+</ul>
+
+<p>I believe all the pieces to implement this are in Debian/testing at
+the moment.  If we work quickly, we should be able to get this ready
+in time for the Squeeze release to freeze.  Some of the pieces need
+tweaking, like libpam-ccreds should get support for pam-auth-update
+(<a href="http://bugs.debian.org/566718">#566718</a>) and nslcd (or
+perhaps debian-edu-config) should get some integration code to stop
+its daemon when the LDAP server is unavailable to avoid long timeouts
+when disconnected from the net.  If we get Kerberos enabled, we need
+to make sure we avoid long timeouts there too.</p>
+
+<p>If you want to help out with implementing this for Debian Edu,
+please contact us on debian-edu@lists.debian.org.</p>
+
+ </div>
+ <div class="tags">
+
+  Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
+ </div>
+</div>
+<div class="padding"></div>
+
+<div class="entry">
+ <div class="title">
+ <a href="http://people.skolelinux.org/pere/blog/Forcing_new_users_to_change_their_password_on_first_login.html">Forcing new users to change their password on first login</a>
+ </div>
+ <div class="date">
+  2010-05-02 13:47
+ </div>
+
+ <div class="body">
+  
+<p>One interesting feature in Active Directory, is the ability to
+create a new user with an expired password, and thus force the user to
+change the password on the first login attempt.</p>
+
+<p>I'm not quite sure how to do that with the LDAP setup in Debian
+Edu, but did some initial testing with a local account.  The account
+and password aging information is available in /etc/shadow, but
+unfortunately, it is not possible to specify an expiration time for
+passwords, only a maximum age for passwords.</p>
+
+<p>A freshly created account (using adduser test) will have these
+settings in /etc/shadow:</p>
+
+<blockquote><pre>
+root@tjener:~# chage -l test
+Last password change                                    : May 02, 2010
+Password expires                                        : never
+Password inactive                                       : never
+Account expires                                         : never
+Minimum number of days between password change          : 0
+Maximum number of days between password change          : 99999
+Number of days of warning before password expires       : 7
+root@tjener:~#
+</pre></blockquote>
+
+<p>The only way I could come up with to create a user with an expired
+account, is to change the date of the last password change to the
+lowest value possible (January 1th 1970), and the maximum password age
+to the difference in days between that date and today.  To make it
+simple, I went for 30 years (30 * 365 = 10950) and January 2th (to
+avoid testing if 0 is a valid value).</p>
+
+<p>After using these commands to set it up, it seem to work as
+intended:</p>
+
+<blockquote><pre>
+root@tjener:~# chage -d 1 test; chage -M 10950 test
+root@tjener:~# chage -l test
+Last password change                                    : Jan 02, 1970
+Password expires                                        : never
+Password inactive                                       : never
+Account expires                                         : never
+Minimum number of days between password change          : 0
+Maximum number of days between password change          : 10950
+Number of days of warning before password expires       : 7
+root@tjener:~#  
+</pre></blockquote>
+
+<p>So far I have tested this with ssh and console, and kdm (in
+Squeeze) login, and all ask for a new password before login in the
+user (with ssh, I was thrown out and had to log in again).</p>
+
+<p>Perhaps we should set up something similar for Debian Edu, to make
+sure only the user itself have the account password?</p>
+
+<p>If you want to comment on or help out with implementing this for
+Debian Edu, please contact us on debian-edu@lists.debian.org.</p>
+
+<p>Update 2010-05-02 17:20: Paul Tötterman tells me on IRC that the
+shadow(8) page in Debian/testing now state that setting the date of
+last password change to zero (0) will force the password to be changed
+on the first login.  This was not mentioned in the manual in Lenny, so
+I did not notice this in my initial testing.  I have tested it on
+Squeeze, and '<tt>chage -d 0 username</tt>' do work there.  I have not
+tested it on Lenny yet.</p>
+
+<p>Update 2010-05-02-19:05: Jim Paris tells me via email that an
+equivalent command to expire a password is '<tt>passwd -e
+username</tt>', which insert zero into the date of the last password
+change.</p>
+
+ </div>
+ <div class="tags">
+
+  Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet</a>.
+ </div>
+</div>
+<div class="padding"></div>
+
+ <p style="text-align: right;"><a href="english.rss"><img src="http://people.skolelinux.org/pere/blog/xml.gif" alt="RSS Feed" width="36" height="14"></a></p>
 
 
 
@@ -553,23 +1413,56 @@ now. :)</p>
 <h2>Archive</h2>
 <ul>
 
+<li>2010
+<ul>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2010/01/">January (2)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2010/02/">February (1)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2010/03/">March (3)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2010/04/">April (3)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2010/05/">May (1)</a></li>
+
+</ul></li>
+
 <li>2009
 <ul>
 
-<li><a href="../../archive/2009/01/">January (8)</a></li>
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2009/01/">January (8)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2009/02/">February (8)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2009/03/">March (12)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
 
-<li><a href="../../archive/2009/02/">February (8)</a></li>
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</a></li>
 
-<li><a href="../../archive/2009/03/">March (11)</a></li>
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2009/07/">July (4)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2009/08/">August (3)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2009/09/">September (1)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2009/10/">October (2)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2009/11/">November (3)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2009/12/">December (3)</a></li>
 
 </ul></li>
 
 <li>2008
 <ul>
 
-<li><a href="../../archive/2008/11/">November (5)</a></li>
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2008/11/">November (5)</a></li>
 
-<li><a href="../../archive/2008/12/">December (7)</a></li>
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2008/12/">December (7)</a></li>
 
 </ul></li>
 
@@ -580,43 +1473,53 @@ now. :)</p>
 <h2>Tags</h2>
 <ul>
 
- <li><a href="../../tags/3d-printer">3d-printer (9)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (11)</a></li>
+
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga">amiga (1)</a></li>
+
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/aros">aros (1)</a></li>
+
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (14)</a></li>
+
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (15)</a></li>
+
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (24)</a></li>
 
- <li><a href="../../tags/amiga">amiga (1)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (1)</a></li>
 
- <li><a href="../../tags/aros">aros (1)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (6)</a></li>
 
- <li><a href="../../tags/debian">debian (5)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (2)</a></li>
 
- <li><a href="../../tags/debian edu">debian edu (6)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (1)</a></li>
 
- <li><a href="../../tags/english">english (8)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
 
- <li><a href="../../tags/fiksgatami">fiksgatami (1)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (5)</a></li>
 
- <li><a href="../../tags/ltsp">ltsp (1)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (64)</a></li>
 
- <li><a href="../../tags/multimedia">multimedia (2)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (71)</a></li>
 
- <li><a href="../../tags/norsk">norsk (31)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (12)</a></li>
 
- <li><a href="../../tags/nuug">nuug (29)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (11)</a></li>
 
- <li><a href="../../tags/personvern">personvern (3)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap (10)</a></li>
 
- <li><a href="../../tags/reprap">reprap (9)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
 
- <li><a href="../../tags/rss">rss (1)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (7)</a></li>
 
- <li><a href="../../tags/standard">standard (1)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (11)</a></li>
 
- <li><a href="../../tags/stavekontroll">stavekontroll (1)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (1)</a></li>
 
- <li><a href="../../tags/video">video (5)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (10)</a></li>
 
- <li><a href="../../tags/vitenskap">vitenskap (1)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (1)</a></li>
 
- <li><a href="../../tags/web">web (2)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (6)</a></li>
 
 </ul>