]> pere.pagekite.me Git - homepage.git/blobdiff - blog/index.html
Generated.
[homepage.git] / blog / index.html
index a44b465fb9a888c5ff69758ff1959939c81e9ffa..d5244f69378f30b996b6ac55eac55137dfcea9dd 100644 (file)
@@ -3,15 +3,15 @@
 <html>
  <head>
   <title>Petter Reinholdtsen</title>
 <html>
  <head>
   <title>Petter Reinholdtsen</title>
-  <link rel="stylesheet" type="text/css" media="screen" href="style.css">
-  <link rel="alternate" title="RSS Feed" href="index.rss" type="application/rss+xml">
+  <link rel="stylesheet" type="text/css" media="screen" href="http://people.skolelinux.org/pere/blog/style.css">
+  <link rel="alternate" title="RSS Feed" href="http://people.skolelinux.org/pere/blog/index.rss" type="application/rss+xml">
 
  </head>
  <body>
 
  <div class="title">
   <h1>
 
  </head>
  <body>
 
  <div class="title">
   <h1>
-       <a href="">Petter Reinholdtsen</a>
+       <a href="http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen</a>
       
   </h1>
   
       
   </h1>
   
 
  
  <div class="entry">
 
  
  <div class="entry">
-  <div class="title"><a href="Fransk_idiotlovforslag_hinker_gjennom_parlamentet.html">Fransk idiotlovforslag hinker gjennom parlamentet</a></div>
-  <div class="date">2009-04-10 00:10</div>
+  <div class="title"><a href="http://people.skolelinux.org/pere/blog/Rob_Weir__How_to_Crush_Dissent.html">Rob Weir: How to Crush Dissent</a></div>
+  <div class="date">2010-08-15 22:20</div>
   <div class="body">
   <div class="body">
-<p><a href="http://www.dagbladet.no/2009/04/09/kultur/musikk/fildeling/tekno/5689356/">Dagbladet
-melder at det franske idiotforslaget om å kutte Internet-forbindelsen
-til alle som blir anklaget for å ha brutt opphavsretten 3 ganger</a>
-ble nedstemt i dag med 21 mot 15 stemmer.  Vinklingen i Dagbladet er
-litt merkelig når en vet at det samme forslaget ble vedtatt i
-parlamentets andre kammer med 12 mot 4 stemmer, etter at det
-<a href="http://opendotdotdot.blogspot.com/2009/04/hadopi-law-passed-by-12-votes-to-4.html">overraskende
-ble foreslått å ta saken opp til votering 22:45 sist torsdag</a>,
-etter sigende i strid med vanlige rutiner i det franske parlamentet.</p>
-
-<p>Det hele blir ennå mer komisk når et vet at
-<a href="http://www.zeropaid.com/news/10034/political_hypocrisy_french_president_sued_for_copyright_infringement/">presidentens
-parti er blitt anklaget for å ha brutt opphavsretten</a>.  Mon tro om
-partet skal miste internet-forbindelsen hvis de får 2 anklager til
-rettet mot seg.</p>
+<p>I found the notes from Rob Weir on
+<a href="http://feedproxy.google.com/~r/robweir/antic-atom/~3/VGb23-kta8c/how-to-crush-dissent.html">how
+to crush dissent</a> matching my own thoughts on the matter quite
+well.  Highly recommended for those wondering which road our society
+should go down.  In my view we have been heading the wrong way for a
+long time.</p>
 </div>
   <div class="tags">
    
 
    
 </div>
   <div class="tags">
    
 
    
-   Tags: <a href="tags/norsk">norsk</a>, <a href="tags/nuug">nuug</a>, <a href="tags/personvern">personvern</a>. 
+   Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</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>. 
   
   </div>
  </div>
  <div class="padding"></div>
  
  <div class="entry">
   
   </div>
  </div>
  <div class="padding"></div>
  
  <div class="entry">
-  <div class="title"><a href="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="title"><a href="http://people.skolelinux.org/pere/blog/No_hardcoded_config_on_Debian_Edu_clients.html">No hardcoded config on Debian Edu clients</a></div>
+  <div class="date">2010-08-09 20:15</div>
   <div class="body">
   <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>
+<p>As reported earlier, the last few days I have looked at how Debian
+Edu clients are configured, and tried to get rid of all hardcoded
+configuration settings on the clients.  I believe the work to be
+mostly done, and the clients seem to work just fine with dynamically
+generated configuration.</p>
+
+<p>What is the point, you might ask?  The point is to allow a Debian
+Edu desktop to integrate into an existing network infrastructure
+without any manual configuration.</p>
+
+<p>This is what happens when installing a Debian Edu client here at
+the University of Oslo using PXE.  With the PXE installation, I am
+asked for language (Norwegian Bokmål), locality (Norway) and keyboard
+layout (no-latin1), Debian Edu profile (Roaming Workstation), if I
+accept to reformat the hard drive (yes), if I want to submit info to
+popcon.debian.org (no) and root password (secret).  After answering
+these questions, the installer goes ahead and does its thing, and
+after around 50 minutes it is done.  I press enter to finish the
+installation, and the machine reboots into KDE.  When the machine is
+ready and kdm asks for login information, I enter my university
+username and password, am told by kdm that a local home directory has
+been created and that I must log in again, and finally log in with the
+same username and password to the KDE 4.4 desktop.  At no point during
+this process did it ask for university specific settings, and all the
+required configuration was dynamically detected using information
+fetched via DHCP and DNS.  The roaming workstation is now ready for
+use.</p>
+
+<p>How was this done, you might wonder?  First of all, here is the
+list of things that need to be configured on the client to get it
+working properly out of the box:</p>
+
+<ul>
+<li>IP address/netmask and DNS server.</li>
+<li>Web proxy URL.</li>
+<li>LDAP server for NSS directory information (user, group, etc).</li>
+<li>Kerberos server for PAM password checking.</li>
+<li>SMB mount point to access the network home directory. (*)</li>
+<li>Central syslog server to send syslog messages to. (*)</li>
+<li>Sitesummary collector URL to submit info to central server. (*)</li>
+</ul>
+
+<p>(Hm, did I forget anything?  Let me knew if I did.)</p>
+
+<p>The points marked (*) are not required to be able to use the
+machine, but needed to provide central storage and allowing system
+administrators to track their machines.  Since yesterday, everything
+but the sitesummary collector URL is dynamically discovered at boot
+and installation time in the svn version of Debian Edu.</p>
+
+<p>The IP and DNS setup is fetched during boot using DHCP as usual.
+When a DHCP update arrives, the proxy setup is updated by looking for
+http://wpat/wpad.dat and using the content of this WPAD file to
+configure the http and ftp proxy in /etc/environment and
+/etc/apt/apt.conf.  I decided to update the proxy setup using a DHCP
+hook to ensure that the client stops using the Debian Edu proxy when
+it is moved outside the Debian Edu network, and instead uses any local
+proxy present on the new network when it moves around.</p>
+
+<p>The DNS names of the LDAP, Kerberos and syslog server and related
+configuration are generated using DNS information at boot.  First the
+installer looks for a host named ldap in the current DNS domain.  If
+not found, it looks for _ldap._tcp SRV records in DNS instead.  If an
+LDAP server is found, its root DSE entry is requested and the
+attributes namingContexts and defaultNamingContext are used to
+determine which LDAP base to use for NSS.  If there are several
+namingContexts attibutes and the defaultNamingContext is present, that
+LDAP subtree is used as the base.  If defaultNamingContext is missing,
+the subtrees listed as namingContexts are searched in sequence for any
+object with class posixAccount or posixGroup, and the first one with
+such an object is used as the LDAP base.  For Kerberos, a similar
+search is done by first looking for a host named kerberos, and then
+for the _kerberos._tcp SRV record.  I've been unable to find a way to
+look up the Kerberos realm, so for this the upper case string of the
+current DNS domain is used.</p>
+
+<p>For the syslog server, the hosts syslog and loghost are searched
+for, and the _syslog._udp SRV record is consulted if no such host is
+found.  This algorithm works for both Debian Edu and the University of
+Oslo.  A similar strategy would work for locating the sitesummary
+server, but have not been implemented yet.  I decided to fetch and
+save these settings during installation, to make sure moving to a
+different network does not change the set of users being allowed to
+log in nor the passwords required to log in.  Usernames and passwords
+will be cached by sssd when the user logs in on the Debian Edu
+network, and will not change as the laptop move around.  For a
+non-roaming machine, there is no caching, but given that it is
+supposed to stay in place it should not matter much.  Perhaps we
+should switch those to use sssd too?</p>
+
+<p>The user's SMB mount point for the network home directory is
+located when the user logs in for the first time.  The LDAP server is
+consulted to look for the user's LDAP object and the sambaHomePath
+attribute is used if found.  If it isn't found, the home directory
+path fetched from NSS is used instead.  Assuming the path is of the
+form /site/server/directory/username, the second part is looked up in
+DNS and used to generate a SMB URL of the form
+smb://server.domain/username.  This algorithm works for both Debian
+edu and the University of Oslo.  Perhaps there are better attributes
+to use or a better algorithm that works for more sites, but this will
+do for now. :)</p>
+
+<p>This work should make it easier to integrate the Debian Edu clients
+into any LDAP/Kerberos infrastructure, and make the current setup even
+more flexible than before.  I suspect it will also work for thin
+client servers, allowing one to easily set up LTSP and hook it into a
+existing network infrastructure, but I have not had time to test this
+yet.</p>
+
+<p>If you want to help out with implementing these things for Debian
+Edu, please contact us on debian-edu@lists.debian.org.</p>
+
+<p>Update 2010-08-09: Simon Farnsworth gave me a heads-up on how to
+detect Kerberos realm from DNS, by looking for _kerberos TXT entries
+before falling back to the upper case DNS domain name.  Will have to
+implement it for Debian Edu. :)</p>
 </div>
   <div class="tags">
    
 
    
 </div>
   <div class="tags">
    
 
    
-   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/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>
  </div>
  <div class="padding"></div>
  
  <div class="entry">
-  <div class="title"><a href="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="title"><a href="http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html">Testing if a file system can be used for home directories...</a></div>
+  <div class="date">2010-08-08 21:20</div>
   <div class="body">
   <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>
+<p>A few years ago, I was involved in a project planning to use
+Windows file servers as home directory servers for Debian
+Edu/Skolelinux machines.  This was thought to be no problem, as the
+access would be through the SMB network file system protocol, and we
+knew other sites used SMB with unix and samba as the file server to
+mount home directories without any problems.  But, after months of
+struggling, we had to conclude that our goal was impossible.</p>
+
+<p>The reason is simply that while SMB can be used for home
+directories when the file server is Samba running on Unix, this only
+work because of Samba have some extensions and the fact that the
+underlying file system is a unix file system.  When using a Windows
+file server, the underlying file system do not have POSIX semantics,
+and several programs will fail if the users home directory where they
+want to store their configuration lack POSIX semantics.</p>
+
+<p>As part of this work, I wrote a small C program I want to share
+with you all, to replicate a few of the problematic applications (like
+OpenOffice.org and GCompris) and see if the file system was working as
+it should.  If you find yourself in spooky file system land, it might
+help you find your way out again.  This is the fs-test.c source:</p>
+
+<pre>
+/*
+ * Some tests to check the file system sematics.  Used to verify that
+ * CIFS from a windows server do not work properly as a linux home
+ * directory.
+ * License: GPL v2 or later
+ * 
+ * needs libsqlite3-dev and build-essential installed
+ * compile with: gcc -Wall -lsqlite3 -DTEST_SQLITE fs-test.c -o fs-test
+*/
+
+#define _FILE_OFFSET_BITS 64
+#define _LARGEFILE_SOURCE 1
+#define _LARGEFILE64_SOURCE 1
+
+#define _GNU_SOURCE /* for asprintf() */
+
+#include &lt;errno.h>
+#include &lt;fcntl.h>
+#include &lt;stdio.h>
+#include &lt;string.h>
+#include &lt;stdlib.h>
+#include &lt;sys/file.h>
+#include &lt;sys/stat.h>
+#include &lt;sys/types.h>
+#include &lt;unistd.h>
+
+#ifdef TEST_SQLITE
+/*
+ * Test sqlite open, as done by gcompris require the libsqlite3-dev
+ * package and linking with -lsqlite3.  A more low level test is
+ * below.
+ * See also &lt;URL: http://www.sqlite.org./faq.html#q5 >.
+ */
+#include &lt;sqlite3.h>
+#define CREATE_TABLE_USERS                                              \
+  "CREATE TABLE users (user_id INT UNIQUE, login TEXT, lastname TEXT, firstname TEXT, birthdate TEXT, class_id INT ); "
+int test_sqlite_open(void) {
+  char *zErrMsg;
+  char *name = "testsqlite.db";
+  sqlite3 *db=NULL;
+  unlink(name);
+  int rc = sqlite3_open(name, &db);
+  if( rc ){
+    printf("error: sqlite open of %s failed: %s\n", name, sqlite3_errmsg(db));
+    sqlite3_close(db);
+    return -1;
+  }
+
+  /* create tables */
+  rc = sqlite3_exec(db,CREATE_TABLE_USERS, NULL,  0, &zErrMsg);
+  if( rc != SQLITE_OK ){
+    printf("error: sqlite table create failed: %s\n", zErrMsg);
+    sqlite3_close(db);
+    return -1;
+  }
+  printf("info: sqlite worked\n");
+  sqlite3_close(db);
+  return 0;
+}
+#endif /* TEST_SQLITE */
+
+/*
+ * Demonstrate locking issue found in gcompris using sqlite3.  This
+ * work with ext3, but not with cifs server on Windows 2003.  This is
+ * done in the sqlite3 library.
+ * See also
+ * &lt;URL:http://www.cygwin.com/ml/cygwin/2001-08/msg00854.html> and the
+ * POSIX specification
+ * &lt;URL:http://www.opengroup.org/onlinepubs/009695399/functions/fcntl.html>.
+ */
+int test_gcompris_locking(void) {
+  struct flock fl;
+  char *name = "testsqlite.db";
+  unlink(name);
+  int fd = open(name, O_RDWR|O_CREAT|O_LARGEFILE, 0644);
+  printf("info: testing fcntl locking\n");
+
+  fl.l_whence = SEEK_SET;
+  fl.l_pid    = getpid();
+  printf("  Read-locking 1 byte from 1073741824");
+  fl.l_start  = 1073741824;
+  fl.l_len    = 1;
+  fl.l_type   = F_RDLCK;
+  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
+
+  printf("  Read-locking 510 byte from 1073741826");
+  fl.l_start  = 1073741826;
+  fl.l_len    = 510;
+  fl.l_type   = F_RDLCK;
+  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
+
+  printf("  Unlocking 1 byte from 1073741824");
+  fl.l_start  = 1073741824;
+  fl.l_len    = 1;
+  fl.l_type   = F_UNLCK;
+  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
+
+  printf("  Write-locking 1 byte from 1073741824");
+  fl.l_start  = 1073741824;
+  fl.l_len    = 1;
+  fl.l_type   = F_WRLCK;
+  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
+
+  printf("  Write-locking 510 byte from 1073741826");
+  fl.l_start  = 1073741826;
+  fl.l_len    = 510;
+  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
+
+  printf("  Unlocking 2 byte from 1073741824");
+  fl.l_start  = 1073741824;
+  fl.l_len    = 2;
+  fl.l_type   = F_UNLCK;
+  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
+
+  close(fd);
+  return 0;
+}
+
+/*
+ * Test if permissions of freshly created directories allow entries
+ * below them.  This was a problem with OpenOffice.org and gcompris.
+ * Mounting with option 'sync' seem to solve this problem while
+ * slowing down file operations.
+ */
+int test_subdirectory_creation(void) {
+#define LEVELS 5
+  char *path = strdup("test");
+  char *dirs[LEVELS];
+  int level;
+  printf("info: testing subdirectory creation\n");
+  for (level = 0; level &lt; LEVELS; level++) {
+    char *newpath = NULL;
+    if (-1 == mkdir(path, 0777)) {
+      printf("  error: Unable to create directory '%s': %s\n",
+            path, strerror(errno));
+      break;
+    }
+    asprintf(&newpath, "%s/%s", path, "test");
+    free(path);
+    path = newpath;
+  }
+  return 0;
+}
+
+/*
+ * Test if symlinks can be created.  This was a problem detected with
+ * KDE.
+ */
+int test_symlinks(void) {
+  printf("info: testing symlink creation\n");
+  unlink("symlink");
+  if (-1 == symlink("file", "symlink"))
+    printf("  error: Unable to create symlink\n");
+  return 0;
+}
+
+int main(int argc, char **argv) {
+  printf("Testing POSIX/Unix sematics on file system\n");
+  test_symlinks();
+  test_subdirectory_creation();
+#ifdef TEST_SQLITE
+  test_sqlite_open();
+#endif /* TEST_SQLITE */
+  test_gcompris_locking();
+  return 0;
+}
+</pre>
+
+<p>When everything is working, it should print something like
+this:</p>
+
+<pre>
+Testing POSIX/Unix sematics on file system
+info: testing symlink creation
+info: testing subdirectory creation
+info: sqlite worked
+info: testing fcntl locking
+  Read-locking 1 byte from 1073741824
+  Read-locking 510 byte from 1073741826
+  Unlocking 1 byte from 1073741824
+  Write-locking 1 byte from 1073741824
+  Write-locking 510 byte from 1073741826
+  Unlocking 2 byte from 1073741824
+</pre>
+
+<p>I do not remember the exact details of the problems we saw, but one
+of them was with locking, where if I remember correctly, POSIX allow a
+read-only lock to be upgraded to a read-write lock without unlocking
+the read-only lock (while Windows do not).  Another was a bug in the
+CIFS/SMB client implementation in the Linux kernel where directory
+meta information would be wrong for a fraction of a second, making
+OpenOffice.org fail to create its deep directory tree because it was
+not allowed to create files in its freshly created directory.</p>
+
+<p>Anyway, here is a nice tool for your tool box, might you never need
+it. :)</p>
 </div>
   <div class="tags">
    
 
    
 </div>
   <div class="tags">
    
 
    
-   Tags: <a href="tags/debian">debian</a>, <a href="tags/english">english</a>, <a href="tags/nuug">nuug</a>, <a href="tags/standard">standard</a>. 
+   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>
  </div>
  <div class="padding"></div>
  
  <div class="entry">
-  <div class="title"><a href="Returning_from_Skolelinux_developer_gathering.html">Returning from Skolelinux developer gathering</a></div>
-  <div class="date">2009-03-29 21:00</div>
+  <div class="title"><a href="http://people.skolelinux.org/pere/blog/Autodetecting_Client_setup_for_roaming_workstations_in_Debian_Edu.html">Autodetecting Client setup for roaming workstations in Debian Edu</a></div>
+  <div class="date">2010-08-07 14:45</div>
   <div class="body">
   <div class="body">
-<p>I'm sitting on the train going home from this weekends Debian
-Edu/Skolelinux development gathering.  I got a bit done tuning the
-desktop, and looked into the dynamic service location protocol
-implementation avahi.  It look like it could be useful for us.  Almost
-30 people participated, and I believe it was a great environment to
-get to know the Skolelinux system.  Walter Bender, involved in the
-development of the Sugar educational platform, presented his stuff and
-also helped me improve my OLPC installation.  He also showed me that
-his Turtle Art application can be used in standalone mode, and we
-agreed that I would help getting it packaged for Debian.  As a
-standalone application it would be great for Debian Edu.  We also
-tried to get the video conferencing working with two OLPCs, but that
-proved to be too hard for us.  The application seem to need more work
-before it is ready for me.  I look forward to getting home and relax
-now. :)</p>
+<p>A few days ago, I
+<a href="http://people.skolelinux.org/pere/blog/Debian_Edu_roaming_workstation___at_the_university_of_Oslo.html">tried
+to install</a> a Roaming workation profile from Debian Edu/Squeeze
+while on the university network here at the University of Oslo, and
+noticed how much had to change to get it operational using the
+university infrastructure.  It was fairly easy, but it occured to me
+that Debian Edu would improve a lot if I could get the client to
+connect without any changes at all, and thus let the client configure
+itself during installation and first boot to use the infrastructure
+around it.  Now I am a huge step further along that road.</p>
+
+<p>With our current squeeze-test packages, I can select the roaming
+workstation profile and get a working laptop connecting to the
+university LDAP server for user and group and our active directory
+servers for Kerberos authentication.  All this without any
+configuration at all during installation.  My users home directory got
+a bookmark in the KDE menu to mount it via SMB, with the correct URL.
+In short, openldap and sssd is correctly configured.  In addition to
+this, the client look for http://wpad/wpad.dat to configure a web
+proxy, and when it fail to find it no proxy settings are stored in
+/etc/environment and /etc/apt/apt.conf.  Iceweasel and KDE is
+configured to look for the same wpad configuration and also do not use
+a proxy when at the university network.  If the machine is moved to a
+network with such wpad setup, it would automatically use it when DHCP
+gave it a IP address.</p>
+
+<p>The LDAP server is located using DNS, by first looking for the DNS
+entry ldap.$domain.  If this do not exist, it look for the
+_ldap._tcp.$domain SRV records and use the first one as the LDAP
+server.  Next, it connects to the LDAP server and search all
+namingContexts entries for posixAccount or posixGroup objects, and
+pick the first one as the LDAP base.  For Kerberos, a similar
+algorithm is used to locate the LDAP server, and the realm is the
+uppercase version of $domain.</p>
+
+<p>So, what is not working, you might ask.  SMB mounting my home
+directory do not work.  No idea why, but suspected the incorrect
+Kerberos settings in /etc/krb5.conf and /etc/samba/smb.conf might be
+the cause.  These are not properly configured during installation, and
+had to be hand-edited to get the correct Kerberos realm and server,
+but SMB mounting still do not work. :(</p>
+
+<p>With this automatic configuration in place, I expect a Debian Edu
+roaming profile installation would be able to automatically detect and
+connect to any site using LDAP and Kerberos for NSS directory and PAM
+authentication.  It should also work out of the box in a Active
+Directory environment providing posixAccount and posixGroup objects
+with UID and GID values.</p>
+
+<p>If you want to help out with implementing these things for Debian
+Edu, please contact us on debian-edu@lists.debian.org.</p>
 </div>
   <div class="tags">
    
 
    
 </div>
   <div class="tags">
    
 
    
-   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 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>
  </div>
  <div class="padding"></div>
  
  <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></div>
-  <div class="date">2009-03-29 20:30</div>
+  <div class="title"><a href="http://people.skolelinux.org/pere/blog/Debian_Edu_roaming_workstation___at_the_university_of_Oslo.html">Debian Edu roaming workstation - at the university of Oslo</a></div>
+  <div class="date">2010-08-03 23:30</div>
   <div class="body">
   <div class="body">
-<p>The state of standardized LDAP schemas on Linux is far from
-optimal.  There is RFC 2307 documenting one way to store NIS maps in
-LDAP, and a modified version of this normally called RFC 2307bis, with
-some modifications to be compatible with Active Directory.  The RFC
-specification handle the content of a lot of system databases, but do
-not handle DNS zones and DHCP configuration.</p>
-
-<p>In <a href="http://www.skolelinux.org/">Debian Edu/Skolelinux</a>,
-we would like to store information about users, SMB clients/hosts,
-filegroups, netgroups (users and hosts), DHCP and DNS configuration,
-and LTSP configuration in LDAP.  These objects have a lot in common,
-but with the current LDAP schemas it is not possible to have one
-object per entity.  For example, one need to have at least three LDAP
-objects for a given computer, one with the SMB related stuff, one with
-DNS information and another with DHCP information.  The schemas
-provided for DNS and DHCP are impossible to combine into one LDAP
-object.  In addition, it is impossible to implement quick queries for
-netgroup membership, because of the way NIS triples are implemented.
-It just do not scale.  I believe it is time for a few RFC
-specifications to cleam up this mess.</p>
-
-<p>I would like to have one LDAP object representing each computer in
-the network, and this object can then keep the SMB (ie host key), DHCP
-(mac address/name) and DNS (name/IP address) settings in one place.
-It need to be efficently stored to make sure it scale well.</p>
-
-<p>I would also like to have a quick way to map from a user or
-computer and to the net group this user or computer is a member.</p>
-
-<p>Active Directory have done a better job than unix heads like myself
-in this regard, and the unix side need to catch up.  Time to start a
-new IETF work group?</p>
+<p>The new roaming workstation profile in Debian Edu/Squeeze is fairly
+similar to the laptop setup am I working on using Ubuntu for the
+University of Oslo, and just for the heck of it, I tested today how
+hard it would be to integrate that profile into the university
+infrastructure.  In this case, it is the university LDAP server,
+Active Directory Kerberos server and SMB mounting from the Netapp file
+servers.</p>
+
+<p>I was pleasantly surprised that the only three files needed to be
+changed (/etc/sssd/sssd.conf, /etc/ldap.conf and
+/etc/mklocaluser.d/20-debian-edu-config) and one file had to be added
+(/usr/share/perl5/Debian/Edu_Local.pm), to get the client working.
+Most of the changes were to get the client to use the university LDAP
+for NSS and Kerberos server for PAM, but one was to change a hard
+coded DNS domain name in the mklocaluser hook from .intern to
+.uio.no.</p>
+
+<p>This testing was so encouraging, that I went ahead and adjusted the
+Debian Edu scripts and setup in subversion to centralise the roaming
+workstation setup a bit more and avoid the hardcoded DNS domain name,
+so that when I test this tomorrow, I expect to get away with modifying
+only /etc/sssd/sssd.conf and /etc/ldap.conf to get it to use the
+university servers.</p>
+
+<p>My goal is to get the clients to have no hardcoded settings and
+fetch all their initial setup during installation and first boot, to
+allow them to be inserted also into environments where the default
+setup in Debian Edu has been changed or as with the university, where
+the environment is different but provides the protocols Debian Edu
+uses.</p>
 </div>
   <div class="tags">
    
 
    
 </div>
   <div class="tags">
    
 
    
-   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 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>
  </div>
  <div class="padding"></div>
  
  <div class="entry">
-  <div class="title"><a href="Hva_er_egentlig_en___pen_standard_.html">Hva er egentlig en åpen standard?</a></div>
-  <div class="date">2009-03-28 10:50</div>
+  <div class="title"><a href="http://people.skolelinux.org/pere/blog/Circular_package_dependencies_harms_apt_recovery.html">Circular package dependencies harms apt recovery</a></div>
+  <div class="date">2010-07-27 23:50</div>
   <div class="body">
   <div class="body">
-<p>Jeg møter alle slags interessante mennesker på min vei, og et møte
-jeg lærte mye av var å treffe på en svært kompetent IT-fyr som
-benektet ting jeg anser som åpenbart og selvfølgelig når det gjelder
-standarder.  Det var interessant, da det fikk meg til å tenke litt
-nøyere på hvilke mekanismer som ligger til grunn for at noe oppfattes
-som en standard.  Det hele startet med arbeid rundt integrering av NSS
-LDAP mot Active Directory, og problemer som oppstår pga. at Active
-Directory ikke følger LDAP-spesifikasjonen som dokumentert i RFCer fra
-IETF (konkret, AD returnerer kun et subset av attributter hvis det er
-mer enn 1500 atributter av en gitt type i et LDAP-objekt, og en må be
-om resten i bolker av 1500).  Jeg hevdet måten dette ble gjort på brøt
-med LDAP-spesifikasjonen, og henviste til hvor i LDAP-spesifikasjonen
-fra IETF det sto at oppførselen til AD ikke fulgte
-LDAP-spesifikasjonen.  AD-spesialisten overrasket meg da ved å
-fortelle at IETF var ikke de som definerte LDAP-spesifikasjonen, og at
-Active Directory ikke brøt den virkelige LDAP-spesifikasjonen som han
-mente lå til grunn.  Jeg ble spesielt overrasket over denne
-tilnærmingen til problemstillingen, da til og med Microsoft så vidt
-jeg kan se anerkjenner IETF som organisasjonen som definerer
-LDAP-spesifikasjonen.  Jeg fikk aldri spurt hvem han mente sto bak den
-egentlige LDAP-spesifikasjonen, da det var irrelevant for problemet vi
-måtte løse (få Linux og AD til å fungere sammen).  Dette møtet
-fortalte meg uansett at det ikke er gitt at alle aktører er enige om
-hva en standard er, og hva som er kilden til en gitt standard.  Det er
-vanskelig å enes om felles standarder før en først enes om hvem som
-bestemmer hva en gitt standard innebærer.</p>
-
-<p>Hva er så en standard?  I sin abstrakte form er det noe å samles
-om.  På engelsk er en av betydningene fane brukt i krig, du vet, den
-type fane en samlet seg rundt på kamplassen i riddertiden.  En
-standard definerer altså et felleskap, noen som har noe felles.  Det
-er naturligvis mange måter å utgjøre et felleskap på.  En kan
-f.eks. enes om å gjøre alt slik som Ole gjør det, og dermed si at Oles
-oppførsel er standard.  Hver gang Ole endrer oppførsel endrer også
-standarden seg uten noe mer organisering og prosedyre.  En variant av
-dette er å gjøre slik som Ole har gjort det i stedet for slik Ole til
-enhver til gjør noe.  Dette er ofte litt enklere å forholde seg til,
-da en slipper å sjekke med Ole hver gang for å vite hvordan ting skal
-gjøres nå, men hvis det Ole gjorde noe dumt den gang en bestemte seg
-for å følge Ole, så er det vanskeligere å få endret oppførsel for å
-unngå dette dumme.</p>
-
-<p>En kan også ta det et skritt videre, og istedet for å basere seg på
-enkeltpersoners oppførsel sette seg ned og bli enige om hvordan en
-skal gjøre ting, dvs. lage et felleskap basert på konsensus.  Dette
-tar naturligvis litt mer tid (en må diskutere ting i forkant før en
-kan sette igang), men det kan bidra til at den oppførselen en
-planlegger å benytte seg av er mer gjennomtenkt.  Det ender også
-typisk opp med en beskrivelse av ønsket oppførsel som flere kan forstå
-- da flere har vært involvert i å utarbeide beskrivelsen.</p>
-
-<p>Dette er dessverre ikke alt som trengs for å forstå hva en åpen
-standard er for noe.  Der alle kan se på hvordan folk oppfører seg, og
-dermed har valget om de vil oppføre seg likt eller ikke, så er det
-endel juridiske faktorer som gjør det hele mer komplisert -
-opphavsretten og patentlovgivningen for å være helt konkret.  For å gi
-et eksempel. Hvis noen blir enige om å alltid plystre en bestemt
-melodi når de møtes, for å identifisere hverandre, så kan
-opphavsretten brukes til å styre hvem som får lov til å gjøre dette.
-De har standardisert hvordan de kjenner igjen alle som følger denne
-standarden, men ikke alle har nødvendigvis lov til å følge den.
-Musikk er opphavsrettsbeskyttet, og fremføring av musikk i
-offentligheten er opphavsmannens enerett (dvs. et monopol).  Det vil i
-sin ytterste konsekvens si at alle som skal plystre en
-opphavsrettsbeskyttet melodi i det offentlige rom må ha godkjenning
-fra opphavsmannen.  Har en ikke dette, så bryter en loven og kan
-straffes.  Det er dermed mulig for opphavsmannen å kontrollere hvem
-som får lov til å benytte seg av denne standarden.  En annen variant
-er hvis en standard er dokumentert, så er dokumentet som definerer
-standarden (spesifikasjonen) beskyttet av opphavsretten, og det er
-dermed mulig for rettighetsinnehaver å begrense tilgang til
-spesifikasjonen, og slik styre hvem som kan ta i bruk standarden på
-den måten.</p>
-
-<p>Der opphavsretten innvilger et monopol på kunstneriske uttrykk med
-verkshøyde, innvilger patentlovgivningen monopol på ideer.  Hvis en
-slik patentert idé (fortrinnsvis uttrykt i en teknisk innretning, men
-det er kompliserende faktorer som gjør at det ikke er et krav) trengs
-for å ta i bruk en standard, så vil den som innehar patent kunne styre
-hvem som får ta i bruk standarden.  Det er dermed ikke gitt at alle
-kan delta i et standard-felleskap, og hvis de kan delta, så er det
-ikke sikkert at det er på like vilkår.  F.eks. kan rettighetsinnehaver
-sette vilkår som gjør at noen faller utenfor, det være seg av
-finansielle, avtalemessige eller prinsipielle årsaker.  Vanlige slike
-vilkår er "må betale litt for hver kunde/bruker" som utelukker de som
-gir bort en løsning gratis og "må gi fra seg retten til å håndheve
-sine egne patentrettigheter ovenfor rettighetshaver" som utelukker
-alle som ønsker å beholde den muligheten.</p>
-
-<p>En åpen standard innebærer for meg at alle kan få innsikt i en
-komplett beskrivelse av oppførsel som standarden skal dekke, og at
-ingen kan nektes å benytte seg av standarden.  Noen mener at det
-holder at alle med tilstrekkelig finansiering kan få tilgang til
-spesifikasjonen og at en kun har finansielle krav til bruk.
-Pga. denne konflikten har et nytt begrep spredt seg de siste årene,
-nemlig fri og åpen standard, der en har gjort det klart at alle må ha
-komplett og lik tilgang til spesifikasjoner og retten til å gjøre bruk
-av en standard for at en standard skal kunne kalles fri og åpen.</p>
+<p>I discovered this while doing
+<a href="http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html">automated
+testing of upgrades from Debian Lenny to Squeeze</a>.  A few packages
+in Debian still got circular dependencies, and it is often claimed
+that apt and aptitude should be able to handle this just fine, but
+some times these dependency loops causes apt to fail.</p>
+
+<p>An example is from todays
+<a href="http://people.skolelinux.org/~pere/debian-upgrade-testing//test-20100727-lenny-squeeze-kde-aptitude.txt">upgrade
+of KDE using aptitude</a>.  In it, a bug in kdebase-workspace-data
+causes perl-modules to fail to upgrade.  The cause is simple.  If a
+package fail to unpack, then only part of packages with the circular
+dependency might end up being unpacked when unpacking aborts, and the
+ones already unpacked will fail to configure in the recovery phase
+because its dependencies are unavailable.</p>
+
+<p>In this log, the problem manifest itself with this error:</p>
+
+<blockquote><pre>
+dpkg: dependency problems prevent configuration of perl-modules:
+ perl-modules depends on perl (>= 5.10.1-1); however:
+  Version of perl on system is 5.10.0-19lenny2.
+dpkg: error processing perl-modules (--configure):
+ dependency problems - leaving unconfigured
+</pre></blockquote>
+
+<p>The perl/perl-modules circular dependency is already
+<a href="http://bugs.debian.org/527917">reported as a bug</a>, and will
+hopefully be solved as soon as possible, but it is not the only one,
+and each one of these loops in the dependency tree can cause similar
+failures.  Of course, they only occur when there are bugs in other
+packages causing the unpacking to fail, but it is rather nasty when
+the failure of one package causes the problem to become worse because
+of dependency loops.</p>
+
+<p>Thanks to
+<a href="http://lists.debian.org/debian-devel/2010/06/msg00116.html">the
+tireless effort by Bill Allombert</a>, the number of circular
+dependencies
+<a href="http://debian.semistable.com/debgraph.out.html">left in Debian
+is dropping</a>, and perhaps it will reach zero one day. :)</p>
+
+<p>Todays testing also exposed a bug in
+<a href="http://bugs.debian.org/590605">update-notifier</a> and
+<a href="http://bugs.debian.org/590604">different behaviour</a> between
+apt-get and aptitude, the latter possibly caused by some circular
+dependency.  Reported both to BTS to try to get someone to look at
+it.</p>
 </div>
   <div class="tags">
    
 
    
 </div>
   <div class="tags">
    
 
    
-   Tags: <a href="tags/norsk">norsk</a>, <a href="tags/nuug">nuug</a>, <a href="tags/standard">standard</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/nuug">nuug</a>. 
   
   </div>
  </div>
  <div class="padding"></div>
  
  <div class="entry">
   
   </div>
  </div>
  <div class="padding"></div>
  
  <div class="entry">
-  <div class="title"><a href="Vitenskapens_dogmer___.html">Vitenskapens dogmer...</a></div>
-  <div class="date">2009-03-27 11:30</div>
+  <div class="title"><a href="http://people.skolelinux.org/pere/blog/First_Debian_Edu_test_release__alpha0__based_on_Squeeze_is_released.html">First Debian Edu test release (alpha0) based on Squeeze is released</a></div>
+  <div class="date">2010-07-27 17:45</div>
   <div class="body">
   <div class="body">
-<p>Handspåleggere og andre tilhengere av ikke-etterprøvbar medisin,
-samt de som mener at verden ikke utviklet seg i henhold til
-evolusjonsteorien, hevder ofte at vitenskapen er dogmatisk og at
-vitenskapsfolk velger å ignorere alt vitenskapsfolk ikke kan
-forklare.  Intet kunne være lenger fra sannheten.  En interessant
-observasjon dog, er hvilke "dogmer" som ligger til grunn for
-vitenskapen.  Her er et forsøk på å nevne noen av de grunnleggende
-antagelsene som legges til grunn.</p>
-
-<p>Først og fremst ligger det til grunn en tro om at verden,
-verdensrommet og universet har de samme egenskapene overalt.  Dvs. at
-en ikke tror at virkeligheten oppfører seg forskjellig f.eks. på
-jorden og i verdensrommet.  Dette er ingen selvfølgelig antagelse, da
-f.eks. de gamle grekerne antok at virkeligheten var forskjellig på
-jorden og i himmelen.  Antagelsen om at virkeligheten oppfører seg
-etter de samme "reglene" overalt skjøt først fart etter
-middelalderen.</p>
-
-<p>Når en så har begynt å tro at virkeligheten oppfører seg likt
-overalt, så kan en begynne å tro at det er mulig å observere
-virkeligheten, og ut fra observasjoner kunne finne en forklaring, et
-sett med "regler", som kan brukes til å forutse hva som kommer til å
-skje i fremtiden basert på observasjoner gjort i fortiden.  Eksempler
-på dette er at en kan beregne hvor lang tid en sten som er sluppet
-ned fra et hus vil bruke før den treffer bakken (og ikke tror at den
-i noen tilfeller vil fly oppover i stedet for nedover).  En kan altså
-lage en mental modell over sammenhenger i virkeligheten, og bruke
-denne modellen til å, enten ved hjelp av logiske argumentasjonsrekker
-eller matematiske beregninger, forklare hva som kommer til å skje.
-Hvis modellen viser seg å fungere bra for observasjoner i dag, så
-kan en på tilsvarende vis beregne eller logisk sette sammen hva som
-har foregått i fortiden som ledet frem til det vi kan observere i
-dag.</p>
-
-<p>Sist, men ikke minst, så tror vitenskapsfolk på at det er mulig
-å observere virkeligheten, og å tro på disse observasjonene
-(innenfor rimelig feilmargin som følger av måten observasjonen er
-gjort på).  En tror altså ikke på at noen bakenfor virkeligheten
-forsøker å lure oss til å observere noe som ikke eksisterer.  Det
-er naturligvis umulig (eller kanskje til nød svært vanskelig) å
-motbevise at vi lever i Matrix-aktige omgivelser, der vi observerer
-noe som eksisterer kun som en simulering i datamaskiner.  Det at noe
-er umulig å motbevise gjør dog ikke at det blir spesielt interessant
-å ta utgangspunkt i.  Det er antagelig ikke grenser for hvor mange
-måter det er mulig å tenke seg at vi blir lurt til å oppleve en
-virkelighet som "egentlig" ikke eksisterer, men i og med at den
-eksisterer for oss, så er det i hovedsak et filosofisk spørsmål om
-hva det betyr å eksistere.  Det er ikke spesielt relevant for
-vitenskapen, som altså tar utgangspunkt i at den virkeligheten vi
-observerer eksisterer, virker likt overalt, og kan forstås med logikk
-og matematikk.</p>
-
-<p>Det kan virke som om de som hevder at vitenskapen er ute av stand
-til å ta inn over seg Snåsamannens evner, homeopatiske
-forklaringsmodeller og en skapende gud, ikke tror på det samme som
-vitenskapsfolk.  De kan ikke tro at den virkeligheten vi observerer
-eksisterer, virker likt overalt, og kan forstås med logikk og
-matematikk.  Mitt problem med å tro på på det samme, er at hvis
-disse forutsetningene ikke ligger til grunn, så er det ingen grenser
-for hva en kan komme opp med av ideer til hvordan virkeligheten
-fungerer.  Både Harry Potters magi, kreasjonistenes allmektige
-skaper, det flygende spagettimonsteret, Snåsamannens helbredelser,
-Haitis voodo, samenes ganding og middelalderens hekserier blir like
-gyldige.  Jeg tror ikke noen av disse er spesielt sannsynlige, og
-velger derfor å ta utgangspunkt i vitenskapens rammer for hvordan
-virkeligheten skal forstås.  For å sitere en reklamekampanje fra
-England: Vitenskap sender deg til månen.  Religion sender deg inn i
-skyskrapere.  Takke meg til en tur til månen.</p>
+<p>I just posted this announcement culminating several months of work
+with the next Debian Edu release.  Not nearly done, but one major step
+completed.</p>
+
+<blockquote>
+<p>This is the first test release based on Squeeze. The focus of this
+release is to test the user application selection. To have a look,
+install the standalone profile and let the developers know if the set
+of installed packages i.e. applications should be modified. If some
+user application is missing, or if there are some applications that no
+longer make sense to be included in Debian Edu, please let us know.
+Also, if a useful application is missing the translation for your
+language of choice, please let us know too.</p>
+
+<p>In addition, feedback and help to polish the desktop (menus,
+artwork, starters, etc.) is appreciated. We would like to ship a nice
+and handy KDE4 desktop targeted for schools out of the box.</p>
+
+<p>The other profiles should be installable, but there is a lot more
+work left to be done before they are ready, so do not expect to
+much.</p>
+
+<p>Changes compared to the lenny based version</p>
+
+<ul>
+<li>Everything from Debian Squeeze
+<ul>
+  <li>Desktop environment KDE 4.4 => the new KDE desktop in
+         combination with some new artwork
+  <li>Web browser Iceweasel 3.5
+  <li>OpenOffice.org 3.2
+  <li>Educational toolbox GCompris 9.3
+  <li>Music creator Rosegarden 10.04.2
+  <li>Image editor Gimp 2.6.10
+  <li>Virtual universe Celestia 1.6.0
+  <li>Virtual stargazer Stellarium 0.10.4
+  <li>3D modeler Blender 2.49.2 (new application)
+  <li>Video editor Kdenlive 0.7.7 (new application)
+</ul></li>
+<li>Now using Kerberos for password checking (migration not finished).
+    Enabled for:
+<ul>
+  <li>PAM
+  <li>LDAP
+  <li>IMAP
+  <li>SMTP (sender verification)
+</ul>
+</li>
+<li>New experimental roaming workstation profile for laptops.</li>
+<li>Show welcome page to users when they first log in. The URL is
+    fetched from LDAP.</li>
+<li>New LXDE desktop option, in addition to KDE (default) and Gnome.</li>
+<li>General cleanup (not finished)</li>
+</ul>
+<p>The following features are not working as they should</p>
+
+<ul>
+<li>No web based administration tool for creating users and groups. The
+    scripts ldap-createuser-krb and ldap-add-user-to-group can be used
+    for testing.</li>
+<li>DVD installs are missing debian-installer images for the PXE boot,
+    and do not set up the PXE menu on eth0 because of this. LTSP
+    clients should still boot from eth1 on thin client servers.</li>
+<li>The restructured KDE menu is not implemented.</li>
+<li>The LDAP server setup need to be reviewed for security.</li>
+<li>The LDAP directory structure need to be reworked.</li>
+<li>Different sets of packages are installed when using the DVD and the
+    netinst CD. More packages are installed using the netinst CD.</li>
+<li>The jackd package fail to install. This is believed to be caused by
+    some ongoing transition, and hopefully should be solved soon. The
+    jackd1 package can be installed manually for those that need it.</li>
+<li>Some packages lack translations. See
+    http://wiki.debian.org/DebianEdu/Status/Squeeze for updated status,
+    and help out with translations.</li>
+</ul>
+
+<p>To download this multiarch netinstall release you can use</p>
+
+<ul>
+<li><a href="ftp://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-CD.iso">ftp://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-CD.iso</a></li>
+<li><a href="http://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-CD.iso">http://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-CD.iso</a></li>
+<li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-CD.iso</li>
+</ul>
+<p>To download this multiarch dvd release you can use</p>
+
+<ul>
+<li><a href="ftp://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-DVD.iso">ftp://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-DVD.iso</a></li>
+<li><a href="http://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-DVD.iso">http://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-DVD.iso</a></li>
+<li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-DVD.iso</li>
+</ul>
+
+<p>There is no source DVD available yet. It will be prepared when we
+get closer to the final release.</p>
+
+<p>The MD5SUM of these images are</p>
+
+<ul>
+<li>3dbf45d59f42a53518b6e3c9ec3b5eb6 debian-edu-6.0.0+edua0-CD.iso</li>
+<li>22f2cbfce281d1c6e478be452638675d debian-edu-6.0.0+edua0-DVD.iso</li>
+</ul>
+
+<p>The SHA1SUM of these images are</p>
+<ul>
+<li>c53d1b69b40cf37cd27aefaf33f6f6a3821bedf0 debian-edu-6.0.0+edua0-CD.iso</li>
+<li>2ec29d7db676d59d32197b05c277ffe16348376c debian-edu-6.0.0+edua0-DVD.iso</li>
+</ul>
+<p>How to report bugs:
+http://wiki.debian.org/DebianEdu/HowTo/ReportBugsInBugzilla</p>
+
+<p>Please direct replies to debian-edu@lists.debian.org</p>
+</blockquote>
 </div>
   <div class="tags">
    
 
    
 </div>
   <div class="tags">
    
 
    
-   Tags: <a href="tags/norsk">norsk</a>, <a href="tags/vitenskap">vitenskap</a>. 
+   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>
  </div>
  <div class="padding"></div>
  
  <div class="entry">
-  <div class="title"><a href="F__rste_reprap_integreringsfors__k___Z_aksen_beveger_seg.html">Første reprap-integreringsforsøk - Z-aksen beveger seg</a></div>
-  <div class="date">2009-03-19 22:15</div>
+  <div class="title"><a href="http://people.skolelinux.org/pere/blog/One_step_closer_to_single_signon_in_Debian_Edu.html">One step closer to single signon in Debian Edu</a></div>
+  <div class="date">2010-07-25 10:00</div>
   <div class="body">
   <div class="body">
-<p>I går tok jeg mot til meg, og løste problemet med
-z-aksen ved å borre i delen som manglet feste mot tannjulet som
-skal drive z-aksereimen.  Dermed var det klart for å montere
-z-akse-akslingen på motoren og komme et steg videre med
-reprap-monteringen.  Prøvekjørte den i dag med
-testprogrammet til stepmotoren, og kunne glad konstatere at det hele
-fungerte.  I hvert fall når stepmotoren ikke forsøkte
-å snurre for raskt rundt.  Ved høy hastighet roterte
-ikke akslingen i det hele tatt.  Motoren ble bare stående
-å vibrere.  Usikker på hvorfor, men antar motoren ikke
-har nok kraft til å få hele akslingen til å
-rotere så raskt.  Denne øvelsen avslørte dog et
-annet problem med monteringen så langt.  Under testingen
-begynte skruer og muttere å ry ned fra ulike deler av
-reprap-konstruksjonen.  Jeg har ikke skrudd alt hard nok sammen til
-å tåle slike vibrasjoner.  Tror en 5-6 skruver og/eller
-muttere løsnet.  Brukte ganske lang tid på å
-finne ut hvor det manglet deler og skru ting sammen igjen.  Antar alt
-må strammes skikkelig til før første
-utskrift.</p>
-
-<p>Neste steg er å få laget z-aksebåndet.  Der trenger jeg
-egnet lim og en konstruksjon for å klemme bandet sammen under
-limingen, som
-<a href="http://reprap.org/bin/view/Main/AssemblingDarwinMachinery#Z_belt">beskrevet
-på reprap-wikien</a>.  Er blitt tipset om svart superlim som er
-elastisk også etter at det tørket, og dro ned til Small Size
-Hobbyland på Lilletorget som skulle ha slikt, men da jeg var innom
-fikk jeg høre at de ikke lenger hadde slikt lim.  Må finne ut
-hvor i Oslo jeg kan skaffe slikt.  Kanskje Panduro har?  Vet ikke hva
-limet egentlig heter, så det er vanskelig å søke på nett.</p>
+<p>The last few months me and the other Debian Edu developers have
+been working hard to get the Debian/Squeeze based version of Debian
+Edu/Skolelinux into shape.  This future version will use Kerberos for
+authentication, and services are slowly migrated to single signon,
+getting rid of password questions one at the time.</p>
+
+<p>It will also feature a roaming workstation profile with local home
+directory, for laptops that are only some times on the Skolelinux
+network, and for this profile a shortcut is created in Gnome and KDE
+to gain access to the users home directory on the file server.  This
+shortcut uses SMB at the moment, and yesterday I had time to test if
+SMB mounting had started working in KDE after we added the cifs-utils
+package.  I was pleasantly surprised how well it worked.</p>
+
+<p>Thanks to the recent changes to our samba configuration to get it
+to use Kerberos for authentication, there were no question about user
+password when mounting the SMB volume.  A simple click on the shortcut
+in the KDE menu, and a window with the home directory popped
+up. :)</p>
+
+<p>One step closer to a single signon solution out of the box in
+Debian Edu.  We already had PAM, LDAP, IMAP and SMTP in place, and now
+also Samba.  Next step is Cups and hopefully also NFS.</p>
+
+<p>We had planned a alpha0 release of Debian Edu for today, but thanks
+to the autobuilder administrators for some architectures being slow to
+sign packages, we are still missing the fixed LTSP package we need for
+the release.  It was uploaded three days ago with urgency=high, and if
+it had entered testing yesterday we would have been able to test it in
+time for a alpha0 release today.  As the binaries for ia64 and powerpc
+still not uploaded to the Debian archive, we need to delay the alpha
+release another day.</p>
+
+<p>If you want to help out with implementing Kerberos for Debian Edu,
+please contact us on debian-edu@lists.debian.org.</p>
 </div>
   <div class="tags">
    
 
    
 </div>
   <div class="tags">
    
 
    
-   Tags: <a href="tags/3d-printer">3d-printer</a>, <a href="tags/norsk">norsk</a>, <a href="tags/nuug">nuug</a>, <a href="tags/reprap">reprap</a>. 
+   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>
  
  <div class="entry">
   
   </div>
  </div>
  <div class="padding"></div>
  
  <div class="entry">
-  <div class="title"><a href="Avisene_i_endring.html">Avisene i endring</a></div>
-  <div class="date">2009-03-15 22:15</div>
+  <div class="title"><a href="http://people.skolelinux.org/pere/blog/Digitale_restriksjonsmekanismer_fikk_meg_til____slutte____kj__pe_musikk.html">Digitale restriksjonsmekanismer fikk meg til å slutte å kjøpe musikk</a></div>
+  <div class="date">2010-07-22 23:50</div>
   <div class="body">
   <div class="body">
-<p>Jeg kom over bloggposten
-"<a href="http://www.shirky.com/weblog/2009/03/newspapers-and-thinking-the-unthinkable/">Newspapers
-and Thinking the Unthinkable</a>" som jeg synes forklarer godt hva som
-skjer med aviser, og fikk meg til å tenke litt rundt andre utdøende
-forretningsmodeller basert på å løse problemer som ikke lenger
-eksisterer.  Det blir spennende å se hva vi ender opp med.</p>
+<p>For mange år siden slutte jeg å kjøpe musikk-CDer. Årsaken var at
+musikkbransjen var godt i gang med å selge platene sine med DRM som
+gjorde at jeg ikke fikk spilt av musikken jeg kjøpte på utstyret jeg
+hadde tilgjengelig, dvs. min datamaskin. Det var umulig å se på en
+plate om den var ødelagt eller ikke, og jeg hadde jo allerede en
+anseelig samling med plater, så jeg bestemme meg for å slutte å gi
+penger til en bransje som åpenbart ikke respekterte meg.</p>
+
+<p>Jeg har mange titalls dager med musikk på CD i dag. Det meste er
+lagt i et stort arkiv som kan spilles av fra husets datamaskiner (har
+ikke rukket rippe alt). Jeg ser dermed ikke behovet for å skaffe mer
+musikk. De fleste av mine favoritter er i hus, og jeg er dermed godt
+fornøyd.</p>
+
+<p>Hvis musikkbransjen ønsker mine penger, så må de demonstrere at de
+setter pris på meg som kunde, og ikke skremme meg bort med DRM og
+antydninger om at kundene er kriminelle.</p>
+
+<p>Filmbransjen er like ille, men mens musikk gjerne varer lenge, er
+filmer mer ferskvare. Har dermed ikke helt sluttet å kjøpe filmer, men
+holder meg til DVD-filmer som kan spilles av på mine Linuxbokser.
+Kommer neppe til å ta i bruk Blueray, og ei heller de nye DRM-greiene
+«Ultraviolet» som be annonsert her om dagen.</p>
 </div>
   <div class="tags">
    
 
    
 </div>
   <div class="tags">
    
 
    
-   Tags: <a href="tags/norsk">norsk</a>, <a href="tags/nuug">nuug</a>. 
+   Tags: <a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling</a>, <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</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>. 
   
   </div>
  </div>
  <div class="padding"></div>
  
  <div class="entry">
   
   </div>
  </div>
  <div class="padding"></div>
  
  <div class="entry">
-  <div class="title"><a href="En_skam_at_det_ikke_finnes_ordrett_referat_fra_norske_domstoler.html">En skam at det ikke finnes ordrett referat fra norske domstoler</a></div>
-  <div class="date">2009-03-13 18:00</div>
+  <div class="title"><a href="http://people.skolelinux.org/pere/blog/OpenStreetmap_one_step_closer_to_having_routing_on_its_front_page.html">OpenStreetmap one step closer to having routing on its front page</a></div>
+  <div class="date">2010-07-18 16:45</div>
   <div class="body">
   <div class="body">
-<p>Advokatene jobber i disse dager hardt for å bli kvitt juryordningen
-fra norske domstoler.  Det har de forsåvidt jobbet med i mange år.
-Personlig tror jeg det er å starte i feil ende, og en dårlig ide.</p>
-
-<p>Visst du at det ikke lages ordrett referat fra norske domstoler?
-Det er ingen som skriver ned alt som sies i en norsk rettsal slik en
-ser i TV-serier fra USA.  Det som publiseres er dommerens
-oppsummering, og alt som ikke blir med i den oppsummeringen er det
-vanskelig å få dokumentert i ettertid.  Konsekvensen er at en kan
-lyve så mye en vil fra vitneboksen uten å bli tatt for det i
-ettertid, hvis dommeren ikke syntes det som ble sagt var så
-interessant at det ble med i dokumentet som dokumenterer
-domsavsigelsen.  Mens alt som sies fra Stortingets talerstol er
-tilgjengelig på web etter kort tid for kontroll og kritikk, er det
-ingen tilsvarende mulighet for det som sies fra vitneboksen i en norsk
-domstol.  Kan dette føre til at en sak varer lengre enn nødvendig i
-rettssystemet?  Jeg tror det, og synes det er en skam at det ikke
-publiseres ordrette referater fra norske rettsaler.</p>
-
-<p>En relatert observasjon er at det i utvalgte deler av landet
-eksperimenteres med lydopptak fra rettsalen, men disse opptakene er
-kun tilgjengelig for dommeren til hjelp når oppsummeringen skrives.
-Jeg synes som et minimum at disse lydopptakene som en regel burde vært
-publisert offentlig på web.</p>
+<p>Thanks to
+<a href="http://feedproxy.google.com/~r/Opengeodata/~3/wUTCzDZk3lc/project-of-the-week-which-way-home">todays
+opengeodata blog entry</a>, I just discovered that the
+OpenStreetmap.org site have gotten
+<a href="http://nroets.dev.openstreetmap.org/demo/index.html?layers=B000FTFTT">support
+for calculating routes</a>.  The support is still experimental and
+only available from the development server, until more experience is
+gathered on the user interface and any scalability issues.</p>
+
+<p>Earlier, the routing I knew about using the OpenStreetmap.org data
+was provided by <a href="http://maps.cloudmade.com/">Cloudmade</a>,
+but having it on the main page is required to make everyone aware of
+the issue.  I've had people reject Openstreetmap.org as a viable
+alternative for them because the front page lacked routing support,
+and I hope their needs will be catered for when routing show up on the
+www.openstreetmap.org front page.</p>
 </div>
   <div class="tags">
    
 
    
 </div>
   <div class="tags">
    
 
    
-   Tags: <a href="tags/norsk">norsk</a>. 
+   Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/kart">kart</a>, <a href="http://people.skolelinux.org/pere/blog/tags/web">web</a>. 
   
   </div>
  </div>
  <div class="padding"></div>
  
   
   </div>
  </div>
  <div class="padding"></div>
  
- <p style="text-align: right;"><a href="index.rss"><img src="xml.gif" alt="RSS feed" width="36" height="14"></a></p>
+ <p style="text-align: right;"><a href="index.rss"><img src="http://people.skolelinux.org/pere/blog/xml.gif" alt="RSS feed" width="36" height="14"></a></p>
 
 <div id="sidebar">
 
 
 <div id="sidebar">
 
@@ -531,25 +835,62 @@ publisert offentlig på web.</p>
 <h2>Archive</h2>
 <ul>
 
 <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 (9)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2010/06/">June (14)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2010/07/">July (12)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2010/08/">August (5)</a></li>
+
+</ul></li>
+
 <li>2009
 <ul>
 
 <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="archive/2009/02/">February (8)</a></li>
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
 
 
-<li><a href="archive/2009/03/">March (12)</a></li>
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
 
 
-<li><a href="archive/2009/04/">April (2)</a></li>
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</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>
 
 
 </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>
 
 
 </ul></li>
 
@@ -560,50 +901,66 @@ publisert offentlig på web.</p>
 <h2>Tags</h2>
 <ul>
 
 <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/bootsystem">bootsystem (10)</a></li>
+
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (35)</a></li>
+
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (40)</a></li>
+
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (56)</a></li>
+
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (1)</a></li>
+
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (8)</a></li>
 
 
- <li><a href="tags/amiga">amiga (1)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (3)</a></li>
 
 
- <li><a href="tags/aros">aros (1)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (8)</a></li>
 
 
- <li><a href="tags/debian">debian (6)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (2)</a></li>
 
 
- <li><a href="tags/debian edu">debian edu (6)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
 
 
- <li><a href="tags/english">english (10)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (5)</a></li>
 
 
- <li><a href="tags/fiksgatami">fiksgatami (1)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (71)</a></li>
 
 
- <li><a href="tags/ltsp">ltsp (1)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (93)</a></li>
 
 
- <li><a href="tags/multimedia">multimedia (2)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (14)</a></li>
 
 
- <li><a href="tags/norsk">norsk (32)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (15)</a></li>
 
 
- <li><a href="tags/nuug">nuug (32)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap (10)</a></li>
 
 
- <li><a href="tags/personvern">personvern (4)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
 
 
- <li><a href="tags/reprap">reprap (9)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (11)</a></li>
 
 
- <li><a href="tags/rss">rss (1)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (3)</a></li>
 
 
- <li><a href="tags/standard">standard (2)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (13)</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 (6)</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 (7)</a></li>
 
 </ul>
 
 </div>
 
 <p style="text-align: right">
 
 </ul>
 
 </div>
 
 <p style="text-align: right">
-Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v3.5</a>
+Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v3.7</a>
 </p>
 </body>
 </html>
 </p>
 </body>
 </html>