<channel>
<title>Petter Reinholdtsen</title>
<description></description>
- <link></link>
- <atom:link href="index.rss" rel="self" type="application/rss+xml" />
+ <link>http://people.skolelinux.org/pere/blog/</link>
+ <atom:link href="http://people.skolelinux.org/pere/blog/index.rss" rel="self" type="application/rss+xml" />
<item>
- <title>Standarder fungerer best når en samler seg rundt dem</title>
- <link>Standarder_fungerer_best_n__r_en_samler_seg_rundt_dem.html</link>
- <guid isPermaLink="true">Standarder_fungerer_best_n__r_en_samler_seg_rundt_dem.html</guid>
- <pubDate>Sun, 17 May 2009 23:05:00 +0200</pubDate>
+ <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>
-<p>En standard er noe man samler seg rundt, ut fra ideen om at en får
-fordeler når mange står sammen. Jo flere som står sammen, jo
-bedre. Når en vet dette, blir det litt merkelig å lese noen av
-uttalelsene som er kommet inn til
-<a href="http://www.regjeringen.no/nb/dep/fad/dok/horinger/horingsdokumenter/2009/horing---referansekatalog-versjon-2/horingsuttalelser.html?id=549423">høringen
-om versjon 2 av statens referansekatalog over standarder</a>. Blant
-annet Abelia, NHO og Microsoft tror det er lurt med flere standarder
-innenfor samme område. Det blir som å si at det er fint om Norge
-standardiserte både på A4- og Letter-størrelser på arkene, ulik
-sporvidde på jernbaneskinnene, meter og fot som lengemål, eller
-høyre- og venstrekjøring - slik at en kan konkurrere på hvilken
-standard som er best. De fleste forstår heldigvis at dette ikke
-bidrar positivt.</p>
+<p>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.</p>
+
+<p>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.</p>
+
+<p>The goal is to be able to store the LTSP configuration attributes
+in a "computer" LDAP object used by both DNS and DHCP, and thus
+allowing us to store all information about a computer in one place.</p>
+
+<p>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?</p>
+
+<blockquote><pre>
+# 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 'ltspClientAux'
+# SUP top
+# AUXILIARY
+# MAY ( ltspConfigServer $ ltsConfigSound $ ... )
+
+LDAPSERVER=$(debian-edu-ldapserver)
+if [ "$LDAPSERVER" ] ; then
+ LDAPBASE=$(debian-edu-ldapserver -b)
+ for MAC in $(LANG=C ifconfig |grep -i hwaddr| awk '{print $5}'|sort -u) ; do
+ filter="(|(dhcpHWAddress=ethernet $MAC)(macAddress=$MAC))"
+ ldapsearch -h "$LDAPSERVER" -b "$LDAPBASE" -v -x "$filter" | \
+ grep '^ltspConfig' | while read attr value ; do
+ # Remove prefix and convert to upper case
+ attr=$(echo $attr | sed 's/^ltspConfig//i' | tr a-z A-Z)
+ # bass value on to clients
+ eval "$attr=$value; export $attr"
+ done
+ done
+fi
+</pre></blockquote>
+
+<p>I'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. :)</p>
+
+<p>If you want to help out with implementing this for Debian Edu,
+please contact us on debian-edu@lists.debian.org.</p>
</description>
</item>
<item>
- <title>BSAs påstander om piratkopiering møter motstand</title>
- <link>BSAs_p__stander_om_piratkopiering_m__ter_motstand.html</link>
- <guid isPermaLink="true">BSAs_p__stander_om_piratkopiering_m__ter_motstand.html</guid>
- <pubDate>Sun, 17 May 2009 23:05:00 +0200</pubDate>
+ <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>
-<p>Hvert år de siste årene har BSA, lobbyfronten til de store
-programvareselskapene som Microsoft og Apple, publisert en rapport der
-de gjetter på hvor mye piratkopiering påfører i tapte inntekter i
-ulike land rundt om i verden. Resultatene er tendensiøse. For noen
-dager siden kom
-<a href="http://global.bsa.org/globalpiracy2008/studies/globalpiracy2008.pdf">siste
-rapport</a>, og det er flere kritiske kommentarer publisert de siste
-dagene. Et spesielt interessant kommentar fra Sverige,
-<a href="http://www.idg.se/2.1085/1.229795/bsa-hoftade-sverigesiffror">BSA
-höftade Sverigesiffror</a>, oppsummeres slik:</p>
-
-<blockquote>
-I sin senaste rapport slår BSA fast att 25 procent av all mjukvara i
-Sverige är piratkopierad. Det utan att ha pratat med ett enda svenskt
-företag. "Man bör nog kanske inte se de här siffrorna som helt
-exakta", säger BSAs Sverigechef John Hugosson.
-</blockquote>
-
-<p>Mon tro om de er like metodiske når de gjetter på andelen piratkopiering i Norge? To andre kommentarer er <a
-href="http://www.vnunet.com/vnunet/comment/2242134/bsa-piracy-figures-shot-reality">BSA
-piracy figures need a shot of reality</a> og <a
-href="http://www.michaelgeist.ca/content/view/3958/125/">Does The WIPO
-Copyright Treaty Work?</a></p>
-
-<p>Fant lenkene via <a
-href="http://tech.slashdot.org/article.pl?sid=09/05/17/1632242">oppslag
-på Slashdot</a>.</p>
+<p>Since
+<a href="http://people.skolelinux.org/pere/blog/LUMA__a_very_nice_LDAP_GUI.html">my
+last post</a> about available LDAP tools in Debian, I was told about a
+LDAP GUI that is even better than luma. The java application
+<a href="http://jxplorer.org/">jXplorer</a> 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
+<a href="http://packages.qa.debian.org/j/jxplorer.html">available in
+Debian</a> 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.</p>
</description>
</item>
<item>
- <title>Webbasert tegneseriearkiv på trappene</title>
- <link>Webbasert_tegneseriearkiv_p___trappene.html</link>
- <guid isPermaLink="true">Webbasert_tegneseriearkiv_p___trappene.html</guid>
- <pubDate>Sat, 16 May 2009 19:05:00 +0200</pubDate>
+ <title>MS Word krøller det til for politiet?</title>
+ <link>http://people.skolelinux.org/pere/blog/MS_Word_kr__ller_det_til_for_politiet_.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/MS_Word_kr__ller_det_til_for_politiet_.html</guid>
+ <pubDate>Thu, 8 Jul 2010 14:00:00 +0200</pubDate>
<description>
-<p>For noen dager siden ble jeg tipset om en ny norsk webtjeneste for
-å holde styr på ens tegneseriesamling. Har så smått begynt å
-teste den og lagt inn noen hundre oppføringer, og det ser ut til å
-fungere fint. Utvikleren, Trond Hallstensen, er selv ivrig samler og
-har laget systemet i første omgang for seg selv, men altså gjort det
-mulig også for andre å bidra. Tjenesten har potensiale til å bli
-en komplett og verdifull tegneserieindeks over norske serier. Da jeg
-oppdaget tjenesten var det endel mangler som gjorde meg skeptisk til
-å registrere min samling der. Det var nemlig ingen måte å hente ut
-en maskinlesbar oversikt over det jeg registrerte, slik at mine data
-ville være innelåst i tjenesten. Siden den gang har Trond lagt til
-en eksportfunksjon til CSV-format, slik at i hvert fall noen av
-feltene i databasen kan hentes ut for mine serier. Pr. i dag er det
-serie, seriegruppe, år, nr og tittel_på_forside.</p>
-
-<p>Prinsipielt ønsker jeg å kunne hente ut alle feltene om en
-tegneserie, for å unngå repetisjon av det som skjedde med IMDB og
-CDDB på 90-tallet. Begge begynte som fellesskapsprosjekter der
-brukerne bidro på like vilkår, og ble lukket inne da
-initiativtageren og innehaveren av maskinen der tjenesten kjørte
-hadde fått nok innhold til at de ikke lenger følte at de trengte å
-behandle brukerne som likemenn. Trond har skrevet til meg at flere
-felter vil bli lagt inn i eksporten (blant annet strekkode), men
-uttrykt skepsis til å gjøre all informasjonen tilgjengelig (han
-ønsker slik jeg forsto han å kontrollere tjenesten og ikke gjøre
-det mulig å lage konkurrerende tjeneste). Holdningen gjør meg ennå
-mer skeptisk, men tjenesten fungerer fint, så jeg har bestemt meg for
-å ta den i bruk, men begrense meg til å registrere informasjon som
-er tilgjengelig i eksporten.</p>
-
-<p>Har ennå ikke begynt masseregistrering, da jeg venter på støtte for
-strekkoder i tjenesten. Har strekkodeleser, og vil spare litt tid i
-registreringen når jeg går løs på mine esker. Foreløbig har jeg
-registrert litt tilfeldige serier som ligger rundt om i huset, men for
-å få et komplett arkiv må nok noen tusen tegneserier registreres.</p>
-
-<p>Løsningen er i følge utvikleren laget med et Oracle-spesifikt
-verktøy for å lage webtjenester, og ikke fri programvare.
-Utvikleren tar imot innspill men det hørtes ikke ut som om utvikling
-av systemet var enkelt å dele mellom flere, slik at det må via
-ham.</p>
-
-<p>Høres dette interessant ut, besøk
-<a href="http://www.mineserier.no/">mineserier.no</a> og ta en
-titt.</p>
+<p>De siste dagene har Aftenposten
+<a href="http://www.aftenposten.no/nyheter/iriks/article3718597.ece">fortalt</a>
+<a href="http://www.aftenposten.no/nyheter/iriks/article3724249.ece">hvordan</a>
+politet har brukt skriveverktøy som ikke håndterer arabisk tekst og
+tekst som skal skrives fra høyre mot venstre når de har laget
+løpeseddel for å be om informasjon fra publikum. Resultatet har vært
+en uleselig arabisk-bit på løpeseddelen. Feilen har oppstått når
+teksten har blitt "kopiert inn i programvare som ikke har støtte for
+språk som skrives fra høyre mot venstre", og jeg er ganske sikker på
+at det er snakk om Microsoft Office i dette tilfellet. Er det slik at
+MS Office i norsk språkdrakt ikke har støtte for tekst som skal
+skrives fra høyre mot venstre? Jeg tror alle utgaver av
+OpenOffice.org har slik støtte, og det er jo ikke veldig vanskelig å
+la slik støtte finnes i alle utgaver av et program hvis støtten først
+er utviklet. Aftenpostens melding får meg til å undre om problemet
+ville vært unngått hvis politiet brukte OpenOffice.org i stedet for MS
+Office.</p>
+
+<p>Mon tro om det er flere eksempler på at MS Office har ødelagt for
+offentlig myndighet?</p>
</description>
</item>
<item>
- <title>Massiv overvåkning av kollektivtrafikken i Oslo planlegges</title>
- <link>Massiv_overv__kning_av_kollektivtrafikken_i_Oslo_planlegges.html</link>
- <guid isPermaLink="true">Massiv_overv__kning_av_kollektivtrafikken_i_Oslo_planlegges.html</guid>
- <pubDate>Sat, 16 May 2009 09:30:00 +0200</pubDate>
+ <title>Lenny->Squeeze upgrades, apt vs aptitude with the Gnome desktop</title>
+ <link>http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__apt_vs_aptitude_with_the_Gnome_desktop.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__apt_vs_aptitude_with_the_Gnome_desktop.html</guid>
+ <pubDate>Sat, 3 Jul 2010 23:55:00 +0200</pubDate>
<description>
-<p><a href="http://www.aftenposten.no/nyheter/oslo/article3078919.ece">Flere</a>
-og
-<a href="http://blogg.karlsbakk.net/2009/02/28/nsb-ruter-og-flexus/">flere</a>
-protesterer på den massive overvåkningen og registrering av
-trafikkmønster i kollektivtrafikken som planlegges i Oslo. Det er
-bra. Jeg mister lysten til å bruke kollektivtransport når jeg ser
-hvordan trafikkselskapet holder på. Jeg forventer og forlanger å
-ikke bli overvåket med mindre jeg mistenkes for å ha gjort noe
-alvorlig galt. Den massive registreringen av hvor og når
-passasjerene reiser med kollektivtrafikk som planegges av Ruter i Oslo
-er et grotesk overgrep mot alle som bruker buss, trikk T-bane og tog i
-Osloområdet.</p>
+<p>Here is a short update on my <a
+href="http://people.skolelinux.org/~pere/debian-upgrade-testing/">my
+Debian Lenny->Squeeze upgrade testing</a>. Here is a summary of the
+difference for Gnome when it is upgraded by apt-get and aptitude. I'm
+not reporting the status for KDE, because the upgrade crashes when
+aptitude try because of missing conflicts
+(<a href="http://bugs.debian.org/584861">#584861</a> and
+<a href="http://bugs.debian.org/585716">#585716</a>).</p>
+
+<p>At the end of the upgrade test script, dpkg -l is executed to get a
+complete list of the installed packages. Based on this I see these
+differences when I did a test run today. As usual, I do not really
+know what the correct set of packages would be, but thought it best to
+publish the difference.</p>
+
+<p>Installed using apt-get, missing with aptitude</p>
+
+<blockquote><p>
+ at-spi cpp-4.3 finger gnome-spell gstreamer0.10-gnomevfs
+ libatspi1.0-0 libcupsys2 libeel2-data libgail-common libgdl-1-common
+ libgnomeprint2.2-data libgnomeprintui2.2-common libgnomevfs2-bin
+ libgtksourceview-common libpt-1.10.10-plugins-alsa
+ libpt-1.10.10-plugins-v4l libservlet2.4-java libxalan2-java
+ libxerces2-java openoffice.org-writer2latex openssl-blacklist p7zip
+ python-4suite-xml python-eggtrayicon python-gtkhtml2
+ python-gtkmozembed svgalibg1 xserver-xephyr zip
+</p></blockquote>
+
+<p>Installed using apt-get, removed with aptitude</p>
+
+<blockquote><p>
+ bluez-utils dhcdbd djvulibre-desktop epiphany-gecko
+ gnome-app-install gnome-mount gnome-vfs-obexftp gnome-volume-manager
+ libao2 libavahi-compat-libdnssd1 libavahi-core5 libbind9-50
+ libbluetooth2 libcamel1.2-11 libcdio7 libcucul0 libcurl3
+ libdirectfb-1.0-0 libdvdread3 libedata-cal1.2-6 libedataserver1.2-9
+ libeel2-2.20 libepc-1.0-1 libepc-ui-1.0-1 libexchange-storage1.2-3
+ libfaad0 libgd2-noxpm libgda3-3 libgda3-common libggz2 libggzcore9
+ libggzmod4 libgksu1.2-0 libgksuui1.0-1 libgmyth0 libgnome-desktop-2
+ libgnome-pilot2 libgnomecups1.0-1 libgnomeprint2.2-0
+ libgnomeprintui2.2-0 libgpod3 libgraphviz4 libgtkhtml2-0
+ libgtksourceview1.0-0 libgucharmap6 libhesiod0 libicu38 libisccc50
+ libisccfg50 libiw29 libkpathsea4 libltdl3 liblwres50 libmagick++10
+ libmagick10 libmalaga7 libmtp7 libmysqlclient15off libnautilus-burn4
+ libneon27 libnm-glib0 libnm-util0 libopal-2.2 libosp5
+ libparted1.8-10 libpisock9 libpisync1 libpoppler-glib3 libpoppler3
+ libpt-1.10.10 libraw1394-8 libsensors3 libsmbios2 libsoup2.2-8
+ libssh2-1 libsuitesparse-3.1.0 libswfdec-0.6-90 libtalloc1
+ libtotem-plparser10 libtrackerclient0 libvoikko1 libxalan2-java-gcj
+ libxerces2-java-gcj libxklavier12 libxtrap6 libxxf86misc1 libzephyr3
+ mysql-common swfdec-gnome totem-gstreamer wodim
+</p></blockquote>
+
+<p>Installed using aptitude, missing with apt-get</p>
+
+<blockquote><p>
+ gnome gnome-desktop-environment hamster-applet python-gnomeapplet
+ python-gnomekeyring python-wnck rhythmbox-plugins xorg
+ xserver-xorg-input-all xserver-xorg-input-evdev
+ xserver-xorg-input-kbd xserver-xorg-input-mouse
+ xserver-xorg-input-synaptics xserver-xorg-video-all
+ xserver-xorg-video-apm xserver-xorg-video-ark xserver-xorg-video-ati
+ xserver-xorg-video-chips xserver-xorg-video-cirrus
+ xserver-xorg-video-dummy xserver-xorg-video-fbdev
+ xserver-xorg-video-glint xserver-xorg-video-i128
+ xserver-xorg-video-i740 xserver-xorg-video-mach64
+ xserver-xorg-video-mga xserver-xorg-video-neomagic
+ xserver-xorg-video-nouveau xserver-xorg-video-nv
+ xserver-xorg-video-r128 xserver-xorg-video-radeon
+ xserver-xorg-video-radeonhd xserver-xorg-video-rendition
+ xserver-xorg-video-s3 xserver-xorg-video-s3virge
+ xserver-xorg-video-savage xserver-xorg-video-siliconmotion
+ xserver-xorg-video-sis xserver-xorg-video-sisusb
+ xserver-xorg-video-tdfx xserver-xorg-video-tga
+ xserver-xorg-video-trident xserver-xorg-video-tseng
+ xserver-xorg-video-vesa xserver-xorg-video-vmware
+ xserver-xorg-video-voodoo
+</p></blockquote>
+
+<p>Installed using aptitude, removed with apt-get</p>
+
+<blockquote><p>
+ deskbar-applet xserver-xorg xserver-xorg-core
+ xserver-xorg-input-wacom xserver-xorg-video-intel
+ xserver-xorg-video-openchrome
+</p></blockquote>
+
+<p>I was told on IRC that the xorg-xserver package was
+<a href="http://git.debian.org/?p=pkg-xorg/xserver/xorg-server.git;a=commit;h=9c8080d06c457932d3bfec021c69ac000aa60120">changed
+in git</a> today to try to get apt-get to not remove xorg completely.
+No idea when it hits Squeeze, but when it does I hope it will reduce
+the difference somewhat.
</description>
</item>
<item>
- <title>3D-printing brer om seg - fabrikkene består</title>
- <link>3D_printing_brer_om_seg___fabrikkene_best__r.html</link>
- <guid isPermaLink="true">3D_printing_brer_om_seg___fabrikkene_best__r.html</guid>
- <pubDate>Sun, 10 May 2009 16:50:00 +0200</pubDate>
+ <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>
-<p>I 2004 fikk jeg med meg en forelesning om 3D-printing under <a
-href="http://wiki.oreillynet.com/eurofoo/index.cgi">euro foo camp</a>
-der jeg lærte mye nytt om 3D-printing. Fikk se et lite sjakktårn
-skrevet ut i plast, med vindeltrapp på innsiden av tårnet, og en hul
-gummiball som også var skrevet ut (med et lite hull for å få ut
-fyllmassen). Ble fortalt at det amerikanske kavaleriet skriver ut
-reservedeler i metall i felt, og at det fantes amerikanske husbyggere
-som eksperimenterer med utskrift av hus. De to siste har jeg ikke
-funnet noen referanser til i ettertid, og har derfor lurt på om det
-stemmer. Teknologisk skulle det ikke være noe i veien for slike
-løsninger, det er kun et spørmål om pris på skrivehoder og
-skrivere. I dag ble jeg tipset om en løsning som
-<a href="http://www.shapeways.com/blog/archives/217-3D-printing-buildings-interview-with-Enrico-Dini-of-D_Shape.html">kan
-skrive ut hus</a>, med sand og bindemiddel i 25 DPI oppløsning. Mon
-tro om det er fremtidens byggemetode.</p>
-
-<p>Jeg er ikke i tvil om at 3D-utskrift vil føre til endringer i
-hvordan produksjon gjøres, og at tilgjengeligheten på en rekke produkter
-som i dag er vanskelig eller umulig å få tak i vil bedre seg. Men de
-som tror at 3D-skrivere vil gjøre fabrikkene overflødige, tror jeg har
-forregnet seg. 3D-skrivere er fantastisk bra til å lage spesielle
-dingser på forespørsel, f.eks. etter å ha lastet ned et 3D-design fra
-tjenester som <a href="http://www.thingiverse.com/">Thingiverse</a>.
-De er derimot ikke spesielt bra til å lage mange eksemplarer av samme
-dings. Lav pris pr. enhet er fabrikkenes fortrinn. Hvis det skal
-lages tusenvis, eller millioner av en dings, så vil fabrikkene
-sannsynligvis fortsette å slå 3D-skriving ned i støvlene
-økonomisk, selv om en tar hensyn til transport og logistikk. Hvis
-det derimot skal lages en håndfull, så vil 3D-skriving fremstå som
-et suverent alternativ. 3D-skriving er i så måte løsning for
-<a href="http://en.wikipedia.org/wiki/The_Long_Tail">den lange
-halen</a>, mens fabrikker nok fortsatt vil være løsningen for
-massemarkedet.</p>
+<p>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.</p>
+
+<h2>LDAP/Kerberos + nscd + libpam-ccreds + libpam-mklocaluser/pam_mkhomedir</h2>
+
+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
+<a href="http://bugs.debian.org/568577">bug #568577</a> 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.</p>
+
+<p>These packages need to be installed and configured</p>
+
+<blockquote><pre>
+libnss-ldapd libpam-ldapd nscd libpam-ccreds libpam-mklocaluser
+</pre></blockquote>
+
+<p>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'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.</p>
+
+<p>Because nscd do not have a default configuration fit for offline
+caching until <a href="http://bugs.debian.org/485282">bug #485282</a>
+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
+<a href="http://www.flyn.org/laptopldap/">LDAP for Mobile Laptops</a>
+instructions by Flyn Computing.</p>
+
+<blockquote><pre>
+ 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
+</pre></blockquote>
+
+<p>While we wait for a mechanism to update /etc/nsswitch.conf
+automatically like the one provided in
+<a href="http://bugs.debian.org/496915">bug #496915</a>, 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:</p>
+
+<blockquote><pre>
+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
+</pre></blockquote>
+
+<p>The important parts are that ldap is listed last for passwd, group,
+shadow and netgroup.</p>
+
+<p>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.
+
+<h2>LDAP/Kerberos + nss-updatedb + libpam-ccreds +
+ libpam-mklocaluser/pam_mkhomedir</h2>
+
+<p>Because nscd have had its share of problems, and seem to have
+problems doing proper caching, I'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.</p>
+
+<h2>LDAP/Kerberos + sssd + libpam-mklocaluser</h2>
+
+<p>A more flexible and robust setup than the nscd combination
+mentioned earlier that has shown up recently, is the
+<a href="https://fedorahosted.org/sssd/">sssd</a> package from Redhat.
+It is part of the <a href="http://www.freeipa.org/">FreeIPA</A> 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
+<a href="http://packages.qa.debian.org/s/sssd.html">sssd package</a>
+was missing in Debian, I ended up co-maintaining it with Werner, and
+version 1.2 is now in testing.
+
+<p>These packages need to be installed and configured to get the
+roaming setup I want</p>
+
+<blockquote><pre>
+libpam-sss libnss-sss libpam-mklocaluser
+</pre></blockquote>
+
+The complete setup of sssd is done by editing/creating
+<tt>/etc/sssd/sssd.conf</tt>.
+
+<blockquote><pre>
+[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
+</pre></blockquote>
+
+<p>I got the same problem here with certificate checking. Had to set
+"ldap_tls_reqcert = never" to get it working.</p>
+
+<p>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.</p>
+
+<p>If you want to help out with implementing this for Debian Edu,
+please contact us on debian-edu@lists.debian.org.</p>
</description>
</item>
<item>
- <title>Lenker samlet 2009-05-09</title>
- <link>Lenker_samlet_2009_05_09.html</link>
- <guid isPermaLink="true">Lenker_samlet_2009_05_09.html</guid>
- <pubDate>Sat, 9 May 2009 22:40:00 +0200</pubDate>
+ <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>
-<ul>
+<p>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
+<a href="http://luma.sourceforge.net/">LUMA</a>, 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. :)</p>
-<li><a href="http://www.aftenposten.no/meninger/kronikker/article3066834.ece">Jeg, et offer</a>
-<br>Aage Borchgrevink drodler om offerrollens framvekst i den norske
-offentligheten.</li>
+<p>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.</p>
-<li><a href="http://www.nuug.no/pub/video/published/200904-goopen.html">Opptak fra Go Open 2009 på web</a>
-<br>Endelig kan jeg få med meg foredragene jeg gikk glipp av.</li>
+<p>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
+<a href="http://www.lichteblau.com/ldapvi/">ldapvi</a> for that.</p>
-<li><a href="http://www.robweir.com/blog/2009/05/update-on-odf-spreadsheet.html">MS Excel 2007 håndterer ODF dårlig</a>
-<br>Microsoft har lykkes med å implementere ODF slik at de ikke
-samhandler med noen av de andre som håndterer ODF-regneark.</li>
+<p>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.</p>
-<li><a href="http://www.groklaw.net/article.php?story=20090503215045379">MS
-Word 2007 håndterer ODF dårlig</a>
-<br>Fotnoter laget i MS Office blir merkelige i OpenOffice.org.</li>
-
-</ul>
+<p>Update 2010-06-29: Ross Reedstrom tipped us about the
+<a href="http://packages.qa.debian.org/g/gq.html">gq</a> 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.</p>
</description>
</item>
<item>
- <title>IDG mener linux i servermarkedet vil vokse med 21% i 2009</title>
- <link>IDG_mener_linux_i_servermarkedet_vil_vokse_med_21__i_2009.html</link>
- <guid isPermaLink="true">IDG_mener_linux_i_servermarkedet_vil_vokse_med_21__i_2009.html</guid>
- <pubDate>Thu, 7 May 2009 22:30:00 +0200</pubDate>
+ <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>
-<p>Kom over
-<a href="http://news.cnet.com/8301-13505_3-10216873-16.html">interessante
-tall</a> fra IDG om utviklingen av linuxservermarkedet. Fikk meg til
-å tenke på antall tjenermaskiner ved Universitetet i Oslo der jeg
-jobber til daglig. En rask opptelling forteller meg at vi har 490
-(61%) fysiske unix-tjener (mest linux men også noen solaris) og 196
-(25%) windowstjenere, samt 112 (14%) virtuelle unix-tjenere. Med den
-bakgrunnskunnskapen kan jeg godt tro at IDG er inne på noe.</p>
+<p>A while back, I
+<a href="http://people.skolelinux.org/pere/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html">complained
+about the fact</a> 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.</p>
+
+<p>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.</p>
+
+<p>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.</p>
+
+<p>Anyway, for future reference, this is how I believe we could change
+the
+<a href="http://tools.ietf.org/html/draft-ietf-dhc-ldap-schema-00">DHCP
+schema</a> to solve at least part of the problem with the LDAP schemas
+available today from IETF.</p>
+
+<pre>
+--- dhcp.schema (revision 65192)
++++ dhcp.schema (working copy)
+@@ -376,7 +376,7 @@
+ objectclass ( 2.16.840.1.113719.1.203.6.6
+ NAME 'dhcpHost'
+ DESC 'This represents information about a particular client'
+- SUP top
++ SUP top AUXILIARY
+ MUST cn
+ MAY (dhcpLeaseDN $ dhcpHWAddress $ dhcpOptionsDN $ dhcpStatements $ dhcpComments $ dhcpOption)
+ X-NDS_CONTAINMENT ('dhcpService' 'dhcpSubnet' 'dhcpGroup') )
+</pre>
+
+<p>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.</p>
+
+<p>If you want to help out with implementing this for Debian Edu,
+please contact us on debian-edu@lists.debian.org.</p>
</description>
</item>
<item>
- <title>Kryptert harddisk - naturligvis</title>
- <link>Kryptert_harddisk___naturligvis.html</link>
- <guid isPermaLink="true">Kryptert_harddisk___naturligvis.html</guid>
- <pubDate>Sat, 2 May 2009 15:30:00 +0200</pubDate>
+ <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>
-<p><a href="http://www.dagensit.no/trender/article1658676.ece">Dagens
-IT melder</a> at Intel hevder at det er dyrt å miste en datamaskin,
-når en tar tap av arbeidstid, fortrolige dokumenter,
-personopplysninger og alt annet det innebærer. Det er ingen tvil om
-at det er en kostbar affære å miste sin datamaskin, og det er årsaken
-til at jeg har kryptert harddisken på både kontormaskinen og min
-bærbare. Begge inneholder personopplysninger jeg ikke ønsker skal
-komme på avveie, den første informasjon relatert til jobben min ved
-Universitetet i Oslo, og den andre relatert til blant annet
-foreningsarbeide. Kryptering av diskene gjør at det er lite
-sannsynlig at dophoder som kan finne på å rappe maskinene får noe ut
-av dem. Maskinene låses automatisk etter noen minutter uten bruk,
-og en reboot vil gjøre at de ber om passord før de vil starte opp.
-Jeg bruker Debian på begge maskinene, og installasjonssystemet der
-gjør det trivielt å sette opp krypterte disker. Jeg har LVM på toppen
-av krypterte partisjoner, slik at alt av datapartisjoner er kryptert.
-Jeg anbefaler alle å kryptere diskene på sine bærbare. Kostnaden når
-det er gjort slik jeg gjør det er minimale, og gevinstene er
-betydelige. En bør dog passe på passordet. Hvis det går tapt, må
-maskinen reinstalleres og alt er tapt.</p>
-
-<p>Krypteringen vil ikke stoppe kompetente angripere som f.eks. kjøler
-ned minnebrikkene før maskinen rebootes med programvare for å hente ut
-krypteringsnøklene. Kostnaden med å forsvare seg mot slike angripere
-er for min del høyere enn gevinsten. Jeg tror oddsene for at
-f.eks. etteretningsorganisasjoner har glede av å titte på mine
-maskiner er minimale, og ulempene jeg ville oppnå ved å forsøke å
-gjøre det vanskeligere for angripere med kompetanse og ressurser er
-betydelige.</p>
+<p>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:
+
+<blockquote><pre>
+export DEBIAN_FRONTEND=noninteractive
+tasksel --new-install
+</pre></blockquote>
+
+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:
+
+<blockquote><pre>
+export DEBIAN_FRONTEND=noninteractive
+cmd="$(in_target tasksel -t --new-install | sed 's/debconf-apt-progress -- //')"
+$cmd
+</pre></blockquote>
+
+<p>The content of $cmd is typically something like "<tt>aptitude -q
+--without-recommends -o APT::Install-Recommends=no -y install
+~t^desktop$ ~t^gnome-desktop$ ~t^laptop$ ~pstandard ~prequired
+~pimportant</tt>", 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.</p>
+
+<p>A better approach is probably to extend tasksel to be able to
+install packages without using debconf-apt-progress, for use cases
+like this.</p>
</description>
</item>
<item>
- <title>Two projects that have improved the quality of free software a lot</title>
- <link>Two_projects_that_have_improved_the_quality_of_free_software_a_lot.html</link>
- <guid isPermaLink="true">Two_projects_that_have_improved_the_quality_of_free_software_a_lot.html</guid>
- <pubDate>Sat, 2 May 2009 15:00:00 +0200</pubDate>
+ <title>Vinmonopolet bryter loven åpenlyst - og flere planlegger å gjøre det samme</title>
+ <link>http://people.skolelinux.org/pere/blog/Vinmonopolet_bryter_loven___penlyst___og_flere_planlegger____gj__re_det_samme.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Vinmonopolet_bryter_loven___penlyst___og_flere_planlegger____gj__re_det_samme.html</guid>
+ <pubDate>Wed, 16 Jun 2010 11:00:00 +0200</pubDate>
<description>
-<p>There are two software projects that have had huge influence on the
-quality of free software, and I wanted to mention both in case someone
-do not yet know them.</p>
-
-<p>The first one is <a href="http://valgrind.org/">valgrind</a>, a
-tool to detect and expose errors in the memory handling of programs.
-It is easy to use, all one need to do is to run 'valgrind program',
-and it will report any problems on stdout. It is even better if the
-program include debug information. With debug information, it is able
-to report the source file name and line number where the problem
-occurs. It can report things like 'reading past memory block in file
-X line N, the memory block was allocated in file Y, line M', and
-'using uninitialised value in control logic'. This tool has made it
-trivial to investigate reproducible crash bugs in programs, and have
-reduced the number of this kind of bugs in free software a lot.
-
-<p>The second one is
-<a href="http://en.wikipedia.org/wiki/Coverity">Coverity</a> which is
-a source code checker. It is able to process the source of a program
-and find problems in the logic without running the program. It
-started out as the Stanford Checker and became well known when it was
-used to find bugs in the Linux kernel. It is now a commercial tool
-and the company behind it is running
-<a href="http://www.scan.coverity.com/">a community service</a> for the
-free software community, where a lot of free software projects get
-their source checked for free. Several thousand defects have been
-found and fixed so far. It can find errors like 'lock L taken in file
-X line N is never released if exiting in line M', or 'the code in file
-Y lines O to P can never be executed'. The projects included in the
-community service project have managed to get rid of a lot of
-reliability problems thanks to Coverity.</p>
-
-<p>I believe tools like this, that are able to automatically find
-errors in the source, are vital to improve the quality of software and
-make sure we can get rid of the crashing and failing software we are
-surrounded by today.</p>
+<p><a href="http://www.dagbladet.no/2010/06/16/nyheter/innenriks/streik/arbeidsliv/12157858/">Dagbladet
+melder</a> at Vinmonopolet med bakgrunn i vekterstreiken som pågår i
+Norge for tiden, har bestemt seg for med vitende og vilje å bryte
+sentralbanklovens paragraf 14 ved å nekte folk å betale med
+kontanter, og at flere butikker planlegger å følge deres eksempel.
+Jeg synes det er hårreisende hvis de slipper unna med et slikt
+soleklart lovbrudd, og lurer på hva slags muligheter jeg vil ha hvis
+jeg blir nektet å handle med kontanter. Jeg handler i hovedsak med
+kontanter selv, da jeg anser det som en borgerrett å kunne handle
+anonymt uten at det blir registrert. For meg er det et angrep på mitt
+personvern å nekte å ta imot kontant betaling.</p>
+
+<p><a href="http://www.lovdata.no/all/tl-19850524-028-003.html#14">Paragrafen
+i sentralbankloven</a> lyder:</p>
+
+<blockquote>
+<p>§ 14. Tvungent betalingsmiddel</p>
+
+<p>Bankens sedler og mynter er tvungent betalingsmiddel i Norge. Ingen
+er pliktig til i én betaling å ta imot mer enn femogtyve mynter av
+hver enhet.</p>
+
+<p>Sterkt skadde sedler og mynter er ikke tvungent
+betalingsmiddel. Banken gir nærmere forskrifter om erstatning for
+bortkomne, brente eller skadde sedler og mynter.</p>
+
+<p>Selv om en avtale inneholder klausul om betaling av en
+pengeforpliktelse i gullverdi, kan skyldneren frigjøre seg med tvungne
+betalingsmidler uten hensyn til denne klausul.</p>
+</blockquote>
+
+<p>Det er med bakgrunn i denne lovet ikke tillatt å nekte å ta imot
+kontakt betaling. Det er en lov jeg har sans for, og som jeg mener må
+håndheves strengt.</p>
</description>
</item>
<item>
- <title>No patch is not better than a useless patch</title>
- <link>No_patch_is_not_better_than_a_useless_patch.html</link>
- <guid isPermaLink="true">No_patch_is_not_better_than_a_useless_patch.html</guid>
- <pubDate>Tue, 28 Apr 2009 09:30:00 +0200</pubDate>
+ <title>Officeshots taking shape</title>
+ <link>http://people.skolelinux.org/pere/blog/Officeshots_taking_shape.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Officeshots_taking_shape.html</guid>
+ <pubDate>Sun, 13 Jun 2010 11:40:00 +0200</pubDate>
<description>
-<p>Julien Blache
-<a href="http://blog.technologeek.org/2009/04/12/214">claim that no
-patch is better than a useless patch</a>. I completely disagree, as a
-patch allow one to discuss a concrete and proposed solution, and also
-prove that the issue at hand is important enough for someone to spent
-time on fixing it. No patch do not provide any of these positive
-properties.</p>
+<p>For those of us caring about document exchange and
+interoperability, <a href="http://www.officeshots.org/">OfficeShots</a>
+is a great service. It is to ODF documents what
+<a href="http://browsershots.org/">BrowserShots</a> is for web
+pages.</p>
+
+<p>A while back, I was contacted by Knut Yrvin at the part of Nokia
+that used to be Trolltech, who wanted to help the OfficeShots project
+and wondered if the University of Oslo where I work would be
+interested in supporting the project. I helped him to navigate his
+request to the right people at work, and his request was answered with
+a spot in the machine room with power and network connected, and Knut
+arranged funding for a machine to fill the spot. The machine is
+administrated by the OfficeShots people, so I do not have daily
+contact with its progress, and thus from time to time check back to
+see how the project is doing.</p>
+
+<p>Today I had a look, and was happy to see that the Dell box in our
+machine room now is the host for several virtual machines running as
+OfficeShots factories, and the project is able to render ODF documents
+in 17 different document processing implementation on Linux and
+Windows. This is great.</p>
</description>
</item>