<link></link>
<atom:link href="index.rss" rel="self" type="application/rss+xml" />
+ <item>
+ <title>Lisensvalg for NUUG-opptakene endelig på plass</title>
+ <link>Lisensvalg_for_NUUG_opptakene_endelig_p___plass.html</link>
+ <guid isPermaLink="true">Lisensvalg_for_NUUG_opptakene_endelig_p___plass.html</guid>
+ <pubDate>Fri, 6 Mar 2009 21:20:00 +0100</pubDate>
+ <description>
+<p>Etter mange års meditasjon over temaet, har NUUG endelig klart å
+bestemme seg for hvilken lisens vi skal bruke på videoopptakene som
+gjøres av NUUGs videogruppe. Ole Kristian har annonsert at lisensen
+blir <a href="http://creativecommons.org/licenses/by-sa/3.0/no/">Creative
+Commons Navngivelse-Del på samme vilkår 3.0 Norge</a>. Jeg er veldig
+glad for at denne saken endelig er landet. Lisensen for opptaket til
+Stallman-foredraget ble en annen pga. at lisensvalget ikke var avklart
+på forhånd og IFI og PING ønsket CC-BY-ND, og må ses på som et unntak
+i denne sammenhengen.</p>
+</description>
+ </item>
+
+ <item>
+ <title>Teknisk program for Go Open 2009 er nesten ferdig</title>
+ <link>Teknisk_program_for_Go_Open_2009_er_nesten_ferdig.html</link>
+ <guid isPermaLink="true">Teknisk_program_for_Go_Open_2009_er_nesten_ferdig.html</guid>
+ <pubDate>Thu, 5 Mar 2009 22:30:00 +0100</pubDate>
+ <description>
+<p>Etter lang tids jobbing begynner endelig programmet til det
+tekniske sporet på konferansen <a href="http://www.goopen.no/">Go Open
+2009</a> å bli ferdig. Det blir 9 punkter på programmet, og etter alt
+å dømme blir det disse 9:</p>
+
+<ul>
+
+<li>"Open Telephony: A solution greater than the sum of its parts" med
+ Jon "maddog" Hall</li>
+<li>OpenSolaris-relatert med Ian Murdock fra SUN</li>
+<li>"The inner workings of the OpenStreetmap project and the
+ technology used" med Andy Allan </li>
+<li>Coreboot-relatert med Peter Stuge</li>
+<li>"Gratis værdata fra Meteorologisk institutt" med Trond Michelsen</li>
+<li>RRDtool/Nagios-relatert med Tobias Oetiker</li>
+<li>"Developers guide to server-side productivity and fun using open
+ source platforms and frameworks" med en gjeng folk fra
+ JavaBin-miljøet</li>
+<li>"G(et)it Nå!" med Marcus Ramberg</li>
+<li>Om kontrolltelling av valgresultater med fri programvare med Mitch
+ Trachtenberg</li>
+
+</ul>
+
+<p>De siste bekreftelsene og overskrifter mangler og kommer
+forhåpentlig på plass før mandag, men jeg håper dette blir et program
+flere enn meg vil sette pris på. Jeg gleder meg i hvert fall
+stort.</p>
+</description>
+ </item>
+
+ <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>
+ <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 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>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>
- <pubDate>Fri, 20 Feb 2009 08:30:00 +0100</pubDate>
+ <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
</description>
</item>
- <item>
- <title>Fri og åpen standard, slik Digistan ser det</title>
- <link>Fri__og___pen_standard__slik_Digistan_ser_det.html</link>
- <guid isPermaLink="true">Fri__og___pen_standard__slik_Digistan_ser_det.html</guid>
- <pubDate>Sat, 31 Jan 2009 23:10:00 +0100</pubDate>
- <description>
-<p>Det er mange ulike definisjoner om hva en åpen standard er for noe,
-og NUUG hadde <a href="http://www.nuug.no/dokumenter/standard-presse-def-200506.txt">en
-pressemelding om dette sommeren 2005</a>. Der ble definisjonen til
-<a href="http://www.aaben-standard.dk/">DKUUG</a>,
-<a href="http://europa.eu.int/idabc/servlets/Doc?id=19529">EU-kommissionens
-European Interoperability Framework ( side 9)</a> og
-<a href="http://www.teknologiradet.no/files/7polert_copy.htm">teknologirådet</a> omtalt.
-
-Siden den gang har regjeringens standardiseringsråd dukket opp, og de
-ser ut til å har tatt utgangspunkt i EU-kommisjonens definisjon i
-<a href="http://www.regjeringen.no/nb/dep/fad/kampanjer/standardiseringsradet/arbeidsmetodikk.html?id=476407">sin
-arbeidsmetodikk</a>. Personlig synes jeg det er en god ide, da
-kravene som stilles der gjør at alle markedsaktører får like vilkår,
-noe som kommer kundene til gode ved hjelp av økt konkurranse.</p>
-
-<p>I sommer kom det en ny definisjon på banen.
-<a href="http://www.digistan.org/">Digistan</a> lanserte
-<a href="http://www.digistan.org/open-standard:definition">en
-definisjon på en fri og åpen standard</a>. Jeg liker måten de bryter
-ut av diskusjonen om hva som kreves for å kalle noe en åpen standard
-ved å legge på et ord og poengtere at en standard som er både åpen og
-fri har noen spesielle krav. Her er den definisjonen etter rask
-oversettelse fra engelsk til norsk av meg:</p>
-
-<blockquote>
-<p><strong>Definisjonen av en fri og åpen standard</strong></p>
-
-<p>Den digitale standardorganisasjonen definierer fri og åpen standard
-som følger:</p>
-<ul>
-<li>En fri og åpen standard er immun for leverandørinnlåsing i alle
-stadier av dens livssyklus. Immuniteten fra leverandørinnlåsing gjør
-det mulig å fritt bruke, forbedre, stole på og utvide en standard over
-tid.</li>
-<li>Standarden er adoptert og vil bli vedlikeholdt av en ikke-kommersiell
-organisasjon, og dens pågående utvikling gjøres med en åpen
-beslutningsprosedyre som er tilgjengelig for alle som er interessert i
-å delta.</li>
-<li>Standarden er publisert og spesifikasjonsdokumentet er fritt
-tilgjengelig. Det må være tillatt for alle å kopiere, distribuere og
-bruke den uten begresninger.</li>
-<li>Patentene som muligens gjelder (deler av) standarden er gjort
-ugjenkallelig tilgjengelig uten krav om betaling.</li>
-<li>Det er ingen begresninger i gjenbruk av standarden.</li>
-</ul>
-<p>Det økonomiske resultatet av en fri og åpen standard, som kan
-måles, er at det muliggjør perfekt konkurranse mellom leverandører av
-produkter basert på standarden.</p>
-</blockquote>
-
-<p>(Tar gjerne imot forbedringer av oversettelsen.)</p>
-</description>
- </item>
-
- <item>
- <title>Transendentalt tullball og en funksjonell tilnærming</title>
- <link>Transendentalt_tullball_og_en_funksjonell_tiln__rming.html</link>
- <guid isPermaLink="true">Transendentalt_tullball_og_en_funksjonell_tiln__rming.html</guid>
- <pubDate>Sat, 24 Jan 2009 15:00:00 +0100</pubDate>
- <description>
-<p>Kom over
-<a href="http://debian-administration.org/users/dkg/weblog/39">en
-bloggpost fra Daniel Kahn Gillmor</a> som forteller at
-Eben Moglen, juridisk rådgiver for FSF og stifteren av Software Fredom
-Law Center, i sitt kurs har referert Felix Cohen sin artikkel
-<a href="http://moglen.law.columbia.edu/LCS/cohen-transcendental.pdf">Trancendental
-Nonsense and the Functional Approach</a> fra 1935. Det må jeg si var
-svært interessant for å forstå hvordan og hvorfor immaterialretten har
-utvidet sitt virkeområde og hvor lenge det har pågått.</p>
-
-<p>Innlegget minner meg på
-<a href="https://penta.debconf.org/~joerg/events/161.en.html">en
-presentasjon jeg overvar</a> på Debconf 7 om hvordan innføring og
-utvidelse av opphavsretten ble debattert på 1700-tallet. Anbefaler å
-se den presentasjonen som er tilgjengelig på video i
-<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>
-og
-<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>
-oppløsning.</p>
-</description>
- </item>
-
- <item>
- <title>ODF-bruk i staten, ikke helt på plass</title>
- <link>ODF_bruk_i_staten__ikke_helt_p___plass.html</link>
- <guid isPermaLink="true">ODF_bruk_i_staten__ikke_helt_p___plass.html</guid>
- <pubDate>Thu, 22 Jan 2009 23:00:00 +0100</pubDate>
- <description>
-<p>I går publiserte
-<a href="http://universitas.no/nyhet/52776/">Universitas</a>,
-<a href="http://www.dagensit.no/trender/article1588462.ece">Dagens-IT</a>
-og <a href="http://www.idg.no/computerworld/article118622.ece">Computerworld
-Norge</a> en sak om at de ansatte ved Universitetet i Oslo ikke følger
-regjeringens pålegg om å publisere i HTML, PDF eller ODF. Det er bra
-at det kommer litt fokus på dette, og jeg håper noen journalister tar
-en titt på de andre statlige instansene også.</p>
-
-<p>Skulle ønske det var en enkel måte å sjekke om ODF-dokumenter er i
-henholdt til ODF-spesifikasjonen, og en måte å teste om programmer som
-hevder å støtte ODF forstår alle delene av ODF-spesifikasjonen.
-Kjenner kun til ufullstendige løsninger for slikt.</p>
-</description>
- </item>
-
</channel>
</rss>