<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>
+ <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,
<item>
<title>Norge trenger en personvernforening</title>
- <link>../../../Norge_trenger_en_personvernforening.html</link>
- <guid isPermaLink="true">../../../Norge_trenger_en_personvernforening.html</guid>
+ <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
<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
<item>
<title>Første vellykkede videostrøm fra NUUG</title>
- <link>../../../F__rste_vellykkede_videostr__m_fra_NUUG.html</link>
- <guid isPermaLink="true">../../../F__rste_vellykkede_videostr__m_fra_NUUG.html</guid>
+ <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
<item>
<title>Endelig er Debian Lenny gitt ut</title>
- <link>../../../Endelig_er_Debian_Lenny_gitt_ut.html</link>
- <guid isPermaLink="true">../../../Endelig_er_Debian_Lenny_gitt_ut.html</guid>
+ <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>
<item>
<title>Kart over overvåkningskamera i Norge</title>
- <link>../../../Kart_over_overv__kningskamera_i_Norge.html</link>
- <guid isPermaLink="true">../../../Kart_over_overv__kningskamera_i_Norge.html</guid>
+ <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
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>, sa hentes det
+href="http://www.openstreetmap.org/">OpenStreetmap</a>, så hentes det
automatisk over i spesialkartet.</p>
</description>
</item>
<item>
<title>Using bar codes at a computing center</title>
- <link>../../../Using_bar_codes_at_a_computing_center.html</link>
- <guid isPermaLink="true">../../../Using_bar_codes_at_a_computing_center.html</guid>
+ <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
<item>
<title>Checking server hardware support status for Dell, HP and IBM servers</title>
- <link>../../../Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html</link>
- <guid isPermaLink="true">../../../Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html</guid>
+ <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
parsing could be done using nice libraries, but did not want to
introduce more dependencies. This is the current incarnation:</p>
-<p><pre>
+<pre>
use LWP::Simple;
use POSIX;
use WWW::Mechanize;
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&cs=nodhs1&l=no&s=dhs&ServiceTag=$serial";
+ 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 @lines = split(/\n/, $webpage);
foreach my $line (@lines) {
next unless ($line =~ m/Beskrivelse/);
- $line =~ s/<[^>]+?>/;/gm;
- $line =~ m%;(\d{2})/(\d{2})/(\d{4});+(\d{2})/(\d{2})/(\d{4});%g;
- my $start = "$3-$1-$2";
- my $end = "$6-$4-$5";
- $str = "$start -> $end";
+ $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 ($end lt $today);
+ if ($lastend lt $today);
}
} elsif ( $model =~ m/^HP / ) {
my $mech = WWW::Mechanize->new();
# Next step is screen scraping
my $content = $mech->content();
- $content =~ s/<[^>]+?>/;/gm;
+ $content =~ s/&lt;[^>]+?>/;/gm;
$content =~ s/\s+/ /gm;
$content =~ s/;\s*;/;;/gm;
$content =~ s/;[\s;]+/;/gm;
if ($end lt $today);
}
} elsif ( $model =~ m/^IBM / ) {
+ # This code ignore extended support contracts.
my ($producttype) = $model =~ m/.*-\[(.{4}).+\]-/;
- if ($producttype && $serial) {
+ if ($producttype &amp;&amp; $serial) {
my $content =
- get("http://www-947.ibm.com/systems/support/supportsite.wss/warranty?action=warranty&brandind=5000008&Submit=Submit&type=$producttype&serial=$serial");
+ 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/<[^>]+?>/;/gm;
+ $content =~ s/&lt;[^>]+?>/;/gm;
$content =~ s/\s+/ /gm;
$content =~ s/;\s*;/;;/gm;
$content =~ s/;[\s;]+/;/gm;
}
return $str;
}
-</pre></p>
+</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>
-<p><pre>
+<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>
+</pre>
<p>I would recommend this approach for tracking support contracts for
-everyone with more than a new computers to administer. :)</p>
+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>