Petter Reinholdtsen

Fri programvare-tilbakeblikk for 2015 og 2016
1st December 2016

Jeg er mer en gjennomsnittlig interessert i fri programvare og fri kultur, og nå når et nytt år nærmer seg slutten tenkte jeg det var på tide med et lite tilbakeblikk på årene som var. Jeg har vært involvert i flere prosjekter og løsninger, og her er en liten gjennomgang av de jeg kom på i farten.

Den største nyheten for meg fra 2015 var at jeg endelig, etter 2.5 år med flekkvis innsats, fikk gitt ut en bokmålsutgave av den klassiske boken Free Culture av Lawrence Lessig. Boken forteller om bakgrunnen for fri kultur-bevegelsen, beskriver problemer med dagens opphavsrett og skisserer hvordan vi kan bøte på problemene både individuelt og som samfunn. Jeg anbefaler alle å lese denne boken, som jeg med god hjelp har gitt ut på engelsk, bokmål og fransk. Papirboken kan bestilles i nettbokhandler i USA som Lulu (Norsk, Fransk, Engelsk), Amazon og Barnes & Noble takket være selvpubliseringsløsningen lulu.com og ebokutgave samt alt som trengs for å oppdatere boken er tilgjengelig fra github.

Et annet prosjekt jeg er veldig fornøyd med å ha deltatt i lanseringen av, er Mimes brønn, NUUG-tjenesten for å gjøre det enklere å be om innsyn i offentlig forvaltning, og spare offentlig forvaltning for å måtte besvare de samme innsynshenvendelsene gang på gang. Etter bare noen måneders drift førte en henvendelse via tjenesten til spørsmål fra Stortinget til regjeringen. I dette og andre tilfeller har NUUG finansiert utvidet klagesak for henvendelser som vi som står bak tjenesten synes fortjener ekstra oppmerksomhet. Så langt har en liten håndfull slike klagesaker blitt sendt til Sivilombudsmannen, der vi fikk medhold i en saken (om .bv omtalt over) og avslag i en annen (oppsummering fra møte i Pentagon om Internet-styring og nasjonal sikkerhet).

Etter at jeg i lengre tid har manglet GPG-nøkkel registrert i Debian (den opprinnelige ble fjernet på grunn av for kort nøkkellengde) fikk jeg endelig fikset ny nøkkel og Debiantilgang i slutten av 2015. Aktiviteten i Debian har ikke vært spesielt skadelidende mens jeg manglet nøkkel (kjenner flere som er villig til å laste opp på mine vegne), men da nøkkelen var på plass steg motivasjonen og jeg har blant anne brukt tiden på å bidra til at pakker relatert til lyd- og videokodekene fra Xiph.org-stiftelsen (dvs. Ogg, Vorbis, Theora, Opus, etc) er i bedre stand i Debian, og har bidratt til å få liv i gruppen som vedlikeholder Xiph-relaterte slik at dette forhåpentligvis skal fungere bedre også i fremtiden. Jeg har jobbet litt mer systemene Isenkram og appstream, som gjør det enklere å håndtere ulike dongler i Debian ved at systemet selv vet og foreslår hvilke pakker som bør installeres for å få dongler til å fungere. Har også fått inn eller hjulpet til å få inn endel nye programpakker, spesielt fornøyd med Sonic Pi, OpenALPR og Coz.

Et Debian-relatert prosjekt jeg følger er FreedomBox, som tar sikte på å tilby en løsning (både programvare og maskinvare) der hvem som helst kan beholde sin private informasjon hjemme hos seg selv i stedet for å dele den med skytjenesteleverandører som Google, Facebook, Twitter, Appear.in med flere. I tillegg til generell deltagelse i utvikling av prosjektet har jeg jobbet med å få alle Debian-pakkene som brukes av Freedombox "reproduserbare" i Debian, dvs. gjøre det mulig å sjekke at pakken som brukes i Freedombox ikke inneholder annet enn det som kommer fra kildekodepakken i Debian og gir et forutsigbart resultat ved bygging. Har også fulgt opp endel feilrapporter relatert til Freedombox-spesifikke pakker (som Plinth og freedombox-setup) og pakker som utgjør tjenestene i en Freedombox.

I samarbeid med Skolelinuxprosjektet og foreningen NUUG har jeg vært med å arrangere flere utviklersamlinger både i 2015 og 2016. Der har oversettere og utviklere blitt lært opp og arbeidet med blant annet dokumentasjon, feilfiksing og utvikling av Skolelinux og Frikanalen. Relatert til dette arbeidet har jeg koordinert norsk oversettelse av Håndbok for Debian-administratorer til bokmål, og flyttet oversetterarbeidet av Skolelinux-håndboken fra Transifex til Weblate. Begge bøkene er snart klare for første gangs korrekturlesing og vi drømmer om å gjøre dem tilgjengelig på papir.

Gjennom hele perioden har jeg holdt et lite øye med NUUG-prosjektet FiksGataMi, som stort sett går av seg selv uten manuelt vedlikehold, men av og til er det problemer med enkelte mottakere (eposter i retur). NUUG-drift oppgraderte tjenesten i løpet av 2016, og jeg bisto Marius Halden litt i forbindelse med dette. Tjenesten får stadig flere brukere, og flere kommuner har tatt kontakt for å lære mer om hvordan FiksGataMi fungerer.

Den åpne TV-kanalen Frikanalen har fått en god del av min oppmerksomhet. Den var i starten av 2015 tilgjengelig på RiksTV kanal 50, web. Kanalen har fått et REST-basert API, og dette har jeg tatt i bruk for å fylle sendeplanen med NUUG-, TED- og Debian-foredrag samt andre tekniske presentasjoner. Har lastet opp mye nytt der og strømlinjeformet prosessen slik at både nye TED- og NUUG-foredrag går veldig greit. På høsten tok jeg en titt på multikast-spredning av kanalen til Uninett, og dette er nå kommet på plass, slik at alle TV-er som bruker Uninetts TV-løsning nå kan se på Frikanalen. Det jobbes for tiden med å få distribusjon på Altibox, og dette håper vi skal være klart i starten av 2017.

Relatert til Frikanalen har jeg i lengre tid forsøkt å få klarhet i hva som er juridisk status for H.264 i Norge. Det er fortsatt uklart for meg om Frikanalen må betale for retten til å kringkaste eller ikke, og om vi risikerer å bryte opphavsrettsvilkår ved å kringkaste på web med H.264. Har spurt ulike aktører for å forsøke å finne ut hvordan de har vurdert situasjonen, uten å bli klok.

Et prosjekt som var morsomt å se ta form var Ole Aamots dokumentarprosjekt om fri programvare i Norge. Han fikk intervjuet en god del av de mest aktive folkene i Norge, og resultatet ble interessant og severdig. Et nærmere prosjekt er NUUGs samarbeide med Oslo dokumentarfilmfestival om visningen av Citizenfour, der NUUG tok opp samtalen i forbindelse med visningen og publiserte opptaket på Frikanalen. Jeg er veldig fornøyd med å ha lyktes med å få dette på plass, selv om jeg ikke rakk å være med på visningen selv. Et annet NUUG-foredrag jeg er spesielt fornøyd med å ha fått på plass er besøket fra Bradley Kuhn fra Software Freedom Conservancy. Det tok mange måneder å organisere i samarbeid med BLUG, men til slutt klarte vi å finne et tidspunkt som passet alle, slik at han kunne besøke Oslo og Bergen. Opptaket fra dette er også publisert på Frikanalen. Generelt har jeg veldig fornøyd med at Frikanalen nå i praksis er Tekno-TV med interessante faktaprogram og presentasjoner nesten hele døgnet, hele uka.

Vi har i lengre tid forsøkt å få opp et Mesh-nett i Oslo, under navnet dugnadsnett.no, uten at vi så langt har klart å nå kritisk masse. Tanken er å gjøre det mulig å kommunisere direkte mellom likeverdige parter uten sentrale knutepunkt som enkelt kan avlyttes. Prosjektet er ikke dødt, men interessen blant oss som er med har ikke vært stor nok til å kunne prioritere dette over alt annet.

En ting som har tatt prioritet for min del er NUUG og EFNs forsøk på å få domstolvurdering av om det er greit for politiet å overta et DNS-domene uten domstolvurdering. Bakgrunnen er at Økokrim tok beslag i popcorn-time.no i mars 2016, med påstand om at nettstedet bidro til opphavsrettsbrudd ved å omtale fri programvareløsningen Popcorn Time og lenke til nettsteder der det var lenker til nettsteder der en kunne laste ned Popcorn Time. For det første mener vi at domstolene bør involveres før DNS-domener tas fra sine eiere, og for det andre mener vi begrunnelsen er så søkt at domenet ikke burde beslaglegges i første omgang. NUUG og EFN forsøkte først å protestere på egne vegne men ble avvist av domstolene med at vi ikke hadde rettslig interesse. Mens dette pågikk lyktes vi å få kontakt med registrar og regnskapsfører som fikk ble raidet av seks stykker fra Økokrim, og i gjeldende runde er det registrar og regnskapsfører som protesterer med støtte fra NUUG og EFN. Advokattimene renner ut og vi håper vi holder ut til saken har fått prøvd saken.

Et annet prosjekt, relatert til fri kultur og åndsverksvern, som jeg har brukt endel tid på er å maskinelt kunne identifisere verk som er falt i det fri i Norge. Jeg ønsker å vite hvor mange kunstuttrykk som blir røvet fra fellesskapet hver gang vernetiden i åndsverksloven blir utvidet, f.eks. nå sist når vernetiden for musikk ble utvidet med 20 år fra 50 til 70 år med tilbakevirkende kraft, som om de som laget musikk for 60 år siden skulle bli mer motivert til å lage musikk av utvidet vernetid. Har sett på å kombinere informasjon fra Nasjonalbiblioteket, Deichmanske bibliotek, Wikipedia, Store Norske Leksikon og WorldCat, og gleder meg til Nasjonalbibliotekets initiativ for autorativ database over verk tar form.

Dårlig konkurranse på drivstoffmarkedet har irritert meg en stund, og jeg laget for flere år siden en skraper som samlet inn prisdata fra ulike kilder. Jeg ble derfor veldig glad da en økonomistudent tok kontakt i starten av 2015 og lurte på om jeg kunne bidra med data til hans masteroppgave om konkurransevilkårene i drivstoffmarkedet. Jeg bidro med glede, og resultatet er publisert i fulltekst som "Hemmeligheten bak bensinprisen : en empirisk analyse av pumpeprisens drivkrefter" på BIBSYS Brage.

I tilegg til det jeg har gjort her har jeg rapportert og fikset en rekke små og store feil i fri programvare, og hjulpet Debian-bidragsytere og upstream-utviklerne med å forbedre forskjellig fri programvare og få det inn i Debian.

Mye av det jeg har fått gjort rundt fri programvare og fri kultur har vært mulig takket være at jeg får dekket 20% av arbeidstiden min på Universitetet i Oslo fra NUUG Foundation for å jobbe med og koordinere fri programvareaktiviteter. Jeg er svært takknemlig til dem og min arbeidsgiver USIT for at jeg har fått muligheten. Uten dette hadde jeg ikke rukket over like mye etter hvert som ungene ble større.

Tags: norsk.
Fortsatt ingen sikkerhetsoppdateringer for billettautomatene til kollektivtrafikken i Oslo?
29th November 2016

For fire og et halvt år siden lot jeg meg overraske over at Ruters billettautomater for kollektivtrafikken i Oslo kjørte Windows 2000 Professional, et og et halvt år etter at Microsoft hadde gitt beskjed om at det ikke lenger kom sikkerhetsoppdateringer til systemet. Støtten fra Microsoft tok slutt 2010-07-13 i følge Wikipedia og Microsoft selv.

For fem dager siden passerte jeg på nytt en slik billettautomat som hadde brutt sammen, og den annonserte fortsatt at den kjører Windows 2000 Professional, nå mer enn seks år siden Microsoft sluttet å komme med sikkerhetspatcher til produktet. Sikret meg et bilde av krasjmeldingen på skjermen.

[foto av billettautomat]

Mon tro om de mangler kildekoden til systemet som kjører på automaten, og dermed ikke uten videre kan oppgradere?

Jeg ser jo fra en innsynshenvendelse om kildekoden til billett-Appen til Ruter på Mimes brønn at Ruter tilsynelatende ikke legger sikkerheten i sertifikater, nøkler og passord, men i stedet baserer seg på at logikken i programvaren holdes hemmelig. Det borger ikke godt for sikkerheten i Ruters datasystemer.

Det er nå tre og et halvt år siden Ruter fortalte Aftenposten at nye automater ble minst seks måneder forsinket, da leverandøren ikke hadde god nok kontroll. Det kan virke som om leverandøren ikke er alene om å ikke ha god nok kontroll.

Bildet er tilgjengelig for bruk med bruksvilkårene til Creative Commons Navngivelse 3.0 Norge (CC BY 3.0).

Oppdatering 2016-12-01: Saken har fått omtale på digi.no og NRK Beta.

Tags: norsk, ruter.
Quicker Debian installations using eatmydata
25th November 2016

Two years ago, I did some experiments with eatmydata and the Debian installation system, observing how using eatmydata could speed up the installation quite a bit. My testing measured speedup around 20-40 percent for Debian Edu, where we install around 1000 packages from within the installer. The eatmydata package provide a way to disable/delay file system flushing. This is a bit risky in the general case, as files that should be stored on disk will stay only in memory a bit longer than expected, causing problems if a machine crashes at an inconvenient time. But for an installation, if the machine crashes during installation the process is normally restarted, and avoiding disk operations as much as possible to speed up the process make perfect sense.

I added code in the Debian Edu specific installation code to enable eatmydata, but did not have time to push it any further. But a few months ago I picked it up again and worked with the libeatmydata package maintainer Mattia Rizzolo to make it easier for everyone to get this installation speedup in Debian. Thanks to our cooperation There is now an eatmydata-udeb package in Debian testing and unstable, and simply enabling/installing it in debian-installer (d-i) is enough to get the quicker installations. It can be enabled using preseeding. The following untested kernel argument should do the trick:

preseed/early_command="anna-install eatmydata-udeb"

This should ask d-i to install the package inside the d-i environment early in the installation sequence. Having it installed in d-i in turn will make sure the relevant scripts are called just after debootstrap filled /target/ with the freshly installed Debian system to configure apt to run dpkg with eatmydata. This is enough to speed up the installation process. There is a proposal to extend the idea a bit further by using /etc/ld.so.preload instead of apt.conf, but I have not tested its impact.

Tags: debian, debian edu, english.
Oversette bokmål til nynorsk, enklere enn du tror takket være Apertium
24th November 2016

I Norge er det mange som trenger å skrive både bokmål og nynorsk. Eksamensoppgaver, offentlige brev og nyheter er eksempler på tekster der det er krav om skriftspråk. I tillegg til alle skoleoppgavene som elever over det ganske land skal levere inn hvert år. Det mange ikke vet er at selv om de kommersielle alternativene Google Translate og Bing Translator ikke kan bidra med å oversette mellom bokmål og nynorsk, så finnes det et utmerket fri programvarealternativ som kan. Oversetterverktøyet Apertium har støtte for en rekke språkkombinasjoner, og takket være den utrettelige innsatsen til blant annet Kevin Brubeck Unhammer, kan en bruke webtjenesten til å fylle inn en tekst på bokmål eller nynorsk, og få den automatoversatt til det andre skriftspråket. Resultatet er ikke perfekt, men et svært godt utgangspunkt. Av og til er resultatet så bra at det kan benyttes uten endringer. Jeg vet f.eks. at store deler av Joomla ble oversatt til nynorsk ved hjelp Apertium. Høres det ut som noe du kan ha bruk for? Besøk i så fall Apertium.org og fyll inn teksten din i webskjemaet der.

Hvis du trenger maskinell tilgang til den bakenforliggende teknologien kan du enten installere pakken apertium-nno-nob på en Debian-maskin eller bruke web-API-et tilgjengelig fra api.apertium.org. Se API-dokumentasjonen for detaljer om web-API-et. Her kan du se hvordan resultatet blir for denne teksten som ble skrevet på bokmål over maskinoversatt til nynorsk.


I Noreg er det mange som treng å skriva både bokmål og nynorsk. Eksamensoppgåver, offentlege brev og nyhende er døme på tekster der det er krav om skriftspråk. I tillegg til alle skuleoppgåvene som elevar over det ganske land skal levera inn kvart år. Det mange ikkje veit er at sjølv om dei kommersielle alternativa Google *Translate og Bing *Translator ikkje kan bidra med å omsetja mellom bokmål og nynorsk, så finst det eit utmerka fri programvarealternativ som kan. Omsetjarverktøyet *Apertium har støtte for ei rekkje språkkombinasjonar, og takka vera den utrøyttelege innsatsen til blant anna Kevin Brubeck Unhammer, kan ein bruka *webtjenesten til å fylla inn ei tekst på bokmål eller nynorsk, og få den *automatoversatt til det andre skriftspråket. Resultatet er ikkje perfekt, men eit svært godt utgangspunkt. Av og til er resultatet så bra at det kan nyttast utan endringar. Eg veit t.d. at store delar av *Joomla vart omsett til nynorsk ved hjelp *Apertium. Høyrast det ut som noko du kan ha bruk for? Besøk i så fall *Apertium.org og fyll inn teksta di i *webskjemaet der.

Viss du treng *maskinell tilgjenge til den *bakenforliggende teknologien kan du anten installera pakken *apertium-*nno-*nob på ein *Debian-maskin eller bruka *web-*API-eit tilgjengeleg frå *api.*apertium.org. Sjå *API-dokumentasjonen for detaljar om *web-*API-eit. Her kan du sjå korleis resultatet vert for denne teksta som vart skreva på bokmål over *maskinoversatt til nynorsk.

Tags: debian, norsk, stavekontroll.
Hyperions magasin Pegasus går for Creative Commons
22nd November 2016

For noen dager siden ble jeg tipset av min venn Andreas Aanerud om at magasinet Pegasus skulle ta i bruk Creative Commons-lisensiering på sine artikler. Han fortalte at den direkte årsaken var at han hadde blitt inspirert av å lese boken Fri kultur (github) og foreslått endringen. Jeg ble veldig glad for å høre dette, da det er det første konkrete tilfellet jeg har hørt om der den norske oversettelsen av Lawrence Lessigs bok Free Culture som jeg ga ut i fjor høst hadde fått noen til å ta i bruk Creative Commons.

Andreas fikk boken av meg som takk for at han inviterte meg til The Gathering, og jeg er veldig glad for at den falt i smak. Jeg ble nysgjerrig på hva som var bakgrunnen for denne policy-endringen hos Hyperion og han sa seg villig til å la seg intervjue til bloggen min.

Hvilke tanker gjorde du deg da boken lå i hånden første gang?

Jeg husker da jeg fikk boken, etter en omvisning på The Gathering i 2016, der jeg var Core Organizer. The Gathering er jo et sted hvor en fremmer delingskultur, i alt fra kode, til løsninger og «hacks», så en kan vel si at boken er veldig relevant!

Mine første tanker om boken, var at den trengte et grafisk løft. Selv har jeg dysleksi og er ikke verdens beste i å lese, men for meg så skal ikke det bety at jeg ikke klarer å lese. Jeg har jo også mine egne tanker om «Fri kultur», ettersom jeg har jobbet med noen norske filmer via NRK og TV2 og nå sitter som en teknisk leder i filmavdelingen til Schjærven Reklamebyrå.

Har du lest boken, og hva tenker du om den nå?

Jeg har lest boken, og for meg er det jo veldig moro å kunne si at Disney var en pirat og nå ha bevisene. Men det å gå fra Disney via RIAA, og så igjennom en jungel av teknikk og programmering og ende opp med spørsmålet om vi alle piratkopierer litt, er enda bedre. For ja, boken klarer å få frem en diskusjon om åndsverk på en god måte gjennom en samling historier, men den viste meg også et bilde, hvor teknologi blir kneblet, og ikke får lov til å utvikle seg, ettersom «opphavsrettsinnehaverne» bryr seg mer om sin industri enn om verden går fremover. Ta f.eks. internettradio! Hvorfor tuller vi med DAB+ og alt det der, når radio kan være en app på alle telefoner i dag. Men den største tanken som jeg satt igjen med, er at vi må få færre advokater og flere tenkere som kan dra oss vekk fra de feilene vi er i ferd med å ende opp i.

Har budskapet i boken påvirker deg og det du holder på med?

The Gathering sin moderforening er KANDU, som er et stolt medlem av Hyperion. Hyperion har et mandat igjennom sitt interne magasin Pegasus å fremme Hyperion sine medlemsarrangementer og kultur. Dette tror jeg er veldig viktig, og en av de viktigste virkemidlene det magasinet nå har fått, er pålegget om å publisere alt under de forskjellige Creative Commons retningslinjer. Grunnen til at Pegasus kan velge fritt blant lisensene til Creative Commons er deres bruk av freelancere m.m. som også må få sine rettigheter dekket.

Det er et steg i riktig retning som jeg håper, vil gi lokalaviser, nasjonale aviser, bloggere m.m. muligheten til å referere til Pegasus sitt innhold uten å måtte be om tillatelse først, som i bunnen vil hjelpe oss å spre vår kultur i Hyperion.

Hva fikk Pegasus til å vedta retninglinjer om bruk av Creative Commons, og hvordan kom dere frem til en slik policy?

Dette skjedde på Hyperion sitt landsting, hvor jeg ønsket å fremme Creative Commons som en retning som flere mener magasinet burde ta, hvordan Pegasus tar det i bruk er mer opp til redaksjonen. Det som var trist er at en del har misforstått hva Creative Commons er. Vi fikk en veldig het «debatt» på facebook i etterkant hvor noen blant annet mener at dette vedtaket har drept Pegasus.

Personlig syntes jeg disse reaksjonene er rare, ettersom Pegasus er et medlemsmagasin og magasinet sitt mål er å spre vår fantastiske kultur. Jeg mener at Ceative Commons-bruksvilkår på artikler skaper en veldig god mulighet til å spre denne kulturen. Det gjør at større og mindre aviser kan låne artikler fra medlemsmagasinet og publisere det hos seg, slik at effekten nettopp er fremme vår kultur.

Jeg gleder meg til å se hvordan redaksjonen håndhever bruken av Creative Commons.

Hvem tror du kunne ha mest nytte av å lese Fri kultur?

Jeg tror at boken Fri kultur bør leses av de som ønsker en debatt om nye medier, samt de som jobber med medier og føler seg «truet» av utviklingen. Kanskje det kan være et lysglimt om at vi må heller være med å utvikle oss, enn å stoppe opp og «beskytte» våre eier-, penge- og materielle interesser.

Spørsmålet for redaksjoner vil vel være om de «tjener» på klikk og sine artikler via annonser, i så fall ville jeg tenkt litt rundt spredningen. Nettavisen Digi.no gjorde en analyse i 2015 som var veldig fin. Hvor de måtte konkludere med at de fikk ut budskapet bedre, men de mistet inntekter på annonsevisning.

Derfor for et magasin som skal «spre» kultur, så burde Creative Commons være en no-brainer, en kunne også kanskje argumentere med at NRK også burde gjøre dette, ettersom de ikke lever av reklame, og vi betaler for innholdet deres.

Kommer du til å anbefale boken til noen du kjenner?

Absolutt! Jeg har faktisk tenkt å gi den videre som en vandrebok, til redaksjonen i Pegasus slik at de kan lese den og få noen ider og tanker om fri kultur.

Du sier at boken klarer å få frem viktig en diskusjon om vern av åndsverk. Boken er jo skrevet med bakgrunn i USAs Copyright-lovgiving og ikke den norske åndsverksloven. Hva gjør at du mener boken er relevant for den norske debatten?

En av tingene boken pekte på var tanken om hvor opphavsretten skal ligge. Skal den ligge hos den som skriver sangen, den som fremfører eller den som tar opp sangen. Og når spørsmålet kom tilbake i en software-utgave, «hvordan kan Adobe styre opphavsretten i sin eBook Publisher» så føler jeg at vi kommer inn på spennende tanker som jeg mener vi glemmer i norsk åndsverksdebatt. USA har rett å slett et «større bilde» som kanskje vi kan ta lærdom av.

Jeg er veldig spent på hvordan redaksjonen i Pegasus kommer til å ta i bruk Creative Commons, og gleder meg til neste tegn på at bokutgivelsen har fått noen til å tenke mer på problemene med dagens åndsverksvern.

Tags: freeculture, norsk, opphavsrett.
Coz profiler for multi-threaded software is now in Debian
13th November 2016

The Coz profiler, a nice profiler able to run benchmarking experiments on the instrumented multi-threaded program, finally made it into Debian unstable yesterday. Lluís Vilanova and I have spent many months since I blogged about the coz tool in August working with upstream to make it suitable for Debian. There are still issues with clang compatibility, inline assembly only working x86 and minimized JavaScript libraries.

To test it, install 'coz-profiler' using apt and run it like this:

coz run --- /path/to/binary-with-debug-info

This will produce a profile.coz file in the current working directory with the profiling information. This is then given to a JavaScript application provided in the package and available from a project web page. To start the local copy, invoke it in a browser like this:

sensible-browser /usr/share/coz-profiler/viewer/index.htm

See the project home page and the USENIX ;login: article on Coz for more information on how it is working.

Tags: debian, english.
How to talk with your loved ones in private
7th November 2016

A few days ago I ran a very biased and informal survey to get an idea about what options are being used to communicate with end to end encryption with friends and family. I explicitly asked people not to list options only used in a work setting. The background is the uneasy feeling I get when using Signal, a feeling shared by others as a blog post from Sander Venima about why he do not recommend Signal anymore (with feedback from the Signal author available from ycombinator). I wanted an overview of the options being used, and hope to include those options in a less biased survey later on. So far I have not taken the time to look into the individual proposed systems. They range from text sharing web pages, via file sharing and email to instant messaging, VOIP and video conferencing. For those considering which system to use, it is also useful to have a look at the EFF Secure messaging scorecard which is slightly out of date but still provide valuable information.

So, on to the list. There were some used by many, some used by a few, some rarely used ones and a few mentioned but without anyone claiming to use them. Notice the grouping is in reality quite random given the biased self selected set of participants. First the ones used by many:

Then the ones used by a few.

Then the ones used by even fewer people

And finally the ones mentioned by not marked as used by anyone. This might be a mistake, perhaps the person adding the entry forgot to flag it as used?

Given the network effect it seem obvious to me that we as a society have been divided and conquered by those interested in keeping encrypted and secure communication away from the masses. The finishing remarks from Aral Balkan in his talk "Free is a lie" about the usability of free software really come into effect when you want to communicate in private with your friends and family. We can not expect them to allow the usability of communication tool to block their ability to talk to their loved ones.

Note for example the option IRC w/OTR. Most IRC clients do not have OTR support, so in most cases OTR would not be an option, even if you wanted to. In my personal experience, about 1 in 20 I talk to have a IRC client with OTR. For private communication to really be available, most people to talk to must have the option in their currently used client. I can not simply ask my family to install an IRC client. I need to guide them through a technical multi-step process of adding extensions to the client to get them going. This is a non-starter for most.

I would like to be able to do video phone calls, audio phone calls, exchange instant messages and share files with my loved ones, without being forced to share with people I do not know. I do not want to share the content of the conversations, and I do not want to share who I communicate with or the fact that I communicate with someone. Without all these factors in place, my private life is being more or less invaded.

Tags: english, personvern, sikkerhet, surveillance.
My own self balancing Lego Segway
4th November 2016

A while back I received a Gyro sensor for the NXT Mindstorms controller as a birthday present. It had been on my wishlist for a while, because I wanted to build a Segway like balancing lego robot. I had already built a simple balancing robot with the kids, using the light/color sensor included in the NXT kit as the balance sensor, but it was not working very well. It could balance for a while, but was very sensitive to the light condition in the room and the reflective properties of the surface and would fall over after a short while. I wanted something more robust, and had the gyro sensor from HiTechnic I believed would solve it on my wishlist for some years before it suddenly showed up as a gift from my loved ones. :)

Unfortunately I have not had time to sit down and play with it since then. But that changed some days ago, when I was searching for lego segway information and came across a recipe from HiTechnic for building the HTWay, a segway like balancing robot. Build instructions and source code was included, so it was just a question of putting it all together. And thanks to the great work of many Debian developers, the compiler needed to build the source for the NXT is already included in Debian, so I was read to go in less than an hour. The resulting robot do not look very impressive in its simplicity:

Because I lack the infrared sensor used to control the robot in the design from HiTechnic, I had to comment out the last task (taskControl). I simply placed /* and */ around it get the program working without that sensor present. Now it balances just fine until the battery status run low:

Now we would like to teach it how to follow a line and take remote control instructions using the included Bluetooth receiver in the NXT.

If you, like me, love LEGO and want to make sure we find the tools they need to work with LEGO in Debian and all our derivative distributions like Ubuntu, check out the LEGO designers project page and join the Debian LEGO team. Personally I own a RCX and NXT controller (no EV3), and would like to make sure the Debian tools needed to program the systems I own work as they should.

Tags: debian, english, robot.
Aktivitetsbånd som beskytter privatsfæren
3rd November 2016

Jeg ble så imponert over dagens gladnyhet på NRK, om at Forbrukerrådet klager inn vilkårene for bruk av aktivitetsbånd fra Fitbit, Garmin, Jawbone og Mio til Datatilsynet og forbrukerombudet, at jeg sendte følgende brev til forbrukerrådet for å uttrykke min støtte:

Jeg ble veldig glad over å lese at Forbrukerrådet klager inn flere aktivitetsbånd til Datatilsynet for dårlige vilkår. Jeg har ønsket meg et aktivitetsbånd som kan måle puls, bevegelse og gjerne også andre helserelaterte indikatorer en stund nå. De eneste jeg har funnet i salg gjør, som dere også har oppdaget, graverende inngrep i privatsfæren og sender informasjonen ut av huset til folk og organisasjoner jeg ikke ønsker å dele aktivitets- og helseinformasjon med. Jeg ønsker et alternativ som ikke sender informasjon til skyen, men derimot bruker en fritt og åpent standardisert protokoll (eller i det minste en dokumentert protokoll uten patent- og opphavsrettslige bruksbegrensinger) til å kommunisere med datautstyr jeg kontrollerer. Er jo ikke interessert i å betale noen for å tilrøve seg personopplysninger fra meg. Desverre har jeg ikke funnet noe alternativ så langt.

Det holder ikke å endre på bruksvilkårene for enhetene, slik Datatilsynet ofte legger opp til i sin behandling, når de gjør slik f.eks. Fitbit (den jeg har sett mest på). Fitbit krypterer informasjonen på enheten og sender den kryptert til leverandøren. Det gjør det i praksis umulig både å sjekke hva slags informasjon som sendes over, og umulig å ta imot informasjonen selv i stedet for Fitbit. Uansett hva slags historie som forteller i bruksvilkårene er en jo både prisgitt leverandørens godvilje og at de ikke tvinges av sitt lands myndigheter til å lyve til sine kunder om hvorvidt personopplysninger spres ut over det bruksvilkårene sier. Det er veldokumentert hvordan f.eks. USA tvinger selskaper vha. såkalte National security letters til å utlevere personopplysninger samtidig som de ikke får lov til å fortelle dette til kundene sine.

Stå på, jeg er veldig glade for at dere har sett på saken. Vet dere om aktivitetsbånd i salg i dag som ikke tvinger en til å utlevere aktivitets- og helseopplysninger med leverandøren?

Jeg håper en konkurrent som respekterer kundenes privatliv klarer å nå opp i markedet, slik at det finnes et reelt alternativ for oss som har full tillit til at skyleverandører vil prioritere egen inntjening og myndighetspålegg langt foran kundenes rett til privatliv. Jeg har ingen tiltro til at Datatilsynet vil kreve noe mer enn at vilkårene endres slik at de forklarer eksplisitt i hvor stor grad bruk av produktene utraderer privatsfæren til kundene. Det vil nok gjøre de innklagede armbåndene «lovlige», men fortsatt tvinge kundene til å dele sine personopplysninger med leverandøren.

Tags: norsk, personvern, sikkerhet, surveillance.
Experience and updated recipe for using the Signal app without a mobile phone
10th October 2016

In July I wrote how to get the Signal Chrome/Chromium app working without the ability to receive SMS messages (aka without a cell phone). It is time to share some experiences and provide an updated setup.

The Signal app have worked fine for several months now, and I use it regularly to chat with my loved ones. I had a major snag at the end of my summer vacation, when the the app completely forgot my setup, identity and keys. The reason behind this major mess was running out of disk space. To avoid that ever happening again I have started storing everything in userdata/ in git, to be able to roll back to an earlier version if the files are wiped by mistake. I had to use it once after introducing the git backup. When rolling back to an earlier version, one need to use the 'reset session' option in Signal to get going, and notify the people you talk with about the problem. I assume there is some sequence number tracking in the protocol to detect rollback attacks. The git repository is rather big (674 MiB so far), but I have not tried to figure out if some of the content can be added to a .gitignore file due to lack of spare time.

I've also hit the 90 days timeout blocking, and noticed that this make it impossible to send messages using Signal. I could still receive them, but had to patch the code with a new timestamp to send. I believe the timeout is added by the developers to force people to upgrade to the latest version of the app, even when there is no protocol changes, to reduce the version skew among the user base and thus try to keep the number of support requests down.

Since my original recipe, the Signal source code changed slightly, making the old patch fail to apply cleanly. Below is an updated patch, including the shell wrapper I use to start Signal. The original version required a new user to locate the JavaScript console and call a function from there. I got help from a friend with more JavaScript knowledge than me to modify the code to provide a GUI button instead. This mean that to get started you just need to run the wrapper and click the 'Register without mobile phone' to get going now. I've also modified the timeout code to always set it to 90 days in the future, to avoid having to patch the code regularly.

So, the updated recipe for Debian Jessie:

  1. First, install required packages to get the source code and the browser you need. Signal only work with Chrome/Chromium, as far as I know, so you need to install it.
    apt install git tor chromium
    git clone https://github.com/WhisperSystems/Signal-Desktop.git
    
  2. Modify the source code using command listed in the the patch block below.
  3. Start Signal using the run-signal-app wrapper (for example using `pwd`/run-signal-app).
  4. Click on the 'Register without mobile phone', will in a phone number you can receive calls to the next minute, receive the verification code and enter it into the form field and press 'Register'. Note, the phone number you use will be user Signal username, ie the way others can find you on Signal.
  5. You can now use Signal to contact others. Note, new contacts do not show up in the contact list until you restart Signal, and there is no way to assign names to Contacts. There is also no way to create or update chat groups. I suspect this is because the web app do not have a associated contact database.

I am still a bit uneasy about using Signal, because of the way its main author moxie0 reject federation and accept dependencies to major corporations like Google (part of the code is fetched from Google) and Amazon (the central coordination point is owned by Amazon). See for example the LibreSignal issue tracker for a thread documenting the authors view on these issues. But the network effect is strong in this case, and several of the people I want to communicate with already use Signal. Perhaps we can all move to Ring once it work on my laptop? It already work on Windows and Android, and is included in Debian and Ubuntu, but not working on Debian Stable.

Anyway, this is the patch I apply to the Signal code to get it working. It switch to the production servers, disable to timeout, make registration easier and add the shell wrapper:

cd Signal-Desktop; cat <<EOF | patch -p1
diff --git a/js/background.js b/js/background.js
index 24b4c1d..579345f 100644
--- a/js/background.js
+++ b/js/background.js
@@ -33,9 +33,9 @@
         });
     });
 
-    var SERVER_URL = 'https://textsecure-service-staging.whispersystems.org';
+    var SERVER_URL = 'https://textsecure-service-ca.whispersystems.org';
     var SERVER_PORTS = [80, 4433, 8443];
-    var ATTACHMENT_SERVER_URL = 'https://whispersystems-textsecure-attachments-staging.s3.amazonaws.com';
+    var ATTACHMENT_SERVER_URL = 'https://whispersystems-textsecure-attachments.s3.amazonaws.com';
     var messageReceiver;
     window.getSocketStatus = function() {
         if (messageReceiver) {
diff --git a/js/expire.js b/js/expire.js
index 639aeae..beb91c3 100644
--- a/js/expire.js
+++ b/js/expire.js
@@ -1,6 +1,6 @@
 ;(function() {
     'use strict';
-    var BUILD_EXPIRATION = 0;
+    var BUILD_EXPIRATION = Date.now() + (90 * 24 * 60 * 60 * 1000);
 
     window.extension = window.extension || {};
 
diff --git a/js/views/install_view.js b/js/views/install_view.js
index 7816f4f..1d6233b 100644
--- a/js/views/install_view.js
+++ b/js/views/install_view.js
@@ -38,7 +38,8 @@
             return {
                 'click .step1': this.selectStep.bind(this, 1),
                 'click .step2': this.selectStep.bind(this, 2),
-                'click .step3': this.selectStep.bind(this, 3)
+                'click .step3': this.selectStep.bind(this, 3),
+                'click .callreg': function() { extension.install('standalone') },
             };
         },
         clearQR: function() {
diff --git a/options.html b/options.html
index dc0f28e..8d709f6 100644
--- a/options.html
+++ b/options.html
@@ -14,7 +14,10 @@
         <div class='nav'>
           <h1>{{ installWelcome }}</h1>
           <p>{{ installTagline }}</p>
-          <div> <a class='button step2'>{{ installGetStartedButton }}</a> </div>
+          <div> <a class='button step2'>{{ installGetStartedButton }}</a>
+	    <br> <a class="button callreg">Register without mobile phone</a>
+
+	  </div>
           <span class='dot step1 selected'></span>
           <span class='dot step2'></span>
           <span class='dot step3'></span>
--- /dev/null   2016-10-07 09:55:13.730181472 +0200
+++ b/run-signal-app   2016-10-10 08:54:09.434172391 +0200
@@ -0,0 +1,12 @@
+#!/bin/sh
+set -e
+cd $(dirname $0)
+mkdir -p userdata
+userdata="`pwd`/userdata"
+if [ -d "$userdata" ] && [ ! -d "$userdata/.git" ] ; then
+    (cd $userdata && git init)
+fi
+(cd $userdata && git add . && git commit -m "Current status." || true)
+exec chromium \
+  --proxy-server="socks://localhost:9050" \
+  --user-data-dir=$userdata --load-and-launch-app=`pwd`
EOF
chmod a+rx run-signal-app

As usual, if you use Bitcoin and want to show your support of my activities, please send Bitcoin donations to my address 15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b.

Tags: debian, english, sikkerhet, surveillance.

RSS feed

Created by Chronicle v4.6