]> pere.pagekite.me Git - homepage.git/blob - blog/index.html
Generated.
[homepage.git] / blog / 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</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" />
10 </head>
11 <body>
12 <div class="title">
13 <h1>
14 <a href="http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen</a>
15
16 </h1>
17
18 </div>
19
20
21
22 <div class="entry">
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>
41
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
48 fields:</p>
49
50 <p><pre>
51 X-INVOICE-NUMBER:1
52 X-INVOICE-AMOUNT:NOK1000.00
53 X-BANK-ACCOUNT-NUMBER:16040884339
54 X-BANK-IBAN-NUMBER:NO8516040884339
55 X-BANK-SWIFT-NUMBER:DNBANOKKXXX
56 </pre></p>
57
58 <p>The X-BANK-ACCOUNT-NUMBER field was proposed in a stackoverflow
59 answer regarding
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>
62
63 The complete vCard could look like this:
64
65 <p><pre>
66 BEGIN:VCARD
67 VERSION:2.1
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
72 REV:20130212T095000Z
73 X-INVOICE-NUMBER:1
74 X-INVOICE-AMOUNT:NOK1000.00
75 X-BANK-ACCOUNT-NUMBER:16040884339
76 X-BANK-IBAN-NUMBER:NO8516040884339
77 X-BANK-SWIFT-NUMBER:DNBANOKKXXX
78 END:VCARD
79 </pre></p>
80
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
86 system.</p>
87
88 <p><img src="http://people.skolelinux.org/pere/blog/images/2013-02-12-qr-invoice.png"></p>
89
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>
94 </div>
95 <div class="tags">
96
97
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>.
99
100
101 </div>
102 </div>
103 <div class="padding"></div>
104
105 <div class="entry">
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>
117
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>
177 </table></p>
178
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>
182
183 <table border="1">
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>
190 </table></p>
191
192 <p>Jeg droppet den ufullstendige måneden og året fra tabellen. Se
193 lenken for oppdaterte tall.</p>
194 </div>
195 <div class="tags">
196
197
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>.
199
200
201 </div>
202 </div>
203 <div class="padding"></div>
204
205 <div class="entry">
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>
209
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>
221
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
237 ones own
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>
249
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>
256
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>
260 </div>
261 <div class="tags">
262
263
264 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
265
266
267 </div>
268 </div>
269 <div class="padding"></div>
270
271 <div class="entry">
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>
279
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>
288
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
293 Personvern</a>.</p>
294 </div>
295 <div class="tags">
296
297
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>.
299
300
301 </div>
302 </div>
303 <div class="padding"></div>
304
305 <div class="entry">
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
315 befolkningen.</p>
316
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>
320 og
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 å
323 stoppe loven ble
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
327 Ord</a>).</p>
328
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
335 tredje votering.</p>
336
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
341 Personvern</a>.</p>
342
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>
346 </div>
347 <div class="tags">
348
349
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>.
351
352
353 </div>
354 </div>
355 <div class="padding"></div>
356
357 <div class="entry">
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
367 version too.</p>
368
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>
377
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
382 it. :)</p>
383
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>
387 </div>
388 <div class="tags">
389
390
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>.
392
393
394 </div>
395 </div>
396 <div class="padding"></div>
397
398 <div class="entry">
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>
415
416 <pre>
417 git clone http://anonscm.debian.org/git/collab-maint/isenkram.git
418 cd isenkram && git-buildpackage -us -uc
419 </pre>
420
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>
425
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
430 word.</p>
431
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
434 process.</p>
435
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>
438 </div>
439 <div class="tags">
440
441
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>.
443
444
445 </div>
446 </div>
447 <div class="padding"></div>
448
449 <div class="entry">
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
456 it, fetch the
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>
461
462 <p>The design is simple:</p>
463
464 <ul>
465
466 <li>Add desktop entry in /usr/share/autostart/ causing a program
467 hw-support-handlerd to start when the user log in.</li>
468
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
471 initially did.</li>
472
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>
477
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>
482
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>
485
486 <li>aptdaemon ask for root password or sudo password, and install the
487 package while showing progress information in a window.</li>
488
489 </ul>
490
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>
495
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>
501
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>
510
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
513 '<tt>svn checkout
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>
517
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>
523 </div>
524 <div class="tags">
525
526
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>.
528
529
530 </div>
531 </div>
532 <div class="padding"></div>
533
534 <div class="entry">
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.
546
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>
549
550 <ul>
551
552 <li>Lightweight (around 1 kg) and small volume (preferably smaller
553 than A4).</li>
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
562 size).</li>
563 <li>Hardware supported by Debian Stable, ie the default kernel and
564 X.org packages.</li>
565 <li>Quiet, preferably fan free (or at least not using the fan most of
566 the time).
567
568 </ul>
569
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
577 still be useful.</p>
578
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>
585 </div>
586 <div class="tags">
587
588
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>.
590
591
592 </div>
593 </div>
594 <div class="padding"></div>
595
596 <div class="entry">
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>
606
607 <pre>
608 #!/usr/bin/python
609 import sys
610 import apt
611 def pkgs_handling_mimetype(mimetype):
612 cache = apt.Cache()
613 cache.open(None)
614 thepkgs = []
615 for pkg in cache:
616 version = pkg.candidate
617 if version is None:
618 version = pkg.installed
619 if version is None:
620 continue
621 record = version.record
622 if not record.has_key('Npp-MimeType'):
623 continue
624 mime_types = record['Npp-MimeType'].split(',')
625 for t in mime_types:
626 t = t.rstrip().strip()
627 if t == mimetype:
628 thepkgs.append(pkg.name)
629 return thepkgs
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):
635 print " %s" %pkg
636 </pre>
637
638 <p>It can be used like this to look up a given MIME type:</p>
639
640 <pre>
641 % ./apt-find-browserplug-for-mimetype
642 Browser plugin packages supporting audio/ogg:
643 gecko-mediaplayer
644 % ./apt-find-browserplug-for-mimetype application/x-shockwave-flash
645 Browser plugin packages supporting application/x-shockwave-flash:
646 browser-plugin-gnash
647 %
648 </pre>
649
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>
654
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>
661 </div>
662 <div class="tags">
663
664
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>.
666
667
668 </div>
669 </div>
670 <div class="padding"></div>
671
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>
673 <div id="sidebar">
674
675
676
677 <h2>Archive</h2>
678 <ul>
679
680 <li>2013
681 <ul>
682
683 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/01/">January (11)</a></li>
684
685 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/02/">February (6)</a></li>
686
687 </ul></li>
688
689 <li>2012
690 <ul>
691
692 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/01/">January (7)</a></li>
693
694 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/02/">February (10)</a></li>
695
696 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/03/">March (17)</a></li>
697
698 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/04/">April (12)</a></li>
699
700 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/05/">May (12)</a></li>
701
702 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/06/">June (20)</a></li>
703
704 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/07/">July (17)</a></li>
705
706 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/08/">August (6)</a></li>
707
708 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/09/">September (9)</a></li>
709
710 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/10/">October (17)</a></li>
711
712 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/11/">November (10)</a></li>
713
714 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/12/">December (7)</a></li>
715
716 </ul></li>
717
718 <li>2011
719 <ul>
720
721 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/01/">January (16)</a></li>
722
723 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/02/">February (6)</a></li>
724
725 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/03/">March (6)</a></li>
726
727 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/04/">April (7)</a></li>
728
729 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/05/">May (3)</a></li>
730
731 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/06/">June (2)</a></li>
732
733 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/07/">July (7)</a></li>
734
735 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/08/">August (6)</a></li>
736
737 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/09/">September (4)</a></li>
738
739 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/10/">October (2)</a></li>
740
741 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/11/">November (3)</a></li>
742
743 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/12/">December (1)</a></li>
744
745 </ul></li>
746
747 <li>2010
748 <ul>
749
750 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/01/">January (2)</a></li>
751
752 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/02/">February (1)</a></li>
753
754 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/03/">March (3)</a></li>
755
756 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/04/">April (3)</a></li>
757
758 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/05/">May (9)</a></li>
759
760 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/06/">June (14)</a></li>
761
762 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/07/">July (12)</a></li>
763
764 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/08/">August (13)</a></li>
765
766 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/09/">September (7)</a></li>
767
768 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/10/">October (9)</a></li>
769
770 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/11/">November (13)</a></li>
771
772 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/12/">December (12)</a></li>
773
774 </ul></li>
775
776 <li>2009
777 <ul>
778
779 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/01/">January (8)</a></li>
780
781 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/02/">February (8)</a></li>
782
783 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/03/">March (12)</a></li>
784
785 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
786
787 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
788
789 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</a></li>
790
791 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/07/">July (4)</a></li>
792
793 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/08/">August (3)</a></li>
794
795 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/09/">September (1)</a></li>
796
797 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/10/">October (2)</a></li>
798
799 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/11/">November (3)</a></li>
800
801 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/12/">December (3)</a></li>
802
803 </ul></li>
804
805 <li>2008
806 <ul>
807
808 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/11/">November (5)</a></li>
809
810 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/12/">December (7)</a></li>
811
812 </ul></li>
813
814 </ul>
815
816
817
818 <h2>Tags</h2>
819 <ul>
820
821 <li><a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (13)</a></li>
822
823 <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga">amiga (1)</a></li>
824
825 <li><a href="http://people.skolelinux.org/pere/blog/tags/aros">aros (1)</a></li>
826
827 <li><a href="http://people.skolelinux.org/pere/blog/tags/bankid">bankid (4)</a></li>
828
829 <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (6)</a></li>
830
831 <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (12)</a></li>
832
833 <li><a href="http://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
834
835 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (70)</a></li>
836
837 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (118)</a></li>
838
839 <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan (9)</a></li>
840
841 <li><a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook (7)</a></li>
842
843 <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
844
845 <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (178)</a></li>
846
847 <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (21)</a></li>
848
849 <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (12)</a></li>
850
851 <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (10)</a></li>
852
853 <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (9)</a></li>
854
855 <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju (32)</a></li>
856
857 <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (5)</a></li>
858
859 <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (17)</a></li>
860
861 <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (8)</a></li>
862
863 <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (6)</a></li>
864
865 <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
866
867 <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (25)</a></li>
868
869 <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (222)</a></li>
870
871 <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (149)</a></li>
872
873 <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (7)</a></li>
874
875 <li><a href="http://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
876
877 <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (41)</a></li>
878
879 <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (63)</a></li>
880
881 <li><a href="http://people.skolelinux.org/pere/blog/tags/raid">raid (1)</a></li>
882
883 <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap (11)</a></li>
884
885 <li><a href="http://people.skolelinux.org/pere/blog/tags/rfid">rfid (2)</a></li>
886
887 <li><a href="http://people.skolelinux.org/pere/blog/tags/robot">robot (6)</a></li>
888
889 <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
890
891 <li><a href="http://people.skolelinux.org/pere/blog/tags/ruter">ruter (4)</a></li>
892
893 <li><a href="http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
894
895 <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (28)</a></li>
896
897 <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (4)</a></li>
898
899 <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (4)</a></li>
900
901 <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (40)</a></li>
902
903 <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (3)</a></li>
904
905 <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (6)</a></li>
906
907 <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (14)</a></li>
908
909 <li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (1)</a></li>
910
911 <li><a href="http://people.skolelinux.org/pere/blog/tags/valg">valg (7)</a></li>
912
913 <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (35)</a></li>
914
915 <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (4)</a></li>
916
917 <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (26)</a></li>
918
919 </ul>
920
921
922 </div>
923 <p style="text-align: right">
924 Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.6</a>
925 </p>
926
927 </body>
928 </html>