]> pere.pagekite.me Git - homepage.git/blobdiff - blog/index.html
Undo save to wrong file.
[homepage.git] / blog / index.html
index af13983c4d26ed3062de70f954e1663e61552917..fe3f46cc655d59b693cc06b11eabad7e6487bc57 100644 (file)
 
  
  <div class="entry">
-  <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="title"><a href="http://people.skolelinux.org/pere/blog/How_to_test_if_a_laptop_is_working_with_Linux.html">How to test if a laptop is working with Linux</a></div>
+  <div class="date">2010-12-22 14:55</div>
   <div class="body">
-<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>
+<p>The last few days I have spent at work here at the <a
+href="http://www.uio.no/">University of oslo</a> testing if the new
+batch of computers will work with Linux.  Every year for the last few
+years the university have organized shared bid of a few thousand
+computers, and this year HP won the bid.  Two different desktops and
+five different laptops are on the list this year.  We in the UNIX
+group want to know which one of these computers work well with RHEL
+and Ubuntu, the two Linux distributions we currently handle at the
+university.</p>
+
+<p>My test method is simple, and I share it here to get feedback and
+perhaps inspire others to test hardware as well.  To test, I PXE
+install the OS version of choice, and log in as my normal user and run
+a few applications and plug in selected pieces of hardware.  When
+something fail, I make a note about this in the test matrix and move
+on.  If I have some spare time I try to report the bug to the OS
+vendor, but as I only have the machines for a short time, I rarely
+have the time to do this for all the problems I find.</p>
+
+<p>Anyway, to get to the point of this post.  Here is the simple tests
+I perform on a new model.</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>
+<li>Is PXE installation working?  I'm testing with RHEL6, Ubuntu Lucid
+and Ubuntu Maverik at the moment.  If I feel like it, I also test with
+RHEL5 and Debian Edu/Squeeze.</li>
+
+<li>Is X.org working?  If the graphical login screen show up after
+installation, X.org is working.</li>
+
+<li>Is hardware accelerated OpenGL working?  Running glxgears (in
+package mesa-utils on Ubuntu) and writing down the frames per second
+reported by the program.</li>
+
+<li>Is sound working?  With Gnome and KDE, a sound is played when
+logging in, and if I can hear this the test is successful.  If there
+are several audio exits on the machine, I try them all and check if
+the Gnome/KDE audio mixer can control where to send the sound.  I
+normally test this by playing
+<a href="http://www.nuug.no/aktiviteter/20101012-chef/ ">a HTML5
+video</a> in Firefox/Iceweasel.</li>
+
+<li>Is the USB subsystem working?  I test this by plugging in a USB
+memory stick and see if Gnome/KDE notices this.</li>
+
+<li>Is the CD/DVD player working?  I test this by inserting any CD/DVD
+I have lying around, and see if Gnome/KDE notices this.</li>
+
+<li>Is any built in camera working?  Test using cheese, and see if a
+picture from the v4l device show up.</li>
+
+<li>Is bluetooth working?  Use the Gnome/KDE browsing tool to see if
+any bluetooth devices are discovered.  In my office, I normally see a
+few.</li>
 
-<p>If you want to help out with implementing these things for Debian
-Edu, please contact us on debian-edu@lists.debian.org.</p>
+<li>For laptops, is the SD or Compaq Flash reader working.  I have
+memory modules lying around, and stick them in and see if Gnome/KDE
+notice this.</li>
+
+<li>For laptops, is suspecd/hibernate working?  I'm testing if the
+special button work, and if the laptop continue to work after
+resume.</li>
+
+<li>For laptops, is the extra buttons working, like audio level,
+adjusting background light, switching on/off external video output,
+switching on/off wifi, bluetooth, etc?  The set of buttons differ from
+laptop to laptop, so I just write down which are working and which are
+not.</li>
+
+<li>Some laptops have smart card readers, finger print readers,
+acceleration sensors etc.  I rarely test these, as I do not know how
+to quickly test if they are working or not, so I only document their
+existence.</li>
+
+</ul>
+
+<p>By now I suspect you are really curious what the test results are
+for the HP machines I am testing.  I'm not done yet, so I will report
+the test results later.  For now I can report that HP 8100 Elite work
+fine, and hibernation fail with HP EliteBook 8440p on Ubuntu Lucid,
+and audio fail on RHEL6.  Ubuntu Maverik worked with 8440p.  As you
+can see, I have most machines left to test.  One interesting
+observation is that Ubuntu Lucid has almost twice the framerate than
+RHEL6 with glxgears.  No idea why.</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>. 
+   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>. 
   
   </div>
  </div>
  <div class="padding"></div>
  
  <div class="entry">
-  <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="title"><a href="http://people.skolelinux.org/pere/blog/Some_thoughts_on_BitCoins.html">Some thoughts on BitCoins</a></div>
+  <div class="date">2010-12-11 15:10</div>
   <div class="body">
-<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>As I continue to explore
+<a href="http://www.bitcoin.org/">BitCoin</a>, I've starting to wonder
+what properties the system have, and how it will be affected by laws
+and regulations here in Norway.  Here are some random notes.</p>
+
+<p>One interesting thing to note is that since the transactions are
+verified using a peer to peer network, all details about a transaction
+is known to everyone.  This means that if a BitCoin address has been
+published like I did with mine in my initial post about BitCoin, it is
+possible for everyone to see how many BitCoins have been transfered to
+that address.  There is even a web service to look at the details for
+all transactions.  There I can see that my address
+<a href="http://blockexplorer.com/address/15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a>
+have received 16.06 Bitcoin, the
+<a href="http://blockexplorer.com/address/1LfdGnGuWkpSJgbQySxxCWhv8MHqvwst3">1LfdGnGuWkpSJgbQySxxCWhv8MHqvwst3</a>
+address of Simon Phipps have received 181.97 BitCoin and the address
+<a href="http://blockexplorer.com/address/1MCwBbhNGp5hRm5rC1Aims2YFRe2SXPYKt">1MCwBbhNGp5hRm5rC1Aims2YFRe2SXPYKt</A>
+of EFF have received 2447.38 BitCoins so far.  Thank you to each and
+every one of you that donated bitcoins to support my activity. The
+fact that anyone can see how much money was transfered to a given
+address make it more obvious why the BitCoin community recommend to
+generate and hand out a new address for each transaction.  I'm told
+there is no way to track which addresses belong to a given person or
+organisation without the person or organisation revealing it
+themselves, as Simon, EFF and I have done.</p>
+
+<p>In Norway, and in most other countries, there are laws and
+regulations limiting how much money one can transfer across the border
+without declaring it.  There are money laundering, tax and accounting
+laws and regulations I would expect to apply to the use of BitCoin.
+If the Skolelinux foundation
+(<a href="http://linuxiskolen.no/slxdebianlabs/donations.html">SLX
+Debian Labs</a>) were to accept donations in BitCoin in addition to
+normal bank transfers like EFF is doing, how should this be accounted?
+Given that it is impossible to know if money can across the border or
+not, should everything or nothing be declared?  What exchange rate
+should be used when calculating taxes?  Would receivers have to pay
+income tax if the foundation were to pay Skolelinux contributors in
+BitCoin?  I have no idea, but it would be interesting to know.</p>
+
+<p>For a currency to be useful and successful, it must be trusted and
+accepted by a lot of users.  It must be possible to get easy access to
+the currency (as a wage or using currency exchanges), and it must be
+easy to spend it.  At the moment BitCoin seem fairly easy to get
+access to, but there are very few places to spend it.  I am not really
+a regular user of any of the vendor types currently accepting BitCoin,
+so I wonder when my kind of shop would start accepting BitCoins.  I
+would like to buy electronics, travels and subway tickets, not herbs
+and books. :) The currency is young, and this will improve over time
+if it become popular, but I suspect regular banks will start to lobby
+to get BitCoin declared illegal if it become popular.  I'm sure they
+will claim it is helping fund terrorism and money laundering (which
+probably would be true, as is any currency in existence), but I
+believe the problems should be solved elsewhere and not by blaming
+currencies.</p>
+
+<p>The process of creating new BitCoins is called mining, and it is
+CPU intensive process that depend on a bit of luck as well (as one is
+competing against all the other miners currently spending CPU cycles
+to see which one get the next lump of cash).  The "winner" get 50
+BitCoin when this happen.  Yesterday I came across the obvious way to
+join forces to increase ones changes of getting at least some coins,
+by coordinating the work on mining BitCoins across several machines
+and people, and sharing the result if one is lucky and get the 50
+BitCoins.  Check out
+<a href="http://www.bluishcoder.co.nz/bitcoin-pool/">BitCoin Pool</a>
+if this sounds interesting.  I have not had time to try to set up a
+machine to participate there yet, but have seen that running on ones
+own for a few days have not yield any BitCoins througth mining
+yet.</p>
 
-<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>
+<p>Update 2010-12-15: Found an <a
+href="http://inertia.posterous.com/reply-to-the-underground-economist-why-bitcoi">interesting
+criticism</a> of bitcoin.  Not quite sure how valid it is, but thought
+it was interesting to read.  The arguments presented seem to be
+equally valid for gold, which was used as a currency for many years.</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>. 
+   Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin</a>, <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/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 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="title"><a href="http://people.skolelinux.org/pere/blog/Pornoskannerne_p___flyplassene_bedrer_visst_ikke_sikkerheten.html">Pornoskannerne pÃ¥ flyplassene bedrer visst ikke sikkerheten</a></div>
+  <div class="date">2010-12-11 10:45</div>
   <div class="body">
-<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>
+<p>Via <a href="http://webmink.com/2010/12/10/links-for-2010-12-10/">en
+blogpost fra Simon Phipps i gÃ¥r</a>, fant jeg en referanse til
+<a href="http://www.washingtontimes.com/news/2010/dec/9/exposed-tsas-x-rated-scanner-fraud/">en
+artikkel i Washington Times</a> som igjen refererer til en artikkel i
+det fagfellevurderte tidsskriftet Journal of Transportation Security
+med tittelen
+"<a href="http://springerlink.com/content/g6620thk08679160/fulltext.html">An
+evaluation of airport x-ray backscatter units based on image
+characteristics</a>" som enkelt konstaterer at
+<a href="http://www.dailysquib.co.uk/?a=2389&c=124">pornoscannerne</a>
+som kler av reisende pÃ¥ flyplasser ikke er i stand til Ã¥ avsløre det
+produsenten og amerikanske myndigheter sier de skal avsløre.  Kort
+sagt, de bedrer ikke sikkerheten.  Reisende mÃ¥ altsÃ¥ la ansatte pÃ¥
+flyplasser <a href="http://www.thousandsstandingaround.org/">se dem
+nakne eller la seg beføle i skrittet</a> uten grunn.  Jeg vil
+fortsette Ã¥ nekte Ã¥ bruke disse pornoskannerne, unngÃ¥ flyplasser der
+de er tatt i bruk, og reise med andre transportmidler enn fly hvis jeg
+kan.</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>. 
+   Tags: <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</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 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="title"><a href="http://people.skolelinux.org/pere/blog/Martin_Bekkelund__En_stille_b__nn_om_Datalagringsdirektivet.html">Martin Bekkelund: En stille bønn om Datalagringsdirektivet</a></div>
+  <div class="date">2010-12-09 21:25</div>
   <div class="body">
-<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>
+<p><a href="http://www.bekkelund.net/">Martin Bekkelund</a> ved
+<a href="http://www.friprog.no/">friprog-senteret</a> har skrevet
+følgende
+<a href="http://www.bekkelund.net/2010/12/09/en-stille-bonn/">korte
+oppsummering</a> rundt datalagringsdirektivet, som jeg videreformidler
+her.</p>
+
+<p><blockquote><strong>Det pÃ¥gÃ¥r i disse dager en intens diskusjon om
+innføring av Datalagringsdirektivet (<acronym
+title="Datalagringsdirektivet">DLD</acronym>) i norsk rett. Kanskje
+har du gjort deg opp en mening, kanskje er du usikker. I begge
+tilfeller ber jeg deg lese videre.</strong></p>
+
+<p>Samtlige fagmiljøer, bÃ¥de i Norge og EU, har konkludert med at
+<acronym title="Datalagringsdirektivet">DLD</acronym> ikke bør
+innføres pÃ¥ nÃ¥værende tidspunkt. Den tekniske kvaliteten pÃ¥ direktivet
+er dÃ¥rlig, det griper uforholdsmessig inn i personvernet, det har
+store mangler og viktige spørsmÃ¥l som hvem som skal ha tilgang og
+hvordan data skal lagres er fortsatt uavklart.</p>
+
+<ul>
+<li><a href="http://ikt-norge.no/norge-kan-slippe-datalagringsdirektivet/">EU-ekspertene sier</a> at konsekvensene av Ã¥ benytte vetoretten er minimale</li>
+<li><a href="http://www.regjeringen.no/pages/2281080/Deninternasjonalejuristkommisjon.pdf">Juristene pÃ¥peker</a> at direktivet er i strid med EMK</li>
+<li><a href="http://www.dagbladet.no/2010/12/06/kultur/debatt/kronikk/dld/personvern/14594699/">Datatilsynet sier</a> direktivet fÃ¥r store konsekvenser for personvernet og at direktivet er irreversibelt</li>
+<li><a href="http://www.bekkelund.net/?s=dld">Teknologene sier</a> at sikker lagring ikke er mulig, at det er svært enkelt Ã¥ omgÃ¥ og mulig Ã¥ manipulere data og produsere falske beviser</li>
+<li><a href="http://www.regjeringen.no/pages/2281080/NJ_247460_1_P.pdf">Pressen sier</a> nei av hensyn til kildevernet</li>
+<li>Det er store <a href="http://tetzschner.blogspot.com/2010/03/den-tyske-forfatningsdomstol.html">interne</a> <a href="http://stoppdld.no/2010/03/02/datalagring-stoppet-av-tysk-forfatningsdomstol/">stridigheter</a> i EU. Blant annet har den tyske forfatningsdomstolen funnet at mÃ¥ten <acronym title="Datalagringsdirektivet">DLD</acronym> er innført pÃ¥ er i strid med tysk grunnlov</li>
+<li>Alle de store <a href="http://www.bekkelund.net/2010/12/08/lokasjonsdata-og-datalagringsdirektivet/">operatørene og tilbyderne sier nei</a>, av tekniske og personvernmessige Ã¥rsaker</li>
+</ul>
+
+<p>Jeg liker Ã¥ tro at jeg er en hyggelig fyr. Jeg har et rent
+rulleblad, og med unntak av to fartsbøter har jeg aldri vært en byrde
+for samfunnet. Det akter jeg Ã¥ fortsette med. Det er mange som meg,
+lovlydige, pliktoppfyllende borgere som aldri vil utgjøre en trussel
+mot noe som helst. Vi synes derfor det er trist og sÃ¥rende at all vÃ¥r
+atferd skal overvÃ¥kes døgnkontinuerlig.</p>
+
+<p><strong>Understøttet av faglige vurderinger kan du trygt si nei til
+<acronym title="Datalagringsdirektivet">DLD</acronym>.</strong></p>
+
+<p><a href="http://www.bekkelund.net/kontakt/">Ta kontakt med meg</a>
+hvis du har spørsmÃ¥l om <acronym
+title="Datalagringsdirektivet">DLD</acronym>, uansett hva det mÃ¥tte
+gjelde.</p>
+
+<p class="info">Denne teksten er Ã¥ anse som <a
+href="http://creativecommons.org/licenses/publicdomain/"><em>Public
+Domain</em></a>. Spre den videre til alle som kan ha nytte av
+den!</p>
+</blockquote></p>
+
+<p>Siste <a href="http://www.nettavisen.no/it/article3043918.ece">melding
+fra Nettavisen</a> er at regjeringen planlegger Ã¥ fremme sitt forslag
+til implementering av datalagringsdirektivet i morgen, i ly av
+fredprisutdelingen for Ã¥ fÃ¥ minst mulig pressedekning om saken.  Vi
+fÃ¥r snart se om det stemmer.</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>. 
+   Tags: <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>, <a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern</a>. 
   
   </div>
  </div>
  <div class="padding"></div>
  
  <div class="entry">
-  <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="title"><a href="http://people.skolelinux.org/pere/blog/Student_group_continue_the_work_on_my_Reprap_3D_printer.html">Student group continue the work on my Reprap 3D printer</a></div>
+  <div class="date">2010-12-09 19:30</div>
   <div class="body">
-<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>
+<p>A few days ago, I was introduces to some students in the robot
+student assosiation <a href="http://www.robotica.no/">Robotica
+Osloensis</a> at the University of Oslo where I work, who planned to
+get their own 3D printer.  They wanted to learn from me based on my
+work in the area.  After having a short lunch meeting with them, I
+offered them to borrow my reprap kit, as I never had time to complete
+the build and this seem unlike to change any time soon.  I look
+forward to see how this goes.  This monday their volunteer driver
+picked up my kit and drove it to their lab, and tomorrow I am told the
+last exam is over so they can start work on getting the 3D printer
+operational.</p>
+
+<p>The robotic group have already build several robots on their own,
+and seem capable of getting the reprap operational.  I really look
+forward to being able to print all the cool 3D designs published on
+<a href="http://www.thingiverse.com/">Thingiverse</a>.  I even got
+some 3D scans I got made during Dagen@IFI when one of the groups at
+the computer science department at the university demonstrated their
+very cool 3D scanner.</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>. 
+   Tags: <a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap</a>. 
   
   </div>
  </div>
  <div class="padding"></div>
  
  <div class="entry">
-  <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="title"><a href="http://people.skolelinux.org/pere/blog/Debian_Edu_development_gathering_and_General_Assembly_for_FRiSK.html">Debian Edu development gathering and General Assembly for FRiSK</a></div>
+  <div class="date">2010-11-29 18:40</div>
   <div class="body">
-<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>
+<p>On friday, the first Debian Edu / Skolelinux
+<a href="http://www.friprogramvareiskolen.no/Gathering/2010-12-03-05-Oslo">development
+gathering</a> in a long time take place here in Oslo, Norway.  I
+really look forward to seeing all the good people working on the
+Squeeze release.  The gathering is open for everyone interested in
+learning more about Debian Edu / Skolelinux.</p>
+
+<p>On Saturday, the Norwegian member organization taking care of
+organizing these development gatherings, Fri Programvare i Skolen,
+will hold its
+<a href="http://friprogramvareiskolen.no/Genfors/2010">General Assembly
+for 2010</a>.  Membership is open for all, and currently there are 388
+people registered as members.  Last year 32 members cast their vote in
+the memberdb based election system.  I hope more people find time to
+vote this year.</p>
 </div>
   <div class="tags">
    
@@ -680,445 +379,637 @@ http://wiki.debian.org/DebianEdu/HowTo/ReportBugsInBugzilla</p>
  <div class="padding"></div>
  
  <div class="entry">
-  <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="title"><a href="http://people.skolelinux.org/pere/blog/Why_isn_t_Debian_Edu_using_VLC_.html">Why isn't Debian Edu using VLC?</a></div>
+  <div class="date">2010-11-27 11:30</div>
   <div class="body">
-<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>
+<p>In the latest issue of Linux Journal, the readers choices were
+presented, and the winner among the multimedia player were VLC.
+Personally, I like VLC, and it is my player of choice when I first try
+to play a video file or stream.  Only if VLC fail will I drag out
+gmplayer to see if it can do better.  The reason is mostly the failure
+model and trust.  When VLC fail, it normally pop up a error message
+reporting the problem.  When mplayer fail, it normally segfault or
+just hangs.  The latter failure mode drain my trust in the program.<p>
+
+<p>But even if VLC is my player of choice, we have choosen to use
+mplayer in <a href="http://www.skolelinux.org/">Debian
+Edu/Skolelinux</a>.  The reason is simple.  We need a good browser
+plugin to play web videos seamlessly, and the VLC browser plugin is
+not very good.  For example, it lack in-line control buttons, so there
+is no way for the user to pause the video.  Also, when I
+<a href="http://wiki.debian.org/DebianEdu/BrowserMultimedia">last
+tested the browser plugins</a> available in Debian, the VLC plugin
+failed on several video pages where mplayer based plugins worked.  If
+the browser plugin for VLC was as good as the gecko-mediaplayer
+package (which uses mplayer), we would switch.</P>
+
+<p>While VLC is a good player, its user interface is slightly
+annoying.  The most annoying feature is its inconsistent use of
+keyboard shortcuts.  When the player is in full screen mode, its
+shortcuts are different from when it is playing the video in a window.
+For example, space only work as pause when in full screen mode.  I
+wish it had consisten shortcuts and that space also would work when in
+window mode.  Another nice shortcut in gmplayer is [enter] to restart
+the current video.  It is very nice when playing short videos from the
+web and want to restart it when new people arrive to have a look at
+what is going on.</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>. 
+   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/video">video</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/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="title"><a href="http://people.skolelinux.org/pere/blog/DND_hedrer_overv__kning_av_barn_med_Rosingsprisen.html">DND hedrer overvÃ¥kning av barn med Rosingsprisen</a></div>
+  <div class="date">2010-11-23 14:15</div>
   <div class="body">
-<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>
+<p>Jeg registrerer med vond smak i munnen at Den Norske Dataforening
+<a
+href="http://www.dataforeningen.no/hedret-med-rosingprisen.4849070-133913.html">hedrer
+overvÃ¥kning av barn med Rosingsprisen for kreativitet i Ã¥r</a>.  Jeg
+er glad jeg nÃ¥ er meldt ut av DND.</p>
+
+<p>Ã… elektronisk overvÃ¥ke sine barn er ikke Ã¥ gjøre dem en tjeneste,
+men et overgrep mot individer i utvikling som bør læres opp til Ã¥ ta
+egne valg.</p>
+
+<p>For Ã¥ sitere Datatilsynets nye leder, Bjørn Erik Thon, i
+<a href="http://www.idg.no/computerworld/article174262.ece">et intervju
+med Computerworld Norge</A>:</p>
+
+<p><blockquote>
+- For alle som har barn, meg selv inkludert, er førstetanken at det
+hadde vært fint Ã¥ vite hvor barnet sitt er til enhver tid. Men ungene
+har ikke godt av det. De er smÃ¥ individer som skal søke rundt og finne
+sine smÃ¥ gjemmesteder og utvide horisonten, uten at foreldrene ser dem
+i kortene. Det kan være fristende, men jeg ville ikke gÃ¥tt inn i
+dette.
+</blockquote></p>
+
+<p>Det er skremmende Ã¥ se at DND mener en tjeneste som legger opp til
+slike overgrep bør hedres.  Ã… flytte oppveksten for barn inn i en
+virtuell
+<a href="http://en.wikipedia.org/wiki/Panopticon">Panopticon</a> er et
+grovt overgrep og vil gjøre skade pÃ¥ barnenes utvikling, og foreldre
+burde tenke seg godt om før de gir etter for sine instinkter her.</p>
+
+<p>Blipper-tjenesten fÃ¥r meg til Ã¥ tenke pÃ¥ bøkene til
+<a href="http://en.wikipedia.org/wiki/John_Twelve_Hawks">John Twelve
+Hawks</a>, som forbilledlig beskriver hvordan et totalitært
+overvÃ¥kningssamfunn bygges sakte men sikkert rundt oss, satt sammen av
+gode intensjoner og manglende bevissthet om hvilke prinsipper et
+liberalt demokrati er fundamentert pÃ¥.  Jeg har hatt stor glede av Ã¥
+lese alle de tre bøkene.</p>
 </div>
   <div class="tags">
    
 
    
-   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>. 
+   Tags: <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</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 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="title"><a href="http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades_of_the_Gnome_and_KDE_desktop__now_with_apt_get_autoremove.html">Lenny->Squeeze upgrades of the Gnome and KDE desktop, now with apt-get autoremove</a></div>
+  <div class="date">2010-11-22 14:15</div>
   <div class="body">
-<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>
+<p>Michael Biebl suggested to me on IRC, that I changed my automated
+upgrade testing of the
+<a href="http://people.skolelinux.org/~pere/debian-upgrade-testing/">Lenny
+Gnome and KDE Desktop</a> to do <tt>apt-get autoremove</tt> when using apt-get.
+This seem like a very good idea, so I adjusted by test scripts and
+can now present the updated result from today:</p>
+
+<p>This is for Gnome:</p>
+
+<p>Installed using apt-get, missing with aptitude</p>
+
+<blockquote><p>
+  apache2.2-bin
+  aptdaemon
+  baobab
+  binfmt-support
+  browser-plugin-gnash
+  cheese-common
+  cli-common
+  cups-pk-helper
+  dmz-cursor-theme
+  empathy
+  empathy-common
+  freedesktop-sound-theme
+  freeglut3
+  gconf-defaults-service
+  gdm-themes
+  gedit-plugins
+  geoclue
+  geoclue-hostip
+  geoclue-localnet
+  geoclue-manual
+  geoclue-yahoo
+  gnash
+  gnash-common
+  gnome
+  gnome-backgrounds
+  gnome-cards-data
+  gnome-codec-install
+  gnome-core
+  gnome-desktop-environment
+  gnome-disk-utility
+  gnome-screenshot
+  gnome-search-tool
+  gnome-session-canberra
+  gnome-system-log
+  gnome-themes-extras
+  gnome-themes-more
+  gnome-user-share
+  gstreamer0.10-fluendo-mp3
+  gstreamer0.10-tools
+  gtk2-engines
+  gtk2-engines-pixbuf
+  gtk2-engines-smooth
+  hamster-applet
+  libapache2-mod-dnssd
+  libapr1
+  libaprutil1
+  libaprutil1-dbd-sqlite3
+  libaprutil1-ldap
+  libart2.0-cil
+  libboost-date-time1.42.0
+  libboost-python1.42.0
+  libboost-thread1.42.0
+  libchamplain-0.4-0
+  libchamplain-gtk-0.4-0
+  libcheese-gtk18
+  libclutter-gtk-0.10-0
+  libcryptui0
+  libdiscid0
+  libelf1
+  libepc-1.0-2
+  libepc-common
+  libepc-ui-1.0-2
+  libfreerdp-plugins-standard
+  libfreerdp0
+  libgconf2.0-cil
+  libgdata-common
+  libgdata7
+  libgdu-gtk0
+  libgee2
+  libgeoclue0
+  libgexiv2-0
+  libgif4
+  libglade2.0-cil
+  libglib2.0-cil
+  libgmime2.4-cil
+  libgnome-vfs2.0-cil
+  libgnome2.24-cil
+  libgnomepanel2.24-cil
+  libgpod-common
+  libgpod4
+  libgtk2.0-cil
+  libgtkglext1
+  libgtksourceview2.0-common
+  libmono-addins-gui0.2-cil
+  libmono-addins0.2-cil
+  libmono-cairo2.0-cil
+  libmono-corlib2.0-cil
+  libmono-i18n-west2.0-cil
+  libmono-posix2.0-cil
+  libmono-security2.0-cil
+  libmono-sharpzip2.84-cil
+  libmono-system2.0-cil
+  libmtp8
+  libmusicbrainz3-6
+  libndesk-dbus-glib1.0-cil
+  libndesk-dbus1.0-cil
+  libopal3.6.8
+  libpolkit-gtk-1-0
+  libpt2.6.7
+  libpython2.6
+  librpm1
+  librpmio1
+  libsdl1.2debian
+  libsrtp0
+  libssh-4
+  libtelepathy-farsight0
+  libtelepathy-glib0
+  libtidy-0.99-0
+  media-player-info
+  mesa-utils
+  mono-2.0-gac
+  mono-gac
+  mono-runtime
+  nautilus-sendto
+  nautilus-sendto-empathy
+  p7zip-full
+  pkg-config
+  python-aptdaemon
+  python-aptdaemon-gtk
+  python-axiom
+  python-beautifulsoup
+  python-bugbuddy
+  python-clientform
+  python-coherence
+  python-configobj
+  python-crypto
+  python-cupshelpers
+  python-elementtree
+  python-epsilon
+  python-evolution
+  python-feedparser
+  python-gdata
+  python-gdbm
+  python-gst0.10
+  python-gtkglext1
+  python-gtksourceview2
+  python-httplib2
+  python-louie
+  python-mako
+  python-markupsafe
+  python-mechanize
+  python-nevow
+  python-notify
+  python-opengl
+  python-openssl
+  python-pam
+  python-pkg-resources
+  python-pyasn1
+  python-pysqlite2
+  python-rdflib
+  python-serial
+  python-tagpy
+  python-twisted-bin
+  python-twisted-conch
+  python-twisted-core
+  python-twisted-web
+  python-utidylib
+  python-webkit
+  python-xdg
+  python-zope.interface
+  remmina
+  remmina-plugin-data
+  remmina-plugin-rdp
+  remmina-plugin-vnc
+  rhythmbox-plugin-cdrecorder
+  rhythmbox-plugins
+  rpm-common
+  rpm2cpio
+  seahorse-plugins
+  shotwell
+  software-center
+  system-config-printer-udev
+  telepathy-gabble
+  telepathy-mission-control-5
+  telepathy-salut
+  tomboy
+  totem
+  totem-coherence
+  totem-mozilla
+  totem-plugins
+  transmission-common
+  xdg-user-dirs
+  xdg-user-dirs-gtk
+  xserver-xephyr
+</p></blockquote>
+
+<p>Installed using apt-get, removed with aptitude</p>
+
+<blockquote><p>
+  cheese
+  ekiga
+  eog
+  epiphany-extensions
+  evolution-exchange
+  fast-user-switch-applet
+  file-roller
+  gcalctool
+  gconf-editor
+  gdm
+  gedit
+  gedit-common
+  gnome-games
+  gnome-games-data
+  gnome-nettool
+  gnome-system-tools
+  gnome-themes
+  gnuchess
+  gucharmap
+  guile-1.8-libs
+  libavahi-ui0
+  libdmx1
+  libgalago3
+  libgtk-vnc-1.0-0
+  libgtksourceview2.0-0
+  liblircclient0
+  libsdl1.2debian-alsa
+  libspeexdsp1
+  libsvga1
+  rhythmbox
+  seahorse
+  sound-juicer
+  system-config-printer
+  totem-common
+  transmission-gtk
+  vinagre
+  vino
+</p></blockquote>
+
+<p>Installed using aptitude, missing with apt-get</p>
+
+<blockquote><p>
+  gstreamer0.10-gnomevfs
+</p></blockquote>
+
+<p>Installed using aptitude, removed with apt-get</p>
+
+<blockquote><p>
+[nothing]
+</p></blockquote>
+
+<p>This is for KDE:</p>
+
+<p>Installed using apt-get, missing with aptitude</p>
+
+<blockquote><p>
+  ksmserver
+</p></blockquote>
+
+<p>Installed using apt-get, removed with aptitude</p>
+
+<blockquote><p>
+  kwin
+  network-manager-kde
+</p></blockquote>
+
+<p>Installed using aptitude, missing with apt-get</p>
+
+<blockquote><p>
+  arts
+  dolphin
+  freespacenotifier
+  google-gadgets-gst
+  google-gadgets-xul
+  kappfinder
+  kcalc
+  kcharselect
+  kde-core
+  kde-plasma-desktop
+  kde-standard
+  kde-window-manager
+  kdeartwork
+  kdeartwork-emoticons
+  kdeartwork-style
+  kdeartwork-theme-icon
+  kdebase
+  kdebase-apps
+  kdebase-workspace
+  kdebase-workspace-bin
+  kdebase-workspace-data
+  kdeeject
+  kdelibs
+  kdeplasma-addons
+  kdeutils
+  kdewallpapers
+  kdf
+  kfloppy
+  kgpg
+  khelpcenter4
+  kinfocenter
+  konq-plugins-l10n
+  konqueror-nsplugins
+  kscreensaver
+  kscreensaver-xsavers
+  ktimer
+  kwrite
+  libgle3
+  libkde4-ruby1.8
+  libkonq5
+  libkonq5-templates
+  libnetpbm10
+  libplasma-ruby
+  libplasma-ruby1.8
+  libqt4-ruby1.8
+  marble-data
+  marble-plugins
+  netpbm
+  nuvola-icon-theme
+  plasma-dataengines-workspace
+  plasma-desktop
+  plasma-desktopthemes-artwork
+  plasma-runners-addons
+  plasma-scriptengine-googlegadgets
+  plasma-scriptengine-python
+  plasma-scriptengine-qedje
+  plasma-scriptengine-ruby
+  plasma-scriptengine-webkit
+  plasma-scriptengines
+  plasma-wallpapers-addons
+  plasma-widget-folderview
+  plasma-widget-networkmanagement
+  ruby
+  sweeper
+  update-notifier-kde
+  xscreensaver-data-extra
+  xscreensaver-gl
+  xscreensaver-gl-extra
+  xscreensaver-screensaver-bsod
+</p></blockquote>
+
+<p>Installed using aptitude, removed with apt-get</p>
+
+<blockquote><p>
+  ark
+  google-gadgets-common
+  google-gadgets-qt
+  htdig
+  kate
+  kdebase-bin
+  kdebase-data
+  kdepasswd
+  kfind
+  klipper
+  konq-plugins
+  konqueror
+  ksysguard
+  ksysguardd
+  libarchive1
+  libcln6
+  libeet1
+  libeina-svn-06
+  libggadget-1.0-0b
+  libggadget-qt-1.0-0b
+  libgps19
+  libkdecorations4
+  libkephal4
+  libkonq4
+  libkonqsidebarplugin4a
+  libkscreensaver5
+  libksgrd4
+  libksignalplotter4
+  libkunitconversion4
+  libkwineffects1a
+  libmarblewidget4
+  libntrack-qt4-1
+  libntrack0
+  libplasma-geolocation-interface4
+  libplasmaclock4a
+  libplasmagenericshell4
+  libprocesscore4a
+  libprocessui4a
+  libqalculate5
+  libqedje0a
+  libqtruby4shared2
+  libqzion0a
+  libruby1.8
+  libscim8c2a
+  libsmokekdecore4-3
+  libsmokekdeui4-3
+  libsmokekfile3
+  libsmokekhtml3
+  libsmokekio3
+  libsmokeknewstuff2-3
+  libsmokeknewstuff3-3
+  libsmokekparts3
+  libsmokektexteditor3
+  libsmokekutils3
+  libsmokenepomuk3
+  libsmokephonon3
+  libsmokeplasma3
+  libsmokeqtcore4-3
+  libsmokeqtdbus4-3
+  libsmokeqtgui4-3
+  libsmokeqtnetwork4-3
+  libsmokeqtopengl4-3
+  libsmokeqtscript4-3
+  libsmokeqtsql4-3
+  libsmokeqtsvg4-3
+  libsmokeqttest4-3
+  libsmokeqtuitools4-3
+  libsmokeqtwebkit4-3
+  libsmokeqtxml4-3
+  libsmokesolid3
+  libsmokesoprano3
+  libtaskmanager4a
+  libtidy-0.99-0
+  libweather-ion4a
+  libxklavier16
+  libxxf86misc1
+  okteta
+  oxygencursors
+  plasma-dataengines-addons
+  plasma-scriptengine-superkaramba
+  plasma-widget-lancelot
+  plasma-widgets-addons
+  plasma-widgets-workspace
+  polkit-kde-1
+  ruby1.8
+  systemsettings
+  update-notifier-common
+</p></blockquote>
+
+<p>Running apt-get autoremove made the results using apt-get and
+aptitude a bit more similar, but there are still quite a lott of
+differences.  I have no idea what packages should be installed after
+the upgrade, but hope those that do can have a look.</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/kart">kart</a>, <a href="http://people.skolelinux.org/pere/blog/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>. 
   
   </div>
  </div>
  <div class="padding"></div>
  
  <div class="entry">
-  <div class="title"><a href="http://people.skolelinux.org/pere/blog/What_are_they_searching_for___PowerDNS_and_ISC_DHCP_in_LDAP.html">What are they searching for - PowerDNS and ISC DHCP in LDAP</a></div>
-  <div class="date">2010-07-17 21:00</div>
+  <div class="title"><a href="http://people.skolelinux.org/pere/blog/Migrating_Xen_virtual_machines_using_LVM_to_KVM_using_disk_images.html">Migrating Xen virtual machines using LVM to KVM using disk images</a></div>
+  <div class="date">2010-11-22 11:20</div>
   <div class="body">
-<p>This is a
-<a href="http://people.skolelinux.org/pere/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html">followup</a>
-on my
-<a href="http://people.skolelinux.org/pere/blog/Idea_for_a_change_to_LDAP_schemas_allowing_DNS_and_DHCP_info_to_be_combined_into_one_object.html">previous
-work</a> on
-<a href="http://people.skolelinux.org/pere/blog/Combining_PowerDNS_and_ISC_DHCP_LDAP_objects.html">merging
-all</a> the computer related LDAP objects in Debian Edu.</p>
-
-<p>As a step to try to see if it possible to merge the DNS and DHCP
-LDAP objects, I have had a look at how the packages pdns-backend-ldap
-and dhcp3-server-ldap in Debian use the LDAP server.  The two
-implementations are quite different in how they use LDAP.</p>
-
-To get this information, I started slapd with debugging enabled and
-dumped the debug output to a file to get the LDAP searches performed
-on a Debian Edu main-server.  Here is a summary.
-
-<p><strong>powerdns</strong></p>
-
-<a href="http://www.linuxnetworks.de/doc/index.php/PowerDNS_LDAP_Backend">Clues
-on how to</a> set up PowerDNS to use a LDAP backend is available on
-the web.
-
-<p>PowerDNS have two modes of operation using LDAP as its backend.
-One "strict" mode where the forward and reverse DNS lookups are done
-using the same LDAP objects, and a "tree" mode where the forward and
-reverse entries are in two different subtrees in LDAP with a structure
-based on the DNS names, as in tjener.intern and
-2.2.0.10.in-addr.arpa.</p>
-
-<p>In tree mode, the server is set up to use a LDAP subtree as its
-base, and uses a "base" scoped search for the DNS name by adding
-"dc=tjener,dc=intern," to the base with a filter for
-"(associateddomain=tjener.intern)" for the forward entry and
-"dc=2,dc=2,dc=0,dc=10,dc=in-addr,dc=arpa," with a filter for
-"(associateddomain=2.2.0.10.in-addr.arpa)" for the reverse entry.  For
-forward entries, it is looking for attributes named dnsttl, arecord,
-nsrecord, cnamerecord, soarecord, ptrrecord, hinforecord, mxrecord,
-txtrecord, rprecord, afsdbrecord, keyrecord, aaaarecord, locrecord,
-srvrecord, naptrrecord, kxrecord, certrecord, dsrecord, sshfprecord,
-ipseckeyrecord, rrsigrecord, nsecrecord, dnskeyrecord, dhcidrecord,
-spfrecord and modifytimestamp.  For reverse entries it is looking for
-the attributes dnsttl, arecord, nsrecord, cnamerecord, soarecord,
-ptrrecord, hinforecord, mxrecord, txtrecord, rprecord, aaaarecord,
-locrecord, srvrecord, naptrrecord and modifytimestamp.  The equivalent
-ldapsearch commands could look like this:</p>
-
-<blockquote><pre>
-ldapsearch -h ldap \
-  -b dc=tjener,dc=intern,ou=hosts,dc=skole,dc=skolelinux,dc=no \
-  -s base -x '(associateddomain=tjener.intern)' dNSTTL aRecord nSRecord \
-  cNAMERecord sOARecord pTRRecord hInfoRecord mXRecord tXTRecord \
-  rPRecord aFSDBRecord KeyRecord aAAARecord lOCRecord sRVRecord \
-  nAPTRRecord kXRecord certRecord dSRecord sSHFPRecord iPSecKeyRecord \
-  rRSIGRecord nSECRecord dNSKeyRecord dHCIDRecord sPFRecord modifyTimestamp
-
-ldapsearch -h ldap \
-  -b dc=2,dc=2,dc=0,dc=10,dc=in-addr,dc=arpa,ou=hosts,dc=skole,dc=skolelinux,dc=no \
-  -s base -x '(associateddomain=2.2.0.10.in-addr.arpa)'
-  dnsttl, arecord, nsrecord, cnamerecord soarecord ptrrecord \
-  hinforecord mxrecord txtrecord rprecord aaaarecord locrecord \
-  srvrecord naptrrecord modifytimestamp
-</pre></blockquote>
-
-<p>In Debian Edu/Lenny, the PowerDNS tree mode is used with
-ou=hosts,dc=skole,dc=skolelinux,dc=no as the base, and these are two
-example LDAP objects used there.  In addition to these objects, the
-parent objects all th way up to ou=hosts,dc=skole,dc=skolelinux,dc=no
-also exist.</p>
-
-<blockquote><pre>
-dn: dc=tjener,dc=intern,ou=hosts,dc=skole,dc=skolelinux,dc=no
-objectclass: top
-objectclass: dnsdomain
-objectclass: domainrelatedobject
-dc: tjener
-arecord: 10.0.2.2
-associateddomain: tjener.intern
-
-dn: dc=2,dc=2,dc=0,dc=10,dc=in-addr,dc=arpa,ou=hosts,dc=skole,dc=skolelinux,dc=no
-objectclass: top
-objectclass: dnsdomain2
-objectclass: domainrelatedobject
-dc: 2
-ptrrecord: tjener.intern
-associateddomain: 2.2.0.10.in-addr.arpa
-</pre></blockquote>
-
-<p>In strict mode, the server behaves differently.  When looking for
-forward DNS entries, it is doing a "subtree" scoped search with the
-same base as in the tree mode for a object with filter
-"(associateddomain=tjener.intern)" and requests the attributes dnsttl,
-arecord, nsrecord, cnamerecord, soarecord, ptrrecord, hinforecord,
-mxrecord, txtrecord, rprecord, aaaarecord, locrecord, srvrecord,
-naptrrecord and modifytimestamp.  For reverse entires it also do a
-subtree scoped search but this time the filter is "(arecord=10.0.2.2)"
-and the requested attributes are associateddomain, dnsttl and
-modifytimestamp.  In short, in strict mode the objects with ptrrecord
-go away, and the arecord attribute in the forward object is used
-instead.</p>
-
-<p>The forward and reverse searches can be simulated using ldapsearch
-like this:</p>
-
-<blockquote><pre>
-ldapsearch -h ldap -b ou=hosts,dc=skole,dc=skolelinux,dc=no -s sub -x \
-  '(associateddomain=tjener.intern)' dNSTTL aRecord nSRecord \
-  cNAMERecord sOARecord pTRRecord hInfoRecord mXRecord tXTRecord \
-  rPRecord aFSDBRecord KeyRecord aAAARecord lOCRecord sRVRecord \
-  nAPTRRecord kXRecord certRecord dSRecord sSHFPRecord iPSecKeyRecord \
-  rRSIGRecord nSECRecord dNSKeyRecord dHCIDRecord sPFRecord modifyTimestamp
-
-ldapsearch -h ldap -b ou=hosts,dc=skole,dc=skolelinux,dc=no -s sub -x \
-  '(arecord=10.0.2.2)' associateddomain dnsttl modifytimestamp
-</pre></blockquote>
-
-<p>In addition to the forward and reverse searches , there is also a
-search for SOA records, which behave similar to the forward and
-reverse lookups.</p>
-
-<p>A thing to note with the PowerDNS behaviour is that it do not
-specify any objectclass names, and instead look for the attributes it
-need to generate a DNS reply.  This make it able to work with any
-objectclass that provide the needed attributes.</p>
-
-<p>The attributes are normally provided in the cosine (RFC 1274) and
-dnsdomain2 schemas.  The latter is used for reverse entries like
-ptrrecord and recent DNS additions like aaaarecord and srvrecord.</p>
-
-<p>In Debian Edu, we have created DNS objects using the object classes
-dcobject (for dc), dnsdomain or dnsdomain2 (structural, for the DNS
-attributes) and domainrelatedobject (for associatedDomain).  The use
-of structural object classes make it impossible to combine these
-classes with the object classes used by DHCP.</p>
-
-<p>There are other schemas that could be used too, for example the
-dnszone structural object class used by Gosa and bind-sdb for the DNS
-attributes combined with the domainrelatedobject object class, but in
-this case some unused attributes would have to be included as well
-(zonename and relativedomainname).</p>
-
-<p>My proposal for Debian Edu would be to switch PowerDNS to strict
-mode and not use any of the existing objectclasses (dnsdomain,
-dnsdomain2 and dnszone) when one want to combine the DNS information
-with DHCP information, and instead create a auxiliary object class
-defined something like this (using the attributes defined for
-dnsdomain and dnsdomain2 or dnszone):</p>
-
-<blockquote><pre>
-objectclass ( some-oid NAME 'dnsDomainAux'
-    SUP top
-    AUXILIARY
-    MAY ( ARecord $ MDRecord $ MXRecord $ NSRecord $ SOARecord $ CNAMERecord $
-          DNSTTL $ DNSClass $ PTRRecord $ HINFORecord $ MINFORecord $
-          TXTRecord $ SIGRecord $ KEYRecord $ AAAARecord $ LOCRecord $
-          NXTRecord $ SRVRecord $ NAPTRRecord $ KXRecord $ CERTRecord $
-          A6Record $ DNAMERecord
-    ))
-</pre></blockquote>
-
-<p>This will allow any object to become a DNS entry when combined with
-the domainrelatedobject object class, and allow any entity to include
-all the attributes PowerDNS wants.  I've sent an email to the PowerDNS
-developers asking for their view on this schema and if they are
-interested in providing such schema with PowerDNS, and I hope my
-message will be accepted into their mailing list soon.</p>
-
-<p><strong>ISC dhcp</strong></p>
-
-<p>The DHCP server searches for specific objectclass and requests all
-the object attributes, and then uses the attributes it want.  This
-make it harder to figure out exactly what attributes are used, but
-thanks to the working example in Debian Edu I can at least get an idea
-what is needed without having to read the source code.</p>
-
-<p>In the DHCP server configuration, the LDAP base to use and the
-search filter to use to locate the correct dhcpServer entity is
-stored.  These are the relevant entries from
-/etc/dhcp3/dhcpd.conf:</p>
-
-<blockquote><pre>
-ldap-base-dn "dc=skole,dc=skolelinux,dc=no";
-ldap-dhcp-server-cn "dhcp";
-</pre></blockquote>
-
-<p>The DHCP server uses this information to nest all the DHCP
-configuration it need.  The cn "dhcp" is located using the given LDAP
-base and the filter "(&(objectClass=dhcpServer)(cn=dhcp))".  The
-search result is this entry:</p>
-
-<blockquote><pre>
-dn: cn=dhcp,dc=skole,dc=skolelinux,dc=no
-cn: dhcp
-objectClass: top
-objectClass: dhcpServer
-dhcpServiceDN: cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
-</pre></blockquote>
-
-<p>The content of the dhcpServiceDN attribute is next used to locate the
-subtree with DHCP configuration.  The DHCP configuration subtree base
-is located using a base scope search with base "cn=DHCP
-Config,dc=skole,dc=skolelinux,dc=no" and filter
-"(&(objectClass=dhcpService)(|(dhcpPrimaryDN=cn=dhcp,dc=skole,dc=skolelinux,dc=no)(dhcpSecondaryDN=cn=dhcp,dc=skole,dc=skolelinux,dc=no)))".
-The search result is this entry:</p>
-
-<blockquote><pre>
-dn: cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
-cn: DHCP Config
-objectClass: top
-objectClass: dhcpService
-objectClass: dhcpOptions
-dhcpPrimaryDN: cn=dhcp, dc=skole,dc=skolelinux,dc=no
-dhcpStatements: ddns-update-style none
-dhcpStatements: authoritative
-dhcpOption: smtp-server code 69 = array of ip-address
-dhcpOption: www-server code 72 = array of ip-address
-dhcpOption: wpad-url code 252 = text
-</pre></blockquote>
-
-<p>Next, the entire subtree is processed, one level at the time.  When
-all the DHCP configuration is loaded, it is ready to receive requests.
-The subtree in Debian Edu contain objects with object classes
-top/dhcpService/dhcpOptions, top/dhcpSharedNetwork/dhcpOptions,
-top/dhcpSubnet, top/dhcpGroup and top/dhcpHost.  These provide options
-and information about netmasks, dynamic range etc.  Leaving out the
-details here because it is not relevant for the focus of my
-investigation, which is to see if it is possible to merge dns and dhcp
-related computer objects.</p>
-
-<p>When a DHCP request come in, LDAP is searched for the MAC address
-of the client (00:00:00:00:00:00 in this example), using a subtree
-scoped search with "cn=DHCP Config,dc=skole,dc=skolelinux,dc=no" as
-the base and "(&(objectClass=dhcpHost)(dhcpHWAddress=ethernet
-00:00:00:00:00:00))" as the filter.  This is what a host object look
-like:</p>
-
-<blockquote><pre>
-dn: cn=hostname,cn=group1,cn=THINCLIENTS,cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
-cn: hostname
-objectClass: top
-objectClass: dhcpHost
-dhcpHWAddress: ethernet 00:00:00:00:00:00
-dhcpStatements: fixed-address hostname
-</pre></blockquote>
-
-<p>There is less flexiblity in the way LDAP searches are done here.
-The object classes need to have fixed names, and the configuration
-need to be stored in a fairly specific LDAP structure.  On the
-positive side, the invidiual dhcpHost entires can be anywhere without
-the DN pointed to by the dhcpServer entries.  The latter should make
-it possible to group all host entries in a subtree next to the
-configuration entries, and this subtree can also be shared with the
-DNS server if the schema proposed above is combined with the dhcpHost
-structural object class.
-
-<p><strong>Conclusion</strong></p>
-
-<p>The PowerDNS implementation seem to be very flexible when it come
-to which LDAP schemas to use.  While its "tree" mode is rigid when it
-come to the the LDAP structure, the "strict" mode is very flexible,
-allowing DNS objects to be stored anywhere under the base cn specified
-in the configuration.</p>
-
-<p>The DHCP implementation on the other hand is very inflexible, both
-regarding which LDAP schemas to use and which LDAP structure to use.
-I guess one could implement ones own schema, as long as the
-objectclasses and attributes have the names used, but this do not
-really help when the DHCP subtree need to have a fairly fixed
-structure.</p>
-
-<p>Based on the observed behaviour, I suspect a LDAP structure like
-this might work for Debian Edu:</p>
-
-<blockquote><pre>
-ou=services
-  cn=machine-info (dhcpService) - dhcpServiceDN points here
-    cn=dhcp (dhcpServer)
-    cn=dhcp-internal (dhcpSharedNetwork/dhcpOptions)
-      cn=10.0.2.0 (dhcpSubnet)
-        cn=group1 (dhcpGroup/dhcpOptions)
-    cn=dhcp-thinclients (dhcpSharedNetwork/dhcpOptions)
-      cn=192.168.0.0 (dhcpSubnet)
-        cn=group1 (dhcpGroup/dhcpOptions)
-    ou=machines - PowerDNS base points here
-      cn=hostname (dhcpHost/domainrelatedobject/dnsDomainAux)
-</pre></blockquote>
-
-<P>This is not tested yet.  If the DHCP server require the dhcpHost
-entries to be in the dhcpGroup subtrees, the entries can be stored
-there instead of a common machines subtree, and the PowerDNS base
-would have to be moved one level up to the machine-info subtree.</p>
-
-<p>The combined object under the machines subtree would look something
-like this:</p>
-    
-<blockquote><pre>
-dn: dc=hostname,ou=machines,cn=machine-info,dc=skole,dc=skolelinux,dc=no
-dc: hostname
-objectClass: top
-objectClass: dhcpHost
-objectclass: domainrelatedobject
-objectclass: dnsDomainAux
-associateddomain: hostname.intern
-arecord: 10.11.12.13
-dhcpHWAddress: ethernet 00:00:00:00:00:00
-dhcpStatements: fixed-address hostname.intern
-</pre></blockquote>
-
-</p>One could even add the LTSP configuration associated with a given
-machine, as long as the required attributes are available in a
-auxiliary object class.</p>
+<p>Most of the computers in use by the
+<a href="http://www.skolelinux.org/">Debian Edu/Skolelinux project</a>
+are virtual machines.  And they have been Xen machines running on a
+fairly old IBM eserver xseries 345 machine, and we wanted to migrate
+them to KVM on a newer Dell PowerEdge 2950 host machine.  This was a
+bit harder that it could have been, because we set up the Xen virtual
+machines to get the virtual partitions from LVM, which as far as I
+know is not supported by KVM.  So to migrate, we had to convert
+several LVM logical volumes to partitions on a virtual disk file.</p>
+
+<p>I found
+<a href="http://searchnetworking.techtarget.com.au/articles/35011-Six-steps-for-migrating-Xen-virtual-machines-to-KVM">a
+nice recipe</a> to do this, and wrote the following script to do the
+migration.  It uses qemu-img from the qemu package to make the disk
+image, parted to partition it, losetup and kpartx to present the disk
+image partions as devices, and dd to copy the data.  I NFS mounted the
+new servers storage area on the old server to do the migration.</p>
+
+<pre>
+#!/bin/sh
+
+# Based on
+# http://searchnetworking.techtarget.com.au/articles/35011-Six-steps-for-migrating-Xen-virtual-machines-to-KVM
+
+set -e
+set -x
+
+if [ -z "$1" ] ; then
+    echo "Usage: $0 &lt;hostname&gt;"
+    exit 1
+else
+    host="$1"
+fi
+
+if [ ! -e /dev/vg_data/$host-disk ] ; then
+    echo "error: unable to find LVM volume for $host"
+    exit 1
+fi
+
+# Partitions need to be a bit bigger than the LVM LVs.  not sure why.
+disksize=$( lvs --units m | grep $host-disk | awk '{sum = sum + $4} END { print int(sum * 1.05) }')
+swapsize=$( lvs --units m | grep $host-swap | awk '{sum = sum + $4} END { print int(sum * 1.05) }')
+totalsize=$(( ( $disksize + $swapsize ) ))
+
+img=$host.img
+#dd if=/dev/zero of=$img bs=1M count=$(( $disksize + $swapsize ))
+qemu-img create $img ${totalsize}MMaking room on the Debian Edu/Sqeeze DVD
+
+parted $img mklabel msdos
+parted $img mkpart primary linux-swap 0 $disksize
+parted $img mkpart primary ext2 $disksize $totalsize
+parted $img set 1 boot on
+
+modprobe dm-mod
+losetup /dev/loop0 $img
+kpartx -a /dev/loop0
+
+dd if=/dev/vg_data/$host-disk of=/dev/mapper/loop0p1 bs=1M
+fsck.ext3 -f /dev/mapper/loop0p1 || true
+mkswap /dev/mapper/loop0p2
+
+kpartx -d /dev/loop0
+losetup -d /dev/loop0
+</pre>
+
+<p>The script is perhaps so simple that it is not copyrightable, but
+if it is, it is licenced using GPL v2 or later at your discretion.</p>
+
+<p>After doing this, I booted a Debian CD in rescue mode in KVM with
+the new disk image attached, installed grub-pc and linux-image-686 and
+set up grub to boot from the disk image.  After this, the KVM machines
+seem to work just fine.</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/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/ldap">ldap</a>, <a href="http://people.skolelinux.org/pere/blog/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>. 
   
   </div>
  </div>
@@ -1152,7 +1043,15 @@ auxiliary object class.</p>
 
 <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 (4)</a></li>
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2010/08/">August (13)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2010/09/">September (7)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2010/10/">October (9)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2010/11/">November (13)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2010/12/">December (5)</a></li>
 
 </ul></li>
 
@@ -1201,66 +1100,70 @@ auxiliary object class.</p>
 <h2>Tags</h2>
 <ul>
 
- <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/3d-printer">3d-printer (13)</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/bitcoin">bitcoin (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">debian (45)</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/debian edu">debian edu (53)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (55)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (76)</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="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (11)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (3)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (5)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (8)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (1)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (4)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (5)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (11)</a></li>
+
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (93)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (71)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (114)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (92)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (18)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (14)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (29)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (14)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap (11)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap (10)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/robot">robot (4)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (10)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (21)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (3)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (13)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (16)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (1)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (10)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (16)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (1)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (7)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (14)</a></li>
 
 </ul>
 
 </div>
 
 <p style="text-align: right">
-Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v3.7</a>
+Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v3.2</a>
 </p>
 </body>
 </html>