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">
5 <meta http-equiv=
"Content-Type" content=
"text/html;charset=utf-8" />
6 <title>Petter Reinholdtsen: entries from March
2016</title>
7 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"http://www.hungry.com/~pere/blog/style.css" />
8 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"http://www.hungry.com/~pere/blog/vim.css" />
9 <link rel=
"alternate" title=
"RSS Feed" href=
"03.rss" type=
"application/rss+xml" />
15 <a href=
"http://www.hungry.com/~pere/blog/">Petter Reinholdtsen
</a>
22 <h3>Entries from March
2016.
</h3>
26 <a href=
"http://www.hungry.com/~pere/blog/Full_battery_stats_collector_is_now_available_in_Debian.html">Full battery stats collector is now available in Debian
</a>
32 <p>Since this morning, the battery-stats package in Debian include an
33 extended collector that will collect the complete battery history for
34 later processing and graphing. The original collector store the
35 battery level as percentage of last full level, while the new
36 collector also record battery vendor, model, serial number, design
37 full level, last full level and current battery level. This make it
38 possible to predict the lifetime of the battery as well as visualise
39 the energy flow when the battery is charging or discharging.
</p>
41 <p>The new tools are available in
<tt>/usr/share/battery-stats/
</tt>
42 in the version
0.5.1 package in unstable. Get the new battery level graph
43 and lifetime prediction by running:
46 /usr/share/battery-stats/battery-stats-graph /var/log/battery-stats.csv
49 <p>Or select the 'Battery Level Graph' from your application menu.
</p>
51 <p>The flow in/out of the battery can be seen by running (no menu
55 /usr/share/battery-stats/battery-stats-graph-flow
58 <p>I'm not quite happy with the way the data is visualised, at least
59 when there are few data points. The graphs look a bit better with a
60 few years of data.
</p>
62 <p>A while back one important feature I use in the battery stats
63 collector broke in Debian. The scripts in
64 <tt>/usr/lib/pm-utils/power.d/
</tt> were no longer executed. I
65 suspect it happened when Jessie started using systemd, but I do not
66 know. The issue is reported as
67 <a href=
"https://bugs.debian.org/818649">bug #
818649</a> against
68 pm-utils. I managed to work around it by adding an udev rule to call
69 the collector script every time the power connector is connected and
70 disconnected. With this fix in place it was finally time to make a
71 new release of the package, and get it into Debian.
</p>
73 <p>If you are interested in how your laptop battery is doing, please
75 <a href=
"https://tracker.debian.org/pkg/battery-stats">battery-stats
</a>
76 in Debian unstable, or rebuild it on Jessie to get it working on
77 Debian stable. :) The upstream source is available from
78 <a href=
"https://github.com/petterreinholdtsen/battery-stats">github
</a>.
79 As always, patches are very welcome.
</p>
85 Tags:
<a href=
"http://www.hungry.com/~pere/blog/tags/debian">debian
</a>,
<a href=
"http://www.hungry.com/~pere/blog/tags/english">english
</a>.
90 <div class=
"padding"></div>
94 <a href=
"http://www.hungry.com/~pere/blog/UsingQR____Electronic__paper_invoices_using_JSON_and_QR_codes.html">UsingQR - "Electronic" paper invoices using JSON and QR codes
</a>
100 <p>Back in
2013 I proposed
101 <a href=
"http://www.hungry.com/~pere/blog/_Electronic__paper_invoices___using_vCard_in_a_QR_code.html">a
102 way to make paper and PDF invoices easier to process electronically by
103 adding a QR code with the key information about the invoice
</a>. I
104 suggested using vCard field definition, to get some standard format
105 for name and address, but any format would work. I did not do
106 anything about the proposal, but hoped someone one day would make
107 something like it. It would make it possible to efficiently send
108 machine readable invoices directly between seller and buyer.
</p>
110 <p>This was the background when I came across a proposal and
111 specification from the web based accounting and invoicing supplier
112 <a href=
"http://www.visma.com/">Visma
</a> in Sweden called
113 <a href=
"http://usingqr.com/">UsingQR
</a>. Their PDF invoices contain
114 a QR code with the key information of the invoice in JSON format.
115 This is the typical content of a QR code following the UsingQR
116 specification (based on a real world example, some numbers replaced to
117 get a more bogus entry). I've reformatted the JSON to make it easier
118 to read. Normally this is all on one long line:
</p>
120 <p><img src=
"http://www.hungry.com/~pere/blog/images/2016-03-19-qr-invoice.png" align=
"right"><pre>
127 "nme":"Din Leverandør",
129 "cid":"
997912345 MVA",
142 </p>The interpretation of the fields can be found in the
143 <a href=
"http://usingqr.com/wp-content/uploads/2014/06/UsingQR_specification1.pdf">format
144 specification
</a> (revision
2 from june
2014). The format seem to
145 have most of the information needed to handle accounting and payment
146 of invoices, at least the fields I have needed so far here in
149 <p>Unfortunately, the site and document do not mention anything about
150 the patent, trademark and copyright status of the format and the
151 specification. Because of this, I asked the people behind it back in
152 November to clarify. Ann-Christine Savlid (ann-christine.savlid (at)
153 visma.com) replied that Visma had not applied for patent or trademark
154 protection for this format, and that there were no copyright based
155 usage limitations for the format. I urged her to make sure this was
156 explicitly written on the web pages and in the specification, but
157 unfortunately this has not happened yet. So I guess if there is
158 submarine patents, hidden trademarks or a will to sue for copyright
159 infringements, those starting to use the UsingQR format might be at
160 risk, but if this happen there is some legal defense in the fact that
161 the people behind the format claimed it was safe to do so. At least
162 with patents, there is always
163 <a href=
"http://www.paperspecs.com/paper-news/beware-the-qr-code-patent-trap/">a
164 chance of getting sued...
</a></p>
166 <p>I also asked if they planned to maintain the format in an
167 independent standard organization to give others more confidence that
168 they would participate in the standardization process on equal terms
169 with Visma, but they had no immediate plans for this. Their plan was
170 to work with banks to try to get more users of the format, and
171 evaluate the way forward if the format proved to be popular. I hope
172 they conclude that using an open standard organisation like
173 <a href=
"http://www.ietf.org/">IETF
</a> is the correct place to
174 maintain such specification.
</p>
176 <p><strong>Update
2016-
03-
20</strong>: Via Twitter I became aware of
177 <a href=
"https://news.ycombinator.com/item?id=11319492">some comments
178 about this blog post
</a> that had several useful links and references to
179 similar systems. In the Czech republic, the Czech Banking Association
180 standard #
26, with short name SPAYD, uses QR codes with payment
181 information. More information is available from the Wikipedia page on
182 <a href=
"https://en.wikipedia.org/wiki/Short_Payment_Descriptor">Short
183 Payment Descriptor
</a>. And in Germany, there is a system named
184 <a href=
"http://www.bezahlcode.de/">BezahlCode
</a>,
185 (
<a href=
"http://www.bezahlcode.de/wp-content/uploads/BezahlCode_TechDok.pdf">specification
186 v1.8
2013-
12-
05 available as PDF
</a>), which uses QR codes with
187 URL-like formatting using "bank:" as the URI schema/protocol to
188 provide the payment information. There is also the
189 <a href=
"http://www.ferd-net.de/front_content.php?idcat=231">ZUGFeRD
</a>
190 file format that perhaps could be transfered using QR codes, but I am
191 not sure if it is done already. Last, in Bolivia there are reports
192 that tax information since november
2014 need to be printed in QR
193 format on invoices. I have not been able to track down a
194 specification for this format, because of my limited language skill
201 Tags:
<a href=
"http://www.hungry.com/~pere/blog/tags/english">english
</a>,
<a href=
"http://www.hungry.com/~pere/blog/tags/standard">standard
</a>.
206 <div class=
"padding"></div>
210 <a href=
"http://www.hungry.com/~pere/blog/Making_battery_measurements_a_little_easier_in_Debian.html">Making battery measurements a little easier in Debian
</a>
216 <p>Back in September, I blogged about
217 <a href=
"http://www.hungry.com/~pere/blog/The_life_and_death_of_a_laptop_battery.html">the
218 system I wrote to collect statistics about my laptop battery
</a>, and
219 how it showed the decay and death of this battery (now replaced). I
220 created a simple deb package to handle the collection and graphing,
221 but did not want to upload it to Debian as there were already
222 <a href=
"https://tracker.debian.org/pkg/battery-stats">a battery-stats
223 package in Debian
</a> that should do the same thing, and I did not see
224 a point of uploading a competing package when battery-stats could be
225 fixed instead. I reported a few bugs about its non-function, and
226 hoped someone would step in and fix it. But no-one did.
</p>
228 <p>I got tired of waiting a few days ago, and took matters in my own
229 hands. The end result is that I am now the new upstream developer of
230 battery stats (
<a href=
"https://github.com/petterreinholdtsen/battery-stats">available from github
</a>) and part of the team maintaining
231 battery-stats in Debian, and the package in Debian unstable is finally
232 able to collect battery status using the
<tt>/sys/class/power_supply/
</tt>
233 information provided by the Linux kernel. If you install the
234 battery-stats package from unstable now, you will be able to get a
235 graph of the current battery fill level, to get some idea about the
236 status of the battery. The source package build and work just fine in
237 Debian testing and stable (and probably oldstable too, but I have not
238 tested). The default graph you get for that system look like this:
</p>
240 <p align=
"center"><img src=
"http://www.hungry.com/~pere/blog/images/2016-03-15-battery-stats-graph-example.png" width=
"70%" align=
"center"></p>
242 <p>My plans for the future is to merge my old scripts into the
243 battery-stats package, as my old scripts collected a lot more details
244 about the battery. The scripts are merged into the upstream
245 battery-stats git repository already, but I am not convinced they work
246 yet, as I changed a lot of paths along the way. Will have to test a
247 bit more before I make a new release.
</p>
249 <p>I will also consider changing the file format slightly, as I
250 suspect the way I combine several values into one field might make it
251 impossible to know the type of the value when using it for processing
254 <p>If you would like I would like to keep an close eye on your laptop
255 battery, check out the battery-stats package in
256 <a href=
"https://tracker.debian.org/pkg/battery-stats">Debian
</a> and
258 <a href=
"https://github.com/petterreinholdtsen/battery-stats">github
</a>.
259 I would love some help to improve the system further.
</p>
265 Tags:
<a href=
"http://www.hungry.com/~pere/blog/tags/debian">debian
</a>,
<a href=
"http://www.hungry.com/~pere/blog/tags/english">english
</a>.
270 <div class=
"padding"></div>
272 <p style=
"text-align: right;"><a href=
"03.rss"><img src=
"http://www.hungry.com/~pere/blog/xml.gif" alt=
"RSS Feed" width=
"36" height=
"14" /></a></p>
283 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2025/01/">January (
4)
</a></li>
285 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2025/02/">February (
3)
</a></li>
292 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2024/01/">January (
1)
</a></li>
294 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2024/02/">February (
1)
</a></li>
296 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2024/03/">March (
2)
</a></li>
298 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2024/04/">April (
3)
</a></li>
300 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2024/05/">May (
1)
</a></li>
302 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2024/06/">June (
1)
</a></li>
304 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2024/07/">July (
2)
</a></li>
306 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2024/12/">December (
1)
</a></li>
313 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2023/01/">January (
3)
</a></li>
315 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2023/02/">February (
1)
</a></li>
317 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2023/04/">April (
2)
</a></li>
319 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2023/05/">May (
3)
</a></li>
321 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2023/06/">June (
1)
</a></li>
323 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2023/08/">August (
1)
</a></li>
325 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2023/09/">September (
1)
</a></li>
327 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2023/10/">October (
1)
</a></li>
329 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2023/11/">November (
4)
</a></li>
331 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2023/12/">December (
1)
</a></li>
338 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2022/02/">February (
1)
</a></li>
340 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2022/03/">March (
3)
</a></li>
342 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2022/04/">April (
2)
</a></li>
344 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2022/06/">June (
2)
</a></li>
346 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2022/07/">July (
1)
</a></li>
348 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2022/09/">September (
1)
</a></li>
350 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2022/10/">October (
1)
</a></li>
352 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2022/12/">December (
1)
</a></li>
359 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2021/01/">January (
2)
</a></li>
361 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2021/02/">February (
1)
</a></li>
363 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2021/05/">May (
1)
</a></li>
365 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2021/06/">June (
1)
</a></li>
367 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2021/07/">July (
3)
</a></li>
369 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2021/08/">August (
1)
</a></li>
371 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2021/09/">September (
1)
</a></li>
373 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2021/10/">October (
1)
</a></li>
375 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2021/12/">December (
1)
</a></li>
382 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2020/02/">February (
2)
</a></li>
384 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2020/03/">March (
2)
</a></li>
386 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2020/04/">April (
2)
</a></li>
388 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2020/05/">May (
3)
</a></li>
390 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2020/06/">June (
2)
</a></li>
392 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2020/07/">July (
1)
</a></li>
394 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2020/09/">September (
1)
</a></li>
396 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2020/10/">October (
1)
</a></li>
398 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2020/11/">November (
1)
</a></li>
405 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2019/01/">January (
4)
</a></li>
407 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2019/02/">February (
3)
</a></li>
409 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2019/03/">March (
3)
</a></li>
411 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2019/05/">May (
2)
</a></li>
413 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2019/06/">June (
5)
</a></li>
415 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2019/07/">July (
2)
</a></li>
417 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2019/08/">August (
1)
</a></li>
419 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2019/09/">September (
1)
</a></li>
421 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2019/11/">November (
1)
</a></li>
423 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2019/12/">December (
4)
</a></li>
430 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2018/01/">January (
1)
</a></li>
432 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2018/02/">February (
5)
</a></li>
434 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2018/03/">March (
5)
</a></li>
436 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2018/04/">April (
3)
</a></li>
438 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2018/06/">June (
2)
</a></li>
440 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2018/07/">July (
5)
</a></li>
442 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2018/08/">August (
3)
</a></li>
444 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2018/09/">September (
3)
</a></li>
446 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2018/10/">October (
5)
</a></li>
448 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2018/11/">November (
2)
</a></li>
450 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2018/12/">December (
4)
</a></li>
457 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2017/01/">January (
4)
</a></li>
459 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2017/02/">February (
3)
</a></li>
461 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2017/03/">March (
5)
</a></li>
463 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2017/04/">April (
2)
</a></li>
465 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2017/06/">June (
5)
</a></li>
467 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2017/07/">July (
1)
</a></li>
469 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2017/08/">August (
1)
</a></li>
471 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2017/09/">September (
3)
</a></li>
473 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2017/10/">October (
5)
</a></li>
475 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2017/11/">November (
3)
</a></li>
477 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2017/12/">December (
4)
</a></li>
484 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2016/01/">January (
3)
</a></li>
486 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2016/02/">February (
2)
</a></li>
488 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2016/03/">March (
3)
</a></li>
490 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2016/04/">April (
8)
</a></li>
492 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2016/05/">May (
8)
</a></li>
494 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2016/06/">June (
2)
</a></li>
496 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2016/07/">July (
2)
</a></li>
498 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2016/08/">August (
5)
</a></li>
500 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2016/09/">September (
2)
</a></li>
502 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2016/10/">October (
3)
</a></li>
504 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2016/11/">November (
8)
</a></li>
506 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2016/12/">December (
5)
</a></li>
513 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2015/01/">January (
7)
</a></li>
515 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2015/02/">February (
6)
</a></li>
517 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2015/03/">March (
1)
</a></li>
519 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2015/04/">April (
4)
</a></li>
521 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2015/05/">May (
3)
</a></li>
523 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2015/06/">June (
4)
</a></li>
525 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2015/07/">July (
6)
</a></li>
527 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2015/08/">August (
2)
</a></li>
529 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2015/09/">September (
2)
</a></li>
531 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2015/10/">October (
9)
</a></li>
533 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2015/11/">November (
6)
</a></li>
535 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2015/12/">December (
3)
</a></li>
542 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2014/01/">January (
2)
</a></li>
544 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2014/02/">February (
3)
</a></li>
546 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2014/03/">March (
8)
</a></li>
548 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2014/04/">April (
7)
</a></li>
550 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2014/05/">May (
1)
</a></li>
552 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2014/06/">June (
2)
</a></li>
554 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2014/07/">July (
2)
</a></li>
556 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2014/08/">August (
2)
</a></li>
558 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2014/09/">September (
5)
</a></li>
560 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2014/10/">October (
6)
</a></li>
562 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2014/11/">November (
3)
</a></li>
564 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2014/12/">December (
5)
</a></li>
571 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2013/01/">January (
11)
</a></li>
573 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2013/02/">February (
9)
</a></li>
575 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2013/03/">March (
9)
</a></li>
577 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2013/04/">April (
6)
</a></li>
579 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2013/05/">May (
9)
</a></li>
581 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2013/06/">June (
10)
</a></li>
583 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2013/07/">July (
7)
</a></li>
585 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2013/08/">August (
3)
</a></li>
587 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2013/09/">September (
5)
</a></li>
589 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2013/10/">October (
7)
</a></li>
591 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2013/11/">November (
9)
</a></li>
593 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2013/12/">December (
3)
</a></li>
600 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2012/01/">January (
7)
</a></li>
602 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2012/02/">February (
10)
</a></li>
604 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2012/03/">March (
17)
</a></li>
606 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2012/04/">April (
12)
</a></li>
608 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2012/05/">May (
12)
</a></li>
610 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2012/06/">June (
20)
</a></li>
612 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2012/07/">July (
17)
</a></li>
614 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2012/08/">August (
6)
</a></li>
616 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2012/09/">September (
9)
</a></li>
618 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2012/10/">October (
17)
</a></li>
620 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2012/11/">November (
10)
</a></li>
622 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2012/12/">December (
7)
</a></li>
629 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2011/01/">January (
16)
</a></li>
631 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2011/02/">February (
6)
</a></li>
633 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2011/03/">March (
6)
</a></li>
635 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2011/04/">April (
7)
</a></li>
637 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2011/05/">May (
3)
</a></li>
639 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2011/06/">June (
2)
</a></li>
641 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2011/07/">July (
7)
</a></li>
643 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2011/08/">August (
6)
</a></li>
645 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2011/09/">September (
4)
</a></li>
647 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2011/10/">October (
2)
</a></li>
649 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2011/11/">November (
3)
</a></li>
651 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2011/12/">December (
1)
</a></li>
658 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2010/01/">January (
2)
</a></li>
660 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2010/02/">February (
1)
</a></li>
662 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2010/03/">March (
3)
</a></li>
664 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2010/04/">April (
3)
</a></li>
666 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2010/05/">May (
9)
</a></li>
668 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2010/06/">June (
14)
</a></li>
670 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2010/07/">July (
12)
</a></li>
672 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2010/08/">August (
13)
</a></li>
674 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2010/09/">September (
7)
</a></li>
676 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2010/10/">October (
9)
</a></li>
678 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2010/11/">November (
13)
</a></li>
680 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2010/12/">December (
12)
</a></li>
687 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2009/01/">January (
8)
</a></li>
689 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2009/02/">February (
8)
</a></li>
691 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2009/03/">March (
12)
</a></li>
693 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2009/04/">April (
10)
</a></li>
695 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2009/05/">May (
9)
</a></li>
697 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2009/06/">June (
3)
</a></li>
699 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2009/07/">July (
4)
</a></li>
701 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2009/08/">August (
3)
</a></li>
703 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2009/09/">September (
1)
</a></li>
705 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2009/10/">October (
2)
</a></li>
707 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2009/11/">November (
3)
</a></li>
709 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2009/12/">December (
3)
</a></li>
716 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2008/11/">November (
5)
</a></li>
718 <li><a href=
"http://www.hungry.com/~pere/blog/archive/2008/12/">December (
7)
</a></li>
729 <li><a href=
"http://www.hungry.com/~pere/blog/tags/3d-printer">3d-printer (
19)
</a></li>
731 <li><a href=
"http://www.hungry.com/~pere/blog/tags/amiga">amiga (
1)
</a></li>
733 <li><a href=
"http://www.hungry.com/~pere/blog/tags/aros">aros (
1)
</a></li>
735 <li><a href=
"http://www.hungry.com/~pere/blog/tags/bankid">bankid (
4)
</a></li>
737 <li><a href=
"http://www.hungry.com/~pere/blog/tags/betalkontant">betalkontant (
9)
</a></li>
739 <li><a href=
"http://www.hungry.com/~pere/blog/tags/bitcoin">bitcoin (
13)
</a></li>
741 <li><a href=
"http://www.hungry.com/~pere/blog/tags/bootsystem">bootsystem (
17)
</a></li>
743 <li><a href=
"http://www.hungry.com/~pere/blog/tags/bsa">bsa (
2)
</a></li>
745 <li><a href=
"http://www.hungry.com/~pere/blog/tags/chrpath">chrpath (
3)
</a></li>
747 <li><a href=
"http://www.hungry.com/~pere/blog/tags/debian">debian (
209)
</a></li>
749 <li><a href=
"http://www.hungry.com/~pere/blog/tags/debian edu">debian edu (
159)
</a></li>
751 <li><a href=
"http://www.hungry.com/~pere/blog/tags/debian-handbook">debian-handbook (
9)
</a></li>
753 <li><a href=
"http://www.hungry.com/~pere/blog/tags/digistan">digistan (
11)
</a></li>
755 <li><a href=
"http://www.hungry.com/~pere/blog/tags/dld">dld (
18)
</a></li>
757 <li><a href=
"http://www.hungry.com/~pere/blog/tags/docbook">docbook (
33)
</a></li>
759 <li><a href=
"http://www.hungry.com/~pere/blog/tags/drivstoffpriser">drivstoffpriser (
4)
</a></li>
761 <li><a href=
"http://www.hungry.com/~pere/blog/tags/english">english (
471)
</a></li>
763 <li><a href=
"http://www.hungry.com/~pere/blog/tags/fiksgatami">fiksgatami (
23)
</a></li>
765 <li><a href=
"http://www.hungry.com/~pere/blog/tags/fildeling">fildeling (
14)
</a></li>
767 <li><a href=
"http://www.hungry.com/~pere/blog/tags/freeculture">freeculture (
34)
</a></li>
769 <li><a href=
"http://www.hungry.com/~pere/blog/tags/freedombox">freedombox (
9)
</a></li>
771 <li><a href=
"http://www.hungry.com/~pere/blog/tags/frikanalen">frikanalen (
20)
</a></li>
773 <li><a href=
"http://www.hungry.com/~pere/blog/tags/h264">h264 (
20)
</a></li>
775 <li><a href=
"http://www.hungry.com/~pere/blog/tags/intervju">intervju (
43)
</a></li>
777 <li><a href=
"http://www.hungry.com/~pere/blog/tags/isenkram">isenkram (
21)
</a></li>
779 <li><a href=
"http://www.hungry.com/~pere/blog/tags/kart">kart (
23)
</a></li>
781 <li><a href=
"http://www.hungry.com/~pere/blog/tags/kodi">kodi (
6)
</a></li>
783 <li><a href=
"http://www.hungry.com/~pere/blog/tags/ldap">ldap (
9)
</a></li>
785 <li><a href=
"http://www.hungry.com/~pere/blog/tags/lego">lego (
5)
</a></li>
787 <li><a href=
"http://www.hungry.com/~pere/blog/tags/lenker">lenker (
8)
</a></li>
789 <li><a href=
"http://www.hungry.com/~pere/blog/tags/linuxcnc">linuxcnc (
8)
</a></li>
791 <li><a href=
"http://www.hungry.com/~pere/blog/tags/lsdvd">lsdvd (
3)
</a></li>
793 <li><a href=
"http://www.hungry.com/~pere/blog/tags/ltsp">ltsp (
1)
</a></li>
795 <li><a href=
"http://www.hungry.com/~pere/blog/tags/madewithcc">madewithcc (
3)
</a></li>
797 <li><a href=
"http://www.hungry.com/~pere/blog/tags/mesh network">mesh network (
8)
</a></li>
799 <li><a href=
"http://www.hungry.com/~pere/blog/tags/multimedia">multimedia (
48)
</a></li>
801 <li><a href=
"http://www.hungry.com/~pere/blog/tags/nice free software">nice free software (
15)
</a></li>
803 <li><a href=
"http://www.hungry.com/~pere/blog/tags/noark5">noark5 (
27)
</a></li>
805 <li><a href=
"http://www.hungry.com/~pere/blog/tags/norsk">norsk (
326)
</a></li>
807 <li><a href=
"http://www.hungry.com/~pere/blog/tags/nuug">nuug (
200)
</a></li>
809 <li><a href=
"http://www.hungry.com/~pere/blog/tags/offentlig innsyn">offentlig innsyn (
42)
</a></li>
811 <li><a href=
"http://www.hungry.com/~pere/blog/tags/open311">open311 (
2)
</a></li>
813 <li><a href=
"http://www.hungry.com/~pere/blog/tags/opensnitch">opensnitch (
4)
</a></li>
815 <li><a href=
"http://www.hungry.com/~pere/blog/tags/opphavsrett">opphavsrett (
76)
</a></li>
817 <li><a href=
"http://www.hungry.com/~pere/blog/tags/personvern">personvern (
114)
</a></li>
819 <li><a href=
"http://www.hungry.com/~pere/blog/tags/raid">raid (
4)
</a></li>
821 <li><a href=
"http://www.hungry.com/~pere/blog/tags/reactos">reactos (
1)
</a></li>
823 <li><a href=
"http://www.hungry.com/~pere/blog/tags/reprap">reprap (
11)
</a></li>
825 <li><a href=
"http://www.hungry.com/~pere/blog/tags/rfid">rfid (
3)
</a></li>
827 <li><a href=
"http://www.hungry.com/~pere/blog/tags/robot">robot (
17)
</a></li>
829 <li><a href=
"http://www.hungry.com/~pere/blog/tags/rss">rss (
1)
</a></li>
831 <li><a href=
"http://www.hungry.com/~pere/blog/tags/ruter">ruter (
7)
</a></li>
833 <li><a href=
"http://www.hungry.com/~pere/blog/tags/scraperwiki">scraperwiki (
2)
</a></li>
835 <li><a href=
"http://www.hungry.com/~pere/blog/tags/sikkerhet">sikkerhet (
60)
</a></li>
837 <li><a href=
"http://www.hungry.com/~pere/blog/tags/sitesummary">sitesummary (
4)
</a></li>
839 <li><a href=
"http://www.hungry.com/~pere/blog/tags/skepsis">skepsis (
5)
</a></li>
841 <li><a href=
"http://www.hungry.com/~pere/blog/tags/standard">standard (
80)
</a></li>
843 <li><a href=
"http://www.hungry.com/~pere/blog/tags/stavekontroll">stavekontroll (
7)
</a></li>
845 <li><a href=
"http://www.hungry.com/~pere/blog/tags/stortinget">stortinget (
14)
</a></li>
847 <li><a href=
"http://www.hungry.com/~pere/blog/tags/surveillance">surveillance (
65)
</a></li>
849 <li><a href=
"http://www.hungry.com/~pere/blog/tags/sysadmin">sysadmin (
6)
</a></li>
851 <li><a href=
"http://www.hungry.com/~pere/blog/tags/usenix">usenix (
2)
</a></li>
853 <li><a href=
"http://www.hungry.com/~pere/blog/tags/valg">valg (
9)
</a></li>
855 <li><a href=
"http://www.hungry.com/~pere/blog/tags/verkidetfri">verkidetfri (
23)
</a></li>
857 <li><a href=
"http://www.hungry.com/~pere/blog/tags/video">video (
82)
</a></li>
859 <li><a href=
"http://www.hungry.com/~pere/blog/tags/vitenskap">vitenskap (
4)
</a></li>
861 <li><a href=
"http://www.hungry.com/~pere/blog/tags/web">web (
42)
</a></li>
867 <p style=
"text-align: right">
868 Created by
<a href=
"http://steve.org.uk/Software/chronicle">Chronicle v4.6
</a>