1 <?xml version=
"1.0" encoding=
"utf-8"?>
2 <rss version='
2.0' xmlns:lj='http://www.livejournal.org/rss/lj/
1.0/' xmlns:
atom=
"http://www.w3.org/2005/Atom">
4 <title>Petter Reinholdtsen
</title>
5 <description></description>
6 <link>http://people.skolelinux.org/pere/blog/
</link>
7 <atom:link href=
"http://people.skolelinux.org/pere/blog/index.rss" rel=
"self" type=
"application/rss+xml" />
10 <title>"Electronic
" paper invoices - using vCard in a QR code
</title>
11 <link>http://people.skolelinux.org/pere/blog/_Electronic__paper_invoices___using_vCard_in_a_QR_code.html
</link>
12 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/_Electronic__paper_invoices___using_vCard_in_a_QR_code.html
</guid>
13 <pubDate>Tue,
12 Feb
2013 10:
30:
00 +
0100</pubDate>
14 <description><p
>Here in Norway, electronic invoices are spreading, and the
15 <a href=
"http://www.anskaffelser.no/e-handel/faktura
">solution promoted
16 by the Norwegian government
</a
> require that invoices are sent through
17 one of the approved facilitators, and it is not possible to send
18 electronic invoices without an agreement with one of these
19 facilitators. This seem like a needless limitation to be able to
20 transfer invoice information between buyers and sellers. My preferred
21 solution would be to just transfer the invoice information directly
22 between seller and buyer, for example using SMTP, or some HTTP based
23 protocol like REST or SOAP. But this might also be overkill, as the
24 "electronic
" information can be transferred using paper invoices too,
25 using a simple bar code. My bar code encoding of choice would be QR
26 codes, as this encoding can be read by any smart phone out there. The
27 content of the code could be anything, but I would go with
28 <a href=
"http://en.wikipedia.org/wiki/VCard
">the vCard format
</a
>, as
29 it too is supported by a lot of computer equipment these days.
</p
>
31 <p
>The vCard format support extentions, and the invoice specific
32 information can be included using such extentions. For example an
33 invoice from SLX Debian Labs (picked because we
34 <a href=
"http://www.linuxiskolen.no/slxdebianlabs/donations.html
">ask
35 for donations to the Debian Edu project
</a
> and thus have bank account
36 information publicly available) for NOK
1000.00 could have these extra
41 X-INVOICE-AMOUNT:NOK1000.00
42 X-INVOICE-KID:
123412341234
43 X-INVOICE-MSG:Donation to Debian Edu
44 X-BANK-ACCOUNT-NUMBER:
16040884339
45 X-BANK-IBAN-NUMBER:NO8516040884339
46 X-BANK-SWIFT-NUMBER:DNBANOKKXXX
47 </pre
></p
>
49 <p
>The X-BANK-ACCOUNT-NUMBER field was proposed in a stackoverflow
51 <a href=
"http://stackoverflow.com/questions/
10045664/storing-bank-account-in-vcard-file
">how
52 to put bank account information into a vCard
</a
>. For payments in
53 Norway, either X-INVOICE-KID (payment ID) or X-INVOICE-MSG could be
54 used to pass on information to the seller when paying the invoice.
</p
>
56 <p
>The complete vCard could look like this:
</p
>
61 ORG:SLX Debian Labs Foundation
62 ADR;WORK:;;Gunnar Schjelderups vei
29D;OSLO;;
0485;Norway
63 URL;WORK:http://www.linuxiskolen.no/slxdebianlabs/
64 EMAIL;PREF;INTERNET:sdl-styret@rt.nuug.no
67 X-INVOICE-AMOUNT:NOK1000.00
68 X-INVOICE-MSG:Donation to Debian Edu
69 X-BANK-ACCOUNT-NUMBER:
16040884339
70 X-BANK-IBAN-NUMBER:NO8516040884339
71 X-BANK-SWIFT-NUMBER:DNBANOKKXXX
73 </pre
></p
>
75 <p
>The resulting QR code created using
76 <a href=
"http://fukuchi.org/works/qrencode/
">qrencode
</a
> would look
77 like this, and should be readable (and thus checkable) by any smart
78 phone, or for example the
<a href=
"http://zbar.sourceforge.net/
">zbar
79 bar code reader
</a
> and feed right into the approval and accounting
82 <p
><img src=
"http://people.skolelinux.org/pere/blog/images/
2013-
02-
12-qr-invoice.png
"></p
>
84 <p
>The extension fields will most likely not show up in any normal
85 vCard reader, so those parts would have to go directly into a system
86 handling invoices. I am a bit unsure how vCards without name parts
87 are handled, but a simple test indicate that this work just fine.
</p
>
89 <p
><strong
>Update
2013-
02-
12 11:
30</strong
>: Added KID to the proposal
90 based on feedback from Sturle Sunde.
</p
>
95 <title>Litt statistikk over offentlige anbud annonsert via Doffin siden
2008</title>
96 <link>http://people.skolelinux.org/pere/blog/Litt_statistikk_over_offentlige_anbud_annonsert_via_Doffin_siden_2008.html
</link>
97 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Litt_statistikk_over_offentlige_anbud_annonsert_via_Doffin_siden_2008.html
</guid>
98 <pubDate>Mon,
11 Feb
2013 14:
40:
00 +
0100</pubDate>
99 <description><p
>For et halvt år siden
100 <a href=
"http://people.skolelinux.org/pere/blog/SQL_database_med_anbud_publisert_p__Doffin.html
">satte
101 jeg opp et system for å lage en database
</a
> med informasjon om
102 offentlige anbud fra
<a href=
"http://www.doffin.no/
">Doffin
</a
> ved
103 <a href=
"https://scraperwiki.com/scrapers/norwegian-doffin/
">hjelp av
104 Scraperwiki
</a
>. Nå er databasen så vidt jeg kan se komplett, med
105 data helt tilbake til
2008. Her er litt statistikk over
106 <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
107 anbud publisert hver måned
</a
>:
</p
>
109 <p
><table border=
"1">
110 <tr
> <th
>Publiseringsmåned
</th
> <th
>Antall
</th
> </tr
>
111 <tr
> <td
>2013-
01</td
> <td
>1015</td
> </tr
>
112 <tr
> <td
>2012-
12</td
> <td
>756</td
> </tr
>
113 <tr
> <td
>2012-
11</td
> <td
>979</td
> </tr
>
114 <tr
> <td
>2012-
10</td
> <td
>1093</td
> </tr
>
115 <tr
> <td
>2012-
09</td
> <td
>1023</td
> </tr
>
116 <tr
> <td
>2012-
08</td
> <td
>951</td
> </tr
>
117 <tr
> <td
>2012-
07</td
> <td
>1103</td
> </tr
>
118 <tr
> <td
>2012-
06</td
> <td
>1334</td
> </tr
>
119 <tr
> <td
>2012-
05</td
> <td
>1435</td
> </tr
>
120 <tr
> <td
>2012-
04</td
> <td
>1169</td
> </tr
>
121 <tr
> <td
>2012-
03</td
> <td
>1573</td
> </tr
>
122 <tr
> <td
>2012-
02</td
> <td
>1335</td
> </tr
>
123 <tr
> <td
>2012-
01</td
> <td
>1147</td
> </tr
>
124 <tr
> <td
>2011-
12</td
> <td
>1045</td
> </tr
>
125 <tr
> <td
>2011-
11</td
> <td
>1114</td
> </tr
>
126 <tr
> <td
>2011-
10</td
> <td
>1230</td
> </tr
>
127 <tr
> <td
>2011-
09</td
> <td
>1165</td
> </tr
>
128 <tr
> <td
>2011-
08</td
> <td
>966</td
> </tr
>
129 <tr
> <td
>2011-
07</td
> <td
>1148</td
> </tr
>
130 <tr
> <td
>2011-
06</td
> <td
>1410</td
> </tr
>
131 <tr
> <td
>2011-
05</td
> <td
>1536</td
> </tr
>
132 <tr
> <td
>2011-
04</td
> <td
>1350</td
> </tr
>
133 <tr
> <td
>2011-
03</td
> <td
>1574</td
> </tr
>
134 <tr
> <td
>2011-
02</td
> <td
>1370</td
> </tr
>
135 <tr
> <td
>2011-
01</td
> <td
>1049</td
> </tr
>
136 <tr
> <td
>2010-
12</td
> <td
>992</td
> </tr
>
137 <tr
> <td
>2010-
11</td
> <td
>1089</td
> </tr
>
138 <tr
> <td
>2010-
10</td
> <td
>1110</td
> </tr
>
139 <tr
> <td
>2010-
09</td
> <td
>1132</td
> </tr
>
140 <tr
> <td
>2010-
08</td
> <td
>883</td
> </tr
>
141 <tr
> <td
>2010-
07</td
> <td
>1126</td
> </tr
>
142 <tr
> <td
>2010-
06</td
> <td
>1440</td
> </tr
>
143 <tr
> <td
>2010-
05</td
> <td
>1236</td
> </tr
>
144 <tr
> <td
>2010-
04</td
> <td
>1249</td
> </tr
>
145 <tr
> <td
>2010-
03</td
> <td
>1556</td
> </tr
>
146 <tr
> <td
>2010-
02</td
> <td
>1256</td
> </tr
>
147 <tr
> <td
>2010-
01</td
> <td
>1140</td
> </tr
>
148 <tr
> <td
>2009-
12</td
> <td
>1013</td
> </tr
>
149 <tr
> <td
>2009-
11</td
> <td
>1220</td
> </tr
>
150 <tr
> <td
>2009-
10</td
> <td
>1320</td
> </tr
>
151 <tr
> <td
>2009-
09</td
> <td
>1294</td
> </tr
>
152 <tr
> <td
>2009-
08</td
> <td
>953</td
> </tr
>
153 <tr
> <td
>2009-
07</td
> <td
>1162</td
> </tr
>
154 <tr
> <td
>2009-
06</td
> <td
>1605</td
> </tr
>
155 <tr
> <td
>2009-
05</td
> <td
>1568</td
> </tr
>
156 <tr
> <td
>2009-
04</td
> <td
>1522</td
> </tr
>
157 <tr
> <td
>2009-
03</td
> <td
>1599</td
> </tr
>
158 <tr
> <td
>2009-
02</td
> <td
>1376</td
> </tr
>
159 <tr
> <td
>2009-
01</td
> <td
>1080</td
> </tr
>
160 <tr
> <td
>2008-
12</td
> <td
>1028</td
> </tr
>
161 <tr
> <td
>2008-
11</td
> <td
>949</td
> </tr
>
162 <tr
> <td
>2008-
10</td
> <td
>1047</td
> </tr
>
163 <tr
> <td
>2008-
09</td
> <td
>965</td
> </tr
>
164 <tr
> <td
>2008-
08</td
> <td
>725</td
> </tr
>
165 <tr
> <td
>2008-
07</td
> <td
>1015</td
> </tr
>
166 <tr
> <td
>2008-
06</td
> <td
>1304</td
> </tr
>
167 <tr
> <td
>2008-
05</td
> <td
>323</td
> </tr
>
168 </table
></p
>
170 <p
>Her er tilsvarende
171 <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
172 per år
</a
>, som viser en liten nedgang i antall anbud:
</p
>
174 <table border=
"1">
175 <tr
> <th
>Publiseringsår
</th
> <th
>Antall
</th
> </tr
>
176 <tr
> <td
>2012</td
> <td
>13898</td
> </tr
>
177 <tr
> <td
>2011</td
> <td
>14957</td
> </tr
>
178 <tr
> <td
>2010</td
> <td
>14209</td
> </tr
>
179 <tr
> <td
>2009</td
> <td
>15712</td
> </tr
>
180 <tr
> <td
>2008</td
> <td
>7356</td
> </tr
>
181 </table
></p
>
183 <p
>Jeg droppet den ufullstendige måneden og året fra tabellen. Se
184 lenken for oppdaterte tall.
</p
>
189 <title>Sleep until morning - home automation for the kids
</title>
190 <link>http://people.skolelinux.org/pere/blog/Sleep_until_morning___home_automation_for_the_kids.html
</link>
191 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Sleep_until_morning___home_automation_for_the_kids.html
</guid>
192 <pubDate>Sun,
10 Feb
2013 12:
50:
00 +
0100</pubDate>
193 <description><p
><img align=
"left
" style=
"margin-right:
25px;
" src=
"http://people.skolelinux.org/pere/blog/images/
2013-
02-
10-morning-light.jpeg
"></p
>
195 <p
>With kids in the house, one challenge is getting them to sleep
196 during the night and wake up when it is morning. I mean, when I
197 believe it is morning, and not two hours earlier. In our household we
198 have decided that
07:
00 is the turning point, but getting the kids to
199 sleep until
07:
00 is a small challenge every day. They have adapted
200 quite well, and rarely wake up at
05:
00 any more, but some times wake
201 up at times like
05:
50,
06:
15,
06:
30 or
06:
45, and it is hard to put
202 the awake one to bed again without disturbing and waking the rest.
203 And I understand perfectly well that they fail to sleep until
07:
00
204 some times, as there is no way for them to know if it is before or
205 after the magic moment without coming and asking us parents.
</p
>
207 <p
>But yesterday I came up with a method to solve this problem. It
208 involve home automation. A few years ago I bought a
209 <a href=
"http://www.telldus.se/products/tellstick
">Tellstick
</a
> and RF
210 switches at the local
<a href=
"http://www.clasohlson.com/
">Clas
211 Ohlson
</a
> shop, allowing me to control lights and other electrical
212 gadgets using my Linux server. When I moved from the old flat to a
213 small house, I put away all this equipment as most of the lighting in
214 the house was not using wall sockets and thus not easy to connect to
215 the gadgets I had. But recently I bought a
216 <a href=
"http://www.telldus.se/products/tellstick_net
">Tellstick
217 Net
</a
> to be able to read sensor input as well as control power
218 sockets. I want to control ovens in the basement to avoid the pipes
219 to freeze, and monitor the humidity to detect flooding. The default
220 setup for Tellstick Net is to be controlled by the vendor web service,
221 which to me is a security problem, but it is also possible to build
223 <a href=
"http://developer.telldus.com/blog/
2012/
03/
02/help-us-develop-local-access-using-tellstick-net-build-your-own-firmware
">firmware
224 with local access
</A
> instead of being controlled by a Swedish
225 company, thanks to the release of the GPL licensed firmware source
226 code. I plan to get that running before I let it control anything
227 important. But while working on this, one idea to make it easier for
228 the kids came to me yesterday. We can set up a night light controlled
229 by the computer, and turn it automatically on at
07:
00. The kids can
230 then check the light in the morning to know if they are supposed to
231 get up or not. They joined me in setting everything up, and I
232 repeated the concept several times before bed times to make sure they
233 remembered to check the light before getting up in the morning.
</p
>
235 <p
>We tested it this morning, and all the kids stayed in bed until
236 after
07:
00, and every one of them commented on the fact that the
237 "morning light
" was turned on and signalled that the morning had
238 arrived. So this look like a success, and I am excited to see how
239 this develops the next few days. :) I really hope this can allow us
240 all to sleep a bit longer in the morning.
</p
>
242 <p
>A nice advantage of this setup is that we can remote control when
243 to tell the kids to get up. We do not have to wait until
07:
00, and
244 can also delay it if we want to.
</p
>
249 <title>Hva stemte hver stortingsrepresentant i voteringene om datalagringsdirektivet?
</title>
250 <link>http://people.skolelinux.org/pere/blog/Hva_stemte_hver_stortingsrepresentant_i_voteringene_om_datalagringsdirektivet_.html
</link>
251 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Hva_stemte_hver_stortingsrepresentant_i_voteringene_om_datalagringsdirektivet_.html
</guid>
252 <pubDate>Sat,
9 Feb
2013 18:
10:
00 +
0100</pubDate>
253 <description><p
>Nytt stortingsvalg er på trappene, og folket får igjen mulighet til
254 å påvirke sammensetningen i vår lovgivende forsamling. Da er det
255 relevant å vite hvilke representanter og partier som har støttet
256 innføringen av brev- og besøkskontroll av hele den norske
257 befolkningen, det vil si datalagringsdirektivet.
</p
>
259 <p
>Hvis du vil vite hva hver enkelt stortingsrepresentant har stemt i
260 stortingsvoteringene om datalagringsdirektivet, så har nettstedet til
261 <a href=
"http://www.holderdeord.no/
">Holder De Ord
</a
> den (så vidt jeg
262 vet) eneste komplette oversikten på sin temaside om
263 <a href=
"http://beta.holderdeord.no/issues/innfore-datalagringsdirektivet
">innføringen
264 av datalagringsdirektivet
</a
>. Den har detaljene fra de
11 relevante
265 forslagene som har vært fremmet så lagt. De har vært votert over
266 2011-
04-
04,
2011-
04-
11,
2012-
06-
11,
2012-
10-
05 og
2012-
12-
06.
</p
>
268 <p
>Hvis du lurer på hva som er problemet med datalagringsdirektivet,
269 anbefaler jeg å lese
<a href=
"http://www.uhuru.biz/?cat=
84">artiklene
270 fra Jon Wessel-Aas
</a
> om temaet, samt informasjon fra foreningen
271 <a href=
"http://www.digitaltpersonvern.no/
">Digitalt
272 Personvern
</a
>.
</p
>
277 <title>Økt overvåkning applauderes igjen av Arbeiderpartiet, Høyre og Fremskrittspartiet
</title>
278 <link>http://people.skolelinux.org/pere/blog/_kt_overv_kning_applauderes_igjen_av_Arbeiderpartiet__H_yre_og_Fremskrittspartiet.html
</link>
279 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/_kt_overv_kning_applauderes_igjen_av_Arbeiderpartiet__H_yre_og_Fremskrittspartiet.html
</guid>
280 <pubDate>Mon,
4 Feb
2013 00:
30:
00 +
0100</pubDate>
281 <description><p
>Jeg ser med gru at Arbeiderpartiet, Høyre og Fremskrittspartiet
282 <a href=
"http://www.aftenposten.no/nyheter/iriks/Positive-til-mer-smuglerovervaking-
7110348.html
">applauderer
283 tollvesenets forslag
</a
> om å øke overvåkningen i Norge nok et hakk.
284 Det er ikke så rart, da de som uttaler seg jo også har støttet
285 innføringen av datalagringsdirektivet eller i hvert fall ikke veldig
286 aktivt har motarbeidet det. Innføringen av datalagringsdirektivet er
287 en lovendring som innebærer brev og besøkskontroll for hele
288 befolkningen.
</p
>
290 <p
><a href=
"http://www.stortinget.no/no/Saker-og-publikasjoner/Saker/Sak/?p=
48717">Datalagringsdirektivet
</a
>
291 har vært oppe til votering i stortinget tre ganger så langt. Det ble
292 <a href=
"http://svartelisten.org/
">vedtatt første gang
2011-
04-
04</a
>
294 <a href=
"https://github.com/holderdeord/hdo-folketingparser/blob/master/data/votering-
2011-
04-
11.xml
">andre
295 gang
2011-
04-
11</a
> (lovendringer voteres to ganger), og forslag om å
297 <a href=
"http://www.stortinget.no/no/Saker-og-publikasjoner/Saker/Sak/Voteringsoversikt/?p=
53844&dnid=
1">nedstemt
298 2012-
12-
06</a
> (se også
299 <a href=
"http://beta.holderdeord.no/issues/innfore-datalagringsdirektivet
">oversikt fra Holder De
300 Ord
</a
>).
</p
>
302 <p
>Jan Bøhler i Arbeiderpartiet stemte for å innføre
303 datalagringsdirektivet i lovverket i første votering, var ikke
304 tilstede i andre votering og støttet loven i tredje votering. André
305 Oktay Dahl i Høyre var ikke til stede i første og andre votering men
306 støttet loven i tredje votering. Ulf Leirstein i Fremskrittspartiet
307 stemte mot loven i første votering men var ikke til stede i andre og
308 tredje votering.
</p
>
310 <p
>Hvis du lurer på hva som er problemet med datalagringsdirektivet,
311 anbefaler jeg å lese
<a href=
"http://www.uhuru.biz/?cat=
84">artiklene
312 fra Jon Wessel-Aas
</a
> om temaet, samt informasjon fra foreningen
313 <a href=
"http://www.digitaltpersonvern.no/
">Digitalt
314 Personvern
</a
>.
</p
>
316 <p
><strong
>Oppdatering
2013-
03-
09</strong
>: Endret lenke til Holder De
317 Ord, som har byttet mange lenker i forbindelse med import av
318 voteringsdata for
2010-
2011.
</p
>
323 <title>Bitcoin GUI now available from Debian/unstable (and Ubuntu/raring)
</title>
324 <link>http://people.skolelinux.org/pere/blog/Bitcoin_GUI_now_available_from_Debian_unstable__and_Ubuntu_raring_.html
</link>
325 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Bitcoin_GUI_now_available_from_Debian_unstable__and_Ubuntu_raring_.html
</guid>
326 <pubDate>Sat,
2 Feb
2013 09:
00:
00 +
0100</pubDate>
327 <description><p
>My
328 <a href=
"http://people.skolelinux.org/pere/blog/How_to_backport_bitcoin_qt_version_0_7_2_2_to_Debian_Squeeze.html
">last
329 bitcoin related blog post
</a
> mentioned that the new
330 <a href=
"http://packages.qa.debian.org/bitcoin
">bitcoin package
</a
> for
331 Debian was waiting in NEW. It was accepted by the Debian ftp-masters
332 2013-
01-
19, and have been available in unstable since then. It was
333 automatically copied to Ubuntu, and is available in their Raring
334 version too.
</p
>
336 <p
>But there is a strange problem with the build that block this new
337 version from being available on the i386 and kfreebsd-i386
338 architectures. For some strange reason, the autobuilders in Debian
339 for these architectures fail to run the test suite on these
340 architectures (
<a href=
"http://bugs.debian.org/
672524">BTS #
672524</a
>).
341 We are so far unable to reproduce it when building it manually, and
342 no-one have been able to propose a fix. If you got an idea what is
343 failing, please let us know via the BTS.
</p
>
345 <p
>One feature that is annoying me with of the bitcoin client, because
346 I often run low on disk space, is the fact that the client will exit
347 if it run short on space (
<a href=
"http://bugs.debian.org/
696715">BTS
348 #
696715</a
>). So make sure you have enough disk space when you run
351 <p
>As usual, if you use bitcoin and want to show your support of my
352 activities, please send Bitcoin donations to my address
353 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
&label=PetterReinholdtsenBlog
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
358 <title>Welcome to the world, Isenkram!
</title>
359 <link>http://people.skolelinux.org/pere/blog/Welcome_to_the_world__Isenkram_.html
</link>
360 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Welcome_to_the_world__Isenkram_.html
</guid>
361 <pubDate>Tue,
22 Jan
2013 22:
00:
00 +
0100</pubDate>
362 <description><p
>Yesterday, I
363 <a href=
"http://people.skolelinux.org/pere/blog/First_prototype_ready_making_hardware_easier_to_use_in_Debian.html
">asked
364 for testers
</a
> for my prototype for making Debian better at handling
365 pluggable hardware devices, which I
366 <a href=
"http://people.skolelinux.org/pere/blog/Lets_make_hardware_dongles_easier_to_use_in_Debian.html
">set
367 out to create
</a
> earlier this month. Several valuable testers showed
368 up, and caused me to really want to to open up the development to more
369 people. But before I did this, I want to come up with a sensible name
370 for this project. Today I finally decided on a new name, and I have
371 renamed the project from hw-support-handler to this new name. In the
372 process, I moved the source to git and made it available as a
373 <a href=
"http://anonscm.debian.org/gitweb/?p=collab-maint/isenkram.git
">collab-maint
</a
>
374 repository in Debian. The new name? It is
<strong
>Isenkram
</strong
>.
375 To fetch and build the latest version of the source, use
</p
>
378 git clone http://anonscm.debian.org/git/collab-maint/isenkram.git
379 cd isenkram
&& git-buildpackage -us -uc
382 <p
>I have not yet adjusted all files to use the new name yet. If you
383 want to hack on the source or improve the package, please go ahead.
384 But please talk to me first on IRC or via email before you do major
385 changes, to make sure we do not step on each others toes. :)
</p
>
387 <p
>If you wonder what
'isenkram
' is, it is a Norwegian word for iron
388 stuff, typically meaning tools, nails, screws, etc. Typical hardware
389 stuff, in other words. I
've been told it is the Norwegian variant of
390 the German word eisenkram, for those that are familiar with that
393 <p
><strong
>Update
2013-
01-
26</strong
>: Added -us -us to build
394 instructions, to avoid confusing people with an error from the signing
397 <p
><strong
>Update
2013-
01-
27</strong
>: Switch to HTTP URL for the git
398 clone argument to avoid the need for authentication.
</p
>
403 <title>First prototype ready making hardware easier to use in Debian
</title>
404 <link>http://people.skolelinux.org/pere/blog/First_prototype_ready_making_hardware_easier_to_use_in_Debian.html
</link>
405 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/First_prototype_ready_making_hardware_easier_to_use_in_Debian.html
</guid>
406 <pubDate>Mon,
21 Jan
2013 12:
00:
00 +
0100</pubDate>
407 <description><p
>Early this month I set out to try to
408 <a href=
"http://people.skolelinux.org/pere/blog/Lets_make_hardware_dongles_easier_to_use_in_Debian.html
">improve
409 the Debian support for pluggable hardware devices
</a
>. Now my
410 prototype is working, and it is ready for a larger audience. To test
412 <a href=
"http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/
">source
413 from the Debian Edu subversion repository
</a
>, build and install the
414 package. You might have to log out and in again activate the
415 autostart script.
</p
>
417 <p
>The design is simple:
</p
>
421 <li
>Add desktop entry in /usr/share/autostart/ causing a program
422 hw-support-handlerd to start when the user log in.
</li
>
424 <li
>This program listen for kernel events about new hardware (directly
425 from the kernel like udev does), not using HAL dbus events as I
426 initially did.
</li
>
428 <li
>When new hardware is inserted, look up the hardware modalias in
429 the APT database, a database
430 <a href=
"http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/modaliases?view=markup
">available
431 via HTTP
</a
> and a database available as part of the package.
</li
>
433 <li
>If a package is mapped to the hardware in question, the package
434 isn
't installed yet and this is the first time the hardware was
435 plugged in, show a desktop notification suggesting to install the
436 package or packages.
</li
>
438 <li
>If the user click on the
'install package now
' button, ask
439 aptdaemon via the PackageKit API to install the requrired package.
</li
>
441 <li
>aptdaemon ask for root password or sudo password, and install the
442 package while showing progress information in a window.
</li
>
446 <p
>I still need to come up with a better name for the system. Here
447 are some screen shots showing the prototype in action. First the
448 notification, then the password request, and finally the request to
449 approve all the dependencies. Sorry for the Norwegian Bokmål GUI.
</p
>
451 <p
><img src=
"http://people.skolelinux.org/pere/blog/images/
2013-
01-
21-hw-support-
1-notification.png
">
452 <br
><img src=
"http://people.skolelinux.org/pere/blog/images/
2013-
01-
21-hw-support-
2-password.png
">
453 <br
><img src=
"http://people.skolelinux.org/pere/blog/images/
2013-
01-
21-hw-support-
3-dependencies.png
">
454 <br
><img src=
"http://people.skolelinux.org/pere/blog/images/
2013-
01-
21-hw-support-
4-installing.png
">
455 <br
><img src=
"http://people.skolelinux.org/pere/blog/images/
2013-
01-
21-hw-support-
5-installing-details.png
" width=
"70%
"></p
>
457 <p
>The prototype still need to be improved with longer timeouts, but
458 is already useful. The database of hardware to package mappings also
459 need more work. It is currently compatible with the Ubuntu way of
460 storing such information in the package control file, but could be
461 changed to use other formats instead or in addition to the current
462 method. I
've dropped the use of discover for this mapping, as the
463 modalias approach is more flexible and easier to use on Linux as long
464 as the Linux kernel expose its modalias strings directly.
</p
>
466 <p
><strong
>Update
2013-
01-
21 16:
50</strong
>: Due to popular demand,
467 here is the command required to check out and build the source: Use
468 '<tt
>svn checkout
469 svn://svn.debian.org/debian-edu/trunk/src/hw-support-handler/; cd
470 hw-support-handler; debuild
</tt
>'. If you lack debuild, install the
471 devscripts package.
</p
>
473 <p
><strong
>Update
2013-
01-
23 12:
00</strong
>: The project is now
474 renamed to Isenkram and the source moved from the Debian Edu
475 subversion repository to a Debian collab-maint git repository. See
476 <a href=
"http://people.skolelinux.org/pere/blog/Welcome_to_the_world__Isenkram_.html
">build
477 instructions
</a
> for details.
</p
>
482 <title>Thank you Thinkpad X41, for your long and trustworthy service
</title>
483 <link>http://people.skolelinux.org/pere/blog/Thank_you_Thinkpad_X41__for_your_long_and_trustworthy_service.html
</link>
484 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Thank_you_Thinkpad_X41__for_your_long_and_trustworthy_service.html
</guid>
485 <pubDate>Sat,
19 Jan
2013 09:
20:
00 +
0100</pubDate>
486 <description><p
>This Christmas my trusty old laptop died. It died quietly and
487 suddenly in bed. With a quiet whimper, it went completely quiet and
488 black. The power button was no longer able to turn it on. It was a
489 IBM Thinkpad X41, and the best laptop I ever had. Better than both
490 Thinkpads X30, X31, X40, X60, X61 and X61S. Far better than the
491 Compaq I had before that. Now I need to find a replacement. To keep
492 going during Christmas, I moved the one year old SSD disk to my old
493 X40 where it fitted (only one I had left that could use it), but it is
494 not a durable solution.
496 <p
>My laptop needs are fairly modest. This is my wishlist from when I
497 got a new one more than
10 years ago. It still holds true.:)
</p
>
501 <li
>Lightweight (around
1 kg) and small volume (preferably smaller
503 <li
>Robust, it will be in my backpack every day.
</li
>
504 <li
>Three button mouse and a mouse pin instead of touch pad.
</li
>
505 <li
>Long battery life time. Preferable a week.
</li
>
506 <li
>Internal WIFI network card.
</li
>
507 <li
>Internal Twisted Pair network card.
</li
>
508 <li
>Some USB slots (
2-
3 is plenty)
</li
>
509 <li
>Good keyboard - similar to the Thinkpad.
</li
>
510 <li
>Video resolution at least
1024x768, with size around
12" (A4 paper
512 <li
>Hardware supported by Debian Stable, ie the default kernel and
513 X.org packages.
</li
>
514 <li
>Quiet, preferably fan free (or at least not using the fan most of
519 <p
>You will notice that there are no RAM and CPU requirements in the
520 list. The reason is simply that the specifications on laptops the
521 last
10-
15 years have been sufficient for my needs, and I have to look
522 at other features to choose my laptop. But are there still made as
523 robust laptops as my X41? The Thinkpad X60/X61 proved to be less
524 robust, and Thinkpads seem to be heading in the wrong direction since
525 Lenovo took over. But I
've been told that X220 and X1 Carbon might
526 still be useful.
</p
>
528 <p
>Perhaps I should rethink my needs, and look for a pad with an
529 external keyboard? I
'll have to check the
530 <a href=
"http://www.linux-laptop.net/
">Linux Laptops site
</a
> for
531 well-supported laptops, or perhaps just buy one preinstalled from one
532 of the vendors listed on the
<a href=
"http://linuxpreloaded.com/
">Linux
533 Pre-loaded site
</a
>.
</p
>
538 <title>How to find a browser plugin supporting a given MIME type
</title>
539 <link>http://people.skolelinux.org/pere/blog/How_to_find_a_browser_plugin_supporting_a_given_MIME_type.html
</link>
540 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/How_to_find_a_browser_plugin_supporting_a_given_MIME_type.html
</guid>
541 <pubDate>Fri,
18 Jan
2013 10:
40:
00 +
0100</pubDate>
542 <description><p
>Some times I try to figure out which Iceweasel browser plugin to
543 install to get support for a given MIME type. Thanks to
544 <a href=
"https://wiki.ubuntu.com/MozillaTeam/Plugins
">specifications
545 done by Ubuntu
</a
> and Mozilla, it is possible to do this in Debian.
546 Unfortunately, not very many packages provide the needed meta
547 information, Anyway, here is a small script to look up all browser
548 plugin packages announcing ther MIME support using this specification:
</p
>
554 def pkgs_handling_mimetype(mimetype):
559 version = pkg.candidate
561 version = pkg.installed
564 record = version.record
565 if not record.has_key(
'Npp-MimeType
'):
567 mime_types = record[
'Npp-MimeType
'].split(
',
')
569 t = t.rstrip().strip()
571 thepkgs.append(pkg.name)
573 mimetype =
"audio/ogg
"
574 if
1 < len(sys.argv):
575 mimetype = sys.argv[
1]
576 print
"Browser plugin packages supporting %s:
" % mimetype
577 for pkg in pkgs_handling_mimetype(mimetype):
578 print
" %s
" %pkg
581 <p
>It can be used like this to look up a given MIME type:
</p
>
584 % ./apt-find-browserplug-for-mimetype
585 Browser plugin packages supporting audio/ogg:
587 % ./apt-find-browserplug-for-mimetype application/x-shockwave-flash
588 Browser plugin packages supporting application/x-shockwave-flash:
593 <p
>In Ubuntu this mechanism is combined with support in the browser
594 itself to query for plugins and propose to install the needed
595 packages. It would be great if Debian supported such feature too. Is
596 anyone working on adding it?
</p
>
598 <p
><strong
>Update
2013-
01-
18 14:
20</strong
>: The Debian BTS
599 request for icweasel support for this feature is
600 <a href=
"http://bugs.debian.org/
484010">#
484010</a
> from
2008 (and
601 <a href=
"http://bugs.debian.org/
698426">#
698426</a
> from today). Lack
602 of manpower and wish for a different design is the reason thus feature
603 is not yet in iceweasel from Debian.
</p
>