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 from February
2009</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=
"02.rss" type=
"application/rss+xml" />
15 <a href=
"https://people.skolelinux.org/pere/blog/">Petter Reinholdtsen
</a>
22 <h3>Entries from February
2009.
</h3>
26 <a href=
"https://people.skolelinux.org/pere/blog/Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html">Checking server hardware support status for Dell, HP and IBM servers
</a>
32 <p>At work, we have a few hundred Linux servers, and with that amount
33 of hardware it is important to keep track of when the hardware support
34 contract expire for each server. We have a machine (and service)
35 register, which until recently did not contain much useful besides the
36 machine room location and contact information for the system owner for
37 each machine. To make it easier for us to track support contract
38 status, I've recently spent time on extending the machine register to
39 include information about when the support contract expire, and to tag
40 machines with expired contracts to make it easy to get a list of such
41 machines. I extended a perl script already being used to import
42 information about machines into the register, to also do some screen
43 scraping off the sites of Dell, HP and IBM (our majority of machines
44 are from these vendors), and automatically check the support status
45 for the relevant machines. This make the support status information
46 easily available and I hope it will make it easier for the computer
47 owner to know when to get new hardware or renew the support contract.
48 The result of this work documented that
27% of the machines in the
49 registry is without a support contract, and made it very easy to find
50 them.
27% might seem like a lot, but I see it more as the case of us
51 using machines a bit longer than the
3 years a normal support contract
52 last, to have test machines and a platform for less important
53 services. After all, the machines without a contract are working fine
54 at the moment and the lack of contract is only a problem if any of
55 them break down. When that happen, we can either fix it using spare
56 parts from other machines or move the service to another old
59 <p>I believe the code for screen scraping the Dell site was originally
60 written by Trond Hasle Amundsen, and later adjusted by me and Morten
61 Werner Forsbring. The HP scraping was written by me after reading a
62 nice article in ;login: about how to use WWW::Mechanize, and the IBM
63 scraping was written by me based on the Dell code. I know the HTML
64 parsing could be done using nice libraries, but did not want to
65 introduce more dependencies. This is the current incarnation:
</p>
73 sub get_support_info {
74 my ($machine, $model, $serial, $productnumber) = @_;
77 if ( $model =~ m/^Dell / ) {
78 # fetch website from Dell support
79 my $url = "http://support.euro.dell.com/support/topics/topic.aspx/emea/shared/support/my_systems_info/no/details?c=no
&cs=nodhs1
&l=no
&s=dhs
&ServiceTag=$serial";
80 my $webpage = get($url);
81 return undef unless ($webpage);
84 my @lines = split(/\n/, $webpage);
85 foreach my $line (@lines) {
86 next unless ($line =~ m/Beskrivelse/);
87 $line =~ s/
<[^
>]+
?>/;/gm;
88 $line =~ s/^.+?;(Beskrivelse;)/$
1/;
90 my @f = split(/\;/, $line);
93 while ($f[
3] eq "DELL") {
94 my ($type, $startstr, $endstr, $days) = @f[
0,
5,
7,
10];
96 my $start = POSIX::strftime("%Y-%m-%d",
97 localtime(str2time($startstr)));
98 my $end = POSIX::strftime("%Y-%m-%d",
99 localtime(str2time($endstr)));
100 $str .= "$type $start -
> $end ";
102 $lastend = $end if ($end gt $lastend);
104 my $today = POSIX::strftime("%Y-%m-%d", localtime(time));
105 tag_machine_unsupported($machine)
106 if ($lastend lt $today);
108 } elsif ( $model =~ m/^HP / ) {
109 my $mech = WWW::Mechanize-
>new();
111 'http://www1.itrc.hp.com/service/ewarranty/warrantyInput.do';
114 'BODServiceID' =
> 'NA',
115 'RegisteredPurchaseDate' =
> '',
117 'productNumber' =
> $productnumber,
118 'serialNumber1' =
> $serial,
120 $mech-
>submit_form( form_number =
> 2,
122 # Next step is screen scraping
123 my $content = $mech-
>content();
125 $content =~ s/
<[^
>]+
?>/;/gm;
126 $content =~ s/\s+/ /gm;
127 $content =~ s/;\s*;/;;/gm;
128 $content =~ s/;[\s;]+/;/gm;
130 my $today = POSIX::strftime("%Y-%m-%d", localtime(time));
132 while ($content =~ m/;Warranty Type;/) {
133 my ($type, $status, $startstr, $stopstr) = $content =~
134 m/;Warranty Type;([^;]+);.+?;Status;(\w+);Start Date;([^;]+);End Date;([^;]+);/;
135 $content =~ s/^.+?;Warranty Type;//;
136 my $start = POSIX::strftime("%Y-%m-%d",
137 localtime(str2time($startstr)));
138 my $end = POSIX::strftime("%Y-%m-%d",
139 localtime(str2time($stopstr)));
141 $str .= "$type ($status) $start -
> $end ";
143 tag_machine_unsupported($machine)
146 } elsif ( $model =~ m/^IBM / ) {
147 # This code ignore extended support contracts.
148 my ($producttype) = $model =~ m/.*-\[(.{
4}).+\]-/;
149 if ($producttype
&& $serial) {
151 get("http://www-
947.ibm.com/systems/support/supportsite.wss/warranty?action=warranty
&brandind=
5000008&Submit=Submit
&type=$producttype
&serial=$serial");
153 $content =~ s/
<[^
>]+
?>/;/gm;
154 $content =~ s/\s+/ /gm;
155 $content =~ s/;\s*;/;;/gm;
156 $content =~ s/;[\s;]+/;/gm;
158 $content =~ s/^.+?;Warranty status;//;
159 my ($status, $end) = $content =~ m/;Warranty status;([^;]+)\s*;Expiration date;(\S+) ;/;
161 $str .= "($status) -
> $end ";
163 my $today = POSIX::strftime("%Y-%m-%d", localtime(time));
164 tag_machine_unsupported($machine)
173 <p>Here are some examples on how to use the function, using fake
174 serial numbers. The information passed in as arguments are fetched
178 print get_support_info("hp.host", "HP ProLiant BL460c G1", "
1234567890"
180 print get_support_info("dell.host", "Dell Inc. PowerEdge
2950", "
1234567");
181 print get_support_info("ibm.host", "IBM eserver xSeries
345 -[
867061X]-",
185 <p>I would recommend this approach for tracking support contracts for
186 everyone with more than a few computers to administer. :)
</p>
188 <p>Update
2009-
03-
06: The IBM page do not include extended support
189 contracts, so it is useless in that case. The original Dell code do
190 not handle extended support contracts either, but has been updated to
197 Tags:
<a href=
"https://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"https://people.skolelinux.org/pere/blog/tags/nuug">nuug
</a>.
202 <div class=
"padding"></div>
206 <a href=
"https://people.skolelinux.org/pere/blog/Using_bar_codes_at_a_computing_center.html">Using bar codes at a computing center
</a>
212 <p>At work with the University of Oslo, we have several hundred computers
213 in our computing center. This give us a challenge in tracking the
214 location and cabling of the computers, when they are added, moved and
215 removed. Some times the location register is not updated when a
216 computer is inserted or moved and we then have to search the room for
217 the "missing" computer.
</p>
219 <p>In the last issue of Linux Journal, I came across a project
220 <a href=
"http://www.libdmtx.org/">libdmtx
</a> to write and read bar
221 code blocks as defined in the
222 <a href=
"http://en.wikipedia.org/wiki/Data_Matrix">The Data Matrix
223 Standard
</a>. This is bar codes that can be read with a normal
224 digital camera, for example that on a cell phone, and several such bar
225 codes can be read by libdmtx from one picture. The bar code standard
226 allow up to
2 KiB to be written in the tag. There is another project
227 with
<a href=
"http://www.terryburton.co.uk/barcodewriter/">a bar code
228 writer written in postscript
</a> capable of creating such bar codes,
229 but this was the first time I found a tool to read these bar
232 <p>It occurred to me that this could be used to tag and track the
233 machines in our computing center. If both racks and computers are
234 tagged this way, we can use a picture of the rack and all its
235 computers to detect the rack location of any computer in that rack.
236 If we do this regularly for the entire room, we will find all
237 locations, and can detect movements and removals.
</p>
239 <p>I decided to test if this would work in practice, and picked a
240 random rack and tagged all the machines with their names. Next, I
241 took pictures with my digital camera, and gave the dmtxread program
242 these JPEG pictures to see how many tags it could read. This worked
243 fairly well. If the pictures was well focused and not taken from the
244 side, all tags in the image could be read. Because of limited space
245 between the racks, I was unable to get a good picture of the entire
246 rack, but could without problem read all tags from a picture covering
247 about half the rack. I had to limit the search time used by dmtxread
248 to
60000 ms to make sure it terminated in a reasonable time frame.
</p>
250 <p>My conclusion is that this could work, and we should probably look
251 at adjusting our computer tagging procedures to use bar codes for
252 easier automatic tracking of computers.
</p>
258 Tags:
<a href=
"https://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"https://people.skolelinux.org/pere/blog/tags/nuug">nuug
</a>.
263 <div class=
"padding"></div>
267 <a href=
"https://people.skolelinux.org/pere/blog/Kart_over_overv_kningskamera_i_Norge.html">Kart over overvåkningskamera i Norge
</a>
274 <a href=
"http://www.personvern.no/">personvernforeningen
</a> har jeg
276 <a href=
"http://personvern.no/wiki/index.php/Kameraovervåkning">et
277 kart over overvåkningskamera i Norge
</a>. Bakgrunnen er at det etter
278 min mening bærer galt avsted med den massive overvåkningen som
279 finner sted i Norge i dag, og at flere og flere overvåkningskamera
280 gjør det vanskeligere og vanskeligere å gå igjennom livet uten at
281 små og store brødre trenger inn i ens private sfære. Datatilsynet
282 har et register over kameraovervåkning, men det viser seg å være
283 ubrukelig både til å finne ut hvor det er kamera plassert, og til å
284 sjekke om et kamera en kommer over er registrert. Dette nye kartet
285 fikser en av disse manglene, men det vil fortsatt være umulig å vite
286 om et kamera er registrert etter lovens krav eller ikke. Pr. nå er
287 22 kamera i Oslo registrert, og det trengs flere til å registrere
288 alle. Informasjonen registreres direkte inn i
<a
289 href=
"http://www.openstreetmap.org/">OpenStreetmap
</a>, så hentes det
290 automatisk over i spesialkartet.
</p>
296 Tags:
<a href=
"https://people.skolelinux.org/pere/blog/tags/norsk">norsk
</a>,
<a href=
"https://people.skolelinux.org/pere/blog/tags/personvern">personvern
</a>,
<a href=
"https://people.skolelinux.org/pere/blog/tags/surveillance">surveillance
</a>.
301 <div class=
"padding"></div>
305 <a href=
"https://people.skolelinux.org/pere/blog/Endelig_er_Debian_Lenny_gitt_ut.html">Endelig er Debian Lenny gitt ut
</a>
311 <p>Endelig er
<a href=
"http://www.debian.org/">Debian
</a>
312 <a href=
"http://www.debian.org/News/2009/20090214">Lenny
</a> gitt ut.
313 Et langt steg videre for Debian-prosjektet, og en rekke nye
314 programpakker blir nå tilgjengelig for de av oss som bruker den
315 stabile utgaven av Debian. Neste steg er nå å få
316 <a href=
"http://www.skolelinux.org/">Skolelinux
</a> /
317 <a href=
"http://wiki.debian.org/DebianEdu/">Debian Edu
</a> ferdig
318 oppdatert for den nye utgaven, slik at en oppdatert versjon kan
319 slippes løs på skolene. Takk til alle debian-utviklerne som har
320 gjort dette mulig. Endelig er f.eks. fungerende avhengighetsstyrt
321 bootsekvens tilgjengelig i stabil utgave, vha pakken
322 <tt>insserv
</tt>.
</p>
328 Tags:
<a href=
"https://people.skolelinux.org/pere/blog/tags/debian">debian
</a>,
<a href=
"https://people.skolelinux.org/pere/blog/tags/debian edu">debian edu
</a>,
<a href=
"https://people.skolelinux.org/pere/blog/tags/norsk">norsk
</a>.
333 <div class=
"padding"></div>
337 <a href=
"https://people.skolelinux.org/pere/blog/F_rste_vellykkede_videostr_m_fra_NUUG.html">Første vellykkede videostrøm fra NUUG
</a>
343 <p>Jeg ble glad for å se under
344 <a href=
"http://www.nuug.no/aktiviteter/20090210-compiz/">gårdagens
345 medlemsmøte
</a> i NUUG Oslo at utsending av live-video fra møtet
346 fungerte for første gang. Forrige gang ble det ved en teknisk tabbe
347 sendt video uten lyd. Vi kan takke Ole Kristian Lien og resten av
348 videogruppen i NUUG for at nå NUUG-medlemmer over det ganske land
349 kunne se foredraget samtidig med oss i Oslo. Vi opplevde til og med
350 under møtet å motta spørsmål via IRC som ble besvart der og da.
351 Opptaket publiseres så snart det er kopiert over til NUUGs
352 webserver og komprimert.
</p>
358 Tags:
<a href=
"https://people.skolelinux.org/pere/blog/tags/norsk">norsk
</a>,
<a href=
"https://people.skolelinux.org/pere/blog/tags/nuug">nuug
</a>,
<a href=
"https://people.skolelinux.org/pere/blog/tags/video">video
</a>.
363 <div class=
"padding"></div>
367 <a href=
"https://people.skolelinux.org/pere/blog/Min_reprap_tar_sakte_form.html">Min reprap tar sakte form
</a>
373 <p>Min reprap begynner å ta form. Den er nå kommet så langt at den er
374 blitt en kubisk ramme. Z-aksen er montert men ikke kalibrert, og det
375 hele er klart for litt enkel testing. Har møtt på to problemer som
376 blokkerer videre montering, men har oppnått kontakt med Audun Vaaler
377 ved Høgskolen i Østfold som forteller at de er nesten ferdig med et
378 tilsvarende byggesett som det jeg tar utgangspunkt i, og håper de kan
379 forklare hvordan de kom rundt problemene. De to problemene er
380 relatert til Z-aksen og Y-aksen.
</p>
382 <p>For Z-aksen, er det et stjernehjul som festes på motoraksen ved
383 tannjulet som driver z-aksebåndet og som skal holde båndet på plass.
384 Problemet med det nederste stjernejulet er at det er helt løst, og
385 blir liggende på motoren
5 mm nedenfor tannjulet, i stedet for å ligge
386 inntil tannjulet slik det skal. Mulig løsningen er å borre i
387 stjernehjulet, eller lime det fast.
</p>
389 <p>For Y-aksen, er det en plastdel som ser ut til å mangle som skulle
390 dekket to skruver som kommer i veien for kraftoverføringsmekanismen
391 fra motoren til selve aksen, slik at mekanismen kan snurre fritt.
</p>
393 <p>Når det gjelder elektronikken til min reprap, så er min gode venn
394 Anders Rosnes igang med å lodde sammen delene og han forteller at
395 koblingsbordet for Arduino er klart, og en temperatursensor og en
396 optoswitch er også klar. Gleder meg til å teste dem. Må bare finne
397 ut hvordan jeg laster opp firmware i Arduino-en. :)
</p>
399 <p>Når det gjelder NUUGs reprap-prosjekt, så er det framgang og Ole
400 Kristian, Tollef og Ketil besøke IFI for å få fortgang i produksjon av
401 plastdeler, og Ole Kristian forteller at han har funnet en kilde til
402 de fleste metalldelene. Gleder meg til å se resultaten av det
409 Tags:
<a href=
"https://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer
</a>,
<a href=
"https://people.skolelinux.org/pere/blog/tags/norsk">norsk
</a>,
<a href=
"https://people.skolelinux.org/pere/blog/tags/nuug">nuug
</a>,
<a href=
"https://people.skolelinux.org/pere/blog/tags/reprap">reprap
</a>.
414 <div class=
"padding"></div>
418 <a href=
"https://people.skolelinux.org/pere/blog/Norge_trenger_en_personvernforening.html">Norge trenger en personvernforening
</a>
424 <p>De siste årene har jeg forsøkt å få liv i
425 <a href=
"http://www.personvern.no/">foreningen Personvern i Norge
</a>. Norge
426 trenger en organisasjon som jobber med å sette personvern på agendaen
427 og som kan være en motvekt til de mange som gjerne raderer bort
428 personvernet av behagelighetshensyn eller ut fra villfarelsen om at en
429 får økt sikkerhet av å redusere personvernet. Foreløbig har det ikke
430 lykkes å få på plass kritisk masse av interesserte på epostlisten, og
431 nå tror jeg det er på tide å endre tilnærming. I stedet for å forsøke
432 å rekruttere folk til epostlisten og håpe at når nok folk er samlet
433 vil noen ta initiativ og sørge for at det begynner å skje ting, så
434 tror jeg det er en ide å ta utgangspunkt i de som er der i dag og
435 sette sammen et interrimstyre. Forslaget er sendt til epostlisten, så
436 nå får vi se om noen er enig.
</p>
442 Tags:
<a href=
"https://people.skolelinux.org/pere/blog/tags/norsk">norsk
</a>,
<a href=
"https://people.skolelinux.org/pere/blog/tags/personvern">personvern
</a>.
447 <div class=
"padding"></div>
451 <a href=
"https://people.skolelinux.org/pere/blog/Intellektuelt_privilegium___et_bedre_IP_begrep.html">Intellektuelt privilegium - et bedre IP-begrep
</a>
457 <p>Ofte brukes intellektuell eiendom som samlebegrep for opphavsrett,
458 patenter, varemerker og forretningshemmeligheter. Problemet med dette
459 begrepet er at det er svært misvisende. For det første er ingen av de
460 begrensede monopolene det her er snakk om som kan kalles eiendom, og
461 for det andre er egenskapene til de ulike monopolene så forskjellige
462 at det er mer tilslørende enn opplysende å gruppere dem sammen i et
463 sekkebegrep. Blant annet Richard Stallman har
464 <a href=
"http://www.gnu.org/philosophy/not-ipr.html">skrevet litt om dette
</a>.
</p>
466 <p>I dag kom jeg over
467 <a href=
"http://blogs.sun.com/webmink/entry/intellectual_privilege">en
468 bloggpost fra Simon Phipps
</a> som foreslår å bruke intellektuelt
469 privilegium som begrep i stedet, da det gjør det klarere at det ikke
470 er snakk om eiendom, men et tidsbegrenset monopol. Simon Phipps
471 forteller videre at noen jobber med å skrive
472 <a href=
"http://www.intellectualprivilege.com/book.html">en bok med
473 tittel Intellectual Privilege
</a>, og at boken er anbefalt av Lawrence
474 Lessig. Jeg tror jeg skal begynne å bruke begrepet intellektuelt
475 privilegium når jeg snakker om opphavsrett, patenter, varemerker og
476 forretningshemmeligheter framover.
</p>
482 Tags:
<a href=
"https://people.skolelinux.org/pere/blog/tags/norsk">norsk
</a>,
<a href=
"https://people.skolelinux.org/pere/blog/tags/nuug">nuug
</a>.
487 <div class=
"padding"></div>
489 <p style=
"text-align: right;"><a href=
"02.rss"><img src=
"https://people.skolelinux.org/pere/blog/xml.gif" alt=
"RSS Feed" width=
"36" height=
"14" /></a></p>
500 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2024/01/">January (
1)
</a></li>
502 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2024/02/">February (
1)
</a></li>
504 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2024/03/">March (
2)
</a></li>
506 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2024/04/">April (
3)
</a></li>
508 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2024/05/">May (
1)
</a></li>
510 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2024/06/">June (
1)
</a></li>
512 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2024/07/">July (
1)
</a></li>
519 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2023/01/">January (
3)
</a></li>
521 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2023/02/">February (
1)
</a></li>
523 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2023/04/">April (
2)
</a></li>
525 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2023/05/">May (
3)
</a></li>
527 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2023/06/">June (
1)
</a></li>
529 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2023/08/">August (
1)
</a></li>
531 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2023/09/">September (
1)
</a></li>
533 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2023/10/">October (
1)
</a></li>
535 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2023/11/">November (
4)
</a></li>
537 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2023/12/">December (
1)
</a></li>
544 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2022/02/">February (
1)
</a></li>
546 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2022/03/">March (
3)
</a></li>
548 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2022/04/">April (
2)
</a></li>
550 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2022/06/">June (
2)
</a></li>
552 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2022/07/">July (
1)
</a></li>
554 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2022/09/">September (
1)
</a></li>
556 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2022/10/">October (
1)
</a></li>
558 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2022/12/">December (
1)
</a></li>
565 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2021/01/">January (
2)
</a></li>
567 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2021/02/">February (
1)
</a></li>
569 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2021/05/">May (
1)
</a></li>
571 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2021/06/">June (
1)
</a></li>
573 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2021/07/">July (
3)
</a></li>
575 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2021/08/">August (
1)
</a></li>
577 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2021/09/">September (
1)
</a></li>
579 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2021/10/">October (
1)
</a></li>
581 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2021/12/">December (
1)
</a></li>
588 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2020/02/">February (
2)
</a></li>
590 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2020/03/">March (
2)
</a></li>
592 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2020/04/">April (
2)
</a></li>
594 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2020/05/">May (
3)
</a></li>
596 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2020/06/">June (
2)
</a></li>
598 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2020/07/">July (
1)
</a></li>
600 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2020/09/">September (
1)
</a></li>
602 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2020/10/">October (
1)
</a></li>
604 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2020/11/">November (
1)
</a></li>
611 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/01/">January (
4)
</a></li>
613 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/02/">February (
3)
</a></li>
615 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/03/">March (
3)
</a></li>
617 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/05/">May (
2)
</a></li>
619 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/06/">June (
5)
</a></li>
621 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/07/">July (
2)
</a></li>
623 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/08/">August (
1)
</a></li>
625 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/09/">September (
1)
</a></li>
627 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/11/">November (
1)
</a></li>
629 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2019/12/">December (
4)
</a></li>
636 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/01/">January (
1)
</a></li>
638 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/02/">February (
5)
</a></li>
640 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/03/">March (
5)
</a></li>
642 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/04/">April (
3)
</a></li>
644 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/06/">June (
2)
</a></li>
646 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/07/">July (
5)
</a></li>
648 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/08/">August (
3)
</a></li>
650 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/09/">September (
3)
</a></li>
652 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/10/">October (
5)
</a></li>
654 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/11/">November (
2)
</a></li>
656 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2018/12/">December (
4)
</a></li>
663 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/01/">January (
4)
</a></li>
665 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/02/">February (
3)
</a></li>
667 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/03/">March (
5)
</a></li>
669 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/04/">April (
2)
</a></li>
671 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/06/">June (
5)
</a></li>
673 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/07/">July (
1)
</a></li>
675 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/08/">August (
1)
</a></li>
677 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/09/">September (
3)
</a></li>
679 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/10/">October (
5)
</a></li>
681 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/11/">November (
3)
</a></li>
683 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2017/12/">December (
4)
</a></li>
690 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/01/">January (
3)
</a></li>
692 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/02/">February (
2)
</a></li>
694 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/03/">March (
3)
</a></li>
696 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/04/">April (
8)
</a></li>
698 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/05/">May (
8)
</a></li>
700 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/06/">June (
2)
</a></li>
702 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/07/">July (
2)
</a></li>
704 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/08/">August (
5)
</a></li>
706 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/09/">September (
2)
</a></li>
708 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/10/">October (
3)
</a></li>
710 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/11/">November (
8)
</a></li>
712 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2016/12/">December (
5)
</a></li>
719 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/01/">January (
7)
</a></li>
721 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/02/">February (
6)
</a></li>
723 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/03/">March (
1)
</a></li>
725 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/04/">April (
4)
</a></li>
727 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/05/">May (
3)
</a></li>
729 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/06/">June (
4)
</a></li>
731 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/07/">July (
6)
</a></li>
733 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/08/">August (
2)
</a></li>
735 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/09/">September (
2)
</a></li>
737 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/10/">October (
9)
</a></li>
739 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/11/">November (
6)
</a></li>
741 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2015/12/">December (
3)
</a></li>
748 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/01/">January (
2)
</a></li>
750 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/02/">February (
3)
</a></li>
752 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/03/">March (
8)
</a></li>
754 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/04/">April (
7)
</a></li>
756 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/05/">May (
1)
</a></li>
758 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/06/">June (
2)
</a></li>
760 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/07/">July (
2)
</a></li>
762 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/08/">August (
2)
</a></li>
764 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/09/">September (
5)
</a></li>
766 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/10/">October (
6)
</a></li>
768 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/11/">November (
3)
</a></li>
770 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2014/12/">December (
5)
</a></li>
777 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/01/">January (
11)
</a></li>
779 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/02/">February (
9)
</a></li>
781 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/03/">March (
9)
</a></li>
783 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/04/">April (
6)
</a></li>
785 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/05/">May (
9)
</a></li>
787 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/06/">June (
10)
</a></li>
789 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/07/">July (
7)
</a></li>
791 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/08/">August (
3)
</a></li>
793 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/09/">September (
5)
</a></li>
795 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/10/">October (
7)
</a></li>
797 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/11/">November (
9)
</a></li>
799 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2013/12/">December (
3)
</a></li>
806 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/01/">January (
7)
</a></li>
808 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/02/">February (
10)
</a></li>
810 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/03/">March (
17)
</a></li>
812 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/04/">April (
12)
</a></li>
814 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/05/">May (
12)
</a></li>
816 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/06/">June (
20)
</a></li>
818 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/07/">July (
17)
</a></li>
820 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/08/">August (
6)
</a></li>
822 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/09/">September (
9)
</a></li>
824 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/10/">October (
17)
</a></li>
826 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/11/">November (
10)
</a></li>
828 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2012/12/">December (
7)
</a></li>
835 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/01/">January (
16)
</a></li>
837 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/02/">February (
6)
</a></li>
839 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/03/">March (
6)
</a></li>
841 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/04/">April (
7)
</a></li>
843 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/05/">May (
3)
</a></li>
845 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/06/">June (
2)
</a></li>
847 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/07/">July (
7)
</a></li>
849 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/08/">August (
6)
</a></li>
851 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/09/">September (
4)
</a></li>
853 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/10/">October (
2)
</a></li>
855 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/11/">November (
3)
</a></li>
857 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2011/12/">December (
1)
</a></li>
864 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/01/">January (
2)
</a></li>
866 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/02/">February (
1)
</a></li>
868 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/03/">March (
3)
</a></li>
870 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/04/">April (
3)
</a></li>
872 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/05/">May (
9)
</a></li>
874 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/06/">June (
14)
</a></li>
876 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/07/">July (
12)
</a></li>
878 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/08/">August (
13)
</a></li>
880 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/09/">September (
7)
</a></li>
882 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/10/">October (
9)
</a></li>
884 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/11/">November (
13)
</a></li>
886 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2010/12/">December (
12)
</a></li>
893 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/01/">January (
8)
</a></li>
895 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/02/">February (
8)
</a></li>
897 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/03/">March (
12)
</a></li>
899 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/04/">April (
10)
</a></li>
901 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/05/">May (
9)
</a></li>
903 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/06/">June (
3)
</a></li>
905 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/07/">July (
4)
</a></li>
907 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/08/">August (
3)
</a></li>
909 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/09/">September (
1)
</a></li>
911 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/10/">October (
2)
</a></li>
913 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/11/">November (
3)
</a></li>
915 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2009/12/">December (
3)
</a></li>
922 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2008/11/">November (
5)
</a></li>
924 <li><a href=
"https://people.skolelinux.org/pere/blog/archive/2008/12/">December (
7)
</a></li>
935 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (
19)
</a></li>
937 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/amiga">amiga (
1)
</a></li>
939 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/aros">aros (
1)
</a></li>
941 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/bankid">bankid (
4)
</a></li>
943 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/betalkontant">betalkontant (
9)
</a></li>
945 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (
13)
</a></li>
947 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (
17)
</a></li>
949 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/bsa">bsa (
2)
</a></li>
951 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (
3)
</a></li>
953 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/debian">debian (
201)
</a></li>
955 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (
159)
</a></li>
957 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/debian-handbook">debian-handbook (
9)
</a></li>
959 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/digistan">digistan (
11)
</a></li>
961 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/dld">dld (
18)
</a></li>
963 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/docbook">docbook (
33)
</a></li>
965 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (
4)
</a></li>
967 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/english">english (
463)
</a></li>
969 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (
23)
</a></li>
971 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (
14)
</a></li>
973 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (
34)
</a></li>
975 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (
9)
</a></li>
977 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (
20)
</a></li>
979 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/h264">h264 (
20)
</a></li>
981 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/intervju">intervju (
43)
</a></li>
983 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (
18)
</a></li>
985 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/kart">kart (
23)
</a></li>
987 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/kodi">kodi (
6)
</a></li>
989 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/ldap">ldap (
9)
</a></li>
991 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/lego">lego (
5)
</a></li>
993 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/lenker">lenker (
8)
</a></li>
995 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/linuxcnc">linuxcnc (
7)
</a></li>
997 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (
2)
</a></li>
999 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (
1)
</a></li>
1001 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/madewithcc">madewithcc (
3)
</a></li>
1003 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (
8)
</a></li>
1005 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (
46)
</a></li>
1007 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (
15)
</a></li>
1009 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/noark5">noark5 (
25)
</a></li>
1011 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/norsk">norsk (
325)
</a></li>
1013 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/nuug">nuug (
199)
</a></li>
1015 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (
41)
</a></li>
1017 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/open311">open311 (
2)
</a></li>
1019 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/opensnitch">opensnitch (
4)
</a></li>
1021 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (
76)
</a></li>
1023 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/personvern">personvern (
114)
</a></li>
1025 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/raid">raid (
4)
</a></li>
1027 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/reactos">reactos (
1)
</a></li>
1029 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/reprap">reprap (
11)
</a></li>
1031 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/rfid">rfid (
3)
</a></li>
1033 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/robot">robot (
17)
</a></li>
1035 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/rss">rss (
1)
</a></li>
1037 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/ruter">ruter (
7)
</a></li>
1039 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (
2)
</a></li>
1041 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (
60)
</a></li>
1043 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (
4)
</a></li>
1045 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (
5)
</a></li>
1047 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/standard">standard (
76)
</a></li>
1049 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (
7)
</a></li>
1051 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (
14)
</a></li>
1053 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (
65)
</a></li>
1055 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (
5)
</a></li>
1057 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/usenix">usenix (
2)
</a></li>
1059 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/valg">valg (
9)
</a></li>
1061 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/verkidetfri">verkidetfri (
22)
</a></li>
1063 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/video">video (
80)
</a></li>
1065 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (
4)
</a></li>
1067 <li><a href=
"https://people.skolelinux.org/pere/blog/tags/web">web (
42)
</a></li>
1073 <p style=
"text-align: right">
1074 Created by
<a href=
"http://steve.org.uk/Software/chronicle">Chronicle v4.6
</a>