X-Git-Url: https://pere.pagekite.me/gitweb/homepage.git/blobdiff_plain/a593e0644a0d3790b6332b5bc9b3d4b42f7aa32c..68048d06d221082376f64d422d3b868bef0ad9de:/blog/index.rss diff --git a/blog/index.rss b/blog/index.rss index c8444e7e20..9580a6a0fe 100644 --- a/blog/index.rss +++ b/blog/index.rss @@ -3,533 +3,426 @@ Petter Reinholdtsen - - + http://people.skolelinux.org/pere/blog/ + - Vitenskapens dogmer... - Vitenskapens_dogmer___.html - Vitenskapens_dogmer___.html - Fri, 27 Mar 2009 11:30:00 +0100 + My first perl GUI application - controlling a Spykee robot + http://people.skolelinux.org/pere/blog/My_first_perl_GUI_application___controlling_a_Spykee_robot.html + http://people.skolelinux.org/pere/blog/My_first_perl_GUI_application___controlling_a_Spykee_robot.html + Wed, 1 Sep 2010 21:00:00 +0200 -<p>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.</p> - -<p>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.</p> - -<p>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.</p> - -<p>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.</p> - -<p>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.</p> +<p>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.</p> + +<p>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:</p> + +<p><pre> +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(); +</pre></p> + +<p>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. :).</p> + +<p>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 +<a href="http://wiki.nuug.no/grupper/robot/">the NUUG wiki</a> for +those that want to check back later to find it.</p> - Første reprap-integreringsforsøk - Z-aksen beveger seg - F__rste_reprap_integreringsfors__k___Z_aksen_beveger_seg.html - F__rste_reprap_integreringsfors__k___Z_aksen_beveger_seg.html - Thu, 19 Mar 2009 22:15:00 +0100 + Forslag i stortinget om å stoppe elektronisk stemmegiving i Norge + http://people.skolelinux.org/pere/blog/Forslag_i_stortinget_om____stoppe_elektronisk_stemmegiving_i_Norge.html + http://people.skolelinux.org/pere/blog/Forslag_i_stortinget_om____stoppe_elektronisk_stemmegiving_i_Norge.html + Tue, 31 Aug 2010 21:00:00 +0200 -<p>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.</p> - -<p>Neste steg er å få laget z-aksebåndet. Der trenger jeg -egnet lim og en konstruksjon for å klemme bandet sammen under -limingen, som -<a href="http://reprap.org/bin/view/Main/AssemblingDarwinMachinery#Z_belt">beskrevet -på reprap-wikien</a>. 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.</p> +<p>Ble tipset i dag om at et forslag om å stoppe forsøkene med +elektronisk stemmegiving utenfor valglokaler er +<a href="http://www.stortinget.no/no/Saker-og-publikasjoner/Saker/Sak/?p=46616">til +behandling</a> i Stortinget. +<a href="http://www.stortinget.no/Global/pdf/Representantforslag/2009-2010/dok8-200910-128.pdf">Forslaget</a> +er fremmet av Erna Solberg, Michael Tetzschner og Trond Helleland.</p> + +<p>Håper det får flertall.</p> - Avisene i endring - Avisene_i_endring.html - Avisene_i_endring.html - Sun, 15 Mar 2009 22:15:00 +0100 + Broken hard link handling with sshfs + http://people.skolelinux.org/pere/blog/Broken_hard_link_handling_with_sshfs.html + http://people.skolelinux.org/pere/blog/Broken_hard_link_handling_with_sshfs.html + Mon, 30 Aug 2010 19:30:00 +0200 -<p>Jeg kom over bloggposten -"<a href="http://www.shirky.com/weblog/2009/03/newspapers-and-thinking-the-unthinkable/">Newspapers -and Thinking the Unthinkable</a>" 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.</p> +<p>Just got an email from Tobias Gruetzmacher as a followup on my +<a href="http://people.skolelinux.org/pere/blog/Broken_umask_handling_with_sshfs.html">previous +post about sshfs</a>. 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:</p> + +<pre> +% ln foo bar +ln: creating hard link `bar' => `foo': Function not implemented +% +</pre> + +<p>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. :)</p> + +<p>The latest version of the file system test code is available via +git from +<a href="http://github.com/gebi/fs-test">http://github.com/gebi/fs-test</a></p> - En skam at det ikke finnes ordrett referat fra norske domstoler - En_skam_at_det_ikke_finnes_ordrett_referat_fra_norske_domstoler.html - En_skam_at_det_ikke_finnes_ordrett_referat_fra_norske_domstoler.html - Fri, 13 Mar 2009 18:00:00 +0100 + Sikkerhetsteateret på flyplassene fortsetter + http://people.skolelinux.org/pere/blog/Sikkerhetsteateret_p___flyplassene_fortsetter.html + http://people.skolelinux.org/pere/blog/Sikkerhetsteateret_p___flyplassene_fortsetter.html + Sat, 28 Aug 2010 10:40:00 +0200 -<p>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.</p> - -<p>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.</p> - -<p>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.</p> +<p>Jeg skrev for et halvt år siden hvordan +<a href="http://people.skolelinux.org/pere/blog/Sikkerhet__teater__og_hvordan_gj__re_verden_sikrere.html">samfunnet +kaster bort ressurser på sikkerhetstiltak som ikke fungerer</a>. Kom +nettopp over en +<a href="http://www.askthepilot.com/essays-and-stories/terrorism-tweezers-and-terminal-madness-an-essay-on-security/">historie +fra en pilot fra USA</a> 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 <a +href="http://www.aftenposten.no/nyheter/iriks/article2057501.ece">Aftenposten</a> 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.</p> + +<p>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.</p> + +<p>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.</p> - Testing av reprap-elektronikken igang - Testing_av_reprap_elektronikken_igang.html - Testing_av_reprap_elektronikken_igang.html - Thu, 12 Mar 2009 16:00:00 +0100 + Skolelinux i Osloskolen + http://people.skolelinux.org/pere/blog/Skolelinux_i_Osloskolen.html + http://people.skolelinux.org/pere/blog/Skolelinux_i_Osloskolen.html + Thu, 26 Aug 2010 22:25:00 +0200 -<p>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.</p> - -<p>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 -<a href="http://reprap.org/bin/view/Main/Stepper_Motor_Driver_1_1">stepper -motordriveren (v1.1)</a>, 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å -<a href="http://dev.www.reprap.org/bin/view/Main/PCPowerSupply">reprap-sidene -om PC-strømforsyninger</a>. 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 -<a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1234153046/5">tipset -meg</A> om at en nedgradering -til <a href="http://arduino.googlecode.com/files/arduino-0012-linux.tgz">versjon -0012</a> 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.</p> +<p>Denne høsten skal endelig alle Osloskolene få mulighet til å bruke +<a href="http://www.skolelinux.org/">Skolelinux</a>. 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 +<a href="http://www.logica.no/">Logica</a> med +<a href="http://www.slxdrift.no/">Skolelinux Drift AS</a> 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 +<a href="http://www.skolelinux.no/linux-signpost/">fantastiske +brukerprogrammene</a> som er tilgjengelig i Skolelinux.</p> - Frikanalen og jul i studentrådet - Frikanalen_og_jul_i_studentr__det.html - Frikanalen_og_jul_i_studentr__det.html - Wed, 11 Mar 2009 23:40:00 +0100 + Broken umask handling with sshfs + http://people.skolelinux.org/pere/blog/Broken_umask_handling_with_sshfs.html + http://people.skolelinux.org/pere/blog/Broken_umask_handling_with_sshfs.html + Thu, 26 Aug 2010 13:30:00 +0200 -<p>I går -<a href="http://lists.nuug.no/pipermail/interesserte/2009-March/000387.html">lanserte</a> -NUUGs videogruppe -<a href="http://www.frikanalen.no">Frikanalen</a> med -<a href="http://www.nuug.no/pub/video/frikanalen/frontpage.cgi">åpne -standarder</a>, 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.</p> +<p>My file system sematics program +<a href="http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html">presented +a few days ago</a> 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:</p> -<p>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.</p> +<pre> +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; +} -<p>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 -<a href="http://www.nuug.no/pub/video/frikanalen/fetchvideo.cgi?videoId=720">vandring -i jerusalem</a> via -<a href="http://www.nuug.no/pub/video/frikanalen/fetchvideo.cgi?videoId=779">religiøst -vinklede nyheter</a> til -<a -href="http://www.nuug.no/pub/video/frikanalen/fetchvideo.cgi?videoId=2077">kreasjonisk -retorikk</a>, men også fine -<a href="http://www.nuug.no/pub/video/frikanalen/fetchvideo.cgi?videoId=407">dokumentarer -om redningsselskapet</a> og -<a href="http://www.nuug.no/pub/video/frikanalen/fetchvideo.cgi?videoId=2204">interessante -tegneserieanmeldelser</a>. Det jeg derimot har hatt størst glede av, -er +/* 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; +} -<a href="http://www.nuug.no/pub/video/frikanalen/fetchvideo.cgi?videoId=1556">jul -i studentrådet</a>, der hver episode var en fest å se på. Jeg håper -NUUG lykkes med å få ut sine opptak med like stor suksess.</p> +int main(int argc, char **argv) { + [...] + test_umask(); + return 0; +} +</pre> + +<p>Sure enough. On NFS to a netapp, I get this result:</p> + +<pre> +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 +</pre> + +<p>When mounting the same directory using sshfs, I get this +result:</p> + +<pre> +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 +</pre> + +<p>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.</p> + +<p>Update 2010-08-26: Reported the issue in +<a href="http://bugs.debian.org/594498">BTS report #594498</a></p> + +<p>Update 2010-08-27: Michael Gebetsroither report that he found the +script so useful that he created a GIT repository and stored it in +<a href="http://github.com/gebi/fs-test">http://github.com/gebi/fs-test</a>.</p> - Lisensvalg for NUUG-opptakene endelig på plass - Lisensvalg_for_NUUG_opptakene_endelig_p___plass.html - Lisensvalg_for_NUUG_opptakene_endelig_p___plass.html - Fri, 6 Mar 2009 21:20:00 +0100 + Elektronisk stemmegiving er ikke til å stole på - heller ikke i Norge + http://people.skolelinux.org/pere/blog/Elektronisk_stemmegiving_er_ikke_til____stole_p_____heller_ikke_i_Norge.html + http://people.skolelinux.org/pere/blog/Elektronisk_stemmegiving_er_ikke_til____stole_p_____heller_ikke_i_Norge.html + Mon, 23 Aug 2010 19:30:00 +0200 -<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> +<p>I Norge pågår en prosess for å +<a href="http://www.e-valg.dep.no/">innføre elektronisk +stemmegiving</a> 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 +<a href="http://www.nuug.no/dokumenter/valg-horing-2006-09.pdf">en +høringsuttalelse fra NUUG</a> (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.</p> + +<p>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 +<a href="http://wiki.nuug.no/uttalelser/2006-elektronisk-stemmegiving">liten +samling referanser</a> finnes på NUUGs wiki. Den siste er fra India, +der valgkomisjonen har valgt +<a href="http://www.freedom-to-tinker.com/blog/jhalderm/electronic-voting-researcher-arrested-over-anonymous-source">å +pusse politiet på en forsker</a> som har dokumentert svakheter i +valgsystemet.</p> + +<p>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.</p> + +<p>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".</p> - Teknisk program for Go Open 2009 er nesten ferdig - Teknisk_program_for_Go_Open_2009_er_nesten_ferdig.html - Teknisk_program_for_Go_Open_2009_er_nesten_ferdig.html - Thu, 5 Mar 2009 22:30:00 +0100 + Robot, reis deg... + http://people.skolelinux.org/pere/blog/Robot__reis_deg___.html + http://people.skolelinux.org/pere/blog/Robot__reis_deg___.html + Sat, 21 Aug 2010 22:10:00 +0200 -<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> +<p>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 +<a href="http://ispykee.toyz.org/">ispykee</a>, 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.</p> + +<p>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.</p> + +<p>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.</p> + +<p>Vi var tre som kjøpte slike roboter, og vi har blitt enige om å +samle notater og referanser på <a +href="http://wiki.nuug.no/grupper/robot/">NUUGs wiki</a>. Ta en titt +der hvis du er nysgjerrig.</p> - Checking server hardware support status for Dell, HP and IBM servers - Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html - Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html - Sat, 28 Feb 2009 23:50:00 +0100 + 2 Spykee-roboter i hus, nå skal det lekes + http://people.skolelinux.org/pere/blog/2_Spykee_roboter_i_hus__n___skal_det_lekes.html + http://people.skolelinux.org/pere/blog/2_Spykee_roboter_i_hus__n___skal_det_lekes.html + Wed, 18 Aug 2010 13:30:00 +0200 -<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+) ;/; +<p>Jeg kjøpte nettopp to +<a href="http://www.spykee-robot.com/">Spykee</a>-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.</p> + +<p>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. :)</p> - $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> +<ul> +<li><a href="http://en.wikipedia.org/wiki/Spykee">Wikipedia-oppføring</a></li> +<li><a href=http://www.spykeeworld.com/spykee/US/freeSoftware.html">Nedlasting av firmware-kilden</a></li> +<li><a href="http://wiki.nuug.no/grupper/robot">prosjektwiki hos NUUG</a></li> +</ul> - Using bar codes at a computing center - Using_bar_codes_at_a_computing_center.html - Using_bar_codes_at_a_computing_center.html - Fri, 20 Feb 2009 08:50:00 +0100 + Rob Weir: How to Crush Dissent + http://people.skolelinux.org/pere/blog/Rob_Weir__How_to_Crush_Dissent.html + http://people.skolelinux.org/pere/blog/Rob_Weir__How_to_Crush_Dissent.html + Sun, 15 Aug 2010 22:20:00 +0200 -<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> +<p>I found the notes from Rob Weir on +<a href="http://feedproxy.google.com/~r/robweir/antic-atom/~3/VGb23-kta8c/how-to-crush-dissent.html">how +to crush dissent</a> 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.</p>