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=
"https://people.skolelinux.org/pere/blog/style.css" />
8 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"https://people.skolelinux.org/pere/blog/vim.css" />
9 <link rel=
"alternate" title=
"RSS Feed" href=
"lego.rss" type=
"application/rss+xml" />
14 <a href=
"https://people.skolelinux.org/pere/blog/">Petter Reinholdtsen
</a>
21 <h3>Entries tagged "lego".
</h3>
25 <a href=
"https://people.skolelinux.org/pere/blog/Debian_still_an_excellent_choice_for_Lego_builders.html">Debian still an excellent choice for Lego builders
</a>
31 <p>The Debian Lego team saw a lot of activity the last few weeks. All
32 the packages under the team umbrella has been updated to fix
33 packaging, lintian issues and BTS reports. In addition, a new and
34 inspiring team member appeared on both the
35 <a href=
"https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/debian-lego-team">debian-lego-team
36 Team mailing list
</a> and
37 <a href=
"irc://irc.debian.org/%23debian-lego">IRC channel
38 #debian-lego
</a>. If you are interested in Lego CAD design and LEGO
39 Mindstorms programming, check out the
40 <a href=
"http://wiki.debian.org/LegoDesigners">team wiki page
</a> to
41 see what Debian can offer the Lego enthusiast.
</p>
43 <p>Patches has been sent upstream, causing new upstream releases, one
44 even the first one in more than ten years, and old upstreams was
45 released with new ones. There are still a lot of work left, and the
46 team welcome more members to help us make sure Debian is the Linux
47 distribution of choice for Lego builders. If you want to contribute,
48 join us in the IRC channel and become part of
49 <a href=
"https://salsa.debian.org/debian-lego-team/">the team on
52 <p>As usual, if you use Bitcoin and want to show your support of my
53 activities, please send Bitcoin donations to my address
54 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
60 Tags:
<a href=
"https://people.skolelinux.org/pere/blog/tags/debian">debian
</a>,
<a href=
"https://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"https://people.skolelinux.org/pere/blog/tags/lego">lego
</a>,
<a href=
"https://people.skolelinux.org/pere/blog/tags/robot">robot
</a>.
65 <div class=
"padding"></div>
69 <a href=
"https://people.skolelinux.org/pere/blog/My_own_self_balancing_Lego_Segway.html">My own self balancing Lego Segway
</a>
75 <p>A while back I received a Gyro sensor for the NXT
76 <a href=
"mindstorms.lego.com">Mindstorms
</a> controller as a birthday
77 present. It had been on my wishlist for a while, because I wanted to
78 build a Segway like balancing lego robot. I had already built
79 <a href=
"http://www.nxtprograms.com/NXT2/segway/">a simple balancing
80 robot
</a> with the kids, using the light/color sensor included in the
81 NXT kit as the balance sensor, but it was not working very well. It
82 could balance for a while, but was very sensitive to the light
83 condition in the room and the reflective properties of the surface and
84 would fall over after a short while. I wanted something more robust,
86 <a href=
"https://www.hitechnic.com/cgi-bin/commerce.cgi?preadd=action&key=NGY1044">the
87 gyro sensor from HiTechnic
</a> I believed would solve it on my
88 wishlist for some years before it suddenly showed up as a gift from my
91 <p>Unfortunately I have not had time to sit down and play with it
92 since then. But that changed some days ago, when I was searching for
93 lego segway information and came across a recipe from HiTechnic for
95 <a href=
"http://www.hitechnic.com/blog/gyro-sensor/htway/">the
96 HTWay
</a>, a segway like balancing robot. Build instructions and
97 <a href=
"https://www.hitechnic.com/upload/786-HTWayC.nxc">source
98 code
</a> was included, so it was just a question of putting it all
99 together. And thanks to the great work of many Debian developers, the
100 compiler needed to build the source for the NXT is already included in
101 Debian, so I was read to go in less than an hour. The resulting robot
102 do not look very impressive in its simplicity:
</p>
104 <p align=
"center"><img width=
"70%" src=
"http://people.skolelinux.org/pere/blog/images/2016-11-04-lego-htway-robot.jpeg"></p>
106 <p>Because I lack the infrared sensor used to control the robot in the
107 design from HiTechnic, I had to comment out the last task
108 (taskControl). I simply placed /* and */ around it get the program
109 working without that sensor present. Now it balances just fine until
110 the battery status run low:
</p>
112 <p align=
"center"><video width=
"70%" controls=
"true">
113 <source src=
"http://people.skolelinux.org/pere/blog/images/2016-11-04-lego-htway-balancing.ogv" type=
"video/ogg">
116 <p>Now we would like to teach it how to follow a line and take remote
117 control instructions using the included Bluetooth receiver in the NXT.
</p>
119 <p>If you, like me, love LEGO and want to make sure we find the tools
120 they need to work with LEGO in Debian and all our derivative
121 distributions like Ubuntu, check out
122 <a href=
"http://wiki.debian.org/LegoDesigners">the LEGO designers
123 project page
</a> and join the Debian LEGO team. Personally I own a
124 RCX and NXT controller (no EV3), and would like to make sure the
125 Debian tools needed to program the systems I own work as they
132 Tags:
<a href=
"https://people.skolelinux.org/pere/blog/tags/debian">debian
</a>,
<a href=
"https://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"https://people.skolelinux.org/pere/blog/tags/lego">lego
</a>,
<a href=
"https://people.skolelinux.org/pere/blog/tags/robot">robot
</a>.
137 <div class=
"padding"></div>
141 <a href=
"https://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>
147 <p><a href=
"http://packages.qa.debian.org/isenkram">The Isenkram
148 system
</a> provide a practical and easy way to figure out which
149 packages support the hardware in a given machine. The command line
150 tool
<tt>isenkram-lookup
</tt> and the tasksel options provide a
151 convenient way to list and install packages relevant for the current
152 hardware during system installation, both user space packages and
153 firmware packages. The GUI background daemon on the other hand provide
154 a pop-up proposing to install packages when a new dongle is inserted
155 while using the computer. For example, if you plug in a smart card
156 reader, the system will ask if you want to install
<tt>pcscd
</tt> if
157 that package isn't already installed, and if you plug in a USB video
158 camera the system will ask if you want to install
<tt>cheese
</tt> if
159 cheese is currently missing. This already work just fine.
</p>
161 <p>But Isenkram depend on a database mapping from hardware IDs to
162 package names. When I started no such database existed in Debian, so
163 I made my own data set and included it with the isenkram package and
164 made isenkram fetch the latest version of this database from git using
165 http. This way the isenkram users would get updated package proposals
166 as soon as I learned more about hardware related packages.
</p>
168 <p>The hardware is identified using modalias strings. The modalias
169 design is from the Linux kernel where most hardware descriptors are
170 made available as a strings that can be matched using filename style
171 globbing. It handle USB, PCI, DMI and a lot of other hardware related
174 <p>The downside to the Isenkram specific database is that there is no
175 information about relevant distribution / Debian version, making
176 isenkram propose obsolete packages too. But along came AppStream, a
177 cross distribution mechanism to store and collect metadata about
178 software packages. When I heard about the proposal, I contacted the
179 people involved and suggested to add a hardware matching rule using
180 modalias strings in the specification, to be able to use AppStream for
181 mapping hardware to packages. This idea was accepted and AppStream is
182 now a great way for a package to announce the hardware it support in a
183 distribution neutral way. I wrote
184 <a href=
"http://people.skolelinux.org/pere/blog/Using_appstream_with_isenkram_to_install_hardware_related_packages_in_Debian.html">a
185 recipe on how to add such meta-information
</a> in a blog post last
186 December. If you have a hardware related package in Debian, please
187 announce the relevant hardware IDs using AppStream.
</p>
189 <p>In Debian, almost all packages that can talk to a LEGO Mindestorms
190 RCX or NXT unit, announce this support using AppStream. The effect is
191 that when you insert such LEGO robot controller into your Debian
192 machine, Isenkram will propose to install the packages needed to get
193 it working. The intention is that this should allow the local user to
194 start programming his robot controller right away without having to
195 guess what packages to use or which permissions to fix.
</p>
197 <p>But when I sat down with my son the other day to program our NXT
198 unit using his Debian Stretch computer, I discovered something
199 annoying. The local console user (ie my son) did not get access to
200 the USB device for programming the unit. This used to work, but no
201 longer in Jessie and Stretch. After some investigation and asking
202 around on #debian-devel, I discovered that this was because udev had
203 changed the mechanism used to grant access to local devices. The
204 ConsoleKit mechanism from
<tt>/lib/udev/rules.d/
70-udev-acl.rules
</tt>
205 no longer applied, because LDAP users no longer was added to the
206 plugdev group during login. Michael Biebl told me that this method
207 was obsolete and the new method used ACLs instead. This was good
208 news, as the plugdev mechanism is a mess when using a remote user
209 directory like LDAP. Using ACLs would make sure a user lost device
210 access when she logged out, even if the user left behind a background
211 process which would retain the plugdev membership with the ConsoleKit
212 setup. Armed with this knowledge I moved on to fix the access problem
213 for the LEGO Mindstorms related packages.
</p>
215 <p>The new system uses a udev tag, 'uaccess'. It can either be
216 applied directly for a device, or is applied in
217 /lib/udev/rules.d/
70-uaccess.rules for classes of devices. As the
218 LEGO Mindstorms udev rules did not have a class, I decided to add the
219 tag directly in the udev rules files included in the packages. Here
220 is one example. For the nqc C compiler for the RCX, the
221 <tt>/lib/udev/rules.d/
60-nqc.rules
</tt> file now look like this:
224 SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="
0694", ATTR{idProduct}=="
0001", \
225 SYMLINK+="rcx-%k", TAG+="uaccess"
228 <p>The key part is the 'TAG+="uaccess"' at the end. I suspect all
229 packages using plugdev in their /lib/udev/rules.d/ files should be
230 changed to use this tag (either directly or indirectly via
231 <tt>70-uaccess.rules
</tt>). Perhaps a lintian check should be created
234 <p>I've been unable to find good documentation on the uaccess feature.
235 It is unclear to me if the uaccess tag is an internal implementation
236 detail like the udev-acl tag used by
237 <tt>/lib/udev/rules.d/
70-udev-acl.rules
</tt>. If it is, I guess the
238 indirect method is the preferred way. Michael
239 <a href=
"https://github.com/systemd/systemd/issues/4288">asked for more
240 documentation from the systemd project
</a> and I hope it will make
241 this clearer. For now I use the generic classes when they exist and
242 is already handled by
<tt>70-uaccess.rules
</tt>, and add the tag
243 directly if no such class exist.
</p>
245 <p>To learn more about the isenkram system, please check out
246 <a href=
"http://people.skolelinux.org/pere/blog/tags/isenkram/">my
247 blog posts tagged isenkram
</a>.
</p>
249 <p>To help out making life for LEGO constructors in Debian easier,
250 please join us on our IRC channel
251 <a href=
"irc://irc.debian.org/%23debian-lego">#debian-lego
</a> and join
252 the
<a href=
"https://alioth.debian.org/projects/debian-lego/">Debian
253 LEGO team
</a> in the Alioth project we created yesterday. A mailing
254 list is not yet created, but we are working on it. :)
</p>
256 <p>As usual, if you use Bitcoin and want to show your support of my
257 activities, please send Bitcoin donations to my address
258 <b><a href=
"bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a></b>.
</p>
264 Tags:
<a href=
"https://people.skolelinux.org/pere/blog/tags/debian">debian
</a>,
<a href=
"https://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"https://people.skolelinux.org/pere/blog/tags/isenkram">isenkram
</a>,
<a href=
"https://people.skolelinux.org/pere/blog/tags/lego">lego
</a>.
269 <div class=
"padding"></div>
273 <a href=
"https://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>
280 <a href=
"http://people.skolelinux.org/pere/blog/New_IRC_channel_for_LEGO_designers_using_Debian.html">I
281 announced a
</a> new
<a href=
"irc://irc.debian.org/%23debian-lego">IRC
282 channel #debian-lego
</a>, for those of us in the Debian and Linux
283 community interested in
<a href=
"http://www.lego.com/">LEGO
</a>, the
284 marvellous construction system from Denmark. We also created
285 <a href=
"http://wiki.debian.org/LegoDesigners">a wiki page
</a> to have
286 a place to take notes and write down our plans and hopes. And several
287 people showed up to help. I was very happy to see the effect of my
288 call. Since the small start, we have a debtags tag
289 <a href=
"http://debtags.debian.net/search/bytag?wl=hardware::hobby:lego">hardware::hobby:lego
</a>
290 tag for LEGO related packages, and now count
10 packages related to
291 LEGO and
<a href=
"http://mindstorms.lego.com/">Mindstorms
</a>:
</p>
294 <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>
295 <tr><td><a href=
"http://packages.qa.debian.org/leocad">leocad
</a></td><td>virtual brick CAD software
</td></tr>
296 <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>
297 <tr><td><a href=
"http://packages.qa.debian.org/lnpd">lnpd
</a></td><td>daemon for LNP communication with BrickOS
</td></tr>
298 <tr><td><a href=
"http://packages.qa.debian.org/nbc">nbc
</a></td><td>compiler for LEGO Mindstorms NXT bricks
</td></tr>
299 <tr><td><a href=
"http://packages.qa.debian.org/nqc">nqc
</a></td><td>Not Quite C compiler for LEGO Mindstorms RCX
</td></tr>
300 <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>
301 <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>
302 <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>
303 <tr><td><a href=
"http://packages.qa.debian.org/t2n">t2n
</a></td><td>simple command-line tool for Lego NXT
</td></tr>
306 <p>Some of these are available in Wheezy, and all but one are
307 currently available in Jessie/testing. leocad is so far only
308 available in experimental.
</p>
310 <p>If you care about LEGO in Debian, please join us on IRC and help
311 adding the rest of the great free software tools available on Linux
312 for LEGO designers.
</p>
318 Tags:
<a href=
"https://people.skolelinux.org/pere/blog/tags/debian">debian
</a>,
<a href=
"https://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"https://people.skolelinux.org/pere/blog/tags/lego">lego
</a>,
<a href=
"https://people.skolelinux.org/pere/blog/tags/robot">robot
</a>.
323 <div class=
"padding"></div>
327 <a href=
"https://people.skolelinux.org/pere/blog/New_IRC_channel_for_LEGO_designers_using_Debian.html">New IRC channel for LEGO designers using Debian
</a>
333 <p>During Christmas, I have worked a bit on the Debian support for
334 <a href=
"http://mindstorms.lego.com/en-us/Default.aspx">LEGO Mindstorm
335 NXT
</a>. My son and I have played a bit with my NXT set, and I
336 discovered I had to build all the tools myself because none were
337 already in Debian Squeeze. If Debian support for LEGO is something
338 you care about, please join me on the IRC channel
339 <a href=
"irc://irc.debian.org/%23debian-lego">#debian-lego
</a> (server
340 irc.debian.org). There is a lot that could be done to improve the
341 Debian support for LEGO designers. For example both CAD software
342 and Mindstorm compilers are missing. :)
</p>
344 <p>Update
2012-
01-
03: A
345 <a href=
"http://wiki.debian.org/LegoDesigners">project page
</a>
346 including links to Lego related packages is now available.
</p>
352 Tags:
<a href=
"https://people.skolelinux.org/pere/blog/tags/debian">debian
</a>,
<a href=
"https://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"https://people.skolelinux.org/pere/blog/tags/lego">lego
</a>,
<a href=
"https://people.skolelinux.org/pere/blog/tags/robot">robot
</a>.
357 <div class=
"padding"></div>
359 <p style=
"text-align: right;"><a href=
"lego.rss"><img src=
"https://people.skolelinux.org/pere/blog/xml.gif" alt=
"RSS Feed" width=
"36" height=
"14" /></a></p>
370 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2023/01/">January (
3)
</a></li>
372 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2023/02/">February (
1)
</a></li>
374 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2023/04/">April (
2)
</a></li>
376 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2023/05/">May (
2)
</a></li>
383 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2022/02/">February (
1)
</a></li>
385 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2022/03/">March (
3)
</a></li>
387 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2022/04/">April (
2)
</a></li>
389 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2022/06/">June (
2)
</a></li>
391 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2022/07/">July (
1)
</a></li>
393 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2022/09/">September (
1)
</a></li>
395 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2022/10/">October (
1)
</a></li>
397 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2022/12/">December (
1)
</a></li>
404 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2021/01/">January (
2)
</a></li>
406 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2021/02/">February (
1)
</a></li>
408 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2021/05/">May (
1)
</a></li>
410 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2021/06/">June (
1)
</a></li>
412 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2021/07/">July (
3)
</a></li>
414 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2021/08/">August (
1)
</a></li>
416 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2021/09/">September (
1)
</a></li>
418 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2021/10/">October (
1)
</a></li>
420 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2021/12/">December (
1)
</a></li>
427 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2020/02/">February (
2)
</a></li>
429 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2020/03/">March (
2)
</a></li>
431 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2020/04/">April (
2)
</a></li>
433 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2020/05/">May (
3)
</a></li>
435 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2020/06/">June (
2)
</a></li>
437 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2020/07/">July (
1)
</a></li>
439 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2020/09/">September (
1)
</a></li>
441 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2020/10/">October (
1)
</a></li>
443 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2020/11/">November (
1)
</a></li>
450 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/01/">January (
4)
</a></li>
452 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/02/">February (
3)
</a></li>
454 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/03/">March (
3)
</a></li>
456 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/05/">May (
2)
</a></li>
458 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/06/">June (
5)
</a></li>
460 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/07/">July (
2)
</a></li>
462 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/08/">August (
1)
</a></li>
464 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/09/">September (
1)
</a></li>
466 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/11/">November (
1)
</a></li>
468 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/12/">December (
4)
</a></li>
475 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/01/">January (
1)
</a></li>
477 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/02/">February (
5)
</a></li>
479 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/03/">March (
5)
</a></li>
481 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/04/">April (
3)
</a></li>
483 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/06/">June (
2)
</a></li>
485 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/07/">July (
5)
</a></li>
487 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/08/">August (
3)
</a></li>
489 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/09/">September (
3)
</a></li>
491 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/10/">October (
5)
</a></li>
493 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/11/">November (
2)
</a></li>
495 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/12/">December (
4)
</a></li>
502 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/01/">January (
4)
</a></li>
504 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/02/">February (
3)
</a></li>
506 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/03/">March (
5)
</a></li>
508 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/04/">April (
2)
</a></li>
510 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/06/">June (
5)
</a></li>
512 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/07/">July (
1)
</a></li>
514 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/08/">August (
1)
</a></li>
516 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/09/">September (
3)
</a></li>
518 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/10/">October (
5)
</a></li>
520 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/11/">November (
3)
</a></li>
522 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/12/">December (
4)
</a></li>
529 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/01/">January (
3)
</a></li>
531 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/02/">February (
2)
</a></li>
533 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/03/">March (
3)
</a></li>
535 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/04/">April (
8)
</a></li>
537 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/05/">May (
8)
</a></li>
539 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/06/">June (
2)
</a></li>
541 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/07/">July (
2)
</a></li>
543 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/08/">August (
5)
</a></li>
545 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/09/">September (
2)
</a></li>
547 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/10/">October (
3)
</a></li>
549 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/11/">November (
8)
</a></li>
551 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/12/">December (
5)
</a></li>
558 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/01/">January (
7)
</a></li>
560 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/02/">February (
6)
</a></li>
562 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/03/">March (
1)
</a></li>
564 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/04/">April (
4)
</a></li>
566 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/05/">May (
3)
</a></li>
568 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/06/">June (
4)
</a></li>
570 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/07/">July (
6)
</a></li>
572 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/08/">August (
2)
</a></li>
574 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/09/">September (
2)
</a></li>
576 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/10/">October (
9)
</a></li>
578 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/11/">November (
6)
</a></li>
580 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/12/">December (
3)
</a></li>
587 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/01/">January (
2)
</a></li>
589 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/02/">February (
3)
</a></li>
591 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/03/">March (
8)
</a></li>
593 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/04/">April (
7)
</a></li>
595 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/05/">May (
1)
</a></li>
597 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/06/">June (
2)
</a></li>
599 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/07/">July (
2)
</a></li>
601 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/08/">August (
2)
</a></li>
603 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/09/">September (
5)
</a></li>
605 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/10/">October (
6)
</a></li>
607 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/11/">November (
3)
</a></li>
609 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/12/">December (
5)
</a></li>
616 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/01/">January (
11)
</a></li>
618 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/02/">February (
9)
</a></li>
620 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/03/">March (
9)
</a></li>
622 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/04/">April (
6)
</a></li>
624 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/05/">May (
9)
</a></li>
626 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/06/">June (
10)
</a></li>
628 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/07/">July (
7)
</a></li>
630 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/08/">August (
3)
</a></li>
632 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/09/">September (
5)
</a></li>
634 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/10/">October (
7)
</a></li>
636 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/11/">November (
9)
</a></li>
638 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/12/">December (
3)
</a></li>
645 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/01/">January (
7)
</a></li>
647 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/02/">February (
10)
</a></li>
649 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/03/">March (
17)
</a></li>
651 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/04/">April (
12)
</a></li>
653 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/05/">May (
12)
</a></li>
655 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/06/">June (
20)
</a></li>
657 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/07/">July (
17)
</a></li>
659 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/08/">August (
6)
</a></li>
661 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/09/">September (
9)
</a></li>
663 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/10/">October (
17)
</a></li>
665 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/11/">November (
10)
</a></li>
667 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/12/">December (
7)
</a></li>
674 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/01/">January (
16)
</a></li>
676 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/02/">February (
6)
</a></li>
678 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/03/">March (
6)
</a></li>
680 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/04/">April (
7)
</a></li>
682 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/05/">May (
3)
</a></li>
684 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/06/">June (
2)
</a></li>
686 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/07/">July (
7)
</a></li>
688 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/08/">August (
6)
</a></li>
690 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/09/">September (
4)
</a></li>
692 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/10/">October (
2)
</a></li>
694 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/11/">November (
3)
</a></li>
696 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/12/">December (
1)
</a></li>
703 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/01/">January (
2)
</a></li>
705 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/02/">February (
1)
</a></li>
707 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/03/">March (
3)
</a></li>
709 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/04/">April (
3)
</a></li>
711 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/05/">May (
9)
</a></li>
713 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/06/">June (
14)
</a></li>
715 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/07/">July (
12)
</a></li>
717 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/08/">August (
13)
</a></li>
719 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/09/">September (
7)
</a></li>
721 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/10/">October (
9)
</a></li>
723 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/11/">November (
13)
</a></li>
725 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/12/">December (
12)
</a></li>
732 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/01/">January (
8)
</a></li>
734 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/02/">February (
8)
</a></li>
736 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/03/">March (
12)
</a></li>
738 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/04/">April (
10)
</a></li>
740 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/05/">May (
9)
</a></li>
742 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/06/">June (
3)
</a></li>
744 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/07/">July (
4)
</a></li>
746 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/08/">August (
3)
</a></li>
748 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/09/">September (
1)
</a></li>
750 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/10/">October (
2)
</a></li>
752 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/11/">November (
3)
</a></li>
754 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/12/">December (
3)
</a></li>
761 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2008/11/">November (
5)
</a></li>
763 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2008/12/">December (
7)
</a></li>
774 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (
19)
</a></li>
776 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/amiga">amiga (
1)
</a></li>
778 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/aros">aros (
1)
</a></li>
780 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/bankid">bankid (
4)
</a></li>
782 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/betalkontant">betalkontant (
9)
</a></li>
784 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (
12)
</a></li>
786 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (
17)
</a></li>
788 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/bsa">bsa (
2)
</a></li>
790 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (
2)
</a></li>
792 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/debian">debian (
192)
</a></li>
794 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (
159)
</a></li>
796 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/debian-handbook">debian-handbook (
9)
</a></li>
798 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/digistan">digistan (
11)
</a></li>
800 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/dld">dld (
18)
</a></li>
802 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/docbook">docbook (
30)
</a></li>
804 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (
4)
</a></li>
806 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/english">english (
448)
</a></li>
808 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (
23)
</a></li>
810 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (
14)
</a></li>
812 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (
34)
</a></li>
814 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (
9)
</a></li>
816 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (
20)
</a></li>
818 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/h264">h264 (
20)
</a></li>
820 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/intervju">intervju (
43)
</a></li>
822 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (
16)
</a></li>
824 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/kart">kart (
23)
</a></li>
826 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/kodi">kodi (
4)
</a></li>
828 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/ldap">ldap (
9)
</a></li>
830 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/lego">lego (
5)
</a></li>
832 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/lenker">lenker (
8)
</a></li>
834 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/linuxcnc">linuxcnc (
5)
</a></li>
836 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (
2)
</a></li>
838 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (
1)
</a></li>
840 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/madewithcc">madewithcc (
3)
</a></li>
842 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (
8)
</a></li>
844 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (
45)
</a></li>
846 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (
14)
</a></li>
848 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/noark5">noark5 (
23)
</a></li>
850 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/norsk">norsk (
320)
</a></li>
852 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/nuug">nuug (
198)
</a></li>
854 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (
40)
</a></li>
856 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/open311">open311 (
2)
</a></li>
858 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/opensnitch">opensnitch (
3)
</a></li>
860 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (
75)
</a></li>
862 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/personvern">personvern (
114)
</a></li>
864 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/raid">raid (
2)
</a></li>
866 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/reactos">reactos (
1)
</a></li>
868 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/reprap">reprap (
11)
</a></li>
870 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/rfid">rfid (
3)
</a></li>
872 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/robot">robot (
17)
</a></li>
874 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/rss">rss (
1)
</a></li>
876 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/ruter">ruter (
7)
</a></li>
878 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (
2)
</a></li>
880 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (
59)
</a></li>
882 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (
4)
</a></li>
884 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (
5)
</a></li>
886 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/standard">standard (
74)
</a></li>
888 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (
7)
</a></li>
890 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (
14)
</a></li>
892 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (
64)
</a></li>
894 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (
5)
</a></li>
896 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/usenix">usenix (
2)
</a></li>
898 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/valg">valg (
9)
</a></li>
900 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/verkidetfri">verkidetfri (
20)
</a></li>
902 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/video">video (
78)
</a></li>
904 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (
4)
</a></li>
906 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/web">web (
42)
</a></li>
912 <p style=
"text-align: right">
913 Created by
<a href=
"http://steve.org.uk/Software/chronicle">Chronicle v4.6
</a>