<channel>
<title>Petter Reinholdtsen - Entries from February 2009</title>
<description>Entries from February 2009</description>
- <link>../../../</link>
+ <link>http://people.skolelinux.org/pere/blog/</link>
<item>
- <title>Intellektuelt privilegium - et bedre IP-begrep</title>
- <link>../../../Intellektuelt_privilegium___et_bedre_IP_begrep.html</link>
- <guid isPermaLink="true">../../../Intellektuelt_privilegium___et_bedre_IP_begrep.html</guid>
- <pubDate>Sun, 1 Feb 2009 15:06:00 +0100</pubDate>
- <description>
-<p>Ofte brukes intellektuell eiendom som samlebegrep for opphavsrett,
-patenter, varemerker og forretningshemmeligheter. Problemet med dette
-begrepet er at det er svært misvisende. For det første er ingen av de
-begrensede monopolene det her er snakk om som kan kalles eiendom, og
-for det andre er egenskapene til de ulike monopolene så forskjellige
-at det er mer tilslørende enn opplysende å gruppere dem sammen i et
-sekkebegrep. Blant annet Richard Stallman har
-<a href="http://www.gnu.org/philosophy/not-ipr.html">skrevet litt om dette</a>.</p>
+ <title>Checking server hardware support status for Dell, HP and IBM servers</title>
+ <link>http://people.skolelinux.org/pere/blog/Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html</guid>
+ <pubDate>Sat, 28 Feb 2009 23:50:00 +0100</pubDate>
+ <description><p>At work, we have a few hundred Linux servers, and with that amount
+of hardware it is important to keep track of when the hardware support
+contract expire for each server. We have a machine (and service)
+register, which until recently did not contain much useful besides the
+machine room location and contact information for the system owner for
+each machine. To make it easier for us to track support contract
+status, I've recently spent time on extending the machine register to
+include information about when the support contract expire, and to tag
+machines with expired contracts to make it easy to get a list of such
+machines. I extended a perl script already being used to import
+information about machines into the register, to also do some screen
+scraping off the sites of Dell, HP and IBM (our majority of machines
+are from these vendors), and automatically check the support status
+for the relevant machines. This make the support status information
+easily available and I hope it will make it easier for the computer
+owner to know when to get new hardware or renew the support contract.
+The result of this work documented that 27% of the machines in the
+registry is without a support contract, and made it very easy to find
+them. 27% might seem like a lot, but I see it more as the case of us
+using machines a bit longer than the 3 years a normal support contract
+last, to have test machines and a platform for less important
+services. After all, the machines without a contract are working fine
+at the moment and the lack of contract is only a problem if any of
+them break down. When that happen, we can either fix it using spare
+parts from other machines or move the service to another old
+machine.</p>
-<p>I dag kom jeg over
-<a href="http://blogs.sun.com/webmink/entry/intellectual_privilege">en
-bloggpost fra Simon Phipps</a> som foreslår å bruke intellektuelt
-privilegium som begrep i stedet, da det gjør det klarere at det ikke
-er snakk om eiendom, men et tidsbegrenset monopol. Simon Phipps
-forteller videre at noen jobber med å skrive
-<a href="http://www.intellectualprivilege.com/book.html">en bok med
-tittel Intellectual Property</a>, og at boken er anbefalt av Lawrence
-Lessig. Jeg tror jeg skal begynne å bruke begrepet intellektuelt
-privilegium når jeg snakker om opphavsrett, patenter, varemerker og
-forretningshemmeligheter framover.</p>
+<p>I believe the code for screen scraping the Dell site was originally
+written by Trond Hasle Amundsen, and later adjusted by me and Morten
+Werner Forsbring. The HP scraping was written by me after reading a
+nice article in ;login: about how to use WWW::Mechanize, and the IBM
+scraping was written by me based on the Dell code. I know the HTML
+parsing could be done using nice libraries, but did not want to
+introduce more dependencies. This is the current incarnation:</p>
+
+<pre>
+use LWP::Simple;
+use POSIX;
+use WWW::Mechanize;
+use Date::Parse;
+[...]
+sub get_support_info {
+ my ($machine, $model, $serial, $productnumber) = @_;
+ my $str;
+
+ if ( $model =~ m/^Dell / ) {
+ # fetch website from Dell support
+ 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";
+ my $webpage = get($url);
+ return undef unless ($webpage);
+
+ my $daysleft = -1;
+ my @lines = split(/\n/, $webpage);
+ foreach my $line (@lines) {
+ next unless ($line =~ m/Beskrivelse/);
+ $line =~ s/&lt;[^>]+?>/;/gm;
+ $line =~ s/^.+?;(Beskrivelse;)/$1/;
+
+ my @f = split(/\;/, $line);
+ @f = @f[13 .. $#f];
+ my $lastend = "";
+ while ($f[3] eq "DELL") {
+ my ($type, $startstr, $endstr, $days) = @f[0, 5, 7, 10];
+
+ my $start = POSIX::strftime("%Y-%m-%d",
+ localtime(str2time($startstr)));
+ my $end = POSIX::strftime("%Y-%m-%d",
+ localtime(str2time($endstr)));
+ $str .= "$type $start -> $end ";
+ @f = @f[14 .. $#f];
+ $lastend = $end if ($end gt $lastend);
+ }
+ my $today = POSIX::strftime("%Y-%m-%d", localtime(time));
+ tag_machine_unsupported($machine)
+ if ($lastend lt $today);
+ }
+ } elsif ( $model =~ m/^HP / ) {
+ my $mech = WWW::Mechanize->new();
+ my $url =
+ 'http://www1.itrc.hp.com/service/ewarranty/warrantyInput.do';
+ $mech->get($url);
+ my $fields = {
+ 'BODServiceID' => 'NA',
+ 'RegisteredPurchaseDate' => '',
+ 'country' => 'NO',
+ 'productNumber' => $productnumber,
+ 'serialNumber1' => $serial,
+ };
+ $mech->submit_form( form_number => 2,
+ fields => $fields );
+ # Next step is screen scraping
+ my $content = $mech->content();
+
+ $content =~ s/&lt;[^>]+?>/;/gm;
+ $content =~ s/\s+/ /gm;
+ $content =~ s/;\s*;/;;/gm;
+ $content =~ s/;[\s;]+/;/gm;
+
+ my $today = POSIX::strftime("%Y-%m-%d", localtime(time));
+
+ while ($content =~ m/;Warranty Type;/) {
+ my ($type, $status, $startstr, $stopstr) = $content =~
+ m/;Warranty Type;([^;]+);.+?;Status;(\w+);Start Date;([^;]+);End Date;([^;]+);/;
+ $content =~ s/^.+?;Warranty Type;//;
+ my $start = POSIX::strftime("%Y-%m-%d",
+ localtime(str2time($startstr)));
+ my $end = POSIX::strftime("%Y-%m-%d",
+ localtime(str2time($stopstr)));
+
+ $str .= "$type ($status) $start -> $end ";
+
+ tag_machine_unsupported($machine)
+ if ($end lt $today);
+ }
+ } elsif ( $model =~ m/^IBM / ) {
+ # This code ignore extended support contracts.
+ my ($producttype) = $model =~ m/.*-\[(.{4}).+\]-/;
+ if ($producttype &amp;&amp; $serial) {
+ my $content =
+ 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");
+ if ($content) {
+ $content =~ s/&lt;[^>]+?>/;/gm;
+ $content =~ s/\s+/ /gm;
+ $content =~ s/;\s*;/;;/gm;
+ $content =~ s/;[\s;]+/;/gm;
+
+ $content =~ s/^.+?;Warranty status;//;
+ my ($status, $end) = $content =~ m/;Warranty status;([^;]+)\s*;Expiration date;(\S+) ;/;
+
+ $str .= "($status) -> $end ";
+
+ my $today = POSIX::strftime("%Y-%m-%d", localtime(time));
+ tag_machine_unsupported($machine)
+ if ($end lt $today);
+ }
+ }
+ }
+ return $str;
+}
+</pre>
+
+<p>Here are some examples on how to use the function, using fake
+serial numbers. The information passed in as arguments are fetched
+from dmidecode.</p>
+
+<pre>
+print get_support_info("hp.host", "HP ProLiant BL460c G1", "1234567890"
+ "447707-B21");
+print get_support_info("dell.host", "Dell Inc. PowerEdge 2950", "1234567");
+print get_support_info("ibm.host", "IBM eserver xSeries 345 -[867061X]-",
+ "1234567");
+</pre>
+
+<p>I would recommend this approach for tracking support contracts for
+everyone with more than a few computers to administer. :)</p>
+
+<p>Update 2009-03-06: The IBM page do not include extended support
+contracts, so it is useless in that case. The original Dell code do
+not handle extended support contracts either, but has been updated to
+do so.</p>
</description>
</item>
<item>
- <title>Norge trenger en personvernforening</title>
- <link>../../../Norge_trenger_en_personvernforening.html</link>
- <guid isPermaLink="true">../../../Norge_trenger_en_personvernforening.html</guid>
- <pubDate>Sun, 1 Feb 2009 18:35:00 +0100</pubDate>
- <description>
-<p>De siste årene har jeg forsøkt å få liv i
-<a href="http://www.personvern.no/">foreningen Personvern i Norge</a>. Norge
-trenger en organisasjon som jobber med å sette personvern på agendaen
-og som kan være en motvekt til de mange som gjerne raderer bort
-personvernet av behagelighetshensyn eller ut fra villfarelsen om at en
-får økt sikkerhet av å redusere personvernet. Foreløbig har det ikke
-lykkes å få på plass kritisk masse av interesserte på epostlisten, og
-nå tror jeg det er på tide å endre tilnærming. I stedet for å forsøke
-å rekruttere folk til epostlisten og håpe at når nok folk er samlet
-vil noen ta initiativ og sørge for at det begynner å skje ting, så
-tror jeg det er en ide å ta utgangspunkt i de som er der i dag og
-sette sammen et interrimstyre. Forslaget er sendt til epostlisten, så
-nå får vi se om noen er enig.</p>
+ <title>Using bar codes at a computing center</title>
+ <link>http://people.skolelinux.org/pere/blog/Using_bar_codes_at_a_computing_center.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Using_bar_codes_at_a_computing_center.html</guid>
+ <pubDate>Fri, 20 Feb 2009 08:50:00 +0100</pubDate>
+ <description><p>At work with the University of Oslo, we have several hundred computers
+in our computing center. This give us a challenge in tracking the
+location and cabling of the computers, when they are added, moved and
+removed. Some times the location register is not updated when a
+computer is inserted or moved and we then have to search the room for
+the "missing" computer.</p>
+
+<p>In the last issue of Linux Journal, I came across a project
+<a href="http://www.libdmtx.org/">libdmtx</a> to write and read bar
+code blocks as defined in the
+<a href="http://en.wikipedia.org/wiki/Data_Matrix">The Data Matrix
+Standard</a>. This is bar codes that can be read with a normal
+digital camera, for example that on a cell phone, and several such bar
+codes can be read by libdmtx from one picture. The bar code standard
+allow up to 2 KiB to be written in the tag. There is another project
+with <a href="http://www.terryburton.co.uk/barcodewriter/">a bar code
+writer written in postscript</a> capable of creating such bar codes,
+but this was the first time I found a tool to read these bar
+codes.</p>
+
+<p>It occurred to me that this could be used to tag and track the
+machines in our computing center. If both racks and computers are
+tagged this way, we can use a picture of the rack and all its
+computers to detect the rack location of any computer in that rack.
+If we do this regularly for the entire room, we will find all
+locations, and can detect movements and removals.</p>
+
+<p>I decided to test if this would work in practice, and picked a
+random rack and tagged all the machines with their names. Next, I
+took pictures with my digital camera, and gave the dmtxread program
+these JPEG pictures to see how many tags it could read. This worked
+fairly well. If the pictures was well focused and not taken from the
+side, all tags in the image could be read. Because of limited space
+between the racks, I was unable to get a good picture of the entire
+rack, but could without problem read all tags from a picture covering
+about half the rack. I had to limit the search time used by dmtxread
+to 60000 ms to make sure it terminated in a reasonable time frame.</p>
+
+<p>My conclusion is that this could work, and we should probably look
+at adjusting our computer tagging procedures to use bar codes for
+easier automatic tracking of computers.</p>
+</description>
+ </item>
+
+ <item>
+ <title>Kart over overvåkningskamera i Norge</title>
+ <link>http://people.skolelinux.org/pere/blog/Kart_over_overv_kningskamera_i_Norge.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Kart_over_overv_kningskamera_i_Norge.html</guid>
+ <pubDate>Sun, 15 Feb 2009 22:30:00 +0100</pubDate>
+ <description><p>I regi av
+<a href="http://www.personvern.no/">personvernforeningen</a> har jeg
+startet på
+<a href="http://personvern.no/wiki/index.php/Kameraovervåkning">et
+kart over overvåkningskamera i Norge</a>. Bakgrunnen er at det etter
+min mening bærer galt avsted med den massive overvåkningen som
+finner sted i Norge i dag, og at flere og flere overvåkningskamera
+gjør det vanskeligere og vanskeligere å gå igjennom livet uten at
+små og store brødre trenger inn i ens private sfære. Datatilsynet
+har et register over kameraovervåkning, men det viser seg å være
+ubrukelig både til å finne ut hvor det er kamera plassert, og til å
+sjekke om et kamera en kommer over er registrert. Dette nye kartet
+fikser en av disse manglene, men det vil fortsatt være umulig å vite
+om et kamera er registrert etter lovens krav eller ikke. Pr. nå er
+22 kamera i Oslo registrert, og det trengs flere til å registrere
+alle. Informasjonen registreres direkte inn i <a
+href="http://www.openstreetmap.org/">OpenStreetmap</a>, så hentes det
+automatisk over i spesialkartet.</p>
+</description>
+ </item>
+
+ <item>
+ <title>Endelig er Debian Lenny gitt ut</title>
+ <link>http://people.skolelinux.org/pere/blog/Endelig_er_Debian_Lenny_gitt_ut.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Endelig_er_Debian_Lenny_gitt_ut.html</guid>
+ <pubDate>Sun, 15 Feb 2009 11:50:00 +0100</pubDate>
+ <description><p>Endelig er <a href="http://www.debian.org/">Debian</a>
+<a href="http://www.debian.org/News/2009/20090214">Lenny</a> gitt ut.
+Et langt steg videre for Debian-prosjektet, og en rekke nye
+programpakker blir nå tilgjengelig for de av oss som bruker den
+stabile utgaven av Debian. Neste steg er nå å få
+<a href="http://www.skolelinux.org/">Skolelinux</a> /
+<a href="http://wiki.debian.org/DebianEdu/">Debian Edu</a> ferdig
+oppdatert for den nye utgaven, slik at en oppdatert versjon kan
+slippes løs på skolene. Takk til alle debian-utviklerne som har
+gjort dette mulig. Endelig er f.eks. fungerende avhengighetsstyrt
+bootsekvens tilgjengelig i stabil utgave, vha pakken
+<tt>insserv</tt>.</p>
+</description>
+ </item>
+
+ <item>
+ <title>Første vellykkede videostrøm fra NUUG</title>
+ <link>http://people.skolelinux.org/pere/blog/F_rste_vellykkede_videostr_m_fra_NUUG.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/F_rste_vellykkede_videostr_m_fra_NUUG.html</guid>
+ <pubDate>Wed, 11 Feb 2009 06:30:00 +0100</pubDate>
+ <description><p>Jeg ble glad for å se under
+<a href="http://www.nuug.no/aktiviteter/20090210-compiz/">gårdagens
+medlemsmøte</a> i NUUG Oslo at utsending av live-video fra møtet
+fungerte for første gang. Forrige gang ble det ved en teknisk tabbe
+sendt video uten lyd. Vi kan takke Ole Kristian Lien og resten av
+videogruppen i NUUG for at nå NUUG-medlemmer over det ganske land
+kunne se foredraget samtidig med oss i Oslo. Vi opplevde til og med
+under møtet å motta spørsmål via IRC som ble besvart der og da.
+Opptaket publiseres så snart det er kopiert over til NUUGs
+webserver og komprimert.</p>
</description>
</item>
<item>
<title>Min reprap tar sakte form</title>
- <link>../../../Min_reprap_tar_sakte_form.html</link>
- <guid isPermaLink="true">../../../Min_reprap_tar_sakte_form.html</guid>
+ <link>http://people.skolelinux.org/pere/blog/Min_reprap_tar_sakte_form.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Min_reprap_tar_sakte_form.html</guid>
<pubDate>Tue, 3 Feb 2009 13:30:00 +0100</pubDate>
- <description>
-<p>Min reprap begynner å ta form. Den er nå kommet så langt at den er
+ <description><p>Min reprap begynner å ta form. Den er nå kommet så langt at den er
blitt en kubisk ramme. Z-aksen er montert men ikke kalibrert, og det
hele er klart for litt enkel testing. Har møtt på to problemer som
blokkerer videre montering, men har oppnått kontakt med Audun Vaaler
</description>
</item>
+ <item>
+ <title>Norge trenger en personvernforening</title>
+ <link>http://people.skolelinux.org/pere/blog/Norge_trenger_en_personvernforening.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Norge_trenger_en_personvernforening.html</guid>
+ <pubDate>Sun, 1 Feb 2009 18:35:00 +0100</pubDate>
+ <description><p>De siste årene har jeg forsøkt å få liv i
+<a href="http://www.personvern.no/">foreningen Personvern i Norge</a>. Norge
+trenger en organisasjon som jobber med å sette personvern på agendaen
+og som kan være en motvekt til de mange som gjerne raderer bort
+personvernet av behagelighetshensyn eller ut fra villfarelsen om at en
+får økt sikkerhet av å redusere personvernet. Foreløbig har det ikke
+lykkes å få på plass kritisk masse av interesserte på epostlisten, og
+nå tror jeg det er på tide å endre tilnærming. I stedet for å forsøke
+å rekruttere folk til epostlisten og håpe at når nok folk er samlet
+vil noen ta initiativ og sørge for at det begynner å skje ting, så
+tror jeg det er en ide å ta utgangspunkt i de som er der i dag og
+sette sammen et interrimstyre. Forslaget er sendt til epostlisten, så
+nå får vi se om noen er enig.</p>
+</description>
+ </item>
+
+ <item>
+ <title>Intellektuelt privilegium - et bedre IP-begrep</title>
+ <link>http://people.skolelinux.org/pere/blog/Intellektuelt_privilegium___et_bedre_IP_begrep.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Intellektuelt_privilegium___et_bedre_IP_begrep.html</guid>
+ <pubDate>Sun, 1 Feb 2009 15:06:00 +0100</pubDate>
+ <description><p>Ofte brukes intellektuell eiendom som samlebegrep for opphavsrett,
+patenter, varemerker og forretningshemmeligheter. Problemet med dette
+begrepet er at det er svært misvisende. For det første er ingen av de
+begrensede monopolene det her er snakk om som kan kalles eiendom, og
+for det andre er egenskapene til de ulike monopolene så forskjellige
+at det er mer tilslørende enn opplysende å gruppere dem sammen i et
+sekkebegrep. Blant annet Richard Stallman har
+<a href="http://www.gnu.org/philosophy/not-ipr.html">skrevet litt om dette</a>.</p>
+
+<p>I dag kom jeg over
+<a href="http://blogs.sun.com/webmink/entry/intellectual_privilege">en
+bloggpost fra Simon Phipps</a> som foreslår å bruke intellektuelt
+privilegium som begrep i stedet, da det gjør det klarere at det ikke
+er snakk om eiendom, men et tidsbegrenset monopol. Simon Phipps
+forteller videre at noen jobber med å skrive
+<a href="http://www.intellectualprivilege.com/book.html">en bok med
+tittel Intellectual Privilege</a>, og at boken er anbefalt av Lawrence
+Lessig. Jeg tror jeg skal begynne å bruke begrepet intellektuelt
+privilegium når jeg snakker om opphavsrett, patenter, varemerker og
+forretningshemmeligheter framover.</p>
+</description>
+ </item>
+
</channel>
</rss>