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