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>Hva er egentlig en åpen standard?
</title>
11 <link>Hva_er_egentlig_en___pen_standard_.html
</link>
12 <guid isPermaLink=
"true">Hva_er_egentlig_en___pen_standard_.html
</guid>
13 <pubDate>Sat,
28 Mar
2009 10:
50:
00 +
0100</pubDate>
15 <p
>Jeg møter alle slags interessante mennesker på min vei, og et møte
16 jeg lærte mye av var å treffe på en svært kompetent IT-fyr som
17 benektet ting jeg anser som åpenbart og selvfølgelig når det gjelder
18 standarder. Det var interessant, da det fikk meg til å tenke litt
19 nøyere på hvilke mekanismer som ligger til grunn for at noe oppfattes
20 som en standard. Det hele startet med arbeid rundt integrering av NSS
21 LDAP mot Active Directory, og problemer som oppstår pga. at Active
22 Directory ikke følger LDAP-spesifikasjonen som dokumentert i RFCer fra
23 IETF (konkret, AD returnerer kun et subset av attributter hvis det er
24 mer enn
1500 atributter av en gitt type i et LDAP-objekt, og en må be
25 om resten i bolker av
1500). Jeg hevdet måten dette ble gjort på brøt
26 med LDAP-spesifikasjonen, og henviste til hvor i LDAP-spesifikasjonen
27 fra IETF det sto at oppførselen til AD ikke fulgte
28 LDAP-spesifikasjonen. AD-spesialisten overrasket meg da ved å
29 fortelle at IETF var ikke de som definerte LDAP-spesifikasjonen, og at
30 Active Directory ikke brøt den virkelige LDAP-spesifikasjonen som han
31 mente lå til grunn. Jeg ble spesielt overrasket over denne
32 tilnærmingen til problemstillingen, da til og med Microsoft så vidt
33 jeg kan se anerkjenner IETF som organisasjonen som definerer
34 LDAP-spesifikasjonen. Jeg fikk aldri spurt hvem han mente sto bak den
35 egentlige LDAP-spesifikasjonen, da det var irrelevant for problemet vi
36 måtte løse (få Linux og AD til å fungere sammen). Dette møtet
37 fortalte meg uansett at det ikke er gitt at alle aktører er enige om
38 hva en standard er, og hva som er kilden til en gitt standard. Det er
39 vanskelig å enes om felles standarder før en først enes om hvem som
40 bestemmer hva en gitt standard innebærer.
</p
>
42 <p
>Hva er så en standard? I sin abstrakte form er det noe å samles
43 om. På engelsk er en av betydningene fane brukt i krig, du vet, den
44 type fane en samlet seg rundt på kamplassen i riddertiden. En
45 standard definerer altså et felleskap, noen som har noe felles. Det
46 er naturligvis mange måter å utgjøre et felleskap på. En kan
47 f.eks. enes om å gjøre alt slik som Ole gjør det, og dermed si at Oles
48 oppførsel er standard. Hver gang Ole endrer oppførsel endrer også
49 standarden seg uten noe mer organisering og prosedyre. En variant av
50 dette er å gjøre slik som Ole har gjort det i stedet for slik Ole til
51 enhver til gjør noe. Dette er ofte litt enklere å forholde seg til,
52 da en slipper å sjekke med Ole hver gang for å vite hvordan ting skal
53 gjøres nå, men hvis det Ole gjorde noe dumt den gang en bestemte seg
54 for å følge Ole, så er det vanskeligere å få endret oppførsel for å
55 unngå dette dumme.
</p
>
57 <p
>En kan også ta det et skritt videre, og istedet for å basere seg på
58 enkeltpersoners oppførsel sette seg ned og bli enige om hvordan en
59 skal gjøre ting, dvs. lage et felleskap basert på konsensus. Dette
60 tar naturligvis litt mer tid (en må diskutere ting i forkant før en
61 kan sette igang), men det kan bidra til at den oppførselen en
62 planlegger å benytte seg av er mer gjennomtenkt. Det ender også
63 typisk opp med en beskrivelse av ønsket oppførsel som flere kan forstå
64 - da flere har vært involvert i å utarbeide beskrivelsen.
</p
>
66 <p
>Dette er dessverre ikke alt som trengs for å forstå hva en åpen
67 standard er for noe. Der alle kan se på hvordan folk oppfører seg, og
68 dermed har valget om de vil oppføre seg likt eller ikke, så er det
69 endel juridiske faktorer som gjør det hele mer komplisert -
70 opphavsretten og patentlovgivningen for å være helt konkret. For å gi
71 et eksempel. Hvis noen blir enige om å alltid plystre en bestemt
72 melodi når de møtes, for å identifisere hverandre, så kan
73 opphavsretten brukes til å styre hvem som får lov til å gjøre dette.
74 De har standardisert hvordan de kjenner igjen alle som følger denne
75 standarden, men ikke alle har nødvendigvis lov til å følge den.
76 Musikk er opphavsrettsbeskyttet, og fremføring av musikk i
77 offentligheten er opphavsmannens enerett (dvs. et monopol). Det vil i
78 sin ytterste konsekvens si at alle som skal plystre en
79 opphavsrettsbeskyttet melodi i det offentlige rom må ha godkjenning
80 fra opphavsmannen. Har en ikke dette, så bryter en loven og kan
81 straffes. Det er dermed mulig for opphavsmannen å kontrollere hvem
82 som får lov til å benytte seg av denne standarden. En annen variant
83 er hvis en standard er dokumentert, så er dokumentet som definerer
84 standarden (spesifikasjonen) beskyttet av opphavsretten, og det er
85 dermed mulig for rettighetsinnehaver å begrense tilgang til
86 spesifikasjonen, og slik styre hvem som kan ta i bruk standarden på
89 <p
>Der opphavsretten innvilger et monopol på kunstneriske uttrykk med
90 verkshøyde, innvilger patentlovgivningen monopol på ideer. Hvis en
91 slik patentert idé (fortrinnsvis uttrykt i en teknisk innretning, men
92 det er kompliserende faktorer som gjør at det ikke er et krav) trengs
93 for å ta i bruk en standard, så vil den som innehar patent kunne styre
94 hvem som får ta i bruk standarden. Det er dermed ikke gitt at alle
95 kan delta i et standard-felleskap, og hvis de kan delta, så er det
96 ikke sikkert at det er på like vilkår. F.eks. kan rettighetsinnehaver
97 sette vilkår som gjør at noen faller utenfor, det være seg av
98 finansielle, avtalemessige eller prinsipielle årsaker. Vanlige slike
99 vilkår er
"må betale litt for hver kunde/bruker
" som utelukker de som
100 gir bort en løsning gratis og
"må gi fra seg retten til å håndheve
101 sine egne patentrettigheter ovenfor rettighetshaver
" som utelukker
102 alle som ønsker å beholde den muligheten.
</p
>
104 <p
>En åpen standard innebærer for meg at alle kan få innsikt i en
105 komplett beskrivelse av oppførsel som standarden skal dekke, og at
106 ingen kan nektes å benytte seg av standarden. Noen mener at det
107 holder at alle med tilstrekkelig finansiering kan få tilgang til
108 spesifikasjonen og at en kun har finansielle krav til bruk.
109 Pga. denne konflikten har et nytt begrep spredt seg de siste årene,
110 nemlig fri og åpen standard, der en har gjort det klart at alle må ha
111 komplett og lik tilgang til spesifikasjoner og retten til å gjøre bruk
112 av en standard for at en standard skal kunne kalles fri og åpen.
</p
>
117 <title>Vitenskapens dogmer...
</title>
118 <link>Vitenskapens_dogmer___.html
</link>
119 <guid isPermaLink=
"true">Vitenskapens_dogmer___.html
</guid>
120 <pubDate>Fri,
27 Mar
2009 11:
30:
00 +
0100</pubDate>
122 <p
>Handspåleggere og andre tilhengere av ikke-etterprøvbar medisin,
123 samt de som mener at verden ikke utviklet seg i henhold til
124 evolusjonsteorien, hevder ofte at vitenskapen er dogmatisk og at
125 vitenskapsfolk velger å ignorere alt vitenskapsfolk ikke kan
126 forklare. Intet kunne være lenger fra sannheten. En interessant
127 observasjon dog, er hvilke
"dogmer
" som ligger til grunn for
128 vitenskapen. Her er et forsøk på å nevne noen av de grunnleggende
129 antagelsene som legges til grunn.
</p
>
131 <p
>Først og fremst ligger det til grunn en tro om at verden,
132 verdensrommet og universet har de samme egenskapene overalt. Dvs. at
133 en ikke tror at virkeligheten oppfører seg forskjellig f.eks. på
134 jorden og i verdensrommet. Dette er ingen selvfølgelig antagelse, da
135 f.eks. de gamle grekerne antok at virkeligheten var forskjellig på
136 jorden og i himmelen. Antagelsen om at virkeligheten oppfører seg
137 etter de samme
"reglene
" overalt skjøt først fart etter
138 middelalderen.
</p
>
140 <p
>Når en så har begynt å tro at virkeligheten oppfører seg likt
141 overalt, så kan en begynne å tro at det er mulig å observere
142 virkeligheten, og ut fra observasjoner kunne finne en forklaring, et
143 sett med
"regler
", som kan brukes til å forutse hva som kommer til å
144 skje i fremtiden basert på observasjoner gjort i fortiden. Eksempler
145 på dette er at en kan beregne hvor lang tid en sten som er sluppet
146 ned fra et hus vil bruke før den treffer bakken (og ikke tror at den
147 i noen tilfeller vil fly oppover i stedet for nedover). En kan altså
148 lage en mental modell over sammenhenger i virkeligheten, og bruke
149 denne modellen til å, enten ved hjelp av logiske argumentasjonsrekker
150 eller matematiske beregninger, forklare hva som kommer til å skje.
151 Hvis modellen viser seg å fungere bra for observasjoner i dag, så
152 kan en på tilsvarende vis beregne eller logisk sette sammen hva som
153 har foregått i fortiden som ledet frem til det vi kan observere i
156 <p
>Sist, men ikke minst, så tror vitenskapsfolk på at det er mulig
157 å observere virkeligheten, og å tro på disse observasjonene
158 (innenfor rimelig feilmargin som følger av måten observasjonen er
159 gjort på). En tror altså ikke på at noen bakenfor virkeligheten
160 forsøker å lure oss til å observere noe som ikke eksisterer. Det
161 er naturligvis umulig (eller kanskje til nød svært vanskelig) å
162 motbevise at vi lever i Matrix-aktige omgivelser, der vi observerer
163 noe som eksisterer kun som en simulering i datamaskiner. Det at noe
164 er umulig å motbevise gjør dog ikke at det blir spesielt interessant
165 å ta utgangspunkt i. Det er antagelig ikke grenser for hvor mange
166 måter det er mulig å tenke seg at vi blir lurt til å oppleve en
167 virkelighet som
"egentlig
" ikke eksisterer, men i og med at den
168 eksisterer for oss, så er det i hovedsak et filosofisk spørsmål om
169 hva det betyr å eksistere. Det er ikke spesielt relevant for
170 vitenskapen, som altså tar utgangspunkt i at den virkeligheten vi
171 observerer eksisterer, virker likt overalt, og kan forstås med logikk
172 og matematikk.
</p
>
174 <p
>Det kan virke som om de som hevder at vitenskapen er ute av stand
175 til å ta inn over seg Snåsamannens evner, homeopatiske
176 forklaringsmodeller og en skapende gud, ikke tror på det samme som
177 vitenskapsfolk. De kan ikke tro at den virkeligheten vi observerer
178 eksisterer, virker likt overalt, og kan forstås med logikk og
179 matematikk. Mitt problem med å tro på på det samme, er at hvis
180 disse forutsetningene ikke ligger til grunn, så er det ingen grenser
181 for hva en kan komme opp med av ideer til hvordan virkeligheten
182 fungerer. Både Harry Potters magi, kreasjonistenes allmektige
183 skaper, det flygende spagettimonsteret, Snåsamannens helbredelser,
184 Haitis voodo, samenes ganding og middelalderens hekserier blir like
185 gyldige. Jeg tror ikke noen av disse er spesielt sannsynlige, og
186 velger derfor å ta utgangspunkt i vitenskapens rammer for hvordan
187 virkeligheten skal forstås. For å sitere en reklamekampanje fra
188 England: Vitenskap sender deg til månen. Religion sender deg inn i
189 skyskrapere. Takke meg til en tur til månen.
</p
>
194 <title>Første reprap-integreringsforsøk - Z-aksen beveger seg
</title>
195 <link>F__rste_reprap_integreringsfors__k___Z_aksen_beveger_seg.html
</link>
196 <guid isPermaLink=
"true">F__rste_reprap_integreringsfors__k___Z_aksen_beveger_seg.html
</guid>
197 <pubDate>Thu,
19 Mar
2009 22:
15:
00 +
0100</pubDate>
199 <p
>I går tok jeg mot til meg, og løste problemet med
200 z-aksen ved å borre i delen som manglet feste mot tannjulet som
201 skal drive z-aksereimen. Dermed var det klart for å montere
202 z-akse-akslingen på motoren og komme et steg videre med
203 reprap-monteringen. Prøvekjørte den i dag med
204 testprogrammet til stepmotoren, og kunne glad konstatere at det hele
205 fungerte. I hvert fall når stepmotoren ikke forsøkte
206 å snurre for raskt rundt. Ved høy hastighet roterte
207 ikke akslingen i det hele tatt. Motoren ble bare stående
208 å vibrere. Usikker på hvorfor, men antar motoren ikke
209 har nok kraft til å få hele akslingen til å
210 rotere så raskt. Denne øvelsen avslørte dog et
211 annet problem med monteringen så langt. Under testingen
212 begynte skruer og muttere å ry ned fra ulike deler av
213 reprap-konstruksjonen. Jeg har ikke skrudd alt hard nok sammen til
214 å tåle slike vibrasjoner. Tror en
5-
6 skruver og/eller
215 muttere løsnet. Brukte ganske lang tid på å
216 finne ut hvor det manglet deler og skru ting sammen igjen. Antar alt
217 må strammes skikkelig til før første
220 <p
>Neste steg er å få laget z-aksebåndet. Der trenger jeg
221 egnet lim og en konstruksjon for å klemme bandet sammen under
223 <a href=
"http://reprap.org/bin/view/Main/AssemblingDarwinMachinery#Z_belt
">beskrevet
224 på reprap-wikien
</a
>. Er blitt tipset om svart superlim som er
225 elastisk også etter at det tørket, og dro ned til Small Size
226 Hobbyland på Lilletorget som skulle ha slikt, men da jeg var innom
227 fikk jeg høre at de ikke lenger hadde slikt lim. Må finne ut
228 hvor i Oslo jeg kan skaffe slikt. Kanskje Panduro har? Vet ikke hva
229 limet egentlig heter, så det er vanskelig å søke på nett.
</p
>
234 <title>Avisene i endring
</title>
235 <link>Avisene_i_endring.html
</link>
236 <guid isPermaLink=
"true">Avisene_i_endring.html
</guid>
237 <pubDate>Sun,
15 Mar
2009 22:
15:
00 +
0100</pubDate>
239 <p
>Jeg kom over bloggposten
240 "<a href=
"http://www.shirky.com/weblog/
2009/
03/newspapers-and-thinking-the-unthinkable/
">Newspapers
241 and Thinking the Unthinkable
</a
>" som jeg synes forklarer godt hva som
242 skjer med aviser, og fikk meg til å tenke litt rundt andre utdøende
243 forretningsmodeller basert på å løse problemer som ikke lenger
244 eksisterer. Det blir spennende å se hva vi ender opp med.
</p
>
249 <title>En skam at det ikke finnes ordrett referat fra norske domstoler
</title>
250 <link>En_skam_at_det_ikke_finnes_ordrett_referat_fra_norske_domstoler.html
</link>
251 <guid isPermaLink=
"true">En_skam_at_det_ikke_finnes_ordrett_referat_fra_norske_domstoler.html
</guid>
252 <pubDate>Fri,
13 Mar
2009 18:
00:
00 +
0100</pubDate>
254 <p
>Advokatene jobber i disse dager hardt for å bli kvitt juryordningen
255 fra norske domstoler. Det har de forsåvidt jobbet med i mange år.
256 Personlig tror jeg det er å starte i feil ende, og en dårlig ide.
</p
>
258 <p
>Visst du at det ikke lages ordrett referat fra norske domstoler?
259 Det er ingen som skriver ned alt som sies i en norsk rettsal slik en
260 ser i TV-serier fra USA. Det som publiseres er dommerens
261 oppsummering, og alt som ikke blir med i den oppsummeringen er det
262 vanskelig å få dokumentert i ettertid. Konsekvensen er at en kan
263 lyve så mye en vil fra vitneboksen uten å bli tatt for det i
264 ettertid, hvis dommeren ikke syntes det som ble sagt var så
265 interessant at det ble med i dokumentet som dokumenterer
266 domsavsigelsen. Mens alt som sies fra Stortingets talerstol er
267 tilgjengelig på web etter kort tid for kontroll og kritikk, er det
268 ingen tilsvarende mulighet for det som sies fra vitneboksen i en norsk
269 domstol. Kan dette føre til at en sak varer lengre enn nødvendig i
270 rettssystemet? Jeg tror det, og synes det er en skam at det ikke
271 publiseres ordrette referater fra norske rettsaler.
</p
>
273 <p
>En relatert observasjon er at det i utvalgte deler av landet
274 eksperimenteres med lydopptak fra rettsalen, men disse opptakene er
275 kun tilgjengelig for dommeren til hjelp når oppsummeringen skrives.
276 Jeg synes som et minimum at disse lydopptakene som en regel burde vært
277 publisert offentlig på web.
</p
>
282 <title>Testing av reprap-elektronikken igang
</title>
283 <link>Testing_av_reprap_elektronikken_igang.html
</link>
284 <guid isPermaLink=
"true">Testing_av_reprap_elektronikken_igang.html
</guid>
285 <pubDate>Thu,
12 Mar
2009 16:
00:
00 +
0100</pubDate>
287 <p
>Lenge siden det var en oppdatering av status for min
3D-skriver og
288 i mellomtiden har det skjedd en god del. Reprap-en er nesten ferdig
289 montert, og elektronikken er også nesten ferdig loddet. Det ser ut
290 til at bits-from-bytes sitt byggesett versjon
2.01 hadde noen småfeil,
291 der en del manglet og en annen hadde suboptimalt design. Jeg løser
292 antagelig det ene problemet med å borre noen ekstra hull til skruver i
293 en plastdelen som trenger å festes. Det andre problemet håper jeg å
294 få hjelp fra Audun Vaaler ved Høgskolen i Østfold til å løse.
295 Høgskolen er igang med å bygge en tilsvarende reprap i versjon
2.0, og
296 er kommet litt lenger enn meg. De kan forhåpentligvis skrive ut den
297 delen jeg mangler på denne.
</p
>
299 <p
>Når det gjelder elektronikken, så er mye allerede loddet sammen av
300 min venn Anders Rosnes, som har mer peiling på elektronikk og lodding
301 enn meg. Jeg fikk i dag testet
302 <a href=
"http://reprap.org/bin/view/Main/Stepper_Motor_Driver_1_1
">stepper
303 motordriveren (v1.1)
</a
>, og det fungerte. Jeg møtte et lite problem
304 med strømforsyningen, en standard ATX-strømforsyning som nektet å
305 fungere før jeg hadde satt en ledning mellom GRD og PS_ON som
307 <a href=
"http://dev.www.reprap.org/bin/view/Main/PCPowerSupply
">reprap-sidene
308 om PC-strømforsyninger
</a
>. Jeg møtte også et annet problem med
309 Arduino-programvaren. Versjon
0013 fungerer visst ikke på
310 Debian/Etch. Den kompilerte binæren ble på
0 bytes. En side jeg fant
312 <a href=
"http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=
1234153046/
5">tipset
313 meg
</A
> om at en nedgradering
314 til
<a href=
"http://arduino.googlecode.com/files/arduino-
0012-linux.tgz
">versjon
315 0012</a
> kunne løse problemet, og endelig ser jeg motorakslingen
316 snurre. Nå er det å koble sammen mekanikk og elektronikk for å se om
317 reprap-en kvikner til.
</p
>
322 <title>Frikanalen og jul i studentrådet
</title>
323 <link>Frikanalen_og_jul_i_studentr__det.html
</link>
324 <guid isPermaLink=
"true">Frikanalen_og_jul_i_studentr__det.html
</guid>
325 <pubDate>Wed,
11 Mar
2009 23:
40:
00 +
0100</pubDate>
328 <a href=
"http://lists.nuug.no/pipermail/interesserte/
2009-March/
000387.html
">lanserte
</a
>
330 <a href=
"http://www.frikanalen.no
">Frikanalen
</a
> med
331 <a href=
"http://www.nuug.no/pub/video/frikanalen/frontpage.cgi
">åpne
332 standarder
</a
>, og resultatet av noen intense uker med arbeide kunne
333 endelig presenteres. Jeg har tro på åpen kanalkonseptet som
334 Frikanalen er et eksempel på, der borgerne får anledning til å
335 kringkaste sitt syn på en åpen og demokratisk måte. Jeg er veldig
336 glad vi har fått gjort kanalen tilgjengelig i Ogg Theora, slik at alle
337 kan få tilgang til opptakene på web, og slipper å måtte installere MS
338 Silverlight for å spille av opptakene.
</p
>
340 <p
>Frikanalen har en brokete historie, og dagens inkarnasjon er ikke
341 helt slik foreningen Åpen kanal planla det for mange år siden, noe som
342 er bakgrunnen for at det fredag
13. mars
2009 kl
09:
00 starter en
343 rettsak i Oslo tingrett der Kringkasterforeningen (tidligere
344 foreningen Åpen kanal) har saksøkt kulturdepartementet over
345 konsesjonsvilkårene til Frikanalen. Jeg er spent på resultatet.
</p
>
347 <p
>I arbeidet med Frikanalen med åpne standarder, så har vi hatt glede
348 av å se en rekke av innslagene som er tilgjengelig. Her er mye
349 religiøst sludder, fra
350 <a href=
"http://www.nuug.no/pub/video/frikanalen/fetchvideo.cgi?videoId=
720">vandring
351 i jerusalem
</a
> via
352 <a href=
"http://www.nuug.no/pub/video/frikanalen/fetchvideo.cgi?videoId=
779">religiøst
353 vinklede nyheter
</a
> til
355 href=
"http://www.nuug.no/pub/video/frikanalen/fetchvideo.cgi?videoId=
2077">kreasjonisk
356 retorikk
</a
>, men også fine
357 <a href=
"http://www.nuug.no/pub/video/frikanalen/fetchvideo.cgi?videoId=
407">dokumentarer
358 om redningsselskapet
</a
> og
359 <a href=
"http://www.nuug.no/pub/video/frikanalen/fetchvideo.cgi?videoId=
2204">interessante
360 tegneserieanmeldelser
</a
>. Det jeg derimot har hatt størst glede av,
363 <a href=
"http://www.nuug.no/pub/video/frikanalen/fetchvideo.cgi?videoId=
1556">jul
364 i studentrådet
</a
>, der hver episode var en fest å se på. Jeg håper
365 NUUG lykkes med å få ut sine opptak med like stor suksess.
</p
>
370 <title>Lisensvalg for NUUG-opptakene endelig på plass
</title>
371 <link>Lisensvalg_for_NUUG_opptakene_endelig_p___plass.html
</link>
372 <guid isPermaLink=
"true">Lisensvalg_for_NUUG_opptakene_endelig_p___plass.html
</guid>
373 <pubDate>Fri,
6 Mar
2009 21:
20:
00 +
0100</pubDate>
375 <p
>Etter mange års meditasjon over temaet, har NUUG endelig klart å
376 bestemme seg for hvilken lisens vi skal bruke på videoopptakene som
377 gjøres av NUUGs videogruppe. Ole Kristian har annonsert at lisensen
378 blir
<a href=
"http://creativecommons.org/licenses/by-sa/
3.0/no/
">Creative
379 Commons Navngivelse-Del på samme vilkår
3.0 Norge
</a
>. Jeg er veldig
380 glad for at denne saken endelig er landet. Lisensen for opptaket til
381 Stallman-foredraget ble en annen pga. at lisensvalget ikke var avklart
382 på forhånd og IFI og PING ønsket CC-BY-ND, og må ses på som et unntak
383 i denne sammenhengen.
</p
>
388 <title>Teknisk program for Go Open
2009 er nesten ferdig
</title>
389 <link>Teknisk_program_for_Go_Open_2009_er_nesten_ferdig.html
</link>
390 <guid isPermaLink=
"true">Teknisk_program_for_Go_Open_2009_er_nesten_ferdig.html
</guid>
391 <pubDate>Thu,
5 Mar
2009 22:
30:
00 +
0100</pubDate>
393 <p
>Etter lang tids jobbing begynner endelig programmet til det
394 tekniske sporet på konferansen
<a href=
"http://www.goopen.no/
">Go Open
395 2009</a
> å bli ferdig. Det blir
9 punkter på programmet, og etter alt
396 å dømme blir det disse
9:
</p
>
400 <li
>"Open Telephony: A solution greater than the sum of its parts
" med
401 Jon
"maddog
" Hall
</li
>
402 <li
>OpenSolaris-relatert med Ian Murdock fra SUN
</li
>
403 <li
>"The inner workings of the OpenStreetmap project and the
404 technology used
" med Andy Allan
</li
>
405 <li
>Coreboot-relatert med Peter Stuge
</li
>
406 <li
>"Gratis værdata fra Meteorologisk institutt
" med Trond Michelsen
</li
>
407 <li
>RRDtool/Nagios-relatert med Tobias Oetiker
</li
>
408 <li
>"Developers guide to server-side productivity and fun using open
409 source platforms and frameworks
" med en gjeng folk fra
410 JavaBin-miljøet
</li
>
411 <li
>"G(et)it Nå!
" med Marcus Ramberg
</li
>
412 <li
>Om kontrolltelling av valgresultater med fri programvare med Mitch
413 Trachtenberg
</li
>
417 <p
>De siste bekreftelsene og overskrifter mangler og kommer
418 forhåpentlig på plass før mandag, men jeg håper dette blir et program
419 flere enn meg vil sette pris på. Jeg gleder meg i hvert fall
425 <title>Checking server hardware support status for Dell, HP and IBM servers
</title>
426 <link>Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html
</link>
427 <guid isPermaLink=
"true">Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html
</guid>
428 <pubDate>Sat,
28 Feb
2009 23:
50:
00 +
0100</pubDate>
430 <p
>At work, we have a few hundred Linux servers, and with that amount
431 of hardware it is important to keep track of when the hardware support
432 contract expire for each server. We have a machine (and service)
433 register, which until recently did not contain much useful besides the
434 machine room location and contact information for the system owner for
435 each machine. To make it easier for us to track support contract
436 status, I
've recently spent time on extending the machine register to
437 include information about when the support contract expire, and to tag
438 machines with expired contracts to make it easy to get a list of such
439 machines. I extended a perl script already being used to import
440 information about machines into the register, to also do some screen
441 scraping off the sites of Dell, HP and IBM (our majority of machines
442 are from these vendors), and automatically check the support status
443 for the relevant machines. This make the support status information
444 easily available and I hope it will make it easier for the computer
445 owner to know when to get new hardware or renew the support contract.
446 The result of this work documented that
27% of the machines in the
447 registry is without a support contract, and made it very easy to find
448 them.
27% might seem like a lot, but I see it more as the case of us
449 using machines a bit longer than the
3 years a normal support contract
450 last, to have test machines and a platform for less important
451 services. After all, the machines without a contract are working fine
452 at the moment and the lack of contract is only a problem if any of
453 them break down. When that happen, we can either fix it using spare
454 parts from other machines or move the service to another old
457 <p
>I believe the code for screen scraping the Dell site was originally
458 written by Trond Hasle Amundsen, and later adjusted by me and Morten
459 Werner Forsbring. The HP scraping was written by me after reading a
460 nice article in ;login: about how to use WWW::Mechanize, and the IBM
461 scraping was written by me based on the Dell code. I know the HTML
462 parsing could be done using nice libraries, but did not want to
463 introduce more dependencies. This is the current incarnation:
</p
>
471 sub get_support_info {
472 my ($machine, $model, $serial, $productnumber) = @_;
475 if ( $model =~ m/^Dell / ) {
476 # fetch website from Dell support
477 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
";
478 my $webpage = get($url);
479 return undef unless ($webpage);
482 my @lines = split(/\n/, $webpage);
483 foreach my $line (@lines) {
484 next unless ($line =~ m/Beskrivelse/);
485 $line =~ s/
&lt;[^
>]+?
>/;/gm;
486 $line =~ s/^.+?;(Beskrivelse;)/$
1/;
488 my @f = split(/\;/, $line);
490 my $lastend =
"";
491 while ($f[
3] eq
"DELL
") {
492 my ($type, $startstr, $endstr, $days) = @f[
0,
5,
7,
10];
494 my $start = POSIX::strftime(
"%Y-%m-%d
",
495 localtime(str2time($startstr)));
496 my $end = POSIX::strftime(
"%Y-%m-%d
",
497 localtime(str2time($endstr)));
498 $str .=
"$type $start -
> $end
";
500 $lastend = $end if ($end gt $lastend);
502 my $today = POSIX::strftime(
"%Y-%m-%d
", localtime(time));
503 tag_machine_unsupported($machine)
504 if ($lastend lt $today);
506 } elsif ( $model =~ m/^HP / ) {
507 my $mech = WWW::Mechanize-
>new();
509 'http://www1.itrc.hp.com/service/ewarranty/warrantyInput.do
';
512 'BODServiceID
' =
> 'NA
',
513 'RegisteredPurchaseDate
' =
> '',
514 'country
' =
> 'NO
',
515 'productNumber
' =
> $productnumber,
516 'serialNumber1
' =
> $serial,
518 $mech-
>submit_form( form_number =
> 2,
519 fields =
> $fields );
520 # Next step is screen scraping
521 my $content = $mech-
>content();
523 $content =~ s/
&lt;[^
>]+?
>/;/gm;
524 $content =~ s/\s+/ /gm;
525 $content =~ s/;\s*;/;;/gm;
526 $content =~ s/;[\s;]+/;/gm;
528 my $today = POSIX::strftime(
"%Y-%m-%d
", localtime(time));
530 while ($content =~ m/;Warranty Type;/) {
531 my ($type, $status, $startstr, $stopstr) = $content =~
532 m/;Warranty Type;([^;]+);.+?;Status;(\w+);Start Date;([^;]+);End Date;([^;]+);/;
533 $content =~ s/^.+?;Warranty Type;//;
534 my $start = POSIX::strftime(
"%Y-%m-%d
",
535 localtime(str2time($startstr)));
536 my $end = POSIX::strftime(
"%Y-%m-%d
",
537 localtime(str2time($stopstr)));
539 $str .=
"$type ($status) $start -
> $end
";
541 tag_machine_unsupported($machine)
544 } elsif ( $model =~ m/^IBM / ) {
545 # This code ignore extended support contracts.
546 my ($producttype) = $model =~ m/.*-\[(.{
4}).+\]-/;
547 if ($producttype
&amp;
&amp; $serial) {
549 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
");
551 $content =~ s/
&lt;[^
>]+?
>/;/gm;
552 $content =~ s/\s+/ /gm;
553 $content =~ s/;\s*;/;;/gm;
554 $content =~ s/;[\s;]+/;/gm;
556 $content =~ s/^.+?;Warranty status;//;
557 my ($status, $end) = $content =~ m/;Warranty status;([^;]+)\s*;Expiration date;(\S+) ;/;
559 $str .=
"($status) -
> $end
";
561 my $today = POSIX::strftime(
"%Y-%m-%d
", localtime(time));
562 tag_machine_unsupported($machine)
571 <p
>Here are some examples on how to use the function, using fake
572 serial numbers. The information passed in as arguments are fetched
573 from dmidecode.
</p
>
576 print get_support_info(
"hp.host
",
"HP ProLiant BL460c G1
",
"1234567890"
577 "447707-B21
");
578 print get_support_info(
"dell.host
",
"Dell Inc. PowerEdge
2950",
"1234567");
579 print get_support_info(
"ibm.host
",
"IBM eserver xSeries
345 -[
867061X]-
",
580 "1234567");
583 <p
>I would recommend this approach for tracking support contracts for
584 everyone with more than a few computers to administer. :)
</p
>
586 <p
>Update
2009-
03-
06: The IBM page do not include extended support
587 contracts, so it is useless in that case. The original Dell code do
588 not handle extended support contracts either, but has been updated to