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
</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=
"http://people.skolelinux.org/pere/blog/index.rss" type=
"application/rss+xml" />
14 <a href=
"http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen
</a>
23 <div class=
"title"><a href=
"http://people.skolelinux.org/pere/blog/_Electronic__paper_invoices___using_vCard_in_a_QR_code.html">"Electronic" paper invoices - using vCard in a QR code
</a></div>
24 <div class=
"date">12th February
2013</div>
25 <div class=
"body">Here in Norway, electronic invoices are spreading, and the
26 <a href=
"http://www.anskaffelser.no/e-handel/faktura">solution promoted
27 by the Norwegian government
</a> require that invoices are sent through
28 one of the approved facilitators, and it is not possible to send
29 electronic invoices without an agreement with one of these
30 facilitators. This seem like a needless limitation to be able to
31 transfer invoice information between buyers and sellers. My preferred
32 solution would be to just transfer the invoice information directly
33 between seller and buyer, for example using SMTP, or some HTTP based
34 protocol like REST or SOAP. But this might also be overkill, as the
35 "electronic" information can be transferred using paper invoices too,
36 using a simple bar code. My bar code encoding of choice would be QR
37 codes, as this encoding can be read by any smart phone out there. The
38 content of the code could be anything, but I would go with
39 <a href=
"http://en.wikipedia.org/wiki/VCard">the vCard format
</a>, as
40 it too is supported by a lot of computer equipment these days.
</p>
42 <p>The vCard format support extentions, and the invoice specific
43 information can be included using such extentions. For example an
44 invoice from SLX Debian Labs (picked because we
45 <a href=
"http://www.linuxiskolen.no/slxdebianlabs/donations.html">ask
46 for donations to the Debian Edu project
</a> and thus have bank account
47 information publicly available) for NOK
1000.00 could have these extra
52 X-INVOICE-AMOUNT:NOK1000.00
53 X-BANK-ACCOUNT-NUMBER:
16040884339
54 X-BANK-IBAN-NUMBER:NO8516040884339
55 X-BANK-SWIFT-NUMBER:DNBANOKKXXX
58 <p>The X-BANK-ACCOUNT-NUMBER field was proposed in a stackoverflow
60 <a href=
"http://stackoverflow.com/questions/10045664/storing-bank-account-in-vcard-file">how
61 to put bank account information into a vCard
</a>.
</p>
63 The complete vCard could look like this:
68 ORG:SLX Debian Labs Foundation
69 ADR;WORK:;;Gunnar Schjelderups vei
29D;OSLO;;
0485;Norway
70 URL;WORK:http://www.linuxiskolen.no/slxdebianlabs/
71 EMAIL;PREF;INTERNET:sdl-styret@rt.nuug.no
74 X-INVOICE-AMOUNT:NOK1000.00
75 X-BANK-ACCOUNT-NUMBER:
16040884339
76 X-BANK-IBAN-NUMBER:NO8516040884339
77 X-BANK-SWIFT-NUMBER:DNBANOKKXXX
81 <p>The resulting QR code created using
82 <a href=
"http://fukuchi.org/works/qrencode/">qrencode
</a> would look
83 like this, and should be readable (and thus checkable) by any smart
84 phone, or for example the
<a href=
"http://zbar.sourceforge.net/">zbar
85 bar code reader
</a> and feed right into the approval and accounting
88 <p><img src=
"http://people.skolelinux.org/pere/blog/images/2013-02-12-qr-invoice.png"></p>
90 <p>The extension fields will most likely not show up in any normal
91 vCard reader, so those parts would have to go directly into a system
92 handling invoices. I am a bit unsure how vCards without name parts
93 are handled, but a simple test indicate that this work just fine.
</p>
98 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard
</a>.
103 <div class=
"padding"></div>
106 <div class=
"title"><a href=
"http://people.skolelinux.org/pere/blog/Litt_statistikk_over_offentlige_anbud_annonsert_via_Doffin_siden_2008.html">Litt statistikk over offentlige anbud annonsert via Doffin siden
2008</a></div>
107 <div class=
"date">11th February
2013</div>
108 <div class=
"body"><p>For et halvt år siden
109 <a href=
"http://people.skolelinux.org/pere/blog/SQL_database_med_anbud_publisert_p__Doffin.html">satte
110 jeg opp et system for å lage en database
</a> med informasjon om
111 offentlige anbud fra
<a href=
"http://www.doffin.no/">Doffin
</a> ved
112 <a href=
"https://scraperwiki.com/scrapers/norwegian-doffin/">hjelp av
113 Scraperwiki
</a>. Nå er databasen så vidt jeg kan se komplett, med
114 data helt tilbake til
2008. Her er litt statistikk over
115 <a href=
"https://api.scraperwiki.com/api/1.0/datastore/sqlite?format=htmltable&name=norwegian-doffin&query=select%20strftime(%22%25Y-%25m%22%2C%20publishdate)%20as%20publishmonth%2C%20count(*)%20from%20%60swdata%60%20group%20by%20publishmonth%20order%20by%20publishmonth%20desc">antall
116 anbud publisert hver måned
</a>:
</p>
118 <p><table border=
"1">
119 <tr> <th>Publiseringsmåned
</th> <th>Antall
</th> </tr>
120 <tr> <td>2013-
01</td> <td>1015</td> </tr>
121 <tr> <td>2012-
12</td> <td>756</td> </tr>
122 <tr> <td>2012-
11</td> <td>979</td> </tr>
123 <tr> <td>2012-
10</td> <td>1093</td> </tr>
124 <tr> <td>2012-
09</td> <td>1023</td> </tr>
125 <tr> <td>2012-
08</td> <td>951</td> </tr>
126 <tr> <td>2012-
07</td> <td>1103</td> </tr>
127 <tr> <td>2012-
06</td> <td>1334</td> </tr>
128 <tr> <td>2012-
05</td> <td>1435</td> </tr>
129 <tr> <td>2012-
04</td> <td>1169</td> </tr>
130 <tr> <td>2012-
03</td> <td>1573</td> </tr>
131 <tr> <td>2012-
02</td> <td>1335</td> </tr>
132 <tr> <td>2012-
01</td> <td>1147</td> </tr>
133 <tr> <td>2011-
12</td> <td>1045</td> </tr>
134 <tr> <td>2011-
11</td> <td>1114</td> </tr>
135 <tr> <td>2011-
10</td> <td>1230</td> </tr>
136 <tr> <td>2011-
09</td> <td>1165</td> </tr>
137 <tr> <td>2011-
08</td> <td>966</td> </tr>
138 <tr> <td>2011-
07</td> <td>1148</td> </tr>
139 <tr> <td>2011-
06</td> <td>1410</td> </tr>
140 <tr> <td>2011-
05</td> <td>1536</td> </tr>
141 <tr> <td>2011-
04</td> <td>1350</td> </tr>
142 <tr> <td>2011-
03</td> <td>1574</td> </tr>
143 <tr> <td>2011-
02</td> <td>1370</td> </tr>
144 <tr> <td>2011-
01</td> <td>1049</td> </tr>
145 <tr> <td>2010-
12</td> <td>992</td> </tr>
146 <tr> <td>2010-
11</td> <td>1089</td> </tr>
147 <tr> <td>2010-
10</td> <td>1110</td> </tr>
148 <tr> <td>2010-
09</td> <td>1132</td> </tr>
149 <tr> <td>2010-
08</td> <td>883</td> </tr>
150 <tr> <td>2010-
07</td> <td>1126</td> </tr>
151 <tr> <td>2010-
06</td> <td>1440</td> </tr>
152 <tr> <td>2010-
05</td> <td>1236</td> </tr>
153 <tr> <td>2010-
04</td> <td>1249</td> </tr>
154 <tr> <td>2010-
03</td> <td>1556</td> </tr>
155 <tr> <td>2010-
02</td> <td>1256</td> </tr>
156 <tr> <td>2010-
01</td> <td>1140</td> </tr>
157 <tr> <td>2009-
12</td> <td>1013</td> </tr>
158 <tr> <td>2009-
11</td> <td>1220</td> </tr>
159 <tr> <td>2009-
10</td> <td>1320</td> </tr>
160 <tr> <td>2009-
09</td> <td>1294</td> </tr>
161 <tr> <td>2009-
08</td> <td>953</td> </tr>
162 <tr> <td>2009-
07</td> <td>1162</td> </tr>
163 <tr> <td>2009-
06</td> <td>1605</td> </tr>
164 <tr> <td>2009-
05</td> <td>1568</td> </tr>
165 <tr> <td>2009-
04</td> <td>1522</td> </tr>
166 <tr> <td>2009-
03</td> <td>1599</td> </tr>
167 <tr> <td>2009-
02</td> <td>1376</td> </tr>
168 <tr> <td>2009-
01</td> <td>1080</td> </tr>
169 <tr> <td>2008-
12</td> <td>1028</td> </tr>
170 <tr> <td>2008-
11</td> <td>949</td> </tr>
171 <tr> <td>2008-
10</td> <td>1047</td> </tr>
172 <tr> <td>2008-
09</td> <td>965</td> </tr>
173 <tr> <td>2008-
08</td> <td>725</td> </tr>
174 <tr> <td>2008-
07</td> <td>1015</td> </tr>
175 <tr> <td>2008-
06</td> <td>1304</td> </tr>
176 <tr> <td>2008-
05</td> <td>323</td> </tr>
179 <p>Her er tilsvarende
180 <a href=
"https://api.scraperwiki.com/api/1.0/datastore/sqlite?format=htmltable&name=norwegian-doffin&query=select%20strftime(%22%25Y%22%2C%20publishdate)%20as%20publishyear%2C%20count(*)%20from%20%60swdata%60%20group%20by%20publishyear%20order%20by%20publishyear%20desc">tall
181 per år
</a>, som viser en liten nedgang i antall anbud:
</p>
184 <tr> <th>Publiseringsår
</th> <th>Antall
</th> </tr>
185 <tr> <td>2012</td> <td>13898</td> </tr>
186 <tr> <td>2011</td> <td>14957</td> </tr>
187 <tr> <td>2010</td> <td>14209</td> </tr>
188 <tr> <td>2009</td> <td>15712</td> </tr>
189 <tr> <td>2008</td> <td>7356</td> </tr>
192 <p>Jeg droppet den ufullstendige måneden og året fra tabellen. Se
193 lenken for oppdaterte tall.
</p>
198 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn
</a>.
203 <div class=
"padding"></div>
206 <div class=
"title"><a href=
"http://people.skolelinux.org/pere/blog/Sleep_until_morning___home_automation_for_the_kids.html">Sleep until morning - home automation for the kids
</a></div>
207 <div class=
"date">10th February
2013</div>
208 <div class=
"body"><p><img align=
"left" style=
"margin-right:25px;" src=
"http://people.skolelinux.org/pere/blog/images/2013-02-10-morning-light.jpeg"></p>
210 <p>With kids in the house, one challenge is getting them to sleep
211 during the night and wake up when it is morning. I mean, when I
212 believe it is morning, and not two hours earlier. In our household we
213 have decided that
07:
00 is the turning point, but getting the kids to
214 sleep until
07:
00 is a small challenge every day. They have adapted
215 quite well, and rarely wake up at
05:
00 any more, but some times wake
216 up at times like
05:
50,
06:
15,
06:
30 or
06:
45, and it is hard to put
217 the awake one to bed again without disturbing and waking the rest.
218 And I understand perfectly well that they fail to sleep until
07:
00
219 some times, as there is no way for them to know if it is before or
220 after the magic moment without coming and asking us parents.
</p>
222 <p>But yesterday I came up with a method to solve this problem. It
223 involve home automation. A few years ago I bought a
224 <a href=
"http://www.telldus.se/products/tellstick">Tellstick
</a> and RF
225 switches at the local
<a href=
"http://www.clasohlson.com/">Clas
226 Ohlson
</a> shop, allowing me to control lights and other electrical
227 gadgets using my Linux server. When I moved from the old flat to a
228 small house, I put away all this equipment as most of the lighting in
229 the house was not using wall sockets and thus not easy to connect to
230 the gadgets I had. But recently I bought a
231 <a href=
"http://www.telldus.se/products/tellstick_net">Tellstick
232 Net
</a> to be able to read sensor input as well as control power
233 sockets. I want to control ovens in the basement to avoid the pipes
234 to freeze, and monitor the humidity to detect flooding. The default
235 setup for Tellstick Net is to be controlled by the vendor web service,
236 which to me is a security problem, but it is also possible to build
238 <a href=
"http://developer.telldus.com/blog/2012/03/02/help-us-develop-local-access-using-tellstick-net-build-your-own-firmware">firmware
239 with local access
</A> instead of being controlled by a Swedish
240 company, thanks to the release of the GPL licensed firmware source
241 code. I plan to get that running before I let it control anything
242 important. But while working on this, one idea to make it easier for
243 the kids came to me yesterday. We can set up a night light controlled
244 by the computer, and turn it automatically on at
07:
00. The kids can
245 then check the light in the morning to know if they are supposed to
246 get up or not. They joined me in setting everything up, and I
247 repeated the concept several times before bed times to make sure they
248 remembered to check the light before getting up in the morning.
</p>
250 <p>We tested it this morning, and all the kids stayed in bed until
251 after
07:
00, and every one of them commented on the fact that the
252 "morning light" was turned on and signalled that the morning had
253 arrived. So this look like a success, and I am excited to see how
254 this develops the next few days. :) I really hope this can allow us
255 all to sleep a bit longer in the morning.
</p>
257 <p>A nice advantage of this setup is that we can remote control when
258 to tell the kids to get up. We do not have to wait until
07:
00, and
259 can also delay it if we want to.
</p>
264 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>.
269 <div class=
"padding"></div>
272 <div class=
"title"><a href=
"http://people.skolelinux.org/pere/blog/Hva_stemte_hver_stortingsrepresentant_i_voteringene_om_datalagringsdirektivet_.html">Hva stemte hver stortingsrepresentant i voteringene om datalagringsdirektivet?
</a></div>
273 <div class=
"date"> 9th February
2013</div>
274 <div class=
"body"><p>Nytt stortingsvalg er på trappene, og folket får igjen mulighet til
275 å påvirke sammensetningen i vår lovgivende forsamling. Da er det
276 relevant å vite hvilke representanter og partier som har støttet
277 innføringen av brev- og besøkskontroll av hele den norske
278 befolkningen, det vil si datalagringsdirektivet.
</p>
280 <p>Hvis du vil vite hva hver enkelt stortingsrepresentant har stemt i
281 stortingsvoteringene om datalagringsdirektivet, så har nettstedet til
282 <a href=
"http://www.holderdeord.no/">Holder De Ord
</a> den (så vidt jeg
283 vet) eneste komplette oversikten på sin temaside om
284 <a href=
"http://beta.holderdeord.no/issues/innfore-datalagringsdirektivet">innføringen
285 av datalagringsdirektivet
</a>. Den har detaljene fra de
11 relevante
286 forslagene som har vært fremmet så lagt. De har vært votert over
287 2011-
04-
04,
2011-
04-
11,
2012-
06-
11,
2012-
10-
05 og
2012-
12-
06.
</p>
289 <p>Hvis du lurer på hva som er problemet med datalagringsdirektivet,
290 anbefaler jeg å lese
<a href=
"http://www.uhuru.biz/?cat=84">artiklene
291 fra Jon Wessel-Aas
</a> om temaet, samt informasjon fra foreningen
292 <a href=
"http://www.digitaltpersonvern.no/">Digitalt
298 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/personvern">personvern
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance
</a>.
303 <div class=
"padding"></div>
306 <div class=
"title"><a href=
"http://people.skolelinux.org/pere/blog/_kt_overv_kning_applauderes_igjen_av_Arbeiderpartiet__H_yre_og_Fremskrittspartiet.html">Økt overvåkning applauderes igjen av Arbeiderpartiet, Høyre og Fremskrittspartiet
</a></div>
307 <div class=
"date"> 4th February
2013</div>
308 <div class=
"body"><p>Jeg ser med gru at Arbeiderpartiet, Høyre og Fremskrittspartiet
309 <a href=
"http://www.aftenposten.no/nyheter/iriks/Positive-til-mer-smuglerovervaking-7110348.html">applauderer
310 tollvesenets forslag
</a> om å øke overvåkningen i Norge nok et hakk.
311 Det er ikke så rart, da de som uttaler seg jo også har støttet
312 innføringen av datalagringsdirektivet eller i hvert fall ikke veldig
313 aktivt har motarbeidet det. Innføringen av datalagringsdirektivet er
314 en lovendring som innebærer brev og besøkskontroll for hele
317 <p><a href=
"http://www.stortinget.no/no/Saker-og-publikasjoner/Saker/Sak/?p=48717">Datalagringsdirektivet
</a>
318 har vært oppe til votering i stortinget tre ganger så langt. Det ble
319 <a href=
"http://svartelisten.org/">vedtatt første gang
2011-
04-
04</a>
321 <a href=
"https://github.com/holderdeord/hdo-folketingparser/blob/master/data/votering-2011-04-11.xml">andre
322 gang
2011-
04-
11</a> (lovendringer voteres to ganger), og forslag om å
324 <a href=
"http://www.stortinget.no/no/Saker-og-publikasjoner/Saker/Sak/Voteringsoversikt/?p=53844&dnid=1">nedstemt
325 2012-
12-
06</a> (se også
326 <a href=
"http://beta.holderdeord.no/issues/innfore-datalagringsdirektivet">oversikt fra Holder De
329 <p>Jan Bøhler i Arbeiderpartiet stemte for å innføre
330 datalagringsdirektivet i lovverket i første votering, var ikke
331 tilstede i andre votering og støttet loven i tredje votering. André
332 Oktay Dahl i Høyre var ikke til stede i første og andre votering men
333 støttet loven i tredje votering. Ulf Leirstein i Fremskrittspartiet
334 stemte mot loven i første votering men var ikke til stede i andre og
337 <p>Hvis du lurer på hva som er problemet med datalagringsdirektivet,
338 anbefaler jeg å lese
<a href=
"http://www.uhuru.biz/?cat=84">artiklene
339 fra Jon Wessel-Aas
</a> om temaet, samt informasjon fra foreningen
340 <a href=
"http://www.digitaltpersonvern.no/">Digitalt
343 <p><strong>Oppdatering
2013-
03-
09</strong>: Endret lenke til Holder De
344 Ord, som har byttet mange lenker i forbindelse med import av
345 voteringsdata for
2010-
2011.
</p>
350 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/personvern">personvern
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance
</a>.
355 <div class=
"padding"></div>
358 <div class=
"title"><a href=
"http://people.skolelinux.org/pere/blog/Bitcoin_GUI_now_available_from_Debian_unstable__and_Ubuntu_raring_.html">Bitcoin GUI now available from Debian/unstable (and Ubuntu/raring)
</a></div>
359 <div class=
"date"> 2nd February
2013</div>
360 <div class=
"body"><p>My
361 <a href=
"http://people.skolelinux.org/pere/blog/How_to_backport_bitcoin_qt_version_0_7_2_2_to_Debian_Squeeze.html">last
362 bitcoin related blog post
</a> mentioned that the new
363 <a href=
"http://packages.qa.debian.org/bitcoin">bitcoin package
</a> for
364 Debian was waiting in NEW. It was accepted by the Debian ftp-masters
365 2013-
01-
19, and have been available in unstable since then. It was
366 automatically copied to Ubuntu, and is available in their Raring
369 <p>But there is a strange problem with the build that block this new
370 version from being available on the i386 and kfreebsd-i386
371 architectures. For some strange reason, the autobuilders in Debian
372 for these architectures fail to run the test suite on these
373 architectures (
<a href=
"http://bugs.debian.org/672524">BTS #
672524</a>).
374 We are so far unable to reproduce it when building it manually, and
375 no-one have been able to propose a fix. If you got an idea what is
376 failing, please let us know via the BTS.
</p>
378 <p>One feature that is annoying me with of the bitcoin client, because
379 I often run low on disk space, is the fact that the client will exit
380 if it run short on space (
<a href=
"http://bugs.debian.org/696715">BTS
381 #
696715</a>). So make sure you have enough disk space when you run
384 <p>As usual, if you use bitcoin and want to show your support of my
385 activities, please send Bitcoin donations to my address
386 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&label=PetterReinholdtsenBlog">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
391 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>.
396 <div class=
"padding"></div>
399 <div class=
"title"><a href=
"http://people.skolelinux.org/pere/blog/Welcome_to_the_world__Isenkram_.html">Welcome to the world, Isenkram!
</a></div>
400 <div class=
"date">22nd January
2013</div>
401 <div class=
"body"><p>Yesterday, I
402 <a href=
"http://people.skolelinux.org/pere/blog/First_prototype_ready_making_hardware_easier_to_use_in_Debian.html">asked
403 for testers
</a> for my prototype for making Debian better at handling
404 pluggable hardware devices, which I
405 <a href=
"http://people.skolelinux.org/pere/blog/Lets_make_hardware_dongles_easier_to_use_in_Debian.html">set
406 out to create
</a> earlier this month. Several valuable testers showed
407 up, and caused me to really want to to open up the development to more
408 people. But before I did this, I want to come up with a sensible name
409 for this project. Today I finally decided on a new name, and I have
410 renamed the project from hw-support-handler to this new name. In the
411 process, I moved the source to git and made it available as a
412 <a href=
"http://anonscm.debian.org/gitweb/?p=collab-maint/isenkram.git">collab-maint
</a>
413 repository in Debian. The new name? It is
<strong>Isenkram
</strong>.
414 To fetch and build the latest version of the source, use
</p>
417 git clone http://anonscm.debian.org/git/collab-maint/isenkram.git
418 cd isenkram && git-buildpackage -us -uc
421 <p>I have not yet adjusted all files to use the new name yet. If you
422 want to hack on the source or improve the package, please go ahead.
423 But please talk to me first on IRC or via email before you do major
424 changes, to make sure we do not step on each others toes. :)
</p>
426 <p>If you wonder what 'isenkram' is, it is a Norwegian word for iron
427 stuff, typically meaning tools, nails, screws, etc. Typical hardware
428 stuff, in other words. I've been told it is the Norwegian variant of
429 the German word eisenkram, for those that are familiar with that
432 <p><strong>Update
2013-
01-
26</strong>: Added -us -us to build
433 instructions, to avoid confusing people with an error from the signing
436 <p><strong>Update
2013-
01-
27</strong>: Switch to HTTP URL for the git
437 clone argument to avoid the need for authentication.
</p>
442 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram
</a>.
447 <div class=
"padding"></div>
450 <div class=
"title"><a href=
"http://people.skolelinux.org/pere/blog/First_prototype_ready_making_hardware_easier_to_use_in_Debian.html">First prototype ready making hardware easier to use in Debian
</a></div>
451 <div class=
"date">21st January
2013</div>
452 <div class=
"body"><p>Early this month I set out to try to
453 <a href=
"http://people.skolelinux.org/pere/blog/Lets_make_hardware_dongles_easier_to_use_in_Debian.html">improve
454 the Debian support for pluggable hardware devices
</a>. Now my
455 prototype is working, and it is ready for a larger audience. To test
457 <a href=
"http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/">source
458 from the Debian Edu subversion repository
</a>, build and install the
459 package. You might have to log out and in again activate the
460 autostart script.
</p>
462 <p>The design is simple:
</p>
466 <li>Add desktop entry in /usr/share/autostart/ causing a program
467 hw-support-handlerd to start when the user log in.
</li>
469 <li>This program listen for kernel events about new hardware (directly
470 from the kernel like udev does), not using HAL dbus events as I
473 <li>When new hardware is inserted, look up the hardware modalias in
474 the APT database, a database
475 <a href=
"http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/modaliases?view=markup">available
476 via HTTP
</a> and a database available as part of the package.
</li>
478 <li>If a package is mapped to the hardware in question, the package
479 isn't installed yet and this is the first time the hardware was
480 plugged in, show a desktop notification suggesting to install the
481 package or packages.
</li>
483 <li>If the user click on the 'install package now' button, ask
484 aptdaemon via the PackageKit API to install the requrired package.
</li>
486 <li>aptdaemon ask for root password or sudo password, and install the
487 package while showing progress information in a window.
</li>
491 <p>I still need to come up with a better name for the system. Here
492 are some screen shots showing the prototype in action. First the
493 notification, then the password request, and finally the request to
494 approve all the dependencies. Sorry for the Norwegian Bokmål GUI.
</p>
496 <p><img src=
"http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-1-notification.png">
497 <br><img src=
"http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-2-password.png">
498 <br><img src=
"http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-3-dependencies.png">
499 <br><img src=
"http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-4-installing.png">
500 <br><img src=
"http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-5-installing-details.png" width=
"70%"></p>
502 <p>The prototype still need to be improved with longer timeouts, but
503 is already useful. The database of hardware to package mappings also
504 need more work. It is currently compatible with the Ubuntu way of
505 storing such information in the package control file, but could be
506 changed to use other formats instead or in addition to the current
507 method. I've dropped the use of discover for this mapping, as the
508 modalias approach is more flexible and easier to use on Linux as long
509 as the Linux kernel expose its modalias strings directly.
</p>
511 <p><strong>Update
2013-
01-
21 16:
50</strong>: Due to popular demand,
512 here is the command required to check out and build the source: Use
514 svn://svn.debian.org/debian-edu/trunk/src/hw-support-handler/; cd
515 hw-support-handler; debuild
</tt>'. If you lack debuild, install the
516 devscripts package.
</p>
518 <p><strong>Update
2013-
01-
23 12:
00</strong>: The project is now
519 renamed to Isenkram and the source moved from the Debian Edu
520 subversion repository to a Debian collab-maint git repository. See
521 <a href=
"http://people.skolelinux.org/pere/blog/Welcome_to_the_world__Isenkram_.html">build
522 instructions
</a> for details.
</p>
527 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram
</a>.
532 <div class=
"padding"></div>
535 <div class=
"title"><a href=
"http://people.skolelinux.org/pere/blog/Thank_you_Thinkpad_X41__for_your_long_and_trustworthy_service.html">Thank you Thinkpad X41, for your long and trustworthy service
</a></div>
536 <div class=
"date">19th January
2013</div>
537 <div class=
"body"><p>This Christmas my trusty old laptop died. It died quietly and
538 suddenly in bed. With a quiet whimper, it went completely quiet and
539 black. The power button was no longer able to turn it on. It was a
540 IBM Thinkpad X41, and the best laptop I ever had. Better than both
541 Thinkpads X30, X31, X40, X60, X61 and X61S. Far better than the
542 Compaq I had before that. Now I need to find a replacement. To keep
543 going during Christmas, I moved the one year old SSD disk to my old
544 X40 where it fitted (only one I had left that could use it), but it is
545 not a durable solution.
547 <p>My laptop needs are fairly modest. This is my wishlist from when I
548 got a new one more than
10 years ago. It still holds true.:)
</p>
552 <li>Lightweight (around
1 kg) and small volume (preferably smaller
554 <li>Robust, it will be in my backpack every day.
</li>
555 <li>Three button mouse and a mouse pin instead of touch pad.
</li>
556 <li>Long battery life time. Preferable a week.
</li>
557 <li>Internal WIFI network card.
</li>
558 <li>Internal Twisted Pair network card.
</li>
559 <li>Some USB slots (
2-
3 is plenty)
</li>
560 <li>Good keyboard - similar to the Thinkpad.
</li>
561 <li>Video resolution at least
1024x768, with size around
12" (A4 paper
563 <li>Hardware supported by Debian Stable, ie the default kernel and
565 <li>Quiet, preferably fan free (or at least not using the fan most of
570 <p>You will notice that there are no RAM and CPU requirements in the
571 list. The reason is simply that the specifications on laptops the
572 last
10-
15 years have been sufficient for my needs, and I have to look
573 at other features to choose my laptop. But are there still made as
574 robust laptops as my X41? The Thinkpad X60/X61 proved to be less
575 robust, and Thinkpads seem to be heading in the wrong direction since
576 Lenovo took over. But I've been told that X220 and X1 Carbon might
579 <p>Perhaps I should rethink my needs, and look for a pad with an
580 external keyboard? I'll have to check the
581 <a href=
"http://www.linux-laptop.net/">Linux Laptops site
</a> for
582 well-supported laptops, or perhaps just buy one preinstalled from one
583 of the vendors listed on the
<a href=
"http://linuxpreloaded.com/">Linux
584 Pre-loaded site
</a>.
</p>
589 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>.
594 <div class=
"padding"></div>
597 <div class=
"title"><a href=
"http://people.skolelinux.org/pere/blog/How_to_find_a_browser_plugin_supporting_a_given_MIME_type.html">How to find a browser plugin supporting a given MIME type
</a></div>
598 <div class=
"date">18th January
2013</div>
599 <div class=
"body"><p>Some times I try to figure out which Iceweasel browser plugin to
600 install to get support for a given MIME type. Thanks to
601 <a href=
"https://wiki.ubuntu.com/MozillaTeam/Plugins">specifications
602 done by Ubuntu
</a> and Mozilla, it is possible to do this in Debian.
603 Unfortunately, not very many packages provide the needed meta
604 information, Anyway, here is a small script to look up all browser
605 plugin packages announcing ther MIME support using this specification:
</p>
611 def pkgs_handling_mimetype(mimetype):
616 version = pkg.candidate
618 version = pkg.installed
621 record = version.record
622 if not record.has_key('Npp-MimeType'):
624 mime_types = record['Npp-MimeType'].split(',')
626 t = t.rstrip().strip()
628 thepkgs.append(pkg.name)
630 mimetype = "audio/ogg"
631 if
1 < len(sys.argv):
632 mimetype = sys.argv[
1]
633 print "Browser plugin packages supporting %s:" % mimetype
634 for pkg in pkgs_handling_mimetype(mimetype):
638 <p>It can be used like this to look up a given MIME type:
</p>
641 % ./apt-find-browserplug-for-mimetype
642 Browser plugin packages supporting audio/ogg:
644 % ./apt-find-browserplug-for-mimetype application/x-shockwave-flash
645 Browser plugin packages supporting application/x-shockwave-flash:
650 <p>In Ubuntu this mechanism is combined with support in the browser
651 itself to query for plugins and propose to install the needed
652 packages. It would be great if Debian supported such feature too. Is
653 anyone working on adding it?
</p>
655 <p><strong>Update
2013-
01-
18 14:
20</strong>: The Debian BTS
656 request for icweasel support for this feature is
657 <a href=
"http://bugs.debian.org/484010">#
484010</a> from
2008 (and
658 <a href=
"http://bugs.debian.org/698426">#
698426</a> from today). Lack
659 of manpower and wish for a different design is the reason thus feature
660 is not yet in iceweasel from Debian.
</p>
665 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>.
670 <div class=
"padding"></div>
672 <p style=
"text-align: right;"><a href=
"index.rss"><img src=
"http://people.skolelinux.org/pere/blog/xml.gif" alt=
"RSS feed" width=
"36" height=
"14" /></a></p>
683 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/01/">January (
11)
</a></li>
685 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/02/">February (
6)
</a></li>
692 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/01/">January (
7)
</a></li>
694 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/02/">February (
10)
</a></li>
696 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/03/">March (
17)
</a></li>
698 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/04/">April (
12)
</a></li>
700 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/05/">May (
12)
</a></li>
702 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/06/">June (
20)
</a></li>
704 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/07/">July (
17)
</a></li>
706 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/08/">August (
6)
</a></li>
708 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/09/">September (
9)
</a></li>
710 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/10/">October (
17)
</a></li>
712 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/11/">November (
10)
</a></li>
714 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/12/">December (
7)
</a></li>
721 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/01/">January (
16)
</a></li>
723 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/02/">February (
6)
</a></li>
725 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/03/">March (
6)
</a></li>
727 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/04/">April (
7)
</a></li>
729 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/05/">May (
3)
</a></li>
731 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/06/">June (
2)
</a></li>
733 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/07/">July (
7)
</a></li>
735 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/08/">August (
6)
</a></li>
737 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/09/">September (
4)
</a></li>
739 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/10/">October (
2)
</a></li>
741 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/11/">November (
3)
</a></li>
743 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/12/">December (
1)
</a></li>
750 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/01/">January (
2)
</a></li>
752 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/02/">February (
1)
</a></li>
754 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/03/">March (
3)
</a></li>
756 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/04/">April (
3)
</a></li>
758 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/05/">May (
9)
</a></li>
760 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/06/">June (
14)
</a></li>
762 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/07/">July (
12)
</a></li>
764 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/08/">August (
13)
</a></li>
766 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/09/">September (
7)
</a></li>
768 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/10/">October (
9)
</a></li>
770 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/11/">November (
13)
</a></li>
772 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/12/">December (
12)
</a></li>
779 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/01/">January (
8)
</a></li>
781 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/02/">February (
8)
</a></li>
783 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/03/">March (
12)
</a></li>
785 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/04/">April (
10)
</a></li>
787 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/05/">May (
9)
</a></li>
789 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/06/">June (
3)
</a></li>
791 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/07/">July (
4)
</a></li>
793 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/08/">August (
3)
</a></li>
795 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/09/">September (
1)
</a></li>
797 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/10/">October (
2)
</a></li>
799 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/11/">November (
3)
</a></li>
801 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/12/">December (
3)
</a></li>
808 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/11/">November (
5)
</a></li>
810 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/12/">December (
7)
</a></li>
821 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (
13)
</a></li>
823 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/amiga">amiga (
1)
</a></li>
825 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/aros">aros (
1)
</a></li>
827 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bankid">bankid (
4)
</a></li>
829 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (
6)
</a></li>
831 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (
12)
</a></li>
833 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bsa">bsa (
2)
</a></li>
835 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian (
70)
</a></li>
837 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (
118)
</a></li>
839 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/digistan">digistan (
9)
</a></li>
841 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/docbook">docbook (
7)
</a></li>
843 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (
4)
</a></li>
845 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/english">english (
178)
</a></li>
847 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (
21)
</a></li>
849 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (
12)
</a></li>
851 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (
10)
</a></li>
853 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (
9)
</a></li>
855 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/intervju">intervju (
32)
</a></li>
857 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (
5)
</a></li>
859 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/kart">kart (
17)
</a></li>
861 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ldap">ldap (
8)
</a></li>
863 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lenker">lenker (
6)
</a></li>
865 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (
1)
</a></li>
867 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (
25)
</a></li>
869 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk (
222)
</a></li>
871 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug (
149)
</a></li>
873 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (
7)
</a></li>
875 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/open311">open311 (
2)
</a></li>
877 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (
41)
</a></li>
879 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/personvern">personvern (
63)
</a></li>
881 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/raid">raid (
1)
</a></li>
883 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/reprap">reprap (
11)
</a></li>
885 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rfid">rfid (
2)
</a></li>
887 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/robot">robot (
6)
</a></li>
889 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rss">rss (
1)
</a></li>
891 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ruter">ruter (
4)
</a></li>
893 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (
2)
</a></li>
895 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (
28)
</a></li>
897 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (
4)
</a></li>
899 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (
4)
</a></li>
901 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard (
40)
</a></li>
903 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (
3)
</a></li>
905 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (
6)
</a></li>
907 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (
14)
</a></li>
909 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (
1)
</a></li>
911 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/valg">valg (
7)
</a></li>
913 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/video">video (
35)
</a></li>
915 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (
4)
</a></li>
917 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/web">web (
26)
</a></li>
923 <p style=
"text-align: right">
924 Created by
<a href=
"http://steve.org.uk/Software/chronicle">Chronicle v4.6
</a>