1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns=
"http://www.w3.org/1999/xhtml" dir=
"ltr">
5 <meta http-equiv=
"Content-Type" content=
"text/html;charset=utf-8" />
6 <title>Petter Reinholdtsen: Entries Tagged lego
</title>
7 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"http://people.skolelinux.org/pere/blog/style.css" />
8 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"http://people.skolelinux.org/pere/blog/vim.css" />
9 <link rel=
"alternate" title=
"RSS Feed" href=
"lego.rss" type=
"application/rss+xml" />
14 <a href=
"http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen
</a>
21 <h3>Entries tagged "lego".
</h3>
25 <a href=
"http://people.skolelinux.org/pere/blog/My_own_self_balancing_Lego_Segway.html">My own self balancing Lego Segway
</a>
31 <p>A while back I received a Gyro sensor for the NXT
32 <a href=
"mindstorms.lego.com">Mindstorms
</a> controller as a birthday
33 present. It had been on my wishlist for a while, because I wanted to
34 build a Segway like balancing lego robot. I had already built
35 <a href=
"http://www.nxtprograms.com/NXT2/segway/">a simple balancing
36 robot
</a> with the kids, using the light/color sensor included in the
37 NXT kit as the balance sensor, but it was not working very well. It
38 could balance for a while, but was very sensitive to the light
39 condition in the room and the reflective properties of the surface and
40 would fall over after a short while. I wanted something more robust,
42 <a href=
"https://www.hitechnic.com/cgi-bin/commerce.cgi?preadd=action&key=NGY1044">the
43 gyro sensor from HiTechnic
</a> I believed would solve it on my
44 wishlist for some years before it suddenly showed up as a gift from my
47 <p>Unfortunately I have not had time to sit down and play with it
48 since then. But that changed some days ago, when I was searching for
49 lego segway information and came across a recipe from HiTechnic for
51 <a href=
"http://www.hitechnic.com/blog/gyro-sensor/htway/">the
52 HTWay
</a>, a segway like balancing robot. Build instructions and
53 <a href=
"https://www.hitechnic.com/upload/786-HTWayC.nxc">source
54 code
</a> was included, so it was just a question of putting it all
55 together. And thanks to the great work of many Debian developers, the
56 compiler needed to build the source for the NXT is already included in
57 Debian, so I was read to go in less than an hour. The resulting robot
58 do not look very impressive in its simplicity:
</p>
60 <p align=
"center"><img width=
"70%" src=
"http://people.skolelinux.org/pere/blog/images/2016-11-04-lego-htway-robot.jpeg"></p>
62 <p>Because I lack the infrared sensor used to control the robot in the
63 design from HiTechnic, I had to comment out the last task
64 (taskControl). I simply placed /* and */ around it get the program
65 working without that sensor present. Now it balances just fine until
66 the battery status run low:
</p>
68 <p align=
"center"><video width=
"70%" controls=
"true">
69 <source src=
"http://people.skolelinux.org/pere/blog/images/2016-11-04-lego-htway-balancing.ogv" type=
"video/ogg">
72 <p>Now we would like to teach it how to follow a line and take remote
73 control instructions using the included Bluetooth receiver in the NXT.
</p>
75 <p>If you, like me, love LEGO and want to make sure we find the tools
76 they need to work with LEGO in Debian and all our derivative
77 distributions like Ubuntu, check out
78 <a href=
"http://wiki.debian.org/LegoDesigners">the LEGO designers
79 project page
</a> and join the Debian LEGO team. Personally I own a
80 RCX and NXT controller (no EV3), and would like to make sure the
81 Debian tools needed to program the systems I own work as they
88 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/lego">lego
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/robot">robot
</a>.
93 <div class=
"padding"></div>
97 <a href=
"http://people.skolelinux.org/pere/blog/Isenkram__Appstream_and_udev_make_life_as_a_LEGO_builder_easier.html">Isenkram, Appstream and udev make life as a LEGO builder easier
</a>
103 <p><a href=
"http://packages.qa.debian.org/isenkram">The Isenkram
104 system
</a> provide a practical and easy way to figure out which
105 packages support the hardware in a given machine. The command line
106 tool
<tt>isenkram-lookup
</tt> and the tasksel options provide a
107 convenient way to list and install packages relevant for the current
108 hardware during system installation, both user space packages and
109 firmware packages. The GUI background daemon on the other hand provide
110 a pop-up proposing to install packages when a new dongle is inserted
111 while using the computer. For example, if you plug in a smart card
112 reader, the system will ask if you want to install
<tt>pcscd
</tt> if
113 that package isn't already installed, and if you plug in a USB video
114 camera the system will ask if you want to install
<tt>cheese
</tt> if
115 cheese is currently missing. This already work just fine.
</p>
117 <p>But Isenkram depend on a database mapping from hardware IDs to
118 package names. When I started no such database existed in Debian, so
119 I made my own data set and included it with the isenkram package and
120 made isenkram fetch the latest version of this database from git using
121 http. This way the isenkram users would get updated package proposals
122 as soon as I learned more about hardware related packages.
</p>
124 <p>The hardware is identified using modalias strings. The modalias
125 design is from the Linux kernel where most hardware descriptors are
126 made available as a strings that can be matched using filename style
127 globbing. It handle USB, PCI, DMI and a lot of other hardware related
130 <p>The downside to the Isenkram specific database is that there is no
131 information about relevant distribution / Debian version, making
132 isenkram propose obsolete packages too. But along came AppStream, a
133 cross distribution mechanism to store and collect metadata about
134 software packages. When I heard about the proposal, I contacted the
135 people involved and suggested to add a hardware matching rule using
136 modalias strings in the specification, to be able to use AppStream for
137 mapping hardware to packages. This idea was accepted and AppStream is
138 now a great way for a package to announce the hardware it support in a
139 distribution neutral way. I wrote
140 <a href=
"http://people.skolelinux.org/pere/blog/Using_appstream_with_isenkram_to_install_hardware_related_packages_in_Debian.html">a
141 recipe on how to add such meta-information
</a> in a blog post last
142 December. If you have a hardware related package in Debian, please
143 announce the relevant hardware IDs using AppStream.
</p>
145 <p>In Debian, almost all packages that can talk to a LEGO Mindestorms
146 RCX or NXT unit, announce this support using AppStream. The effect is
147 that when you insert such LEGO robot controller into your Debian
148 machine, Isenkram will propose to install the packages needed to get
149 it working. The intention is that this should allow the local user to
150 start programming his robot controller right away without having to
151 guess what packages to use or which permissions to fix.
</p>
153 <p>But when I sat down with my son the other day to program our NXT
154 unit using his Debian Stretch computer, I discovered something
155 annoying. The local console user (ie my son) did not get access to
156 the USB device for programming the unit. This used to work, but no
157 longer in Jessie and Stretch. After some investigation and asking
158 around on #debian-devel, I discovered that this was because udev had
159 changed the mechanism used to grant access to local devices. The
160 ConsoleKit mechanism from
<tt>/lib/udev/rules.d/
70-udev-acl.rules
</tt>
161 no longer applied, because LDAP users no longer was added to the
162 plugdev group during login. Michael Biebl told me that this method
163 was obsolete and the new method used ACLs instead. This was good
164 news, as the plugdev mechanism is a mess when using a remote user
165 directory like LDAP. Using ACLs would make sure a user lost device
166 access when she logged out, even if the user left behind a background
167 process which would retain the plugdev membership with the ConsoleKit
168 setup. Armed with this knowledge I moved on to fix the access problem
169 for the LEGO Mindstorms related packages.
</p>
171 <p>The new system uses a udev tag, 'uaccess'. It can either be
172 applied directly for a device, or is applied in
173 /lib/udev/rules.d/
70-uaccess.rules for classes of devices. As the
174 LEGO Mindstorms udev rules did not have a class, I decided to add the
175 tag directly in the udev rules files included in the packages. Here
176 is one example. For the nqc C compiler for the RCX, the
177 <tt>/lib/udev/rules.d/
60-nqc.rules
</tt> file now look like this:
180 SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="
0694", ATTR{idProduct}=="
0001", \
181 SYMLINK+="rcx-%k", TAG+="uaccess"
184 <p>The key part is the 'TAG+="uaccess"' at the end. I suspect all
185 packages using plugdev in their /lib/udev/rules.d/ files should be
186 changed to use this tag (either directly or indirectly via
187 <tt>70-uaccess.rules
</tt>). Perhaps a lintian check should be created
190 <p>I've been unable to find good documentation on the uaccess feature.
191 It is unclear to me if the uaccess tag is an internal implementation
192 detail like the udev-acl tag used by
193 <tt>/lib/udev/rules.d/
70-udev-acl.rules
</tt>. If it is, I guess the
194 indirect method is the preferred way. Michael
195 <a href=
"https://github.com/systemd/systemd/issues/4288">asked for more
196 documentation from the systemd project
</a> and I hope it will make
197 this clearer. For now I use the generic classes when they exist and
198 is already handled by
<tt>70-uaccess.rules
</tt>, and add the tag
199 directly if no such class exist.
</p>
201 <p>To learn more about the isenkram system, please check out
202 <a href=
"http://people.skolelinux.org/pere/blog/tags/isenkram/">my
203 blog posts tagged isenkram
</a>.
</p>
205 <p>To help out making life for LEGO constructors in Debian easier,
206 please join us on our IRC channel
207 <a href=
"irc://irc.debian.org/%23debian-lego">#debian-lego
</a> and join
208 the
<a href=
"https://alioth.debian.org/projects/debian-lego/">Debian
209 LEGO team
</a> in the Alioth project we created yesterday. A mailing
210 list is not yet created, but we are working on it. :)
</p>
212 <p>As usual, if you use Bitcoin and want to show your support of my
213 activities, please send Bitcoin donations to my address
214 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
220 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>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/lego">lego
</a>.
225 <div class=
"padding"></div>
229 <a href=
"http://people.skolelinux.org/pere/blog/Debian__the_Linux_distribution_of_choice_for_LEGO_designers_.html">Debian, the Linux distribution of choice for LEGO designers?
</a>
236 <a href=
"http://people.skolelinux.org/pere/blog/New_IRC_channel_for_LEGO_designers_using_Debian.html">I
237 announced a
</a> new
<a href=
"irc://irc.debian.org/%23debian-lego">IRC
238 channel #debian-lego
</a>, for those of us in the Debian and Linux
239 community interested in
<a href=
"http://www.lego.com/">LEGO
</a>, the
240 marvellous construction system from Denmark. We also created
241 <a href=
"http://wiki.debian.org/LegoDesigners">a wiki page
</a> to have
242 a place to take notes and write down our plans and hopes. And several
243 people showed up to help. I was very happy to see the effect of my
244 call. Since the small start, we have a debtags tag
245 <a href=
"http://debtags.debian.net/search/bytag?wl=hardware::hobby:lego">hardware::hobby:lego
</a>
246 tag for LEGO related packages, and now count
10 packages related to
247 LEGO and
<a href=
"http://mindstorms.lego.com/">Mindstorms
</a>:
</p>
250 <tr><td><a href=
"http://packages.qa.debian.org/brickos">brickos
</a></td><td>alternative OS for LEGO Mindstorms RCX. Supports development in C/C++
</td></tr>
251 <tr><td><a href=
"http://packages.qa.debian.org/leocad">leocad
</a></td><td>virtual brick CAD software
</td></tr>
252 <tr><td><a href=
"http://packages.qa.debian.org/libnxt">libnxt
</a></td><td>utility library for talking to the LEGO Mindstorms NX
</td></tr>
253 <tr><td><a href=
"http://packages.qa.debian.org/lnpd">lnpd
</a></td><td>daemon for LNP communication with BrickOS
</td></tr>
254 <tr><td><a href=
"http://packages.qa.debian.org/nbc">nbc
</a></td><td>compiler for LEGO Mindstorms NXT bricks
</td></tr>
255 <tr><td><a href=
"http://packages.qa.debian.org/nqc">nqc
</a></td><td>Not Quite C compiler for LEGO Mindstorms RCX
</td></tr>
256 <tr><td><a href=
"http://packages.qa.debian.org/python-nxt">python-nxt
</a></td><td>python driver/interface/wrapper for the Lego Mindstorms NXT robot
</td></tr>
257 <tr><td><a href=
"http://packages.qa.debian.org/python-nxt-filer">python-nxt-filer
</a></td><td>simple GUI to manage files on a LEGO Mindstorms NXT
</td></tr>
258 <tr><td><a href=
"http://packages.qa.debian.org/scratch">scratch
</a></td><td>easy to use programming environment for ages
8 and up
</td></tr>
259 <tr><td><a href=
"http://packages.qa.debian.org/t2n">t2n
</a></td><td>simple command-line tool for Lego NXT
</td></tr>
262 <p>Some of these are available in Wheezy, and all but one are
263 currently available in Jessie/testing. leocad is so far only
264 available in experimental.
</p>
266 <p>If you care about LEGO in Debian, please join us on IRC and help
267 adding the rest of the great free software tools available on Linux
268 for LEGO designers.
</p>
274 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/lego">lego
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/robot">robot
</a>.
279 <div class=
"padding"></div>
283 <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>
289 <p>During Christmas, I have worked a bit on the Debian support for
290 <a href=
"http://mindstorms.lego.com/en-us/Default.aspx">LEGO Mindstorm
291 NXT
</a>. My son and I have played a bit with my NXT set, and I
292 discovered I had to build all the tools myself because none were
293 already in Debian Squeeze. If Debian support for LEGO is something
294 you care about, please join me on the IRC channel
295 <a href=
"irc://irc.debian.org/%23debian-lego">#debian-lego
</a> (server
296 irc.debian.org). There is a lot that could be done to improve the
297 Debian support for LEGO designers. For example both CAD software
298 and Mindstorm compilers are missing. :)
</p>
300 <p>Update
2012-
01-
03: A
301 <a href=
"http://wiki.debian.org/LegoDesigners">project page
</a>
302 including links to Lego related packages is now available.
</p>
308 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/lego">lego
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/robot">robot
</a>.
313 <div class=
"padding"></div>
315 <p style=
"text-align: right;"><a href=
"lego.rss"><img src=
"http://people.skolelinux.org/pere/blog/xml.gif" alt=
"RSS Feed" width=
"36" height=
"14" /></a></p>
326 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/01/">January (
4)
</a></li>
328 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/02/">February (
3)
</a></li>
330 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/03/">March (
5)
</a></li>
332 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/04/">April (
2)
</a></li>
334 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/06/">June (
5)
</a></li>
336 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/07/">July (
1)
</a></li>
338 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/08/">August (
1)
</a></li>
340 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/09/">September (
3)
</a></li>
342 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/10/">October (
5)
</a></li>
344 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/11/">November (
2)
</a></li>
351 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/01/">January (
3)
</a></li>
353 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/02/">February (
2)
</a></li>
355 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/03/">March (
3)
</a></li>
357 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/04/">April (
8)
</a></li>
359 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/05/">May (
8)
</a></li>
361 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/06/">June (
2)
</a></li>
363 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/07/">July (
2)
</a></li>
365 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/08/">August (
5)
</a></li>
367 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/09/">September (
2)
</a></li>
369 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/10/">October (
3)
</a></li>
371 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/11/">November (
8)
</a></li>
373 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/12/">December (
5)
</a></li>
380 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/01/">January (
7)
</a></li>
382 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/02/">February (
6)
</a></li>
384 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/03/">March (
1)
</a></li>
386 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/04/">April (
4)
</a></li>
388 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/05/">May (
3)
</a></li>
390 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/06/">June (
4)
</a></li>
392 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/07/">July (
6)
</a></li>
394 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/08/">August (
2)
</a></li>
396 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/09/">September (
2)
</a></li>
398 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/10/">October (
9)
</a></li>
400 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/11/">November (
6)
</a></li>
402 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/12/">December (
3)
</a></li>
409 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/01/">January (
2)
</a></li>
411 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/02/">February (
3)
</a></li>
413 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/03/">March (
8)
</a></li>
415 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/04/">April (
7)
</a></li>
417 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/05/">May (
1)
</a></li>
419 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/06/">June (
2)
</a></li>
421 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/07/">July (
2)
</a></li>
423 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/08/">August (
2)
</a></li>
425 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/09/">September (
5)
</a></li>
427 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/10/">October (
6)
</a></li>
429 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/11/">November (
3)
</a></li>
431 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/12/">December (
5)
</a></li>
438 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/01/">January (
11)
</a></li>
440 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/02/">February (
9)
</a></li>
442 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/03/">March (
9)
</a></li>
444 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/04/">April (
6)
</a></li>
446 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/05/">May (
9)
</a></li>
448 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/06/">June (
10)
</a></li>
450 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/07/">July (
7)
</a></li>
452 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/08/">August (
3)
</a></li>
454 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/09/">September (
5)
</a></li>
456 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/10/">October (
7)
</a></li>
458 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/11/">November (
9)
</a></li>
460 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/12/">December (
3)
</a></li>
467 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/01/">January (
7)
</a></li>
469 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/02/">February (
10)
</a></li>
471 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/03/">March (
17)
</a></li>
473 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/04/">April (
12)
</a></li>
475 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/05/">May (
12)
</a></li>
477 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/06/">June (
20)
</a></li>
479 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/07/">July (
17)
</a></li>
481 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/08/">August (
6)
</a></li>
483 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/09/">September (
9)
</a></li>
485 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/10/">October (
17)
</a></li>
487 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/11/">November (
10)
</a></li>
489 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/12/">December (
7)
</a></li>
496 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/01/">January (
16)
</a></li>
498 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/02/">February (
6)
</a></li>
500 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/03/">March (
6)
</a></li>
502 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/04/">April (
7)
</a></li>
504 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/05/">May (
3)
</a></li>
506 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/06/">June (
2)
</a></li>
508 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/07/">July (
7)
</a></li>
510 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/08/">August (
6)
</a></li>
512 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/09/">September (
4)
</a></li>
514 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/10/">October (
2)
</a></li>
516 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/11/">November (
3)
</a></li>
518 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/12/">December (
1)
</a></li>
525 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/01/">January (
2)
</a></li>
527 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/02/">February (
1)
</a></li>
529 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/03/">March (
3)
</a></li>
531 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/04/">April (
3)
</a></li>
533 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/05/">May (
9)
</a></li>
535 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/06/">June (
14)
</a></li>
537 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/07/">July (
12)
</a></li>
539 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/08/">August (
13)
</a></li>
541 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/09/">September (
7)
</a></li>
543 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/10/">October (
9)
</a></li>
545 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/11/">November (
13)
</a></li>
547 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/12/">December (
12)
</a></li>
554 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/01/">January (
8)
</a></li>
556 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/02/">February (
8)
</a></li>
558 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/03/">March (
12)
</a></li>
560 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/04/">April (
10)
</a></li>
562 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/05/">May (
9)
</a></li>
564 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/06/">June (
3)
</a></li>
566 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/07/">July (
4)
</a></li>
568 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/08/">August (
3)
</a></li>
570 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/09/">September (
1)
</a></li>
572 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/10/">October (
2)
</a></li>
574 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/11/">November (
3)
</a></li>
576 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/12/">December (
3)
</a></li>
583 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/11/">November (
5)
</a></li>
585 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/12/">December (
7)
</a></li>
596 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (
14)
</a></li>
598 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/amiga">amiga (
1)
</a></li>
600 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/aros">aros (
1)
</a></li>
602 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bankid">bankid (
4)
</a></li>
604 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (
9)
</a></li>
606 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (
16)
</a></li>
608 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bsa">bsa (
2)
</a></li>
610 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (
2)
</a></li>
612 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian (
154)
</a></li>
614 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (
158)
</a></li>
616 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian-handbook">debian-handbook (
4)
</a></li>
618 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/digistan">digistan (
10)
</a></li>
620 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/dld">dld (
17)
</a></li>
622 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/docbook">docbook (
24)
</a></li>
624 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (
4)
</a></li>
626 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/english">english (
359)
</a></li>
628 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (
23)
</a></li>
630 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (
12)
</a></li>
632 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (
30)
</a></li>
634 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (
9)
</a></li>
636 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (
18)
</a></li>
638 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/h264">h264 (
20)
</a></li>
640 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/intervju">intervju (
42)
</a></li>
642 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (
15)
</a></li>
644 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/kart">kart (
20)
</a></li>
646 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ldap">ldap (
9)
</a></li>
648 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lego">lego (
4)
</a></li>
650 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lenker">lenker (
8)
</a></li>
652 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (
2)
</a></li>
654 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (
1)
</a></li>
656 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (
8)
</a></li>
658 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (
39)
</a></li>
660 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (
9)
</a></li>
662 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk (
293)
</a></li>
664 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug (
189)
</a></li>
666 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (
33)
</a></li>
668 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/open311">open311 (
2)
</a></li>
670 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (
66)
</a></li>
672 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/personvern">personvern (
104)
</a></li>
674 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/raid">raid (
2)
</a></li>
676 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/reactos">reactos (
1)
</a></li>
678 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/reprap">reprap (
11)
</a></li>
680 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rfid">rfid (
3)
</a></li>
682 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/robot">robot (
10)
</a></li>
684 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rss">rss (
1)
</a></li>
686 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ruter">ruter (
5)
</a></li>
688 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (
2)
</a></li>
690 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (
53)
</a></li>
692 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (
4)
</a></li>
694 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (
5)
</a></li>
696 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard (
55)
</a></li>
698 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (
6)
</a></li>
700 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (
12)
</a></li>
702 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (
52)
</a></li>
704 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (
4)
</a></li>
706 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/usenix">usenix (
2)
</a></li>
708 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/valg">valg (
9)
</a></li>
710 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/video">video (
59)
</a></li>
712 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (
4)
</a></li>
714 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/web">web (
40)
</a></li>
720 <p style=
"text-align: right">
721 Created by
<a href=
"http://steve.org.uk/Software/chronicle">Chronicle v4.6
</a>