Bittorrent is as far as I know, currently the most efficient way to -distribute content on the Internet. It is used all by all sorts of -content providers, from national TV stations like -NRK, Linux distributors like -Debian and -Ubuntu, and of course the -Internet archive. +
+I forrige uke var jeg i Borgarting lagmannsrett som partshjelper og + sakkyndig vitne og presenterte mine oppdaterte undersøkelser rundt + telling + av filmverk i det fri, relatert til + foreningen NUUGs involvering i saken om + Ãkokrims beslag og senere inndragning av DNS-domenet + popcorn-time.no. I forkant hadde jeg oppdatert mitt notat med + kommentarer til et av aktors bevis, som forsøkte Ã¥ mÃ¥le hvor stor + andel ulovligheter som var tilgjengelig via Popcorn Time-avspillere. + Jeg mistenker flere kan ha glede av Ã¥ lese dette notatet, som jeg + publiserte en tidligere versjon av i fjor, sÃ¥ her er det. Legger + ogsÃ¥ ved avskrift av dokument 09,13, som er det sentrale dokumentet + jeg kommenterer.
+ +Oppdaterte kommentarer til «Evaluation of (il)legality» for +Popcorn Time
+ +Oppsummering
+ +MÃ¥lemetoden som Ãkokrim har lagt til grunn nÃ¥r de pÃ¥stÃ¥r at 99% av + filmene tilgjengelig fra Popcorn Time deles ulovlig har svakheter + som gjør resultatet upÃ¥litelig.
+ +De eller den som har vurdert hvorvidt filmer kan lovlig deles er + ikke i stand til Ã¥ identifisere filmer som kan deles lovlig eller er + falt i det fri og har tilsynelatende antatt at kun veldig gamle + filmer kan deles lovlig. Ãkokrim legger til grunn at det bare finnes + èn film, Charlie Chaplin-filmen «The Circus» fra 1928, som kan deles + fritt blant de som ble observert tilgjengelig via ulike Popcorn + Time-varianter. Med min begrensede og ufullstendige oversikt finner + jeg tre flere blant de observerte filmene: «The Brain That Wouldn't + Die» fra 1962, «Godâs Little Acre» fra 1958 og «She Wore a Yellow + Ribbon» fra 1949. Det er godt mulig det finnes flere. Det finnes + dermed minst fire ganger sÃ¥ mange filmer som lovlig kan deles pÃ¥ + Internett i datasettet Ãkokrim har lagt til grunn nÃ¥r det pÃ¥stÃ¥s at + mindre enn 1 % kan deles lovlig.
+ +Dernest, utplukket som gjøres ved søk på tilfeldige ord hentet fra + ordlisten til Dale-Chall avviker fra årsfordelingen til de brukte + filmkatalogene som helhet, hvilket påvirker fordelingen mellom + filmer som kan lovlig deles og filmer som ikke kan lovlig deles. I + tillegg gir valg av øvre del (de fem første) av søkeresultatene et + avvik fra riktig årsfordeling, hvilket påvirker fordelingen av verk + i det fri i søkeresultatet.
+ +Til sist er det viktig å merke seg at det som måles er ikke + (u)lovligheten knyttet til bruken av Popcorn Time, + men (u)lovligheten til innholdet i ulike bittorrent-filmkataloger + som vedlikeholdes av ulike miljøer uavhengig av Popcorn Time, og som + ulike Popcorn Time-varianter har benyttet seg av.
+ +Omtalte dokumenter: 09,12, 09,13, 09,14, + 09,18, 09,19, 09,20.
+ +Utfyllende kommentarer
+ +Ãkokrim har forklart domstolene at minst 99% av alt som er + tilgjengelig fra ulike Popcorn Time-varianter deles ulovlig pÃ¥ + Internet. Jeg ble nysgjerrig pÃ¥ hvordan de er kommet frem til dette + tallet, og dette notatet er en samling kommentarer rundt mÃ¥lingen + Ãkokrim henviser til. Litt av bakgrunnen for at jeg valgte Ã¥ se pÃ¥ + saken er at jeg er interessert i Ã¥ identifisere og telle hvor mange + kunstneriske verk som er falt i det fri eller av andre grunner kan + lovlig deles pÃ¥ Internett, og dermed var interessert i hvordan en + hadde funnet den ene prosenten som kanskje deles lovlig.
+ +Andelen på 99% kommer fra et ukreditert og udatert notatet som tar + mål av seg å dokumentere en metode for å måle hvor (u)lovlig ulike + Popcorn Time-varianter er.
+ +Raskt oppsummert, så forteller metodedokumentet at fordi det ikke + er mulig å få tak i komplett liste over alle filmtitler tilgjengelig + via Popcorn Time, så lages noe som skal være et representativt + utvalg ved å velge 50 tilfeldige søkeord større enn tre tegn fra en + ordliste kjent som Dale-Chall. For hvert søkeord gjøres et søk og de + første fem filmene i søkeresultatet samles inn inntil 100 unike + filmtitler er funnet. Hvis 50 søkeord ikke var tilstrekkelig for å + nå 100 unike filmtitler ble flere filmer fra hvert søkeresultat lagt + til. Hvis dette heller ikke var tilstrekkelig, så ble det hentet ut + og søkt på flere tilfeldig valgte søkeord inntil 100 unike + filmtitler var identifisert.
+ +Deretter ble for hver av filmtitlene «vurdert hvorvidt det var + rimelig å forvente om at verket var vernet av copyright, ved å se på + om filmen var tilgjengelig i IMDB, samt se på regissør, + utgivelsesår, når det var utgitt for bestemte markedsområder samt + hvilke produksjons- og distribusjonsselskap som var registrert» (min + oversettelse).
+ +Metoden er gjengitt både i de ukrediterte dokumentene 09,13 og + 09,19, samt beskrevet fra side 47 i dokument 09,20, lysark datert + 2017-02-01. Sistnevnte er kreditert Geerart Bourlon fra Motion + Picture Association EMEA.
+ +Metoden virker å ha flere svakheter som gir resultatene en + slagside. Den starter med å slå fast at det ikke er mulig å hente ut + en komplett liste over alle filmtitler som er tilgjengelig, og at + dette er bakgrunnen for metodevalget. Denne forutsetningen er ikke i + tråd med det som står i dokument 09,12, som ikke heller har oppgitt + forfatter og dato. Dokument 09,12 forteller hvordan hele + kataloginnholdet i en bittorrent-katalog ble lasted ned og talt + opp. Dokument 09,12 er muligens samme rapport som det ble referert + til i dom fra Oslo Tingrett 2017-11-03 + (sak + 17-093347TVI-OTIR/05) under navnet rapport av 1. juni 2017 av + Alexander Kind Petersen. De ligner, men jeg har ikke sammenlignet + dokumentene ord for ord for å kontrollere om de er identiske.
+ +Det finnes flere kilder som kan brukes til å finne filmer som er + allemannseie (public domain) eller har bruksvilkår som gjør det + lovlig for alle å dele dem på Internett. Jeg har det siste året + forsøkt å samle og krysskoble disse listene ved hjelp av tittel-ID i + IMDB for å forsøke å telle antall filmer i det fri. Ved å ta + utgangspunkt i slike lister (og publiserte filmer for + Internett-arkivets del), har jeg så langt klart å identifisere over + 14 000 filmer, hovedsaklig spillefilmer. Noen filmer er gått tapt + ved at de eneste kjente eksemplarene er blitt ødelagt. Jeg har ikke + forsøkt å finne ut hvilke filmer som er gått tapt, ut over å se + hvilke filmer som er tilgjengelig på filmdelings-nettsteder.
+ +IMDB er en forkortelse for The Internet Movie Database, en + anerkjent kommersiell nettjeneste som brukes aktivt av både + filmbransjen og andre til å holde rede på hvilke spillefilmer (og + endel andre filmer) som finnes eller er under produksjon, samt + informasjon om disse filmene. Datakvaliteten er høy, med få feil og + få filmer som mangler. IMDB viser ikke informasjon om + opphavsrettslig status for filmene på infosiden for hver film, men + frivillige har lagt ut på IMDB-tjenesten lister med filmer som antas + å være verk i det fri. Disse listene er en liten del av kildene for + min telling av verk som kan lovlig deles på Internett.
+ +De aller fleste oppføringene over verk i det fri er hentet fra IMDB + selv, basert på det faktum at alle filmer laget i USA før 1923 er + falt i det fri. Tilsvarende tidsgrense for Storbritannia er + 1912-07-01, men dette utgjør bare veldig liten del av spillefilmene + i IMDB (19 totalt). En annen stor andel kommer fra + Internett-arkivet, der jeg har identifisert filmer som har referanse + til IMDB. Internett-arkivet, som holder til i USA, har + som policy å kun + publisere filmer som det er lovlig å distribuere. Jeg har under + arbeidet kommet over flere filmer som har blitt fjernet fra + Internett-arkivet, hvilket gjør at jeg konkluderer med at folkene + som kontrollerer Internett-arkivet har et aktivt forhold til kun å + ha lovlig innhold der, selv om det i stor grad er drevet av + frivillige. Internett-arkivet har publisert 4.6 millioner + videofilmer som samtlige er tilgjengelig også med + Bittorrent-protokollen. En annen stor liste med filmer kommer fra + det kommersielle selskapet Retro Film Vault, som selger + allemannseide filmer til TV- og filmbransjen, Jeg har også benyttet + meg av lister over filmer som hevdes å være allemannseie, det være + seg Public Domain Review, Public Domain Torrents og Public Domain + Movies (to ulike tjenester med samme navn, på .net og .info), samt + lister over filmer med Creative Commons-lisensiering fra Wikipedia, + VODO og The Hill Productions. Jeg har gjort endel stikkontroll ved å + vurdere filmer som kun omtales på en liste. Der jeg har funnet feil + som har gjort meg i tvil om vurderingen til de som har laget listen + har jeg forkastet listen fullstendig (gjelder for eksemel en av + listene fra IMDB).
+ +Ved å ta utgangspunkt i verk som kan antas å være lovlig delt på + Internett (fra blant annet Internett-arkivet, Public Domain + Torrents, Public Domain Reivew og Public Domain Movies), og knytte + dem til oppføringer i IMDB, så har jeg så langt klart å identifisere + over 14 000 filmer (hovedsaklig spillefilmer) det er grunn til å tro + kan lovlig distribueres av alle på Internett. Som ekstra kilder er + det brukt lister over filmer som antas/påstås å være + allemannseie. Disse kildene kommer fra miljøer som jobber for å + gjøre tilgjengelig for almennheten alle verk som er falt i det fri + eller har bruksvilkår som tillater deling.
+ +I tillegg til de over 14 000 filmene der tittel-ID i IMDB er + identifisert, har jeg funnet mer enn 26 000 oppføringer der jeg ennå + ikke har hatt kapasitet til å spore opp tittel-ID i IMDB. Jeg har + sett at noen av disse er duplikater av de IMDB-oppføringene som er + identifisert så langt, men de fleste jeg har hatt tid til å + undersøke så langt har vist seg å ikke være duplikater. Retro Film + Vault hevder å ha 44 000 filmverk i det fri i sin katalog, så det er + mulig at det reelle tallet er betydelig høyere enn de jeg har klart + å identifisere så langt. Konklusjonen en kan trekke fra dette er at + tallet 14 000 er nedre grense for hvor mange filmer i IMDB som kan + lovlig deles på Internett. I + følge statistikk fra IMDB + er det 4.6 millioner titler registrert, hvorav 3 millioner er + TV-serieepisoder.
+ +Hvis en fordeler på år alle tittel-IDene i IMDB som hevdes å deles + lovlig på Internett, får en følgende histogram:
+ +En kan i histogrammet se at effekten av manglende registrering + eller fornying av registrering er at mange filmer gitt ut i USA før + 1978 er allemannseie i dag. I tillegg kan en se at det finnes flere + filmer gitt ut de siste årene med bruksvilkår som tillater deling, + muligens på grunn av fremveksten + av Creative + Commons-bevegelsen.
+ +IMDB har lagt ut en + maskinlesbare liste over alle registreringene i sin database, og + ved hjelp av denne har jeg oppsummert antall titler per år i + kategoriene «movies» og «short», som er det jeg fokuserer på i min + telling. Inn i oversikten er det tegnet hvor stor prosentandel + antallet filmer som hevdes å kunne deles lovlig på Internett utgjør + av IMDB-totalen. Ut fra oversikten får man en ide om hvor stor andel + av totalen som kan mangle i min telling, for eksempel ved å merke + seg at få prosenter av filmene utgitt tidlig på 1900-tallet er med i + min telling.
+ +For maskinell analyse av katalogene laget jeg et lite program som + kobler seg til bittorrent-katalogene som brukes av ulike Popcorn + Time-varianter og laster ned komplett liste over filmer i + katalogene. Dette bekrefter at det er mulig å hente ut komplett + liste med alle filmtitler som er tilgjengelig i katalogene, i strid + med påstanden i dokumentene 09,13, 09,19 og 09,20. Jeg har sett på + fire bittorrent-kataloger. Den ene ble brukt av klienten + tilgjengelig fra www.popcorntime.sh 2017-12-18 og er navngitt «sh» i + dette dokumentet. Den andre brukes i følge dokument 09,12 av + klienten tilgjengelig fra popcorntime.ag og popcorntime.sh på ukjent + tidspunkt og er navngitt «yts» i dette dokumentet. Den tredje ble + brukt av websidene tilgjengelig fra popcorntime-online.tv 2017-12-18 + og er navngitt «apidomain» i dette dokumentet. Den fjerde ble brukt + av klienten tilgjengelig fra popcorn-time.to i følge dokument 09,12 + på ukjent tidspunkt, og er navngitt «ukrfnlge» i dette + dokumentet. Hvilke kataloger som brukes av ulike Popcorn + Time-klienter endrer seg over tid, da Popcorn Time-klientene i + praksis er nettlesere som viser frem ulike nettsider og disse + nettsidene bytter datakilder når nettsidens eier ønsker det.
+ +Metoden som Ãkokrim legger til grunn, skriver i sitt punkt fire at + skjønn er en egnet metode for Ã¥ finne ut om en film kan lovlig deles + pÃ¥ Internett eller ikke, og sier at det ble «vurdert hvorvidt det + var rimelig Ã¥ forvente om at verket var vernet av copyright». For + det første er det ikke nok Ã¥ slÃ¥ fast om en film er «vernet av + copyright» for Ã¥ vite om det er lovlig Ã¥ dele den pÃ¥ Internett eller + ikke, da det finnes flere filmer med opphavsrettslige bruksvilkÃ¥r + som tillater deling pÃ¥ Internett. Eksempler pÃ¥ dette er Creative + Commons-lisensierte filmer som Citizenfour fra 2014 og Sintel fra + 2010. I tillegg til slike finnes det flere filmer som nÃ¥ er + allemannseie (public domain) pÃ¥ grunn av manglende registrering + eller fornying av registrering selv om bÃ¥de regisør, + produksjonsselskap og distributør ønsker seg vern. Eksempler pÃ¥ + dette er Plan 9 from Outer Space fra 1959 og Night of the Living + Dead fra 1968. Alle filmer fra USA som var allemannseie før + 1989-03-01 forble i det fri da Bern-konvensjonen, som tok effekt i + USA pÃ¥ det tidspunktet, ikke ble gitt tilbakevirkende + kraft. Historien + om sangen «Happy birthday», der betaling for bruk har vært krevd + inn i flere tiÃ¥r selv om sangen ikke var vernet av Ã¥ndsverksloven, + forteller oss at hvert enkelt verk mÃ¥ vurderes nøye og i detalj før + en kan slÃ¥ fast om verket er allemannseie eller ikke, det holder + ikke Ã¥ tro pÃ¥ selverklærte rettighetshavere. Flere eksempel pÃ¥ verk + i det fri som feilklassifiseres som vernet er fra dokument 09,18, + som lister opp søkeresultater for pklienten omtalt som + popcorntime.sh og i følge notatet kun inneholder en film (The Circus + fra 1928) som under tvil kan antas Ã¥ være allemannseie.
+ +Ved rask gjennomlesning av dokument 09,18, som inneholder + skjermbilder fra bruk av en Popcorn Time-variant, fant jeg omtalt + bÃ¥de filmen «The Brain That Wouldn't Die» fra 1962 som + er tilgjengelig + fra Internett-arkivet og + som i + følge Wikipedia er allemannseie i USA da den ble gitt ut i 1962 + uten «copyright»-merking, og filmen «Godâs Little Acre» fra + 1958 som + er lagt ut pÃ¥ Wikipedia, der det fortelles at sort/hvit-utgaven + er allemannseie. Det fremgÃ¥r ikke fra dokument 09,18 om filmen + omtalt der er sort/hvit-utgaven. Av kapasitetsÃ¥rsaker og pÃ¥ grunn av + at filmoversikten i dokument 09,18 ikke er maskinlesbart har jeg + ikke forsøkt Ã¥ sjekke alle filmene som listes opp der om mot liste + med filmer som er antatt lovlig kan distribueres pÃ¥ Internet.
+ +Ved maskinell gjennomgang av listen med IMDB-referanser under + regnearkfanen «Unique titles» i dokument 09.14, fant jeg i tillegg + filmen «She Wore a Yellow Ribbon» fra 1949) som nok også er + feilklassifisert. Filmen «She Wore a Yellow Ribbon» er tilgjengelig + fra Internett-arkivet og markert som allemannseie der. Det virker + dermed å være minst fire ganger så mange filmer som kan lovlig deles + på Internett enn det som er lagt til grunn når en påstår at minst + 99% av innholdet er ulovlig. Jeg ser ikke bort fra at nærmere + undersøkelser kan avdekke flere. Poenget er uansett ikke hvor mange + filmer i listen som er lovlig å dele på Internet, men at metodens + punkt med vurdering av «rimelig å forvente om at verket var vernet + av copyright» gjør metoden upålitelig.
+ +Den omtalte målemetoden velger ut tilfeldige søketermer fra + ordlisten Dale-Chall. Den ordlisten inneholder 3000 enkle engelske + ord som fjerdeklassinger i USA er forventet å forstå. Det fremgår + ikke hvorfor akkurat denne ordlisten er valgt, og det er uklart for + meg om den er egnet til å få et representativt utvalg av + filmer. Mange av ordene gir tomt søkeresultat. Ved å simulerte + tilsvarende søk ser jeg store avvik fra fordelingen i katalogen for + enkeltmålinger. Dette antyder at enkeltmålinger av 100 filmer slik + målemetoden beskriver er gjort, ikke er velegnet til å finne andel + ulovlig innhold i bittorrent-katalogene.
+ +En kan motvirke dette store avviket for enkeltmålinger ved å gjøre + mange søk og slå sammen resultatet. Jeg har testet ved å gjennomføre + 100 enkeltmålinger (dvs. måling av (100x100=) 10 000 tilfeldig + valgte filmer) som gir mindre, men fortsatt betydelig avvik, i + forhold til telling av filmer pr år i hele katalogen.
+ +Målemetoden henter ut de fem øverste i + søkeresultatet. Søkeresultatene er sortert på antall + bittorrent-klienter registrert som delere i katalogene, hvilket kan + gi en slagside mot hvilke filmer som er populære blant de som bruker + bittorrent-katalogene, uten at det forteller noe om hvilket innhold + som er tilgjengelig eller hvilket innhold som deles med Popcorn + Time-klienter. Jeg har forsøkt å måle hvor stor en slik slagside + eventuelt er ved å sammenligne fordelingen hvis en tar de 5 nederste + i søkeresultatet i stedet. Avviket for disse to metodene for flere + av katalogene er godt synlig på histogramet. Her er histogram over + filmer funnet i den komplette katalogen (grønn strek), og filmer + funnet ved søk etter ord i Dale-Chall. Grafer merket «top» henter + fra de 5 første i søkeresultatet, mens de merket «bottom» henter fra + de 5 siste. En kan her se at resultatene påvirkes betydelig av + hvorvidt en ser på de første eller de siste filmene i et + søketreff.
+ +
+
+
+
+
+
+
+
+
+
+
+
+
Almost a month ago -a new -package adding Bittorrent support to VLC became available in -Debian testing and unstable. To test it, simply install it like -this:
+Det er viktig Ã¥ merke seg at de omtalte bittorrent-katalogene ikke + er laget for bruk med Popcorn Time, men for ulike miljøer av + bittorrent-brukere. Eksempelvis tilhører katalogen YTS, som brukes + av klientet som ble lastes ned fra popcorntime.sh, et selvstendig + fildelings-relatert nettsted YTS.AG med et separat + brukermiljø. MÃ¥lemetoden foreslÃ¥tt av Ãkokrim mÃ¥ler dermed ikke + (u)lovligheten rundt bruken av Popcorn Time, men (u)lovligheten til + innholdet i disse katalogene.
--apt install vlc-plugin-bittorrent -+
-
Since the plugin was made available for the first time in Debian, -several improvements have been made to it. In version 2.2-4, now -available in both testing and unstable, a desktop file is provided to -teach browsers to start VLC when the user click on torrent files or -magnet links. The last part is thanks to me finally understanding -what the strange x-scheme-handler style MIME types in desktop files -are used for. By adding x-scheme-handler/magnet to the MimeType entry -in the desktop file, at least the browsers Firefox and Chromium will -suggest to start VLC when selecting a magnet URI on a web page. The -end result is that now, with the plugin installed in Buster og Sid, -one can visit any -Internet -Archive page with movies using a web browser and click on the -torrent link to start streaming the movie.
+Metoden fra Ãkokrims dokument 09,13 i straffesaken + om DNS-beslag.
-Note, there is still some misfeatures in the plugin. One is the -fact that it will hang and -block VLC -from exiting until the torrent streaming starts. Another is the -fact that it -will pick -and play a random file in a multi file torrent. This is not -always the video file you want. Combined with the first it can be a -bit hard to get the video streaming going. But when it work, it seem -to do a good job.
+-+ +For the Debian packaging, I would love to find a good way to test -if the plugin work with VLC using autopkgtest. I tried, but do not -know enough of the inner workings of VLC to get it working. For now -the autopkgtest script is only checking if the .so file was -successfully loaded by VLC. If you have any suggestions, please -submit a patch to the Debian bug tracking system.
+1. Evaluation of (il)legality
-As usual, if you use Bitcoin and want to show your support of my -activities, please send Bitcoin donations to my address -15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b.
+1.1. Methodology + +
Due to its technical configuration, Popcorn Time applications don't +allow to make a full list of all titles made available. In order to +evaluate the level of illegal operation of PCT, the following +methodology was applied:
+ ++ +
+ +- A random selection of 50 keywords, greater than 3 letters, was + made from the Dale-Chall list that contains 3000 simple English + words1. The selection was made by using a Random Number + Generator2.
+ +- For each keyword, starting with the first randomly selected + keyword, a search query was conducted in the movie section of the + respective Popcorn Time application. For each keyword, the first + five results were added to the title list until the number of 100 + unique titles was reached (duplicates were removed).
+ +- For one fork, .CH, insufficient titles were generated via this + approach to reach 100 titles. This was solved by adding any + additional query results above five for each of the 50 keywords. + Since this still was not enough, another 42 random keywords were + selected to finally reach 100 titles.
+ +- It was verified whether or not there is a reasonable expectation + that the work is copyrighted by checking if they are available on + IMDb, also verifying the director, the year when the title was + released, the release date for a certain market, the production + company/ies of the title and the distribution company/ies.
+ +1.2. Results
+ +Between 6 and 9 June 2016, four forks of Popcorn Time were +investigated: popcorn-time.to, popcorntime.ag, popcorntime.sh and +popcorntime.ch. An excel sheet with the results is included in +Appendix 1. Screenshots were secured in separate Appendixes for each +respective fork, see Appendix 2-5.
+ +For each fork, out of 100, de-duplicated titles it was possible to +retrieve data according to the parameters set out above that indicate +that the title is commercially available. Per fork, there was 1 title +that presumably falls within the public domain, i.e. the 1928 movie +"The Circus" by and with Charles Chaplin.
+ +Based on the above it is reasonable to assume that 99% of the movie +content of each fork is copyright protected and is made available +illegally.
+ +This exercise was not repeated for TV series, but considering that +besides production companies and distribution companies also +broadcasters may have relevant rights, it is reasonable to assume that +at least a similar level of infringement will be established.
+ +Based on the above it is reasonable to assume that 99% of all the +content of each fork is copyright protected and are made available +illegally.
+ +
Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til +det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner +til min adresse +15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b. +Merk, betaling med bitcoin er ikke anonymt. :)
This morning, the new release of the -Nikita -Noark 5 core project was -announced -on the project mailing list. The free software solution is an -implementation of the Norwegian archive standard Noark 5 used by -government offices in Norway. These were the changes in version 0.2 -since version 0.1.1 (from NEWS.md): - -
-
-
- Fix typos in REL names -
- Tidy up error message reporting -
- Fix issue where we used Integer.valueOf(), not Integer.getInteger() -
- Change some String handling to StringBuffer -
- Fix error reporting -
- Code tidy-up -
- Fix issue using static non-synchronized SimpleDateFormat to avoid - race conditions -
- Fix problem where deserialisers were treating integers as strings -
- Update methods to make them null-safe -
- Fix many issues reported by coverity -
- Improve equals(), compareTo() and hash() in domain model -
- Improvements to the domain model for metadata classes -
- Fix CORS issues when downloading document -
- Implementation of case-handling with registryEntry and document upload -
- Better support in Javascript for OPTIONS -
- Adding concept description of mail integration -
- Improve setting of default values for GET on ny-journalpost -
- Better handling of required values during deserialisation -
- Changed tilknyttetDato (M620) from date to dateTime -
- Corrected some opprettetDato (M600) (de)serialisation errors. -
- Improve parse error reporting. -
- Started on OData search and filtering. -
- Added Contributor Covenant Code of Conduct to project. -
- Moved repository and project from Github to Gitlab. -
- Restructured repository, moved code into src/ and web/. -
- Updated code to use Spring Boot version 2. -
- Added support for OAuth2 authentication. -
- Fixed several bugs discovered by Coverity. -
- Corrected handling of date/datetime fields. -
- Improved error reporting when rejecting during deserializatoin. -
- Adjusted default values provided for ny-arkivdel, ny-mappe, - ny-saksmappe, ny-journalpost and ny-dokumentbeskrivelse. -
- Several fixes for korrespondansepart*. -
- Updated web GUI:
-
-
-
- Now handle both file upload and download. -
- Uses new OAuth2 authentication for login. -
- Forms now fetches default values from API using GET. -
- Added RFC 822 (email), TIFF and JPEG to list of possible file formats. -
-
The changes and improvements are extensive. Running diffstat on -the changes between git tab 0.1.1 and 0.2 show 1098 files changed, -108666 insertions(+), 54066 deletions(-).
- -If free and open standardized archiving API sound interesting to -you, please contact us on IRC -(#nikita on -irc.freenode.net) or email -(nikita-noark -mailing list).
+ +The layered video playout server created by Sveriges Television, +CasparCG Server, entered Debian +today. This completes many months of work to get the source ready to +go into Debian. The first upload to the Debian NEW queue happened a +month ago, but the work upstream to prepare it for Debian started more +than two and a half month ago. So far +the +casparcg-server package is only available for amd64, but I hope +this can be improved. The package is in contrib because it depend on +the non-free fdk-aac +library. The Debian package lack support for streaming web pages +because Debian is missing CEF, Chromium Embedded Framework. CEF is +wanted by several packages in Debian. But because the Chromium source +is not available as a build +dependency, it is not yet possible to upload CEF to Debian. I +hope this will change in the future.
+ +The reason I got involved is that +the Norwegian open channel +Frikanalen is starting to use CasparCG for our HD playout, and I +would like to have all the free software tools we use to run the TV +channel available as packages from the Debian project. The last +remaining piece in the puzzle is Open Broadcast Encoder, but it depend +on quite a lot of patched libraries which would have to be included in +Debian first.
As usual, if you use Bitcoin and want to show your support of my activities, please send Bitcoin donations to my address @@ -161,7 +494,7 @@ activities, please send Bitcoin donations to my address
@@ -169,102 +502,50 @@ activities, please send Bitcoin donations to my addressI have earlier covered the basics of trusted timestamping using the -'openssl ts' client. See blog post for -2014, -2016 -and -2017 -for those stories. But some times I want to integrate the timestamping -in other code, and recently I needed to integrate it into Python. -After searching a bit, I found -the -rfc3161 library which seemed like a good fit, but I soon -discovered it only worked for python version 2, and I needed something -that work with python version 3. Luckily I next came across -the rfc3161ng library, -a fork of the original rfc3161 library. Not only is it working with -python 3, it have fixed a few of the bugs in the original library, and -it has an active maintainer. I decided to wrap it up and make it -available in -Debian, and a few days ago it entered Debian unstable and testing.
- -Using the library is fairly straight forward. The only slightly -problematic step is to fetch the required certificates to verify the -timestamp. For some services it is straight forward, while for others -I have not yet figured out how to do it. Here is a small standalone -code example based on of the integration tests in the library code:
- --#!/usr/bin/python3 - -""" - -Python 3 script demonstrating how to use the rfc3161ng module to -get trusted timestamps. - -The license of this code is the same as the license of the rfc3161ng -library, ie MIT/BSD. - -""" - -import os -import pyasn1.codec.der -import rfc3161ng -import subprocess -import tempfile -import urllib.request - -def store(f, data): - f.write(data) - f.flush() - f.seek(0) - -def fetch(url, f=None): - response = urllib.request.urlopen(url) - data = response.read() - if f: - store(f, data) - return data - -def main(): - with tempfile.NamedTemporaryFile() as cert_f,\ - tempfile.NamedTemporaryFile() as ca_f,\ - tempfile.NamedTemporaryFile() as msg_f,\ - tempfile.NamedTemporaryFile() as tsr_f: - - # First fetch certificates used by service - certificate_data = fetch('https://freetsa.org/files/tsa.crt', cert_f) - ca_data_data = fetch('https://freetsa.org/files/cacert.pem', ca_f) - - # Then timestamp the message - timestamper = \ - rfc3161ng.RemoteTimestamper('http://freetsa.org/tsr', - certificate=certificate_data) - data = b"Python forever!\n" - tsr = timestamper(data=data, return_tsr=True) - - # Finally, convert message and response to something 'openssl ts' can verify - store(msg_f, data) - store(tsr_f, pyasn1.codec.der.encoder.encode(tsr)) - args = ["openssl", "ts", "-verify", - "-data", msg_f.name, - "-in", tsr_f.name, - "-CAfile", ca_f.name, - "-untrusted", cert_f.name] - subprocess.check_call(args) - -if '__main__' == __name__: - main() -- -
The code fetches the required certificates, store them as temporary -files, timestamp a simple message, store the message and timestamp to -disk and ask 'openssl ts' to verify the timestamp. A timestamp is -around 1.5 kiB in size, and should be fairly easy to store for future -use.
+ +A fun way to learn how to program +Python is to follow the +instructions in the book +"Learn to program +with Minecraft", which introduces programming in Python to people +who like to play with Minecraft. The book uses a Python library to +talk to a TCP/IP socket with an API accepting build instructions and +providing information about the current players in a Minecraft world. +The TCP/IP API was first created for the Minecraft implementation for +Raspberry Pi, and has since been ported to some server versions of +Minecraft. The book contain recipes for those using Windows, MacOSX +and Raspian. But a little known fact is that you can follow the same +recipes using the free software construction game +Minetest.
+ +There is a +Minetest module implementing the same API, making it possible to +use the Python programs coded to talk to Minecraft with Minetest too. +I +uploaded +this module to Debian two weeks ago, and as soon as it clears the +FTP masters NEW queue, learning to program Python with Minetest on +Debian will be a simple 'apt install' away. The Debian package is +maintained as part of the Debian Games team, and +the +packaging rules are currently located under 'unfinished' on +Salsa.
+ +You will most likely need to install several of the Minetest +modules in Debian for the examples included with the library to work +well, as there are several blocks used by the example scripts that are +provided via modules in Minetest. Without the required blocks, a +simple stone block is used instead. My initial testing with a analog +clock did not get gold arms as instructed in the python library, but +instead used stone arms.
+ +I tried to find a way to add the API to the desktop version of +Minecraft, but were unable to find any working recipes. The +recipes +I found are only +working with a standalone Minecraft server setup. Are there any +options to use with the normal desktop version?
As usual, if you use Bitcoin and want to show your support of my activities, please send Bitcoin donations to my address @@ -273,7 +554,7 @@ activities, please send Bitcoin donations to my address
@@ -281,59 +562,30 @@ activities, please send Bitcoin donations to my addressA few days, I rescued a Windows victim over to Debian. To try to -rescue the remains, I helped set up automatic sync with Google Drive. -I did not find any sensible Debian package handling this -automatically, so I rebuild the grive2 source from -the Ubuntu UPD8 PPA to do the -task and added a autostart desktop entry and a small shell script to -run in the background while the user is logged in to do the sync. -Here is a sketch of the setup for future reference.
- -I first created ~/googledrive, entered the directory and -ran 'grive -a' to authenticate the machine/user. Next, I -created a autostart hook in ~/.config/autostart/grive.desktop -to start the sync when the user log in:
- -- --[Desktop Entry] -Name=Google drive autosync -Type=Application -Exec=/home/user/bin/grive-sync -
Finally, I wrote the ~/bin/grive-sync script to sync -~/googledrive/ with the files in Google Drive.
- -- --#!/bin/sh -set -e -cd ~/ -cleanup() { - if [ "$syncpid" ] ; then - kill $syncpid - fi -} -trap cleanup EXIT INT QUIT -/usr/lib/grive/grive-sync.sh listen googledrive 2>&1 | sed "s%^%$0:%" & -syncpdi=$! -while true; do - if ! xhost >/dev/null 2>&1 ; then - echo "no DISPLAY, exiting as the user probably logged out" - exit 1 - fi - if [ ! -e /run/user/1000/grive-sync.sh_googledrive ] ; then - /usr/lib/grive/grive-sync.sh sync googledrive - fi - sleep 300 -done 2>&1 | sed "s%^%$0:%" -
Feel free to use the setup if you want. It can be assumed to be -GNU GPL v2 licensed (or any later version, at your leisure), but I -doubt this code is possible to claim copyright on.
+ +A few hours ago, a new and improved version (2.4) of +the VLC +bittorrent plugin was uploaded to Debian. This new version +include a complete rewrite of the bittorrent related code, which seem +to make the plugin non-blocking. This mean you can actually exit VLC +even when the plugin seem to be unable to get the bittorrent streaming +started. The new version also include support for filtering playlist +by file extension using command line options, if you want to avoid +processing audio, video or images. The package is currently in Debian +unstable, but should be available in Debian testing in two days. To +test it, simply install it like this:
+ ++apt install vlc-plugin-bittorrent ++ +
After it is installed, you can try to use it to play a file +downloaded live via bittorrent like this: + +
+vlc https://archive.org/download/Glass_201703/Glass_201703_archive.torrent +
As usual, if you use Bitcoin and want to show your support of my activities, please send Bitcoin donations to my address @@ -342,7 +594,7 @@ activities, please send Bitcoin donations to my address
@@ -350,161 +602,55 @@ activities, please send Bitcoin donations to my addressIt would come as no surprise to anyone that I am interested in -bitcoins and virtual currencies. I've been keeping an eye on virtual -currencies for many years, and it is part of the reason a few months -ago, I started writing a python library for collecting currency -exchange rates and trade on virtual currency exchanges. I decided to -name the end result valutakrambod, which perhaps can be translated to -small currency shop.
- -The library uses the tornado python library to handle HTTP and -websocket connections, and provide a asynchronous system for -connecting to and tracking several services. The code is available -from -github.
- -There are two example clients of the library. One is very simple and -list every updated buy/sell price received from the various services. -This code is started by running bin/btc-rates and call the client code -in valutakrambod/client.py. The simple client look like this: - -- --import functools -import tornado.ioloop -import valutakrambod -class SimpleClient(object): - def __init__(self): - self.services = [] - self.streams = [] - pass - def newdata(self, service, pair, changed): - print("%-15s %s-%s: %8.3f %8.3f" % ( - service.servicename(), - pair[0], - pair[1], - service.rates[pair]['ask'], - service.rates[pair]['bid']) - ) - async def refresh(self, service): - await service.fetchRates(service.wantedpairs) - def run(self): - self.ioloop = tornado.ioloop.IOLoop.current() - self.services = valutakrambod.service.knownServices() - for e in self.services: - service = e() - service.subscribe(self.newdata) - stream = service.websocket() - if stream: - self.streams.append(stream) - else: - # Fetch information from non-streaming services immediately - self.ioloop.call_later(len(self.services), - functools.partial(self.refresh, service)) - # as well as regularly - service.periodicUpdate(60) - for stream in self.streams: - stream.connect() - try: - self.ioloop.start() - except KeyboardInterrupt: - print("Interrupted by keyboard, closing all connections.") - pass - for stream in self.streams: - stream.close() -
The library client loops over all known "public" services, -initialises it, subscribes to any updates from the service, checks and -activates websocket streaming if the service provide it, and if no -streaming is supported, fetches information from the service and sets -up a periodic update every 60 seconds. The output from this client -can look like this:
- -- --Bl3p BTC-EUR: 5687.110 5653.690 -Bl3p BTC-EUR: 5687.110 5653.690 -Bl3p BTC-EUR: 5687.110 5653.690 -Hitbtc BTC-USD: 6594.560 6593.690 -Hitbtc BTC-USD: 6594.560 6593.690 -Bl3p BTC-EUR: 5687.110 5653.690 -Hitbtc BTC-USD: 6594.570 6593.690 -Bitstamp EUR-USD: 1.159 1.154 -Hitbtc BTC-USD: 6594.570 6593.690 -Hitbtc BTC-USD: 6594.580 6593.690 -Hitbtc BTC-USD: 6594.580 6593.690 -Hitbtc BTC-USD: 6594.580 6593.690 -Bl3p BTC-EUR: 5687.110 5653.690 -Paymium BTC-EUR: 5680.000 5620.240 -
The exchange order book is tracked in addition to the best buy/sell -price, for those that need to know the details.
- -The other example client is focusing on providing a curses view -with updated buy/sell prices as soon as they are received from the -services. This code is located in bin/btc-rates-curses and activated -by using the '-c' argument. Without the argument the "curses" output -is printed without using curses, which is useful for debugging. The -curses view look like this:
- -- -- Name Pair Bid Ask Spr Ftcd Age - BitcoinsNorway BTCEUR 5591.8400 5711.0800 2.1% 16 nan 60 - Bitfinex BTCEUR 5671.0000 5671.2000 0.0% 16 22 59 - Bitmynt BTCEUR 5580.8000 5807.5200 3.9% 16 41 60 - Bitpay BTCEUR 5663.2700 nan nan% 15 nan 60 - Bitstamp BTCEUR 5664.8400 5676.5300 0.2% 0 1 1 - Bl3p BTCEUR 5653.6900 5684.9400 0.5% 0 nan 19 - Coinbase BTCEUR 5600.8200 5714.9000 2.0% 15 nan nan - Kraken BTCEUR 5670.1000 5670.2000 0.0% 14 17 60 - Paymium BTCEUR 5620.0600 5680.0000 1.1% 1 7515 nan - BitcoinsNorway BTCNOK 52898.9700 54034.6100 2.1% 16 nan 60 - Bitmynt BTCNOK 52960.3200 54031.1900 2.0% 16 41 60 - Bitpay BTCNOK 53477.7833 nan nan% 16 nan 60 - Coinbase BTCNOK 52990.3500 54063.0600 2.0% 15 nan nan - MiraiEx BTCNOK 52856.5300 54100.6000 2.3% 16 nan nan - BitcoinsNorway BTCUSD 6495.5300 6631.5400 2.1% 16 nan 60 - Bitfinex BTCUSD 6590.6000 6590.7000 0.0% 16 23 57 - Bitpay BTCUSD 6564.1300 nan nan% 15 nan 60 - Bitstamp BTCUSD 6561.1400 6565.6200 0.1% 0 2 1 - Coinbase BTCUSD 6504.0600 6635.9700 2.0% 14 nan 117 - Gemini BTCUSD 6567.1300 6573.0700 0.1% 16 89 nan - Hitbtc+BTCUSD 6592.6200 6594.2100 0.0% 0 0 0 - Kraken BTCUSD 6565.2000 6570.9000 0.1% 15 17 58 - Exchangerates EURNOK 9.4665 9.4665 0.0% 16 107789 nan - Norgesbank EURNOK 9.4665 9.4665 0.0% 16 107789 nan - Bitstamp EURUSD 1.1537 1.1593 0.5% 4 5 1 - Exchangerates EURUSD 1.1576 1.1576 0.0% 16 107789 nan - BitcoinsNorway LTCEUR 1.0000 49.0000 98.0% 16 nan nan - BitcoinsNorway LTCNOK 492.4800 503.7500 2.2% 16 nan 60 - BitcoinsNorway LTCUSD 1.0221 49.0000 97.9% 15 nan nan - Norgesbank USDNOK 8.1777 8.1777 0.0% 16 107789 nan -
The code for this client is too complex for a simple blog post, so -you will have to check out the git repository to figure out how it -work. What I can tell is how the three last numbers on each line -should be interpreted. The first is how many seconds ago information -was received from the service. The second is how long ago, according -to the service, the provided information was updated. The last is an -estimate on how often the buy/sell values change.
- -If you find this library useful, or would like to improve it, I -would love to hear from you. Note that for some of the services I've -implemented a trading API. It might be the topic of a future blog -post.
- -As usual, if you use Bitcoin and want to show your support of my -activities, please send Bitcoin donations to my address -15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b.
+ +FNs +menneskerettighetserklæring artikkel 13 første punkt lyder som +følger:
+ ++Enhver har rett til å bevege seg fritt og til fritt å velge +oppholdssted innenfor en stats grenser. ++ +
Det er altsÃ¥ en menneskerett Ã¥ kunne bevege seg fritt i landet. +For Ã¥ bevege seg fritt i landet, sÃ¥ mÃ¥ en kunne bevege seg uten Ã¥ bli +sporet. Det vil i dagens samfunn innebære Ã¥ bevege seg uten Ã¥ legge +igjen digitale spor og uten Ã¥ være radiomerket. Hvis en vet at ens +bevegelser, hvor en befinner seg nÃ¥r, og hvem som befinner seg i +nærheten, blir samlet inn og gjort tilgjengelig for fremmede, det være +seg myndighetene eller private organisasjoner, sÃ¥ kan en ikke lenger +bevege seg fritt. Dette gjør at det er en forutsetning for Ã¥ ha glede +av retten til Ã¥ bevege seg fritt i landet at en motstÃ¥r fristelsen til +Ã¥ legge igjen digitale spor nÃ¥r en betaler for seg. Rettigheter som +ikke blir brukt, blir fjernet. Den eneste mÃ¥ten i dag Ã¥ unngÃ¥ Ã¥ legge +igjen digitale spor nÃ¥r en betaler for seg, er Ã¥ betale med kontanter, +samt takke nei til Ã¥ legge igjen navn og adresse (slik f.eks. Elkjøp +ber om — jeg sier de kan legge inn «anonym anonym» nÃ¥r +datasystemet deres trenger et navn). Personlig anbefaler jeg Ã¥ +konsekvent bruke kontant betaling nÃ¥r man beveger seg rundt, for Ã¥ +bidra til forsvaret av menneskerettighetene i Norge. Kanskje noe ogsÃ¥ +for deg? Merk at det ikke er tilstrekkelig for Ã¥ unngÃ¥ sporing Ã¥ +betale med kontanter, men det er et lite steg i riktig retning.
+ +Det er flere andre argumenter i tillegg til +menneskerettighetsargumentet for å bruke kontanter. I går hadde +Dagbladet en utmerket kommentar av sin journalist John Olav Egeland om +hvilket +kontantløst +diktatur som venter oss hvis mange nok slutter å insistere på å +betale med kontanter. Jeg anbefaler deg å lese den.
+ +Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til +det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner +til min adresse +15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b. +Merk, betaling med bitcoin er ikke anonymt. :)
Back in February, I got curious to see -if -VLC now supported Bittorrent streaming. It did not, despite the -fact that the idea and code to handle such streaming had been floating -around for years. I did however find -a standalone plugin -for VLC to do it, and half a year later I decided to wrap up the -plugin and get it into Debian. I uploaded it to NEW a few days ago, -and am very happy to report that it -entered -Debian a few hours ago, and should be available in Debian/Unstable -tomorrow, and Debian/Testing in a few days.
- -With the vlc-plugin-bittorrent package installed you should be able -to stream videos using a simple call to
- -- -It can handle magnet links too. Now if only native vlc had -bittorrent support. Then a lot more would be helping each other to -share public domain and creative commons movies. The plugin need some -stability work with seeking and picking the right file in a torrent -with many files, but is already usable. Please note that the plugin -is not removing downloaded files when vlc is stopped, so it can fill -up your disk if you are not careful. Have fun. :) - --vlc https://archive.org/download/TheGoat/TheGoat_archive.torrent -
I would love to get help maintaining this package. Get in touch if -you are interested.
+ +Yesterday, I had the pleasure of watching on Frikanalen the OWASP +talk by Scott Helme titled +"What Weâve Learned From +Billions of Security Reports". I had not heard of the +Content +Security Policy standard nor its ability to "call home" when a +browser detect a policy breach (I do not follow web page design +development much these days), and found the talk very illuminating.
+ +The mechanism allow a web site owner to use HTTP headers to tell +visitors web browser which sources (internal and external) are allowed to +be used on the web site. Thus it become possible to enforce a "only +local content" policy despite web designers urge to fetch programs +from random sites on the Internet, like the one +enabling +the attack reported by Scott Helme earlier this year.
+ +Using CSP seem like an obvious thing for a site admin to implement +to take some control over the information leak that occur when +external sources are used to render web pages, it is a mystery more +sites are not using CSP? It is being +standardized under W3C these +days, and is supposed by most web browsers
+ +I managed to find a +Django middleware for implementing CSP and was happy to discover +it was already in Debian. I plan to use it to add CSP support to the +Frikanalen web site soon.
As usual, if you use Bitcoin and want to show your support of my activities, please send Bitcoin donations to my address @@ -552,7 +696,7 @@ activities, please send Bitcoin donations to my address
@@ -560,26 +704,37 @@ activities, please send Bitcoin donations to my addressI continue to explore my Kodi installation, and today I wanted to -tell it to play a youtube URL I received in a chat, without having to -insert search terms using the on-screen keyboard. After searching the -web for API access to the Youtube plugin and testing a bit, I managed -to find a recipe that worked. If you got a kodi instance with its API -available from http://kodihost/jsonrpc, you can try the following to -have check out a nice cover band.
- -- -curl --silent --header 'Content-Type: application/json' \ - --data-binary '{ "id": 1, "jsonrpc": "2.0", "method": "Player.Open", - "params": {"item": { "file": - "plugin://plugin.video.youtube/play/?video_id=LuRGVM9O0qg" } } }' \ - http://projector.local/jsonrpc
I've extended kodi-stream program to take a video source as its -first argument. It can now handle direct video links, youtube links -and 'desktop' to stream my desktop to Kodi. It is almost like a -Chromecast. :)
+ +If you read my blog regularly, you probably know I am involved in +running and developing the Norwegian +TV channel Frikanalen. It is an open channel, allowing everyone +in Norway to publish videos on a TV channel with national coverage. +You can think of it as Youtube for national television. +In addition to distribution on RiksTV and Uninett, Frikanalen is also +available as a Kodi addon. The last few days I have updated the code +to add more features. A +new +and improved version 0.0.3 Frikanalen addon was just made +available via the Kodi repositories. This new version include a +option to browse videos by category, as well as free text search +in the video archive. It will now also show the video duration in the +video lists, which were missing earlier. A new and experimental +link to the HD video stream currently being worked on is provided, for +those that want to see what the CasparCG +output look like. The alternative is the SD video stream, generated +using MLT. CasparCG is controlled by our +mltplayout +server which instead of talking to mlt is giving PLAY instructions +to the CasparCG server when it is time to start a new program.
+ +By now, you are probably wondering what kind of content is being +played on the channel. These days, it is filled with technical +presentations like those from NUUG, +Debconf, Makercon, and TED, +but there are also some periods with +EMPT TV and +P7.
As usual, if you use Bitcoin and want to show your support of my activities, please send Bitcoin donations to my address @@ -588,7 +743,7 @@ activities, please send Bitcoin donations to my address
@@ -596,19 +751,42 @@ activities, please send Bitcoin donations to my addressIt might seem obvious that software created using tax money should -be available for everyone to use and improve. Free Software -Foundation Europe recentlystarted a campaign to help get more people -to understand this, and I just signed the petition on -Public Money, Public Code to help -them. I hope you too will do the same.
+ +As part of my involvement in +the Nikita +archive API project, I've been importing a fairly large lump of +emails into a test instance of the archive to see how well this would +go. I picked a subset of my +notmuch email database, all public emails sent to me via +@lists.debian.org, giving me a set of around 216 000 emails to import. +In the process, I had a look at the various attachments included in +these emails, to figure out what to do with attachments, and noticed +that one of the most common attachment formats do not have +an +official MIME type registered with IANA/IETF. The output from +diff, ie the input for patch, is on the top 10 list of formats +included in these emails. At the moment people seem to use either +text/x-patch or text/x-diff, but neither is officially registered. It +would be better if one official MIME type were registered and used +everywhere.
+ +To try to get one official MIME type for these files, I've brought +up the topic on +the +media-types mailing list. If you are interested in discussion +which MIME type to use as the official for patch files, or involved in +making software using a MIME type for patches, perhaps you would like +to join the discussion?
+ +As usual, if you use Bitcoin and want to show your support of my +activities, please send Bitcoin donations to my address +15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b.
A few days ago, I wondered if there are any privacy respecting -health monitors and/or fitness trackers available for sale these days. -I would like to buy one, but do not want to share my personal data -with strangers, nor be forced to have a mobile phone to get data out -of the unit. I've received some ideas, and would like to share them -with you. - -One interesting data point was a pointer to a Free Software app for -Android named -Gadgetbridge. -It provide cloudless collection and storing of data from a variety of -trackers. Its -list -of supported devices is a good indicator for units where the -protocol is fairly open, as it is obviously being handled by Free -Software. Other units are reportedly encrypting the collected -information with their own public key, making sure only the vendor -cloud service is able to extract data from the unit. The people -contacting me about Gadgetbirde said they were using -Amazfit -Bip and -Xiaomi -Band 3.
- -I also got a suggestion to look at some of the units from Garmin. -I was told their GPS watches can be connected via USB and show up as a -USB storage device with -Garmin -FIT files containing the collected measurements. While -proprietary, FIT files apparently can be read at least by -GPSBabel and the -GpxPod Nextcloud -app. It is unclear to me if they can read step count and heart rate -data. The person I talked to was using a -Garmin Forerunner -935, which is a fairly expensive unit. I doubt it is worth it for -a unit where the vendor clearly is trying its best to move from open -to closed systems. I still remember when Garmin dropped NMEA support -in its GPSes.
- -A final idea was to build ones own unit, perhaps by basing it on a -wearable hardware platforms like -the Flora Geo -Watch. Sound like fun, but I had more money than time to spend on -the topic, so I suspect it will have to wait for another time.
- -While I was working on tracking down links, I came across an -inspiring TED talk by Dave Debronkart about -being a -e-patient, and discovered the web site -Participatory -Medicine. If you too want to track your own health and fitness -without having information about your private life floating around on -computers owned by others, I recommend checking it out.
+ +My current home stereo is a patchwork of various pieces I got on +flee markeds over the years. It is amazing what kind of equipment +show up there. I've been wondering for a while if it was possible to +measure how well this equipment is working together, and decided to +see how far I could get using free software. After trawling the web I +came across an article from DIY Audio and Video on +Speaker +Testing and Analysis describing how to test speakers, and it listing +several software options, among them +AUDio MEasurement +System (AUDMES). It is the only free software system I could find +focusing on measuring speakers and audio frequency response. In the +process I also found an interesting article from NOVO on +Understanding +Speaker Specifications and Frequency Response and an article from +ecoustics on +Understanding +Speaker Frequency Response, with a lot of information on what to +look for and how to interpret the graphs. Armed with this knowledge, +I set out to measure the state of my speakers.
+ +The first hurdle was that AUDMES hadn't seen a commit for 10 years +and did not build with current compilers and libraries. I got in +touch with its author, who no longer was spending time on the program +but gave me write access to the subversion repository on Sourceforge. +The end result is that now the code build on Linux and is capable of +saving and loading the collected frequency response data in CSV +format. The application is quite nice and flexible, and I was able to +select the input and output audio interfaces independently. This made +it possible to use a USB mixer as the input source, while sending +output via my laptop headphone connection. I lacked the hardware and +cabling to figure out a different way to get independent cabling to +speakers and microphone.
+ +Using this setup I could see how a large range of high frequencies +apparently were not making it out of my speakers. The picture show +the frequency response measurement of one of the speakers. Note the +frequency lines seem to be slightly misaligned, compared to the CSV +output from the program. I can not hear several of these are high +frequencies, according to measurement from +Free Hearing Test +Software, an freeware system to measure your hearing (still +looking for a free software alternative), so I do not know if they are +coming out out the speakers. I thus do not quite know how to figure +out if the missing frequencies is a problem with the microphone, the +amplifier or the speakers, but I managed to rule out the audio card in my +PC by measuring my Bose noise canceling headset using its own +microphone. This setup was able to see the high frequency tones, so +the problem with my stereo had to be in the amplifier or speakers.
+ +Anyway, to try to role out one factor I ended up picking up a new +set of speakers at a flee marked, and these work a lot better than the +old speakers, so I guess the microphone and amplifier is OK. If you +need to measure your own speakers, check out AUDMES. If more people +get involved, perhaps the project could become good enough to +include in Debian? And if +you know of some other free software to measure speakers and amplifier +performance, please let me know. I am aware of the freeware option +REW, but I want something +that can be developed also when the vendor looses interest.
As usual, if you use Bitcoin and want to show your support of my activities, please send Bitcoin donations to my address @@ -680,7 +866,7 @@ activities, please send Bitcoin donations to my address
@@ -688,27 +874,58 @@ activities, please send Bitcoin donations to my addressDear lazyweb,
- -I wonder, is there a fitness tracker / health monitor available for -sale today that respect the users privacy? With this I mean a -watch/bracelet capable of measuring pulse rate and other -fitness/health related values (and by all means, also the correct time -and location if possible), which is only provided for -me to extract/read from the unit with computer without a radio beacon -and Internet connection. In other words, it do not depend on a cell -phone app, and do make the measurements available via other peoples -computer (aka "the cloud"). The collected data should be available -using only free software. I'm not interested in depending on some -non-free software that will leave me high and dry some time in the -future. I've been unable to find any such unit. I would like to buy -it. The ones I have seen for sale here in Norway are proud to report -that they share my health data with strangers (aka "cloud enabled"). -Is there an alternative? I'm not interested in giving money to people -requiring me to accept "privacy terms" to allow myself to measure my -own health.
+ +Bittorrent is as far as I know, currently the most efficient way to +distribute content on the Internet. It is used all by all sorts of +content providers, from national TV stations like +NRK, Linux distributors like +Debian and +Ubuntu, and of course the +Internet archive. + +
Almost a month ago +a new +package adding Bittorrent support to VLC became available in +Debian testing and unstable. To test it, simply install it like +this:
+ ++apt install vlc-plugin-bittorrent ++ +
Since the plugin was made available for the first time in Debian, +several improvements have been made to it. In version 2.2-4, now +available in both testing and unstable, a desktop file is provided to +teach browsers to start VLC when the user click on torrent files or +magnet links. The last part is thanks to me finally understanding +what the strange x-scheme-handler style MIME types in desktop files +are used for. By adding x-scheme-handler/magnet to the MimeType entry +in the desktop file, at least the browsers Firefox and Chromium will +suggest to start VLC when selecting a magnet URI on a web page. The +end result is that now, with the plugin installed in Buster and Sid, +one can visit any +Internet +Archive page with movies using a web browser and click on the +torrent link to start streaming the movie.
+ +Note, there is still some misfeatures in the plugin. One is the +fact that it will hang and +block VLC +from exiting until the torrent streaming starts. Another is the +fact that it +will pick +and play a random file in a multi file torrent. This is not +always the video file you want. Combined with the first it can be a +bit hard to get the video streaming going. But when it work, it seem +to do a good job.
+ +For the Debian packaging, I would love to find a good way to test +if the plugin work with VLC using autopkgtest. I tried, but do not +know enough of the inner workings of VLC to get it working. For now +the autopkgtest script is only checking if the .so file was +successfully loaded by VLC. If you have any suggestions, please +submit a patch to the Debian bug tracking system.
As usual, if you use Bitcoin and want to show your support of my activities, please send Bitcoin donations to my address @@ -717,7 +934,7 @@ activities, please send Bitcoin donations to my address
@@ -732,6 +949,13 @@ activities, please send Bitcoin donations to my addressArchive
-
+
- 2019
+
-
+
+
- January (2) + +
+
- 2018
-
@@ -751,7 +975,11 @@ activities, please send Bitcoin donations to my address
- September (3) -
- October (4) +
- October (5) + +
- November (2) + +
- December (4)
@@ -1046,7 +1274,7 @@ activities, please send Bitcoin donations to my address
- chrpath (2) -
- debian (163) +
- debian (165)
- debian edu (158) @@ -1060,17 +1288,17 @@ activities, please send Bitcoin donations to my address
- drivstoffpriser (4) -
- english (389) +
- english (396)
- fiksgatami (23) -
- fildeling (13) +
- fildeling (14) -
- freeculture (32) +
- freeculture (33)
- freedombox (9) -
- frikanalen (18) +
- frikanalen (20)
- h264 (20) @@ -1080,7 +1308,7 @@ activities, please send Bitcoin donations to my address
- kart (20) -
- kodi (3) +
- kodi (4)
- ldap (9) @@ -1094,21 +1322,21 @@ activities, please send Bitcoin donations to my address
- mesh network (8) -
- multimedia (41) +
- multimedia (42) -
- nice free software (10) +
- nice free software (11) -
- norsk (299) +
- norsk (301) -
- nuug (191) +
- nuug (192)
- offentlig innsyn (34)
- open311 (2) -
- opphavsrett (72) +
- opphavsrett (73) -
- personvern (107) +
- personvern (108)
- raid (2) @@ -1132,7 +1360,7 @@ activities, please send Bitcoin donations to my address
- skepsis (5) -
- standard (56) +
- standard (58)
- stavekontroll (6) @@ -1146,13 +1374,13 @@ activities, please send Bitcoin donations to my address
- valg (9) -
- verkidetfri (13) +
- verkidetfri (15) -
- video (69) +
- video (73)
- vitenskap (4) -
- web (41) +
- web (42)