- <div class="title"><a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Mike_Gabriel.html">Debian Edu interview: Mike Gabriel</a></div>
- <div class="date"> 2nd June 2012</div>
- <div class="body"><p>Back in 2010, Mike Gabriel showed up on the
-<a href="http://www.skolelinux.org/">Debian Edu and Skolelinux</a>
-mailing list. He quickly proved to be a valuable developer, and
-thanks to his tireless effort we now have Kerberos integrated into the
-<a href="http://www.debian.org/News/2012/20120311.html">Debian Edu
-Squeeze</a> version.</p>
-
-<p><strong>Who are you, and how do you spend your days?</strong></p>
-
-<p>My name is Mike Gabriel, I am 38 years old and live near Kiel,
-Schleswig-Holstein, Germany. I live together with a wonderful partner
-(Angela Fuß) and two own children and two bonus children (contributed
-by Angela).</p>
-
-<p>During the day I am part-time employed as a system administrator
-and part-time working as an IT consultant. The consultancy work
-touches free software topics wherever and whenever possible. During
-the nights I am a free software developer. In the gaps I also train in
-becoming an osteopath.</p>
-
-<p>Starting in 2010 we (Andreas Buchholz, Angela Fuß, Mike Gabriel)
-have set up a free software project in the area of Kiel that aims at
-introducing free software into schools. The project's name is
-"IT-Zukunft Schule" (IT future for schools). The project links IT
-skills with communication skills.</p>
-
-<p><strong>How did you get in contact with the Skolelinux/Debian Edu
-project?</strong></p>
-
-<p>While preparing our own customised Linux distribution for
-"IT-Zukunft Schule" we were repeatedly asked if we really wanted to
-reinvent the wheel. What schools really need is already available,
-people said. From this impulse we started evaluating other Linux
-distributions that target being used for school networks.</p>
-
-<p>At the end we short-listed two approaches and compared them: a
-commercial Linux distribution developed by a company in Bremen,
-Germany, and Skolelinux / Debian Edu. Between 12/2010 and 03/2011 we
-went to several events and met people being responsible for marketing
-and development of either of the distributions. Skolelinux / Debian
-Edu was by far much more convincing compared to the other product that
-got short-listed beforehand--across the full spectrum. What was most
-attractive for me personally: the perspective of collaboration within
-the developmental branch of the Debian Edu project itself.</p>
-
-<p>In parallel with this, we talked to many local and not-so-local
-people. People teaching at schools, headmasters, politicians, data
-protection experts, other IT professionals.</p>
-
-<p>We came to two conclusions:</p>
-
-<p>First, a technical conclusion: What schools need is available in
-bits and pieces here and there, and none of the solutions really fit
-by 100%. Any school we have seen has a very individual IT setup
-whereas most of each school's requirements could mapped by a standard
-IT solution. The requirement to this IT solution is flexibility and
-customisability, so that individual adaptations here and there are
-possible. In terms of re-distributing and rolling out such a
-standardised IT system for schools (a system that is still to some
-degree customisable) there is still a lot of work to do here
-locally. Debian Edu / Skolelinux has been our choice as the starting
-point.</p>
-
-<p>Second, a holistic conclusion: What schools need does not exist at
-all (or we missed it so far). There are several technical solutions
-for handling IT at schools that tend to make a good impression. What
-has been missing completely here in Germany, though, is the enrolment
-of people into using IT and teaching with IT. "IT-Zukunft Schule"
-tries to provide an approach for this.</p>
-
-<p>Only some schools have some sort of a media concept which explains,
-defines and gives guidance on how to use IT in class. Most schools in
-Northern Germany do not have an IT service provider, the school's IT
-equipment is managed by one or (if the school is lucky) two (admin)
-teachers, most of the workload these admin teachers get done in there
-spare time.</p>
-
-<p>We were surprised that only a very few admin teachers were
-networked with colleagues from other schools. Basically, every school
-here around has its individual approach of providing IT equipment to
-teachers and students and the exchange of ideas has been quasi
-non-existent until 2010/2011.</p>
-
-<p>Quite some (non-admin) teachers try to avoid using IT technology in
-class as a learning medium completely. Several reasons for this
-avoidance do exist.</p>
-
-<p>We discovered that no-one has ever taken a closer look at this
-social part of IT management in schools, so far. On our quest journey
-for a technical IT solution for schools, we discussed this issue with
-several teachers, headmasters, politicians, other IT professionals and
-they all confirmed: a holistic approach of considering IT management
-at schools, an approach that includes the people in place, will be new
-and probably a gain for all.</p>
-
-<p><strong>What do you see as the advantages of Skolelinux/Debian
-Edu?</strong></p>
-
-<p>There is a list of advantages: international context, openness to
-any kind of contributions, do-ocracy policy, the closeness to Debian,
-the different installation scenarios possible (from stand-alone
-workstation to complex multi-server sites), the transparency within
-project communication, honest communication within the group of
-developers, etc.</p>
-
-<p><strong>What do you see as the disadvantages of Skolelinux/Debian
-Edu?</strong></p>
-
-<p>Every coin has two sides:</p>
-
-<p>Technically: <a href="http://bugs.debian.org/311188">BTS issue
-#311188</a>, tricky upgradability of a Debian Edu main server, network
-client installations on top of a plain vanilla Debian installation
-should become possible sometime in the near future, one could think
-about splitting the very complex package debian-edu-config into
-several portions (to make it easier for new developers to
-contribute).</p>
-
-<p>Another issue I see is that we (as Debian Edu developers) should
-find out more about the network of people who do the marketing for
-Debian Edu / Skolelinux. There is a very active group in Germany
-promoting Skolelinux on the bigger Linux Days within Germany. Are
-there other groups like that in other countries? How can we bring
-these marketing people together (marketing group A with group B and
-all of them with the group of Debian Edu developers)? During the last
-meeting of the German Skolelinux group, I got the impression of people
-there being rather disconnected from the development department of
-Debian Edu / Skolelinux.</p>
-
-<p><strong>Which free software do you use daily?</strong></p>
-
-<p>For my daily business, I do not use commercial software at all.</p>
-
-<p>For normal stuff I use Iceweasel/Firefox, Libreoffice.org. For
-serious text writing I prefer LaTeX. I use gimp, inkscape, scribus for
-more artistic tasks. I run virtual machines in KVM and Virtualbox.</p>
-
-<p>I am one of the upstream developers of X2Go. In 2010 I started the
-development of a Python based X2Go Client, called PyHoca-GUI.
-PyHoca-GUI has brought forth a Python X2Go Client API that currently
-is being integrated in Ubuntu's software center.</p>
-
-<p>For communications I have my own Kolab server running using Horde
-as web-based groupware client. For IRC I love to use irssi, for Jabber
-I have several clients that I use, mostly pidgin, though. I am also
-the Debian maintainer of Coccinella, a Jabber-based interactive
-whiteboard.</p>
-
-<p>My favourite terminal emulator is KDE's Yakuake.</p>
-
-<p><strong>Which strategy do you believe is the right one to use to
-get schools to use free software?</strong></p>
-
-<p>Communicate, communicate, communicate. Enrol people, enrol people,
-enrol people.</p>
+ <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>