X-Git-Url: https://pere.pagekite.me/gitweb/homepage.git/blobdiff_plain/4b3704ec7452d7a9e642943dba0cfff18f9d9cc7..8c9509ef1685859d63fe51d91766ec53d2af0be8:/blog/index.rss diff --git a/blog/index.rss b/blog/index.rss index 1b85066ac2..ce50cbf395 100644 --- a/blog/index.rss +++ b/blog/index.rss @@ -7,743 +7,1189 @@ - syslog-trusted-timestamp - chain of trusted timestamps for your syslog - http://people.skolelinux.org/pere/blog/syslog_trusted_timestamp___chain_of_trusted_timestamps_for_your_syslog.html - http://people.skolelinux.org/pere/blog/syslog_trusted_timestamp___chain_of_trusted_timestamps_for_your_syslog.html - Fri, 1 Apr 2016 09:50:00 +0200 - <p>Two years ago, I had -<a href="http://people.skolelinux.org/pere/blog/Public_Trusted_Timestamping_services_for_everyone.html">a -look at trusted timestamping options available</a>, and among -other things noted a still open -<a href="https://bugs.debian.org/742553">bug in the tsget script</a> -included in openssl that made it harder than necessary to use openssl -as a trusted timestamping client. A few days ago I was told -<a href="https::/www.difi.no/">the Norwegian government office DIFI</a> is -close to releasing their own trusted timestamp service, and in the -process I was happy to learn about a replacement for the tsget script -using only curl:</p> - -<p><pre> -openssl ts -query -data "/etc/shells" -cert -sha256 -no_nonce \ - | curl -s -H "Content-Type: application/timestamp-query" \ - --data-binary "@-" http://zeitstempel.dfn.de > etc-shells.tsr -openssl ts -reply -text -in etc-shells.tsr -</pre></p> - -<p>This produces a binary timestamp file (etc-shells.tsr) which can be -used to verify that the content of the file /etc/shell with the -calculated sha256 hash existed at the point in time when the request -was made. The last command extract the content of the etc-shells.tsr -in human readable form. The idea behind such timestamp is to be able -to prove using cryptography that the content of a file have not -changed since the file was stamped.</p> - -<p>To verify that the file on disk match the public key signature in -the timestamp file, run the following commands. It make sure you have -the required certificate for the trusted timestamp service available -and use it to compare the file content with the timestamp. In -production, one should of course use a better method to verify the -service certificate.</p> - -<p><pre> -wget -O ca-cert.txt https://pki.pca.dfn.de/global-services-ca/pub/cacert/chain.txt -openssl ts -verify -data /etc/shells -in etc-shells.tsr -CAfile ca-cert.txt -text -</pre></p> - -<p>Wikipedia have a lot more information about -<a href="https://en.wikipedia.org/wiki/Trusted_timestamping">trusted -Timestamping</a> and -<a href="https://en.wikipedia.org/wiki/Linked_timestamping">linked -timestamping</a>, and there are several trusted timestamping services -around, both as commercial services and as free and public services. -Among the latter is -<a href="https://www.pki.dfn.de/zeitstempeldienst/">the -zeitstempel.dfn.de service</a> mentioned above and -<a href="https://freetsa.org/">freetsa.org service</a> linked to from the -wikipedia web site. I believe the DIFI service should show up on -https://tsa.difi.no, but it is not available to the public at the -moment. I hope this will change when it is into production. The -<a href="https://tools.ietf.org/html/rfc3161">RFC 3161</a> trusted -timestamping protocol standard is even implemented in LibreOffice, -Microsoft Office and Adobe Acrobat, making it possible to verify when -a document was created.</p> - -<p>I would find it useful to be able to use such trusted timestamp -service to make it possible to verify that my stored syslog files have -not been tampered with. This is not a new idea. I found one example -implemented on the Endian network appliances where -<a href="http://help.endian.com/entries/21518508-Enabling-Timestamping-on-log-files-">the -configuration of such feature was described in 2012</a>.</p> - -<p>But I could not find any free implementation of such feature when I -searched, so I decided to try to -<a href="https://github.com/petterreinholdtsen/syslog-trusted-timestamp">build -a prototype named syslog-trusted-timestamp</a>. My idea is to -generate a timestamp of the old log files after they are rotated, and -store the timestamp in the new log file just after rotation. This -will form a chain that would make it possible to see if any old log -files are tampered with. But syslog is bad at handling kilobytes of -binary data, so I decided to base64 encode the timestamp and add an ID -and line sequence numbers to the base64 data to make it possible to -reassemble the timestamp file again. To use it, simply run it like -this: - -<p><pre> -syslog-trusted-timestamp /path/to/list-of-log-files -</pre></p> - -<p>This will send a timestamp from one or more timestamp services (not -yet decided nor implemented) for each listed file to the syslog using -logger(1). To verify the timestamp, the same program is used with the ---verify option:</p> - -<p><pre> -syslog-trusted-timestamp --verify /path/to/log-file /path/to/log-with-timestamp -</pre></p> - -<p>The verification step is not yet well designed. The current -implementation depend on the file path being unique and unchanging, -and this is not a solid assumption. It also uses process number as -timestamp ID, and this is bound to create ID collisions. I hope to -have time to come up with a better way to handle timestamp IDs and -verification later.</p> - -<p>Please check out -<a href="https://github.com/petterreinholdtsen/syslog-trusted-timestamp">the -prototype for syslog-trusted-timestamp on github</a> and send -suggestions and improvement, or let me know if there already exist a -similar system for timestamping logs already to allow me to join -forces with others with the same interest.</p> - -<p>As usual, if you use Bitcoin and want to show your support of my -activities, please send Bitcoin donations to my address -<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p> + Kommentarer til «Evaluation of (il)legality» for Popcorn Time + http://people.skolelinux.org/pere/blog/Kommentarer_til__Evaluation_of__il_legality__for_Popcorn_Time.html + http://people.skolelinux.org/pere/blog/Kommentarer_til__Evaluation_of__il_legality__for_Popcorn_Time.html + Wed, 20 Dec 2017 11:40:00 +0100 + <p>I går var jeg i Follo tingrett som sakkyndig vitne og presenterte + mine undersøkelser rundt + <a href="https://github.com/petterreinholdtsen/public-domain-free-imdb">telling + av filmverk i det fri</a>, relatert til + <a href="https://www.nuug.no/">foreningen NUUG</a>s involvering i + <a href="https://www.nuug.no/news/tags/dns-domenebeslag/">saken om + Økokrims beslag og senere inndragning av DNS-domenet + popcorn-time.no</a>. Jeg snakket om flere ting, men mest om min + vurdering av hvordan filmbransjen har målt hvor ulovlig Popcorn Time + er. Filmbransjens måling er så vidt jeg kan se videreformidlet uten + endringer av norsk politi, og domstolene har lagt målingen til grunn + når de har vurdert Popcorn Time både i Norge og i utlandet (tallet + 99% er referert også i utenlandske domsavgjørelser).</p> + +<p>I forkant av mitt vitnemål skrev jeg et notat, mest til meg selv, + med de punktene jeg ønsket å få frem. Her er en kopi av notatet jeg + skrev og ga til aktoratet. Merkelig nok ville ikke dommerene ha + notatet, så hvis jeg forsto rettsprosessen riktig ble kun + histogram-grafen lagt inn i dokumentasjonen i saken. Dommerne var + visst bare interessert i å forholde seg til det jeg sa i retten, + ikke det jeg hadde skrevet i forkant. Uansett så antar jeg at flere + enn meg kan ha glede av teksten, og publiserer den derfor her. + Legger ved avskrift av dokument 09,13, som er det sentrale + dokumentet jeg kommenterer.</p> + +<p><strong>Kommentarer til «Evaluation of (il)legality» for Popcorn + Time</strong></p> + +<p><strong>Oppsummering</strong></p> + +<p>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.</p> + +<p>De eller den som har vurdert hvorvidt filmer kan lovlig deles har + ikke lyktes med å identifisere filmer som kan deles lovlig 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. + Jeg finner 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.</p> + +<p>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.</p> + +<p>Det som måles er ikke (u)lovligheten knyttet til bruken av Popcorn + Time, men (u)lovligheten til innholdet i bittorrent-filmkataloger + som vedlikeholdes uavhengig av Popcorn Time.</p> + +<p>Omtalte dokumenter: 09,12, <a href="#dok-09-13">09,13</a>, 09,14, +09,18, 09,19, 09,20.</p> + +<p><strong>Utfyllende kommentarer</strong></p> + +<p>Ø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.</p> + +<p>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.</p> + +<p>Raskt oppsummert, så forteller metodedokumentet at på grunn av at + 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 søkeord større enn tre tegn fra + ordlisten 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.</p> + +<p>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).</p> + +<p>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 ble lasted ned og talt opp. Dokument + 09,12 er muligens samme rapport som ble referert til i dom fra Oslo + Tingrett 2017-11-03 + (<a href="https://www.domstol.no/no/Enkelt-domstol/Oslo--tingrett/Nyheter/ma-sperre-for-popcorn-time/">sak + 17-093347TVI-OTIR/05</a>) som rapport av 1. juni 2017 av Alexander + Kind Petersen, men jeg har ikke sammenlignet dokumentene ord for ord + for å kontrollere dette.</p> + +<p>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, og + 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. Som + del av IMDB-tjenesten finnes det lister med filmer laget av + frivillige som lister opp det som antas å være verk i det fri.</p> + +<p>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 de siste ukene + forsøkt å samle og krysskoble disse listene 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 11 000 filmer, hovedsaklig spillefilmer. + +<p>De aller fleste oppføringene 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 med referanse til IMDB. Internett-arkivet, som + holder til i USA, har som + <a href="https://archive.org/about/terms.php">policy å kun publisere + filmer som det er lovlig å distribuere</a>. 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. 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 (.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 + en liste fra IMDB).</p> + +<p>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 11 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. + +<p>I tillegg til de over 11 000 filmene der tittel-ID i IMDB er + identifisert, har jeg funnet mer enn 20 000 oppføringer der jeg ennå + ikke har hatt kapasitet til å spore opp tittel-ID i IMDB. Noen av + disse er nok duplikater av de IMDB-oppføringene som er identifisert + så langt, men neppe alle. 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 er at tallet 11 000 er nedre grense for hvor + mange filmer i IMDB som kan lovlig deles på Internett. I følge <a + href="http://www.imdb.com/stats">statistikk fra IMDB</a> er det 4.6 + millioner titler registrert, hvorav 3 millioner er TV-serieepisoder. + Jeg har ikke funnet ut hvordan de fordeler seg per år.</p> + +<p>Hvis en fordeler på år alle tittel-IDene i IMDB som hevdes å lovlig + kunne deles på Internett, får en følgende histogram:</p> + +<p align="center"><img width="80%" src="http://people.skolelinux.org/pere/blog/images/2017-12-20-histogram-year.png"></p> + +<p>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 + <a href="https://creativecommons.org/">Creative + Commons</a>-bevegelsen..</p> + +<p>For maskinell analyse av katalogene har jeg laget 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, noe som bekrefter at det er mulig å hente ned komplett + liste med alle filmtitler som er tilgjengelig. Jeg har sett på fire + bittorrent-kataloger. Den ene brukes av klienten tilgjengelig fra + www.popcorntime.sh 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 og er navngitt 'yts' i dette + dokumentet. Den tredje brukes av websidene tilgjengelig fra + popcorntime-online.tv og er navngitt 'apidomain' i dette dokumentet. + Den fjerde brukes av klienten tilgjenglig fra popcorn-time.to i + følge dokument 09,12, og er navngitt 'ukrfnlge' i dette + dokumentet.</p> + +<p>Metoden Ø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. Hvis + det er noe + <a href="http://www.latimes.com/local/lanow/la-me-ln-happy-birthday-song-lawsuit-decision-20150922-story.html">historien + om sangen «Happy birthday»</a> forteller oss, der betaling for bruk + har vært krevd inn i flere tiår selv om sangen ikke egentlig var + vernet av åndsverksloven, så er det 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 klienten 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.</p> + +<p>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 + <a href="https://archive.org/details/brain_that_wouldnt_die">tilgjengelig + fra Internett-arkivet</a> og som + <a href="https://en.wikipedia.org/wiki/List_of_films_in_the_public_domain_in_the_United_States">i + følge Wikipedia er allemannseie i USA</a> da den ble gitt ut i + 1962 uten 'copyright'-merking, og filmen «God’s Little Acre» fra + 1958 <a href="https://en.wikipedia.org/wiki/God%27s_Little_Acre_%28film%29">som + er lagt ut på Wikipedia</a>, 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.</p> + +<p>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 at metodens + punkt om «rimelig å forvente om at verket var vernet av copyright» + gjør metoden upålitelig.</p> + +<p>Den omtalte målemetoden velger ut tilfeldige søketermer fra + ordlisten Dale-Chall. Den ordlisten inneholder 3000 enkle engelske + 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.</p> + +<p>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.</p> + +<p>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 endel kataloger 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.</p> + +<p align="center"> + <img width="40%" src="http://people.skolelinux.org/pere/blog/images/2017-12-20-histogram-year-sh-top.png"/> + <img width="40%" src="http://people.skolelinux.org/pere/blog/images/2017-12-20-histogram-year-sh-bottom.png"/> + <br> + <img width="40%" src="http://people.skolelinux.org/pere/blog/images/2017-12-20-histogram-year-yts-top.png"/> + <img width="40%" src="http://people.skolelinux.org/pere/blog/images/2017-12-20-histogram-year-yts-bottom.png"/> + <br> + <img width="40%" src="http://people.skolelinux.org/pere/blog/images/2017-12-20-histogram-year-ukrfnlge-top.png"/> + <img width="40%" src="http://people.skolelinux.org/pere/blog/images/2017-12-20-histogram-year-ukrfnlge-bottom.png"/> + <br> + <img width="40%" src="http://people.skolelinux.org/pere/blog/images/2017-12-20-histogram-year-apidomain-top.png"/> + <img width="40%" src="http://people.skolelinux.org/pere/blog/images/2017-12-20-histogram-year-apidomain-bottom.png"/> +</p> + +<p>Det er verdt å bemerke at de omtalte bittorrent-katalogene ikke er + laget for bruk med Popcorn Time. 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.</p> + +<hr> + +<p id="dok-09-13">Metoden fra Økokrims dokument 09,13 i straffesaken +om DNS-beslag.</p> + +<p><strong>1. Evaluation of (il)legality</strong></p> + +<p><strong>1.1. Methodology</strong> + +<p>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:</p> + +<ol> + + <li>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.</li> + + <li>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).</li> + + <li>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.</li> + + <li>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.</li> + +</ol> + +<p><strong>1.2. Results</strong></p> + +<p>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.</p> + +<p>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.</p> + +<p>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.</p> + +<p>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.</p> + +<p>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.</p> - Full battery stats collector is now available in Debian - http://people.skolelinux.org/pere/blog/Full_battery_stats_collector_is_now_available_in_Debian.html - http://people.skolelinux.org/pere/blog/Full_battery_stats_collector_is_now_available_in_Debian.html - Wed, 23 Mar 2016 22:10:00 +0100 - <p>Since this morning, the battery-stats package in Debian include an -extended collector that will collect the complete battery history for -later processing and graphing. The original collector store the -battery level as percentage of last full level, while the new -collector also record battery vendor, model, serial number, design -full level, last full level and current battery level. This make it -possible to predict the lifetime of the battery as well as visualise -the energy flow when the battery is charging or discharging.</p> - -<p>The new tools are available in <tt>/usr/share/battery-stats/</tt> -in the version 0.5.1 package in unstable. Get the new battery level graph -and lifetime prediction by running: - -<p><pre> -/usr/share/battery-stats/battery-stats-graph /var/log/battery-stats.csv -</pre></p> - -<p>Or select the 'Battery Level Graph' from your application menu.</p> - -<p>The flow in/out of the battery can be seen by running (no menu -entry yet):</p> - -<p><pre> -/usr/share/battery-stats/battery-stats-graph-flow -</pre></p> - -<p>I'm not quite happy with the way the data is visualised, at least -when there are few data points. The graphs look a bit better with a -few years of data.</p> - -<p>A while back one important feature I use in the battery stats -collector broke in Debian. The scripts in -<tt>/usr/lib/pm-utils/power.d/</tt> were no longer executed. I -suspect it happened when Jessie started using systemd, but I do not -know. The issue is reported as -<a href="https://bugs.debian.org/818649">bug #818649</a> against -pm-utils. I managed to work around it by adding an udev rule to call -the collector script every time the power connector is connected and -disconnected. With this fix in place it was finally time to make a -new release of the package, and get it into Debian.</p> - -<p>If you are interested in how your laptop battery is doing, please -check out the -<a href="https://tracker.debian.org/pkg/battery-stats">battery-stats</a> -in Debian unstable, or rebuild it on Jessie to get it working on -Debian stable. :) The upstream source is available from -<a href="https://github.com/petterreinholdtsen/battery-stats">github</a>. -As always, patches are very welcome.</p> + Cura, the nice 3D print slicer, is now in Debian Unstable + http://people.skolelinux.org/pere/blog/Cura__the_nice_3D_print_slicer__is_now_in_Debian_Unstable.html + http://people.skolelinux.org/pere/blog/Cura__the_nice_3D_print_slicer__is_now_in_Debian_Unstable.html + Sun, 17 Dec 2017 07:00:00 +0100 + <p>After several months of working and waiting, I am happy to report +that the nice and user friendly 3D printer slicer software Cura just +entered Debian Unstable. It consist of five packages, +<a href="https://tracker.debian.org/pkg/cura">cura</a>, +<a href="https://tracker.debian.org/pkg/cura-engine">cura-engine</a>, +<a href="https://tracker.debian.org/pkg/libarcus">libarcus</a>, +<a href="https://tracker.debian.org/pkg/fdm-materials">fdm-materials</a>, +<a href="https://tracker.debian.org/pkg/libsavitar">libsavitar</a> and +<a href="https://tracker.debian.org/pkg/uranium">uranium</a>. The last +two, uranium and cura, entered Unstable yesterday. This should make +it easier for Debian users to print on at least the Ultimaker class of +3D printers. My nearest 3D printer is an Ultimaker 2+, so it will +make life easier for at least me. :)</p> + +<p>The work to make this happen was done by Gregor Riepl, and I was +happy to assist him in sponsoring the packages. With the introduction +of Cura, Debian is up to three 3D printer slicers at your service, +Cura, Slic3r and Slic3r Prusa. If you own or have access to a 3D +printer, give it a go. :)</p> + +<p>The 3D printer software is maintained by the 3D printer Debian +team, flocking together on the +<a href="http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/3dprinter-general">3dprinter-general</a> +mailing list and the +<a href="irc://irc.debian.org/#debian-3dprinting">#debian-3dprinting</a> +IRC channel.</p> + +<p>The next step for Cura in Debian is to update the cura package to +version 3.0.3 and then update the entire set of packages to version +3.1.0 which showed up the last few days.</p> - UsingQR - "Electronic" paper invoices using JSON and QR codes - http://people.skolelinux.org/pere/blog/UsingQR____Electronic__paper_invoices_using_JSON_and_QR_codes.html - http://people.skolelinux.org/pere/blog/UsingQR____Electronic__paper_invoices_using_JSON_and_QR_codes.html - Sat, 19 Mar 2016 09:40:00 +0100 - <p>Back in 2013 I proposed -<a href="http://people.skolelinux.org/pere/blog/_Electronic__paper_invoices___using_vCard_in_a_QR_code.html">a -way to make paper and PDF invoices easier to process electronically by -adding a QR code with the key information about the invoice</a>. I -suggested using vCard field definition, to get some standard format -for name and address, but any format would work. I did not do -anything about the proposal, but hoped someone one day would make -something like it. It would make it possible to efficiently send -machine readable invoices directly between seller and buyer.</p> - -<p>This was the background when I came across a proposal and -specification from the web based accounting and invoicing supplier -<a href="http://www.visma.com/">Visma</a> in Sweden called -<a href="http://usingqr.com/">UsingQR</a>. Their PDF invoices contain -a QR code with the key information of the invoice in JSON format. -This is the typical content of a QR code following the UsingQR -specification (based on a real world example, some numbers replaced to -get a more bogus entry). I've reformatted the JSON to make it easier -to read. Normally this is all on one long line:</p> - -<p><img src="http://people.skolelinux.org/pere/blog/images/2016-03-19-qr-invoice.png" align="right"><pre> -{ - "vh":500.00, - "vm":0, - "vl":0, - "uqr":1, - "tp":1, - "nme":"Din Leverandør", - "cc":"NO", - "cid":"997912345 MVA", - "iref":"12300001", - "idt":"20151022", - "ddt":"20151105", - "due":2500.0000, - "cur":"NOK", - "pt":"BBAN", - "acc":"17202612345", - "bc":"BIENNOK1", - "adr":"0313 OSLO" -} -</pre></p> + Idea for finding all public domain movies in the USA + http://people.skolelinux.org/pere/blog/Idea_for_finding_all_public_domain_movies_in_the_USA.html + http://people.skolelinux.org/pere/blog/Idea_for_finding_all_public_domain_movies_in_the_USA.html + Wed, 13 Dec 2017 10:15:00 +0100 + <p>While looking at +<a href="http://onlinebooks.library.upenn.edu/cce/">the scanned copies +for the copyright renewal entries for movies published in the USA</a>, +an idea occurred to me. The number of renewals are so few per year, it +should be fairly quick to transcribe them all and add references to +the corresponding IMDB title ID. This would give the (presumably) +complete list of movies published 28 years earlier that did _not_ +enter the public domain for the transcribed year. By fetching the +list of USA movies published 28 years earlier and subtract the movies +with renewals, we should be left with movies registered in IMDB that +are now in the public domain. For the year 1955 (which is the one I +have looked at the most), the total number of pages to transcribe is +21. For the 28 years from 1950 to 1978, it should be in the range +500-600 pages. It is just a few days of work, and spread among a +small group of people it should be doable in a few weeks of spare +time.</p> + +<p>A typical copyright renewal entry look like this (the first one +listed for 1955):</p> + +<p><blockquote> + ADAM AND EVIL, a photoplay in seven reels by Metro-Goldwyn-Mayer + Distribution Corp. (c) 17Aug27; L24293. Loew's Incorporated (PWH); + 10Jun55; R151558. +</blockquote></p> + +<p>The movie title as well as registration and renewal dates are easy +enough to locate by a program (split on first comma and look for +DDmmmYY). The rest of the text is not required to find the movie in +IMDB, but is useful to confirm the correct movie is found. I am not +quite sure what the L and R numbers mean, but suspect they are +reference numbers into the archive of the US Copyright Office.</p> + +<p>Tracking down the equivalent IMDB title ID is probably going to be +a manual task, but given the year it is fairly easy to search for the +movie title using for example +<a href="http://www.imdb.com/find?q=adam+and+evil+1927&s=all">http://www.imdb.com/find?q=adam+and+evil+1927&s=all</a>. +Using this search, I find that the equivalent IMDB title ID for the +first renewal entry from 1955 is +<a href="http://www.imdb.com/title/tt0017588/">http://www.imdb.com/title/tt0017588/</a>.</p> + +<p>I suspect the best way to do this would be to make a specialised +web service to make it easy for contributors to transcribe and track +down IMDB title IDs. In the web service, once a entry is transcribed, +the title and year could be extracted from the text, a search in IMDB +conducted for the user to pick the equivalent IMDB title ID right +away. By spreading out the work among volunteers, it would also be +possible to make at least two persons transcribe the same entries to +be able to discover any typos introduced. But I will need help to +make this happen, as I lack the spare time to do all of this on my +own. If you would like to help, please get in touch. Perhaps you can +draft a web service for crowd sourcing the task?</p> + +<p>Note, Project Gutenberg already have some +<a href="http://www.gutenberg.org/ebooks/search/?query=copyright+office+renewals">transcribed +copies of the US Copyright Office renewal protocols</a>, but I have +not been able to find any film renewals there, so I suspect they only +have copies of renewal for written works. I have not been able to find +any transcribed versions of movie renewals so far. Perhaps they exist +somewhere?</p> + +<p>I would love to figure out methods for finding all the public +domain works in other countries too, but it is a lot harder. At least +for Norway and Great Britain, such work involve tracking down the +people involved in making the movie and figuring out when they died. +It is hard enough to figure out who was part of making a movie, but I +do not know how to automate such procedure without a registry of every +person involved in making movies and their death year.</p> -</p>The interpretation of the fields can be found in the -<a href="http://usingqr.com/wp-content/uploads/2014/06/UsingQR_specification1.pdf">format -specification</a> (revision 2 from june 2014). The format seem to -have most of the information needed to handle accounting and payment -of invoices, at least the fields I have needed so far here in -Norway.</p> - -<p>Unfortunately, the site and document do not mention anything about -the patent, trademark and copyright status of the format and the -specification. Because of this, I asked the people behind it back in -November to clarify. Ann-Christine Savlid (ann-christine.savlid (at) -visma.com) replied that Visma had not applied for patent or trademark -protection for this format, and that there were no copyright based -usage limitations for the format. I urged her to make sure this was -explicitly written on the web pages and in the specification, but -unfortunately this has not happened yet. So I guess if there is -submarine patents, hidden trademarks or a will to sue for copyright -infringements, those starting to use the UsingQR format might be at -risk, but if this happen there is some legal defense in the fact that -the people behind the format claimed it was safe to do so. At least -with patents, there is always -<a href="http://www.paperspecs.com/paper-news/beware-the-qr-code-patent-trap/">a -chance of getting sued...</a></p> - -<p>I also asked if they planned to maintain the format in an -independent standard organization to give others more confidence that -they would participate in the standardization process on equal terms -with Visma, but they had no immediate plans for this. Their plan was -to work with banks to try to get more users of the format, and -evaluate the way forward if the format proved to be popular. I hope -they conclude that using an open standard organisation like -<a href="http://www.ietf.org/">IETF</a> is the correct place to -maintain such specification.</p> - -<p><strong>Update 2016-03-20</strong>: Via Twitter I became aware of -<a href="https://news.ycombinator.com/item?id=11319492">some comments -about this blog post</a> that had several useful links and references to -similar systems. In the Czech republic, the Czech Banking Association -standard #26, with short name SPAYD, uses QR codes with payment -information. More information is available from the Wikipedia page on -<a href="https://en.wikipedia.org/wiki/Short_Payment_Descriptor">Short -Payment Descriptor</a>. And in Germany, there is a system named -<a href="http://www.bezahlcode.de/">BezahlCode</a>, -(<a href="http://www.bezahlcode.de/wp-content/uploads/BezahlCode_TechDok.pdf">specification -v1.8 2013-12-05 available as PDF</a>), which uses QR codes with -URL-like formatting using "bank:" as the URI schema/protocol to -provide the payment information. There is also the -<a href="http://www.ferd-net.de/front_content.php?idcat=231">ZUGFeRD</a> -file format that perhaps could be transfered using QR codes, but I am -not sure if it is done already. Last, in Bolivia there are reports -that tax information since november 2014 need to be printed in QR -format on invoices. I have not been able to track down a -specification for this format, because of my limited language skill -sets.</p> +<p>As usual, if you use Bitcoin and want to show your support of my +activities, please send Bitcoin donations to my address +<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p> - Making battery measurements a little easier in Debian - http://people.skolelinux.org/pere/blog/Making_battery_measurements_a_little_easier_in_Debian.html - http://people.skolelinux.org/pere/blog/Making_battery_measurements_a_little_easier_in_Debian.html - Tue, 15 Mar 2016 15:00:00 +0100 - <p>Back in September, I blogged about -<a href="http://people.skolelinux.org/pere/blog/The_life_and_death_of_a_laptop_battery.html">the -system I wrote to collect statistics about my laptop battery</a>, and -how it showed the decay and death of this battery (now replaced). I -created a simple deb package to handle the collection and graphing, -but did not want to upload it to Debian as there were already -<a href="https://tracker.debian.org/pkg/battery-stats">a battery-stats -package in Debian</a> that should do the same thing, and I did not see -a point of uploading a competing package when battery-stats could be -fixed instead. I reported a few bugs about its non-function, and -hoped someone would step in and fix it. But no-one did.</p> - -<p>I got tired of waiting a few days ago, and took matters in my own -hands. The end result is that I am now the new upstream developer of -battery stats (<a href="https://github.com/petterreinholdtsen/battery-stats">available from github</a>) and part of the team maintaining -battery-stats in Debian, and the package in Debian unstable is finally -able to collect battery status using the <tt>/sys/class/power_supply/</tt> -information provided by the Linux kernel. If you install the -battery-stats package from unstable now, you will be able to get a -graph of the current battery fill level, to get some idea about the -status of the battery. The source package build and work just fine in -Debian testing and stable (and probably oldstable too, but I have not -tested). The default graph you get for that system look like this:</p> - -<p align="center"><img src="http://people.skolelinux.org/pere/blog/images/2016-03-15-battery-stats-graph-example.png" width="70%" align="center"></p> - -<p>My plans for the future is to merge my old scripts into the -battery-stats package, as my old scripts collected a lot more details -about the battery. The scripts are merged into the upstream -battery-stats git repository already, but I am not convinced they work -yet, as I changed a lot of paths along the way. Will have to test a -bit more before I make a new release.</p> - -<p>I will also consider changing the file format slightly, as I -suspect the way I combine several values into one field might make it -impossible to know the type of the value when using it for processing -and graphing.</p> - -<p>If you would like I would like to keep an close eye on your laptop -battery, check out the battery-stats package in -<a href="https://tracker.debian.org/pkg/battery-stats">Debian</a> and -on -<a href="https://github.com/petterreinholdtsen/battery-stats">github</a>. -I would love some help to improve the system further.</p> + Is the short movie «Empty Socks» from 1927 in the public domain or not? + http://people.skolelinux.org/pere/blog/Is_the_short_movie__Empty_Socks__from_1927_in_the_public_domain_or_not_.html + http://people.skolelinux.org/pere/blog/Is_the_short_movie__Empty_Socks__from_1927_in_the_public_domain_or_not_.html + Tue, 5 Dec 2017 12:30:00 +0100 + <p>Three years ago, a presumed lost animation film, +<a href="https://en.wikipedia.org/wiki/Empty_Socks">Empty Socks from +1927</a>, was discovered in the Norwegian National Library. At the +time it was discovered, it was generally assumed to be copyrighted by +The Walt Disney Company, and I blogged about +<a href="http://people.skolelinux.org/pere/blog/Opphavsretts_status_for__Empty_Socks__fra_1927_.html">my +reasoning to conclude</a> that it would would enter the Norwegian +equivalent of the public domain in 2053, based on my understanding of +Norwegian Copyright Law. But a few days ago, I came across +<a href="http://www.toonzone.net/forums/threads/exposed-disneys-repurchase-of-oswald-the-rabbit-a-sham.4792291/">a +blog post claiming the movie was already in the public domain</a>, at +least in USA. The reasoning is as follows: The film was released in +November or Desember 1927 (sources disagree), and presumably +registered its copyright that year. At that time, right holders of +movies registered by the copyright office received government +protection for there work for 28 years. After 28 years, the copyright +had to be renewed if the wanted the government to protect it further. +The blog post I found claim such renewal did not happen for this +movie, and thus it entered the public domain in 1956. Yet someone +claim the copyright was renewed and the movie is still copyright +protected. Can anyone help me to figure out which claim is correct? +I have not been able to find Empty Socks in Catalog of copyright +entries. Ser.3 pt.12-13 v.9-12 1955-1958 Motion Pictures +<a href="http://onlinebooks.library.upenn.edu/cce/1955r.html#film">available +from the University of Pennsylvania</a>, neither in +<a href="https://babel.hathitrust.org/cgi/pt?id=mdp.39015084451130;page=root;view=image;size=100;seq=83;num=45">page +45 for the first half of 1955</a>, nor in +<a href="https://babel.hathitrust.org/cgi/pt?id=mdp.39015084451130;page=root;view=image;size=100;seq=175;num=119">page +119 for the second half of 1955</a>. It is of course possible that +the renewal entry was left out of the printed catalog by mistake. Is +there some way to rule out this possibility? Please help, and update +the wikipedia page with your findings. + +<p>As usual, if you use Bitcoin and want to show your support of my +activities, please send Bitcoin donations to my address +<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p> - Creating, updating and checking debian/copyright semi-automatically - http://people.skolelinux.org/pere/blog/Creating__updating_and_checking_debian_copyright_semi_automatically.html - http://people.skolelinux.org/pere/blog/Creating__updating_and_checking_debian_copyright_semi_automatically.html - Fri, 19 Feb 2016 15:00:00 +0100 - <p>Making packages for Debian requires quite a lot of attention to -details. And one of the details is the content of the -debian/copyright file, which should list all relevant licenses used by -the code in the package in question, preferably in -<a href="https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/">machine -readable DEP5 format</a>.</p> - -<p>For large packages with lots of contributors it is hard to write -and update this file manually, and if you get some detail wrong, the -package is normally rejected by the ftpmasters. So getting it right -the first time around get the package into Debian faster, and save -both you and the ftpmasters some work.. Today, while trying to figure -out what was wrong with -<a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=686447">the -zfsonlinux copyright file</a>, I decided to spend some time on -figuring out the options for doing this job automatically, or at least -semi-automatically.</p> - -<p>Lucikly, there are at least two tools available for generating the -file based on the code in the source package, -<tt><a href="https://tracker.debian.org/pkg/debmake">debmake</a></tt> -and <tt><a href="https://tracker.debian.org/pkg/cme">cme</a></tt>. I'm -not sure which one of them came first, but both seem to be able to -create a sensible draft file. As far as I can tell, none of them can -be trusted to get the result just right, so the content need to be -polished a bit before the file is OK to upload. I found the debmake -option in -<a href="http://goofying-with-debian.blogspot.com/2014/07/debmake-checking-source-against-dep-5.html">a -blog posts from 2014</a>. - -<p>To generate using debmake, use the -cc option: - -<p><pre> -debmake -cc > debian/copyright -</pre></p> - -<p>Note there are some problems with python and non-ASCII names, so -this might not be the best option.</p> - -<p>The cme option is based on a config parsing library, and I found -this approach in -<a href="https://ddumont.wordpress.com/2015/04/05/improving-creation-of-debian-copyright-file/">a -blog post from 2015</a>. To generate using cme, use the 'update -dpkg-copyright' option: + Metadata proposal for movies on the Internet Archive + http://people.skolelinux.org/pere/blog/Metadata_proposal_for_movies_on_the_Internet_Archive.html + http://people.skolelinux.org/pere/blog/Metadata_proposal_for_movies_on_the_Internet_Archive.html + Tue, 28 Nov 2017 12:00:00 +0100 + <p>It would be easier to locate the movie you want to watch in +<a href="https://www.archive.org/">the Internet Archive</a>, if the +metadata about each movie was more complete and accurate. In the +archiving community, a well known saying state that good metadata is a +love letter to the future. The metadata in the Internet Archive could +use a face lift for the future to love us back. Here is a proposal +for a small improvement that would make the metadata more useful +today. I've been unable to find any document describing the various +standard fields available when uploading videos to the archive, so +this proposal is based on my best quess and searching through several +of the existing movies.</p> + +<p>I have a few use cases in mind. First of all, I would like to be +able to count the number of distinct movies in the Internet Archive, +without duplicates. I would further like to identify the IMDB title +ID of the movies in the Internet Archive, to be able to look up a IMDB +title ID and know if I can fetch the video from there and share it +with my friends.</p> + +<p>Second, I would like the Butter data provider for The Internet +archive +(<a href="https://github.com/butterproviders/butter-provider-archive">available +from github</a>), to list as many of the good movies as possible. The +plugin currently do a search in the archive with the following +parameters:</p> <p><pre> -cme update dpkg-copyright +collection:moviesandfilms +AND NOT collection:movie_trailers +AND -mediatype:collection +AND format:"Archive BitTorrent" +AND year </pre></p> -<p>This will create or update debian/copyright. The cme tool seem to -handle UTF-8 names better than debmake.</p> - -<p>When the copyright file is created, I would also like some help to -check if the file is correct. For this I found two good options, -<tt>debmake -k</tt> and <tt>license-reconcile</tt>. The former seem -to focus on license types and file matching, and is able to detect -ineffective blocks in the copyright file. The latter reports missing -copyright holders and years, but was confused by inconsistent license -names (like CDDL vs. CDDL-1.0). I suspect it is good to use both and -fix all issues reported by them before uploading. But I do not know -if the tools and the ftpmasters agree on what is important to fix in a -copyright file, so the package might still be rejected.</p> - -<p>The devscripts tool <tt>licensecheck</tt> deserve mentioning. It -will read through the source and try to find all copyright statements. -It is not comparing the result to the content of debian/copyright, but -can be useful when verifying the content of the copyright file.</p> - -<p>Are you aware of better tools in Debian to create and update -debian/copyright file. Please let me know, or blog about it on -planet.debian.org.</p> +<p>Most of the cool movies that fail to show up in Butter do so +because the 'year' field is missing. The 'year' field is populated by +the year part from the 'date' field, and should be when the movie was +released (date or year). Two such examples are +<a href="https://archive.org/details/SidneyOlcottsBen-hur1905">Ben Hur +from 1905</a> and +<a href="https://archive.org/details/Caminandes2GranDillama">Caminandes +2: Gran Dillama from 2013</a>, where the year metadata field is +missing.</p> + +So, my proposal is simply, for every movie in The Internet Archive +where an IMDB title ID exist, please fill in these metadata fields +(note, they can be updated also long after the video was uploaded, but +as far as I can tell, only by the uploader): + +<dl> + +<dt>mediatype</dt> +<dd>Should be 'movie' for movies.</dd> + +<dt>collection</dt> +<dd>Should contain 'moviesandfilms'.</dd> + +<dt>title</dt> +<dd>The title of the movie, without the publication year.</dd> + +<dt>date</dt> +<dd>The data or year the movie was released. This make the movie show +up in Butter, as well as make it possible to know the age of the +movie and is useful to figure out copyright status.</dd> + +<dt>director</dt> +<dd>The director of the movie. This make it easier to know if the +correct movie is found in movie databases.</dd> + +<dt>publisher</dt> +<dd>The production company making the movie. Also useful for +identifying the correct movie.</dd> + +<dt>links</dt> + +<dd>Add a link to the IMDB title page, for example like this: &lt;a +href="http://www.imdb.com/title/tt0028496/"&gt;Movie in +IMDB&lt;/a&gt;. This make it easier to find duplicates and allow for +counting of number of unique movies in the Archive. Other external +references, like to TMDB, could be added like this too.</dd> + +</dl> + +<p>I did consider proposing a Custom field for the IMDB title ID (for +example 'imdb_title_url', 'imdb_code' or simply 'imdb', but suspect it +will be easier to simply place it in the links free text field.</p> + +<p>I created +<a href="https://github.com/petterreinholdtsen/public-domain-free-imdb">a +list of IMDB title IDs for several thousand movies in the Internet +Archive</a>, but I also got a list of several thousand movies without +such IMDB title ID (and quite a few duplicates). It would be great if +this data set could be integrated into the Internet Archive metadata +to be available for everyone in the future, but with the current +policy of leaving metadata editing to the uploaders, it will take a +while before this happen. If you have uploaded movies into the +Internet Archive, you can help. Please consider following my proposal +above for your movies, to ensure that movie is properly +counted. :)</p> + +<p>The list is mostly generated using wikidata, which based on +Wikipedia articles make it possible to link between IMDB and movies in +the Internet Archive. But there are lots of movies without a +Wikipedia article, and some movies where only a collection page exist +(like for <a href="https://en.wikipedia.org/wiki/Caminandes">the +Caminandes example above</a>, where there are three movies but only +one Wikidata entry).</p> <p>As usual, if you use Bitcoin and want to show your support of my activities, please send Bitcoin donations to my address <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p> - -<p><strong>Update 2016-02-20</strong>: I got a tip from Mike Gabriel -on how to use licensecheck and cdbs to create a draft copyright file - -<p><pre> -licensecheck --copyright -r `find * -type f` | \ - /usr/lib/cdbs/licensecheck2dep5 > debian/copyright.auto -</pre></p> - -<p>He mentioned that he normally check the generated file into the -version control system to make it easier to discover license and -copyright changes in the upstream source. I will try to do the same -with my packages in the future.</p> - -<p><strong>Update 2016-02-21</strong>: The cme author recommended -against using -quiet for new users, so I removed it from the proposed -command line.</p> - Using appstream in Debian to locate packages with firmware and mime type support - http://people.skolelinux.org/pere/blog/Using_appstream_in_Debian_to_locate_packages_with_firmware_and_mime_type_support.html - http://people.skolelinux.org/pere/blog/Using_appstream_in_Debian_to_locate_packages_with_firmware_and_mime_type_support.html - Thu, 4 Feb 2016 16:40:00 +0100 - <p>The <a href="https://wiki.debian.org/DEP-11">appstream system</a> -is taking shape in Debian, and one provided feature is a very -convenient way to tell you which package to install to make a given -firmware file available when the kernel is looking for it. This can -be done using apt-file too, but that is for someone else to blog -about. :)</p> - -<p>Here is a small recipe to find the package with a given firmware -file, in this example I am looking for ctfw-3.2.3.0.bin, randomly -picked from the set of firmware announced using appstream in Debian -unstable. In general you would be looking for the firmware requested -by the kernel during kernel module loading. To find the package -providing the example file, do like this:</p> - -<blockquote><pre> -% apt install appstream -[...] -% apt update -[...] -% appstreamcli what-provides firmware:runtime ctfw-3.2.3.0.bin | \ - awk '/Package:/ {print $2}' -firmware-qlogic -% -</pre></blockquote> - -<p>See <a href="https://wiki.debian.org/AppStream/Guidelines">the -appstream wiki</a> page to learn how to embed the package metadata in -a way appstream can use.</p> - -<p>This same approach can be used to find any package supporting a -given MIME type. This is very useful when you get a file you do not -know how to handle. First find the mime type using <tt>file ---mime-type</tt>, and next look up the package providing support for -it. Lets say you got an SVG file. Its MIME type is image/svg+xml, -and you can find all packages handling this type like this:</p> - -<blockquote><pre> -% apt install appstream -[...] -% apt update -[...] -% appstreamcli what-provides mimetype image/svg+xml | \ - awk '/Package:/ {print $2}' -bkchem -phototonic -inkscape -shutter -tetzle -geeqie -xia -pinta -gthumb -karbon -comix -mirage -viewnior -postr -ristretto -kolourpaint4 -eog -eom -gimagereader -midori -% -</pre></blockquote> - -<p>I believe the MIME types are fetched from the desktop file for -packages providing appstream metadata.</p> + Legal to share more than 3000 movies listed on IMDB? + http://people.skolelinux.org/pere/blog/Legal_to_share_more_than_3000_movies_listed_on_IMDB_.html + http://people.skolelinux.org/pere/blog/Legal_to_share_more_than_3000_movies_listed_on_IMDB_.html + Sat, 18 Nov 2017 21:20:00 +0100 + <p>A month ago, I blogged about my work to +<a href="http://people.skolelinux.org/pere/blog/Locating_IMDB_IDs_of_movies_in_the_Internet_Archive_using_Wikidata.html">automatically +check the copyright status of IMDB entries</a>, and try to count the +number of movies listed in IMDB that is legal to distribute on the +Internet. I have continued to look for good data sources, and +identified a few more. The code used to extract information from +various data sources is available in +<a href="https://github.com/petterreinholdtsen/public-domain-free-imdb">a +git repository</a>, currently available from github.</p> + +<p>So far I have identified 3186 unique IMDB title IDs. To gain +better understanding of the structure of the data set, I created a +histogram of the year associated with each movie (typically release +year). It is interesting to notice where the peaks and dips in the +graph are located. I wonder why they are placed there. I suspect +World War II caused the dip around 1940, but what caused the peak +around 2010?</p> + +<p align="center"><img src="http://people.skolelinux.org/pere/blog/images/2017-11-18-verk-i-det-fri-filmer.png" /></p> + +<p>I've so far identified ten sources for IMDB title IDs for movies in +the public domain or with a free license. This is the statistics +reported when running 'make stats' in the git repository:</p> + +<pre> + 249 entries ( 6 unique) with and 288 without IMDB title ID in free-movies-archive-org-butter.json + 2301 entries ( 540 unique) with and 0 without IMDB title ID in free-movies-archive-org-wikidata.json + 830 entries ( 29 unique) with and 0 without IMDB title ID in free-movies-icheckmovies-archive-mochard.json + 2109 entries ( 377 unique) with and 0 without IMDB title ID in free-movies-imdb-pd.json + 291 entries ( 122 unique) with and 0 without IMDB title ID in free-movies-letterboxd-pd.json + 144 entries ( 135 unique) with and 0 without IMDB title ID in free-movies-manual.json + 350 entries ( 1 unique) with and 801 without IMDB title ID in free-movies-publicdomainmovies.json + 4 entries ( 0 unique) with and 124 without IMDB title ID in free-movies-publicdomainreview.json + 698 entries ( 119 unique) with and 118 without IMDB title ID in free-movies-publicdomaintorrents.json + 8 entries ( 8 unique) with and 196 without IMDB title ID in free-movies-vodo.json + 3186 unique IMDB title IDs in total +</pre> + +<p>The entries without IMDB title ID are candidates to increase the +data set, but might equally well be duplicates of entries already +listed with IMDB title ID in one of the other sources, or represent +movies that lack a IMDB title ID. I've seen examples of all these +situations when peeking at the entries without IMDB title ID. Based +on these data sources, the lower bound for movies listed in IMDB that +are legal to distribute on the Internet is between 3186 and 4713. + +<p>It would be great for improving the accuracy of this measurement, +if the various sources added IMDB title ID to their metadata. I have +tried to reach the people behind the various sources to ask if they +are interested in doing this, without any replies so far. Perhaps you +can help me get in touch with the people behind VODO, Public Domain +Torrents, Public Domain Movies and Public Domain Review to try to +convince them to add more metadata to their movie entries?</p> + +<p>Another way you could help is by adding pages to Wikipedia about +movies that are legal to distribute on the Internet. If such page +exist and include a link to both IMDB and The Internet Archive, the +script used to generate free-movies-archive-org-wikidata.json should +pick up the mapping as soon as wikidata is updates.</p> + +<p>As usual, if you use Bitcoin and want to show your support of my +activities, please send Bitcoin donations to my address +<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p> - Creepy, visualise geotagged social media information - nice free software - http://people.skolelinux.org/pere/blog/Creepy__visualise_geotagged_social_media_information___nice_free_software.html - http://people.skolelinux.org/pere/blog/Creepy__visualise_geotagged_social_media_information___nice_free_software.html - Sun, 24 Jan 2016 10:50:00 +0100 - <p>Most people seem not to realise that every time they walk around -with the computerised radio beacon known as a mobile phone their -position is tracked by the phone company and often stored for a long -time (like every time a SMS is received or sent). And if their -computerised radio beacon is capable of running programs (often called -mobile apps) downloaded from the Internet, these programs are often -also capable of tracking their location (if the app requested access -during installation). And when these programs send out information to -central collection points, the location is often included, unless -extra care is taken to not send the location. The provided -information is used by several entities, for good and bad (what is -good and bad, depend on your point of view). What is certain, is that -the private sphere and the right to free movement is challenged and -perhaps even eradicated for those announcing their location this way, -when they share their whereabouts with private and public -entities.</p> - -<p align="center"><img width="70%" src="http://people.skolelinux.org/pere/blog/images/2016-01-24-nice-creepy-desktop-window.png"></p> - -<p>The phone company logs provide a register of locations to check out -when one want to figure out what the tracked person was doing. It is -unavailable for most of us, but provided to selected government -officials, company staff, those illegally buying information from -unfaithful servants and crackers stealing the information. But the -public information can be collected and analysed, and a free software -tool to do so is called -<a href="http://www.geocreepy.com/">Creepy or Cree.py</a>. I -discovered it when I read -<a href="http://www.aftenposten.no/kultur/Slik-kan-du-bli-overvaket-pa-Twitter-og-Instagram-uten-a-ane-det-7787884.html">an -article about Creepy</a> in the Norwegian newspaper Aftenposten i -November 2014, and decided to check if it was available in Debian. -The python program was in Debian, but -<a href="https://tracker.debian.org/pkg/creepy">the version in -Debian</a> was completely broken and practically unmaintained. I -uploaded a new version which did not work quite right, but did not -have time to fix it then. This Christmas I decided to finally try to -get Creepy operational in Debian. Now a fixed version is available in -Debian unstable and testing, and almost all Debian specific patches -are now included -<a href="https://github.com/jkakavas/creepy">upstream</a>.</p> - -<p>The Creepy program visualises geolocation information fetched from -Twitter, Instagram, Flickr and Google+, and allow one to get a -complete picture of every social media message posted recently in a -given area, or track the movement of a given individual across all -these services. Earlier it was possible to use the search API of at -least some of these services without identifying oneself, but these -days it is impossible. This mean that to use Creepy, you need to -configure it to log in as yourself on these services, and provide -information to them about your search interests. This should be taken -into account when using Creepy, as it will also share information -about yourself with the services.</p> - -<p>The picture above show the twitter messages sent from (or at least -geotagged with a position from) the city centre of Oslo, the capital -of Norway. One useful way to use Creepy is to first look at -information tagged with an area of interest, and next look at all the -information provided by one or more individuals who was in the area. -I tested it by checking out which celebrity provide their location in -twitter messages by checkout out who sent twitter messages near a -Norwegian TV station, and next could track their position over time, -making it possible to locate their home and work place, among other -things. A similar technique have been -<a href="http://www.buzzfeed.com/maxseddon/does-this-soldiers-instagram-account-prove-russia-is-covertl">used -to locate Russian soldiers in Ukraine</a>, and it is both a powerful -tool to discover lying governments, and a useful tool to help people -understand the value of the private information they provide to the -public.</p> - -<p>The package is not trivial to backport to Debian Stable/Jessie, as -it depend on several python modules currently missing in Jessie (at -least python-instagram, python-flickrapi and -python-requests-toolbelt).</p> - -<p>(I have uploaded -<a href="https://screenshots.debian.net/package/creepy">the image to -screenshots.debian.net</a> and licensed it under the same terms as the -Creepy program in Debian.)</p> + Some notes on fault tolerant storage systems + http://people.skolelinux.org/pere/blog/Some_notes_on_fault_tolerant_storage_systems.html + http://people.skolelinux.org/pere/blog/Some_notes_on_fault_tolerant_storage_systems.html + Wed, 1 Nov 2017 15:35:00 +0100 + <p>If you care about how fault tolerant your storage is, you might +find these articles and papers interesting. They have formed how I +think of when designing a storage system.</p> + +<ul> + +<li>USENIX :login; <a +href="https://www.usenix.org/publications/login/summer2017/ganesan">Redundancy +Does Not Imply Fault Tolerance. Analysis of Distributed Storage +Reactions to Single Errors and Corruptions</a> by Aishwarya Ganesan, +Ramnatthan Alagappan, Andrea C. Arpaci-Dusseau, and Remzi +H. Arpaci-Dusseau</li> + +<li>ZDNet +<a href="http://www.zdnet.com/article/why-raid-5-stops-working-in-2009/">Why +RAID 5 stops working in 2009</a> by Robin Harris</li> + +<li>ZDNet +<a href="http://www.zdnet.com/article/why-raid-6-stops-working-in-2019/">Why +RAID 6 stops working in 2019</a> by Robin Harris</li> + +<li>USENIX FAST'07 +<a href="http://research.google.com/archive/disk_failures.pdf">Failure +Trends in a Large Disk Drive Population</a> by Eduardo Pinheiro, +Wolf-Dietrich Weber and Luiz André Barroso</li> + +<li>USENIX ;login: <a +href="https://www.usenix.org/system/files/login/articles/hughes12-04.pdf">Data +Integrity. Finding Truth in a World of Guesses and Lies</a> by Doug +Hughes</li> + +<li>USENIX FAST'08 +<a href="https://www.usenix.org/events/fast08/tech/full_papers/bairavasundaram/bairavasundaram_html/">An +Analysis of Data Corruption in the Storage Stack</a> by +L. N. Bairavasundaram, G. R. Goodson, B. Schroeder, A. C. +Arpaci-Dusseau, and R. H. Arpaci-Dusseau</li> + +<li>USENIX FAST'07 <a +href="https://www.usenix.org/legacy/events/fast07/tech/schroeder/schroeder_html/">Disk +failures in the real world: what does an MTTF of 1,000,000 hours mean +to you?</a> by B. Schroeder and G. A. Gibson.</li> + +<li>USENIX ;login: <a +href="https://www.usenix.org/events/fast08/tech/full_papers/jiang/jiang_html/">Are +Disks the Dominant Contributor for Storage Failures? A Comprehensive +Study of Storage Subsystem Failure Characteristics</a> by Weihang +Jiang, Chongfeng Hu, Yuanyuan Zhou, and Arkady Kanevsky</li> + +<li>SIGMETRICS 2007 +<a href="http://research.cs.wisc.edu/adsl/Publications/latent-sigmetrics07.pdf">An +analysis of latent sector errors in disk drives</a> by +L. N. Bairavasundaram, G. R. Goodson, S. Pasupathy, and J. Schindler</li> + +</ul> + +<p>Several of these research papers are based on data collected from +hundred thousands or millions of disk, and their findings are eye +opening. The short story is simply do not implicitly trust RAID or +redundant storage systems. Details matter. And unfortunately there +are few options on Linux addressing all the identified issues. Both +ZFS and Btrfs are doing a fairly good job, but have legal and +practical issues on their own. I wonder how cluster file systems like +Ceph do in this regard. After all, there is an old saying, you know +you have a distributed system when the crash of a computer you have +never heard of stops you from getting any work done. The same holds +true if fault tolerance do not work.</p> + +<p>Just remember, in the end, it do not matter how redundant, or how +fault tolerant your storage is, if you do not continuously monitor its +status to detect and replace failed disks.</p> + +<p>As usual, if you use Bitcoin and want to show your support of my +activities, please send Bitcoin donations to my address +<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p> - Always download Debian packages using Tor - the simple recipe - http://people.skolelinux.org/pere/blog/Always_download_Debian_packages_using_Tor___the_simple_recipe.html - http://people.skolelinux.org/pere/blog/Always_download_Debian_packages_using_Tor___the_simple_recipe.html - Fri, 15 Jan 2016 00:30:00 +0100 - <p>During his DebConf15 keynote, Jacob Appelbaum -<a href="https://summit.debconf.org/debconf15/meeting/331/what-is-to-be-done/">observed -that those listening on the Internet lines would have good reason to -believe a computer have a given security hole</a> if it download a -security fix from a Debian mirror. This is a good reason to always -use encrypted connections to the Debian mirror, to make sure those -listening do not know which IP address to attack. In August, Richard -Hartmann observed that encryption was not enough, when it was possible -to interfere download size to security patches or the fact that -download took place shortly after a security fix was released, and -<a href="http://richardhartmann.de/blog/posts/2015/08/24-Tor-enabled_Debian_mirror/">proposed -to always use Tor to download packages from the Debian mirror</a>. He -was not the first to propose this, as the -<tt><a href="https://tracker.debian.org/pkg/apt-transport-tor">apt-transport-tor</a></tt> -package by Tim Retout already existed to make it easy to convince apt -to use <a href="https://www.torproject.org/">Tor</a>, but I was not -aware of that package when I read the blog post from Richard.</p> - -<p>Richard discussed the idea with Peter Palfrader, one of the Debian -sysadmins, and he set up a Tor hidden service on one of the central -Debian mirrors using the address vwakviie2ienjx6t.onion, thus making -it possible to download packages directly between two tor nodes, -making sure the network traffic always were encrypted.</p> - -<p>Here is a short recipe for enabling this on your machine, by -installing <tt>apt-transport-tor</tt> and replacing http and https -urls with tor+http and tor+https, and using the hidden service instead -of the official Debian mirror site. I recommend installing -<tt>etckeeper</tt> before you start to have a history of the changes -done in /etc/.</p> - -<blockquote><pre> -apt install apt-transport-tor -sed -i 's% http://ftp.debian.org/% tor+http://vwakviie2ienjx6t.onion/%' /etc/apt/sources.list -sed -i 's% http% tor+http%' /etc/apt/sources.list -</pre></blockquote> - -<p>If you have more sources listed in /etc/apt/sources.list.d/, run -the sed commands for these too. The sed command is assuming your are -using the ftp.debian.org Debian mirror. Adjust the command (or just -edit the file manually) to match your mirror.</p> - -<p>This work in Debian Jessie and later. Note that tools like -<tt>apt-file</tt> only recently started using the apt transport -system, and do not work with these tor+http URLs. For -<tt>apt-file</tt> you need the version currently in experimental, -which need a recent apt version currently only in unstable. So if you -need a working <tt>apt-file</tt>, this is not for you.</p> - -<p>Another advantage from this change is that your machine will start -using Tor regularly and at fairly random intervals (every time you -update the package lists or upgrade or install a new package), thus -masking other Tor traffic done from the same machine. Using Tor will -become normal for the machine in question.</p> - -<p>On <a href="https://wiki.debian.org/FreedomBox">Freedombox</a>, APT -is set up by default to use <tt>apt-transport-tor</tt> when Tor is -enabled. It would be great if it was the default on any Debian -system.</p> + Web services for writing academic LaTeX papers as a team + http://people.skolelinux.org/pere/blog/Web_services_for_writing_academic_LaTeX_papers_as_a_team.html + http://people.skolelinux.org/pere/blog/Web_services_for_writing_academic_LaTeX_papers_as_a_team.html + Tue, 31 Oct 2017 21:00:00 +0100 + <p>I was surprised today to learn that a friend in academia did not +know there are easily available web services available for writing +LaTeX documents as a team. I thought it was common knowledge, but to +make sure at least my readers are aware of it, I would like to mention +these useful services for writing LaTeX documents. Some of them even +provide a WYSIWYG editor to ease writing even further.</p> + +<p>There are two commercial services available, +<a href="https://sharelatex.com">ShareLaTeX</a> and +<a href="https://overleaf.com">Overleaf</a>. They are very easy to +use. Just start a new document, select which publisher to write for +(ie which LaTeX style to use), and start writing. Note, these two +have announced their intention to join forces, so soon it will only be +one joint service. I've used both for different documents, and they +work just fine. While +<a href="https://github.com/sharelatex/sharelatex">ShareLaTeX is free +software</a>, while the latter is not. According to <a +href="https://www.overleaf.com/help/17-is-overleaf-open-source">a +announcement from Overleaf</a>, they plan to keep the ShareLaTeX code +base maintained as free software.</p> + +But these two are not the only alternatives. +<a href="https://app.fiduswriter.org/">Fidus Writer</a> is another free +software solution with <a href="https://github.com/fiduswriter">the +source available on github</a>. I have not used it myself. Several +others can be found on the nice +<a href="https://alternativeto.net/software/sharelatex/">alterntiveTo +web service</a>. + +<p>If you like Google Docs or Etherpad, but would like to write +documents in LaTeX, you should check out these services. You can even +host your own, if you want to. :)</p> + +<p>As usual, if you use Bitcoin and want to show your support of my +activities, please send Bitcoin donations to my address +<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p> - Nedlasting fra NRK, som Matroska med undertekster - http://people.skolelinux.org/pere/blog/Nedlasting_fra_NRK__som_Matroska_med_undertekster.html - http://people.skolelinux.org/pere/blog/Nedlasting_fra_NRK__som_Matroska_med_undertekster.html - Sat, 2 Jan 2016 13:50:00 +0100 - <p>Det kommer stadig nye løsninger for å ta lagre unna innslag fra NRK -for å se på det senere. For en stund tilbake kom jeg over et script -nrkopptak laget av Ingvar Hagelund. Han fjernet riktignok sitt script -etter forespørsel fra Erik Bolstad i NRK, men noen tok heldigvis og -gjorde det <a href="https://github.com/liangqi/nrkopptak">tilgjengelig -via github</a>.</p> - -<p>Scriptet kan lagre som MPEG4 eller Matroska, og bake inn -undertekster i fila på et vis som blant annet VLC forstår. For å -bruke scriptet, kopier ned git-arkivet og kjør</p> + Locating IMDB IDs of movies in the Internet Archive using Wikidata + http://people.skolelinux.org/pere/blog/Locating_IMDB_IDs_of_movies_in_the_Internet_Archive_using_Wikidata.html + http://people.skolelinux.org/pere/blog/Locating_IMDB_IDs_of_movies_in_the_Internet_Archive_using_Wikidata.html + Wed, 25 Oct 2017 12:20:00 +0200 + <p>Recently, I needed to automatically check the copyright status of a +set of <a href="http://www.imdb.com/">The Internet Movie database +(IMDB)</a> entries, to figure out which one of the movies they refer +to can be freely distributed on the Internet. This proved to be +harder than it sounds. IMDB for sure list movies without any +copyright protection, where the copyright protection has expired or +where the movie is lisenced using a permissive license like one from +Creative Commons. These are mixed with copyright protected movies, +and there seem to be no way to separate these classes of movies using +the information in IMDB.</p> + +<p>First I tried to look up entries manually in IMDB, +<a href="https://www.wikipedia.org/">Wikipedia</a> and +<a href="https://www.archive.org/">The Internet Archive</a>, to get a +feel how to do this. It is hard to know for sure using these sources, +but it should be possible to be reasonable confident a movie is "out +of copyright" with a few hours work per movie. As I needed to check +almost 20,000 entries, this approach was not sustainable. I simply +can not work around the clock for about 6 years to check this data +set.</p> + +<p>I asked the people behind The Internet Archive if they could +introduce a new metadata field in their metadata XML for IMDB ID, but +was told that they leave it completely to the uploaders to update the +metadata. Some of the metadata entries had IMDB links in the +description, but I found no way to download all metadata files in bulk +to locate those ones and put that approach aside.</p> + +<p>In the process I noticed several Wikipedia articles about movies +had links to both IMDB and The Internet Archive, and it occured to me +that I could use the Wikipedia RDF data set to locate entries with +both, to at least get a lower bound on the number of movies on The +Internet Archive with a IMDB ID. This is useful based on the +assumption that movies distributed by The Internet Archive can be +legally distributed on the Internet. With some help from the RDF +community (thank you DanC), I was able to come up with this query to +pass to <a href="https://query.wikidata.org/">the SPARQL interface on +Wikidata</a>: <p><pre> -nrkopptak/bin/nrk-opptak k <ahref="https://tv.nrk.no/serie/bmi-turne/MUHH45000115/sesong-1/episode-1">https://tv.nrk.no/serie/bmi-turne/MUHH45000115/sesong-1/episode-1</a> +SELECT ?work ?imdb ?ia ?when ?label +WHERE +{ + ?work wdt:P31/wdt:P279* wd:Q11424. + ?work wdt:P345 ?imdb. + ?work wdt:P724 ?ia. + OPTIONAL { + ?work wdt:P577 ?when. + ?work rdfs:label ?label. + FILTER(LANG(?label) = "en"). + } +} </pre></p> -<p>URL-eksemplet er dagens toppsak på tv.nrk.no. Argument 'k' ber -scriptet laste ned og lagre som Matroska. Det finnes en rekke andre -muligheter for valg av kvalitet og format.</p> +<p>If I understand the query right, for every film entry anywhere in +Wikpedia, it will return the IMDB ID and The Internet Archive ID, and +when the movie was released and its English title, if either or both +of the latter two are available. At the moment the result set contain +2338 entries. Of course, it depend on volunteers including both +correct IMDB and The Internet Archive IDs in the wikipedia articles +for the movie. It should be noted that the result will include +duplicates if the movie have entries in several languages. There are +some bogus entries, either because The Internet Archive ID contain a +typo or because the movie is not available from The Internet Archive. +I did not verify the IMDB IDs, as I am unsure how to do that +automatically.</p> + +<p>I wrote a small python script to extract the data set from Wikidata +and check if the XML metadata for the movie is available from The +Internet Archive, and after around 1.5 hour it produced a list of 2097 +free movies and their IMDB ID. In total, 171 entries in Wikidata lack +the refered Internet Archive entry. I assume the 70 "disappearing" +entries (ie 2338-2097-171) are duplicate entries.</p> + +<p>This is not too bad, given that The Internet Archive report to +contain <a href="https://archive.org/details/feature_films">5331 +feature films</a> at the moment, but it also mean more than 3000 +movies are missing on Wikipedia or are missing the pair of references +on Wikipedia.</p> + +<p>I was curious about the distribution by release year, and made a +little graph to show how the amount of free movies is spread over the +years:<p> + +<p><img src="http://people.skolelinux.org/pere/blog/images/2017-10-25-verk-i-det-fri-filmer.png"></p> + +<p>I expect the relative distribution of the remaining 3000 movies to +be similar.</p> + +<p>If you want to help, and want to ensure Wikipedia can be used to +cross reference The Internet Archive and The Internet Movie Database, +please make sure entries like this are listed under the "External +links" heading on the Wikipedia article for the movie:</p> -<p>Jeg foretrekker dette scriptet fremfor youtube-dl, som -<a href="http://people.skolelinux.org/pere/blog/Hvordan_enkelt_laste_ned_filmer_fra_NRK_med_den__nye__l_sningen.html"> -nevnt i 2014 støtter NRK</a> og en rekke andre videokilder, på grunn -av at nrkopptak samler undertekster og video i en enkelt fil, hvilket -gjør håndtering enklere på disk.</p> +<p><pre> +* {{Internet Archive film|id=FightingLady}} +* {{IMDb title|id=0036823|title=The Fighting Lady}} +</pre></p> + +<p>Please verify the links on the final page, to make sure you did not +introduce a typo.</p> + +<p>Here is the complete list, if you want to correct the 171 +identified Wikipedia entries with broken links to The Internet +Archive: <a href="http://www.wikidata.org/entity/Q1140317">Q1140317</a>, +<a href="http://www.wikidata.org/entity/Q458656">Q458656</a>, +<a href="http://www.wikidata.org/entity/Q458656">Q458656</a>, +<a href="http://www.wikidata.org/entity/Q470560">Q470560</a>, +<a href="http://www.wikidata.org/entity/Q743340">Q743340</a>, +<a href="http://www.wikidata.org/entity/Q822580">Q822580</a>, +<a href="http://www.wikidata.org/entity/Q480696">Q480696</a>, +<a href="http://www.wikidata.org/entity/Q128761">Q128761</a>, +<a href="http://www.wikidata.org/entity/Q1307059">Q1307059</a>, +<a href="http://www.wikidata.org/entity/Q1335091">Q1335091</a>, +<a href="http://www.wikidata.org/entity/Q1537166">Q1537166</a>, +<a href="http://www.wikidata.org/entity/Q1438334">Q1438334</a>, +<a href="http://www.wikidata.org/entity/Q1479751">Q1479751</a>, +<a href="http://www.wikidata.org/entity/Q1497200">Q1497200</a>, +<a href="http://www.wikidata.org/entity/Q1498122">Q1498122</a>, +<a href="http://www.wikidata.org/entity/Q865973">Q865973</a>, +<a href="http://www.wikidata.org/entity/Q834269">Q834269</a>, +<a href="http://www.wikidata.org/entity/Q841781">Q841781</a>, +<a href="http://www.wikidata.org/entity/Q841781">Q841781</a>, +<a href="http://www.wikidata.org/entity/Q1548193">Q1548193</a>, +<a href="http://www.wikidata.org/entity/Q499031">Q499031</a>, +<a href="http://www.wikidata.org/entity/Q1564769">Q1564769</a>, +<a href="http://www.wikidata.org/entity/Q1585239">Q1585239</a>, +<a href="http://www.wikidata.org/entity/Q1585569">Q1585569</a>, +<a href="http://www.wikidata.org/entity/Q1624236">Q1624236</a>, +<a href="http://www.wikidata.org/entity/Q4796595">Q4796595</a>, +<a href="http://www.wikidata.org/entity/Q4853469">Q4853469</a>, +<a href="http://www.wikidata.org/entity/Q4873046">Q4873046</a>, +<a href="http://www.wikidata.org/entity/Q915016">Q915016</a>, +<a href="http://www.wikidata.org/entity/Q4660396">Q4660396</a>, +<a href="http://www.wikidata.org/entity/Q4677708">Q4677708</a>, +<a href="http://www.wikidata.org/entity/Q4738449">Q4738449</a>, +<a href="http://www.wikidata.org/entity/Q4756096">Q4756096</a>, +<a href="http://www.wikidata.org/entity/Q4766785">Q4766785</a>, +<a href="http://www.wikidata.org/entity/Q880357">Q880357</a>, +<a href="http://www.wikidata.org/entity/Q882066">Q882066</a>, +<a href="http://www.wikidata.org/entity/Q882066">Q882066</a>, +<a href="http://www.wikidata.org/entity/Q204191">Q204191</a>, +<a href="http://www.wikidata.org/entity/Q204191">Q204191</a>, +<a href="http://www.wikidata.org/entity/Q1194170">Q1194170</a>, +<a href="http://www.wikidata.org/entity/Q940014">Q940014</a>, +<a href="http://www.wikidata.org/entity/Q946863">Q946863</a>, +<a href="http://www.wikidata.org/entity/Q172837">Q172837</a>, +<a href="http://www.wikidata.org/entity/Q573077">Q573077</a>, +<a href="http://www.wikidata.org/entity/Q1219005">Q1219005</a>, +<a href="http://www.wikidata.org/entity/Q1219599">Q1219599</a>, +<a href="http://www.wikidata.org/entity/Q1643798">Q1643798</a>, +<a href="http://www.wikidata.org/entity/Q1656352">Q1656352</a>, +<a href="http://www.wikidata.org/entity/Q1659549">Q1659549</a>, +<a href="http://www.wikidata.org/entity/Q1660007">Q1660007</a>, +<a href="http://www.wikidata.org/entity/Q1698154">Q1698154</a>, +<a href="http://www.wikidata.org/entity/Q1737980">Q1737980</a>, +<a href="http://www.wikidata.org/entity/Q1877284">Q1877284</a>, +<a href="http://www.wikidata.org/entity/Q1199354">Q1199354</a>, +<a href="http://www.wikidata.org/entity/Q1199354">Q1199354</a>, +<a href="http://www.wikidata.org/entity/Q1199451">Q1199451</a>, +<a href="http://www.wikidata.org/entity/Q1211871">Q1211871</a>, +<a href="http://www.wikidata.org/entity/Q1212179">Q1212179</a>, +<a href="http://www.wikidata.org/entity/Q1238382">Q1238382</a>, +<a href="http://www.wikidata.org/entity/Q4906454">Q4906454</a>, +<a href="http://www.wikidata.org/entity/Q320219">Q320219</a>, +<a href="http://www.wikidata.org/entity/Q1148649">Q1148649</a>, +<a href="http://www.wikidata.org/entity/Q645094">Q645094</a>, +<a href="http://www.wikidata.org/entity/Q5050350">Q5050350</a>, +<a href="http://www.wikidata.org/entity/Q5166548">Q5166548</a>, +<a href="http://www.wikidata.org/entity/Q2677926">Q2677926</a>, +<a href="http://www.wikidata.org/entity/Q2698139">Q2698139</a>, +<a href="http://www.wikidata.org/entity/Q2707305">Q2707305</a>, +<a href="http://www.wikidata.org/entity/Q2740725">Q2740725</a>, +<a href="http://www.wikidata.org/entity/Q2024780">Q2024780</a>, +<a href="http://www.wikidata.org/entity/Q2117418">Q2117418</a>, +<a href="http://www.wikidata.org/entity/Q2138984">Q2138984</a>, +<a href="http://www.wikidata.org/entity/Q1127992">Q1127992</a>, +<a href="http://www.wikidata.org/entity/Q1058087">Q1058087</a>, +<a href="http://www.wikidata.org/entity/Q1070484">Q1070484</a>, +<a href="http://www.wikidata.org/entity/Q1080080">Q1080080</a>, +<a href="http://www.wikidata.org/entity/Q1090813">Q1090813</a>, +<a href="http://www.wikidata.org/entity/Q1251918">Q1251918</a>, +<a href="http://www.wikidata.org/entity/Q1254110">Q1254110</a>, +<a href="http://www.wikidata.org/entity/Q1257070">Q1257070</a>, +<a href="http://www.wikidata.org/entity/Q1257079">Q1257079</a>, +<a href="http://www.wikidata.org/entity/Q1197410">Q1197410</a>, +<a href="http://www.wikidata.org/entity/Q1198423">Q1198423</a>, +<a href="http://www.wikidata.org/entity/Q706951">Q706951</a>, +<a href="http://www.wikidata.org/entity/Q723239">Q723239</a>, +<a href="http://www.wikidata.org/entity/Q2079261">Q2079261</a>, +<a href="http://www.wikidata.org/entity/Q1171364">Q1171364</a>, +<a href="http://www.wikidata.org/entity/Q617858">Q617858</a>, +<a href="http://www.wikidata.org/entity/Q5166611">Q5166611</a>, +<a href="http://www.wikidata.org/entity/Q5166611">Q5166611</a>, +<a href="http://www.wikidata.org/entity/Q324513">Q324513</a>, +<a href="http://www.wikidata.org/entity/Q374172">Q374172</a>, +<a href="http://www.wikidata.org/entity/Q7533269">Q7533269</a>, +<a href="http://www.wikidata.org/entity/Q970386">Q970386</a>, +<a href="http://www.wikidata.org/entity/Q976849">Q976849</a>, +<a href="http://www.wikidata.org/entity/Q7458614">Q7458614</a>, +<a href="http://www.wikidata.org/entity/Q5347416">Q5347416</a>, +<a href="http://www.wikidata.org/entity/Q5460005">Q5460005</a>, +<a href="http://www.wikidata.org/entity/Q5463392">Q5463392</a>, +<a href="http://www.wikidata.org/entity/Q3038555">Q3038555</a>, +<a href="http://www.wikidata.org/entity/Q5288458">Q5288458</a>, +<a href="http://www.wikidata.org/entity/Q2346516">Q2346516</a>, +<a href="http://www.wikidata.org/entity/Q5183645">Q5183645</a>, +<a href="http://www.wikidata.org/entity/Q5185497">Q5185497</a>, +<a href="http://www.wikidata.org/entity/Q5216127">Q5216127</a>, +<a href="http://www.wikidata.org/entity/Q5223127">Q5223127</a>, +<a href="http://www.wikidata.org/entity/Q5261159">Q5261159</a>, +<a href="http://www.wikidata.org/entity/Q1300759">Q1300759</a>, +<a href="http://www.wikidata.org/entity/Q5521241">Q5521241</a>, +<a href="http://www.wikidata.org/entity/Q7733434">Q7733434</a>, +<a href="http://www.wikidata.org/entity/Q7736264">Q7736264</a>, +<a href="http://www.wikidata.org/entity/Q7737032">Q7737032</a>, +<a href="http://www.wikidata.org/entity/Q7882671">Q7882671</a>, +<a href="http://www.wikidata.org/entity/Q7719427">Q7719427</a>, +<a href="http://www.wikidata.org/entity/Q7719444">Q7719444</a>, +<a href="http://www.wikidata.org/entity/Q7722575">Q7722575</a>, +<a href="http://www.wikidata.org/entity/Q2629763">Q2629763</a>, +<a href="http://www.wikidata.org/entity/Q2640346">Q2640346</a>, +<a href="http://www.wikidata.org/entity/Q2649671">Q2649671</a>, +<a href="http://www.wikidata.org/entity/Q7703851">Q7703851</a>, +<a href="http://www.wikidata.org/entity/Q7747041">Q7747041</a>, +<a href="http://www.wikidata.org/entity/Q6544949">Q6544949</a>, +<a href="http://www.wikidata.org/entity/Q6672759">Q6672759</a>, +<a href="http://www.wikidata.org/entity/Q2445896">Q2445896</a>, +<a href="http://www.wikidata.org/entity/Q12124891">Q12124891</a>, +<a href="http://www.wikidata.org/entity/Q3127044">Q3127044</a>, +<a href="http://www.wikidata.org/entity/Q2511262">Q2511262</a>, +<a href="http://www.wikidata.org/entity/Q2517672">Q2517672</a>, +<a href="http://www.wikidata.org/entity/Q2543165">Q2543165</a>, +<a href="http://www.wikidata.org/entity/Q426628">Q426628</a>, +<a href="http://www.wikidata.org/entity/Q426628">Q426628</a>, +<a href="http://www.wikidata.org/entity/Q12126890">Q12126890</a>, +<a href="http://www.wikidata.org/entity/Q13359969">Q13359969</a>, +<a href="http://www.wikidata.org/entity/Q13359969">Q13359969</a>, +<a href="http://www.wikidata.org/entity/Q2294295">Q2294295</a>, +<a href="http://www.wikidata.org/entity/Q2294295">Q2294295</a>, +<a href="http://www.wikidata.org/entity/Q2559509">Q2559509</a>, +<a href="http://www.wikidata.org/entity/Q2559912">Q2559912</a>, +<a href="http://www.wikidata.org/entity/Q7760469">Q7760469</a>, +<a href="http://www.wikidata.org/entity/Q6703974">Q6703974</a>, +<a href="http://www.wikidata.org/entity/Q4744">Q4744</a>, +<a href="http://www.wikidata.org/entity/Q7766962">Q7766962</a>, +<a href="http://www.wikidata.org/entity/Q7768516">Q7768516</a>, +<a href="http://www.wikidata.org/entity/Q7769205">Q7769205</a>, +<a href="http://www.wikidata.org/entity/Q7769988">Q7769988</a>, +<a href="http://www.wikidata.org/entity/Q2946945">Q2946945</a>, +<a href="http://www.wikidata.org/entity/Q3212086">Q3212086</a>, +<a href="http://www.wikidata.org/entity/Q3212086">Q3212086</a>, +<a href="http://www.wikidata.org/entity/Q18218448">Q18218448</a>, +<a href="http://www.wikidata.org/entity/Q18218448">Q18218448</a>, +<a href="http://www.wikidata.org/entity/Q18218448">Q18218448</a>, +<a href="http://www.wikidata.org/entity/Q6909175">Q6909175</a>, +<a href="http://www.wikidata.org/entity/Q7405709">Q7405709</a>, +<a href="http://www.wikidata.org/entity/Q7416149">Q7416149</a>, +<a href="http://www.wikidata.org/entity/Q7239952">Q7239952</a>, +<a href="http://www.wikidata.org/entity/Q7317332">Q7317332</a>, +<a href="http://www.wikidata.org/entity/Q7783674">Q7783674</a>, +<a href="http://www.wikidata.org/entity/Q7783704">Q7783704</a>, +<a href="http://www.wikidata.org/entity/Q7857590">Q7857590</a>, +<a href="http://www.wikidata.org/entity/Q3372526">Q3372526</a>, +<a href="http://www.wikidata.org/entity/Q3372642">Q3372642</a>, +<a href="http://www.wikidata.org/entity/Q3372816">Q3372816</a>, +<a href="http://www.wikidata.org/entity/Q3372909">Q3372909</a>, +<a href="http://www.wikidata.org/entity/Q7959649">Q7959649</a>, +<a href="http://www.wikidata.org/entity/Q7977485">Q7977485</a>, +<a href="http://www.wikidata.org/entity/Q7992684">Q7992684</a>, +<a href="http://www.wikidata.org/entity/Q3817966">Q3817966</a>, +<a href="http://www.wikidata.org/entity/Q3821852">Q3821852</a>, +<a href="http://www.wikidata.org/entity/Q3420907">Q3420907</a>, +<a href="http://www.wikidata.org/entity/Q3429733">Q3429733</a>, +<a href="http://www.wikidata.org/entity/Q774474">Q774474</a></p> + +<p>As usual, if you use Bitcoin and want to show your support of my +activities, please send Bitcoin donations to my address +<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p> - OpenALPR, find car license plates in video streams - nice free software - http://people.skolelinux.org/pere/blog/OpenALPR__find_car_license_plates_in_video_streams___nice_free_software.html - http://people.skolelinux.org/pere/blog/OpenALPR__find_car_license_plates_in_video_streams___nice_free_software.html - Wed, 23 Dec 2015 01:00:00 +0100 - <p>When I was a kid, we used to collect "car numbers", as we used to -call the car license plate numbers in those days. I would write the -numbers down in my little book and compare notes with the other kids -to see how many region codes we had seen and if we had seen some -exotic or special region codes and numbers. It was a fun game to pass -time, as we kids have plenty of it.</p> - -<p>A few days I came across -<a href="https://github.com/openalpr/openalpr">the OpenALPR -project</a>, a free software project to automatically discover and -report license plates in images and video streams, and provide the -"car numbers" in a machine readable format. I've been looking for -such system for a while now, because I believe it is a bad idea that the -<a href="https://en.wikipedia.org/wiki/Automatic_number_plate_recognition">automatic -number plate recognition</a> tool only is available in the hands of -the powerful, and want it to be available also for the powerless to -even the score when it comes to surveillance and sousveillance. I -discovered the developer -<a href="https://bugs.debian.org/747509">wanted to get the tool into -Debian</a>, and as I too wanted it to be in Debian, I volunteered to -help him get it into shape to get the package uploaded into the Debian -archive.</p> - -<p>Today we finally managed to get the package into shape and uploaded -it into Debian, where it currently -<a href="https://ftp-master.debian.org//new/openalpr_2.2.1-1.html">waits -in the NEW queue</a> for review by the Debian ftpmasters.</p> - -<p>I guess you are wondering why on earth such tool would be useful -for the common folks, ie those not running a large government -surveillance system? Well, I plan to put it in a computer on my bike -and in my car, tracking the cars nearby and allowing me to be notified -when number plates on my watch list are discovered. Another use case -was suggested by a friend of mine, who wanted to set it up at his home -to open the car port automatically when it discovered the plate on his -car. When I mentioned it perhaps was a bit foolhardy to allow anyone -capable of placing his license plate number of a piece of cardboard to -open his car port, men replied that it was always unlocked anyway. I -guess for such use case it make sense. I am sure there are other use -cases too, for those with imagination and a vision.</p> - -<p>If you want to build your own version of the Debian package, check -out the upstream git source and symlink ./distros/debian to ./debian/ -before running "debuild" to build the source. Or wait a bit until the -package show up in unstable.</p> + A one-way wall on the border? + http://people.skolelinux.org/pere/blog/A_one_way_wall_on_the_border_.html + http://people.skolelinux.org/pere/blog/A_one_way_wall_on_the_border_.html + Sat, 14 Oct 2017 22:10:00 +0200 + <p>I find it fascinating how many of the people being locked inside +the proposed border wall between USA and Mexico support the idea. The +proposal to keep Mexicans out reminds me of +<a href="http://www.history.com/news/10-things-you-may-not-know-about-the-berlin-wall">the +propaganda twist from the East Germany government</a> calling the wall +the “Antifascist Bulwark” after erecting the Berlin Wall, claiming +that the wall was erected to keep enemies from creeping into East +Germany, while it was obvious to the people locked inside it that it +was erected to keep the people from escaping.</p> + +<p>Do the people in USA supporting this wall really believe it is a +one way wall, only keeping people on the outside from getting in, +while not keeping people in the inside from getting out?</p> + +<p>As usual, if you use Bitcoin and want to show your support of my +activities, please send Bitcoin donations to my address +<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>