Recently I have spent time with -Skolelinux Drift AS on speeding -up a Debian Edu / Skolelinux -Lenny installation using LTSP diskless workstations, and in the -process I discovered something very surprising. The reason the KDE -menu was responding slow when using it for the first time, was mostly -due to the way KDE find application icons. I discovered that showing -the Multimedia menu would cause more than 20 000 IP packages to be -passed between the LTSP client and the NFS server. Most of these were - -NFS LOOKUP calls, resulting in a NFS3ERR_NOENT response. Because the -ping times between the client and the server were in the range 2-20 -ms, the menus would be very slow. Looking at the strace of kicker in -Lenny (or plasma-desktop i Squeeze - same problem there), I see that -the source of these NFS calls are access(2) system calls for -non-existing files. KDE can do hundreds of access(2) calls to find -one icon file. In my example, just finding the mplayer icon required -around 230 access(2) calls.
- -The KDE code seem to search for icons using a list of icon -directories, and the list of possible directories is large. In -(almost) each directory, it look for files ending in .png, .svgz, .svg -and .xpm. The result is a very slow KDE menu when /usr/ is NFS -mounted. Showing a single sub menu may result in thousands of NFS -requests. I am not the first one to discover this. I found a -KDE bug report -from 2009 about this problem, and it is still unsolved.
- -My solution to speed up the KDE menu was to create a package -kde-icon-cache that upon installation will look at all .desktop files -used to generate the KDE menu, find their icons, search the icon paths -for the file that KDE will end up finding at run time, and copying the -icon file to /var/lib/kde-icon-cache/. Finally, I add symlinks to -these icon files in one of the first directories where KDE will look -for them. This cut down the number of file accesses required to find -one icon from several hundred to less than 5, and make the KDE menu -almost instantaneous. I'm not quite sure where to make the package -publicly available, so for now it is only available on request.
- -The bug report mention that this do not only affect the KDE menu -and icon handling, but also the login process. Not quite sure how to -speed up that part without replacing NFS with for example NBD, and -that is not really an option at the moment.
- -If you got feedback on this issue, please let us know on debian-edu -(at) lists.debian.org.
+ +En god og offentlig kilde til bensinpriser i Norge er +dinside.no +sin prisoversikt samlet inn på dugnad fra frivillige over hele +landet. Den har ikke like mange priser rapportert inn som Bitfactorys +mobil-app, men informasjonen som samles inn er enkelt offentlig +tilgjengelig på web. Dessverre forsvinner prisene fra web etter noen +dager, så for å kunne lage analyser og se trender må en lage en +database ved å hente ut informasjon fra dinside.no sine nettsider over +en lengre periode. Jeg startet for litt over en uke siden en +innsamlingstjeneste som gjør nettopp dette. Jeg har de siste ukene +lært meg å bruke Scraperwiki, +et nytt og nyttig verktøy for å strukturere informasjon hentet ut fra +nettsider, PDF-er og andre kilder som trenger strukturering. Hvis du +vil se hvordan prisene har utviklet seg, ta en titt på +scraperwiki-siden + +med databasen over bensinpriser. Den henter ned priser fra +dinside.no hver time. Hvis du vil bidra til å bedre oversikt over +bensinprisene i Norge +registrer +deg hos dinside.no og legg inn prisene fra dine lokale +bensinstasjoner.
+ +Jeg har kun gjort dette med informasjonen fra dinside.no og ikke +informasjonen fra Bitfactory pga. bekymring rundt opphavsrettslige +problemstillinger. Faktainformasjonen samlet inn av brukerene av +dinside.no nettsider er åpenbart publisert offentlig, mens jeg +mistenker det er en juridisk gråsone om det samme gjelder +informasjonen samlet inn av brukerne av bitfactorys mobilapp. Derfor +bidrar jeg med å samle inn priser hos dinside.no, og anbefaler andre å +gjøre det samme. Jeg prioriterer å bidra hos de som forstår verdien +av å dele informasjon med andre uten bruksbegresninger.
About two weeks ago, I was interviewed via email about -Debian Edu and Skolelinux by -Bruce Byfield in Linux Weekly News. The result was made public for -non-subscribers today. I am pleased to see liked our Linux solution -for schools. Check out his article -Debian Edu/Skolelinux: A -distribution for education if you want to learn more.
+ +I fjor lanserte Bitfactory en +mobilapp for å få +tilgang til bensinpriser på landets bensinstasjoner ved å samle +inn prisene på dugnad ved hjelp av mobilapp-ens brukere. +Informasjonen app-ens brukere har samlet inn har så langt kun vært +tilgjengelig for brukerne av app-ene, og API for å hente ut +informasjonen fra andre plattformer har ikke vært publisert. Da +løsningen kom spurte jeg utviklerne om de kunne publisere +API-dokumentasjon og de skulle se på saken, men det har ikke skjedd så +langt. Jeg antar de har vært for travelt opptatt til å publisere +API-dokumentasjon.
+ +Utrolig nok er det i følge +Dagens +Næringsliv og +Finnmark +Dagblad bensinstasjoner som nekter å oppgi prisene sine på +telefon, slik at det ikke finnes en fornuftig måte å få tak i prisene +på uten å samle dem inn på stedet. Flere har dugnader på gang for å +samle inn prisinformasjon om bensin, men så vidt jeg kan se er det kun +dinside.no +og Bitfactorys App som får regelmessige oppdateringer. Dinsides +oversikt er tilgjengelig på web for de som vil følge med, mens +bitfactorys informasjon ikke er like enkelt tilgjengelig.
+ +
Jeg tok meg derfor litt tid for å revers-utvikle protokollen for +Bitfactorys mobilapp for å gjøre den innsamlede informasjonen mer +tilgjengelig for flere. Protokollen bruker HTTP og normal +forms-notasjon for POST. Jeg lot en telefon koble seg til mitt +trådløsnett, og satte opp tcpdump til å samle all trafikken mot +www.bitfactory.no, og deretter tittet på alle HTTP-kallene ved hjelp +av wireshark. Her er API-kallene jeg har identifisert så langt.
+ +stasjonsDatabaseUpdateStamp
+ +GET http://www.bitfactory.no/Bensin/ver1.1.stasjonsDatabaseUpdateStamp
+ +Vet ikke helt hva dette API-kallet gjør, men navnet gjør at jeg +tror den rapporterer når listen over stasjoner sist ble endret. +Returverdien er et tall som pr. 2011-12-09 er 1319145491 og +pr. 2012-05-28 er 1336420693. Mitt gjett er at dette er sekunder +siden 1. januar 1970 ala det en finner på Linux, som kan konverteres +til en leselig dato med perl -e 'print +scalar(localtime(1319145491)), "\n"'. Den første verdien +konverterer da til "Thu Oct 20 23:18:11 2011", mens den andre +konverteres til "Mon May 7 21:58:13 2012".
+ +GetXMLDatabase
+ +echo password=XYZXYZXYZXYZX | POST http://www.bitfactory.no/Bensin/GetXMLDatabase.php
+ +Henter ned listen med stasjoner på XML-format. Argumentet er +password som muligens følger med i programpakken og eventuelt +genereres av app-en. Nedlasting med samme passord flere ganger ser +ikke ut til å fungere. Innholdet er ca. 1600 stasjoner, men manglet +bensinstasjonen i min hjemkommune Ballangen da jeg sjekket, så den er +ikke komplett. Formatet på selve listen ser slik ut (klippet):
+ ++<?xml version="1.0" encoding="UTF-8"?> +<STASJONSDATABASE> +<STASJON> +<NAME></NAME> +<ADDRESS></ADDRESS> +<ID>0</ID> +<LATITUDE>0.000000</LATITUDE> +<LONGITUDE>0.000000</LONGITUDE> +<COMPANY></COMPANY> +</STASJON> +<STASJON> +<NAME>Statoil Best Eidsvoll Verk</NAME> +<ADDRESS>Gamle Trondheimsvei 339 2074 Eidsvoll Verk</ADDRESS> +<ID>1</ID> +<LATITUDE>60.303902</LATITUDE> +<LONGITUDE>11.168100</LONGITUDE> +<COMPANY>Best</COMPANY> +</STASJON> +[...] +<STASJON> +<NAME>Esso Andenes</NAME> +<ADDRESS>Falcksgate 9, 8480 Andenes</ADDRESS> +<ID>1822</ID> +<LATITUDE>69.320999</LATITUDE> +<LONGITUDE>16.118700</LONGITUDE> +<COMPANY>Esso</COMPANY> +</STASJON> +</STASJONSDATABASE> ++ +
GetBanStatus
+ +echo UDID=Android-123456789012345 | POST http://www.bitfactory.no/Bensin/ver1.1.GetBanStatus.php
+ +Vet heller ikke helt hva dette API-kallet gjør. Navnet gjør at jeg +tror den rapporterer om telefonen med UDID oppgitt som argument er +bannlyst fra tjenesten. Bannlysning gjør antagelig at telefonen ikke +kan brukes til å registrere bensinpriser, men det er også mulig det +blokkerer for å se på priser. Eneste POST-argument er UDID, som ser +ut til å være den unike ID-en til en mobil-enhet. Returnverdi er 'NO' +for alle UDID-verdier jeg har testet. Gjetter på at alternativ +returverdi er 'YES', men har ikke sett en slik verdi så langt.
+ +PriserVedStasjoner
+ +echo 'stasjoner=810,364&day=0' | POST http://www.bitfactory.no/Bensin/ver1.1.PriserVedStasjoner.php
+ +Dette kallet henter ut priser registrert på en eller flere +bensinstasjoner. Den tar to POST-argumenter, "stasjoner" som er +kommaseparert liste over stasjons-IDer (numeriske), og "day" som bør +settes til "0" for å få ut informasjon om priser. Usikker på hva +day-tallet betyr, men mistenker det har med hvor langt tilbake i tid +det skal hentes ut informasjon.
+ +Resultatet som kommer tilbake er en kommaseparert liste for hver +enkelt stasjon, med <br> som skillemarkør mellom hver stasjon. +Ikke helt sikker på hva alle feltene er. Her er mine gjett:
+ +1 | Bensinstasjons-ID |
2 | Pris for blyfri 95 oktan, flyttall med punktum som desimalskille. |
3 | Klokkeslett da prisen ble oppdatert, format HH:MM. |
4 | Telefon-ID på formen Android-123456789012345 eller hex-kodet streng/MD5-sum |
5 | tall, uviss betydning. muligens relatert til day-verdien. |
6 | Pris for blyfri 98-oktan? |
7 | samme som felt 3 |
8 | samme som felt 4 |
9 | samme som felt 5 |
10 | Pris for disel |
11 | Samme som felt 3 |
12 | Samme som felt 4 |
13 | Samme som felt 5 |
En stasjonsoppføring består dermed av av bensinstasjons-ID og +deretter tre blokker for 95-oktan bensin, 98-oktan bensin og +disel.
+ +PriserVedStasjon
+ +echo 'id=736&day=0' | POST http://www.bitfactory.no/Bensin/ver1.1.PriserVedStasjon.php
+ +Ser ut til å returnere informasjon for en enkelt bensinstasjon. +Formatet er dato på formen "08_12_2011" for 2011-12-08, og noe som ser +ut som samme format som fra PriserVedStasjoner. For stasjoner der +intet er registrert returnerer den "NO RESULTS".
+ +AllePriser
+ +echo day=0 | POST http://www.bitfactory.no/Bensin/ver1.1.AllePriser.php
+ +Returnere liste med av alle stasjoner det er registrert oppdaterte +priser på siste 24 timer (eller er det fra ca. midnatt dagen før?). +Returnerer "NO RESULTS" når listen er tom. Ellers returnerer den en +dato på formen "Thursday_09_12_2011" fulgt av <br> og deretter +en liste med stasjoner på samme format som PriserVedStasjoner.
Germany is a core area for the +
+In 2003, a German teacher showed up on the Debian Edu and Skolelinux -user community, and this time I managed to get hold of Wolfgang -Schweer, a valuable contributor to the project from Germany. +mailing list with interesting problems and reports proving he setting +up Linux for a (for us at the time) lot of pupils. His name was Ralf +Gesellensetter, and he has been an important tester and contributor +since then, helping to make sure the +Debian Edu +Squeeze release became as good as it is..
Who are you, and how do you spend your days?
-I've studied Mathematics at the university 'Ruhr-Universität' in -Bochum, Germany. Since 1981 I'm working as a teacher at the school -"Westfalen-Kolleg -Dortmund", a second chance school. Here, young adults is given -the opportunity to get further education in order to do the school -examination 'Abitur', which will allow to study at a university. This -second chance is of value for those who want a better job perspective -or failed to get a higher school examination being teens.
- -Besides teaching I was involved in developing online courses for a -blended learning project called 'abitur-online.nrw' and in some other -information technology related projects. For about ten years I've been -teacher and coordinator for the 'abitur-online' project at my -school. Being now in my early sixties, I've decided to leave school at -the end of April this year.
+I am a teacher from Germany, and my subjects are Geography, +Mathematics, and Computer Science ("Informatik"). During the past 12 +years (since 2000), I have been working for a comprehensive (and soon, +also inclusive) school leading to all kind of general levels, such as +O- or A-level ("Abitur"). For quite as long, I've been taking care of +our computer network.
+ +Now, in my early 40s, I enjoy the privilege of spending a lot of my +spare time together with my wife, our son (3 years) and our daughter +(4 months).
How did you get in contact with the Skolelinux/Debian Edu project?
-The first information about Skolelinux must have come to my -attention years ago and somehow related to LTSP (Linux Terminal Server -Project). At school, we had set up a network at the beginning of 1997 -using Suse Linux on the desktop, replacing a Novell network. Since -2002, we used old machines from the city council of Dortmund as thin -clients (LTSP, later Ubuntu/Lessdisks) cause new hardware was out of -reach. At home I'm using Debian since years and - subscribed to the -Debian news letter - heard from time to time about Skolelinux. About -two years ago I proposed to replace the (somehow undocumented and only -known to me) system at school by a well known Debian based system: -Skolelinux.
- -Students and teachers appreciated the new system because of a -better look and feel and an enhanced access to local media on thin -clients. The possibility to alter and/or reset passwords using a GUI -was welcomed, too. Being able to do administrative tasks using a GUI -and to easily set up workstations using PXE was of very high value for -the admin teachers.
+We had tried different Linux based school servers, when members of +my local Linux User Group (LUG OWL) detected Skolelinux. I remember +very well, being part of a party celebrating the Linux New Media Award +("Best Newcomer Distribution", also nominated: Ubuntu) that was given +to Skolelinux at Linux World Exposition in Frankfurt, 2005 (IIRC). Few +months later, I had the chance to join a developer meeting in Ulsrud +(Oslo) and to hand out the award to Knut Yrvin and others. For more +than 7 years, Skolelinux is part of our schools infrastructure, namely +our main server (tjener), one LTSP (today without thin clients), and +approximately 50 work stations. Most of these have the option to boot a +locally installed Skolelinux image. As a consequence, I joined quite +a few events dealing with free software or Linux, and met many Debian +(Edu) developers. All of them seemed quite nice and competent to me, +one more reason to stick to Skolelinux.
What do you see as the advantages of Skolelinux/Debian Edu?
-It's open source, easy to set up, stable and flexible due to it's -Debian base. It integrates LTSP out-of-the-box. And it is documented! -So it was a perfect choice.
- -Being open source, there are no license problems and so it's -possible to point teachers and students to programs like -OpenOffice.org, ViewYourMind (mind mapping) and The Gimp. It's of -high value to be able to adapt parts of the system to special needs of -a school and to choose where to get support for this.
+Debian driven, you are given all the advantages of a community +project including well maintained updates. Once, you are familiar with +the network layout, you can easily roll out an entire educational +computer infrastructure, from just one installation media. As only +free software (FOSS) is used, that supports even elderly hardware, +up-sizing your IT equipment is only limited by space (i.e. available +labs). Especially if you run a LTSP thin client server, your +administration costs tend towards zero.
What do you see as the disadvantages of Skolelinux/Debian Edu?
-Nothing yet.
+While Debian's stability has loads of advantages for servers, this +might be different in some cases for clients: Schools with unlimited +budget might buy new hardware with components that are not yet +supported by Debian stable, or wish to use more recent versions of +office packages or desktop environments. These schools have the +option to run Debian testing or other distributions - if they have the +capacity to do so. Another issue is that Debian release cycles +include a wide range of changes; therefor a high percentage of human +power seems to be absorbed by just keeping the features of Skolelinux +within the new setting of the version to come. During this process, +the cogs of Debian Edu are getting more and more professional, +i.e. harder to understand for novices.
Which free software do you use daily?
-At home (Debian Sid with Gnome Desktop): Iceweasel, LibreOffice, -Mutt, Gedit, Document Viewer, Midnight Commander, flpsed (PDF -Annotator). At school (Skolelinux Lenny): Iceweasel, Gedit, -LibreOffice.
+LibreOffice, Wikipedia, Openstreetmap, Iceweasel (Mozilla Firefox), +KMail, Gimp, Inkscape - and of course the Linux Kernel (not only on +PC, Laptop, Mobile, but also our SAT receiver)
Which strategy do you believe is the right one to use to get schools to use free software?
-Some time ago I thought it was enough to tell people about it. But -that doesn't seem to work quite well. Now I concentrate on those more -interested and hope to get multiplicators that way.
+-
+
+
- Support computer science as regular subject in schools to make +people really "own" their hardware, to make them understand the +difference between proprietary software products, and free software +developing. + +
- Make budget baskets corresponding: In Germany's public schools +there are more or less fixed budgets for IT equipment (including +licenses), so schools won't benefit from any savings here. This +privilege is left to private schools which have consequently a large +share among German Skolelinux schools. + +
- Get free software in the seminars where would-be teachers are +trained. In many cases, teachers' software customs are respected by +decision makers rather than the expertise of any IT experts. + +
- Don't limit ourself to free software run natively. Everybody uses +free software or free licenses (for instance Wikipedia), and this +general concept should get expanded to free educational content to be +shared world wide (school books e.g.). + +
- Make clear where ever you can that the market share of free (libre) +office suites is much above 20 p.c. today, and that you pupils don't +need to know the "ribbon menu" in order to get employed. + +
- Talk about the difference between freeware and free software. + +
- Spread free software, or even collections of portable free apps +for USB pen drives. Endorse students to get a legal copy of +Libreoffice rather than accepting them to use illegal serials. And +keep sending documents in ODF formats. + +