+ <div class="entry">
+ <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>
+ <div class="date">10th February 2013</div>
+ <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>
+
+<p>With kids in the house, one challenge is getting them to sleep
+during the night and wake up when it is morning. I mean, when I
+believe it is morning, and not two hours earlier. In our household we
+have decided that 07:00 is the turning point, but getting the kids to
+sleep until 07:00 is a small challenge every day. They have adapted
+quite well, and rarely wake up at 05:00 any more, but some times wake
+up at times like 05:50, 06:15, 06:30 or 06:45, and it is hard to put
+the awake one to bed again without disturbing and waking the rest.
+And I understand perfectly well that they fail to sleep until 07:00
+some times, as there is no way for them to know if it is before or
+after the magic moment without coming and asking us parents.</p>
+
+<p>But yesterday I came up with a method to solve this problem. It
+involve home automation. A few years ago I bought a
+<a href="http://www.telldus.se/products/tellstick">Tellstick</a> and RF
+switches at the local <a href="http://www.clasohlson.com/">Clas
+Ohlson</a> shop, allowing me to control lights and other electrical
+gadgets using my Linux server. When I moved from the old flat to a
+small house, I put away all this equipment as most of the lighting in
+the house was not using wall sockets and thus not easy to connect to
+the gadgets I had. But recently I bought a
+<a href="http://www.telldus.se/products/tellstick_net">Tellstick
+Net</a> to be able to read sensor input as well as control power
+sockets. I want to control ovens in the basement to avoid the pipes
+to freeze, and monitor the humidity to detect flooding. The default
+setup for Tellstick Net is to be controlled by the vendor web service,
+which to me is a security problem, but it is also possible to build
+ones own
+<a href="http://developer.telldus.com/blog/2012/03/02/help-us-develop-local-access-using-tellstick-net-build-your-own-firmware">firmware
+with local access</A> instead of being controlled by a Swedish
+company, thanks to the release of the GPL licensed firmware source
+code. I plan to get that running before I let it control anything
+important. But while working on this, one idea to make it easier for
+the kids came to me yesterday. We can set up a night light controlled
+by the computer, and turn it automatically on at 07:00. The kids can
+then check the light in the morning to know if they are supposed to
+get up or not. They joined me in setting everything up, and I
+repeated the concept several times before bed times to make sure they
+remembered to check the light before getting up in the morning.</p>
+
+<p>We tested it this morning, and all the kids stayed in bed until
+after 07:00, and every one of them commented on the fact that the
+"morning light" was turned on and signalled that the morning had
+arrived. So this look like a success, and I am excited to see how
+this develops the next few days. :) I really hope this can allow us
+all to sleep a bit longer in the morning.</p>
+
+<p>A nice advantage of this setup is that we can remote control when
+to tell the kids to get up. We do not have to wait until 07:00, and
+can also delay it if we want to.</p>
+</div>
+ <div class="tags">
+
+
+ Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
+ <div class="entry">
+ <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>
+ <div class="date"> 9th February 2013</div>
+ <div class="body"><p>Nytt stortingsvalg er på trappene, og folket får igjen mulighet til
+å påvirke sammensetningen i vår lovgivende forsamling. Da er det
+relevant å vite hvilke representanter og partier som har støttet
+innføringen av brev- og besøkskontroll av hele den norske
+befolkningen, det vil si datalagringsdirektivet.</p>
+
+<p>Hvis du vil vite hva hver enkelt stortingsrepresentant har stemt i
+stortingsvoteringene om datalagringsdirektivet, så har nettstedet til
+<a href="http://www.holderdeord.no/">Holder De Ord</a> den (så vidt jeg
+vet) eneste komplette oversikten på sin temaside om
+<a href="http://beta.holderdeord.no/issues/innfore-datalagringsdirektivet">innføringen
+av datalagringsdirektivet</a>. Den har detaljene fra de 11 relevante
+forslagene som har vært fremmet så lagt. De har vært votert over
+2011-04-04, 2011-04-11, 2012-06-11, 2012-10-05 og 2012-12-06.</p>
+
+<p>Hvis du lurer på hva som er problemet med datalagringsdirektivet,
+anbefaler jeg å lese <a href="http://www.uhuru.biz/?cat=84">artiklene
+fra Jon Wessel-Aas</a> om temaet, samt informasjon fra foreningen
+<a href="http://www.digitaltpersonvern.no/">Digitalt
+Personvern</a>.</p>
+</div>
+ <div class="tags">
+
+
+ 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>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
+ <div class="entry">
+ <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>
+ <div class="date"> 4th February 2013</div>
+ <div class="body"><p>Jeg ser med gru at Arbeiderpartiet, Høyre og Fremskrittspartiet
+<a href="http://www.aftenposten.no/nyheter/iriks/Positive-til-mer-smuglerovervaking-7110348.html">applauderer
+tollvesenets forslag</a> om å øke overvåkningen i Norge nok et hakk.
+Det er ikke så rart, da de som uttaler seg jo også har støttet
+innføringen av datalagringsdirektivet eller i hvert fall ikke veldig
+aktivt har motarbeidet det. Innføringen av datalagringsdirektivet er
+en lovendring som innebærer brev og besøkskontroll for hele
+befolkningen.</p>
+
+<p><a href="http://www.stortinget.no/no/Saker-og-publikasjoner/Saker/Sak/?p=48717">Datalagringsdirektivet</a>
+har vært oppe til votering i stortinget tre ganger så langt. Det ble
+<a href="http://svartelisten.org/">vedtatt første gang 2011-04-04</a>
+og
+<a href="https://github.com/holderdeord/hdo-folketingparser/blob/master/data/votering-2011-04-11.xml">andre
+gang 2011-04-11</a> (lovendringer voteres to ganger), og forslag om å
+stoppe loven ble
+<a href="http://www.stortinget.no/no/Saker-og-publikasjoner/Saker/Sak/Voteringsoversikt/?p=53844&dnid=1">nedstemt
+2012-12-06</a> (se også
+<a href="http://beta.holderdeord.no/issues/innfore-datalagringsdirektivet">oversikt fra Holder De
+Ord</a>).</p>
+
+<p>Jan Bøhler i Arbeiderpartiet stemte for å innføre
+datalagringsdirektivet i lovverket i første votering, var ikke
+tilstede i andre votering og støttet loven i tredje votering. André
+Oktay Dahl i Høyre var ikke til stede i første og andre votering men
+støttet loven i tredje votering. Ulf Leirstein i Fremskrittspartiet
+stemte mot loven i første votering men var ikke til stede i andre og
+tredje votering.</p>
+
+<p>Hvis du lurer på hva som er problemet med datalagringsdirektivet,
+anbefaler jeg å lese <a href="http://www.uhuru.biz/?cat=84">artiklene
+fra Jon Wessel-Aas</a> om temaet, samt informasjon fra foreningen
+<a href="http://www.digitaltpersonvern.no/">Digitalt
+Personvern</a>.</p>
+
+<p><strong>Oppdatering 2013-03-09</strong>: Endret lenke til Holder De
+Ord, som har byttet mange lenker i forbindelse med import av
+voteringsdata for 2010-2011.</p>
+</div>
+ <div class="tags">
+
+
+ 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>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
+ <div class="entry">
+ <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>
+ <div class="date"> 2nd February 2013</div>
+ <div class="body"><p>My
+<a href="http://people.skolelinux.org/pere/blog/How_to_backport_bitcoin_qt_version_0_7_2_2_to_Debian_Squeeze.html">last
+bitcoin related blog post</a> mentioned that the new
+<a href="http://packages.qa.debian.org/bitcoin">bitcoin package</a> for
+Debian was waiting in NEW. It was accepted by the Debian ftp-masters
+2013-01-19, and have been available in unstable since then. It was
+automatically copied to Ubuntu, and is available in their Raring
+version too.</p>
+
+<p>But there is a strange problem with the build that block this new
+version from being available on the i386 and kfreebsd-i386
+architectures. For some strange reason, the autobuilders in Debian
+for these architectures fail to run the test suite on these
+architectures (<a href="http://bugs.debian.org/672524">BTS #672524</a>).
+We are so far unable to reproduce it when building it manually, and
+no-one have been able to propose a fix. If you got an idea what is
+failing, please let us know via the BTS.</p>
+
+<p>One feature that is annoying me with of the bitcoin client, because
+I often run low on disk space, is the fact that the client will exit
+if it run short on space (<a href="http://bugs.debian.org/696715">BTS
+#696715</a>). So make sure you have enough disk space when you run
+it. :)</p>
+
+<p>As usual, if you use bitcoin and want to show your support of my
+activities, please send Bitcoin donations to my address
+<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&label=PetterReinholdtsenBlog">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
+</div>
+ <div class="tags">
+
+
+ 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>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
<div class="entry">
<div class="title"><a href="http://people.skolelinux.org/pere/blog/Welcome_to_the_world__Isenkram_.html">Welcome to the world, Isenkram!</a></div>
<div class="date">22nd January 2013</div>
To fetch and build the latest version of the source, use</p>
<pre>
-git clone git://anonscm.debian.org/collab-maint/isenkram.git
+git clone http://anonscm.debian.org/git/collab-maint/isenkram.git
cd isenkram && git-buildpackage -us -uc
</pre>
<p><strong>Update 2013-01-26</strong>: Added -us -us to build
instructions, to avoid confusing people with an error from the signing
process.</p>
+
+<p><strong>Update 2013-01-27</strong>: Switch to HTTP URL for the git
+clone argument to avoid the need for authentication.</p>
</div>
<div class="tags">
</div>
<div class="padding"></div>
- <div class="entry">
- <div class="title"><a href="http://people.skolelinux.org/pere/blog/Modalias_strings___a_practical_way_to_map__stuff__to_hardware.html">Modalias strings - a practical way to map "stuff" to hardware</a></div>
- <div class="date">14th January 2013</div>
- <div class="body"><p>While looking into how to look up Debian packages based on hardware
-information, to find the packages that support a given piece of
-hardware, I refreshed my memory regarding modalias values, and decided
-to document the details. Here are my findings so far, also available
-in
-<a href="http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/">the
-Debian Edu subversion repository</a>:
-
-<p><strong>Modalias decoded</strong></p>
-
-<p>This document try to explain what the different types of modalias
-values stands for. It is in part based on information from
-<URL: <a href="https://wiki.archlinux.org/index.php/Modalias">https://wiki.archlinux.org/index.php/Modalias</a> >,
-<URL: <a href="http://unix.stackexchange.com/questions/26132/how-to-assign-usb-driver-to-device">http://unix.stackexchange.com/questions/26132/how-to-assign-usb-driver-to-device</a> >,
-<URL: <a href="http://code.metager.de/source/history/linux/stable/scripts/mod/file2alias.c">http://code.metager.de/source/history/linux/stable/scripts/mod/file2alias.c</a> > and
-<URL: <a href="http://cvs.savannah.gnu.org/viewvc/dmidecode/dmidecode.c?root=dmidecode&view=markup">http://cvs.savannah.gnu.org/viewvc/dmidecode/dmidecode.c?root=dmidecode&view=markup</a> >.
-
-<p>The modalias entries for a given Linux machine can be found using
-this shell script:</p>
-
-<pre>
-find /sys -name modalias -print0 | xargs -0 cat | sort -u
-</pre>
-
-<p>The supported modalias globs for a given kernel module can be found
-using modinfo:</p>
-
-<pre>
-% /sbin/modinfo psmouse | grep alias:
-alias: serio:ty05pr*id*ex*
-alias: serio:ty01pr*id*ex*
-%
-</pre>
-
-<p><strong>PCI subtype</strong></p>
-
-<p>A typical PCI entry can look like this. This is an Intel Host
-Bridge memory controller:</p>
-
-<p><blockquote>
-pci:v00008086d00002770sv00001028sd000001ADbc06sc00i00
-</blockquote></p>
-
-<p>This represent these values:</p>
-
-<pre>
- v 00008086 (vendor)
- d 00002770 (device)
- sv 00001028 (subvendor)
- sd 000001AD (subdevice)
- bc 06 (bus class)
- sc 00 (bus subclass)
- i 00 (interface)
-</pre>
-
-<p>The vendor/device values are the same values outputted from 'lspci
--n' as 8086:2770. The bus class/subclass is also shown by lspci as
-0600. The 0600 class is a host bridge. Other useful bus values are
-0300 (VGA compatible card) and 0200 (Ethernet controller).</p>
-
-<p>Not sure how to figure out the interface value, nor what it
-means.</p>
-
-<p><strong>USB subtype</strong></p>
-
-<p>Some typical USB entries can look like this. This is an internal
-USB hub in a laptop:</p>
-
-<p><blockquote>
-usb:v1D6Bp0001d0206dc09dsc00dp00ic09isc00ip00
-</blockquote></p>
-
-<p>Here is the values included in this alias:</p>
-
-<pre>
- v 1D6B (device vendor)
- p 0001 (device product)
- d 0206 (bcddevice)
- dc 09 (device class)
- dsc 00 (device subclass)
- dp 00 (device protocol)
- ic 09 (interface class)
- isc 00 (interface subclass)
- ip 00 (interface protocol)
-</pre>
-
-<p>The 0900 device class/subclass means hub. Some times the relevant
-class is in the interface class section. For a simple USB web camera,
-these alias entries show up:</p>
-
-<p><blockquote>
-usb:v0AC8p3420d5000dcEFdsc02dp01ic01isc01ip00
-<br>usb:v0AC8p3420d5000dcEFdsc02dp01ic01isc02ip00
-<br>usb:v0AC8p3420d5000dcEFdsc02dp01ic0Eisc01ip00
-<br>usb:v0AC8p3420d5000dcEFdsc02dp01ic0Eisc02ip00
-</blockquote></p>
-
-<p>Interface class 0E01 is video control, 0E02 is video streaming (aka
-camera), 0101 is audio control device and 0102 is audio streaming (aka
-microphone). Thus this is a camera with microphone included.</p>
-
-<p><strong>ACPI subtype</strong></p>
-
-<p>The ACPI type is used for several non-PCI/USB stuff. This is an IR
-receiver in a Thinkpad X40:</p>
-
-<p><blockquote>
-acpi:IBM0071:PNP0511:
-</blockquote></p>
-
-<p>The values between the colons are IDs.</p>
-
-<p><strong>DMI subtype</strong></p>
-
-<p>The DMI table contain lots of information about the computer case
-and model. This is an entry for a IBM Thinkpad X40, fetched from
-/sys/devices/virtual/dmi/id/modalias:</p>
-
-<p><blockquote>
-dmi:bvnIBM:bvr1UETB6WW(1.66):bd06/15/2005:svnIBM:pn2371H4G:pvrThinkPadX40:rvnIBM:rn2371H4G:rvrNotAvailable:cvnIBM:ct10:cvrNotAvailable:
-</blockquote></p>
-
-<p>The values present are</p>
-
-<pre>
- bvn IBM (BIOS vendor)
- bvr 1UETB6WW(1.66) (BIOS version)
- bd 06/15/2005 (BIOS date)
- svn IBM (system vendor)
- pn 2371H4G (product name)
- pvr ThinkPadX40 (product version)
- rvn IBM (board vendor)
- rn 2371H4G (board name)
- rvr NotAvailable (board version)
- cvn IBM (chassis vendor)
- ct 10 (chassis type)
- cvr NotAvailable (chassis version)
-</pre>
-
-<p>The chassis type 10 is Notebook. Other interesting values can be
-found in the dmidecode source:</p>
-
-<pre>
- 3 Desktop
- 4 Low Profile Desktop
- 5 Pizza Box
- 6 Mini Tower
- 7 Tower
- 8 Portable
- 9 Laptop
- 10 Notebook
- 11 Hand Held
- 12 Docking Station
- 13 All In One
- 14 Sub Notebook
- 15 Space-saving
- 16 Lunch Box
- 17 Main Server Chassis
- 18 Expansion Chassis
- 19 Sub Chassis
- 20 Bus Expansion Chassis
- 21 Peripheral Chassis
- 22 RAID Chassis
- 23 Rack Mount Chassis
- 24 Sealed-case PC
- 25 Multi-system
- 26 CompactPCI
- 27 AdvancedTCA
- 28 Blade
- 29 Blade Enclosing
-</pre>
-
-<p>The chassis type values are not always accurately set in the DMI
-table. For example my home server is a tower, but the DMI modalias
-claim it is a desktop.</p>
-
-<p><strong>SerIO subtype</strong></p>
-
-<p>This type is used for PS/2 mouse plugs. One example is from my
-test machine:</p>
-
-<p><blockquote>
-serio:ty01pr00id00ex00
-</blockquote></p>
-
-<p>The values present are</p>
-
-<pre>
- ty 01 (type)
- pr 00 (prototype)
- id 00 (id)
- ex 00 (extra)
-</pre>
-
-<p>This type is supported by the psmouse driver. I am not sure what
-the valid values are.</p>
-
-<p><strong>Other subtypes</strong></p>
-
-<p>There are heaps of other modalias subtypes according to
-file2alias.c. There is the rest of the list from that source: amba,
-ap, bcma, ccw, css, eisa, hid, i2c, ieee1394, input, ipack, isapnp,
-mdio, of, parisc, pcmcia, platform, scsi, sdio, spi, ssb, vio, virtio,
-vmbus, x86cpu and zorro. I did not spend time documenting all of
-these, as they do not seem relevant for my intended use with mapping
-hardware to packages when new stuff is inserted during run time.</p>
-
-<p><strong>Looking up kernel modules using modalias values</strong></p>
-
-<p>To check which kernel modules provide support for a given modalias,
-one can use the following shell script:</p>
-
-<pre>
- for id in $(find /sys -name modalias -print0 | xargs -0 cat | sort -u); do \
- echo "$id" ; \
- /sbin/modprobe --show-depends "$id"|sed 's/^/ /' ; \
- done
-</pre>
-
-<p>The output can look like this (only the first few entries as the
-list is very long on my test machine):</p>
-
-<pre>
- acpi:ACPI0003:
- insmod /lib/modules/2.6.32-5-686/kernel/drivers/acpi/ac.ko
- acpi:device:
- FATAL: Module acpi:device: not found.
- acpi:IBM0068:
- insmod /lib/modules/2.6.32-5-686/kernel/drivers/char/nvram.ko
- insmod /lib/modules/2.6.32-5-686/kernel/drivers/leds/led-class.ko
- insmod /lib/modules/2.6.32-5-686/kernel/net/rfkill/rfkill.ko
- insmod /lib/modules/2.6.32-5-686/kernel/drivers/platform/x86/thinkpad_acpi.ko
- acpi:IBM0071:PNP0511:
- insmod /lib/modules/2.6.32-5-686/kernel/lib/crc-ccitt.ko
- insmod /lib/modules/2.6.32-5-686/kernel/net/irda/irda.ko
- insmod /lib/modules/2.6.32-5-686/kernel/drivers/net/irda/nsc-ircc.ko
- [...]
-</pre>
-
-<p>If you want to help implementing a system to let us propose what
-packages to install when new hardware is plugged into a Debian
-machine, please send me an email or talk to me on
-<a href="irc://irc.debian.org/%23debian-devel">#debian-devel</a>.</p>
-
-<p><strong>Update 2013-01-15:</strong> Rewrite "cat $(find ...)" to
-"find ... -print0 | xargs -0 cat" to make sure it handle directories
-in /sys/ with space in them.</p>
-</div>
- <div class="tags">
-
-
- 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>.
-
-
- </div>
- </div>
- <div class="padding"></div>
-
- <div class="entry">
- <div class="title"><a href="http://people.skolelinux.org/pere/blog/Moved_the_pymissile_Debian_packaging_to_collab_maint.html">Moved the pymissile Debian packaging to collab-maint</a></div>
- <div class="date">10th January 2013</div>
- <div class="body"><p>As part of my investigation on how to improve the support in Debian
-for hardware dongles, I dug up my old Mark and Spencer USB Rocket
-Launcher and updated the Debian package
-<a href="http://packages.qa.debian.org/pymissile">pymissile</a> to make
-sure udev will fix the device permissions when it is plugged in. I
-also added a "Modaliases" header to test it in the Debian archive and
-hopefully make the package be proposed by jockey in Ubuntu when a user
-plug in his rocket launcher. In the process I moved the source to a
-git repository under collab-maint, to make it easier for any DD to
-contribute. <a href="http://code.google.com/p/pymissile/">Upstream</a>
-is not very active, but the software still work for me even after five
-years of relative silence. The new git repository is not listed in
-the uploaded package yet, because I want to test the other changes a
-bit more before I upload the new version. If you want to check out
-the new version with a .desktop file included, visit the
-<a href="http://anonscm.debian.org/gitweb/?p=collab-maint/pymissile.git">gitweb
-view</a> or use "<tt>git clone
-git://anonscm.debian.org/collab-maint/pymissile.git</tt>".</p>
-</div>
- <div class="tags">
-
-
- 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/robot">robot</a>.
-
-
- </div>
- </div>
- <div class="padding"></div>
-
- <div class="entry">
- <div class="title"><a href="http://people.skolelinux.org/pere/blog/Lets_make_hardware_dongles_easier_to_use_in_Debian.html">Lets make hardware dongles easier to use in Debian</a></div>
- <div class="date"> 9th January 2013</div>
- <div class="body"><p>One thing that annoys me with Debian and Linux distributions in
-general, is that there is a great package management system with the
-ability to automatically install software packages by downloading them
-from the distribution mirrors, but no way to get it to automatically
-install the packages I need to use the hardware I plug into my
-machine. Even if the package to use it is easily available from the
-Linux distribution. When I plug in a LEGO Mindstorms NXT, it could
-suggest to automatically install the python-nxt, nbc and t2n packages
-I need to talk to it. When I plug in a Yubikey, it could propose the
-yubikey-personalization package. The information required to do this
-is available, but no-one have pulled all the pieces together.</p>
-
-<p>Some years ago, I proposed to
-<a href="http://lists.debian.org/debian-devel/2010/05/msg01206.html">use
-the discover subsystem to implement this</a>. The idea is fairly
-simple:
-
-<ul>
-
-<li>Add a desktop entry in /usr/share/autostart/ pointing to a program
- starting when a user log in.</li>
-
-<li>Set this program up to listen for kernel events emitted when new
- hardware is inserted into the computer.</li>
-
-<li>When new hardware is inserted, look up the hardware ID in a
- database mapping to packages, and take note of any non-installed
- packages.</li>
-
-<li>Show a message to the user proposing to install the discovered
- package, and make it easy to install it.</li>
-
-</ul>
-
-<p>I am not sure what the best way to implement this is, but my
-initial idea was to use dbus events to discover new hardware, the
-discover database to find packages and
-<a href="http://www.packagekit.org/">PackageKit</a> to install
-packages.</p>
-
-<p>Yesterday, I found time to try to implement this idea, and the
-draft package is now checked into
-<a href="http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/">the
-Debian Edu subversion repository</a>. In the process, I updated the
-<a href="http://packages.qa.debian.org/d/discover-data.html">discover-data</a>
-package to map the USB ids of LEGO Mindstorms and Yubikey devices to
-the relevant packages in Debian, and uploaded a new version
-2.2013.01.09 to unstable. I also discovered that the current
-<a href="http://packages.qa.debian.org/d/discover.html">discover</a>
-package in Debian no longer discovered any USB devices, because
-/proc/bus/usb/devices is no longer present. I ported it to use
-libusb as a fall back option to get it working. The fixed package
-version 2.1.2-6 is now in experimental (didn't upload it to unstable
-because of the freeze).</p>
-
-<p>With this prototype in place, I can insert my Yubikey, and get this
-desktop notification to show up (only once, the first time it is
-inserted):</p>
-
-<p align="center"><img src="http://people.skolelinux.org/pere/blog/images/2013-01-09-hw-autoinstall.png"></p>
-
-<p>For this prototype to be really useful, some way to automatically
-install the proposed packages by pressing the "Please install
-program(s)" button should to be implemented.</p>
-
-<p>If this idea seem useful to you, and you want to help make it
-happen, please help me update the discover-data database with mappings
-from hardware to Debian packages. Check if 'discover-pkginstall -l'
-list the package you would like to have installed when a given
-hardware device is inserted into your computer, and report bugs using
-reportbug if it isn't. Or, if you know of a better way to provide
-such mapping, please let me know.</p>
-
-<p>This prototype need more work, and there are several questions that
-should be considered before it is ready for production use. Is dbus
-the correct way to detect new hardware? At the moment I look for HAL
-dbus events on the system bus, because that is the events I could see
-on my Debian Squeeze KDE desktop. Are there better events to use?
-How should the user be notified? Is the desktop notification
-mechanism the best option, or should the background daemon raise a
-popup instead? How should packages be installed? When should they
-not be installed?</p>
-
-<p>If you want to help getting such feature implemented in Debian,
-please send me an email. :)</p>
-</div>
- <div class="tags">
-
-
- 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>.
-
-
- </div>
- </div>
- <div class="padding"></div>
-
- <div class="entry">
- <div class="title"><a href="http://people.skolelinux.org/pere/blog/New_IRC_channel_for_LEGO_designers_using_Debian.html">New IRC channel for LEGO designers using Debian</a></div>
- <div class="date"> 2nd January 2013</div>
- <div class="body"><p>During Christmas, I have worked a bit on the Debian support for
-<a href="http://mindstorms.lego.com/en-us/Default.aspx">LEGO Mindstorm
-NXT</a>. My son and I have played a bit with my NXT set, and I
-discovered I had to build all the tools myself because none were
-already in Debian Squeeze. If Debian support for LEGO is something
-you care about, please join me on the IRC channel
-<a href="irc://irc.debian.org/%23debian-lego">#debian-lego</a> (server
-irc.debian.org). There is a lot that could be done to improve the
-Debian support for LEGO designers. For example both CAD software
-and Mindstorm compilers are missing. :)</p>
-
-<p>Update 2012-01-03: A
-<a href="http://wiki.debian.org/LegoDesigners">project page</a>
-including links to Lego related packages is now available.</p>
-</div>
- <div class="tags">
-
-
- 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/robot">robot</a>.
-
-
- </div>
- </div>
- <div class="padding"></div>
-
<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>
<div id="sidebar">
<li><a href="http://people.skolelinux.org/pere/blog/archive/2013/01/">January (11)</a></li>
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2013/02/">February (4)</a></li>
+
</ul></li>
<li>2012
<li><a href="http://people.skolelinux.org/pere/blog/tags/bankid">bankid (4)</a></li>
- <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (5)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (6)</a></li>
<li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (12)</a></li>
<li><a href="http://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
- <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (69)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (70)</a></li>
<li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (118)</a></li>
<li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
- <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (175)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (177)</a></li>
<li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (21)</a></li>
<li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (25)</a></li>
- <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (219)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (221)</a></li>
<li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (148)</a></li>
<li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (41)</a></li>
- <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (61)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (63)</a></li>
<li><a href="http://people.skolelinux.org/pere/blog/tags/raid">raid (1)</a></li>
<li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (3)</a></li>
- <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (5)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (6)</a></li>
- <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (12)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (14)</a></li>
<li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (1)</a></li>
</div>
<p style="text-align: right">
- Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.4</a>
+ Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.6</a>
</p>
</body>