]> pere.pagekite.me Git - homepage.git/blobdiff - blog/tags/nuug/nuug.rss
Generated.
[homepage.git] / blog / tags / nuug / nuug.rss
index 24533fd75b6d249a4b316d47b75446fa59e34524..135a65f011014c5a3a8d2b19d98be4ff36ff0670 100644 (file)
@@ -553,9 +553,9 @@ pressemelding om dette sommeren 2005</a>.  Der ble definisjonen til
 <a href="http://www.aaben-standard.dk/">DKUUG</a>,
 <a href="http://europa.eu.int/idabc/servlets/Doc?id=19529">EU-kommissionens
 European Interoperability Framework ( side 9)</a> og 
 <a href="http://www.aaben-standard.dk/">DKUUG</a>,
 <a href="http://europa.eu.int/idabc/servlets/Doc?id=19529">EU-kommissionens
 European Interoperability Framework ( side 9)</a> og 
-<a href="http://www.teknologiradet.no/files/7polert_copy.htm">teknologirådet</a> omtalt.
+<a href="http://www.teknologiradet.no/files/7polert_copy.htm">teknologirådet</a> omtalt.</p>
 
 
-Siden den gang har regjeringens standardiseringsråd dukket opp, og de
+<p>Siden den gang har regjeringens standardiseringsråd dukket opp, og de
 ser ut til å har tatt utgangspunkt i EU-kommisjonens definisjon i
 <a href="http://www.regjeringen.no/nb/dep/fad/kampanjer/standardiseringsradet/arbeidsmetodikk.html?id=476407">sin
 arbeidsmetodikk</a>.  Personlig synes jeg det er en god ide, da
 ser ut til å har tatt utgangspunkt i EU-kommisjonens definisjon i
 <a href="http://www.regjeringen.no/nb/dep/fad/kampanjer/standardiseringsradet/arbeidsmetodikk.html?id=476407">sin
 arbeidsmetodikk</a>.  Personlig synes jeg det er en god ide, da
@@ -2095,7 +2095,7 @@ sikkerhet på sjøen.  En undersøkelse gjennomført av Opinion for
 Gjensidige i 2008 fortalte at halvparten av alle båteierne i landet
 ikke har sjøkart i båten.</p>
 
 Gjensidige i 2008 fortalte at halvparten av alle båteierne i landet
 ikke har sjøkart i båten.</p>
 
-<p>Formatet på de digitale sjøkartene som gjøræs tilgjengelig fra
+<p>Formatet på de digitale sjøkartene som gjøres tilgjengelig fra
 sjøkartverket må være i henhold til en fri og åpen standard, slik at
 en ikke er låst til enkeltaktørers godvilje når datafilene skal tolkes
 og forstås, men trenger ikke publiseres fra sjøkartverket i alle
 sjøkartverket må være i henhold til en fri og åpen standard, slik at
 en ikke er låst til enkeltaktørers godvilje når datafilene skal tolkes
 og forstås, men trenger ikke publiseres fra sjøkartverket i alle
@@ -2345,6 +2345,10 @@ underliggende dataene som jeg ønsker.</p>
 <a href="http://www.fixmystreet.com/">FixMyStreet-installasjon</a>
 tilgang til vektorutgaven av kommunegrensene.  Denne nye karttjenesten
 er ubrukelig til dette.</p>
 <a href="http://www.fixmystreet.com/">FixMyStreet-installasjon</a>
 tilgang til vektorutgaven av kommunegrensene.  Denne nye karttjenesten
 er ubrukelig til dette.</p>
+
+<p>Oppdatering 2011-01-14: Link til kaketesten er forsvunnet, bruk
+<a href="http://blog.okfn.org/2010/03/15/the-cake-test-of-freedom/">denne
+nye i stedet</a>.</p>
 </description>
        </item>
        
 </description>
        </item>
        
@@ -3098,5 +3102,2645 @@ anstrenge oss for å beholde.&lt;/p&gt;
 </description>
        </item>
        
 </description>
        </item>
        
+       <item>
+               <title>Calling tasksel like the installer, while still getting useful output</title>
+               <link>http://people.skolelinux.org/pere/blog/Calling_tasksel_like_the_installer__while_still_getting_useful_output.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Calling_tasksel_like_the_installer__while_still_getting_useful_output.html</guid>
+                <pubDate>Wed, 16 Jun 2010 14:55:00 +0200</pubDate>
+               <description>
+&lt;p&gt;A few times I have had the need to simulate the way tasksel
+installs packages during the normal debian-installer run.  Until now,
+I have ended up letting tasksel do the work, with the annoying problem
+of not getting any feedback at all when something fails (like a
+conffile question from dpkg or a download that fails), using code like
+this:
+
+&lt;blockquote&gt;&lt;pre&gt;
+export DEBIAN_FRONTEND=noninteractive
+tasksel --new-install
+&lt;/pre&gt;&lt;/blockquote&gt;
+
+This would invoke tasksel, let its automatic task selection pick the
+tasks to install, and continue to install the requested tasks without
+any output what so ever.
+
+Recently I revisited this problem while working on the automatic
+package upgrade testing, because tasksel would some times hang without
+any useful feedback, and I want to see what is going on when it
+happen.  Then it occured to me, I can parse the output from tasksel
+when asked to run in test mode, and use that aptitude command line
+printed by tasksel then to simulate the tasksel run.  I ended up using
+code like this:
+
+&lt;blockquote&gt;&lt;pre&gt;
+export DEBIAN_FRONTEND=noninteractive
+cmd=&quot;$(in_target tasksel -t --new-install | sed &#39;s/debconf-apt-progress -- //&#39;)&quot;
+$cmd
+&lt;/pre&gt;&lt;/blockquote&gt;
+
+&lt;p&gt;The content of $cmd is typically something like &quot;&lt;tt&gt;aptitude -q
+--without-recommends -o APT::Install-Recommends=no -y install
+~t^desktop$ ~t^gnome-desktop$ ~t^laptop$ ~pstandard ~prequired
+~pimportant&lt;/tt&gt;&quot;, which will install the gnome desktop task, the
+laptop task and all packages with priority standard , required and
+important, just like tasksel would have done it during
+installation.&lt;/p&gt;
+
+&lt;p&gt;A better approach is probably to extend tasksel to be able to
+install packages without using debconf-apt-progress, for use cases
+like this.&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>Idea for a change to LDAP schemas allowing DNS and DHCP info to be combined into one object</title>
+               <link>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</link>        
+               <guid isPermaLink="true">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</guid>
+                <pubDate>Thu, 24 Jun 2010 00:35:00 +0200</pubDate>
+               <description>
+&lt;p&gt;A while back, I
+&lt;a href=&quot;http://people.skolelinux.org/pere/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html&quot;&gt;complained
+about the fact&lt;/a&gt; that it is not possible with the provided schemas
+for storing DNS and DHCP information in LDAP to combine the two sets
+of information into one LDAP object representing a computer.&lt;/p&gt;
+
+&lt;p&gt;In the mean time, I discovered that a simple fix would be to make
+the dhcpHost object class auxiliary, to allow it to be combined with
+the dNSDomain object class, and thus forming one object for one
+computer when storing both DHCP and DNS information in LDAP.&lt;/p&gt;
+
+&lt;p&gt;If I understand this correctly, it is not safe to do this change
+without also changing the assigned number for the object class, and I
+do not know enough about LDAP schema design to do that properly for
+Debian Edu.&lt;/p&gt;
+
+&lt;p&gt;Anyway, for future reference, this is how I believe we could change
+the
+&lt;a href=&quot;http://tools.ietf.org/html/draft-ietf-dhc-ldap-schema-00&quot;&gt;DHCP
+schema&lt;/a&gt; to solve at least part of the problem with the LDAP schemas
+available today from IETF.&lt;/p&gt;
+
+&lt;pre&gt;
+--- dhcp.schema    (revision 65192)
++++ dhcp.schema    (working copy)
+@@ -376,7 +376,7 @@
+ objectclass ( 2.16.840.1.113719.1.203.6.6
+        NAME &#39;dhcpHost&#39;
+        DESC &#39;This represents information about a particular client&#39;
+-       SUP top
++       SUP top AUXILIARY
+        MUST cn
+        MAY  (dhcpLeaseDN $ dhcpHWAddress $ dhcpOptionsDN $ dhcpStatements $ dhcpComments $ dhcpOption)
+        X-NDS_CONTAINMENT (&#39;dhcpService&#39; &#39;dhcpSubnet&#39; &#39;dhcpGroup&#39;) )
+&lt;/pre&gt;
+
+&lt;p&gt;I very much welcome clues on how to do this properly for Debian
+Edu/Squeeze.  We provide the DHCP schema in our debian-edu-config
+package, and should thus be free to rewrite it as we see fit.&lt;/p&gt;
+
+&lt;p&gt;If you want to help out with implementing this for Debian Edu,
+please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>LUMA, a very nice LDAP GUI</title>
+               <link>http://people.skolelinux.org/pere/blog/LUMA__a_very_nice_LDAP_GUI.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/LUMA__a_very_nice_LDAP_GUI.html</guid>
+                <pubDate>Mon, 28 Jun 2010 00:30:00 +0200</pubDate>
+               <description>
+&lt;p&gt;The last few days I have been looking into the status of the LDAP
+directory in Debian Edu, and in the process I started to miss a GUI
+tool to browse the LDAP tree.  The only one I was able to find in
+Debian/Squeeze and Lenny is
+&lt;a href=&quot;http://luma.sourceforge.net/&quot;&gt;LUMA&lt;/a&gt;, which has proved to
+be a great tool to get a overview of the current LDAP directory
+populated by default in Skolelinux.  Thanks to it, I have been able to
+find empty and obsolete subtrees, misplaced objects and duplicate
+objects.  It will be installed by default in Debian/Squeeze.  If you
+are working with LDAP, give it a go. :)&lt;/p&gt;
+
+&lt;p&gt;I did notice one problem with it I have not had time to report to
+the BTS yet.  There is no .desktop file in the package, so the tool do
+not show up in the Gnome and KDE menus, but only deep down in in the
+Debian submenu in KDE.  I hope that can be fixed before Squeeze is
+released.&lt;/p&gt;
+
+&lt;p&gt;I have not yet been able to get it to modify the tree yet.  I would
+like to move objects and remove subtrees directly in the GUI, but have
+not found a way to do that with LUMA yet.  So in the mean time, I use
+&lt;a href=&quot;http://www.lichteblau.com/ldapvi/&quot;&gt;ldapvi&lt;/a&gt; for that.&lt;/p&gt;
+
+&lt;p&gt;If you have tips on other GUI tools for LDAP that might be useful
+in Debian Edu, please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
+
+&lt;p&gt;Update 2010-06-29: Ross Reedstrom tipped us about the
+&lt;a href=&quot;http://packages.qa.debian.org/g/gq.html&quot;&gt;gq&lt;/a&gt; package as a
+useful GUI alternative.  It seem like a good tool, but is unmaintained
+in Debian and got a RC bug keeping it out of Squeeze.  Unless that
+changes, it will not be an option for Debian Edu based on Squeeze.&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>Caching password, user and group on a roaming Debian laptop</title>
+               <link>http://people.skolelinux.org/pere/blog/Caching_password__user_and_group_on_a_roaming_Debian_laptop.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Caching_password__user_and_group_on_a_roaming_Debian_laptop.html</guid>
+                <pubDate>Thu, 1 Jul 2010 11:40:00 +0200</pubDate>
+               <description>
+&lt;p&gt;For a laptop, centralized user directories and password checking is
+a bit troubling.  Laptops are typically used also when not connected
+to the network, and it is vital for a user to be able to log in or
+unlock the screen saver also when a central server is unavailable.
+This is possible by caching passwords and directory information (user
+and group attributes) locally, and the packages to do so are available
+in Debian.  Here follow two recipes to set this up in Debian/Squeeze.
+It is also possible to set up in Debian/Lenny, but require more manual
+setup there because pam-auth-update is missing in Lenny.&lt;/p&gt;
+
+&lt;h2&gt;LDAP/Kerberos + nscd + libpam-ccreds + libpam-mklocaluser/pam_mkhomedir&lt;/h2&gt;
+
+This is the traditional method with a twist.  The password caching is
+provided by libpam-ccreds (version 10-4 or later is needed on
+Squeeze), and the directory caching is done by nscd.  The directory
+lookup and password checking is done using LDAP.  If one want to use
+Kerberos for password checking the libpam-ldapd package can be
+replaced with libpam-krb5 or libpam-heimdal.  If one is happy having a
+local home directory with the path listed in LDAP, one can use the
+pam_mkhomedir module from pam-modules to make this happen instead of
+using libpam-mklocaluser.  A setup for pam-auth-update to enable
+pam_mkhomedir will have to be written until a fix for
+&lt;a href=&quot;http://bugs.debian.org/568577&quot;&gt;bug #568577&lt;/a&gt; is in the
+archive.  Because I believe it is a bad idea to have local home
+directories using misleading paths like /site/server/partition/, I
+prefer to create a local user with the home directory in /home/.  This
+is done using the libpam-mklocaluser package.&lt;/p&gt;
+
+&lt;p&gt;These packages need to be installed and configured&lt;/p&gt;
+
+&lt;blockquote&gt;&lt;pre&gt;
+libnss-ldapd libpam-ldapd nscd libpam-ccreds libpam-mklocaluser
+&lt;/pre&gt;&lt;/blockquote&gt;
+
+&lt;p&gt;The ldapd packages will ask for LDAP connection information, and
+one have to fill in the values that fits ones own site.  Make sure the
+PAM part uses encrypted connections, to make sure the password is not
+sent in clear text to the LDAP server.  I&#39;ve been unable to get TLS
+certificate checking for a self signed certificate working, which make
+LDAP authentication unsafe for Debian Edu (nslcd is not checking if it
+is talking to the correct LDAP server), and very much welcome feedback
+on how to get this working.&lt;/p&gt;
+
+&lt;p&gt;Because nscd do not have a default configuration fit for offline
+caching until &lt;a href=&quot;http://bugs.debian.org/485282&quot;&gt;bug #485282&lt;/a&gt;
+is fixed, this configuration should be used instead of the one
+currently in /etc/nscd.conf.  The changes are in the fields
+reload-count and positive-time-to-live, and is based on the
+instructions I found in the
+&lt;a href=&quot;http://www.flyn.org/laptopldap/&quot;&gt;LDAP for Mobile Laptops&lt;/a&gt;
+instructions by Flyn Computing.&lt;/p&gt;
+
+&lt;blockquote&gt;&lt;pre&gt;
+       debug-level             0
+       reload-count            unlimited
+       paranoia                no
+
+       enable-cache            passwd          yes
+       positive-time-to-live   passwd          2592000
+       negative-time-to-live   passwd          20
+       suggested-size          passwd          211
+       check-files             passwd          yes
+       persistent              passwd          yes
+       shared                  passwd          yes
+       max-db-size             passwd          33554432
+       auto-propagate          passwd          yes
+
+       enable-cache            group           yes
+       positive-time-to-live   group           2592000
+       negative-time-to-live   group           20
+       suggested-size          group           211
+       check-files             group           yes
+       persistent              group           yes
+       shared                  group           yes
+       max-db-size             group           33554432
+       auto-propagate          group           yes
+
+       enable-cache            hosts           no
+       positive-time-to-live   hosts           2592000
+       negative-time-to-live   hosts           20
+       suggested-size          hosts           211
+       check-files             hosts           yes
+       persistent              hosts           yes
+       shared                  hosts           yes
+       max-db-size             hosts           33554432
+
+       enable-cache            services        yes
+       positive-time-to-live   services        2592000
+       negative-time-to-live   services        20
+       suggested-size          services        211
+       check-files             services        yes
+       persistent              services        yes
+       shared                  services        yes
+       max-db-size             services        33554432
+&lt;/pre&gt;&lt;/blockquote&gt;
+
+&lt;p&gt;While we wait for a mechanism to update /etc/nsswitch.conf
+automatically like the one provided in
+&lt;a href=&quot;http://bugs.debian.org/496915&quot;&gt;bug #496915&lt;/a&gt;, the file
+content need to be manually replaced to ensure LDAP is used as the
+directory service on the machine.  /etc/nsswitch.conf should normally
+look like this:&lt;/p&gt;
+
+&lt;blockquote&gt;&lt;pre&gt;
+passwd:         files ldap
+group:          files ldap
+shadow:         files ldap
+hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4
+networks:       files
+protocols:      files
+services:       files
+ethers:         files
+rpc:            files
+netgroup:       files ldap
+&lt;/pre&gt;&lt;/blockquote&gt;
+
+&lt;p&gt;The important parts are that ldap is listed last for passwd, group,
+shadow and netgroup.&lt;/p&gt;
+
+&lt;p&gt;With these changes in place, any user in LDAP will be able to log
+in locally on the machine using for example kdm, get a local home
+directory created and have the password as well as user and group
+attributes cached.
+
+&lt;h2&gt;LDAP/Kerberos + nss-updatedb + libpam-ccreds +
+  libpam-mklocaluser/pam_mkhomedir&lt;/h2&gt;
+
+&lt;p&gt;Because nscd have had its share of problems, and seem to have
+problems doing proper caching, I&#39;ve seen suggestions and recipes to
+use nss-updatedb to copy parts of the LDAP database locally when the
+LDAP database is available.  I have not tested such setup, because I
+discovered sssd.&lt;/p&gt;
+
+&lt;h2&gt;LDAP/Kerberos + sssd + libpam-mklocaluser&lt;/h2&gt;
+
+&lt;p&gt;A more flexible and robust setup than the nscd combination
+mentioned earlier that has shown up recently, is the
+&lt;a href=&quot;https://fedorahosted.org/sssd/&quot;&gt;sssd&lt;/a&gt; package from Redhat.
+It is part of the &lt;a href=&quot;http://www.freeipa.org/&quot;&gt;FreeIPA&lt;/A&gt; project
+to provide a Active Directory like directory service for Linux
+machines.  The sssd system combines the caching of passwords and user
+information into one package, and remove the need for nscd and
+libpam-ccreds.  It support LDAP and Kerberos, but not NIS.  Version
+1.2 do not support netgroups, but it is said that it will support this
+in version 1.5 expected to show up later in 2010.  Because the
+&lt;a href=&quot;http://packages.qa.debian.org/s/sssd.html&quot;&gt;sssd package&lt;/a&gt;
+was missing in Debian, I ended up co-maintaining it with Werner, and
+version 1.2 is now in testing.
+
+&lt;p&gt;These packages need to be installed and configured to get the
+roaming setup I want&lt;/p&gt;
+
+&lt;blockquote&gt;&lt;pre&gt;
+libpam-sss libnss-sss libpam-mklocaluser
+&lt;/pre&gt;&lt;/blockquote&gt;
+
+The complete setup of sssd is done by editing/creating
+&lt;tt&gt;/etc/sssd/sssd.conf&lt;/tt&gt;.
+
+&lt;blockquote&gt;&lt;pre&gt;
+[sssd]
+config_file_version = 2
+reconnection_retries = 3
+sbus_timeout = 30
+services = nss, pam
+domains = INTERN
+
+[nss]
+filter_groups = root
+filter_users = root
+reconnection_retries = 3
+
+[pam]
+reconnection_retries = 3
+
+[domain/INTERN]
+enumerate = false
+cache_credentials = true
+
+id_provider = ldap
+auth_provider = ldap
+chpass_provider = ldap
+
+ldap_uri = ldap://ldap
+ldap_search_base = dc=skole,dc=skolelinux,dc=no
+ldap_tls_reqcert = never
+ldap_tls_cacert = /etc/ssl/certs/ca-certificates.crt
+&lt;/pre&gt;&lt;/blockquote&gt;
+
+&lt;p&gt;I got the same problem here with certificate checking.  Had to set
+&quot;ldap_tls_reqcert = never&quot; to get it working.&lt;/p&gt;
+
+&lt;p&gt;With the libnss-sss package in testing at the moment, the
+nsswitch.conf file is update automatically, so there is no need to
+modify it manually.&lt;/p&gt;
+
+&lt;p&gt;If you want to help out with implementing this for Debian Edu,
+please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>jXplorer, a very nice LDAP GUI</title>
+               <link>http://people.skolelinux.org/pere/blog/jXplorer__a_very_nice_LDAP_GUI.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/jXplorer__a_very_nice_LDAP_GUI.html</guid>
+                <pubDate>Fri, 9 Jul 2010 12:55:00 +0200</pubDate>
+               <description>
+&lt;p&gt;Since
+&lt;a href=&quot;http://people.skolelinux.org/pere/blog/LUMA__a_very_nice_LDAP_GUI.html&quot;&gt;my
+last post&lt;/a&gt; about available LDAP tools in Debian, I was told about a
+LDAP GUI that is even better than luma.  The java application
+&lt;a href=&quot;http://jxplorer.org/&quot;&gt;jXplorer&lt;/a&gt; is claimed to be capable of
+moving LDAP objects and subtrees using drag-and-drop, and can
+authenticate using Kerberos.  I have only tested the Kerberos
+authentication, but do not have a LDAP setup allowing me to rewrite
+LDAP with my test user yet.  It is
+&lt;a href=&quot;http://packages.qa.debian.org/j/jxplorer.html&quot;&gt;available in
+Debian&lt;/a&gt; testing and unstable at the moment.  The only problem I
+have with it is how it handle errors.  If something go wrong, its
+non-intuitive behaviour require me to go through some query work list
+and remove the failing query.  Nothing big, but very annoying.&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>Idea for storing LTSP configuration in LDAP</title>
+               <link>http://people.skolelinux.org/pere/blog/Idea_for_storing_LTSP_configuration_in_LDAP.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Idea_for_storing_LTSP_configuration_in_LDAP.html</guid>
+                <pubDate>Sun, 11 Jul 2010 22:00:00 +0200</pubDate>
+               <description>
+&lt;p&gt;Vagrant mentioned on IRC today that ltsp_config now support
+sourcing files from /usr/share/ltsp/ltsp_config.d/ on the thin
+clients, and that this can be used to fetch configuration from LDAP if
+Debian Edu choose to store configuration there.&lt;/p&gt;
+
+&lt;p&gt;Armed with this information, I got inspired and wrote a test module
+to get configuration from LDAP.  The idea is to look up the MAC
+address of the client in LDAP, and look for attributes on the form
+ltspconfigsetting=value, and use this to export SETTING=value to the
+LTSP clients.&lt;/p&gt;
+
+&lt;p&gt;The goal is to be able to store the LTSP configuration attributes
+in a &quot;computer&quot; LDAP object used by both DNS and DHCP, and thus
+allowing us to store all information about a computer in one place.&lt;/p&gt;
+
+&lt;p&gt;This is a untested draft implementation, and I welcome feedback on
+this approach.  A real LDAP schema for the ltspClientAux objectclass
+need to be written.  Comments, suggestions, etc?&lt;/p&gt;
+
+&lt;blockquote&gt;&lt;pre&gt;
+# Store in /opt/ltsp/$arch/usr/share/ltsp/ltsp_config.d/ldap-config
+#
+# Fetch LTSP client settings from LDAP based on MAC address
+#
+# Uses ethernet address as stored in the dhcpHost objectclass using
+# the dhcpHWAddress attribute or ethernet address stored in the
+# ieee802Device objectclass with the macAddress attribute.
+#
+# This module is written to be schema agnostic, and only depend on the
+# existence of attribute names.
+#
+# The LTSP configuration variables are saved directly using a
+# ltspConfig prefix and uppercasing the rest of the attribute name.
+# To set the SERVER variable, set the ltspConfigServer attribute.
+#
+# Some LDAP schema should be created with all the relevant
+# configuration settings.  Something like this should work:
+# 
+# objectclass ( 1.1.2.2 NAME &#39;ltspClientAux&#39;
+#     SUP top
+#     AUXILIARY
+#     MAY ( ltspConfigServer $ ltsConfigSound $ ... )
+
+LDAPSERVER=$(debian-edu-ldapserver)
+if [ &quot;$LDAPSERVER&quot; ] ; then
+    LDAPBASE=$(debian-edu-ldapserver -b)
+    for MAC in $(LANG=C ifconfig |grep -i hwaddr| awk &#39;{print $5}&#39;|sort -u) ; do
+       filter=&quot;(|(dhcpHWAddress=ethernet $MAC)(macAddress=$MAC))&quot;
+       ldapsearch -h &quot;$LDAPSERVER&quot; -b &quot;$LDAPBASE&quot; -v -x &quot;$filter&quot; | \
+           grep &#39;^ltspConfig&#39; | while read attr value ; do
+           # Remove prefix and convert to upper case
+           attr=$(echo $attr | sed &#39;s/^ltspConfig//i&#39; | tr a-z A-Z)
+           # bass value on to clients
+           eval &quot;$attr=$value; export $attr&quot;
+       done
+    done
+fi
+&lt;/pre&gt;&lt;/blockquote&gt;
+
+&lt;p&gt;I&#39;m not sure this shell construction will work, because I suspect
+the while block might end up in a subshell causing the variables set
+there to not show up in ltsp-config, but if that is the case I am sure
+the code can be restructured to make sure the variables are passed on.
+I expect that can be solved with some testing. :)&lt;/p&gt;
+
+&lt;p&gt;If you want to help out with implementing this for Debian Edu,
+please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
+
+&lt;p&gt;Update 2010-07-17: I am aware of another effort to store LTSP
+configuration in LDAP that was created around year 2000 by
+&lt;a href=&quot;http://www.pcxperience.com/thinclient/documentation/ldap.html&quot;&gt;PC
+Xperience, Inc., 2000&lt;/a&gt;.  I found its
+&lt;a href=&quot;http://people.redhat.com/alikins/ltsp/ldap/&quot;&gt;files&lt;/a&gt; on a
+personal home page over at redhat.com.&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>Combining PowerDNS and ISC DHCP LDAP objects</title>
+               <link>http://people.skolelinux.org/pere/blog/Combining_PowerDNS_and_ISC_DHCP_LDAP_objects.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Combining_PowerDNS_and_ISC_DHCP_LDAP_objects.html</guid>
+                <pubDate>Wed, 14 Jul 2010 23:45:00 +0200</pubDate>
+               <description>
+&lt;p&gt;For a while now, I have wanted to find a way to change the DNS and
+DHCP services in Debian Edu to use the same LDAP objects for a given
+computer, to avoid the possibility of having a inconsistent state for
+a computer in LDAP (as in DHCP but no DNS entry or the other way
+around) and make it easier to add computers to LDAP.&lt;/p&gt;
+
+&lt;p&gt;I&#39;ve looked at how powerdns and dhcpd is using LDAP, and using this
+information finally found a solution that seem to work.&lt;/p&gt;
+
+&lt;p&gt;The old setup required three LDAP objects for a given computer.
+One forward DNS entry, one reverse DNS entry and one DHCP entry.  If
+we switch powerdns to use its strict LDAP method (ldap-method=strict
+in pdns-debian-edu.conf), the forward and reverse DNS entries are
+merged into one while making it impossible to transfer the reverse map
+to a slave DNS server.&lt;/p&gt;
+
+&lt;p&gt;If we also replace the object class used to get the DNS related
+attributes to one allowing these attributes to be combined with the
+dhcphost object class, we can merge the DNS and DHCP entries into one.
+I&#39;ve written such object class in the dnsdomainaux.schema file (need
+proper OIDs, but that is a minor issue), and tested the setup.  It
+seem to work.&lt;/p&gt;
+
+&lt;p&gt;With this test setup in place, we can get away with one LDAP object
+for both DNS and DHCP, and even the LTSP configuration I suggested in
+an earlier email.  The combined LDAP object will look something like
+this:&lt;/p&gt;
+
+&lt;blockquote&gt;&lt;pre&gt;
+  dn: cn=hostname,cn=group1,cn=THINCLIENTS,cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
+  cn: hostname
+  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
+  ldapconfigsound: Y
+&lt;/pre&gt;&lt;/blockquote&gt;
+
+&lt;p&gt;The DNS server uses the associateddomain and arecord entries, while
+the DHCP server uses the dhcphwaddress and dhcpstatements entries
+before asking DNS to resolve the fixed-adddress.  LTSP will use
+dhcphwaddress or associateddomain and the ldapconfig* attributes.&lt;/p&gt;
+
+&lt;p&gt;I am not yet sure if I can get the DHCP server to look for its
+dhcphost in a different location, to allow us to put the objects
+outside the &quot;DHCP Config&quot; subtree, but hope to figure out a way to do
+that.  If I can&#39;t figure out a way to do that, we can still get rid of
+the hosts subtree and move all its content into the DHCP Config tree
+(which probably should be renamed to be more related to the new
+content.  I suspect cn=dnsdhcp,ou=services or something like that
+might be a good place to put it.&lt;/p&gt;
+
+&lt;p&gt;If you want to help out with implementing this for Debian Edu,
+please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>What are they searching for - PowerDNS and ISC DHCP in LDAP</title>
+               <link>http://people.skolelinux.org/pere/blog/What_are_they_searching_for___PowerDNS_and_ISC_DHCP_in_LDAP.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/What_are_they_searching_for___PowerDNS_and_ISC_DHCP_in_LDAP.html</guid>
+                <pubDate>Sat, 17 Jul 2010 21:00:00 +0200</pubDate>
+               <description>
+&lt;p&gt;This is a
+&lt;a href=&quot;http://people.skolelinux.org/pere/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html&quot;&gt;followup&lt;/a&gt;
+on my
+&lt;a href=&quot;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&quot;&gt;previous
+work&lt;/a&gt; on
+&lt;a href=&quot;http://people.skolelinux.org/pere/blog/Combining_PowerDNS_and_ISC_DHCP_LDAP_objects.html&quot;&gt;merging
+all&lt;/a&gt; the computer related LDAP objects in Debian Edu.&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+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.
+
+&lt;p&gt;&lt;strong&gt;powerdns&lt;/strong&gt;&lt;/p&gt;
+
+&lt;a href=&quot;http://www.linuxnetworks.de/doc/index.php/PowerDNS_LDAP_Backend&quot;&gt;Clues
+on how to&lt;/a&gt; set up PowerDNS to use a LDAP backend is available on
+the web.
+
+&lt;p&gt;PowerDNS have two modes of operation using LDAP as its backend.
+One &quot;strict&quot; mode where the forward and reverse DNS lookups are done
+using the same LDAP objects, and a &quot;tree&quot; 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.&lt;/p&gt;
+
+&lt;p&gt;In tree mode, the server is set up to use a LDAP subtree as its
+base, and uses a &quot;base&quot; scoped search for the DNS name by adding
+&quot;dc=tjener,dc=intern,&quot; to the base with a filter for
+&quot;(associateddomain=tjener.intern)&quot; for the forward entry and
+&quot;dc=2,dc=2,dc=0,dc=10,dc=in-addr,dc=arpa,&quot; with a filter for
+&quot;(associateddomain=2.2.0.10.in-addr.arpa)&quot; 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:&lt;/p&gt;
+
+&lt;blockquote&gt;&lt;pre&gt;
+ldapsearch -h ldap \
+  -b dc=tjener,dc=intern,ou=hosts,dc=skole,dc=skolelinux,dc=no \
+  -s base -x &#39;(associateddomain=tjener.intern)&#39; 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 &#39;(associateddomain=2.2.0.10.in-addr.arpa)&#39;
+  dnsttl, arecord, nsrecord, cnamerecord soarecord ptrrecord \
+  hinforecord mxrecord txtrecord rprecord aaaarecord locrecord \
+  srvrecord naptrrecord modifytimestamp
+&lt;/pre&gt;&lt;/blockquote&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;blockquote&gt;&lt;pre&gt;
+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
+&lt;/pre&gt;&lt;/blockquote&gt;
+
+&lt;p&gt;In strict mode, the server behaves differently.  When looking for
+forward DNS entries, it is doing a &quot;subtree&quot; scoped search with the
+same base as in the tree mode for a object with filter
+&quot;(associateddomain=tjener.intern)&quot; 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 &quot;(arecord=10.0.2.2)&quot;
+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.&lt;/p&gt;
+
+&lt;p&gt;The forward and reverse searches can be simulated using ldapsearch
+like this:&lt;/p&gt;
+
+&lt;blockquote&gt;&lt;pre&gt;
+ldapsearch -h ldap -b ou=hosts,dc=skole,dc=skolelinux,dc=no -s sub -x \
+  &#39;(associateddomain=tjener.intern)&#39; 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 \
+  &#39;(arecord=10.0.2.2)&#39; associateddomain dnsttl modifytimestamp
+&lt;/pre&gt;&lt;/blockquote&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;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).&lt;/p&gt;
+
+&lt;p&gt;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):&lt;/p&gt;
+
+&lt;blockquote&gt;&lt;pre&gt;
+objectclass ( some-oid NAME &#39;dnsDomainAux&#39;
+    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
+    ))
+&lt;/pre&gt;&lt;/blockquote&gt;
+
+&lt;p&gt;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&#39;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.&lt;/p&gt;
+
+&lt;p&gt;&lt;strong&gt;ISC dhcp&lt;/strong&gt;&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;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:&lt;/p&gt;
+
+&lt;blockquote&gt;&lt;pre&gt;
+ldap-base-dn &quot;dc=skole,dc=skolelinux,dc=no&quot;;
+ldap-dhcp-server-cn &quot;dhcp&quot;;
+&lt;/pre&gt;&lt;/blockquote&gt;
+
+&lt;p&gt;The DHCP server uses this information to nest all the DHCP
+configuration it need.  The cn &quot;dhcp&quot; is located using the given LDAP
+base and the filter &quot;(&amp;(objectClass=dhcpServer)(cn=dhcp))&quot;.  The
+search result is this entry:&lt;/p&gt;
+
+&lt;blockquote&gt;&lt;pre&gt;
+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
+&lt;/pre&gt;&lt;/blockquote&gt;
+
+&lt;p&gt;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 &quot;cn=DHCP
+Config,dc=skole,dc=skolelinux,dc=no&quot; and filter
+&quot;(&amp;(objectClass=dhcpService)(|(dhcpPrimaryDN=cn=dhcp,dc=skole,dc=skolelinux,dc=no)(dhcpSecondaryDN=cn=dhcp,dc=skole,dc=skolelinux,dc=no)))&quot;.
+The search result is this entry:&lt;/p&gt;
+
+&lt;blockquote&gt;&lt;pre&gt;
+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
+&lt;/pre&gt;&lt;/blockquote&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;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 &quot;cn=DHCP Config,dc=skole,dc=skolelinux,dc=no&quot; as
+the base and &quot;(&amp;(objectClass=dhcpHost)(dhcpHWAddress=ethernet
+00:00:00:00:00:00))&quot; as the filter.  This is what a host object look
+like:&lt;/p&gt;
+
+&lt;blockquote&gt;&lt;pre&gt;
+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
+&lt;/pre&gt;&lt;/blockquote&gt;
+
+&lt;p&gt;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.
+
+&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;
+
+&lt;p&gt;The PowerDNS implementation seem to be very flexible when it come
+to which LDAP schemas to use.  While its &quot;tree&quot; mode is rigid when it
+come to the the LDAP structure, the &quot;strict&quot; mode is very flexible,
+allowing DNS objects to be stored anywhere under the base cn specified
+in the configuration.&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;Based on the observed behaviour, I suspect a LDAP structure like
+this might work for Debian Edu:&lt;/p&gt;
+
+&lt;blockquote&gt;&lt;pre&gt;
+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)
+&lt;/pre&gt;&lt;/blockquote&gt;
+
+&lt;P&gt;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.&lt;/p&gt;
+
+&lt;p&gt;The combined object under the machines subtree would look something
+like this:&lt;/p&gt;
+    
+&lt;blockquote&gt;&lt;pre&gt;
+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
+&lt;/pre&gt;&lt;/blockquote&gt;
+
+&lt;/p&gt;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.&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>Digitale restriksjonsmekanismer fikk meg til å slutte å kjøpe musikk</title>
+               <link>http://people.skolelinux.org/pere/blog/Digitale_restriksjonsmekanismer_fikk_meg_til____slutte____kj__pe_musikk.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Digitale_restriksjonsmekanismer_fikk_meg_til____slutte____kj__pe_musikk.html</guid>
+                <pubDate>Thu, 22 Jul 2010 23:50:00 +0200</pubDate>
+               <description>
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>One step closer to single signon in Debian Edu</title>
+               <link>http://people.skolelinux.org/pere/blog/One_step_closer_to_single_signon_in_Debian_Edu.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/One_step_closer_to_single_signon_in_Debian_Edu.html</guid>
+                <pubDate>Sun, 25 Jul 2010 10:00:00 +0200</pubDate>
+               <description>
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;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. :)&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;If you want to help out with implementing Kerberos for Debian Edu,
+please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>First Debian Edu test release (alpha0) based on Squeeze is released</title>
+               <link>http://people.skolelinux.org/pere/blog/First_Debian_Edu_test_release__alpha0__based_on_Squeeze_is_released.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/First_Debian_Edu_test_release__alpha0__based_on_Squeeze_is_released.html</guid>
+                <pubDate>Tue, 27 Jul 2010 17:45:00 +0200</pubDate>
+               <description>
+&lt;p&gt;I just posted this announcement culminating several months of work
+with the next Debian Edu release.  Not nearly done, but one major step
+completed.&lt;/p&gt;
+
+&lt;blockquote&gt;
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;Changes compared to the lenny based version&lt;/p&gt;
+
+&lt;ul&gt;
+&lt;li&gt;Everything from Debian Squeeze
+&lt;ul&gt;
+  &lt;li&gt;Desktop environment KDE 4.4 =&gt; the new KDE desktop in
+         combination with some new artwork
+  &lt;li&gt;Web browser Iceweasel 3.5
+  &lt;li&gt;OpenOffice.org 3.2
+  &lt;li&gt;Educational toolbox GCompris 9.3
+  &lt;li&gt;Music creator Rosegarden 10.04.2
+  &lt;li&gt;Image editor Gimp 2.6.10
+  &lt;li&gt;Virtual universe Celestia 1.6.0
+  &lt;li&gt;Virtual stargazer Stellarium 0.10.4
+  &lt;li&gt;3D modeler Blender 2.49.2 (new application)
+  &lt;li&gt;Video editor Kdenlive 0.7.7 (new application)
+&lt;/ul&gt;&lt;/li&gt;
+&lt;li&gt;Now using Kerberos for password checking (migration not finished).
+    Enabled for:
+&lt;ul&gt;
+  &lt;li&gt;PAM
+  &lt;li&gt;LDAP
+  &lt;li&gt;IMAP
+  &lt;li&gt;SMTP (sender verification)
+&lt;/ul&gt;
+&lt;/li&gt;
+&lt;li&gt;New experimental roaming workstation profile for laptops.&lt;/li&gt;
+&lt;li&gt;Show welcome page to users when they first log in. The URL is
+    fetched from LDAP.&lt;/li&gt;
+&lt;li&gt;New LXDE desktop option, in addition to KDE (default) and Gnome.&lt;/li&gt;
+&lt;li&gt;General cleanup (not finished)&lt;/li&gt;
+&lt;/ul&gt;
+&lt;p&gt;The following features are not working as they should&lt;/p&gt;
+
+&lt;ul&gt;
+&lt;li&gt;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.&lt;/li&gt;
+&lt;li&gt;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.&lt;/li&gt;
+&lt;li&gt;The restructured KDE menu is not implemented.&lt;/li&gt;
+&lt;li&gt;The LDAP server setup need to be reviewed for security.&lt;/li&gt;
+&lt;li&gt;The LDAP directory structure need to be reworked.&lt;/li&gt;
+&lt;li&gt;Different sets of packages are installed when using the DVD and the
+    netinst CD. More packages are installed using the netinst CD.&lt;/li&gt;
+&lt;li&gt;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.&lt;/li&gt;
+&lt;li&gt;Some packages lack translations. See
+    http://wiki.debian.org/DebianEdu/Status/Squeeze for updated status,
+    and help out with translations.&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;p&gt;To download this multiarch netinstall release you can use&lt;/p&gt;
+
+&lt;ul&gt;
+&lt;li&gt;&lt;a href=&quot;ftp://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-CD.iso&quot;&gt;ftp://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-CD.iso&lt;/a&gt;&lt;/li&gt;
+&lt;li&gt;&lt;a href=&quot;http://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-CD.iso&quot;&gt;http://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-CD.iso&lt;/a&gt;&lt;/li&gt;
+&lt;li&gt;rsync -avzP ftp.skolelinux.org::skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-CD.iso&lt;/li&gt;
+&lt;/ul&gt;
+&lt;p&gt;To download this multiarch dvd release you can use&lt;/p&gt;
+
+&lt;ul&gt;
+&lt;li&gt;&lt;a href=&quot;ftp://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-DVD.iso&quot;&gt;ftp://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-DVD.iso&lt;/a&gt;&lt;/li&gt;
+&lt;li&gt;&lt;a href=&quot;http://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-DVD.iso&quot;&gt;http://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-DVD.iso&lt;/a&gt;&lt;/li&gt;
+&lt;li&gt;rsync -avzP ftp.skolelinux.org::skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-DVD.iso&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;p&gt;There is no source DVD available yet. It will be prepared when we
+get closer to the final release.&lt;/p&gt;
+
+&lt;p&gt;The MD5SUM of these images are&lt;/p&gt;
+
+&lt;ul&gt;
+&lt;li&gt;3dbf45d59f42a53518b6e3c9ec3b5eb6 debian-edu-6.0.0+edua0-CD.iso&lt;/li&gt;
+&lt;li&gt;22f2cbfce281d1c6e478be452638675d debian-edu-6.0.0+edua0-DVD.iso&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;p&gt;The SHA1SUM of these images are&lt;/p&gt;
+&lt;ul&gt;
+&lt;li&gt;c53d1b69b40cf37cd27aefaf33f6f6a3821bedf0 debian-edu-6.0.0+edua0-CD.iso&lt;/li&gt;
+&lt;li&gt;2ec29d7db676d59d32197b05c277ffe16348376c debian-edu-6.0.0+edua0-DVD.iso&lt;/li&gt;
+&lt;/ul&gt;
+&lt;p&gt;How to report bugs:
+http://wiki.debian.org/DebianEdu/HowTo/ReportBugsInBugzilla&lt;/p&gt;
+
+&lt;p&gt;Please direct replies to debian-edu@lists.debian.org&lt;/p&gt;
+&lt;/blockquote&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>Circular package dependencies harms apt recovery</title>
+               <link>http://people.skolelinux.org/pere/blog/Circular_package_dependencies_harms_apt_recovery.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Circular_package_dependencies_harms_apt_recovery.html</guid>
+                <pubDate>Tue, 27 Jul 2010 23:50:00 +0200</pubDate>
+               <description>
+&lt;p&gt;I discovered this while doing
+&lt;a href=&quot;http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html&quot;&gt;automated
+testing of upgrades from Debian Lenny to Squeeze&lt;/a&gt;.  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.&lt;/p&gt;
+
+&lt;p&gt;An example is from todays
+&lt;a href=&quot;http://people.skolelinux.org/~pere/debian-upgrade-testing//test-20100727-lenny-squeeze-kde-aptitude.txt&quot;&gt;upgrade
+of KDE using aptitude&lt;/a&gt;.  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.&lt;/p&gt;
+
+&lt;p&gt;In this log, the problem manifest itself with this error:&lt;/p&gt;
+
+&lt;blockquote&gt;&lt;pre&gt;
+dpkg: dependency problems prevent configuration of perl-modules:
+ perl-modules depends on perl (&gt;= 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
+&lt;/pre&gt;&lt;/blockquote&gt;
+
+&lt;p&gt;The perl/perl-modules circular dependency is already
+&lt;a href=&quot;http://bugs.debian.org/527917&quot;&gt;reported as a bug&lt;/a&gt;, 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.&lt;/p&gt;
+
+&lt;p&gt;Thanks to
+&lt;a href=&quot;http://lists.debian.org/debian-devel/2010/06/msg00116.html&quot;&gt;the
+tireless effort by Bill Allombert&lt;/a&gt;, the number of circular
+dependencies
+&lt;a href=&quot;http://debian.semistable.com/debgraph.out.html&quot;&gt;left in Debian
+is dropping&lt;/a&gt;, and perhaps it will reach zero one day. :)&lt;/p&gt;
+
+&lt;p&gt;Todays testing also exposed a bug in
+&lt;a href=&quot;http://bugs.debian.org/590605&quot;&gt;update-notifier&lt;/a&gt; and
+&lt;a href=&quot;http://bugs.debian.org/590604&quot;&gt;different behaviour&lt;/a&gt; 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.&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>Debian Edu roaming workstation - at the university of Oslo</title>
+               <link>http://people.skolelinux.org/pere/blog/Debian_Edu_roaming_workstation___at_the_university_of_Oslo.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_roaming_workstation___at_the_university_of_Oslo.html</guid>
+                <pubDate>Tue, 3 Aug 2010 23:30:00 +0200</pubDate>
+               <description>
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>Autodetecting Client setup for roaming workstations in Debian Edu</title>
+               <link>http://people.skolelinux.org/pere/blog/Autodetecting_Client_setup_for_roaming_workstations_in_Debian_Edu.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Autodetecting_Client_setup_for_roaming_workstations_in_Debian_Edu.html</guid>
+                <pubDate>Sat, 7 Aug 2010 14:45:00 +0200</pubDate>
+               <description>
+&lt;p&gt;A few days ago, I
+&lt;a href=&quot;http://people.skolelinux.org/pere/blog/Debian_Edu_roaming_workstation___at_the_university_of_Oslo.html&quot;&gt;tried
+to install&lt;/a&gt; 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.&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;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. :(&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;If you want to help out with implementing these things for Debian
+Edu, please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>Testing if a file system can be used for home directories...</title>
+               <link>http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html</guid>
+                <pubDate>Sun, 8 Aug 2010 21:20:00 +0200</pubDate>
+               <description>
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;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:&lt;/p&gt;
+
+&lt;pre&gt;
+/*
+ * 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 &amp;lt;errno.h&gt;
+#include &amp;lt;fcntl.h&gt;
+#include &amp;lt;stdio.h&gt;
+#include &amp;lt;string.h&gt;
+#include &amp;lt;stdlib.h&gt;
+#include &amp;lt;sys/file.h&gt;
+#include &amp;lt;sys/stat.h&gt;
+#include &amp;lt;sys/types.h&gt;
+#include &amp;lt;unistd.h&gt;
+
+#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 &amp;lt;URL: http://www.sqlite.org./faq.html#q5 &gt;.
+ */
+#include &amp;lt;sqlite3.h&gt;
+#define CREATE_TABLE_USERS                                              \
+  &quot;CREATE TABLE users (user_id INT UNIQUE, login TEXT, lastname TEXT, firstname TEXT, birthdate TEXT, class_id INT ); &quot;
+int test_sqlite_open(void) {
+  char *zErrMsg;
+  char *name = &quot;testsqlite.db&quot;;
+  sqlite3 *db=NULL;
+  unlink(name);
+  int rc = sqlite3_open(name, &amp;db);
+  if( rc ){
+    printf(&quot;error: sqlite open of %s failed: %s\n&quot;, name, sqlite3_errmsg(db));
+    sqlite3_close(db);
+    return -1;
+  }
+
+  /* create tables */
+  rc = sqlite3_exec(db,CREATE_TABLE_USERS, NULL,  0, &amp;zErrMsg);
+  if( rc != SQLITE_OK ){
+    printf(&quot;error: sqlite table create failed: %s\n&quot;, zErrMsg);
+    sqlite3_close(db);
+    return -1;
+  }
+  printf(&quot;info: sqlite worked\n&quot;);
+  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
+ * &amp;lt;URL:http://www.cygwin.com/ml/cygwin/2001-08/msg00854.html&gt; and the
+ * POSIX specification
+ * &amp;lt;URL:http://www.opengroup.org/onlinepubs/009695399/functions/fcntl.html&gt;.
+ */
+int test_gcompris_locking(void) {
+  struct flock fl;
+  char *name = &quot;testsqlite.db&quot;;
+  unlink(name);
+  int fd = open(name, O_RDWR|O_CREAT|O_LARGEFILE, 0644);
+  printf(&quot;info: testing fcntl locking\n&quot;);
+
+  fl.l_whence = SEEK_SET;
+  fl.l_pid    = getpid();
+  printf(&quot;  Read-locking 1 byte from 1073741824&quot;);
+  fl.l_start  = 1073741824;
+  fl.l_len    = 1;
+  fl.l_type   = F_RDLCK;
+  if (0 != fcntl(fd, F_SETLK, &amp;fl) ) printf(&quot; - error!\n&quot;); else printf(&quot;\n&quot;);
+
+  printf(&quot;  Read-locking 510 byte from 1073741826&quot;);
+  fl.l_start  = 1073741826;
+  fl.l_len    = 510;
+  fl.l_type   = F_RDLCK;
+  if (0 != fcntl(fd, F_SETLK, &amp;fl) ) printf(&quot; - error!\n&quot;); else printf(&quot;\n&quot;);
+
+  printf(&quot;  Unlocking 1 byte from 1073741824&quot;);
+  fl.l_start  = 1073741824;
+  fl.l_len    = 1;
+  fl.l_type   = F_UNLCK;
+  if (0 != fcntl(fd, F_SETLK, &amp;fl) ) printf(&quot; - error!\n&quot;); else printf(&quot;\n&quot;);
+
+  printf(&quot;  Write-locking 1 byte from 1073741824&quot;);
+  fl.l_start  = 1073741824;
+  fl.l_len    = 1;
+  fl.l_type   = F_WRLCK;
+  if (0 != fcntl(fd, F_SETLK, &amp;fl) ) printf(&quot; - error!\n&quot;); else printf(&quot;\n&quot;);
+
+  printf(&quot;  Write-locking 510 byte from 1073741826&quot;);
+  fl.l_start  = 1073741826;
+  fl.l_len    = 510;
+  if (0 != fcntl(fd, F_SETLK, &amp;fl) ) printf(&quot; - error!\n&quot;); else printf(&quot;\n&quot;);
+
+  printf(&quot;  Unlocking 2 byte from 1073741824&quot;);
+  fl.l_start  = 1073741824;
+  fl.l_len    = 2;
+  fl.l_type   = F_UNLCK;
+  if (0 != fcntl(fd, F_SETLK, &amp;fl) ) printf(&quot; - error!\n&quot;); else printf(&quot;\n&quot;);
+
+  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 &#39;sync&#39; seem to solve this problem while
+ * slowing down file operations.
+ */
+int test_subdirectory_creation(void) {
+#define LEVELS 5
+  char *path = strdup(&quot;test&quot;);
+  char *dirs[LEVELS];
+  int level;
+  printf(&quot;info: testing subdirectory creation\n&quot;);
+  for (level = 0; level &amp;lt; LEVELS; level++) {
+    char *newpath = NULL;
+    if (-1 == mkdir(path, 0777)) {
+      printf(&quot;  error: Unable to create directory &#39;%s&#39;: %s\n&quot;,
+            path, strerror(errno));
+      break;
+    }
+    asprintf(&amp;newpath, &quot;%s/%s&quot;, path, &quot;test&quot;);
+    free(path);
+    path = newpath;
+  }
+  return 0;
+}
+
+/*
+ * Test if symlinks can be created.  This was a problem detected with
+ * KDE.
+ */
+int test_symlinks(void) {
+  printf(&quot;info: testing symlink creation\n&quot;);
+  unlink(&quot;symlink&quot;);
+  if (-1 == symlink(&quot;file&quot;, &quot;symlink&quot;))
+    printf(&quot;  error: Unable to create symlink\n&quot;);
+  return 0;
+}
+
+int main(int argc, char **argv) {
+  printf(&quot;Testing POSIX/Unix sematics on file system\n&quot;);
+  test_symlinks();
+  test_subdirectory_creation();
+#ifdef TEST_SQLITE
+  test_sqlite_open();
+#endif /* TEST_SQLITE */
+  test_gcompris_locking();
+  return 0;
+}
+&lt;/pre&gt;
+
+&lt;p&gt;When everything is working, it should print something like
+this:&lt;/p&gt;
+
+&lt;pre&gt;
+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
+&lt;/pre&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;Anyway, here is a nice tool for your tool box, might you never need
+it. :)&lt;/p&gt;
+
+&lt;p&gt;Update 2010-08-27: Michael Gebetsroither report that he found the
+script so useful that he created a GIT repository and stored it in
+&lt;a href=&quot;http://github.com/gebi/fs-test&quot;&gt;http://github.com/gebi/fs-test&lt;/a&gt;.&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>No hardcoded config on Debian Edu clients</title>
+               <link>http://people.skolelinux.org/pere/blog/No_hardcoded_config_on_Debian_Edu_clients.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/No_hardcoded_config_on_Debian_Edu_clients.html</guid>
+                <pubDate>Mon, 9 Aug 2010 20:15:00 +0200</pubDate>
+               <description>
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;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:&lt;/p&gt;
+
+&lt;ul&gt;
+&lt;li&gt;IP address/netmask and DNS server.&lt;/li&gt;
+&lt;li&gt;Web proxy URL.&lt;/li&gt;
+&lt;li&gt;LDAP server for NSS directory information (user, group, etc).&lt;/li&gt;
+&lt;li&gt;Kerberos server for PAM password checking.&lt;/li&gt;
+&lt;li&gt;SMB mount point to access the network home directory. (*)&lt;/li&gt;
+&lt;li&gt;Central syslog server to send syslog messages to. (*)&lt;/li&gt;
+&lt;li&gt;Sitesummary collector URL to submit info to central server. (*)&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;p&gt;(Hm, did I forget anything?  Let me knew if I did.)&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;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&#39;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.&lt;/p&gt;
+
+&lt;p&gt;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?&lt;/p&gt;
+
+&lt;p&gt;The user&#39;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&#39;s LDAP object and the sambaHomePath
+attribute is used if found.  If it isn&#39;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. :)&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;If you want to help out with implementing these things for Debian
+Edu, please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
+
+&lt;p&gt;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. :)&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>Rob Weir: How to Crush Dissent</title>
+               <link>http://people.skolelinux.org/pere/blog/Rob_Weir__How_to_Crush_Dissent.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Rob_Weir__How_to_Crush_Dissent.html</guid>
+                <pubDate>Sun, 15 Aug 2010 22:20:00 +0200</pubDate>
+               <description>
+&lt;p&gt;I found the notes from Rob Weir on
+&lt;a href=&quot;http://feedproxy.google.com/~r/robweir/antic-atom/~3/VGb23-kta8c/how-to-crush-dissent.html&quot;&gt;how
+to crush dissent&lt;/a&gt; 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.&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>2 Spykee-roboter i hus, nå skal det lekes</title>
+               <link>http://people.skolelinux.org/pere/blog/2_Spykee_roboter_i_hus__n___skal_det_lekes.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/2_Spykee_roboter_i_hus__n___skal_det_lekes.html</guid>
+                <pubDate>Wed, 18 Aug 2010 13:30:00 +0200</pubDate>
+               <description>
+&lt;p&gt;Jeg kjøpte nettopp to
+&lt;a href=&quot;http://www.spykee-robot.com/&quot;&gt;Spykee&lt;/a&gt;-roboter, for test og
+leking.  Kjøpte to da det var så billige, og gir meg mulighet til å
+eksperimentere uten å være veldig redd for å ødelegge alt ved å bytte
+ut firmware og slikt.  Oppdaget at lekebutikken på Bryn senter hadde
+en liten stabel på lager som de ikke hadde klart å selge ut etter
+fjorårets juleinnkjøp, og var villig til å selge for en femtedel av
+vanlig pris.  Jeg, Ronny og Jarle har skaffet oss restbeholdningen, og
+det blir morsomt å se hva vi får ut av dette.&lt;/p&gt;
+
+&lt;p&gt;Roboten har belter styrt av to motorer, kamera, høytaler, mikrofon
+og wifi-tilkobling.  Det hele styrt av en GPL-lisensiert databoks som
+jeg mistenker kjører linux.  Firmware-kildekoden ble visst publisert i
+mai.  Eneste utfordringen er at kontroller-programvaren kun finnes til
+Windows, men det må en kunne jobbe seg rundt når vi har kildekoden til
+firmwaren. :)&lt;/p&gt;
+
+&lt;ul&gt;
+&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Spykee&quot;&gt;Wikipedia-oppføring&lt;/a&gt;&lt;/li&gt;
+&lt;li&gt;&lt;a href=&quot;http://www.spykeeworld.com/spykee/US/freeSoftware.html&quot;&gt;Nedlasting av firmware-kilden&lt;/a&gt;&lt;/li&gt;
+&lt;li&gt;&lt;a href=&quot;http://wiki.nuug.no/grupper/robot&quot;&gt;prosjektwiki hos NUUG&lt;/a&gt;&lt;/li&gt;
+&lt;/ul&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>Robot, reis deg...</title>
+               <link>http://people.skolelinux.org/pere/blog/Robot__reis_deg___.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Robot__reis_deg___.html</guid>
+                <pubDate>Sat, 21 Aug 2010 22:10:00 +0200</pubDate>
+               <description>
+&lt;p&gt;I dag fikk jeg endelig tittet litt på mine nyinnkjøpte roboter, og
+har brukt noen timer til å google etter interessante referanser og
+aktuell kildekode for bruk på Linux.  Det mest lovende så langt er
+&lt;a href=&quot;http://ispykee.toyz.org/&quot;&gt;ispykee&lt;/a&gt;, som har en
+BSD-lisensiert linux-daemon som står som mellomledd mellom roboter på
+lokalnettet og en sentral tjeneste der en iPhone kan koble seg opp for
+å fjernstyre roboten.  Linux-daemonen implementerer deler av
+protokollen som roboten forstår.  Etter å ha knotet litt med å oppnå
+kontakt med roboten (den oppretter et eget ad-hoc wifi-nett, så jeg
+måtte gå av mitt vanlige nett for å få kontakt), og kommet frem til at
+den lytter på IP-port 9000 og 9001, gikk jeg i gang med å finne ut
+hvordan jeg kunne snakke med roboten vha. disse portene.  Robotbiten
+av protokollen er publisert av produsenten med GPL-lisens, slik at det
+er mulig å se hvordan protokollen fungerer.  Det finnes en java-klient
+for Android som så ganske snasen ut, men fant ingen kildekode for
+denne.  Derimot hadde iphone-løsningen kildekode, så jeg tok
+utgangspunkt i den.&lt;/p&gt;
+
+&lt;p&gt;Daemonen ville i utgangspunktet forsøke å kontakte den sentrale
+tjenesten som iphone-programmet kobler seg til.  Jeg skrev dette om
+til i stedet å sette opp en nettverkstjeneste på min lokale maskin,
+som jeg kan koble meg opp til med telnet og gi kommandoer til roboten
+(act, forward, right, left, etc).  Det involverte i praksis å bytte ut
+socket()/connect() med socket()/bind()/listen()/accept() for å gjøre
+klienten om til en tjener.&lt;/p&gt;
+
+&lt;p&gt;Mens jeg har forsøkt å få roboten til å bevege seg har min samboer
+skrudd sammen resten av roboten for å få montert kamera og plastpynten
+(armer, plastfiber for lys).  Nå er det hele montert, og roboten er
+klar til bruk.  Må få flyttet den over til mitt vanlige trådløsnett
+før det blir praktisk, men de bitene av protokollen er ikke
+implementert i ispykee-daemonen, så der må jeg enten få tak i en mac
+eller en windows-maskin, eller implementere det selv.&lt;/p&gt;
+
+&lt;p&gt;Vi var tre som kjøpte slike roboter, og vi har blitt enige om å
+samle notater og referanser på &lt;a
+href=&quot;http://wiki.nuug.no/grupper/robot/&quot;&gt;NUUGs wiki&lt;/a&gt;.  Ta en titt
+der hvis du er nysgjerrig.&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>Elektronisk stemmegiving er ikke til å stole på - heller ikke i Norge</title>
+               <link>http://people.skolelinux.org/pere/blog/Elektronisk_stemmegiving_er_ikke_til____stole_p_____heller_ikke_i_Norge.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Elektronisk_stemmegiving_er_ikke_til____stole_p_____heller_ikke_i_Norge.html</guid>
+                <pubDate>Mon, 23 Aug 2010 19:30:00 +0200</pubDate>
+               <description>
+&lt;p&gt;I Norge pågår en prosess for å
+&lt;a href=&quot;http://www.e-valg.dep.no/&quot;&gt;innføre elektronisk
+stemmegiving&lt;/a&gt; ved kommune- og stortingsvalg.  Dette skal
+introduseres i 2011.  Det er all grunn til å tro at valg i Norge ikke
+vil være til å stole på hvis dette blir gjennomført.  Da det hele var
+oppe til høring i 2006 forfattet jeg
+&lt;a href=&quot;http://www.nuug.no/dokumenter/valg-horing-2006-09.pdf&quot;&gt;en
+høringsuttalelse fra NUUG&lt;/a&gt; (og EFN som hengte seg på) som skisserte
+hvilke punkter som må oppfylles for at en skal kunne stole på et valg,
+og elektronisk stemmegiving mangler flere av disse.  Elektronisk
+stemmegiving er for alle praktiske formål å putte ens stemme i en sort
+boks under andres kontroll, og satse på at de som har kontroll med
+boksen er til å stole på - uten at en har mulighet til å verifisere
+dette selv.  Det er ikke slik en gjennomfører demokratiske valg.&lt;/p&gt;
+
+&lt;p&gt;Da problemet er fundamentalt med hvordan elektronisk stemmegiving
+må fungere for at også ikke-krypografer skal kunne delta, har det vært
+mange rapporter om hvordan elektronisk stemmegiving har sviktet i land
+etter land.  En
+&lt;a href=&quot;http://wiki.nuug.no/uttalelser/2006-elektronisk-stemmegiving&quot;&gt;liten
+samling referanser&lt;/a&gt; finnes på NUUGs wiki.  Den siste er fra India,
+der valgkomisjonen har valgt
+&lt;a href=&quot;http://www.freedom-to-tinker.com/blog/jhalderm/electronic-voting-researcher-arrested-over-anonymous-source&quot;&gt;å
+pusse politiet på en forsker&lt;/a&gt; som har dokumentert svakheter i
+valgsystemet.&lt;/p&gt;
+
+&lt;p&gt;Her i Norge har en valgt en annen tilnærming, der en forsøker seg
+med teknobabbel for å få befolkningen til å tro at dette skal bli
+sikkert.  Husk, elektronisk stemmegiving underminerer de demokratiske
+valgene i Norge, og bør ikke innføres.&lt;/p&gt;
+
+&lt;p&gt;Den offentlige diskusjonen blir litt vanskelig av at media har
+valgt å kalle dette &quot;evalg&quot;, som kan sies å både gjelde elektronisk
+opptelling av valget som Norge har gjort siden 60-tallet og som er en
+svært god ide, og elektronisk opptelling som er en svært dårlig ide.
+Diskusjonen gir ikke mening hvis en skal diskutere om en er for eller
+mot &quot;evalg&quot;, og jeg forsøker derfor å være klar på at jeg snakker om
+elektronisk stemmegiving og unngå begrepet &quot;evalg&quot;.&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>Broken umask handling with sshfs</title>
+               <link>http://people.skolelinux.org/pere/blog/Broken_umask_handling_with_sshfs.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Broken_umask_handling_with_sshfs.html</guid>
+                <pubDate>Thu, 26 Aug 2010 13:30:00 +0200</pubDate>
+               <description>
+&lt;p&gt;My file system sematics program
+&lt;a href=&quot;http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html&quot;&gt;presented
+a few days ago&lt;/a&gt; is very useful to verify that a file system can
+work as a unix home directory,and today I had to extend it a bit.  I&#39;m
+looking into alternatives for home directory access here at the
+University of Oslo, and one of the options is sshfs.  My friend
+Finn-Arne mentioned a while back that they had used sshfs with Debian
+Edu, but stopped because of problems.  I asked today what the problems
+where, and he mentioned that sshfs failed to handle umask properly.
+Trying to detect the problem I wrote this addition to my fs testing
+script:&lt;/p&gt;
+
+&lt;pre&gt;
+mode_t touch_get_mode(const char *name, mode_t mode) {
+  mode_t retval = 0;
+  int fd = open(name, O_RDWR|O_CREAT|O_LARGEFILE, mode);
+  if (-1 != fd) {
+    unlink(name);
+    struct stat statbuf;
+    if (-1 != fstat(fd, &amp;statbuf)) {
+      retval = statbuf.st_mode &amp; 0x1ff;
+    }
+    close(fd);
+  }
+  return retval;
+}
+
+/* Try to detect problem discovered using sshfs */
+int test_umask(void) {
+  printf(&quot;info: testing umask effect on file creation\n&quot;);
+
+  mode_t orig_umask = umask(000);
+  mode_t newmode;
+  if (0666 != (newmode = touch_get_mode(&quot;foobar&quot;, 0666))) {
+    printf(&quot;  error: Wrong file mode %o when creating using mode 666 and umask 000\n&quot;,
+           newmode);
+  }
+  umask(007);
+  if (0660 != (newmode = touch_get_mode(&quot;foobar&quot;, 0666))) {
+    printf(&quot;  error: Wrong file mode %o when creating using mode 666 and umask 007\n&quot;,
+           newmode);
+  }
+
+  umask (orig_umask);
+  return 0;
+}
+
+int main(int argc, char **argv) {
+  [...]
+  test_umask();
+  return 0;
+}
+&lt;/pre&gt;
+
+&lt;p&gt;Sure enough.  On NFS to a netapp, I get this result:&lt;/p&gt;
+
+&lt;pre&gt;
+Testing POSIX/Unix sematics on file system
+info: testing symlink creation
+info: testing subdirectory creation
+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
+info: testing umask effect on file creation
+&lt;/pre&gt;
+
+&lt;p&gt;When mounting the same directory using sshfs, I get this
+result:&lt;/p&gt;
+
+&lt;pre&gt;
+Testing POSIX/Unix sematics on file system
+info: testing symlink creation
+info: testing subdirectory creation
+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
+info: testing umask effect on file creation
+  error: Wrong file mode 644 when creating using mode 666 and umask 000
+  error: Wrong file mode 640 when creating using mode 666 and umask 007
+&lt;/pre&gt;
+
+&lt;p&gt;So, I can conclude that sshfs is better than smb to a Netapp or a
+Windows server, but not good enough to be used as a home
+directory.&lt;/p&gt;
+
+&lt;p&gt;Update 2010-08-26: Reported the issue in
+&lt;a href=&quot;http://bugs.debian.org/594498&quot;&gt;BTS report #594498&lt;/a&gt;&lt;/p&gt;
+
+&lt;p&gt;Update 2010-08-27: Michael Gebetsroither report that he found the
+script so useful that he created a GIT repository and stored it in
+&lt;a href=&quot;http://github.com/gebi/fs-test&quot;&gt;http://github.com/gebi/fs-test&lt;/a&gt;.&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>Sikkerhetsteateret på flyplassene fortsetter</title>
+               <link>http://people.skolelinux.org/pere/blog/Sikkerhetsteateret_p___flyplassene_fortsetter.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Sikkerhetsteateret_p___flyplassene_fortsetter.html</guid>
+                <pubDate>Sat, 28 Aug 2010 10:40:00 +0200</pubDate>
+               <description>
+&lt;p&gt;Jeg skrev for et halvt år siden hvordan
+&lt;a href=&quot;http://people.skolelinux.org/pere/blog/Sikkerhet__teater__og_hvordan_gj__re_verden_sikrere.html&quot;&gt;samfunnet
+kaster bort ressurser på sikkerhetstiltak som ikke fungerer&lt;/a&gt;.  Kom
+nettopp over en
+&lt;a href=&quot;http://www.askthepilot.com/essays-and-stories/terrorism-tweezers-and-terminal-madness-an-essay-on-security/&quot;&gt;historie
+fra en pilot fra USA&lt;/a&gt; som kommenterer det samme.  Jeg mistenker det
+kun er uvitenhet og autoritetstro som gjør at så få protesterer.  Har
+veldig sans for piloten omtalt i &lt;a
+href=&quot;http://www.aftenposten.no/nyheter/iriks/article2057501.ece&quot;&gt;Aftenposten&lt;/a&gt; 2007-10-23,
+og skulle ønske flere rettet oppmerksomhet mot problemet.  Det gir
+ikke meg trygghetsfølelse på flyplassene når jeg ser at
+flyplassadministrasjonen kaster bort folk, penger og tid på tull i
+stedet for ting som bidrar til reell økning av sikkerheten.  Det
+forteller meg jo at vurderingsevnen til de som burde bidra til økt
+sikkerhet er svært sviktende, noe som ikke taler godt for de andre
+tiltakene.&lt;/p&gt;
+
+&lt;p&gt;Mon tro hva som skjer hvis det fantes en enkel brosjyre å skrive ut
+fra Internet som forklarte hva som er galt med sikkerhetsopplegget på
+flyplassene, og folk skrev ut og la en bunke på flyplassene når de
+passerte.  Kanskje det ville fått flere til å få øynene opp for
+problemet.&lt;/p&gt;
+
+&lt;p&gt;Personlig synes jeg flyopplevelsen er blitt så avskyelig at jeg
+forsøker å klare meg med tog, bil og båt for å slippe ubehaget.  Det
+er dog noe vanskelig i det langstrakte Norge og for å kunne besøke de
+delene av verden jeg ønsker å nå.  Mistenker at flere har det slik, og
+at dette går ut over inntjeningen til flyselskapene.  Det er antagelig
+en god ting sett fra et miljøperspektiv, men det er en annen sak.&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>Broken hard link handling with sshfs</title>
+               <link>http://people.skolelinux.org/pere/blog/Broken_hard_link_handling_with_sshfs.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Broken_hard_link_handling_with_sshfs.html</guid>
+                <pubDate>Mon, 30 Aug 2010 19:30:00 +0200</pubDate>
+               <description>
+&lt;p&gt;Just got an email from Tobias Gruetzmacher as a followup on my
+&lt;a href=&quot;http://people.skolelinux.org/pere/blog/Broken_umask_handling_with_sshfs.html&quot;&gt;previous
+post about sshfs&lt;/a&gt;.  He reported another problem with sshfs.  It
+fail to handle hard links properly.  A simple way to spot this is to
+look at the . and .. entries in the directory tree.  These should have
+a link count &gt;1, but on sshfs the count is 1.  I just tested to see
+what happen when trying to hardlink, and this fail as well:&lt;/p&gt;
+
+&lt;pre&gt;
+% ln foo bar
+ln: creating hard link `bar&#39; =&gt; `foo&#39;: Function not implemented
+%
+&lt;/pre&gt;
+
+&lt;p&gt;I have not yet found time to implement a test for this in my file
+system test code, but believe having working hard links is useful to
+avoid surprised unix programs.  Not as useful as working file locking
+and symlinks, which are required to get a working desktop, but useful
+nevertheless. :)&lt;/p&gt;
+
+&lt;p&gt;The latest version of the file system test code is available via
+git from
+&lt;a href=&quot;http://github.com/gebi/fs-test&quot;&gt;http://github.com/gebi/fs-test&lt;/a&gt;&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>Forslag i stortinget om å stoppe elektronisk stemmegiving i Norge</title>
+               <link>http://people.skolelinux.org/pere/blog/Forslag_i_stortinget_om____stoppe_elektronisk_stemmegiving_i_Norge.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Forslag_i_stortinget_om____stoppe_elektronisk_stemmegiving_i_Norge.html</guid>
+                <pubDate>Tue, 31 Aug 2010 21:00:00 +0200</pubDate>
+               <description>
+&lt;p&gt;Ble tipset i dag om at et forslag om å stoppe forsøkene med
+elektronisk stemmegiving utenfor valglokaler er
+&lt;a href=&quot;http://www.stortinget.no/no/Saker-og-publikasjoner/Saker/Sak/?p=46616&quot;&gt;til
+behandling&lt;/a&gt; i Stortinget.
+&lt;a href=&quot;http://www.stortinget.no/Global/pdf/Representantforslag/2009-2010/dok8-200910-128.pdf&quot;&gt;Forslaget&lt;/a&gt;
+er fremmet av Erna Solberg, Michael Tetzschner og Trond Helleland.&lt;/p&gt;
+
+&lt;p&gt;Håper det får flertall.&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>My first perl GUI application - controlling a Spykee robot</title>
+               <link>http://people.skolelinux.org/pere/blog/My_first_perl_GUI_application___controlling_a_Spykee_robot.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/My_first_perl_GUI_application___controlling_a_Spykee_robot.html</guid>
+                <pubDate>Wed, 1 Sep 2010 21:00:00 +0200</pubDate>
+               <description>
+&lt;p&gt;This evening I made my first Perl GUI application.  The last few
+days I have worked on a Perl module for controlling my recently
+aquired Spykee robots, and the module is now getting complete enought
+that it is possible to use it to control the robot driving at least.
+It was now time to figure out how to use it to create some GUI to
+allow me to drive the robot around.  I picked PerlQt as I have had
+positive experiences with the Qt API before, and spent a few minutes
+browsing the web for examples.  Using Qt Designer seemed like a short
+cut, so I ended up writing the perl GUI using Qt Designer and
+compiling it into a perl program using the puic program from
+libqt-perl.  Nothing fancy yet, but it got buttons to connect and
+drive around.&lt;/p&gt;
+
+&lt;p&gt;The perl module I have written provide a object oriented API for
+controlling the robot.  Here is an small example on how to use it:&lt;/p&gt;
+
+&lt;p&gt;&lt;pre&gt;
+use Spykee;
+Spykee::discover(sub {$robot{$_[0]} = $_[1]});
+my $host = (keys %robot)[0];
+my $spykee = Spykee-&gt;new();
+$spykee-&gt;contact($host, &quot;admin&quot;, &quot;admin&quot;);
+$spykee-&gt;left();
+sleep 2;
+$spykee-&gt;right();
+sleep 2;
+$spykee-&gt;forward();
+sleep 2;
+$spykee-&gt;back();
+sleep 2;
+$spykee-&gt;stop();
+&lt;/pre&gt;&lt;/p&gt;
+
+&lt;p&gt;Thanks to the release of the source of the robot firmware, I could
+peek into the implementation at the other end to figure out how to
+implement the protocol used by the robot.  I&#39;ve implemented several of
+the commands the robot understand, but is still missing the camera
+support to make it possible to control the robot from remote.  First I
+want to implement support for uploading new firmware and configuring
+the wireless network, to make it possible to bootstrap a Spykee robot
+without the producers Windows and MacOSX software (I only have Linux,
+so I had to ask a friend to come over to get the robot testing
+going. :).&lt;/p&gt;
+
+&lt;p&gt;Will release the source to the public soon, but need to figure out
+where to make it available first.  I will add a link to 
+&lt;a href=&quot;http://wiki.nuug.no/grupper/robot/&quot;&gt;the NUUG wiki&lt;/a&gt; for
+those that want to check back later to find it.&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>Navteq bruker 3-12 måneder, OpenStreetmap.org trenger noen dager</title>
+               <link>http://people.skolelinux.org/pere/blog/Navteq_bruker_3_12_m__neder__OpenStreetmap_org_trenger_noen_dager.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Navteq_bruker_3_12_m__neder__OpenStreetmap_org_trenger_noen_dager.html</guid>
+                <pubDate>Tue, 7 Sep 2010 21:40:00 +0200</pubDate>
+               <description>
+&lt;p&gt;Jeg ble riktig fascinert av
+&lt;a href=&quot;http://www.aftenposten.no/nyheter/iriks/article3800967.ece&quot;&gt;en
+artikkel i Aftenposten&lt;/a&gt; om hvor hardt Navteq jobber for å oppdatere
+kartene som brukes i navigasjons-GPSer, der det blant annet heter at
+&quot;på grunn av teknikken tar det alt fra tre til tolv måneder før
+kartene er oppdatert&quot;.  Når en kjenner hva slags oppdateringshastighet
+som er tilgjengelig på
+&lt;a href=&quot;http://www.openstreetmap.org/&quot;&gt;OpenStreetmap&lt;/a&gt; som
+oppdateres på dugnad, blir det litt trist å se hva noe av det beste en
+kan kjøpe for penger får til.&lt;/p&gt;
+
+&lt;p&gt;Fra en endrer kartdataene i databasen til OpenStreetmap tar det
+ca. 15 minutter før endringen er synlig på kartet som alle kan se på
+web.  Dernest overføres det daglig til en kartdump som lastes ned av
+personen som lager Garmin-kart for Norge ca. en gang i uken.  Med
+OpenStreetmap.org og &lt;a href=&quot;http://www.frikart.no/&quot;&gt;Frikart.no&lt;/a&gt;
+kan en altså ha korreksjonene på plass i sin Garmin-GPS i løpet av en
+uke.  Det er også av tekniske årsaker at det tar så langt tid.
+Jobbene som tegner kartene, henter ut kartdumpene og konverterer til
+Garmin-format tar minutter og timer å gjennomføre, slik at de ikke
+gjøres kontinuerlig men kun regelmessing.&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>Terms of use for video produced by a Canon IXUS 130 digital camera</title>
+               <link>http://people.skolelinux.org/pere/blog/Terms_of_use_for_video_produced_by_a_Canon_IXUS_130_digital_camera.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Terms_of_use_for_video_produced_by_a_Canon_IXUS_130_digital_camera.html</guid>
+                <pubDate>Thu, 9 Sep 2010 23:55:00 +0200</pubDate>
+               <description>
+&lt;p&gt;A few days ago I had the mixed pleasure of bying a new digital
+camera, a Canon IXUS 130.  It was instructive and very disturbing to
+be able to verify that also this camera producer have the nerve to
+specify how I can or can not use the videos produced with the camera.
+Even thought I was aware of the issue, the options with new cameras
+are limited and I ended up bying the camera anyway.  What is the
+problem, you might ask?  It is software patents, MPEG-4, H.264 and the
+MPEG-LA that is the problem, and our right to record our experiences
+without asking for permissions that is at risk.
+
+&lt;p&gt;On page 27 of the Danish instruction manual, this section is
+written:&lt;/p&gt;
+
+&lt;blockquote&gt;
+&lt;p&gt;This product is licensed under AT&amp;T patents for the MPEG-4 standard
+and may be used for encoding MPEG-4 compliant video and/or decoding
+MPEG-4 compliant video that was encoded only (1) for a personal and
+non-commercial purpose or (2) by a video provider licensed under the
+AT&amp;T patents to provide MPEG-4 compliant video.&lt;/p&gt;
+
+&lt;p&gt;No license is granted or implied for any other use for MPEG-4
+standard.&lt;/p&gt;
+&lt;/blockquote&gt;
+
+&lt;p&gt;In short, the camera producer have chosen to use technology
+(MPEG-4/H.264) that is only provided if I used it for personal and
+non-commercial purposes, or ask for permission from the organisations
+holding the knowledge monopoly (patent) for technology used.&lt;/p&gt;
+
+&lt;p&gt;This issue has been brewing for a while, and I recommend you to
+read
+&quot;&lt;a href=&quot;http://www.osnews.com/story/23236/Why_Our_Civilization_s_Video_Art_and_Culture_is_Threatened_by_the_MPEG-LA&quot;&gt;Why
+Our Civilization&#39;s Video Art and Culture is Threatened by the
+MPEG-LA&lt;/a&gt;&quot; by Eugenia Loli-Queru and
+&quot;&lt;a href=&quot;http://webmink.com/2010/09/03/h-264-and-foss/&quot;&gt;H.264 Is Not
+The Sort Of Free That Matters&lt;/a&gt;&quot; by Simon Phipps to learn more about
+the issue.  The solution is to support the
+&lt;a href=&quot;http://www.digistan.org/open-standard:definition&quot;&gt;free and
+open standards&lt;/a&gt; for video, like &lt;a href=&quot;http://www.theora.org/&quot;&gt;Ogg
+Theora&lt;/a&gt;, and avoid MPEG-4 and H.264 if you can.&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>Anonym ferdsel er en menneskerett</title>
+               <link>http://people.skolelinux.org/pere/blog/Anonym_ferdsel_er_en_menneskerett.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Anonym_ferdsel_er_en_menneskerett.html</guid>
+                <pubDate>Wed, 15 Sep 2010 12:15:00 +0200</pubDate>
+               <description>
+&lt;p&gt;Debatten rundt sporveiselskapet i Oslos (Ruter AS) ønske om
+&lt;a href=&quot;http://www.aftenposten.no/nyheter/iriks/article3808135.ece&quot;&gt;å
+radiomerke med RFID&lt;/a&gt; alle sine kunder og
+&lt;a href=&quot;http://www.aftenposten.no/nyheter/article3809746.ece&quot;&gt;registerere
+hvor hver og en av oss beveger oss&lt;/a&gt; pågår, og en ting som har
+kommet lite frem i debatten er at det faktisk er en menneskerett å
+kunne ferdes anonymt internt i ens eget land.&lt;/p&gt;
+
+&lt;p&gt;Fant en grei kilde for dette i et
+&lt;a href=&quot;http://www.datatilsynet.no/upload/Microsoft%20Word%20-%2009-01399-2%20H+%C2%A9ringsnotat%20-%20Samferdselsdepartementet%20-%20Utkas%C3%94%C3%87%C2%AA.pdf&quot;&gt;skriv
+fra Datatilsynet&lt;/a&gt; til Samferdselsdepartementet om tema:&lt;/p&gt;
+
+&lt;blockquote&gt;&lt;p&gt;Retten til å ferdes anonymt kan utledes av
+menneskerettskonvensjonen artikkel 8 og av EUs personverndirektiv.
+Her heter det at enkeltpersoners grunnleggende rettigheter og frihet
+må respekteres, særlig retten til privatlivets fred.  I både
+personverndirektivet og i den norske personopplysningsloven er
+selvråderetten til hver enkelt et av grunnprinsippene, hovedsaklig
+uttrykt ved at en må gi et frivillig, informert og uttrykkelig
+samtykke til behandling av personopplysninger.&lt;/p&gt;&lt;/blockquote&gt;
+
+&lt;p&gt;For meg er det viktig at jeg kan ferdes anonymt, og det er litt av
+bakgrunnen til at jeg handler med kontanter, ikke har mobiltelefon og
+forventer å kunne reise med bil og kollektivtrafikk uten at det blir
+registrert hvor jeg har vært.  Ruter angriper min rett til å ferdes
+uten radiopeiler med sin innføring av RFID-kort, og dokumenterer sitt
+ønske om å registrere hvor kundene befant seg ved å ønske å gebyrlegge
+oss som ikke registrerer oss hver gang vi beveger oss med
+kollektivtrafikken i Oslo.  Jeg synes det er hårreisende.&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>TED talks på norsk og NUUG-foredrag - frivillige trengs til teksting</title>
+               <link>http://people.skolelinux.org/pere/blog/TED_talks_p___norsk_og_NUUG_foredrag___frivillige_trengs_til_teksting.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/TED_talks_p___norsk_og_NUUG_foredrag___frivillige_trengs_til_teksting.html</guid>
+                <pubDate>Fri, 1 Oct 2010 11:00:00 +0200</pubDate>
+               <description>
+&lt;p&gt;Frikanalen og NUUG jobber for å få &lt;a href=&quot;http://www.ted.com&quot;&gt;TED
+talks&lt;/a&gt; kringkastet på
+&lt;a href=&quot;http://www.frikanalen.no/&quot;&gt;Frikanalen&lt;/a&gt;, for å gi et mer
+variert innhold på kanalen som i dag sendes på RiksTV, Lyse og
+Uninett.  Før innslagene kan sendes må det lages norske undertekster,
+og dette her trengs det frivillige.  Det er hundrevis av innslag, men
+mine favoritter er
+&lt;a href=&quot;http://www.ted.com/talks/james_randi.html&quot;&gt;James Randi&lt;/a&gt; og
+&lt;a href=&quot;http://www.ted.com/talks/lang/eng/michael_specter_the_danger_of_science_denial.html&quot;&gt;Michael
+Specter&lt;/a&gt;.  Hvis du har litt tid til overs, bli med på å oversette
+TED-foredragene til norsk og få på plass undertekster.  TED har
+allerede opplegg på plass for å håndtere oversettelser og
+undertekster.  Registrer deg på
+&lt;a href=&quot;http://www.ted.com/translate/forted&quot;&gt;sidene til TED&lt;/a&gt; i
+dag!&lt;/p&gt;
+
+&lt;p&gt;NUUG holder også på å få alle opptakene fra NUUG-presentasjonene
+&lt;a href=&quot;http://www.nuug.no/pub/video/frikanalen/frontpage.cgi?organization=NUUG&quot;&gt;publisert
+på Frikanalen&lt;/a&gt;.  Foredrag på engelsk må også her tekstes og
+oversettes.  Ta kontakt med video@nuug.no hvis du vil bidra med
+teksting og oversetting.  Arbeidet koordineres på epostlisten og på
+IRC (#nuug-video på irc.oftc.org), og &lt;a
+href=&quot;http://wiki.nuug.no/grupper/video/frikanalen&quot;&gt;en wikiside&lt;/a&gt;
+brukes som notatblokk for arbeidet.  Mest lovende verktøy for dette
+ser i dag ut til å være
+&lt;a href=&quot;http://universalsubtitles.org/&quot;&gt;Universal Subtitles&lt;/a&gt;, som
+lar en bidra med teksting via en nettleser.&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>Links for 2010-10-03</title>
+               <link>http://people.skolelinux.org/pere/blog/Links_for_2010_10_03.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Links_for_2010_10_03.html</guid>
+                <pubDate>Sun, 3 Oct 2010 22:30:00 +0200</pubDate>
+               <description>
+&lt;p&gt;&lt;ul&gt;
+
+&lt;li&gt;&lt;a href=&quot;http://arstechnica.com/business/news/2010/09/there-is-no-plan-b-why-the-ipv4-to-ipv6-transition-will-be-ugly.ars&quot;&gt;There
+is no Plan B: why the IPv4-to-IPv6 transition will be ugly&lt;/a&gt;&lt;/li&gt;
+
+&lt;li&gt;Scanner looking under clothes
+&lt;a href=&quot;http://www.dagbladet.no/2010/10/03/nyheter/utenriks/reise/overvakingskamera/flyplasser/13667192/&quot;&gt;has
+already been misused at Heathrow&lt;/a&gt;.&lt;/li&gt;
+
+&lt;li&gt;&lt;a href=&quot;http://wiki.softwarelivre.org/Landell&quot;&gt;Landell
+Webcasting&lt;/a&gt; - interesting alternative for
+&lt;ahref=&quot;http://dvswitch.alioth.debian.org/wiki/&quot;&gt;DVSwitch&lt;/a&gt; with
+simple setup.
+
+&lt;/ul&gt;&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>First version of a Perl library to control the Spykee robot</title>
+               <link>http://people.skolelinux.org/pere/blog/First_version_of_a_Perl_library_to_control_the_Spykee_robot.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/First_version_of_a_Perl_library_to_control_the_Spykee_robot.html</guid>
+                <pubDate>Sat, 9 Oct 2010 14:00:00 +0200</pubDate>
+               <description>
+&lt;p&gt;This summer I got the chance to buy cheap Spykee robots, and since
+then I have worked on getting Linux software in place to control them.
+The firmware for the robot is available from the producer, and using
+that source it was trivial to figure out the protocol specification.
+I&#39;ve started on a perl library to control it, and made some demo
+programs using this perl library to allow one to control the
+robots.&lt;/p&gt;
+
+&lt;p&gt;The library is quite functional already, and capable of controlling
+the driving, fetching video, uploading MP3s and play them.  There are
+a few less important features too.&lt;/p&gt;
+
+&lt;p&gt;Since a few weeks ago, I ran out of time to spend on this project,
+but I never got around to releasing the current source.  I decided
+today that it was time to do something about it, and uploaded the
+source to my Debian package store at people.skolelinux.org.&lt;/p&gt;
+
+&lt;p&gt;Because it was simpler for me, I made a Debian package and
+published the source and deb.  If you got a spykee robot, grab the
+source or binary package:&lt;/p&gt;
+
+&lt;p&gt;&lt;ul&gt;
+&lt;li&gt;&lt;a href=&quot;http://people.skolelinux.org/~pere/debian/packages/lenny/libspykee-perl_0.0.20101009-1.tar.gz&quot;&gt;libspykee-perl_0.0.20101009-1.tar.gz&lt;/a&gt;&lt;/li&gt;
+&lt;li&gt;&lt;a href=&quot;http://people.skolelinux.org/~pere/debian/packages/lenny/libspykee-perl_0.0.20101009-1.dsc&quot;&gt;libspykee-perl_0.0.20101009-1.dsc&lt;/a&gt;&lt;/li&gt;
+&lt;li&gt;&lt;a href=&quot;http://people.skolelinux.org/~pere/debian/packages/lenny/libspykee-perl_0.0.20101009-1_all.deb&quot;&gt;libspykee-perl_0.0.20101009-1_all.deb&lt;/a&gt;&lt;/li&gt;
+&lt;/ul&gt;&lt;/p&gt;
+
+&lt;p&gt;If you are interested in helping out with developing this library,
+please let me know.&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>Links for 2010-10-14</title>
+               <link>http://people.skolelinux.org/pere/blog/Links_for_2010_10_14.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Links_for_2010_10_14.html</guid>
+                <pubDate>Thu, 14 Oct 2010 14:45:00 +0200</pubDate>
+               <description>
+&lt;p&gt;Personvernet et under kontinuerlig og kraftig angrep.  Her er noen
+stemmer i debatten.&lt;/p&gt;
+
+&lt;p&gt;&lt;ul&gt;
+
+&lt;li&gt;&lt;a href=&quot;http://efn.no/hemmelig-retthaversk.txt&quot;&gt;Hemmelig
+  &quot;Retthaversk&quot; notat vil amputere person- og rettsvernet&lt;/a&gt; -
+  pressemelding fra EFN etter at de ble kjent med hårreisende
+  lovforslag fra &quot;Dele, ikke stjele&quot;-kampanjen.
+
+&lt;li&gt;&lt;a href=&quot;http://borud2.borud.no/2010/10/verdidebatt.html&quot;&gt;Verdidebatt&lt;/a&gt;
+  av Bjørn Borud.  Klargjørende omramming av debatten med bakgrunn i
+  oppdagelsen fra EFN.&lt;/li&gt;
+
+&lt;li&gt;&lt;a href=&quot;http://www.dagbladet.no/2010/10/14/kultur/data_og_teknologi/tekno/personvern/opphavsrett/13804298/&quot;&gt;Må
+  personvernet vike for opphavsretten?&lt;/a&gt; av Jan Omdahl i
+  Dagbladet&lt;/li&gt;
+
+&lt;li&gt;&lt;a href=&quot;http://www.archive.org/details/CopyingIsNotTheft&quot;&gt;Copying
+  Is Not Theft&lt;/a&gt; - fin jingle om opphavsrett vs. eiendom&lt;/li&gt;
+
+&lt;li&gt;&lt;a href=&quot;http://cleanternet.org/&quot;&gt;Cleanternet&lt;/a&gt; - satire om
+forslag for et rent og sikkert Internet.&lt;/li&gt;
+
+&lt;li&gt;&lt;a href=&quot;http://www.dubistterrorist.de/en/&quot;&gt;You are a
+  terrorist!&lt;/a&gt; - innspill om den massive overvåkningen som er
+  gjennomført i Tysland og resten av den vestlige verden de siste
+  årene.&lt;/li&gt;
+
+&lt;li&gt;&lt;a href=&quot;http://www.dagbladet.no/2010/10/12/kultur/debatt/debattinnlegg/13787554/&quot;&gt;Farlig
+  hemmelighold&lt;/a&gt; - debattinnlegg i Dagbladet fra Thomas Gramstad og
+  Bjørn Remseth i EFN&lt;/li&gt;
+
+&lt;/ul&gt;&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>Standardkrav inn i anbudstekster?</title>
+               <link>http://people.skolelinux.org/pere/blog/Standardkrav_inn_i_anbudstekster_.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Standardkrav_inn_i_anbudstekster_.html</guid>
+                <pubDate>Sun, 17 Oct 2010 19:30:00 +0200</pubDate>
+               <description>
+&lt;p&gt;Hvis det å følge standarder skal ha noen effekt overfor
+leverandører, så må slike krav og ønsker komme inn i anbudstekster når
+systemer kjøpes inn.  Har ikke sett noen slike formuleringer i anbud
+så langt, men har tenkt litt på hva som bør inn.  Her er noen ideer og
+forslag.  Min drøm er at en kan sette krav til slik støtte i
+anbudstekster, men så langt er det nok mer sannsynlig at en må nøye
+seg med å skrive at det er en fordel om slik støtte er tilstede i
+leveranser.&lt;/p&gt;
+
+&lt;p&gt;Som systemadministrator på Universitetet er det typisk to områder
+som er problematiske for meg.  Det ene er admin-grensesnittene på
+tjenermaskiner, som vi ønsker å bruke via ssh.  Det andre er nettsider
+som vi ønsker å bruke via en nettleser.  For begge deler er det viktig
+at protokollene og formatene som brukes følger standarder våre verktøy
+støtter.&lt;/p&gt;
+
+&lt;p&gt;De fleste har nå støtte for SSH som overføringsprotkoll for
+admin-grensesnittet, men det er ikke tilstrekkelig for å kunne stille
+inn f.eks BIOS og RAID-kontroller via ssh-forbindelsen.  Det er flere
+aktuelle protokoller for fremvisning av BIOS-oppsett og
+oppstartmeldinger, og min anbefaling ville være å kreve
+VT100-kompatibel protokoll, for å sikre at flest mulig
+terminalemulatorer kan forstå hva som kommer fra admin-grensesnittet
+via ssh.  Andre aktuelle alternativer er ANSI-terminalemulering og
+VT220.  Kanskje en formulering ala dette i anbudsutlysninger vil
+fungere:&lt;/p&gt;
+
+&lt;p&gt;&lt;blockquote&gt;
+BIOS og oppstartmeldinger i administrasjonsgrensesnittet til maskinen
+bør/skal være tilgjengelig via SSH-protokollen som definert av IETF
+(RFC 4251 mfl.) og følge terminalfremvisningprotokollen VT100 (ref?)
+når en kobler seg til oppstart via ssh.
+&lt;/blockquote&gt;&lt;/p&gt;
+
+&lt;p&gt;Har ikke lykkes med å finne en god referanse for
+VT100-spesifikasjonen.&lt;/p&gt;
+
+&lt;p&gt;Når det gjelder nettsider, så er det det HTML, CSS og
+JavaScript-spesifikasjonen til W3C som gjelder.&lt;/p&gt;
+
+&lt;p&gt;&lt;blockquote&gt;
+Alle systemets nettider bør/skal være i henhold til statens
+standardkatalogs krav om nettsider og følge HTML-standarden som
+definert av W3C, og validere uten feil hos W3Cs HTML-validator
+(http://validator.w3.org).  Hvis det brukes CSS så bør/skal denne
+validere uten feil hos W3Cs CSS-validator
+(http://jigsaw.w3.org/css-validator/).  Eventuelle JavaScript skal
+være i henhold til EcmaScript-standarden.  I tillegg til å følge de
+overnevnte standardene skal websidene fungere i nettleserne (fyll inn
+relevant liste for organisasjonen) Firefox 3.5, Internet Explorer 8,
+Opera 9, etc.
+&lt;/blockquote&gt;&lt;/p&gt;
+
+&lt;p&gt;Vil et slikt avsnitt være konkret nok til å få leverandørene til å
+lage nettsider som følger standardene og fungerer i flere
+nettlesere?&lt;/p&gt;
+
+&lt;p&gt;Tar svært gjerne imot innspill på dette temaet til aktive (at)
+nuug.no, og er spesielt interessert i hva andre skriver i sine anbud
+for å oppmuntre leverandører til å følge standardene.  Kanskje NUUG
+burde lage et dokument med forslag til standardformuleringer å ta med
+i anbudsutlysninger?&lt;/p&gt;
+
+&lt;p&gt;Oppdatering 2010-12-03: I følge Wikipedias oppføring om
+&lt;a href=&quot;http://en.wikipedia.org/wiki/ANSI_escape_code&quot;&gt;ANSI escape
+code&lt;/a&gt;, så bruker VT100-terminaler ECMA-48-spesifikasjonen som
+basis for sin oppførsel.  Det kan dermed være et alternativ når en
+skal spesifisere hvordan seriell-konsoll skal fungere.&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>Pledge for funding to the Gnash project to get AVM2 support</title>
+               <link>http://people.skolelinux.org/pere/blog/Pledge_for_funding_to_the_Gnash_project_to_get_AVM2_support.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Pledge_for_funding_to_the_Gnash_project_to_get_AVM2_support.html</guid>
+                <pubDate>Tue, 19 Oct 2010 14:45:00 +0200</pubDate>
+               <description>
+&lt;p&gt;&lt;a href=&quot;http://www.getgnash.org/&quot;&gt;The Gnash project&lt;/a&gt; is the
+most promising solution for a Free Software Flash implementation. It
+has done great so far, but there is still far to go, and recently its
+funding has dried up.  I believe AVM2 support in Gnash is vital to the
+continued progress of the project, as more and more sites show up with
+AVM2 flash files.&lt;/p&gt;
+
+&lt;p&gt;To try to get funding for developing such support, I have started
+&lt;a href=&quot;http://www.pledgebank.com/gnash-avm2&quot;&gt;a pledge&lt;/a&gt; with the
+following text:&lt;/P&gt;
+
+&lt;p&gt;&lt;blockquote&gt;
+
+  &lt;p&gt;&quot;I will pay 100$ to the Gnash project to develop AVM2 support but
+  only if 10 other people will do the same.&quot;&lt;/p&gt;
+
+  &lt;p&gt;- Petter Reinholdtsen, free software developer&lt;/p&gt;
+
+  &lt;p&gt;Deadline to sign up by: 24th December 2010&lt;/p&gt;
+
+  &lt;p&gt;The Gnash project need to get support for the new Flash file
+  format AVM2 to work with a lot of sites using Flash on the
+  web. Gnash already work with a lot of Flash sites using the old AVM1
+  format, but more and more sites are using the AVM2 format these
+  days. The project web page is available from
+  http://www.getgnash.org/ . Gnash is a free software implementation
+  of Adobe Flash, allowing those of us that do not accept the terms of
+  the Adobe Flash license to get access to Flash sites.&lt;/p&gt;
+
+  &lt;p&gt;The project need funding to get developers to put aside enough
+  time to develop the AVM2 support, and this pledge is my way to try
+  to get this to happen.&lt;/p&gt;
+
+  &lt;p&gt;The project accept donations via the OpenMediaNow foundation,
+  &lt;a href=&quot;http://www.openmedianow.org/?q=node/32&quot;&gt;http://www.openmedianow.org/?q=node/32&lt;/a&gt; .&lt;/p&gt;
+
+&lt;/blockquote&gt;&lt;/p&gt;
+
+&lt;p&gt;I hope you will support this effort too.  I hope more than 10
+people will participate to make this happen.  The more money the
+project gets, the more features it can develop using these funds.
+:)&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>Making room on the Debian Edu/Sqeeze DVD</title>
+               <link>http://people.skolelinux.org/pere/blog/Making_room_on_the_Debian_Edu_Sqeeze_DVD.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Making_room_on_the_Debian_Edu_Sqeeze_DVD.html</guid>
+                <pubDate>Sun, 7 Nov 2010 11:45:00 +0100</pubDate>
+               <description>
+&lt;p&gt;Prioritising packages for the Debian Edu /
+&lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Skolelinux&lt;/a&gt; DVD, which is
+supposed provide a school with all the services and user applications
+needed on the pupils computer network has always been hard.  Even
+schools without Internet connections should be able to get Debian Edu
+working using this DVD.&lt;/p&gt;
+
+&lt;p&gt;The job became a lot harder when apt and aptitude started
+installing recommended packages by default.  We want the same set of
+packages to be installed when using the DVD and the netinst CD, and
+that means all recommended packages need to be on the DVD.  I created
+a patch for debian-cd in &lt;a href=&quot;http://bugs.debian.org/601203&quot;&gt;BTS
+report #601203&lt;/a&gt; to do this, and since this change was applied to
+the Debian Edu DVD build, we have been seriously short on space.&lt;/p&gt;
+
+&lt;p&gt;A few days ago we decided to drop blender, wxmaxima and kicad from
+the default installation to save space on the DVD, believing that
+those needing these applications are few and can get them from the
+Debian archive.&lt;/p&gt;
+
+&lt;p&gt;Yesterday, I had a look what source packages to see which packages
+were using most space.  A few large packages are well know;
+openoffice.org, openclipart and fluid-soundfont.  But I also
+discovered that lilypond used 106 MiB and fglrx-driver used 53 MiB.
+The lilypond package is pulled in as a dependency for rosegarden, and
+when looking a bit closer I discovered that 99 MiB of the 106 MiB were
+the documentation package, which is recommended by the binary package.
+I decided to drop this documentation package from our DVD, as most of
+our users will use the GUI front-ends and do not need the lilypond
+documentation.  Similarly, I dropped the non-free fglrx-driver package
+which might be installed by d-i when its hardware is detected, as the
+free X driver should work.&lt;/p&gt;
+
+&lt;p&gt;With this change, we finally got space for the LXDE and Gnome
+desktop packages as well as the language specific packages making the
+DVD more useful again.&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>Gjendikte sangen &quot;Copying Is Not Theft&quot; på Norsk?</title>
+               <link>http://people.skolelinux.org/pere/blog/Gjendikte_sangen__Copying_Is_Not_Theft__p___Norsk_.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Gjendikte_sangen__Copying_Is_Not_Theft__p___Norsk_.html</guid>
+                <pubDate>Wed, 10 Nov 2010 14:40:00 +0100</pubDate>
+               <description>
+&lt;p&gt;En genial liten sang om kopiering og tyveri er
+&lt;a href=&quot;http://www.archive.org/details/CopyingIsNotTheft&quot;&gt;Copying Is
+Not Theft&lt;/a&gt; av Nina Paley.  Den vil jeg at
+&lt;a href=&quot;http://www.nuug.no/&quot;&gt;NUUG&lt;/a&gt; skal sende på
+&lt;a href=&quot;http://www.frikanalen.no/&quot;&gt;Frikanalen&lt;/a&gt;, men først må vi
+fikse norske undertekster eller dubbing.  Og i og med at det er en
+sang, tror jeg den kanskje bør gjendiktes.
+
+Selve teksten finner en på bloggen til
+&lt;a href=&quot;http://blog.ninapaley.com/2009/12/15/minute-meme-1-copying-is-not-theft/&quot;&gt;tekstforfatteren&lt;/a&gt; og den ser slik ut:
+
+&lt;p&gt;&lt;blockquote&gt;
+&lt;p&gt;Copying is not theft.
+&lt;br&gt;Stealing a thing leaves one less left
+&lt;br&gt;Copying it makes one thing more;
+&lt;br&gt;that&#39;s what copying&#39;s for.&lt;/p&gt;
+
+&lt;p&gt;Copying is not theft.
+&lt;br&gt;If I copy yours you have it too
+&lt;br&gt;One for me and one for you
+&lt;br&gt;That&#39;s what copies can do&lt;/p&gt;
+
+&lt;p&gt;If I steal your bicycle
+&lt;br&gt;you have to take the bus,
+&lt;br&gt;but if I just copy it
+&lt;br&gt;there&#39;s one for each of us!&lt;/p&gt;
+
+&lt;p&gt;Making more of a thing,
+&lt;br&gt;that is what we call &quot;copying&quot;
+&lt;br&gt;Sharing ideas with everyone
+&lt;br&gt;That&#39;s why copying
+&lt;br&gt;is
+&lt;br&gt;FUN!&lt;/p&gt;
+&lt;/blockquote&gt;&lt;/p&gt;
+
+&lt;p&gt;Her er et naivt forsøk på oversettelse, uten noe forsøk på
+gjendiktning eller få det til å flyte sammen med melodien.&lt;/p&gt;
+
+&lt;p&gt;&lt;blockquote&gt;
+&lt;p&gt;Kopiering er ikke tyveri.
+&lt;br&gt;Stjeler du en ting er det en mindre igjen
+&lt;br&gt;Kopier den og det er ting til.
+&lt;br&gt;det er derfor vi har kopiering.&lt;/p&gt;
+
+&lt;p&gt;Kopiering er ikke tyveri.
+&lt;br&gt;Hvis jeg kopierer din så har du den fortsatt
+&lt;br&gt;En for meg og en for deg.
+&lt;br&gt;Det er det kopier gir oss&lt;/p&gt;
+
+&lt;p&gt;Hvis jeg stjeler sykkelen din
+&lt;br&gt;så må du ta bussen,
+&lt;br&gt;men hvis jeg bare kopierer den,
+&lt;br&gt;så får vi hver vår!&lt;/p&gt;
+
+&lt;p&gt;Lage mer av en ting,
+&lt;br&gt;det er det vi kaller &quot;kopiering&quot;.
+&lt;br&gt;Deler ideer med enhver
+&lt;br&gt;Det er derfor kopiering
+&lt;br&gt;er
+&lt;br&gt;MORSOMT!&lt;/p&gt;
+&lt;/blockquote&gt;&lt;/p&gt;
+
+&lt;p&gt;Hvis du har forslag til bedre oversettelse eller lyst til å bidra
+til å få denne sangen over i norsk språkdrakt, ta kontakt med video
+(at) nuug.no.&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>Gnash buildbot slave and Debian kfreebsd</title>
+               <link>http://people.skolelinux.org/pere/blog/Gnash_buildbot_slave_and_Debian_kfreebsd.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Gnash_buildbot_slave_and_Debian_kfreebsd.html</guid>
+                <pubDate>Sat, 20 Nov 2010 07:20:00 +0100</pubDate>
+               <description>
+&lt;p&gt;Answering
+&lt;a href=&quot;http://www.listware.net/201011/gnash-dev/67431-gnash-dev-buildbot-looking-for-slaves.html&quot;&gt;the
+call from the Gnash project&lt;/a&gt; for
+&lt;a href=&quot;http://www.gnashdev.org:8010&quot;&gt;buildbot&lt;/a&gt; slaves to test the
+current source, I have set up a virtual KVM machine on the Debian
+Edu/Skolelinux virtualization host to test the git source on
+Debian/Squeeze.  I hope this can help the developers in getting new
+releases out more often.&lt;/p&gt;
+
+&lt;p&gt;As the developers want less main-stream build platforms tested to,
+I have considered setting up a &lt;a
+href=&quot;http://www.debian.org/ports/kfreebsd-gnu/&quot;&gt;Debian/kfreebsd&lt;/a&gt;
+machine as well.  I have also considered using the kfreebsd
+architecture in Debian as a file server in NUUG to get access to the 5
+TB zfs volume we currently use to store DV video.  Because of this, I
+finally got around to do a test installation of Debian/Squeeze with
+kfreebsd.  Installation went fairly smooth, thought I noticed some
+visual glitches in the cdebconf dialogs (black cursor left on the
+screen at random locations).  Have not gotten very far with the
+testing.  Noticed cfdisk did not work, but fdisk did so it was not a
+fatal problem.  Have to spend some more time on it to see if it is
+useful as a file server for NUUG.  Will try to find time to set up a
+gnash buildbot slave on the Debian Edu/Skolelinux this weekend.&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>Debian Edu development gathering and General Assembly for FRiSK</title>
+               <link>http://people.skolelinux.org/pere/blog/Debian_Edu_development_gathering_and_General_Assembly_for_FRiSK.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_development_gathering_and_General_Assembly_for_FRiSK.html</guid>
+                <pubDate>Mon, 29 Nov 2010 18:40:00 +0100</pubDate>
+               <description>
+&lt;p&gt;On friday, the first Debian Edu / Skolelinux
+&lt;a href=&quot;http://www.friprogramvareiskolen.no/Gathering/2010-12-03-05-Oslo&quot;&gt;development
+gathering&lt;/a&gt; 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.&lt;/p&gt;
+
+&lt;p&gt;On Saturday, the Norwegian member organization taking care of
+organizing these development gatherings, Fri Programvare i Skolen,
+will hold its
+&lt;a href=&quot;http://friprogramvareiskolen.no/Genfors/2010&quot;&gt;General Assembly
+for 2010&lt;/a&gt;.  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.&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>Hva har mine representanter stemt i Storinget?</title>
+               <link>http://people.skolelinux.org/pere/blog/Hva_har_mine_representanter_stemt_i_Storinget_.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Hva_har_mine_representanter_stemt_i_Storinget_.html</guid>
+                <pubDate>Tue, 11 Jan 2011 14:25:00 +0100</pubDate>
+               <description>
+&lt;p&gt;I England har &lt;a href=&quot;http://www.mysociety.org/&quot;&gt;MySociety&lt;/a&gt;
+laget en genial tjeneste for å holde øye med parlamentet.  Tjenesten
+&lt;a href=&quot;http://www.theyworkforyou.com/&quot;&gt;They Work For You&lt;/a&gt; lar
+borgerne få direkte og sanntidsoppdatert innsyn i sine representanters
+gjøren og laden i parlamentet.  En kan kan få kopi av det en gitt
+representant har sagt på talerstolen, og få vite hva hver enkelt
+representant har stemt i hver enkelt sak som er tatt opp.  Jeg skulle
+gjerne hatt en slik tjeneste for Stortinget i Norge.&lt;/p&gt;
+
+&lt;p&gt;Endel &lt;a href=&quot;http://www.nsd.uib.no/polsys/storting/&quot;&gt;statistikk
+over representantenes stemmegivning&lt;/a&gt; er tilgjengelig fra Norsk
+sammfunnsvitenskaplig datatjeneste, men ingenting av dette er
+detaljert nok til at en han holde hver enkelt stortingsrepresentant
+ansvarlig.&lt;/p&gt;
+
+&lt;p&gt;For å få en idé om det finnes en datakilde fra Stortinget som kan
+brukes til å få oversikt over hvordan hver enkelt representant har
+stemt, sendte jeg et spørsmål til Stortinget:&lt;/p&gt;
+
+&lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
+Fra: Petter Reinholdtsen
+Sendt: 11. januar 2011 10:42
+Til: info (at) stortinget.no
+Emne: Hvem stemte hva i de ulike sakene?
+
+Hei.  Er det informasjon tilgjengelig på web om hvilke
+stortingsrepresentanter som stemte hva i sakene som er til votering i
+Stortinget?
+
+Vennlig hilsen,
+--
+Petter Reinholdtsen
+&lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
+
+&lt;p&gt;Svaret kom noen timer senere:&lt;/p&gt;
+
+&lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
+From: Postmottak Informasjonshjornet
+To: Petter Reinholdtsen
+Subject: RE: Hvem stemte hva i de ulike sakene?
+Date: Tue, 11 Jan 2011 12:46:25 +0000
+
+Hei.
+Takk for henvendelsen.
+
+Sommeren 2010 fikk vi nytt voteringsanlegg i stortingssalen som
+muliggjør publisering av voteringsresultat på nett. dette er et
+pågående prosjekt 1. halvår 2011.  Kan ikke si nøyaktig når det er i
+funksjon.
+&lt;a href=&quot;http://www.stortinget.no/no/Stortinget-og-demokratiet/Historikk/Nytt-konferanseanlegg-i-stortingssalen/&quot;&gt;http://www.stortinget.no/no/Stortinget-og-demokratiet/Historikk/Nytt-konferanseanlegg-i-stortingssalen/&lt;/a&gt;
+
+Foreløpig må du finne voteringsresultatet i referatet etter at saken
+har vært behandlet i Stortinget.
+
+Ønsker du å vite hvem som stemte hva i en bestemt sak,(og hvem som
+ikke var til stede), kan du kontakte oss og vi kan sende deg en
+utskrift.
+
+Med vennlig hilsen
+Elin B. Relander Tømte
+Stortingets Informasjonsseksjon
+tlf 23313596
+
+www.stortinget.no
+www.tinget.no
+&lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
+
+&lt;p&gt;Det ser dermed ut at det i fjor ble mulig å hente ut informasjonen
+fra Stortinget, men at Stortinget ikke legger denne informasjonen ut
+på web ennå.  En liten brikke er dermed på plass, men mye
+gjenstår.  Kanskje jeg får tid til å se på en norsk utgave etter
+at vi i NUUG har fått operativ en norsk utgave av
+&lt;a href=&quot;http://www.fixmystreet.com/&quot;&gt;FixMyStreet&lt;/a&gt;.&lt;/p&gt;
+</description>
+       </item>
+       
+       <item>
+               <title>The video format most supported in web browsers?</title>
+               <link>http://people.skolelinux.org/pere/blog/The_video_format_most_supported_in_web_browsers_.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/The_video_format_most_supported_in_web_browsers_.html</guid>
+                <pubDate>Sun, 16 Jan 2011 00:20:00 +0100</pubDate>
+               <description>
+&lt;p&gt;The video format struggle on the web continues, and the three
+contenders seem to be Ogg Theora, H.264 and WebM.  Most video sites
+seem to use H.264, while others use Ogg Theora.  Interestingly enough,
+the comments I see give me the feeling that a lot of people believe
+H.264 is the most supported video format in browsers, but according to
+the Wikipedia article on
+&lt;a href=&quot;http://en.wikipedia.org/wiki/HTML5_video&quot;&gt;HTML5 video&lt;/a&gt;,
+this is not true.  Check out the nice table of supprted formats in
+different browsers there.  The format supported by most browsers is
+Ogg Theora, supported by released versions of Mozilla Firefox, Google
+Chrome, Chromium, Opera, Konqueror, Epiphany, Origyn Web Browser and
+BOLT browser, while not supported by Internet Explorer nor Safari.
+The runner up is WebM supported by released versions of Google Chrome
+Chromium Opera and Origyn Web Browser, and test versions of Mozilla
+Firefox.  H.264 is supported by released versions of Safari, Origyn
+Web Browser and BOLT browser, and the test version of Internet
+Explorer.  Those wanting Ogg Theora support in Internet Explorer and
+Safari can install plugins to get it.&lt;/p&gt;
+
+&lt;p&gt;To me, the simple conclusion from this is that to reach most users
+without any extra software installed, one uses Ogg Theora with the
+HTML5 video tag.   Of course to reach all those without a browser
+handling HTML5, one need fallback mechanisms.  In
+&lt;a href=&quot;http://www.nuug.no/&quot;&gt;NUUG&lt;/a&gt;, we provide first fallback to a
+plugin capable of playing MPEG1 video, and those without such support
+we have a second fallback to the Cortado java applet playing Ogg
+Theora.  This seem to work quite well, as can be seen in an &lt;a
+href=&quot;http://www.nuug.no/aktiviteter/20110111-semantic-web/&quot;&gt;example
+from last week&lt;/a&gt;.&lt;/p&gt;
+
+&lt;p&gt;The reason Ogg Theora is the most supported format, and H.264 is
+the least supported is simple.  Implementing and using H.264
+require royalty payment to MPEG-LA, and the terms of use from MPEG-LA
+are incompatible with free software licensing.  If you believed H.264
+was without royalties and license terms, check out
+&quot;&lt;a href=&quot;http://webmink.com/essays/h-264/&quot;&gt;H.264 – Not The Kind Of
+Free That Matters&lt;/a&gt;&quot; by Simon Phipps.&lt;/p&gt;
+
+&lt;p&gt;A incomplete list of sites providing video in Ogg Theora is
+available from
+&lt;a href=&quot;http://wiki.xiph.org/index.php/List_of_Theora_videos&quot;&gt;the
+Xiph.org wiki&lt;/a&gt;, if you want to have a look.  I&#39;m not aware of a
+similar list for WebM nor H.264.&lt;/p&gt;
+
+&lt;p&gt;Update 2011-01-16 09:40: A question from Tollef on IRC made me
+realise that I failed to make it clear enough this text is about the
+&amp;lt;video&amp;gt; tag support in browsers and not the video support
+provided by external plugins like the Flash plugins.&lt;/p&gt;
+</description>
+       </item>
+       
         </channel>
 </rss>
         </channel>
 </rss>