Brasilien tur och retur

Ett år efter min senaste forskningsartikel var det nu äntligen dags att presentera en ny. Jag har varit på flera olika konferenser, och den här gången var det på ICSA, en konferens om mjukvaruarktitektur. Som alla konferenser flyttar den runt, och i år hölls den i Brasilien. Hotellet var svinbilligt, så jag tänkte passa på att komma dit några dagar i förväg för att vänja mig vid tidsomställningen sittandes i en pool. Konferenser har alltid en ”fin middag”, som nu skulle vara på ett steakhouse. Dessutom skulle jag få träffa en av personerna som skulle vara med i betygskommitteen på min licentiatexamen i juni. Det här skulle bli en supervecka.

Bara några dagar innan min planerade avresa mailade de från konferensen om att den blir av, trots virushot. Brasilien hade knappt några fall alls, vi var inte så många, osv. Bra tänkt. Första flyget var från Arlanda kl 6.30 till Amsterdam, så för att slippa börja morgonen med en timme på ett pendeltåg provade jag att bo natten innanRestAndFly. Ok, det var skönt att vara på plats direkt när jag vaknade, men jag sov knappt någonting tills mobilen väckte mig strax efter 4. Dessutom var det delat badrum i korridoren, vilket jag tyckte sämre om än jag hade väntat mig.

img_20200312_045741

När vi gick ner för landning i Amsterdam krängde planet lite åt sidorna, men inte överdrivet mycket. Närmare marken blev det dock värre, så till slut vände piloten upp nosen och gasade järnet för att ta oss upp igen. Första gången jag har varit med om en avbruten landning, klart skoj. Kul checkbox. Tydligen hade det blåst mer än vad planet klarade av, så han bestämde sig för att ta ett varv runt stan först för att se om vinden skulle lugna ner sig. Det gjorde den, så landning nummer två gick utan större besvär. Det var fortfarande blåsigt, men nu på rätt sida om planets maxgräns.

Framme i Amsterdam kollar jag mailen (tack för billig roaming!), där det finns ett från högskolan om att de stoppar alla utlandsresor. Öh, jag är bara några minuter från att gå på planet för att sedan vara i rätt land, så det var ju lika bra att fortsätta. Tänkte jag. Från Amsterdam var det 10 timmar till Fortaleza, så jag frågade redan vid incheckningen på Arlanda om det gick att uppgradera till business class för den sträckan. Jo då, för knappt 5000 kr, dvs en bråkdel av ordinarie pris. Taget! KLM business class var hur som helst super. Rekommenderas för så där långa resor.

img_20200312_120525

Resan över Atlanten gick bra. Enormt god mat, säte med fotstöd som gick att fälla till horisontellt, och eluttag vid sätet så jag kunde hålla laptop och mobil glada. Jag berättade för en av flygvärdinnorna om den avbrutna landningen. Hon hade jobbat på flygplan i 30 år, men aldrig varit med om det. Så kommer vi fram till Fortaleza, där det är lite dimmigt. Ok, no worries. Jahapp, det regnade så pass mycket att planet inte kunde landa, så när det var nästan nere så vände piloten upp nosen och gasade järnet. Jag började känna av ett återkommande tema för den här resan.

I Brasilien aktiverade jag datatrafik på mobilen, och synkade mailen igen. Ett mail hade ”URGENT” i Subject-raden. Ok, jag börjar med det. Konferensen är inställd. ”Kom inte hit”. Fuck. Det lockade inte speciellt mycket att åka ett tredje flyg för att kanske sitta några dagar vid en pool (när det förmodligen ändå skulle regna hela tiden), men då få det ännu jobbigare att komma hem igen nu när flygbolagen ställde in flighter som om de inte hade något bättre för sig.

img_20200312_173112

Det var för sent att avboka hotellet, så de pengarna är förmodligen borta. Å andra sidan var det ju ett billigt hotell. Mot KLM-disken! Det var två sällskap framför mig i en nästan helt tom avgångshall, och det första sällskapet höll på hur länge som helst. En i personalen gick runt bland oss som stod i kö för att få en överblick. Att få plats på ett plan hem, som skulle lyfta lite senare samma kväll, gav tydligen prioritet. Så snart det första sällskapet var klara, vilket tog över en timme, blev jag framviftad.

Det fanns plats på ett plan tillbaka till Amsterdam, förmodligen samma plan som jag kom dit med. Det fanns dock ingen business-uppgradering, där var det fullt. För en nattflight, där jag verkligen hade gillat att kunna fälla sätet till en helt plan säng, blev det istället budget-klassen. Nästan alla som ville fick två säten var, så det var inte så trångt i alla fall. Däremot gick det inte att sova mer än någon halvtimme i taget, trots sovmask och öronproppar. Frukosten var en rejäl omelett, och inte bara söta frallor och juice som häromåret. Bra!

På planet från Amsterdam till Arlanda fick man en egen tre-rad om man ville, och flera rader var helt tomma. Folk verkar inte flyga så mycket nu, skumt. Jag fick i alla fall en egen bild på nya Slussenbron, om än på lite avstånd.

img_20200313_122657

Sedan dags att få tillbaka min fortfarande oöppnade resväska, och åka sista biten hem. Lite mör, kan man ju uttrycka det som. Torsdag kl 6.30 till fredag 12.30 var jag i luften 23 av 30 timmar, för att sammanlagt kanske 40 timmar senare anlända till samma ställe som jag reste från. Do Not Recommend, 2/10.

Jag tänkte skapa min presentation på plats i Brasilien. Jag hade en plan, men inga slides än. I mailet från konferensen stod att man skulle skicka en video på sin presentation på söndag för vidare distribution till de andra deltagarna, så helgens sysselsättning har ju varit räddad i alla fall. Några av presentationerna hade jag sett fram extra mycket emot, och till och med kunnat hitta ”author’s copy” på ett par av artiklarna. Det ska bli kul att få se en sammanfattning av dem sedan, men att bli av med mingel-delen är lite trist.

Sponsored Post Learn from the experts: Create a successful blog with our brand new courseThe WordPress.com Blog

WordPress.com is excited to announce our newest offering: a course just for beginning bloggers where you’ll learn everything you need to know about blogging from the most trusted experts in the industry. We have helped millions of blogs get up and running, we know what works, and we want you to to know everything we know. This course provides all the fundamental skills and inspiration you need to get your blog started, an interactive community forum, and content updated annually.

Köpte dator

Det blev dags att köpa ny jobbdator, eftersom den gamla inte längre ville prata med den externa monitorn. Konfiguration, klick. Leverans hem, tack. Sedan började det strula.

Nej, betalning via faktura var inte möjligt om det var delar som skulle hämtas i butik. Vilket inte var fallet, jag skulle ju få allting levererat? Jag ringde datorföretaget, och undrade vad de menade. Jaha, fakturor var för tillfället avstängt för alla. Jag tipsade om att faktiskt skriva det på webben istället för den direkta lögnen. Fakturor och/eller finansiering skulle eventuellt återkomma vid något senare tillfälle, men det verkade lika gärna kunna bli nästa vecka som strax efter att solen slocknat.

Fram med betalkortet. Klick, klick, och så kom ett bekräftelsemail med en stor rubrik ”Faktureras till” med rätt adress. Öh, va? Sedan kom ett mail till, om att betalningen inte hade gått igenom. Den där som alltså gjordes via kortet ändå.

Jag ringde banken, som sa att jag hade nått taket på det kortets köpgräns. Den gick ju att höja, så jag fick ett PDF-formulär via mail. Det fanns till och med en mailadress jag kunde skicka tillbaka det till. Det enda lite otydliga var signaturfältet. Bankpersonen som jag pratade med först hade sagt att om jag struntade i det fältet, men ringde upp dem efteråt och legitimerade mig via bank-id (det där som funkar för typ alla ekonomiska transaktioner i hela Sverige), så skulle det bli bra. Jag ringde kortavdelningen, men så enkelt var det ju inte. Helst skulle jag skriva ut, signera, och scanna formuläret innan jag mailade det. Det kändes som ett gränsfall att de ännu hellre hade velat ha det faxat. Eller skickat enligt RFC 1149, som någon medeltida barbar. Sorry, jag har ingen skrivare. Däremot hade jag en scannad version av min signatur som jag har använt för diverse offerter. Ok, klipp och klistra. Jetefint. Supersäkert och bra. Det finns ju ingen annan i hela universum som kan göra samma sak. Eller nåt.

Efter att ha mailat patchade versionen ringde jag banken igen, som höll med om att de på den här punkten var ”lite gammaldags”. Nej, att välja den osäkrast möjliga lösningen är bara dumt, speciellt när bättre lösningar redan finns i företaget. Men ok, köpgränsen blev höjd.

Jag hoppade tillbaka till datorköpssidan, bad om ett nytt försök med samma kort, varvid köpet nekades igen. Feltexten innehöll exakt noll information, bara ”det gick inte”. Jag ringde datorföretaget för att försöka få lite mer detaljer, men blev mest bara förvånad över den totala bristen på förståelse för mitt problem. De erbjöd sig att maila banken å mina vägnar, vad nu poängen med det skulle vara. Själv ville jag veta varför betalningen inte gick igenom, inte bara att. Var deras egna webb trasig? Var deras betalningstjänst trasig? Var det något problem hos kortleverantören? Blev det nekat hos banken? I så fall varför?

Det där gäller förresten rent allmänt. Om min begäran om någonting blir nekad, vill jag veta varför. Är det mitt eller den andra sidans fel? Om det är mitt fel, vad skulle jag behöva ändra för att begäran skulle bli godkänd (förutom saker som att bli en minoritetskvinna (kanske inte helt uppenbar pop cultural reference)).

Jag blev till slut vidarekopplad till en annan avdelning, som då kunde se att betalningen redan var gjord. Det var därför mitt senaste försök inte gick igenom, för då hade jag gått över (den nya) köpgränsen igen. Jag gick tillbaka till länken för min order, och jo då, den stod som betald. Mellan att banken höjde köpgränsen och jag klickade på ”Prova igen”, en tid på långt under en minut, hade de alltså lyckats smita emellan och redan genomfört transaktionen. Varför betalningssidan då inte kunde säga det, istället för att försöka ta betalt en gång för mycket, kan man ju också undra.

Jag påpekade att betalning via faktura var ofantligt mycket enklare, men att man kan vänta med leverans till efter att fakturan var betald var tydligen ett totalt okänt koncept. Jag förstår att de inte vill ligga ute med pengar och riskera obetalda fakturor, men enda alternativet är faktiskt inte betalkort.

Man skulle kunna tro att ett (stort) datorföretag har koll på sin webbplats som är till för att köpa företagets datorer. Man skulle också kunna tro att en (stor) bank använder de tekniska lösningar som finns för att erbjuda maximal smidighet för kunden och maximal säkerhet för dem själva. I båda dessa fall har man då tydligen fel.

Nu återstår bara att vänta på att datorn ska skruvas ihop och skickas hit. Eller så dyker den upp på fakturaadressen.

Feldetektorn Theta

Ett väldigt centralt problem när man har datorer som pratar med varandra är att få dem att inse när någon av de andra har dött. Eller helt enkelt inte går att nå, eftersom någon del av internetlinan mellan egna datorn och den potentiellt döda datorn har gått sönder. Dessutom måste de förstå skillnaden på när de själva har fått en trasig uppkoppling, eller när någon annan har fått det.

En enkel lösning är då att alla datorer skickar små ”hur är läget”-paket till varandra. När de får svar, vet de att den de fått svar från fortfarande lever. Får de inget svar från en enstaka dator, är det förmodligen den som är trasig. Får de inga svar alls, är det de själva som har problem.

Det går ju enkelt att effektivisera det där, genom att istället bara skicka ”jag mår bra” till alla, med jämna mellanrum. Samma resultat, men med halva antalet nätverkspaket.

Sedan tar sommartiden slut, så det verkar som att man inte fått svar från någon annan på över en timme. Frågan i båda varianterna ovan är därmed hur länge man ska vänta. Ju kortare tid man väntar, desto snabbare upptäcker man problem, men desto oftare gissar man fel.

Om alla datorer skickar paket till alla andra med ungefär samma frekvens, kan man istället använda Theta-detektorn. Alla datorer har ju en lista med de andra datorer de kommunicerar med, och förutom deras IP-adress och vad man nu behöver, har man då även en räknare. Varje gång man får ett paket av någon, nollställer man den datorns räknare och räknar upp alla andras ett steg. Även datorer som kommunicerar lite mer sällan än de andra, kommer hålla sin räknare på en rimlig nivå. När en dator dör, kommer dess räknare istället öka och öka tills den slår i någon förbestämd gräns. Om det är 10 datorer som pratar med varandra, och någons räknare når 1000, när den i vanliga fall aldrig går över 100, mår den förmodligen inte så bra.

Om datorerna sitter i samma nät eller är utspridda över hela planeten, eller om någon dators klocka ändras lite, spelar nu ingen roll. En dator som kommunicerar mycket mer sällan än de andra, upptäcks med en gång ändå.

Problemet nu är vad ”i vanliga fall” betyder. En enkel lösning är att börja med 0, och sedan behålla typ 90% av det och lägga till 10% av varje nytt värde (eller 99 resp 1, det är bara en fråga om hur känslig man vill att den ska vara). Om värdena är någorlunda lika får man då till slut ett medelvärde som håller sig ganska stabilt. Tyvärr räcker det med några enstaka ovanligt höga värden för att skapa kaos.

Man får mer stabila värden från talseriens median, men att räkna ut den i en oändligt växande talserie är lite jobbigt. Då kan man använda Remedian istället (som jag använde i artikeln i april 2018). Den ger bara ett ungefärligt värde, men är lika effektiv på att filtrera bort undantag. Man får fortfarande vara lite noga när man väljer ”nu är datorn död”-gränsen, men det gör ju ingenting.

Sedan kan man låta bli att skicka flera ”jag mår bra”-paket i rad, utan vänta tills man fått ett sådan från andra sidan. Datorer som står nära varandra kommer då kunna skicka många sådana per tidsenhet, medan de som står längre bort (dvs högre ”ping”) pratar mer sällan. Då är det bara att jämföra medianerna för att de själva ska kunna upptäcka vilka av deras kompisar som står nära, och vilka som står längre bort.

Doktorand

Strax före jul 2016 fick jag besked att jag blivit antagen som doktorand på MDH. Fokuset i början var på testning, men ganska snart gled det över till datakommunikation. Det var helt enkelt för många saker jag ville göra med produkten jag jobbat på sedan 2002, EMG. Mer specifikt är jag industridoktorand, vilket gör att fokuset ska vara på grejer som är bra för arbetsgivaren. Jag fick en idé om att analysera svarstiderna för de sms vi skickar till operatörerna, vilket resulterade i en publicerad artikel i april 2018. Den hann knappt bli klar innan verktyget jag skrev då kom till användning hos flera kunder.

Nu är jag inne på tredje året (av fem), nu med ett allt avsmalnande fokus på geo-replikering. Att köra ett program på en dator är enkelt, men om programmet eller datorn kraschar står trafiken stilla. Det är dåligt. Alltså vill man köra programmet på flera datorer. Problemet då är att de måste samarbeta, vilket inte alltid är så lätt. Om de dessutom står på skilda ställen, t.ex. i serverhallar i olika länder så man inte blir så sårbar om en enstaka internetlina dör, blir det sju resor värre. Som tur var är ”det här är ett problem” en acceptabel artikelkategori. Det hela blev en artikel som publicerades i juli 2018. Att lösa allting där lär hålla mig sysselsatt ett tag till.

Rent allmänt måste en sådan här artikel innehålla en rejäl sektion med referenser till diskussioner om liknande problem och potentiella lösningar som avfärdats av en eller annan anledning. Den processen tar helt galet lång tid, så att jobba som doktorand eller kanske forskare i allmänhet är ju långt ifrån det mest tidseffektiva sättet att lösa uppgifter på. Å andra sidan börjar jag nu hitta folk som funderar på just liknande problem, och även om vi inte kan använda varandras lösningar rakt av så kommer alla en liten bit framåt.

Dessutom gör det att jag alltmer inser vikten av att lösa rätt problem. Istället för att fråga om EMG ska använda MySQL, MongoDB eller Cassandra, blev frågan varför replikering av data är så långsamt. Det blev nyckeln till nästa artikel, som inte har hunnit få en websida än. Än så länge kan den av peer review-folket få allting mellan ”men det här är ju bara korkat och bisarrt, please go away” till ”Best Paper!”.

Visst, jag har nog aldrig skrivit så lite kod som de senaste två åren. En del tid har gått åt till diverse kurser, en del till skrivande av ett par artiklar, men mesta tiden har jag nog ägnat åt att läsa forskningsrapporter. Sedan läst de artiklar de refererar till, och de artiklar som de själva blir refererade av. Framåt i tiden, bakåt i tiden. Det ena sidospåret efter det andra, dag ut och dag in i flera månader. Och plötsligt har jag nu faktiskt kommit en bit på vägen för att lösa det där problemet med geo-replikering som har diskuterats i över 10 år utan någon större framgång. Det är ganska ballt.

En av handledarna på MDH sa att hennes tid som doktorand var det roligaste hon gjort, och att hon knappt förstod varför inte alla gjorde det. Jag är lite benägen att hålla med, i alla fall om man har ett ämne eller ett område som man verkligen vill få koll på. Dels att få en bra bild över var gränsen för mänsklighetens sammanlagda vetande ligger (i ett förvisso vansinnigt smalt området), och hjälpa till att putta gränsen en liten bit framåt. Under en liten, liten stund, är man därmed den personen på hela planeten som vet lite, lite mer om någonting jättespecifikt än alla andra. Sedan blir man ju omkörd cirka en nanosekund senare, men ändå.

Tre år kvar.

Tillbaka

Vartefter åren gick med en egen server, uppstod ett problem. Jag kunde inte på något vettigt sätt uppgradera Linux-installationen. Det hade nämligen inneburit en uppgradering av Ruby On Rails som RSS/Ping körde i, och eftersom jag inte följde med i Rails-uppgraderingarna blev den operationen bara allt större. Hade jag gjort samma sak idag hade jag lagt appen och databasen i varsin Docker-container, och så hade jag kunnat uppdatera en sak i taget.

Nåja. Databasen gav i alla fall upp nyss, och därmed även både RSS/Ping, egen-hostade bloggen osv. Så kan det gå.

Det börjar dyka upp lite saker som jag vill skriva om, men som är för mycket för Twitter, för litet för en forskningsartikel, och Facebook är för inlåst. Så, hej igen WordPress, how ya doing?

 

Det handlar inte om att slåss

Varför är det så svårt att förstå att man inte tränar kampsport för att lära sig att slåss?

Som Fredrik skrev häromdagen så är det bästa att lära sig om man vill undvika att få stryk inte en kampsport, utan 400 meter häck.

Tydligen så deltar fångarna i ett program för att lära sig handskas med sina våldstendenser. Vad skulle kunna vara bättre för det än att lära sig en snygg och disciplinerad kampsport, där de samtidigt som de får slå och sparka så mycket de vill, lär sig kontroll av både kropp och själ? Efteråt lär de vara så trötta att de inte kommer orka bråka med någon, och då är ju liksom problemet löst.

Att sitta någonstans som har en chef som tycker att det är skillnad på ”kollektiv bestraffning” och ”information om att en fullt normal sysselsättning leder till avstängning av en lokal för samtliga” tycker jag mest skulle framkalla våldstendenser.

Länkar: DN

Andra bloggar , , , .

Same same, but different

Jag hoppas att ingen går på Mona Sahlins trams om att de skulle på något sätt riva upp FRA-lagen om de vann valet 2010. Observera följande:

Om det blir det förslag som låg i riksdagen, då river vi upp det och förändrar lagstiftningen. När vi röstar i riksdagen är det på riktigt och vinner vi valet så gör vi också annorlunda, säger Sahlin till SVT:s Rapport.

Eftersom ”en till kontrollstation” räknas som tillräckligt annorlunda för att få Federley och Annie att rösta ”ja” kan man lugnt räkna med att det är ungefär så stora ändringar som Mona vill göra. Som André Assaron påpekar så är det de själva som hittade på den här massavlyssningen från första början, och de har fortfarande kvar Thomas ”Bodströmsamhället” Bodström.

Hon vill också ”bara”:

…söka efter vad man ser som misstanke om brott.

Jaha, bland vad? Jo, bland all trådburen internettrafik, dvs exakt samma sak som den nuvarande FRA-lagen.

Sorry Mona, du får inte min röst den här gången heller.

Andra bloggar om: , , , , .

Tolkning

Det där med att tolka information är inte alltid så enkelt. Jag såg hos Blogge att en lärare blivit uppsagd för att rektorn hade läst några texter från den hårdrocksgrupp som läraren är med i. Tydligen hade han trott att texterna var på allvar, något som Anne förklarar anledningen till. Att tolka den information man får är inte alltid så lätt om man inte förstår bakgrunden, eller hur FRA?

Som vanligt är det de kristna moralisterna som står bakom den här totala bristen på förståelse och kärlek till sina medmänniskor, utan de fortsätter döma alla som inte exakt delar deras åsikter. Eller ännu värre, använder ”men vad ska alla ANDRA tycka?” som svepskäl.

Jag är inte speciellt förvånad, bara förundrad över hur de står ut att se sig själva i spegeln efter att ha stått i kyrkan och lovat att älska sin nästa, när de sedan går ut i verkligheten och gör dem arbetslösa.

Ju fler sådana här saker jag läser om, desto längre bort vill jag vara från religiösa hycklare, och desto farligare förstår jag hur ”lagom” med information är i fel händer.

Länkar: Aftonbladet, SvD.

Andra bloggar om: , , , , .