X-Git-Url: https://pere.pagekite.me/gitweb/homepage.git/blobdiff_plain/a593e0644a0d3790b6332b5bc9b3d4b42f7aa32c..68048d06d221082376f64d422d3b868bef0ad9de:/blog/index.html?ds=sidebyside diff --git a/blog/index.html b/blog/index.html index c576966b27..04f7e1a328 100644 --- a/blog/index.html +++ b/blog/index.html @@ -3,15 +3,15 @@ Petter Reinholdtsen - - + +

- Petter Reinholdtsen + Petter Reinholdtsen

@@ -20,593 +20,486 @@
- -
2009-03-27 11:30
+ +
2010-09-01 21:00
-

Handspåleggere og andre tilhengere av ikke-etterprøvbar medisin, -samt de som mener at verden ikke utviklet seg i henhold til -evolusjonsteorien, hevder ofte at vitenskapen er dogmatisk og at -vitenskapsfolk velger å ignorere alt vitenskapsfolk ikke kan -forklare. Intet kunne være lenger fra sannheten. En interessant -observasjon dog, er hvilke "dogmer" som ligger til grunn for -vitenskapen. Her er et forsøk på å nevne noen av de grunnleggende -antagelsene som legges til grunn.

- -

Først og fremst ligger det til grunn en tro om at verden, -verdensrommet og universet har de samme egenskapene overalt. Dvs. at -en ikke tror at virkeligheten oppfører seg forskjellig f.eks. på -jorden og i verdensrommet. Dette er ingen selvfølgelig antagelse, da -f.eks. de gamle grekerne antok at virkeligheten var forskjellig på -jorden og i himmelen. Antagelsen om at virkeligheten oppfører seg -etter de samme "reglene" overalt skjøt først fart etter -middelalderen.

- -

Når en så har begynt å tro at virkeligheten oppfører seg likt -overalt, så kan en begynne å tro at det er mulig å observere -virkeligheten, og ut fra observasjoner kunne finne en forklaring, et -sett med "regler", som kan brukes til å forutse hva som kommer til å -skje i fremtiden basert på observasjoner gjort i fortiden. Eksempler -på dette er at en kan beregne hvor lang tid en sten som er sluppet -ned fra et hus vil bruke før den treffer bakken (og ikke tror at den -i noen tilfeller vil fly oppover i stedet for nedover). En kan altså -lage en mental modell over sammenhenger i virkeligheten, og bruke -denne modellen til å, enten ved hjelp av logiske argumentasjonsrekker -eller matematiske beregninger, forklare hva som kommer til å skje. -Hvis modellen viser seg å fungere bra for observasjoner i dag, så -kan en på tilsvarende vis beregne eller logisk sette sammen hva som -har foregått i fortiden som ledet frem til det vi kan observere i -dag.

- -

Sist, men ikke minst, så tror vitenskapsfolk på at det er mulig -å observere virkeligheten, og å tro på disse observasjonene -(innenfor rimelig feilmargin som følger av måten observasjonen er -gjort på). En tror altså ikke på at noen bakenfor virkeligheten -forsøker å lure oss til å observere noe som ikke eksisterer. Det -er naturligvis umulig (eller kanskje til nød svært vanskelig) å -motbevise at vi lever i Matrix-aktige omgivelser, der vi observerer -noe som eksisterer kun som en simulering i datamaskiner. Det at noe -er umulig å motbevise gjør dog ikke at det blir spesielt interessant -å ta utgangspunkt i. Det er antagelig ikke grenser for hvor mange -måter det er mulig å tenke seg at vi blir lurt til å oppleve en -virkelighet som "egentlig" ikke eksisterer, men i og med at den -eksisterer for oss, så er det i hovedsak et filosofisk spørsmål om -hva det betyr å eksistere. Det er ikke spesielt relevant for -vitenskapen, som altså tar utgangspunkt i at den virkeligheten vi -observerer eksisterer, virker likt overalt, og kan forstås med logikk -og matematikk.

- -

Det kan virke som om de som hevder at vitenskapen er ute av stand -til å ta inn over seg Snåsamannens evner, homeopatiske -forklaringsmodeller og en skapende gud, ikke tror på det samme som -vitenskapsfolk. De kan ikke tro at den virkeligheten vi observerer -eksisterer, virker likt overalt, og kan forstås med logikk og -matematikk. Mitt problem med å tro på på det samme, er at hvis -disse forutsetningene ikke ligger til grunn, så er det ingen grenser -for hva en kan komme opp med av ideer til hvordan virkeligheten -fungerer. Både Harry Potters magi, kreasjonistenes allmektige -skaper, det flygende spagettimonsteret, Snåsamannens helbredelser, -Haitis voodo, samenes ganding og middelalderens hekserier blir like -gyldige. Jeg tror ikke noen av disse er spesielt sannsynlige, og -velger derfor å ta utgangspunkt i vitenskapens rammer for hvordan -virkeligheten skal forstås. For å sitere en reklamekampanje fra -England: Vitenskap sender deg til månen. Religion sender deg inn i -skyskrapere. Takke meg til en tur til månen.

+

This evening I made my first Perl GUI application. The last few +days I have worked on a Perl module for controlling my recently +aquired Spykee robots, and the module is now getting complete enought +that it is possible to use it to control the robot driving at least. +It was now time to figure out how to use it to create some GUI to +allow me to drive the robot around. I picked PerlQt as I have had +positive experiences with the Qt API before, and spent a few minutes +browsing the web for examples. Using Qt Designer seemed like a short +cut, so I ended up writing the perl GUI using Qt Designer and +compiling it into a perl program using the puic program from +libqt-perl. Nothing fancy yet, but it got buttons to connect and +drive around.

+ +

The perl module I have written provide a object oriented API for +controlling the robot. Here is an small example on how to use it:

+ +

+use Spykee;
+Spykee::discover(sub {$robot{$_[0]} = $_[1]});
+my $host = (keys %robot)[0];
+my $spykee = Spykee->new();
+$spykee->contact($host, "admin", "admin");
+$spykee->left();
+sleep 2;
+$spykee->right();
+sleep 2;
+$spykee->forward();
+sleep 2;
+$spykee->back();
+sleep 2;
+$spykee->stop();
+

+ +

Thanks to the release of the source of the robot firmware, I could +peek into the implementation at the other end to figure out how to +implement the protocol used by the robot. I've implemented several of +the commands the robot understand, but is still missing the camera +support to make it possible to control the robot from remote. First I +want to implement support for uploading new firmware and configuring +the wireless network, to make it possible to bootstrap a Spykee robot +without the producers Windows and MacOSX software (I only have Linux, +so I had to ask a friend to come over to get the robot testing +going. :).

+ +

Will release the source to the public soon, but need to figure out +where to make it available first. I will add a link to +the NUUG wiki for +those that want to check back later to find it.

- Tags: norsk, vitenskap. + Tags: english, nuug, robot.
- -
2009-03-19 22:15
+ +
2010-08-31 21:00
-

I går tok jeg mot til meg, og løste problemet med -z-aksen ved å borre i delen som manglet feste mot tannjulet som -skal drive z-aksereimen. Dermed var det klart for å montere -z-akse-akslingen på motoren og komme et steg videre med -reprap-monteringen. Prøvekjørte den i dag med -testprogrammet til stepmotoren, og kunne glad konstatere at det hele -fungerte. I hvert fall når stepmotoren ikke forsøkte -å snurre for raskt rundt. Ved høy hastighet roterte -ikke akslingen i det hele tatt. Motoren ble bare stående -å vibrere. Usikker på hvorfor, men antar motoren ikke -har nok kraft til å få hele akslingen til å -rotere så raskt. Denne øvelsen avslørte dog et -annet problem med monteringen så langt. Under testingen -begynte skruer og muttere å ry ned fra ulike deler av -reprap-konstruksjonen. Jeg har ikke skrudd alt hard nok sammen til -å tåle slike vibrasjoner. Tror en 5-6 skruver og/eller -muttere løsnet. Brukte ganske lang tid på å -finne ut hvor det manglet deler og skru ting sammen igjen. Antar alt -må strammes skikkelig til før første -utskrift.

- -

Neste steg er å få laget z-aksebåndet. Der trenger jeg -egnet lim og en konstruksjon for å klemme bandet sammen under -limingen, som -beskrevet -på reprap-wikien. Er blitt tipset om svart superlim som er -elastisk også etter at det tørket, og dro ned til Small Size -Hobbyland på Lilletorget som skulle ha slikt, men da jeg var innom -fikk jeg høre at de ikke lenger hadde slikt lim. Må finne ut -hvor i Oslo jeg kan skaffe slikt. Kanskje Panduro har? Vet ikke hva -limet egentlig heter, så det er vanskelig å søke på nett.

+

Ble tipset i dag om at et forslag om å stoppe forsøkene med +elektronisk stemmegiving utenfor valglokaler er +til +behandling i Stortinget. +Forslaget +er fremmet av Erna Solberg, Michael Tetzschner og Trond Helleland.

+ +

Håper det får flertall.

- Tags: 3d-printer, norsk, nuug, reprap. + Tags: norsk, nuug, sikkerhet.
- -
2009-03-15 22:15
+ +
2010-08-30 19:30
-

Jeg kom over bloggposten -"Newspapers -and Thinking the Unthinkable" som jeg synes forklarer godt hva som -skjer med aviser, og fikk meg til å tenke litt rundt andre utdøende -forretningsmodeller basert på å løse problemer som ikke lenger -eksisterer. Det blir spennende å se hva vi ender opp med.

+

Just got an email from Tobias Gruetzmacher as a followup on my +previous +post about sshfs. He reported another problem with sshfs. It +fail to handle hard links properly. A simple way to spot this is to +look at the . and .. entries in the directory tree. These should have +a link count >1, but on sshfs the count is 1. I just tested to see +what happen when trying to hardlink, and this fail as well:

+ +
+% ln foo bar
+ln: creating hard link `bar' => `foo': Function not implemented
+%
+
+ +

I have not yet found time to implement a test for this in my file +system test code, but believe having working hard links is useful to +avoid surprised unix programs. Not as useful as working file locking +and symlinks, which are required to get a working desktop, but useful +nevertheless. :)

+ +

The latest version of the file system test code is available via +git from +http://github.com/gebi/fs-test

- Tags: norsk, nuug. + Tags: debian edu, english, nuug.
- -
2009-03-13 18:00
+ +
2010-08-28 10:40
-

Advokatene jobber i disse dager hardt for å bli kvitt juryordningen -fra norske domstoler. Det har de forsåvidt jobbet med i mange år. -Personlig tror jeg det er å starte i feil ende, og en dårlig ide.

- -

Visst du at det ikke lages ordrett referat fra norske domstoler? -Det er ingen som skriver ned alt som sies i en norsk rettsal slik en -ser i TV-serier fra USA. Det som publiseres er dommerens -oppsummering, og alt som ikke blir med i den oppsummeringen er det -vanskelig å få dokumentert i ettertid. Konsekvensen er at en kan -lyve så mye en vil fra vitneboksen uten å bli tatt for det i -ettertid, hvis dommeren ikke syntes det som ble sagt var så -interessant at det ble med i dokumentet som dokumenterer -domsavsigelsen. Mens alt som sies fra Stortingets talerstol er -tilgjengelig på web etter kort tid for kontroll og kritikk, er det -ingen tilsvarende mulighet for det som sies fra vitneboksen i en norsk -domstol. Kan dette føre til at en sak varer lengre enn nødvendig i -rettssystemet? Jeg tror det, og synes det er en skam at det ikke -publiseres ordrette referater fra norske rettsaler.

- -

En relatert observasjon er at det i utvalgte deler av landet -eksperimenteres med lydopptak fra rettsalen, men disse opptakene er -kun tilgjengelig for dommeren til hjelp når oppsummeringen skrives. -Jeg synes som et minimum at disse lydopptakene som en regel burde vært -publisert offentlig på web.

+

Jeg skrev for et halvt år siden hvordan +samfunnet +kaster bort ressurser på sikkerhetstiltak som ikke fungerer. Kom +nettopp over en +historie +fra en pilot fra USA som kommenterer det samme. Jeg mistenker det +kun er uvitenhet og autoritetstro som gjør at så få protesterer. Har +veldig sans for piloten omtalt i Aftenposten 2007-10-23, +og skulle ønske flere rettet oppmerksomhet mot problemet. Det gir +ikke meg trygghetsfølelse på flyplassene når jeg ser at +flyplassadministrasjonen kaster bort folk, penger og tid på tull i +stedet for ting som bidrar til reell økning av sikkerheten. Det +forteller meg jo at vurderingsevnen til de som burde bidra til økt +sikkerhet er svært sviktende, noe som ikke taler godt for de andre +tiltakene.

+ +

Mon tro hva som skjer hvis det fantes en enkel brosjyre å skrive ut +fra Internet som forklarte hva som er galt med sikkerhetsopplegget på +flyplassene, og folk skrev ut og la en bunke på flyplassene når de +passerte. Kanskje det ville fått flere til å få øynene opp for +problemet.

+ +

Personlig synes jeg flyopplevelsen er blitt så avskyelig at jeg +forsøker å klare meg med tog, bil og båt for å slippe ubehaget. Det +er dog noe vanskelig i det langstrakte Norge og for å kunne besøke de +delene av verden jeg ønsker å nå. Mistenker at flere har det slik, og +at dette går ut over inntjeningen til flyselskapene. Det er antagelig +en god ting sett fra et miljøperspektiv, men det er en annen sak.

- Tags: norsk. + Tags: norsk, nuug, personvern, sikkerhet.
- -
2009-03-12 16:00
+ +
2010-08-26 22:25
-

Lenge siden det var en oppdatering av status for min 3D-skriver og -i mellomtiden har det skjedd en god del. Reprap-en er nesten ferdig -montert, og elektronikken er også nesten ferdig loddet. Det ser ut -til at bits-from-bytes sitt byggesett versjon 2.01 hadde noen småfeil, -der en del manglet og en annen hadde suboptimalt design. Jeg løser -antagelig det ene problemet med å borre noen ekstra hull til skruver i -en plastdelen som trenger å festes. Det andre problemet håper jeg å -få hjelp fra Audun Vaaler ved Høgskolen i Østfold til å løse. -Høgskolen er igang med å bygge en tilsvarende reprap i versjon 2.0, og -er kommet litt lenger enn meg. De kan forhåpentligvis skrive ut den -delen jeg mangler på denne.

- -

Når det gjelder elektronikken, så er mye allerede loddet sammen av -min venn Anders Rosnes, som har mer peiling på elektronikk og lodding -enn meg. Jeg fikk i dag testet -stepper -motordriveren (v1.1), og det fungerte. Jeg møtte et lite problem -med strømforsyningen, en standard ATX-strømforsyning som nektet å -fungere før jeg hadde satt en ledning mellom GRD og PS_ON som -beskrevet på -reprap-sidene -om PC-strømforsyninger. Jeg møtte også et annet problem med -Arduino-programvaren. Versjon 0013 fungerer visst ikke på -Debian/Etch. Den kompilerte binæren ble på 0 bytes. En side jeg fant -vha. et Google-søk -tipset -meg om at en nedgradering -til versjon -0012 kunne løse problemet, og endelig ser jeg motorakslingen -snurre. Nå er det å koble sammen mekanikk og elektronikk for å se om -reprap-en kvikner til.

+

Denne høsten skal endelig alle Osloskolene få mulighet til å bruke +Skolelinux. Ny IT-løsning +har vært rullet ut i noen måneder nå, og så vidt jeg fikk vite før +sommeren skulle alle skoler ha nytt opplegg på plass før oppstart nå i +høst. På alle skolene skal en kunne velge ved installasjon om en skal +ha Windows eller Skolelinux på maskinene, og en kan i tillegg +PXE-boote maskinene over nett som tynne klienter eller diskløse +arbeidsstasjoner. Jeg er spent på hvor mange skoler som velger å ta i +bruk Skolelinux, og gleder meg til å se hvordan dette utvikler seg. +Løsningen leveres av +Logica med +Skolelinux Drift AS som +underleverandør, og jeg har vært involvert i utviklingen av løsningen +via Skolelinux Drift AS siden prosjektet starter. Jeg synes det er +fantastisk at Skolelinux er kommet så langt siden vi startet i 2001 at +alle elevene i Osloskolene nå skal få mulighet til å bruke +løsningen. Jeg håper de vil sette pris på alle de +fantastiske +brukerprogrammene som er tilgjengelig i Skolelinux.

- Tags: 3d-printer, norsk, nuug, reprap. + Tags: debian edu, norsk.
- -
2009-03-11 23:40
+ +
2010-08-26 13:30
-

I går -lanserte -NUUGs videogruppe -Frikanalen med -åpne -standarder, og resultatet av noen intense uker med arbeide kunne -endelig presenteres. Jeg har tro på åpen kanalkonseptet som -Frikanalen er et eksempel på, der borgerne får anledning til å -kringkaste sitt syn på en åpen og demokratisk måte. Jeg er veldig -glad vi har fått gjort kanalen tilgjengelig i Ogg Theora, slik at alle -kan få tilgang til opptakene på web, og slipper å måtte installere MS -Silverlight for å spille av opptakene.

- -

Frikanalen har en brokete historie, og dagens inkarnasjon er ikke -helt slik foreningen Åpen kanal planla det for mange år siden, noe som -er bakgrunnen for at det fredag 13. mars 2009 kl 09:00 starter en -rettsak i Oslo tingrett der Kringkasterforeningen (tidligere -foreningen Åpen kanal) har saksøkt kulturdepartementet over -konsesjonsvilkårene til Frikanalen. Jeg er spent på resultatet.

- -

I arbeidet med Frikanalen med åpne standarder, så har vi hatt glede -av å se en rekke av innslagene som er tilgjengelig. Her er mye -religiøst sludder, fra -vandring -i jerusalem via -religiøst -vinklede nyheter til -kreasjonisk -retorikk, men også fine -dokumentarer -om redningsselskapet og -interessante -tegneserieanmeldelser. Det jeg derimot har hatt størst glede av, -er - -jul -i studentrådet, der hver episode var en fest å se på. Jeg håper -NUUG lykkes med å få ut sine opptak med like stor suksess.

+

My file system sematics program +presented +a few days ago is very useful to verify that a file system can +work as a unix home directory,and today I had to extend it a bit. I'm +looking into alternatives for home directory access here at the +University of Oslo, and one of the options is sshfs. My friend +Finn-Arne mentioned a while back that they had used sshfs with Debian +Edu, but stopped because of problems. I asked today what the problems +where, and he mentioned that sshfs failed to handle umask properly. +Trying to detect the problem I wrote this addition to my fs testing +script:

+ +
+mode_t touch_get_mode(const char *name, mode_t mode) {
+  mode_t retval = 0;
+  int fd = open(name, O_RDWR|O_CREAT|O_LARGEFILE, mode);
+  if (-1 != fd) {
+    unlink(name);
+    struct stat statbuf;
+    if (-1 != fstat(fd, &statbuf)) {
+      retval = statbuf.st_mode & 0x1ff;
+    }
+    close(fd);
+  }
+  return retval;
+}
+
+/* Try to detect problem discovered using sshfs */
+int test_umask(void) {
+  printf("info: testing umask effect on file creation\n");
+
+  mode_t orig_umask = umask(000);
+  mode_t newmode;
+  if (0666 != (newmode = touch_get_mode("foobar", 0666))) {
+    printf("  error: Wrong file mode %o when creating using mode 666 and umask 000\n",
+           newmode);
+  }
+  umask(007);
+  if (0660 != (newmode = touch_get_mode("foobar", 0666))) {
+    printf("  error: Wrong file mode %o when creating using mode 666 and umask 007\n",
+           newmode);
+  }
+
+  umask (orig_umask);
+  return 0;
+}
+
+int main(int argc, char **argv) {
+  [...]
+  test_umask();
+  return 0;
+}
+
+ +

Sure enough. On NFS to a netapp, I get this result:

+ +
+Testing POSIX/Unix sematics on file system
+info: testing symlink creation
+info: testing subdirectory creation
+info: testing fcntl locking
+  Read-locking 1 byte from 1073741824
+  Read-locking 510 byte from 1073741826
+  Unlocking 1 byte from 1073741824
+  Write-locking 1 byte from 1073741824
+  Write-locking 510 byte from 1073741826
+  Unlocking 2 byte from 1073741824
+info: testing umask effect on file creation
+
+ +

When mounting the same directory using sshfs, I get this +result:

+ +
+Testing POSIX/Unix sematics on file system
+info: testing symlink creation
+info: testing subdirectory creation
+info: testing fcntl locking
+  Read-locking 1 byte from 1073741824
+  Read-locking 510 byte from 1073741826
+  Unlocking 1 byte from 1073741824
+  Write-locking 1 byte from 1073741824
+  Write-locking 510 byte from 1073741826
+  Unlocking 2 byte from 1073741824
+info: testing umask effect on file creation
+  error: Wrong file mode 644 when creating using mode 666 and umask 000
+  error: Wrong file mode 640 when creating using mode 666 and umask 007
+
+ +

So, I can conclude that sshfs is better than smb to a Netapp or a +Windows server, but not good enough to be used as a home +directory.

+ +

Update 2010-08-26: Reported the issue in +BTS report #594498

+ +

Update 2010-08-27: Michael Gebetsroither report that he found the +script so useful that he created a GIT repository and stored it in +http://github.com/gebi/fs-test.

- Tags: norsk, nuug, video. + Tags: debian edu, english, nuug.
- -
2009-03-06 21:20
+ +
2010-08-23 19:30
-

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 Creative -Commons Navngivelse-Del på samme vilkår 3.0 Norge. 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.

+

I Norge pågår en prosess for å +innføre elektronisk +stemmegiving ved kommune- og stortingsvalg. Dette skal +introduseres i 2011. Det er all grunn til å tro at valg i Norge ikke +vil være til å stole på hvis dette blir gjennomført. Da det hele var +oppe til høring i 2006 forfattet jeg +en +høringsuttalelse fra NUUG (og EFN som hengte seg på) som skisserte +hvilke punkter som må oppfylles for at en skal kunne stole på et valg, +og elektronisk stemmegiving mangler flere av disse. Elektronisk +stemmegiving er for alle praktiske formål å putte ens stemme i en sort +boks under andres kontroll, og satse på at de som har kontroll med +boksen er til å stole på - uten at en har mulighet til å verifisere +dette selv. Det er ikke slik en gjennomfører demokratiske valg.

+ +

Da problemet er fundamentalt med hvordan elektronisk stemmegiving +må fungere for at også ikke-krypografer skal kunne delta, har det vært +mange rapporter om hvordan elektronisk stemmegiving har sviktet i land +etter land. En +liten +samling referanser finnes på NUUGs wiki. Den siste er fra India, +der valgkomisjonen har valgt +å +pusse politiet på en forsker som har dokumentert svakheter i +valgsystemet.

+ +

Her i Norge har en valgt en annen tilnærming, der en forsøker seg +med teknobabbel for å få befolkningen til å tro at dette skal bli +sikkert. Husk, elektronisk stemmegiving underminerer de demokratiske +valgene i Norge, og bør ikke innføres.

+ +

Den offentlige diskusjonen blir litt vanskelig av at media har +valgt å kalle dette "evalg", som kan sies å både gjelde elektronisk +opptelling av valget som Norge har gjort siden 60-tallet og som er en +svært god ide, og elektronisk opptelling som er en svært dårlig ide. +Diskusjonen gir ikke mening hvis en skal diskutere om en er for eller +mot "evalg", og jeg forsøker derfor å være klar på at jeg snakker om +elektronisk stemmegiving og unngå begrepet "evalg".

- Tags: norsk, nuug, video. + Tags: norsk, nuug, sikkerhet.
- -
2009-03-05 22:30
+ +
2010-08-21 22:10
-

Etter lang tids jobbing begynner endelig programmet til det -tekniske sporet på konferansen Go Open -2009 å bli ferdig. Det blir 9 punkter på programmet, og etter alt -å dømme blir det disse 9:

- -
    - -
  • "Open Telephony: A solution greater than the sum of its parts" med - Jon "maddog" Hall
  • -
  • OpenSolaris-relatert med Ian Murdock fra SUN
  • -
  • "The inner workings of the OpenStreetmap project and the - technology used" med Andy Allan
  • -
  • Coreboot-relatert med Peter Stuge
  • -
  • "Gratis værdata fra Meteorologisk institutt" med Trond Michelsen
  • -
  • RRDtool/Nagios-relatert med Tobias Oetiker
  • -
  • "Developers guide to server-side productivity and fun using open - source platforms and frameworks" med en gjeng folk fra - JavaBin-miljøet
  • -
  • "G(et)it NÃ¥!" med Marcus Ramberg
  • -
  • Om kontrolltelling av valgresultater med fri programvare med Mitch - Trachtenberg
  • - -
- -

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.

+

I dag fikk jeg endelig tittet litt på mine nyinnkjøpte roboter, og +har brukt noen timer til å google etter interessante referanser og +aktuell kildekode for bruk på Linux. Det mest lovende så langt er +ispykee, som har en +BSD-lisensiert linux-daemon som står som mellomledd mellom roboter på +lokalnettet og en sentral tjeneste der en iPhone kan koble seg opp for +å fjernstyre roboten. Linux-daemonen implementerer deler av +protokollen som roboten forstår. Etter å ha knotet litt med å oppnå +kontakt med roboten (den oppretter et eget ad-hoc wifi-nett, så jeg +måtte gå av mitt vanlige nett for å få kontakt), og kommet frem til at +den lytter på IP-port 9000 og 9001, gikk jeg i gang med å finne ut +hvordan jeg kunne snakke med roboten vha. disse portene. Robotbiten +av protokollen er publisert av produsenten med GPL-lisens, slik at det +er mulig å se hvordan protokollen fungerer. Det finnes en java-klient +for Android som så ganske snasen ut, men fant ingen kildekode for +denne. Derimot hadde iphone-løsningen kildekode, så jeg tok +utgangspunkt i den.

+ +

Daemonen ville i utgangspunktet forsøke å kontakte den sentrale +tjenesten som iphone-programmet kobler seg til. Jeg skrev dette om +til i stedet å sette opp en nettverkstjeneste på min lokale maskin, +som jeg kan koble meg opp til med telnet og gi kommandoer til roboten +(act, forward, right, left, etc). Det involverte i praksis å bytte ut +socket()/connect() med socket()/bind()/listen()/accept() for å gjøre +klienten om til en tjener.

+ +

Mens jeg har forsøkt å få roboten til å bevege seg har min samboer +skrudd sammen resten av roboten for å få montert kamera og plastpynten +(armer, plastfiber for lys). Nå er det hele montert, og roboten er +klar til bruk. Må få flyttet den over til mitt vanlige trådløsnett +før det blir praktisk, men de bitene av protokollen er ikke +implementert i ispykee-daemonen, så der må jeg enten få tak i en mac +eller en windows-maskin, eller implementere det selv.

+ +

Vi var tre som kjøpte slike roboter, og vi har blitt enige om å +samle notater og referanser på NUUGs wiki. Ta en titt +der hvis du er nysgjerrig.

- Tags: norsk, nuug. + Tags: norsk, nuug, robot.
- -
2009-02-28 23:50
+ +
2010-08-18 13:30
-

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.

- -

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:

+

Jeg kjøpte nettopp to +Spykee-roboter, for test og +leking. Kjøpte to da det var så billige, og gir meg mulighet til å +eksperimentere uten å være veldig redd for å ødelegge alt ved å bytte +ut firmware og slikt. Oppdaget at lekebutikken på Bryn senter hadde +en liten stabel på lager som de ikke hadde klart å selge ut etter +fjorårets juleinnkjøp, og var villig til å selge for en femtedel av +vanlig pris. Jeg, Ronny og Jarle har skaffet oss restbeholdningen, og +det blir morsomt å se hva vi får ut av dette.

+ +

Roboten har belter styrt av to motorer, kamera, høytaler, mikrofon +og wifi-tilkobling. Det hele styrt av en GPL-lisensiert databoks som +jeg mistenker kjører linux. Firmware-kildekoden ble visst publisert i +mai. Eneste utfordringen er at kontroller-programvaren kun finnes til +Windows, men det må en kunne jobbe seg rundt når vi har kildekoden til +firmwaren. :)

-
-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&cs=nodhs1&l=no&s=dhs&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/<[^>]+?>/;/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/<[^>]+?>/;/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 && $serial) {
-            my $content =
-                get("http://www-947.ibm.com/systems/support/supportsite.wss/warranty?action=warranty&brandind=5000008&Submit=Submit&type=$producttype&serial=$serial");
-            if ($content) {
-                $content =~ s/<[^>]+?>/;/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;
-}
-
- -

Here are some examples on how to use the function, using fake -serial numbers. The information passed in as arguments are fetched -from dmidecode.

- -
-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");
-
- -

I would recommend this approach for tracking support contracts for -everyone with more than a few computers to administer. :)

- -

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.

+
- Tags: english, nuug. + Tags: norsk, nuug, robot.
- -
2009-02-20 08:50
+ +
2010-08-15 22:20
-

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.

- -

In the last issue of Linux Journal, I came across a project -libdmtx to write and read bar -code blocks as defined in the -The Data Matrix -Standard. 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 bar code -writer written in postscript capable of creating such bar codes, -but this was the first time I found a tool to read these bar -codes.

- -

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.

- -

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.

- -

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.

+

I found the notes from Rob Weir on +how +to crush dissent matching my own thoughts on the matter quite +well. Highly recommended for those wondering which road our society +should go down. In my view we have been heading the wrong way for a +long time.

-

RSS feed

+

RSS feed

-Created by Chronicle v3.5 +Created by Chronicle v3.7