Cirkus Telia, akt 2
Alla inlägg i serien: Akt 1 · Akt 2 · Akt 3
Här kommer andra akten i min så robotfyllda berättelse om Telia, att den nog kan klassas som ett science fiction-drama. (I Brazil-anda.)
I första akten berättade jag om hur jag kämpat mig till en brevavisering av postpaket, om hur jag slagits mot massor av robotar och en arg människa, och så förstås om hur många brev jag fått om att få en telefon, utan att få någon telefon.
Bara någon dag efter att jag publicerade det inlägget så kom min telefon faktiskt på posten. Med brevavisering! Mycket bra.
När jag beställde telefonen och abonnemanget så fanns ett erbjudande om litet större minneskort, och det tackade jag ja till. Ett par dagar efter telefonen så kom även det på posten. Försändelsemaximeringen skördar nya segrar! De här två kom åtminstone inom rimlig tid från varandra.
Ett annat erbjudande jag tackade ja till när jag lade beställningen var att få Telia Navigator kostnadsfritt i två år. Den beställningen var jag givetvis nyfiken på, så Navigator hann jag ganska snart prova.

Men efter ytterligare några dagar blev det märkligt igen: Jag väcks en lördagsmorgon av ett robot-SMS som meddelar att jag nu debiterats för nästa månads prenumeration på Navigator. Va?
Jag avbeställer genast min prenumeration, eftersom jag upptäckt att Telia Navigator är fullt av tilläggstjänster som jag ännu bara »provar på«. De kommer säkert också att debiteras inom bara några dagar, och då blir det dyrt.
Efter en halvliter kaffe ringer jag Telias support. Roboten ger mig en minuts väntetid, och efter fem minuter får jag berätta för en ännu en kvinna (jämställdheten är oförändrat dålig sedan akt 1) vad jag har på hjärtat. Det blir en hel del förklarande. Efter fem minuter har hon nästan förstått:
– Så de frågar redan nu om du vill ha kvar tjänsten sen om två år, efter att dina fria år gått ut?
Nej. Jag förklarar litet till.
– Vi ska se om de är där på den kundtjänsten nu... Vänta litet.
Tack! Jag väntar.
I en kvart väntar jag till absolut telefontystnad.
Sedan svarar en robot. Roboten läser upp en meny, men bara det sista alternativet passar; jag trycker 5 för övriga ärenden. Genast replikerar roboten: »Våra öppettider är…«.
Jag uppskattar att roboten vare sig tror att jag är litet bakom flötet eller synsk. Den skriver mig inte på näsan genom att säga att kundtjänsten är stängd, men bistår sakligt med all nödvändig information – öppettiderna – så att jag själv kan räkna ut huruvida det var vid rätt eller fel tidpunkt, på rätt eller fel veckodag, som jag kopplades till Telia Navigators kundtjänst att vänta i en kvart innan den helgslöa roboten behagade svara.
Men när jag nu ska till att berätta att deras kundtjänst var stängd för den där kvinnan som jag talade med tidigare, så lägger roboten på istället för att skicka mig tillbaka till henne. Jag antar att hon gått vidare, och skjuter ärendet på framtiden.

På måndag infaller framtiden. Nu är jag litet stursk mot den där första roboten som man alltid får prata med när man ringer Telia, och säger att jag vill ta ett allvarligt snack med Telia Navigator. Hon förstår mig genast.
Den manliga människa som jag faktiskt får prata med när jag sagt övriga ärenden till den lata Navigator-roboten, han meddelar med mycket överseende mimik (sådant hörs) att jag ju inte bara kan aktivera Navigator hur som helst. Jag måste vänta på brevet som kommer vilken dag som helst.
Aha, brevet.
Det stod nämligen »voucher« i beställningen. När jag nu slår upp ordet ser jag att det betyder »presentkort«.
Det betyder däremot inte att jag kan börja använda tjänsten, utan först måste jag få ett brev med ett presentkort i. Gissningsvis är det inte ett fint och personligen underskrivet presentkort som jag går till en butik med. Istället är det nog ett fult och vanligt trippelvikt ark med en liten kod på, som jag sedan ska mata in i en ruta någonstans på internet, för att därigenom aktivera min prenumeration.
Proceduren är alltså den följande: Telia tillsänder mig ett brev. I brevet finns en kod på ett papper. Den koden ska jag sedan mata in i min telefon och skicka till Telia. Först därefter aktiverar de den personliga och helt nätbaserade tjänst som jag får av dem kostnadsfritt.
Ännu ett brev! De blir bara onödigare och onödigare.

Numera har det gått två veckor sedan jag debiterades och sedan presentkortet skulle komma vilken dag som helst. Det har dessutom gått över fyra veckor sedan jag lade beställningen.
Men något presentkort har jag inte fått än.
Plötsligt har Telia alltså slutat skicka brev till mig. Och jag som trodde att de gillade att skicka brev. Eller är det den lata roboten som maskar? I vilket fall så drabbades jag av separationsångest och har börjat jaga dem igen, i andra ärenden. Men om det berättar jag i nästa akt.

SLUT PÅ ANDRA AKTEN
Efter pausen stundar den spännande tredje akten,
i vilken jag beställer bredband till min nya lägenhet,
och går en fasansväckande dust med Telia Mobilsvar.
(Pausen är okänt lång – mitt bredband från Telia måste installeras först.)
Märka bilder med GPS-koordinater och platsnamn
Många mobiltelefoner har en GPS-mottagare, och om den är påslagen så sparas koordinaterna automatiskt i varje JPEG-fil. Även en del riktigt dyra digitalkameror har GPS, och kan därmed göra samma sak. (Det handlar förstås inte om att märka bilderna i sig med någon plats, utan om att spara koordinaterna i EXIF-informationen.)
Men jag har ingen sådan digitalkamera, och kameran i min mobil är förfärligt dålig. I det här inlägget berättar jag hur jag själv gjort för att använda GPS-mottagaren i mobilen för att spara platsdata i bilderna från digitalkameran.
För att kunna följa instruktionerna krävs (grundläggande) terminalkunskaper. Du behöver dessutom ha följande program installerade på datorn:
- Perl. Har du inte redan Perl installerat, så får du själv lista ut hur du ska gå till väga. Du kan kolla om du har Perl genom att helt enkelt öppna ett terminalfönster och kasta upp en enkel trollformel:Blir du gratulerad är allt grönt.
$ echo "print 'Grattis till Perl!\n';" | perl
- jhead. Krävs egentligen inte, men det underlättar. Kan hämtas härifrån.
- GPS-mottagare. Självfallet krävs en sådan. Den bör även ha förmågan att spara GPS-data i något filformat. Vilket filformat din mottagare sparar spår i spelar sannolikt ingen roll. Själv använder jag en Android-telefon med programmet My Tracks. (QR-kod finns här.)
Då sätter vi igång!
1. Provpromenad
Det första du behöver göra är att ta en liten provpromenad med kameran och GPS-mottagaren. Spela in promenaden på mottagaren, och ta några bilder på olika platser. När du kommer hem, för över bilderna och GPS-spårfilen till datorn.
2. Spårdata i GPX-format
Om din spårfil är i GPX-format, så kan du hoppa över det här steget. Annars ska du installera programmet GPSBabel, som kan läsa och skriva ett stort antal filformat. Använd programmet för att konvertera din spårfil till GPX.
3. Installera skript för koordinatmärkning av bilder
Programmet som står för märkningen är ett Perl-skript, gpsPhoto.pl. Tanka hem det (»HEAD«-versionen går bra) och installera sedan skriptet så här:
$ sudo mkdir -m0755 /usr/opt /usr/opt/bin
$ sudo install -m0755 gpsPhoto.pl /usr/opt/bin
För att skriptet ska fungera behöver du ett par CPAN-moduler, nämligen XML::Parser och Image::ExifTool. Jag kan inte ett jota om Perl, men ett enkelt sätt att kolla om modulerna är installerade, är att göra så här:
$ echo "use XML::Parser;" | perl
Om ingenting händer, i synnerhet inga felmeddelanden, så är den ena modulen på plats. Är den det inte, kan du installera så här:
$ sudo cpan XML::Parser
Den andra modulen letar du efter på samma sätt:
echo "use Image::ExifTool;" | perl
Och om den inte finns, alltså om du inte får något svar, så installera den så här:
$ sudo cpan Image::ExifTool
Samma kommandon som installerar modulerna, uppdaterar även befintliga installationer till den senaste versionen.
4. Lista ut offset mellan kameran och GPS-koordinaterna
Det här är litet lurigt. I normalfallet sparas GPS-spår nämligen med tider i UTC, alltså vad klockan hade varit om du befunnit dig i Storbritannien, och det hade varit normaltid (»vintertid«). Det innebär att kameran, om den är inställd på lokal tid, kommer att gå en timme före GPS-spåret vintertid, och två timmar före sommartid.
Men det kan kanske också vara på något annat sätt. Bäst att kolla!
$ grep time Provpromenad.gpx | head -3
<time>2010-10-22T11:10:53Z</time>
<time>2010-10-22T11:10:56Z</time>
<time>2010-10-22T11:11:00Z</time>
De här tidpunkterna jämför vi med tidpunkten från den första bilden, som togs ungefär samtidigt som jag slog på GPS-spårningen. Nu kommer programmet jhead till användning, men du kan förstås använda något annat program istället.
$ jhead P1030762.JPG | grep Date/Time
Date/Time : 2010:10:22 13:15:52
Enligt kameran, som går rätt, så gick jag alltså ut strax efter klockan 13.00. Följaktligen ligger GPS-datan två timmar efter. Om det nu istället hade varit normaltid för tillfället – och jag inte glömt att ställa om kameran – så hade det bara handlat om en timme istället.
Vi kommer att behöva använda offset-värdet i sekunder. Två timmar är 7200 sekunder, en timme är 3600.
5. Märk bilderna med koordinater
Vi är redan framme vid inläggets höjdpunkt! Det är dags att märka bilderna. För att det hela ska gå smidigt, placera bilderna och GPX-filen i en egen mapp. Sedan är det bara att bränna av den följande salvan. Se till att du gör det i rätt katalog!
$ gpsPhoto.pl --timeoffset -7200 --interpolate linear --gpsfile Provpromenad.gpx --dir .
Efter att skriptet pratat färdigt, och om ingenting gick snett, så är alla bilder i mappen märkta med koordinaterna för platsen de togs.
Om programmet däremot inte kunde hittas, så har du sannolikt inte katalogen /usr/opt/bin i din $PATH. Lätt hänt, lätt löst:
$ echo 'export PATH=$PATH:/usr/opt/bin' >> ~/.profile
Du behöver därefter logga in igen för att detta ska träda i kraft, eller helt enkelt starta om. En quick fix till dess du loggar ut och in i gen är dock möjlig, men kommer bara gälla i det terminalfönster du kör den:
$ export PATH=$PATH:/usr/opt/bin
Försök sedan igen. Om det ändå inte fungerar, ge mig en felrapport så att jag kan uppdatera inlägget!
När bilderna är märkta så vill man gärna se om det fungerat. Vi använder jhead:
$ jhead P1030762.JPG
File name : P1030762.JPG
…
GPS Latitude : N 59d 17m 31.2796s
GPS Longitude: E 15d 10m 4.763s
GPS Altitude : 80m
======= IPTC data: =======
Spec. Instr. : Lat 59.2920221111111, Lon 15.1679896296296 - Bearing: 0 - Altitude: 80m
Record vers. : 4
Ser man på. :-)
6. Märk bilderna med platsnamn
Detta är en liten bonus. Egentligen är bilderna redan märkta med koordinater, men det kan vara roligt att även märka dem med namnet på platsen i fråga. Något skript för att göra detta har jag inte hittat, men jag lyckades faktiskt knacka ihop ett eget, trots att jag som sagt inte kan ett jota av Perl.
För att använda skriptet behöver du, utöver dem från steg 3, även CPAN-modulerna Image::ExifTool::Location och Geo::GeoNames. Du kan testa om du har dem, samt installera dem, på samma vis som du gjorde i steg 3.
Skriptet för platsnamnsmärkning kan du hämta här, och för att installera det gör du så här:
$ sudo install -m 0755 gpsPlacenamePhoto.txt /usr/opt/bin/gpsPlacenamePhoto.pl
Och sedan kör du det på bildfilerna (om du vågar):
$ gpsPlacenamePhoto.pl *.JPG
Skriptet kommer att berätta vad för koordinater den hittar i varje fil, samt vilken plats den noterar. Plats för varje koordinat hämtas automatiskt från sajten GeoNames.
7. Automatisera!
Det vore jobbigt att behöva köra alla dessa kommandon varje gång ett nytt lass bilder kommit in i datorn och ska märkas. Därför har jag gjort i ordning ett enkelt skalskript som automatiserar det hela. Du kan hämta det härifrån, och sedan installera det så här:
$sudo install -m 0755 geoTag.txt /usr/opt/bin/geoTag.sh
Skriptet körs med fördel så här enkelt:
$ geoTag.sh *.JPG
Det använder sig av en funktion i gpsPhoto.pl, som med hjälp av GPX-filerna räknar ut hur stor offset du antagligen har. Om din kamera alltid är inställd på lokal tid när du fotograferar, så kommer den saken alltså att skötas automatiskt.
Vidare så använder sig skriptet inte av någon enstaka GPX-fil, utan den använder alla sådana filer som finns i samma katalog som den du kör skriptet från. Om du skulle vilja hämta GPX-filerna ur en annan katalog istället, så kan du ange sökvägen direkt på kommandoraden:
$ geoTag.sh -g ~/gpxdata *.JPG
Du kan även ändra den följande raden i skriptet, för att förvälja en annan katalog:
DEFAULT_GPXDIR=.
Det finns ett par parametrar till du kan använda. Kör geoTag.sh -h för att se dem. Eventuellt kommer jag att utöka skriptet med fler funktioner när jag tycker mig behöva dem.
8. Vad gör jag om kameran gått fel?
Allt är inte förlorat bara för att du glömt ställa in kamerans klocka! Tiden som kameran sparat i bildfilernas EXIF-information kan ändras smidigt som bara den, med redan nämnda jhead.
Om du till exempel glömt att ställa om kameran till normaltid efter den sista söndagen i oktober, så kommer alla bilder att vara märkta en timme in i framtiden, jämfört med tidpunkten de faktiskt togs. Detta löser vi genom att dra tillbaka klockan en timme:
$ jhead -ta -1:00 *.JPG
Om du istället glömt att ställa om till sommartid, eller om du ångrar dig, så kan du göra det omvända:
$ jhead -ta 1:00 *.JPG
Det går också bra att ställa om tiden enstaka minuter, till exempel tre minuter in i framtiden:
$ jhead -ta 0:03 *.JPG
Om du vill korrigera på sekunden, eller om du vill ändra datum helt och hållet, ska du använda ett annat kommando, som tar hänsyn till att månader och år inte fungerar på samma sätt som timmar och minuter.
För att använda kommandot behöver du två tidpunkter. Först den tidpunkt då en bildfil säger att att bilden togs, och sedan den tidpunkt då bilden enligt en fungerande klocka faktiskt kom till världen. Principen är den följande:
$ jhead -da VERKLIGT_DATUM-FALSKT_DATUM bild.jpeg
Säg till exempel att den första av ett par hundra bilder i en felande samling togs den 5 oktober 2010, och att kameran märkt samma bild som om den togs den 3 februari 1997 istället. Detta fixar således alla bilder i ett svep:
$ jhead -da 2010:10:05-1997:02:03 *.JPG
Förutsatt att alla bilder är lika fel i tiden som den vi plockade datumen från, kommer de nu att vara rätt igen.
Om inte bara datumet, utan även klockslaget var fel, så kan det också korrigeras. Säg att den där bilden togs klockan 13:11, medan kameran trodde hon var 07:39. Saken är lätt:
$ jhead -da 2010:10:05/13:11-1997:02:03/07:39 *.JPG
Och som utlovat, om du upptäcker att alla bilder behöver förflyttas bara fem sekunder bakåt i tiden, så kan du göra det så här:
$ jhead -da 2010:10:05/12:00:00-2010:10:05/12:00:05 *.JPG
jhead har fler fiffiga funktioner! Har du bilder från flera olika kameror, som på grund av olika form på filnamnen inte visas i kronologisk ordning? Döp i sådana fall om dem till tidpunkten de togs så här:
$ jhead -n *.JPG
Du kan även automatiskt rotera bilder, beroende på hur kameran bestämt att de ska roteras, utan att försämra kvaliteten ens en gnutta. (Försämra kvaliteten gör annars vissa bildprogram när man ger sig i kast med att rotera, och bildvisaren i Windows XP tar till mångas förtret helt bort all EXIF-information.)
$ jhead -autorot *.JPG
Det var allt. :-)
Kan man jämföra OpenBSD och SELinux?
Jag har fått en fråga! Kurt undrar så här:
En säkerhetsfråga från en novis.
Vad jag förstår så bygger säkerheten i OPENBSD på att undvika säkerhetshål, så ingen kan komma in. Säkerheten i SELINUX bygger väl på principen att om någon kommer in kan de inte göra något elakt. Skulle man inte kunna kombinera principerna och implementera SELINUX i OPENBSD och därmed få ett supersäkert system?
Det korta svaret är: Nej.
Ett förtydligande tillägg lyder: Beskrivning av de båda projekten är inte riktigt riktig.
En längre utläggning följer. :-)
Jag tror båda projekten sysslar med både intrångssäkerhet och intern säkerhet i lika hög utsträckning. Däremot skiljer de sig från varandra på så vis att SELinux (nästan) bara är en åtkomstmodell, som så att säga "står i mitten" och försöker styra upp eventuella taskigt konstruerade program, medan OpenBSD är ett helt operativsystem (i ordets vidare bemärkelse).
OpenBSD innefattar till exempel varianter av GNU-kompilatorn och Apache-servern, och är »hemsystem« för både OpenSSH och sudo, och GCC-varianten som följer med har ett inbyggt skydd mot stack-smashing. SELinux omfattar däremot inte ens något skal, och än mindre någon kompilator, utan är en uppsättning patchar för Linux-kärnan.
Projekten är alltså inte helt jämförbara, eftersom SELinux bara är en modifikation av Linux-kärnan, medan OpenBSD är både en unik kärna och ett userland bestående av unika program (alltså ungefär en »distribution« på Linux-språk, fast en distribution där alla program kommer från samma källa istället för att ha plockats ihop från olika håll).
Vill man göra en ordentlig jämförelse, så bör det alltså vara mellan OpenBSD och en enskild Linux-distribution (till exempel Ubuntu, Fedora eller Slackware), inte mellan OpenBSD och Linux (vilket vore litet som att jämföra ett mandelträd med en päronplantage.)
Om vi ägnar en stund åt de områden där jämförelser ändå går att göra i någon mån, alltså sådana områden där projekten i en annan värld hade kunnat vara likadana, så finns det faktiskt flera väsentliga skillnader. Den säkerhetsmässigt mest avgörande tror jag är inställningen till användaren. OpenBSD bibehåller aktivt en viss inlärningströskel, och de flesta program som utgör ens en perifer säkerhetsrisk är inte aktiverade på en fräsch installation. Konfigurering sker därtill i regel på klassiskt vis, genom att man ändrar i textfiler, vilket i sin tur kräver att man läser de noggrant underhållna man-sidor som följer med systemet.
Inlärningströskeln gör att man måste lära sig en del om hur programmen fungerar för att få dem att bete sig som man vill, eller för att ens starta dem. Konsekvensen är (förhoppningsvis) mera upplysta användare och administratörer, vilket i grund och botten är vad all säkerhet går ut på, både intern och extern.
I rättvisans namn så är en sådan inriktning antagligen omöjlig att genomföra för SELinux. Projektets fokus är rent kodmässigt betydligt snävare, och svängrummet är därför mera begränsat. Kärnan har inget som helst inflytande över hur svåra eller lätta program är att administrera, hur säker programmens kod är, vad som körs och inte körs direkt efter en installation eller hur bra dokumentationen av programmen är. Däremot kan en kärna vara konstruerad så att den begränsar skadeverkningarna av dåliga program (vilket givetvis inte är förbehållet SELinux, utan det gäller alla kärnor).
Att kombinera SELinux och OpenBSD är i praktiken omöjligt. Linux är rent kodmässigt en klon av Unix, medan BSD-systemen är direkta avkomlingar. BSD-systemen (däribland Darwin under OSX) har var sina egen kärnor, som liknar och delar viss kod med varandra, medan Linux-kärnan har en helt egen struktur och bygger på helt annan kod. BSD är alltså inte Linux, men Linux är (tillsammans med GNU-systemet som brukar följa med) ursprungligen skapat för att efterlikna BSD:s förfäder.
Linux-kärnan är dessutom GPL-licensierad, vilket gör det mycket svårt att använda kod därifrån i BSD-systemen, eftersom de i regel använder olika varianter på BSD-licensen. OpenBSD använder numera mestadels en ISC-licens, som i praktiken bara kräver att licenstexten och copyright-snutten lämnas orörda, och det endast i källkoden. Därför kan man hitta BSD-licensierad i helt sluten programvara, som Windows, marslandaren och en del routrar. GPL tillåter inte något sådant.
Den licensen kräver ju en hel del mer, bland annat att samma licens gäller alla ändringar och tillägg i koden, och att den alltid är tillgänglig till självkostnadspris för alla som har programmet. Om du infogar GPL-kod i ett BSD-licensierat program så måste hela programmet därefter distribueras enligt GPL-villkoren. Det är alltså inte omöjligt att infoga GPL-kod i BSD-licensierade program, men det är få BSD-utvecklare som vill, eftersom de tycker BSD-licensen passar dem bättre.
Om man däremot tar BSD-kod och placerar i GPL-program, så uppstår inga problem förrän någon får lust att hämta tillbaka eventuella förbättringar i koden till ett BSD-program; detta är omöjligt utan att hela programmet blir GPL-licensierat istället. På så vis är BSD-licensen alltid den »svagare« i relation till GPL.
Men som tur är, så tror jag det vore onödigt att kombinera själva idéerna i SELinux med OpenBSD-kärnan. Jag vågar inte påstå att det vore ett säkerhetsmässigt nerköp för OpenBSD, men det skulle nog inte heller tillföra något väsentligt. Ibland talas det om att den mera flexibla filåtkomst-modellen som SELinux implementerar skulle vara en fördel i OpenBSD, men i praktiken kan man uppnå samma effekt med den för Unix-system traditionella åtkomstmodell som OpenBSD använder. En fördel med den traditionella modellen är att den är lättare att förstå sig på och överblicka.
Jag hoppas det här duger som svar på frågan. Dessutom kostar jag på mig brasklappen att jag inte är någon »säkerhetsexpert«, vare sig i betydelsen white hat, eller på så vis att jag försörjer mig genom att varna för internetmaskar åt något antivirusföretag. ;-)
Däremot är jag intresserad sedan flera år tillbaka. Kritiska eller utvecklande kommentarer är med andra ord (också) välkomna!
Cirkus Telia, akt 1
Alla inlägg i serien: Akt 1 · Akt 2 · Akt 3
I dagarna byter jag till Telia-abonnemang, och ska med detta få en ny mobiltelefon. Min förra operatör är HI3G (eller »Tre«).
Egentligen är jag rätt nöjd med HI3G. De har skärpt till sig vad gäller support sedan ett tag tillbaka, och faktiskt varit bra. Därför har jag (nästan) lyckats bortse från att de åtminstone till en början satte ut olagliga master i skogen, som fick drivas med dieselgeneratorer flera månader i sträck för att inte bli upptäckta.
Istället byter jag för att min mobil börjar trilla isär, och för att mina mobilräkningar till mera än hälften består av samtal till Telias mobilnät. Billigare och mer fungerande, alltså. Så nu, adjö till Tre.
Det börjar med att jag väljer telefon, abonnemang och bindningstid på Telias hemsida, fyller i alla uppgifter och skickar iväg beställningen. Jag beställer även portering av mitt nuvarande nummer, och väljer SMS-avisering av postpaketet med telefonen i.

Så långt den smidiga biten.
Nu inser jag att nummerporteringen kanske kommer att föregå leveransen av telefonen, vilket innebär att jag inte kommer att kunna ta emot SMS-aviseringen och hämta ut paketet. My bad. Alltså ringer jag Telias support. Jag får först svara en robot på märkliga frågor och ange telefonnumret saken gäller. Så får jag reda på att Telias automatiska utvärderingsrobot kanske ringer upp mig litet senare, för att kolla vad jag tycker om deras support.
En smidig idé de också implementerat är att man slipper lyssna på telefonkön om man vill; trycker man på direkt uppmaning in knappen 1, så rings man nämligen upp av supporten när det är ens tur i kön. Men jag tänker att jag hellre väntar och lyssnar, och hänger kvar. Och sedan får jag vänta. Efter tio minuter vill jag bli uppringd istället och trycker på 1. Ingenting händer.
1111!!ett
Nähäpp.
Jag lägger på, börjar om, gör om, och när roboten sagt »…tryck 1«, så trycker jag på ett. Den här gången fungerar det.
En kvart senare ringer det. Jag förklarar mitt ärende. Men kvinnan som svarar förstår inte mitt ärende.
Istället förstår hon att bli arg. Tre arga gånger förklarar hon att jag ju kommer att få papper hemskickade där jag kan fylla i om jag vill ha SMS-avisering eller inte. Jag tycker (trevligt) att sådana papper har jag redan fyllt i, fast på nätet. Det tycker inte hon. Till slut tycker jag (fortfarande trevligt, jag har jobbat som högstadielärare) tack för mig, och hoppas förgäves att utvärderingsroboten ska ringa upp.

Ett par dagar senare får jag post. Det är fullmakten för nummerporteringen. Jag skriver under och skickar tillbaka den i bifogat kuvert. Jag ringer Telias support en gång till, pratar med roboten och kopplas vidare. Den här gången vill jag inte bli uppringd och trycker inte 1. Tio minuters kö senare svarar en (tack och lov) helt annan kvinna. Jag förklarar samma ärende. Hon blir inte arg! Istället blir hon intresserad av vad hennes kompisar pratar och skrattar om, och ber mig dröja.
Tre–fyra minuter senare är hon tillbaka i luren.
– Då ska vi se, vad gällde det för telefonnummer?
Suck.
– Jag behöver visst ditt personnummer ser jag nu.
(Varsågod.)
– Och du ville veta när numret flyttades?
Frust. Men jag är alltid trevlig och förklarar en gång till. Sedan är jag god och dröjer ett par minuter till.
När hon återvänder till samtalet så knappar hon länge på vad som förhoppningsvis inte är en skrivmaskin, en modeblogg eller Quake 4, och meddelar till slut att hon bifogat beställningen ett meddelande till säljavdelningen att de ska skicka ett pappersavi. Tydligen gick det inte att ändra beställningen, gissar jag, men bifogade meddelanden är förstås bättre än ingenting alls. Hon blev ju inte ens arg. Tack tack, säger jag, och börjar förstå varför de använder så många robotar.
Den här omgången tog ungefär lika lång tid som den förra, alltså tjugo minuter. Utvärderingsroboten behagar inte ringa.

Ytterligare några dagar går, och under tiden får jag mera post. Först helt ointressant sådan från Telia, om att en kreditbedömning ska göras, tillsammans med ett meddelande från ett annat företag att Telia gjort en kreditbedömning.
Ett par dagar senare får jag ett avtal som ska undertecknas. Alla uppgifter är korrekta, till exempel vilken mobil jag vill ha, vilket abonnemang jag vill ha och vilket personnummer jag vill ha. Någonting om SMS-avisering av postpaketet, det står där däremot inte. Brevet som följer med vet att berätta att nummerporteringen kommer att ske den elfte. Till dess kommer de inte ha levererat vare sig SIM-kort eller telefon, tänker jag mig.
Jag ringer Telias support igen. Den här gången har jag snappat upp ordet »varuleverans« från deras brev, och ser till att hamna på den avdelningen. Jag kopplas omedelbart fram till en (tredje) kvinna. (Hur ser deras rekrytering egentligen ut? Är telefonsupportbranschen så ojämställd?) Jag förklarar att jag vill dubbelkolla att jag kommer att få ett pappersavi, och hon dubbelkollar. Det kommer jag att få! I alla fall enligt bifogat meddelande.
Total tid i telefon: Två minuter. Första positiva upplevelsen av deras support. Så snart utvärderingsroboten får nys om detta, så ringer den givetvis upp mig. Äntligen får jag recensera hur samtalet jag nyss hade gick.
Men muntert medveten om att varje utvärdering är kopplad till det föregående samtalet och kanske till och med personens lönesättning, samtidigt som de ligger till grund för genomsnittliga betyg av hur bra Telias support är generellt, så lägger jag trevligen på luren i robotens öra.

Några dagar senare får jag post. Det är inte roboten som är arg för mitt abrupta avslut. Istället är det en (mycket kryptisk) lista över mina reserverade nummer hos Telia. De meddelar:
Om mobilnumren har flyttats från en annan mobiloperatör och fortfarande är reserverade, ber vi er snarast kontakta oss och meddela hur ni avser att använda numren. Har de reserverade mobilnumren inte aktiverats före den tidpunkt som anges i specifikationen, kommer er reservation att upphöra och era mobilnummer attgå [!] förlorade.
Stön. Vet de inte redan hur jag avser använda mina nummer? Varför måste jag berätta det igen?
Nåväl. Jag får fyra veckor på mig, så det får bero. Dessutom har Telia redan tagit över mitt nummer, det är ju det brevet gäller, så jag har ingenting att ringa med. (De har förresten epost-support också, men det är vanligtvis lättare att få tydliga besked från Andreas Carlgren än från sådana tjänster.)

Dagen därpå får jag mera post. I det ena kuvertet ligger mitt nya SIM-kort, med instruktioner för hur jag börjar använda mitt abonnemang. I det andra kuvertet meddelas att jag numera har ett abonnemang hos Telia. Jag frågar mig nästan om jag fått detta av en ren slump, eller om det faktiskt är min beställning som orsakat abonnemanget. Någon telefon har jag inte att stoppa SIM-kortet i.
Som tur är har jag en robust liten GSM-telefon liggandes, helt obunden från allt vad operatörer heter. Den är från min tid med kontantkort (och en sådan där som gubbar får i näven när de rasar in på Expert och ryter att JAG SKA HA EN MOBIL SOM MAN KAN RINGA MED).
Den provar jag SIM-kortet med. Jubel och idioter, det fungerar!

En av Telias alla robotar, även den en kvinna.
Så nu kan jag till och med ta emot SMS-avier, om jag händelsevis skulle få några sådana. Att jag redan fått en näve brev i ärendet, behöver ju inte innebära att jag får just det där brevet jag faktiskt bett om. Eller?

SLUT PÅ FÖRSTA AKTEN
Efter pausen stundar den spännande andra akten,
i vilken jag kanske får en mobiltelefon med posten.
Dessa dumheter
Jag läser att flera Linux-system (eller ja, åtminstone Fedora) har en pseudo-enhet som heter /dev/watchdog. Funktionen är denna: Om ett program öppnar enheten för läsning, men sedan inte hör av sig på någon minut, så startas systemet om.
Detta är puckat. Det är också själva syftet med enheten.
Problemet är att om enheten kan öppnas av vem som helst, så kan vem som helst starta om systemet:
$ cat /dev/watchdog
Men om enheten bara är läsbar för root då, i sådana fall kan väl ändå inte vem som helst ta ned burken? Så fungerar ju (enligt uppgift) SELinux.
Det hjälper inte. Gör så här så får du reda på varför:
$ find / -type f -perm -4000
En sådan sökning ger dig en lista över alla program som körs som root. Det innebär att de kan öppna enheten.
Allt du behöver göra är alltså att lista ut hur du ska få något av dem att öppna /dev/watchdog för läsning, men sedan inte något mera. Det är tokmöjligt.