]> pere.pagekite.me Git - homepage.git/blob - blog/index.html
Nytt innlegg.
[homepage.git] / blog / index.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html>
4 <head>
5 <title>Petter Reinholdtsen</title>
6 <link rel="stylesheet" type="text/css" media="screen" href="style.css">
7 <link rel="alternate" title="RSS Feed" href="index.rss" type="application/rss+xml">
8
9 </head>
10 <body>
11
12 <div class="title">
13 <h1>
14 <a href="">Petter Reinholdtsen</a>
15
16 </h1>
17
18 </div>
19
20
21
22 <div class="entry">
23 <div class="title"><a href="Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html">Checking server hardware support status for Dell, HP and IBM servers</a></div>
24 <div class="date">2009-02-28 23:50</div>
25 <div class="body">
26 <p>At work, we have a few hundred Linux servers, and with that amount
27 of hardware it is important to keep track of when the hardware support
28 contract expire for each server. We have a machine (and service)
29 register, which until recently did not contain much useful besides the
30 machine room location and contact information for the system owner for
31 each machine. To make it easier for us to track support contract
32 status, I've recently spent time on extending the machine register to
33 include information about when the support contract expire, and to tag
34 machines with expired contracts to make it easy to get a list of such
35 machines. I extended a perl script already being used to import
36 information about machines into the register, to also do some screen
37 scraping off the sites of Dell, HP and IBM (our majority of machines
38 are from these vendors), and automatically check the support status
39 for the relevant machines. This make the support status information
40 easily available and I hope it will make it easier for the computer
41 owner to know when to get new hardware or renew the support contract.
42 The result of this work documented that 27% of the machines in the
43 registry is without a support contract, and made it very easy to find
44 them. 27% might seem like a lot, but I see it more as the case of us
45 using machines a bit longer than the 3 years a normal support contract
46 last, to have test machines and a platform for less important
47 services. After all, the machines without a contract are working fine
48 at the moment and the lack of contract is only a problem if any of
49 them break down. When that happen, we can either fix it using spare
50 parts from other machines or move the service to another old
51 machine.</p>
52
53 <p>I believe the code for screen scraping the Dell site was originally
54 written by Trond Hasle Amundsen, and later adjusted by me and Morten
55 Werner Forsbring. The HP scraping was written by me after reading a
56 nice article in ;login: about how to use WWW::Mechanize, and the IBM
57 scraping was written by me based on the Dell code. I know the HTML
58 parsing could be done using nice libraries, but did not want to
59 introduce more dependencies. This is the current incarnation:</p>
60
61 <pre>
62 use LWP::Simple;
63 use POSIX;
64 use WWW::Mechanize;
65 use Date::Parse;
66 [...]
67 sub get_support_info {
68 my ($machine, $model, $serial, $productnumber) = @_;
69 my $str;
70
71 if ( $model =~ m/^Dell / ) {
72 # fetch website from Dell support
73 my $url = "http://support.euro.dell.com/support/topics/topic.aspx/emea/shared/support/my_systems_info/no/details?c=no&amp;cs=nodhs1&amp;l=no&amp;s=dhs&amp;ServiceTag=$serial";
74 my $webpage = get($url);
75 return undef unless ($webpage);
76
77 my $daysleft = -1;
78 my @lines = split(/\n/, $webpage);
79 foreach my $line (@lines) {
80 next unless ($line =~ m/Beskrivelse/);
81 $line =~ s/&lt;[^>]+?>/;/gm;
82 $line =~ m%;(\d{2})/(\d{2})/(\d{4});+(\d{2})/(\d{2})/(\d{4});%g;
83 my $start = "$3-$1-$2";
84 my $end = "$6-$4-$5";
85 $str = "$start -> $end";
86 my $today = POSIX::strftime("%Y-%m-%d", localtime(time));
87 tag_machine_unsupported($machine)
88 if ($end lt $today);
89 }
90 } elsif ( $model =~ m/^HP / ) {
91 my $mech = WWW::Mechanize->new();
92 my $url =
93 'http://www1.itrc.hp.com/service/ewarranty/warrantyInput.do';
94 $mech->get($url);
95 my $fields = {
96 'BODServiceID' => 'NA',
97 'RegisteredPurchaseDate' => '',
98 'country' => 'NO',
99 'productNumber' => $productnumber,
100 'serialNumber1' => $serial,
101 };
102 $mech->submit_form( form_number => 2,
103 fields => $fields );
104 # Next step is screen scraping
105 my $content = $mech->content();
106
107 $content =~ s/&lt;[^>]+?>/;/gm;
108 $content =~ s/\s+/ /gm;
109 $content =~ s/;\s*;/;;/gm;
110 $content =~ s/;[\s;]+/;/gm;
111
112 my $today = POSIX::strftime("%Y-%m-%d", localtime(time));
113
114 while ($content =~ m/;Warranty Type;/) {
115 my ($type, $status, $startstr, $stopstr) = $content =~
116 m/;Warranty Type;([^;]+);.+?;Status;(\w+);Start Date;([^;]+);End Date;([^;]+);/;
117 $content =~ s/^.+?;Warranty Type;//;
118 my $start = POSIX::strftime("%Y-%m-%d",
119 localtime(str2time($startstr)));
120 my $end = POSIX::strftime("%Y-%m-%d",
121 localtime(str2time($stopstr)));
122
123 $str .= "$type ($status) $start -> $end ";
124
125 tag_machine_unsupported($machine)
126 if ($end lt $today);
127 }
128 } elsif ( $model =~ m/^IBM / ) {
129 my ($producttype) = $model =~ m/.*-\[(.{4}).+\]-/;
130 if ($producttype &amp;&amp; $serial) {
131 my $content =
132 get("http://www-947.ibm.com/systems/support/supportsite.wss/warranty?action=warranty&amp;brandind=5000008&amp;Submit=Submit&amp;type=$producttype&amp;serial=$serial");
133 if ($content) {
134 $content =~ s/&lt;[^>]+?>/;/gm;
135 $content =~ s/\s+/ /gm;
136 $content =~ s/;\s*;/;;/gm;
137 $content =~ s/;[\s;]+/;/gm;
138
139 $content =~ s/^.+?;Warranty status;//;
140 my ($status, $end) = $content =~ m/;Warranty status;([^;]+)\s*;Expiration date;(\S+) ;/;
141
142 $str .= "($status) -> $end ";
143
144 my $today = POSIX::strftime("%Y-%m-%d", localtime(time));
145 tag_machine_unsupported($machine)
146 if ($end lt $today);
147 }
148 }
149 }
150 return $str;
151 }
152 </pre>
153
154 <p>Here are some examples on how to use the function, using fake
155 serial numbers. The information passed in as arguments are fetched
156 from dmidecode.</p>
157
158 <pre>
159 print get_support_info("hp.host", "HP ProLiant BL460c G1", "1234567890"
160 "447707-B21");
161 print get_support_info("dell.host", "Dell Inc. PowerEdge 2950", "1234567");
162 print get_support_info("ibm.host", "IBM eserver xSeries 345 -[867061X]-",
163 "1234567");
164 </pre>
165
166 <p>I would recommend this approach for tracking support contracts for
167 everyone with more than a new computers to administer. :)</p>
168 </div>
169 <div class="tags">
170
171
172
173 Tags: <a href="tags/english">english</a>, <a href="tags/nuug">nuug</a>.
174
175 </div>
176 </div>
177 <div class="padding"></div>
178
179 <div class="entry">
180 <div class="title"><a href="Using_bar_codes_at_a_computing_center.html">Using bar codes at a computing center</a></div>
181 <div class="date">2009-02-20 08:50</div>
182 <div class="body">
183 <p>At work with the University of Oslo, we have several hundred computers
184 in our computing center. This give us a challenge in tracking the
185 location and cabling of the computers, when they are added, moved and
186 removed. Some times the location register is not updated when a
187 computer is inserted or moved and we then have to search the room for
188 the "missing" computer.</p>
189
190 <p>In the last issue of Linux Journal, I came across a project
191 <a href="http://www.libdmtx.org/">libdmtx</a> to write and read bar
192 code blocks as defined in the
193 <a href="http://en.wikipedia.org/wiki/Data_Matrix">The Data Matrix
194 Standard</a>. This is bar codes that can be read with a normal
195 digital camera, for example that on a cell phone, and several such bar
196 codes can be read by libdmtx from one picture. The bar code standard
197 allow up to 2 KiB to be written in the tag. There is another project
198 with <a href="http://www.terryburton.co.uk/barcodewriter/">a bar code
199 writer written in postscript</a> capable of creating such bar codes,
200 but this was the first time I found a tool to read these bar
201 codes.</p>
202
203 <p>It occurred to me that this could be used to tag and track the
204 machines in our computing center. If both racks and computers are
205 tagged this way, we can use a picture of the rack and all its
206 computers to detect the rack location of any computer in that rack.
207 If we do this regularly for the entire room, we will find all
208 locations, and can detect movements and removals.</p>
209
210 <p>I decided to test if this would work in practice, and picked a
211 random rack and tagged all the machines with their names. Next, I
212 took pictures with my digital camera, and gave the dmtxread program
213 these JPEG pictures to see how many tags it could read. This worked
214 fairly well. If the pictures was well focused and not taken from the
215 side, all tags in the image could be read. Because of limited space
216 between the racks, I was unable to get a good picture of the entire
217 rack, but could without problem read all tags from a picture covering
218 about half the rack. I had to limit the search time used by dmtxread
219 to 60000 ms to make sure it terminated in a reasonable time frame.</p>
220
221 <p>My conclusion is that this could work, and we should probably look
222 at adjusting our computer tagging procedures to use bar codes for
223 easier automatic tracking of computers.</p>
224 </div>
225 <div class="tags">
226
227
228
229 Tags: <a href="tags/english">english</a>, <a href="tags/nuug">nuug</a>.
230
231 </div>
232 </div>
233 <div class="padding"></div>
234
235 <div class="entry">
236 <div class="title"><a href="Kart_over_overv__kningskamera_i_Norge.html">Kart over overvåkningskamera i Norge</a></div>
237 <div class="date">2009-02-15 22:30</div>
238 <div class="body">
239 <p>I regi av
240 <a href="http://www.personvern.no/">personvernforeningen</a> har jeg
241 startet på
242 <a href="http://personvern.no/wiki/index.php/Kameraovervåkning">et
243 kart over overvåkningskamera i Norge</a>. Bakgrunnen er at det etter
244 min mening bærer galt avsted med den massive overvåkningen som
245 finner sted i Norge i dag, og at flere og flere overvåkningskamera
246 gjør det vanskeligere og vanskeligere å gå igjennom livet uten at
247 små og store brødre trenger inn i ens private sfære. Datatilsynet
248 har et register over kameraovervåkning, men det viser seg å være
249 ubrukelig både til å finne ut hvor det er kamera plassert, og til å
250 sjekke om et kamera en kommer over er registrert. Dette nye kartet
251 fikser en av disse manglene, men det vil fortsatt være umulig å vite
252 om et kamera er registrert etter lovens krav eller ikke. Pr. nå er
253 22 kamera i Oslo registrert, og det trengs flere til å registrere
254 alle. Informasjonen registreres direkte inn i <a
255 href="http://www.openstreetmap.org/">OpenStreetmap</a>, sa hentes det
256 automatisk over i spesialkartet.</p>
257 </div>
258 <div class="tags">
259
260
261
262 Tags: <a href="tags/norsk">norsk</a>, <a href="tags/personvern">personvern</a>.
263
264 </div>
265 </div>
266 <div class="padding"></div>
267
268 <div class="entry">
269 <div class="title"><a href="Endelig_er_Debian_Lenny_gitt_ut.html">Endelig er Debian Lenny gitt ut</a></div>
270 <div class="date">2009-02-15 11:50</div>
271 <div class="body">
272 <p>Endelig er <a href="http://www.debian.org/">Debian</a>
273 <a href="http://www.debian.org/News/2009/20090214">Lenny</a> gitt ut.
274 Et langt steg videre for Debian-prosjektet, og en rekke nye
275 programpakker blir nå tilgjengelig for de av oss som bruker den
276 stabile utgaven av Debian. Neste steg er nå å få
277 <a href="http://www.skolelinux.org/">Skolelinux</a> /
278 <a href="http://wiki.debian.org/DebianEdu/">Debian Edu</a> ferdig
279 oppdatert for den nye utgaven, slik at en oppdatert versjon kan
280 slippes løs på skolene. Takk til alle debian-utviklerne som har
281 gjort dette mulig. Endelig er f.eks. fungerende avhengighetsstyrt
282 bootsekvens tilgjengelig i stabil utgave, vha pakken
283 <tt>insserv</tt>.</p>
284 </div>
285 <div class="tags">
286
287
288
289 Tags: <a href="tags/debian">debian</a>, <a href="tags/debian edu">debian edu</a>, <a href="tags/norsk">norsk</a>.
290
291 </div>
292 </div>
293 <div class="padding"></div>
294
295 <div class="entry">
296 <div class="title"><a href="F__rste_vellykkede_videostr__m_fra_NUUG.html">Første vellykkede videostrøm fra NUUG</a></div>
297 <div class="date">2009-02-11 06:30</div>
298 <div class="body">
299 <p>Jeg ble glad for å se under
300 <a href="http://www.nuug.no/aktiviteter/20090210-compiz/">gårdagens
301 medlemsmøte</a> i NUUG Oslo at utsending av live-video fra møtet
302 fungerte for første gang. Forrige gang ble det ved en teknisk tabbe
303 sendt video uten lyd. Vi kan takke Ole Kristian Lien og resten av
304 videogruppen i NUUG for at nå NUUG-medlemmer over det ganske land
305 kunne se foredraget samtidig med oss i Oslo. Vi opplevde til og med
306 under møtet å motta spørsmål via IRC som ble besvart der og da.
307 Opptaket publiseres så snart det er kopiert over til NUUGs
308 webserver og komprimert.</p>
309 </div>
310 <div class="tags">
311
312
313
314 Tags: <a href="tags/norsk">norsk</a>, <a href="tags/nuug">nuug</a>, <a href="tags/video">video</a>.
315
316 </div>
317 </div>
318 <div class="padding"></div>
319
320 <div class="entry">
321 <div class="title"><a href="Min_reprap_tar_sakte_form.html">Min reprap tar sakte form</a></div>
322 <div class="date">2009-02-03 13:30</div>
323 <div class="body">
324 <p>Min reprap begynner å ta form. Den er nå kommet så langt at den er
325 blitt en kubisk ramme. Z-aksen er montert men ikke kalibrert, og det
326 hele er klart for litt enkel testing. Har møtt på to problemer som
327 blokkerer videre montering, men har oppnått kontakt med Audun Vaaler
328 ved Høgskolen i Østfold som forteller at de er nesten ferdig med et
329 tilsvarende byggesett som det jeg tar utgangspunkt i, og håper de kan
330 forklare hvordan de kom rundt problemene. De to problemene er
331 relatert til Z-aksen og Y-aksen. </p>
332
333 <p>For Z-aksen, er det et stjernehjul som festes på motoraksen ved
334 tannjulet som driver z-aksebåndet og som skal holde båndet på plass.
335 Problemet med det nederste stjernejulet er at det er helt løst, og
336 blir liggende på motoren 5 mm nedenfor tannjulet, i stedet for å ligge
337 inntil tannjulet slik det skal. Mulig løsningen er å borre i
338 stjernehjulet, eller lime det fast.</p>
339
340 <p>For Y-aksen, er det en plastdel som ser ut til å mangle som skulle
341 dekket to skruver som kommer i veien for kraftoverføringsmekanismen
342 fra motoren til selve aksen, slik at mekanismen kan snurre fritt.</p>
343
344 <p>Når det gjelder elektronikken til min reprap, så er min gode venn
345 Anders Rosnes igang med å lodde sammen delene og han forteller at
346 koblingsbordet for Arduino er klart, og en temperatursensor og en
347 optoswitch er også klar. Gleder meg til å teste dem. Må bare finne
348 ut hvordan jeg laster opp firmware i Arduino-en. :)</p>
349
350 <p>Når det gjelder NUUGs reprap-prosjekt, så er det framgang og Ole
351 Kristian, Tollef og Ketil besøke IFI for å få fortgang i produksjon av
352 plastdeler, og Ole Kristian forteller at han har funnet en kilde til
353 de fleste metalldelene. Gleder meg til å se resultaten av det
354 arbeidet.</p>
355 </div>
356 <div class="tags">
357
358
359
360 Tags: <a href="tags/3d-printer">3d-printer</a>, <a href="tags/norsk">norsk</a>, <a href="tags/nuug">nuug</a>, <a href="tags/reprap">reprap</a>.
361
362 </div>
363 </div>
364 <div class="padding"></div>
365
366 <div class="entry">
367 <div class="title"><a href="Norge_trenger_en_personvernforening.html">Norge trenger en personvernforening</a></div>
368 <div class="date">2009-02-01 18:35</div>
369 <div class="body">
370 <p>De siste årene har jeg forsøkt å få liv i
371 <a href="http://www.personvern.no/">foreningen Personvern i Norge</a>. Norge
372 trenger en organisasjon som jobber med å sette personvern på agendaen
373 og som kan være en motvekt til de mange som gjerne raderer bort
374 personvernet av behagelighetshensyn eller ut fra villfarelsen om at en
375 får økt sikkerhet av å redusere personvernet. Foreløbig har det ikke
376 lykkes å få på plass kritisk masse av interesserte på epostlisten, og
377 nå tror jeg det er på tide å endre tilnærming. I stedet for å forsøke
378 å rekruttere folk til epostlisten og håpe at når nok folk er samlet
379 vil noen ta initiativ og sørge for at det begynner å skje ting, så
380 tror jeg det er en ide å ta utgangspunkt i de som er der i dag og
381 sette sammen et interrimstyre. Forslaget er sendt til epostlisten, så
382 nå får vi se om noen er enig.</p>
383 </div>
384 <div class="tags">
385
386
387
388 Tags: <a href="tags/norsk">norsk</a>, <a href="tags/personvern">personvern</a>.
389
390 </div>
391 </div>
392 <div class="padding"></div>
393
394 <div class="entry">
395 <div class="title"><a href="Intellektuelt_privilegium___et_bedre_IP_begrep.html">Intellektuelt privilegium - et bedre IP-begrep</a></div>
396 <div class="date">2009-02-01 15:06</div>
397 <div class="body">
398 <p>Ofte brukes intellektuell eiendom som samlebegrep for opphavsrett,
399 patenter, varemerker og forretningshemmeligheter. Problemet med dette
400 begrepet er at det er svært misvisende. For det første er ingen av de
401 begrensede monopolene det her er snakk om som kan kalles eiendom, og
402 for det andre er egenskapene til de ulike monopolene så forskjellige
403 at det er mer tilslørende enn opplysende å gruppere dem sammen i et
404 sekkebegrep. Blant annet Richard Stallman har
405 <a href="http://www.gnu.org/philosophy/not-ipr.html">skrevet litt om dette</a>.</p>
406
407 <p>I dag kom jeg over
408 <a href="http://blogs.sun.com/webmink/entry/intellectual_privilege">en
409 bloggpost fra Simon Phipps</a> som foreslår å bruke intellektuelt
410 privilegium som begrep i stedet, da det gjør det klarere at det ikke
411 er snakk om eiendom, men et tidsbegrenset monopol. Simon Phipps
412 forteller videre at noen jobber med å skrive
413 <a href="http://www.intellectualprivilege.com/book.html">en bok med
414 tittel Intellectual Privilege</a>, og at boken er anbefalt av Lawrence
415 Lessig. Jeg tror jeg skal begynne å bruke begrepet intellektuelt
416 privilegium når jeg snakker om opphavsrett, patenter, varemerker og
417 forretningshemmeligheter framover.</p>
418 </div>
419 <div class="tags">
420
421
422
423 Tags: <a href="tags/norsk">norsk</a>, <a href="tags/nuug">nuug</a>.
424
425 </div>
426 </div>
427 <div class="padding"></div>
428
429 <div class="entry">
430 <div class="title"><a href="Fri__og___pen_standard__slik_Digistan_ser_det.html">Fri og åpen standard, slik Digistan ser det</a></div>
431 <div class="date">2009-01-31 23:10</div>
432 <div class="body">
433 <p>Det er mange ulike definisjoner om hva en åpen standard er for noe,
434 og NUUG hadde <a href="http://www.nuug.no/dokumenter/standard-presse-def-200506.txt">en
435 pressemelding om dette sommeren 2005</a>. Der ble definisjonen til
436 <a href="http://www.aaben-standard.dk/">DKUUG</a>,
437 <a href="http://europa.eu.int/idabc/servlets/Doc?id=19529">EU-kommissionens
438 European Interoperability Framework ( side 9)</a> og
439 <a href="http://www.teknologiradet.no/files/7polert_copy.htm">teknologirådet</a> omtalt.
440
441 Siden den gang har regjeringens standardiseringsråd dukket opp, og de
442 ser ut til å har tatt utgangspunkt i EU-kommisjonens definisjon i
443 <a href="http://www.regjeringen.no/nb/dep/fad/kampanjer/standardiseringsradet/arbeidsmetodikk.html?id=476407">sin
444 arbeidsmetodikk</a>. Personlig synes jeg det er en god ide, da
445 kravene som stilles der gjør at alle markedsaktører får like vilkår,
446 noe som kommer kundene til gode ved hjelp av økt konkurranse.</p>
447
448 <p>I sommer kom det en ny definisjon på banen.
449 <a href="http://www.digistan.org/">Digistan</a> lanserte
450 <a href="http://www.digistan.org/open-standard:definition">en
451 definisjon på en fri og åpen standard</a>. Jeg liker måten de bryter
452 ut av diskusjonen om hva som kreves for å kalle noe en åpen standard
453 ved å legge på et ord og poengtere at en standard som er både åpen og
454 fri har noen spesielle krav. Her er den definisjonen etter rask
455 oversettelse fra engelsk til norsk av meg:</p>
456
457 <blockquote>
458 <p><strong>Definisjonen av en fri og åpen standard</strong></p>
459
460 <p>Den digitale standardorganisasjonen definierer fri og åpen standard
461 som følger:</p>
462 <ul>
463 <li>En fri og åpen standard er immun for leverandørinnlåsing i alle
464 stadier av dens livssyklus. Immuniteten fra leverandørinnlåsing gjør
465 det mulig å fritt bruke, forbedre, stole på og utvide en standard over
466 tid.</li>
467 <li>Standarden er adoptert og vil bli vedlikeholdt av en ikke-kommersiell
468 organisasjon, og dens pågående utvikling gjøres med en åpen
469 beslutningsprosedyre som er tilgjengelig for alle som er interessert i
470 å delta.</li>
471 <li>Standarden er publisert og spesifikasjonsdokumentet er fritt
472 tilgjengelig. Det må være tillatt for alle å kopiere, distribuere og
473 bruke den uten begresninger.</li>
474 <li>Patentene som muligens gjelder (deler av) standarden er gjort
475 ugjenkallelig tilgjengelig uten krav om betaling.</li>
476 <li>Det er ingen begresninger i gjenbruk av standarden.</li>
477 </ul>
478 <p>Det økonomiske resultatet av en fri og åpen standard, som kan
479 måles, er at det muliggjør perfekt konkurranse mellom leverandører av
480 produkter basert på standarden.</p>
481 </blockquote>
482
483 <p>(Tar gjerne imot forbedringer av oversettelsen.)</p>
484 </div>
485 <div class="tags">
486
487
488
489 Tags: <a href="tags/norsk">norsk</a>, <a href="tags/nuug">nuug</a>.
490
491 </div>
492 </div>
493 <div class="padding"></div>
494
495 <div class="entry">
496 <div class="title"><a href="Transendentalt_tullball_og_en_funksjonell_tiln__rming.html">Transendentalt tullball og en funksjonell tilnærming</a></div>
497 <div class="date">2009-01-24 15:00</div>
498 <div class="body">
499 <p>Kom over
500 <a href="http://debian-administration.org/users/dkg/weblog/39">en
501 bloggpost fra Daniel Kahn Gillmor</a> som forteller at
502 Eben Moglen, juridisk rådgiver for FSF og stifteren av Software Fredom
503 Law Center, i sitt kurs har referert Felix Cohen sin artikkel
504 <a href="http://moglen.law.columbia.edu/LCS/cohen-transcendental.pdf">Trancendental
505 Nonsense and the Functional Approach</a> fra 1935. Det må jeg si var
506 svært interessant for å forstå hvordan og hvorfor immaterialretten har
507 utvidet sitt virkeområde og hvor lenge det har pågått.</p>
508
509 <p>Innlegget minner meg på
510 <a href="https://penta.debconf.org/~joerg/events/161.en.html">en
511 presentasjon jeg overvar</a> på Debconf 7 om hvordan innføring og
512 utvidelse av opphavsretten ble debattert på 1700-tallet. Anbefaler å
513 se den presentasjonen som er tilgjengelig på video i
514 <a href="http://meetings-archive.debian.net/pub/debian-meetings/2007/debconf7/low/072_Free_as_in_Market_the_misunderstood_entanglement_of_ethics_software_and_profits.ogg">lav</a>
515 og
516 <a href="http://meetings-archive.debian.net/pub/debian-meetings/2007/debconf7/high/072_Free_as_in_Market_the_misunderstood_entanglement_of_ethics_software_and_profits.ogg">høy</a>
517 oppløsning.</p>
518 </div>
519 <div class="tags">
520
521
522
523 Tags: <a href="tags/norsk">norsk</a>, <a href="tags/nuug">nuug</a>.
524
525 </div>
526 </div>
527 <div class="padding"></div>
528
529 <p style="text-align: right;"><a href="index.rss"><img src="xml.gif" alt="RSS feed" width="36" height="14"></a></p>
530
531 <div id="sidebar">
532
533
534
535
536
537 <h2>Archive</h2>
538 <ul>
539
540 <li>2009
541 <ul>
542
543 <li><a href="archive/2009/01/">January (8)</a></li>
544
545 <li><a href="archive/2009/02/">February (8)</a></li>
546
547 </ul></li>
548
549 <li>2008
550 <ul>
551
552 <li><a href="archive/2008/11/">November (5)</a></li>
553
554 <li><a href="archive/2008/12/">December (7)</a></li>
555
556 </ul></li>
557
558 </ul>
559
560
561
562 <h2>Tags</h2>
563 <ul>
564
565 <li><a href="tags/3d-printer">3d-printer (7)</a></li>
566
567 <li><a href="tags/amiga">amiga (1)</a></li>
568
569 <li><a href="tags/aros">aros (1)</a></li>
570
571 <li><a href="tags/debian">debian (3)</a></li>
572
573 <li><a href="tags/debian edu">debian edu (4)</a></li>
574
575 <li><a href="tags/english">english (6)</a></li>
576
577 <li><a href="tags/fiksgatami">fiksgatami (1)</a></li>
578
579 <li><a href="tags/ltsp">ltsp (1)</a></li>
580
581 <li><a href="tags/multimedia">multimedia (2)</a></li>
582
583 <li><a href="tags/norsk">norsk (22)</a></li>
584
585 <li><a href="tags/nuug">nuug (20)</a></li>
586
587 <li><a href="tags/personvern">personvern (3)</a></li>
588
589 <li><a href="tags/reprap">reprap (7)</a></li>
590
591 <li><a href="tags/rss">rss (1)</a></li>
592
593 <li><a href="tags/stavekontroll">stavekontroll (1)</a></li>
594
595 <li><a href="tags/video">video (3)</a></li>
596
597 <li><a href="tags/web">web (2)</a></li>
598
599 </ul>
600
601 </div>
602
603 <p style="text-align: right">
604 Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v3.4</a>
605 </p>
606 </body>
607 </html>