]> pere.pagekite.me Git - homepage.git/blob - blog/archive/2012/12/index.html
Generated.
[homepage.git] / blog / archive / 2012 / 12 / index.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
4 <head>
5 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
6 <title>Petter Reinholdtsen: entries from December 2012</title>
7 <link rel="stylesheet" type="text/css" media="screen" href="http://people.skolelinux.org/pere/blog/style.css" />
8 <link rel="stylesheet" type="text/css" media="screen" href="http://people.skolelinux.org/pere/blog/vim.css" />
9 <link rel="alternate" title="RSS Feed" href="12.rss" type="application/rss+xml" />
10 </head>
11 <body>
12 <!-- XML FEED -->
13 <div class="title">
14 <h1>
15 <a href="http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen</a>
16
17 </h1>
18
19 </div>
20
21
22 <h3>Entries from December 2012.</h3>
23
24 <div class="entry">
25 <div class="title">
26 <a href="http://people.skolelinux.org/pere/blog/Ledger___double_entry_accounting_using_text_based_storage_format.html">Ledger - double-entry accounting using text based storage format</a>
27 </div>
28 <div class="date">
29 18th December 2012
30 </div>
31 <div class="body">
32 <p>A few days ago I came across
33 <a href="http://joeyh.name/blog/entry/hledger/">a blog post from Joey
34 Hess</a> describing <a href="http://ledger-cli.org/">ledger</a> and
35 hledger, a text based system for double-entry accounting. I found it
36 interesting, as I am involved with several organizations where
37 accounting is an issue, and I have not really become too friendly with
38 the different web based systems we use. I find it hard to find what I
39 look for in the menus and even harder try to get sensible data out of
40 the systems. Ledger seem different. The accounting data is kept in
41 text files that can be stored in a version control system, and there
42
43 are at least <a href="https://github.com/ledger/ledger/wiki/Ports">five
44 different implementations</a> able to read the format. An example
45 entry look like this, and is simple enough that it will be trivial to
46 generate entries based on CVS files fetched from the bank:</p>
47
48 <blockquote><pre>
49 2004-05-27 Book Store
50 Expenses:Books $20.00
51 Liabilities:Visa
52 </pre></blockquote>
53
54 <p>The concept seemed interesting enough for me to check it out and
55 look for others using it. I found blog posts from
56 <a href="http://blog.spang.cc/posts/hledger_rocks_my_world/">Christine
57 Spang</a>,
58 <a href="http://bugsplat.info/2010-05-23-keeping-finances-with-ledger.html">Pete
59 Keen</a>,
60 <a href="http://blog.andrewcantino.com/blog/2010/11/06/command-line-accounting-with-ledger-and-reckon/">Andrew
61 Cantino</a> and
62 <a href="http://blog.iphoting.com/blog/2012/11/29/command-line-double-entry-accounting/">Ronald
63 Ip</a> describing how they use it, as well as a post from
64 <a href="https://groups.google.com/forum/?fromgroups=#!topic/ledger-cli/r0oWjwbQ9Bo">Bradley
65 M. Kuhn</a> at the Software Freedom Conservancy. All seemed like good
66 recommendations fitting my need.</p>
67
68 <p>The <a href="http://packages.qa.debian.org/l/ledger.html">ledger</a>
69 package is available in Debian Squeeze, while the
70 <a href="http://packages.qa.debian.org/h/haskell-hledger.html">hledger</a>
71 package only is available in Debian Sid. As I use Squeeze, ledger
72 seemed the best choice to get started.</p>
73
74 <p>To get some real data to test on, I wrote a
75 <a href="http://www.nuug.no/tools/lodo2ledger">web scraper</a> for
76 <a href="http://www.lodo.no/">LODO</a>, the accounting system used by
77 the <a href="http://www.nuug.no/">NUUG</a> association, and started to
78 play with the data set. I'm not really deeply into accounting, but I
79 am able to get a simple balance and accounting status for example
80 using the "<tt>ledger balance</tt>" command. But I will have to
81 gather more experience before I know if the ledger way is a good fit
82 for the organisations I am involved in.</p>
83
84 </div>
85 <div class="tags">
86
87
88 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
89
90
91 </div>
92 </div>
93 <div class="padding"></div>
94
95 <div class="entry">
96 <div class="title">
97 <a href="http://people.skolelinux.org/pere/blog/61_kommuner_lenker_n__til_FiksGataMi_fra_sine_nettsider.html">61 kommuner lenker nå til FiksGataMi fra sine nettsider</a>
98 </div>
99 <div class="date">
100 11th December 2012
101 </div>
102 <div class="body">
103 <p>For noen dager siden omfavnet nok en kommune NUUGs
104 <a href="http://www.fiksgatami.no/">FiksGataMi</a>. Med 61 kommuner
105 som lenker til FiksGataMi fra sine hjemmesider er «markedsandelen» 14%
106 (av 429 kommuner). Siden
107 <a href="http://people.skolelinux.org/pere/blog/59_kommuner_omfavner_n__FiksGataMi.html">siste
108 oppdatering i november</a> har kommunene Re og Vågsøy kommet til og
109 slår følge med kommunene Askim, Askøy, Audnedal, Aure, Balestrand,
110 Bærum, Eide, Farsund, Flekkefjord, Folldal, Gran, Grue, Hadsel,
111 Halden, Halsa, Hamar, Hobøl, Holtålen, Hægebostad, Høyanger,
112 Kongsberg, Kristiansund, Kvinesdal, Kviteseid, Levanger, Lindesnes,
113 Luster, Lyngdal, Løten, Mandal, Marnardal, Moss, Namsos, Nissedal,
114 Nordreisa, Randaberg, Rindal, Sel, Sirdal, Skiptvet, Sortland,
115 Spydeberg, Stange, Stjørdal, Stord, Søgne, Sør-Odal, Tolga, Trysil,
116 Tynset, Tysvær, Ullensvang Herad, Utsira, Vennesla, Verdal, Vågan,
117 Vågå, Våler og Åseral. Oppdatert liste er tilgjengelig fra
118 <a href="http://wiki.nuug.no/grupper/fiksgatami/positivemottakere">NUUGs
119 wiki</a>. Kartet er dog ikke oppdatert med de siste kommunene.</p>
120
121 <p>Kanskje du bør høre med din kommune om de vil bli mer aktive
122 brukere av FiksGataMi? Se
123 <a href="http://people.skolelinux.org/pere/blog/40_kommuner_lenker_n__til_FiksGataMi_fra_sine_nettsider___gj_r_din_.html">en
124 tidligere bloggpost</a> med tips om hvordan det kan gjøres.</p>
125
126 <p>I snitt rapporteres det nå via FiksGataMi ca. 60 meldinger fra
127 innbyggerne i uka om feil på offentlig infrastruktur.</p>
128
129 </div>
130 <div class="tags">
131
132
133 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami</a>, <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>.
134
135
136 </div>
137 </div>
138 <div class="padding"></div>
139
140 <div class="entry">
141 <div class="title">
142 <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>
143 </div>
144 <div class="date">
145 6th December 2012
146 </div>
147 <div class="body">
148 <p>Where I work at the <a href="http://www.uio.no/">University of
149 Oslo</a>, we use the
150 <a href="http://sourceforge.net/projects/cerebrum/">Cerebrum user
151 administration system</a> to maintain users, groups, DNS, DHCP, etc.
152 I've known since the system was written that the server is providing
153 an <a href="http://en.wikipedia.org/wiki/XML-RPC">XML-RPC</a> API, but
154 I have never spent time to try to figure out how to use it, as we
155 always use the bofh command line client at work. Until today. I want
156 to script the updating of DNS and DHCP to make it easier to set up
157 virtual machines. Here are a few notes on how to use it with
158 Python.</p>
159
160 <p>I started by looking at the source of the Java
161 <a href="http://cerebrum.svn.sourceforge.net/viewvc/cerebrum/trunk/cerebrum/clients/jbofh/">bofh
162 client</a>, to figure out how it connected to the API server. I also
163 googled for python examples on how to use XML-RPC, and found
164 <a href="http://tldp.org/HOWTO/XML-RPC-HOWTO/xmlrpc-howto-python.html">a
165 simple example in</a> the XML-RPC howto.</p>
166
167 <p>This simple example code show how to connect, get the list of
168 commands (as a JSON dump), and how to get the information about the
169 user currently logged in:</p>
170
171 <blockquote><pre>
172 #!/usr/bin/env python
173 import getpass
174 import xmlrpclib
175 server_url = 'https://cerebrum-uio.uio.no:8000';
176 username = getpass.getuser()
177 password = getpass.getpass()
178 server = xmlrpclib.Server(server_url);
179 #print server.get_commands(sessionid)
180 sessionid = server.login(username, password)
181 print server.run_command(sessionid, "user_info", username)
182 result = server.logout(sessionid)
183 print result
184 </pre></blockquote>
185
186 <p>Armed with this knowledge I can now move forward and script the DNS
187 and DHCP updates I wanted to do.</p>
188
189 </div>
190 <div class="tags">
191
192
193 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin</a>.
194
195
196 </div>
197 </div>
198 <div class="padding"></div>
199
200 <p style="text-align: right;"><a href="12.rss"><img src="http://people.skolelinux.org/pere/blog/xml.gif" alt="RSS Feed" width="36" height="14" /></a></p>
201 <div id="sidebar">
202
203
204
205 <h2>Archive</h2>
206 <ul>
207
208 <li>2012
209 <ul>
210
211 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/01/">January (7)</a></li>
212
213 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/02/">February (10)</a></li>
214
215 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/03/">March (17)</a></li>
216
217 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/04/">April (12)</a></li>
218
219 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/05/">May (12)</a></li>
220
221 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/06/">June (20)</a></li>
222
223 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/07/">July (17)</a></li>
224
225 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/08/">August (6)</a></li>
226
227 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/09/">September (9)</a></li>
228
229 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/10/">October (17)</a></li>
230
231 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/11/">November (10)</a></li>
232
233 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/12/">December (3)</a></li>
234
235 </ul></li>
236
237 <li>2011
238 <ul>
239
240 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/01/">January (16)</a></li>
241
242 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/02/">February (6)</a></li>
243
244 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/03/">March (6)</a></li>
245
246 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/04/">April (7)</a></li>
247
248 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/05/">May (3)</a></li>
249
250 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/06/">June (2)</a></li>
251
252 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/07/">July (7)</a></li>
253
254 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/08/">August (6)</a></li>
255
256 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/09/">September (4)</a></li>
257
258 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/10/">October (2)</a></li>
259
260 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/11/">November (3)</a></li>
261
262 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/12/">December (1)</a></li>
263
264 </ul></li>
265
266 <li>2010
267 <ul>
268
269 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/01/">January (2)</a></li>
270
271 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/02/">February (1)</a></li>
272
273 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/03/">March (3)</a></li>
274
275 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/04/">April (3)</a></li>
276
277 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/05/">May (9)</a></li>
278
279 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/06/">June (14)</a></li>
280
281 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/07/">July (12)</a></li>
282
283 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/08/">August (13)</a></li>
284
285 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/09/">September (7)</a></li>
286
287 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/10/">October (9)</a></li>
288
289 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/11/">November (13)</a></li>
290
291 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/12/">December (12)</a></li>
292
293 </ul></li>
294
295 <li>2009
296 <ul>
297
298 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/01/">January (8)</a></li>
299
300 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/02/">February (8)</a></li>
301
302 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/03/">March (12)</a></li>
303
304 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
305
306 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
307
308 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</a></li>
309
310 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/07/">July (4)</a></li>
311
312 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/08/">August (3)</a></li>
313
314 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/09/">September (1)</a></li>
315
316 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/10/">October (2)</a></li>
317
318 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/11/">November (3)</a></li>
319
320 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/12/">December (3)</a></li>
321
322 </ul></li>
323
324 <li>2008
325 <ul>
326
327 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/11/">November (5)</a></li>
328
329 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/12/">December (7)</a></li>
330
331 </ul></li>
332
333 </ul>
334
335
336
337 <h2>Tags</h2>
338 <ul>
339
340 <li><a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (13)</a></li>
341
342 <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga">amiga (1)</a></li>
343
344 <li><a href="http://people.skolelinux.org/pere/blog/tags/aros">aros (1)</a></li>
345
346 <li><a href="http://people.skolelinux.org/pere/blog/tags/bankid">bankid (3)</a></li>
347
348 <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (3)</a></li>
349
350 <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (12)</a></li>
351
352 <li><a href="http://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
353
354 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (57)</a></li>
355
356 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (117)</a></li>
357
358 <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan (9)</a></li>
359
360 <li><a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook (7)</a></li>
361
362 <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
363
364 <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (162)</a></li>
365
366 <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (21)</a></li>
367
368 <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (12)</a></li>
369
370 <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (9)</a></li>
371
372 <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (9)</a></li>
373
374 <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju (32)</a></li>
375
376 <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (17)</a></li>
377
378 <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (8)</a></li>
379
380 <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (5)</a></li>
381
382 <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
383
384 <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (25)</a></li>
385
386 <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (217)</a></li>
387
388 <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (148)</a></li>
389
390 <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (6)</a></li>
391
392 <li><a href="http://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
393
394 <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (39)</a></li>
395
396 <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (60)</a></li>
397
398 <li><a href="http://people.skolelinux.org/pere/blog/tags/raid">raid (1)</a></li>
399
400 <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap (11)</a></li>
401
402 <li><a href="http://people.skolelinux.org/pere/blog/tags/rfid">rfid (2)</a></li>
403
404 <li><a href="http://people.skolelinux.org/pere/blog/tags/robot">robot (4)</a></li>
405
406 <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
407
408 <li><a href="http://people.skolelinux.org/pere/blog/tags/ruter">ruter (4)</a></li>
409
410 <li><a href="http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
411
412 <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (28)</a></li>
413
414 <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (4)</a></li>
415
416 <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (4)</a></li>
417
418 <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (39)</a></li>
419
420 <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (3)</a></li>
421
422 <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (5)</a></li>
423
424 <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (12)</a></li>
425
426 <li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (1)</a></li>
427
428 <li><a href="http://people.skolelinux.org/pere/blog/tags/valg">valg (7)</a></li>
429
430 <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (35)</a></li>
431
432 <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (4)</a></li>
433
434 <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (26)</a></li>
435
436 </ul>
437
438
439 </div>
440 <p style="text-align: right">
441 Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.4</a>
442 </p>
443
444 </body>
445 </html>