- <div class="title"><a href="http://people.skolelinux.org/pere/blog/Ny_utgave__v2_1__av_den_frie_norske_stavekontrollen_gitt_ut.html">Ny utgave (v2.1) av den frie norske stavekontrollen gitt ut</a></div>
- <div class="date"> 2nd October 2012</div>
- <div class="body"><p>I helga fikk jeg endelig pakket sammen en ny versjon av den norske
-stavekontrollen, og gikk ut versjon 2.1 etter at det var gått fire og
-et halvt år siden sist. I dag fikk vi sendt ut annonseringen. Her er
-det vi sendte ut:</p>
-
-<p>Oslo, 2012-10-02</p>
-
-<p><strong>Pressemelding: Ny utgave av norsk stavekontroll med
-synonymordliste</strong></p>
-
-<p>Mer enn fire år etter at forrige utgave av den frie norske
-stavekontrollen ble utgitt, er en ny og forbedret versjon klar. Dette er
-noe utviklerne er veldig glade for.</p>
-
-<p>Den største endringen er at byggesystemet for stavekontrollen er
-skrevet om til å akseptere ord med bindestrek (f.eks. «e-post»). Litt
-over 10.000 slike ordformer er lagt til i orddatabasen. I tillegg er
-det kommet en del nye ord og rettelser rapportert inn av de frivillige
-som gjennomfører korrektur av orddatabasen i prosjektet. For å få
-fortgang i dette korrekturarbeidet er det fint med flere frivillige
-som kan bidra i prosjektet.</p>
-
-<p><blockquote>
- - En god og fritt tilgjengelig stavekontroll er en viktig byggestein
- for å fremme bruken av korrekt norsk språk, sier prosjektdeltager
- Petter Reinholdtsen.
-</blockquote></p>
-
-<p>Takket være samarbeidet med synonymordlisteprosjektet er
-synonymordlista for bokmål tilgjengelig sammen med ordlista for bokmål
-og nynorsk. En synonymordliste for nynorsk er også med, men den er på
-prøvestadiet og meget liten.</p>
-
-<p>Stavekontrollpakken og synonymordlistene brukes i
-LibreOffice/OpenOffice.org, Koffice, Mozilla Thunderbird, Firefox og
-en rekke andre programmer, og på både Windows, Mac OS X, Linux og
-BSD.</p>
-
-<p>Det hele utgis under den frie lisensen GPL og kan fritt lastes ned
-fra prosjektsidene på
-<a href="http://no.speling.org">no.speling.org</a>. Ferdige pakker for
-LibreOffice/OpenOffice.org er også tilgjengelige fra samme sted.</p>
-
-<p>Det norske stavekontrollprosjektet er i kontakt med lignende
-prosjekter for blant annet å forbedre stavekontrollteknologien, å
-utveksle verktøy for vedlikehold av orddatabasen og å få tilgang til
-relevante datasett. Et av disse prosjektene er et separat prosjekt ved
-Sametinget som er i gang med å utvikle samisk stavekontroll for blant
-annet Microsoft Word og OpenOffice.org.</p>
-
-<p>Et søsterprosjekt for å lage grammatikk-kontroll for
-LibreOffice/OpenOffice.org er igangsatt, men har ennå ikke kommet
-langt nok til å brukes. Frivillige til å bidra i dette prosjektet er
-også svært velkomne.</p>
-
-<p><strong>Kontaktperson</strong></p>
-
-<p><blockquote>
-Axel Bojer, prosjektdeltager
-<br>E-post: fri_programvare (at) bojer.no
-<br>Tlf: +47 954 32 417
-</blockquote></p>
-
-<p><strong>Referanser</strong></p>
-
-<ul>
-
-<li>Det frie norske stavekontrollprosjektet for bokmål og nynorsk:
- <a href="http://no.speling.org">http://no.speling.org</a></li>
-<li>Samiske korrekturverktøy:
- <a href="http://divvun.no/">http://divvun.no/</a></li>
-<li>Ordlistene fra Norsk ordbank:
- <a href="http://www.edd.uio.no/prosjekt/ordbanken/">http://www.edd.uio.no/prosjekt/ordbanken/</a></li>
-<li>Last ned ordlistene:
- <a href="http://alioth.debian.org/frs/?group_id=30577">http://alioth.debian.org/frs/?group_id=30577</a>
- (PS: no_NO-pack2 for OOo 2.x))</li>
-</ul>
-
-<p><strong>Fra NEWS-fila i kildekodepakken</strong></p>
-
-<p>Release 2.1 (2012-09-30)</p>
-
-<ul>
-
-<li>Switch to new version scheme. Make new version 2.1, not 2.0.11. We do not
- release often enough to justify three digits.</li>
-<li>Switch build rules to build OOo v2 thesaurus files, as the v1 build rules
- no longer work. This require the libmythes-dev package on Debian.</li>
-<li>Introduce new Makefile variables hyphendir and thesdir to make it easier to
- control where to install these.</li>
-<li>Change script used to import from no.speling.org, to load new word
- boundaries if at least two people believed the boundaries was correct.</li>
-<li>Added word boundaries for several words (around 500 words) using the
- updated script.</li>
-<li>Imported thesarus for bokmål from synonymer.merg.net.</li>
-<li>Rewrote build rules to use = instead of - as combined word marker, thus
- allowing words like e-post.</li>
-<li>Imported a lot (around 10k words) of new words with dash (-) in them from
- no.speling.org now that it is handled by the build system.</li>
-</ul>
+ <div class="title"><a href="http://people.skolelinux.org/pere/blog/Scripting_the_Cerebrum_bofhd_user_administration_system_using_XML_RPC.html">Scripting the Cerebrum/bofhd user administration system using XML-RPC</a></div>
+ <div class="date"> 6th December 2012</div>
+ <div class="body"><p>Where I work at the <a href="http://www.uio.no/">University of
+Oslo</a>, we use the
+<a href="http://sourceforge.net/projects/cerebrum/">Cerebrum user
+administration system</a> to maintain users, groups, DNS, DHCP, etc.
+I've known since the system was written that the server is providing
+an <a href="http://en.wikipedia.org/wiki/XML-RPC">XML-RPC</a> API, but
+I have never spent time to try to figure out how to use it, as we
+always use the bofh command line client at work. Until today. I want
+to script the updating of DNS and DHCP to make it easier to set up
+virtual machines. Here are a few notes on how to use it with
+Python.</p>
+
+<p>I started by looking at the source of the Java
+<a href="http://cerebrum.svn.sourceforge.net/viewvc/cerebrum/trunk/cerebrum/clients/jbofh/">bofh
+client</a>, to figure out how it connected to the API server. I also
+googled for python examples on how to use XML-RPC, and found
+<a href="http://tldp.org/HOWTO/XML-RPC-HOWTO/xmlrpc-howto-python.html">a
+simple example in</a> the XML-RPC howto.</p>
+
+<p>This simple example code show how to connect, get the list of
+commands (as a JSON dump), and how to get the information about the
+user currently logged in:</p>
+
+<blockquote><pre>
+#!/usr/bin/env python
+import getpass
+import xmlrpclib
+server_url = 'https://cerebrum-uio.uio.no:8000';
+username = getpass.getuser()
+password = getpass.getpass()
+server = xmlrpclib.Server(server_url);
+#print server.get_commands(sessionid)
+sessionid = server.login(username, password)
+print server.run_command(sessionid, "user_info", username)
+result = server.logout(sessionid)
+print result
+</pre></blockquote>
+
+<p>Armed with this knowledge I can now move forward and script the DNS
+and DHCP updates I wanted to do.</p>