1 <?xml version=
"1.0" encoding=
"utf-8"?>
2 <rss version='
2.0' xmlns:lj='http://www.livejournal.org/rss/lj/
1.0/' xmlns:
atom=
"http://www.w3.org/2005/Atom">
4 <title>Petter Reinholdtsen
</title>
5 <description></description>
7 <atom:link href=
"index.rss" rel=
"self" type=
"application/rss+xml" />
10 <title>Teknisk program for Go Open
2009 er nesten ferdig
</title>
11 <link>Teknisk_program_for_Go_Open_2009_er_nesten_ferdig.html
</link>
12 <guid isPermaLink=
"true">Teknisk_program_for_Go_Open_2009_er_nesten_ferdig.html
</guid>
13 <pubDate>Thu,
5 Mar
2009 22:
30:
00 +
0100</pubDate>
15 <p
>Etter lang tids jobbing begynner endelig programmet til det
16 tekniske sporet på konferansen
<a href=
"http://www.goopen.no/
">Go Open
17 2009</a
> å bli ferdig. Det blir
9 punkter på programmet, og etter alt
18 å dømme blir det disse
9:
</p
>
22 <li
>"Open Telephony: A solution greater than the sum of its parts
" med
23 Jon
"maddog
" Hall
</li
>
24 <li
>OpenSolaris-relatert med Ian Murdock fra SUN
</li
>
25 <li
>"The inner workings of the OpenStreetmap project and the
26 technology used
" med Andy Allan
</li
>
27 <li
>Coreboot-relatert med Peter Stuge
</li
>
28 <li
>"Gratis værdata fra Meteorologisk institutt
" med Trond Michelsen
</li
>
29 <li
>RRDtool/Nagios-relatert med Tobias Oetiker
</li
>
30 <li
>"Developers guide to server-side productivity and fun using open
31 source platforms and frameworks
" med en gjeng folk fra
32 JavaBin-miljøet
</li
>
33 <li
>"G(et)it Nå!
" med Marcus Ramberg
</li
>
34 <li
>Om kontrolltelling av valgresultater med fri programvare med Mitch
35 Trachtenberg
</li
>
39 <p
>De siste bekreftelsene og overskrifter mangler og kommer
40 forhåpentlig på plass før mandag, men jeg håper dette blir et program
41 flere enn meg vil sette pris på. Jeg gleder meg i hvert fall
47 <title>Checking server hardware support status for Dell, HP and IBM servers
</title>
48 <link>Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html
</link>
49 <guid isPermaLink=
"true">Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html
</guid>
50 <pubDate>Sat,
28 Feb
2009 23:
50:
00 +
0100</pubDate>
52 <p
>At work, we have a few hundred Linux servers, and with that amount
53 of hardware it is important to keep track of when the hardware support
54 contract expire for each server. We have a machine (and service)
55 register, which until recently did not contain much useful besides the
56 machine room location and contact information for the system owner for
57 each machine. To make it easier for us to track support contract
58 status, I
've recently spent time on extending the machine register to
59 include information about when the support contract expire, and to tag
60 machines with expired contracts to make it easy to get a list of such
61 machines. I extended a perl script already being used to import
62 information about machines into the register, to also do some screen
63 scraping off the sites of Dell, HP and IBM (our majority of machines
64 are from these vendors), and automatically check the support status
65 for the relevant machines. This make the support status information
66 easily available and I hope it will make it easier for the computer
67 owner to know when to get new hardware or renew the support contract.
68 The result of this work documented that
27% of the machines in the
69 registry is without a support contract, and made it very easy to find
70 them.
27% might seem like a lot, but I see it more as the case of us
71 using machines a bit longer than the
3 years a normal support contract
72 last, to have test machines and a platform for less important
73 services. After all, the machines without a contract are working fine
74 at the moment and the lack of contract is only a problem if any of
75 them break down. When that happen, we can either fix it using spare
76 parts from other machines or move the service to another old
79 <p
>I believe the code for screen scraping the Dell site was originally
80 written by Trond Hasle Amundsen, and later adjusted by me and Morten
81 Werner Forsbring. The HP scraping was written by me after reading a
82 nice article in ;login: about how to use WWW::Mechanize, and the IBM
83 scraping was written by me based on the Dell code. I know the HTML
84 parsing could be done using nice libraries, but did not want to
85 introduce more dependencies. This is the current incarnation:
</p
>
93 sub get_support_info {
94 my ($machine, $model, $serial, $productnumber) = @_;
97 if ( $model =~ m/^Dell / ) {
98 # fetch website from Dell support
99 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
";
100 my $webpage = get($url);
101 return undef unless ($webpage);
104 my @lines = split(/\n/, $webpage);
105 foreach my $line (@lines) {
106 next unless ($line =~ m/Beskrivelse/);
107 $line =~ s/
&lt;[^
>]+?
>/;/gm;
108 $line =~ m%;(\d{
2})/(\d{
2})/(\d{
4});+(\d{
2})/(\d{
2})/(\d{
4});%g;
109 my $start =
"$
3-$
1-$
2";
110 my $end =
"$
6-$
4-$
5";
111 $str =
"$start -
> $end
";
112 my $today = POSIX::strftime(
"%Y-%m-%d
", localtime(time));
113 tag_machine_unsupported($machine)
116 } elsif ( $model =~ m/^HP / ) {
117 my $mech = WWW::Mechanize-
>new();
119 'http://www1.itrc.hp.com/service/ewarranty/warrantyInput.do
';
122 'BODServiceID
' =
> 'NA
',
123 'RegisteredPurchaseDate
' =
> '',
124 'country
' =
> 'NO
',
125 'productNumber
' =
> $productnumber,
126 'serialNumber1
' =
> $serial,
128 $mech-
>submit_form( form_number =
> 2,
129 fields =
> $fields );
130 # Next step is screen scraping
131 my $content = $mech-
>content();
133 $content =~ s/
&lt;[^
>]+?
>/;/gm;
134 $content =~ s/\s+/ /gm;
135 $content =~ s/;\s*;/;;/gm;
136 $content =~ s/;[\s;]+/;/gm;
138 my $today = POSIX::strftime(
"%Y-%m-%d
", localtime(time));
140 while ($content =~ m/;Warranty Type;/) {
141 my ($type, $status, $startstr, $stopstr) = $content =~
142 m/;Warranty Type;([^;]+);.+?;Status;(\w+);Start Date;([^;]+);End Date;([^;]+);/;
143 $content =~ s/^.+?;Warranty Type;//;
144 my $start = POSIX::strftime(
"%Y-%m-%d
",
145 localtime(str2time($startstr)));
146 my $end = POSIX::strftime(
"%Y-%m-%d
",
147 localtime(str2time($stopstr)));
149 $str .=
"$type ($status) $start -
> $end
";
151 tag_machine_unsupported($machine)
154 } elsif ( $model =~ m/^IBM / ) {
155 my ($producttype) = $model =~ m/.*-\[(.{
4}).+\]-/;
156 if ($producttype
&amp;
&amp; $serial) {
158 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
");
160 $content =~ s/
&lt;[^
>]+?
>/;/gm;
161 $content =~ s/\s+/ /gm;
162 $content =~ s/;\s*;/;;/gm;
163 $content =~ s/;[\s;]+/;/gm;
165 $content =~ s/^.+?;Warranty status;//;
166 my ($status, $end) = $content =~ m/;Warranty status;([^;]+)\s*;Expiration date;(\S+) ;/;
168 $str .=
"($status) -
> $end
";
170 my $today = POSIX::strftime(
"%Y-%m-%d
", localtime(time));
171 tag_machine_unsupported($machine)
180 <p
>Here are some examples on how to use the function, using fake
181 serial numbers. The information passed in as arguments are fetched
182 from dmidecode.
</p
>
185 print get_support_info(
"hp.host
",
"HP ProLiant BL460c G1
",
"1234567890"
186 "447707-B21
");
187 print get_support_info(
"dell.host
",
"Dell Inc. PowerEdge
2950",
"1234567");
188 print get_support_info(
"ibm.host
",
"IBM eserver xSeries
345 -[
867061X]-
",
189 "1234567");
192 <p
>I would recommend this approach for tracking support contracts for
193 everyone with more than a new computers to administer. :)
</p
>
198 <title>Using bar codes at a computing center
</title>
199 <link>Using_bar_codes_at_a_computing_center.html
</link>
200 <guid isPermaLink=
"true">Using_bar_codes_at_a_computing_center.html
</guid>
201 <pubDate>Fri,
20 Feb
2009 08:
50:
00 +
0100</pubDate>
203 <p
>At work with the University of Oslo, we have several hundred computers
204 in our computing center. This give us a challenge in tracking the
205 location and cabling of the computers, when they are added, moved and
206 removed. Some times the location register is not updated when a
207 computer is inserted or moved and we then have to search the room for
208 the
"missing
" computer.
</p
>
210 <p
>In the last issue of Linux Journal, I came across a project
211 <a href=
"http://www.libdmtx.org/
">libdmtx
</a
> to write and read bar
212 code blocks as defined in the
213 <a href=
"http://en.wikipedia.org/wiki/Data_Matrix
">The Data Matrix
214 Standard
</a
>. This is bar codes that can be read with a normal
215 digital camera, for example that on a cell phone, and several such bar
216 codes can be read by libdmtx from one picture. The bar code standard
217 allow up to
2 KiB to be written in the tag. There is another project
218 with
<a href=
"http://www.terryburton.co.uk/barcodewriter/
">a bar code
219 writer written in postscript
</a
> capable of creating such bar codes,
220 but this was the first time I found a tool to read these bar
223 <p
>It occurred to me that this could be used to tag and track the
224 machines in our computing center. If both racks and computers are
225 tagged this way, we can use a picture of the rack and all its
226 computers to detect the rack location of any computer in that rack.
227 If we do this regularly for the entire room, we will find all
228 locations, and can detect movements and removals.
</p
>
230 <p
>I decided to test if this would work in practice, and picked a
231 random rack and tagged all the machines with their names. Next, I
232 took pictures with my digital camera, and gave the dmtxread program
233 these JPEG pictures to see how many tags it could read. This worked
234 fairly well. If the pictures was well focused and not taken from the
235 side, all tags in the image could be read. Because of limited space
236 between the racks, I was unable to get a good picture of the entire
237 rack, but could without problem read all tags from a picture covering
238 about half the rack. I had to limit the search time used by dmtxread
239 to
60000 ms to make sure it terminated in a reasonable time frame.
</p
>
241 <p
>My conclusion is that this could work, and we should probably look
242 at adjusting our computer tagging procedures to use bar codes for
243 easier automatic tracking of computers.
</p
>
248 <title>Kart over overvåkningskamera i Norge
</title>
249 <link>Kart_over_overv__kningskamera_i_Norge.html
</link>
250 <guid isPermaLink=
"true">Kart_over_overv__kningskamera_i_Norge.html
</guid>
251 <pubDate>Sun,
15 Feb
2009 22:
30:
00 +
0100</pubDate>
254 <a href=
"http://www.personvern.no/
">personvernforeningen
</a
> har jeg
256 <a href=
"http://personvern.no/wiki/index.php/Kameraovervåkning
">et
257 kart over overvåkningskamera i Norge
</a
>. Bakgrunnen er at det etter
258 min mening bærer galt avsted med den massive overvåkningen som
259 finner sted i Norge i dag, og at flere og flere overvåkningskamera
260 gjør det vanskeligere og vanskeligere å gå igjennom livet uten at
261 små og store brødre trenger inn i ens private sfære. Datatilsynet
262 har et register over kameraovervåkning, men det viser seg å være
263 ubrukelig både til å finne ut hvor det er kamera plassert, og til å
264 sjekke om et kamera en kommer over er registrert. Dette nye kartet
265 fikser en av disse manglene, men det vil fortsatt være umulig å vite
266 om et kamera er registrert etter lovens krav eller ikke. Pr. nå er
267 22 kamera i Oslo registrert, og det trengs flere til å registrere
268 alle. Informasjonen registreres direkte inn i
<a
269 href=
"http://www.openstreetmap.org/
">OpenStreetmap
</a
>, sa hentes det
270 automatisk over i spesialkartet.
</p
>
275 <title>Endelig er Debian Lenny gitt ut
</title>
276 <link>Endelig_er_Debian_Lenny_gitt_ut.html
</link>
277 <guid isPermaLink=
"true">Endelig_er_Debian_Lenny_gitt_ut.html
</guid>
278 <pubDate>Sun,
15 Feb
2009 11:
50:
00 +
0100</pubDate>
280 <p
>Endelig er
<a href=
"http://www.debian.org/
">Debian
</a
>
281 <a href=
"http://www.debian.org/News/
2009/
20090214">Lenny
</a
> gitt ut.
282 Et langt steg videre for Debian-prosjektet, og en rekke nye
283 programpakker blir nå tilgjengelig for de av oss som bruker den
284 stabile utgaven av Debian. Neste steg er nå å få
285 <a href=
"http://www.skolelinux.org/
">Skolelinux
</a
> /
286 <a href=
"http://wiki.debian.org/DebianEdu/
">Debian Edu
</a
> ferdig
287 oppdatert for den nye utgaven, slik at en oppdatert versjon kan
288 slippes løs på skolene. Takk til alle debian-utviklerne som har
289 gjort dette mulig. Endelig er f.eks. fungerende avhengighetsstyrt
290 bootsekvens tilgjengelig i stabil utgave, vha pakken
291 <tt
>insserv
</tt
>.
</p
>
296 <title>Første vellykkede videostrøm fra NUUG
</title>
297 <link>F__rste_vellykkede_videostr__m_fra_NUUG.html
</link>
298 <guid isPermaLink=
"true">F__rste_vellykkede_videostr__m_fra_NUUG.html
</guid>
299 <pubDate>Wed,
11 Feb
2009 06:
30:
00 +
0100</pubDate>
301 <p
>Jeg ble glad for å se under
302 <a href=
"http://www.nuug.no/aktiviteter/
20090210-compiz/
">gårdagens
303 medlemsmøte
</a
> i NUUG Oslo at utsending av live-video fra møtet
304 fungerte for første gang. Forrige gang ble det ved en teknisk tabbe
305 sendt video uten lyd. Vi kan takke Ole Kristian Lien og resten av
306 videogruppen i NUUG for at nå NUUG-medlemmer over det ganske land
307 kunne se foredraget samtidig med oss i Oslo. Vi opplevde til og med
308 under møtet å motta spørsmål via IRC som ble besvart der og da.
309 Opptaket publiseres så snart det er kopiert over til NUUGs
310 webserver og komprimert.
</p
>
315 <title>Min reprap tar sakte form
</title>
316 <link>Min_reprap_tar_sakte_form.html
</link>
317 <guid isPermaLink=
"true">Min_reprap_tar_sakte_form.html
</guid>
318 <pubDate>Tue,
3 Feb
2009 13:
30:
00 +
0100</pubDate>
320 <p
>Min reprap begynner å ta form. Den er nå kommet så langt at den er
321 blitt en kubisk ramme. Z-aksen er montert men ikke kalibrert, og det
322 hele er klart for litt enkel testing. Har møtt på to problemer som
323 blokkerer videre montering, men har oppnått kontakt med Audun Vaaler
324 ved Høgskolen i Østfold som forteller at de er nesten ferdig med et
325 tilsvarende byggesett som det jeg tar utgangspunkt i, og håper de kan
326 forklare hvordan de kom rundt problemene. De to problemene er
327 relatert til Z-aksen og Y-aksen.
</p
>
329 <p
>For Z-aksen, er det et stjernehjul som festes på motoraksen ved
330 tannjulet som driver z-aksebåndet og som skal holde båndet på plass.
331 Problemet med det nederste stjernejulet er at det er helt løst, og
332 blir liggende på motoren
5 mm nedenfor tannjulet, i stedet for å ligge
333 inntil tannjulet slik det skal. Mulig løsningen er å borre i
334 stjernehjulet, eller lime det fast.
</p
>
336 <p
>For Y-aksen, er det en plastdel som ser ut til å mangle som skulle
337 dekket to skruver som kommer i veien for kraftoverføringsmekanismen
338 fra motoren til selve aksen, slik at mekanismen kan snurre fritt.
</p
>
340 <p
>Når det gjelder elektronikken til min reprap, så er min gode venn
341 Anders Rosnes igang med å lodde sammen delene og han forteller at
342 koblingsbordet for Arduino er klart, og en temperatursensor og en
343 optoswitch er også klar. Gleder meg til å teste dem. Må bare finne
344 ut hvordan jeg laster opp firmware i Arduino-en. :)
</p
>
346 <p
>Når det gjelder NUUGs reprap-prosjekt, så er det framgang og Ole
347 Kristian, Tollef og Ketil besøke IFI for å få fortgang i produksjon av
348 plastdeler, og Ole Kristian forteller at han har funnet en kilde til
349 de fleste metalldelene. Gleder meg til å se resultaten av det
355 <title>Norge trenger en personvernforening
</title>
356 <link>Norge_trenger_en_personvernforening.html
</link>
357 <guid isPermaLink=
"true">Norge_trenger_en_personvernforening.html
</guid>
358 <pubDate>Sun,
1 Feb
2009 18:
35:
00 +
0100</pubDate>
360 <p
>De siste årene har jeg forsøkt å få liv i
361 <a href=
"http://www.personvern.no/
">foreningen Personvern i Norge
</a
>. Norge
362 trenger en organisasjon som jobber med å sette personvern på agendaen
363 og som kan være en motvekt til de mange som gjerne raderer bort
364 personvernet av behagelighetshensyn eller ut fra villfarelsen om at en
365 får økt sikkerhet av å redusere personvernet. Foreløbig har det ikke
366 lykkes å få på plass kritisk masse av interesserte på epostlisten, og
367 nå tror jeg det er på tide å endre tilnærming. I stedet for å forsøke
368 å rekruttere folk til epostlisten og håpe at når nok folk er samlet
369 vil noen ta initiativ og sørge for at det begynner å skje ting, så
370 tror jeg det er en ide å ta utgangspunkt i de som er der i dag og
371 sette sammen et interrimstyre. Forslaget er sendt til epostlisten, så
372 nå får vi se om noen er enig.
</p
>
377 <title>Intellektuelt privilegium - et bedre IP-begrep
</title>
378 <link>Intellektuelt_privilegium___et_bedre_IP_begrep.html
</link>
379 <guid isPermaLink=
"true">Intellektuelt_privilegium___et_bedre_IP_begrep.html
</guid>
380 <pubDate>Sun,
1 Feb
2009 15:
06:
00 +
0100</pubDate>
382 <p
>Ofte brukes intellektuell eiendom som samlebegrep for opphavsrett,
383 patenter, varemerker og forretningshemmeligheter. Problemet med dette
384 begrepet er at det er svært misvisende. For det første er ingen av de
385 begrensede monopolene det her er snakk om som kan kalles eiendom, og
386 for det andre er egenskapene til de ulike monopolene så forskjellige
387 at det er mer tilslørende enn opplysende å gruppere dem sammen i et
388 sekkebegrep. Blant annet Richard Stallman har
389 <a href=
"http://www.gnu.org/philosophy/not-ipr.html
">skrevet litt om dette
</a
>.
</p
>
391 <p
>I dag kom jeg over
392 <a href=
"http://blogs.sun.com/webmink/entry/intellectual_privilege
">en
393 bloggpost fra Simon Phipps
</a
> som foreslår å bruke intellektuelt
394 privilegium som begrep i stedet, da det gjør det klarere at det ikke
395 er snakk om eiendom, men et tidsbegrenset monopol. Simon Phipps
396 forteller videre at noen jobber med å skrive
397 <a href=
"http://www.intellectualprivilege.com/book.html
">en bok med
398 tittel Intellectual Privilege
</a
>, og at boken er anbefalt av Lawrence
399 Lessig. Jeg tror jeg skal begynne å bruke begrepet intellektuelt
400 privilegium når jeg snakker om opphavsrett, patenter, varemerker og
401 forretningshemmeligheter framover.
</p
>
406 <title>Fri og åpen standard, slik Digistan ser det
</title>
407 <link>Fri__og___pen_standard__slik_Digistan_ser_det.html
</link>
408 <guid isPermaLink=
"true">Fri__og___pen_standard__slik_Digistan_ser_det.html
</guid>
409 <pubDate>Sat,
31 Jan
2009 23:
10:
00 +
0100</pubDate>
411 <p
>Det er mange ulike definisjoner om hva en åpen standard er for noe,
412 og NUUG hadde
<a href=
"http://www.nuug.no/dokumenter/standard-presse-def-
200506.txt
">en
413 pressemelding om dette sommeren
2005</a
>. Der ble definisjonen til
414 <a href=
"http://www.aaben-standard.dk/
">DKUUG
</a
>,
415 <a href=
"http://europa.eu.int/idabc/servlets/Doc?id=
19529">EU-kommissionens
416 European Interoperability Framework ( side
9)
</a
> og
417 <a href=
"http://www.teknologiradet.no/files/
7polert_copy.htm
">teknologirådet
</a
> omtalt.
419 Siden den gang har regjeringens standardiseringsråd dukket opp, og de
420 ser ut til å har tatt utgangspunkt i EU-kommisjonens definisjon i
421 <a href=
"http://www.regjeringen.no/nb/dep/fad/kampanjer/standardiseringsradet/arbeidsmetodikk.html?id=
476407">sin
422 arbeidsmetodikk
</a
>. Personlig synes jeg det er en god ide, da
423 kravene som stilles der gjør at alle markedsaktører får like vilkår,
424 noe som kommer kundene til gode ved hjelp av økt konkurranse.
</p
>
426 <p
>I sommer kom det en ny definisjon på banen.
427 <a href=
"http://www.digistan.org/
">Digistan
</a
> lanserte
428 <a href=
"http://www.digistan.org/open-standard:definition
">en
429 definisjon på en fri og åpen standard
</a
>. Jeg liker måten de bryter
430 ut av diskusjonen om hva som kreves for å kalle noe en åpen standard
431 ved å legge på et ord og poengtere at en standard som er både åpen og
432 fri har noen spesielle krav. Her er den definisjonen etter rask
433 oversettelse fra engelsk til norsk av meg:
</p
>
436 <p
><strong
>Definisjonen av en fri og åpen standard
</strong
></p
>
438 <p
>Den digitale standardorganisasjonen definierer fri og åpen standard
439 som følger:
</p
>
441 <li
>En fri og åpen standard er immun for leverandørinnlåsing i alle
442 stadier av dens livssyklus. Immuniteten fra leverandørinnlåsing gjør
443 det mulig å fritt bruke, forbedre, stole på og utvide en standard over
445 <li
>Standarden er adoptert og vil bli vedlikeholdt av en ikke-kommersiell
446 organisasjon, og dens pågående utvikling gjøres med en åpen
447 beslutningsprosedyre som er tilgjengelig for alle som er interessert i
449 <li
>Standarden er publisert og spesifikasjonsdokumentet er fritt
450 tilgjengelig. Det må være tillatt for alle å kopiere, distribuere og
451 bruke den uten begresninger.
</li
>
452 <li
>Patentene som muligens gjelder (deler av) standarden er gjort
453 ugjenkallelig tilgjengelig uten krav om betaling.
</li
>
454 <li
>Det er ingen begresninger i gjenbruk av standarden.
</li
>
456 <p
>Det økonomiske resultatet av en fri og åpen standard, som kan
457 måles, er at det muliggjør perfekt konkurranse mellom leverandører av
458 produkter basert på standarden.
</p
>
461 <p
>(Tar gjerne imot forbedringer av oversettelsen.)
</p
>