<atom:link href="http://people.skolelinux.org/pere/blog/index.rss" rel="self" type="application/rss+xml" />
<item>
- <title>Appstream just learned how to map hardware to packages too!</title>
- <link>http://people.skolelinux.org/pere/blog/Appstream_just_learned_how_to_map_hardware_to_packages_too_.html</link>
- <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Appstream_just_learned_how_to_map_hardware_to_packages_too_.html</guid>
- <pubDate>Fri, 23 Dec 2016 10:30:00 +0100</pubDate>
- <description><p>I received a very nice Christmas present today. As my regular
-readers probably know, I have been working on the
-<a href="http://packages.qa.debian.org/isenkram">the Isenkram
-system</a> for many years. The goal of the Isenkram system is to make
-it easier for users to figure out what to install to get a given piece
-of hardware to work in Debian, and a key part of this system is a way
-to map hardware to packages. Isenkram have its own mapping database,
-and also uses data provided by each package using the AppStream
-metadata format. And today,
-<a href="https://tracker.debian.org/pkg/appstream">AppStream</a> in
-Debian learned to look up hardware the same way Isenkram is doing it,
-ie using fnmatch():</p>
-
-<p><pre>
-% appstreamcli what-provides modalias \
- usb:v1130p0202d0100dc00dsc00dp00ic03isc00ip00in00
-Identifier: pymissile [generic]
-Name: pymissile
-Summary: Control original Striker USB Missile Launcher
-Package: pymissile
-% appstreamcli what-provides modalias usb:v0694p0002d0000
-Identifier: libnxt [generic]
-Name: libnxt
-Summary: utility library for talking to the LEGO Mindstorms NXT brick
-Package: libnxt
----
-Identifier: t2n [generic]
-Name: t2n
-Summary: Simple command-line tool for Lego NXT
-Package: t2n
----
-Identifier: python-nxt [generic]
-Name: python-nxt
-Summary: Python driver/interface/wrapper for the Lego Mindstorms NXT robot
-Package: python-nxt
----
-Identifier: nbc [generic]
-Name: nbc
-Summary: C compiler for LEGO Mindstorms NXT bricks
-Package: nbc
-%
-</pre></p>
-
-<p>A similar query can be done using the combined AppStream and
-Isenkram databases using the isenkram-lookup tool:</p>
-
-<p><pre>
-% isenkram-lookup usb:v1130p0202d0100dc00dsc00dp00ic03isc00ip00in00
-pymissile
-% isenkram-lookup usb:v0694p0002d0000
-libnxt
-nbc
-python-nxt
-t2n
-%
-</pre></p>
-
-<p>You can find modalias values relevant for your machine using
-<tt>cat $(find /sys/devices/ -name modalias)</tt>.
+ <title>Retten til kontant betaling er en rettighet som må brukes for å beholdes</title>
+ <link>http://people.skolelinux.org/pere/blog/Retten_til_kontant_betaling_er_en_rettighet_som_m__brukes_for___beholdes.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Retten_til_kontant_betaling_er_en_rettighet_som_m__brukes_for___beholdes.html</guid>
+ <pubDate>Tue, 11 Dec 2018 10:00:00 +0100</pubDate>
+ <description><p><a href="https://www.fn.no/Om-FN/Avtaler/Menneskerettigheter/FNs-verdenserklaering-om-menneskerettigheter">FNs
+menneskerettighetserklæring</a> artikkel 13 første punkt lyder som
+følger:</p>
-<p>If you want to make this system a success and help Debian users
-make the most of the hardware they have, please
-help<a href="https://wiki.debian.org/AppStream/Guidelines">add
-AppStream metadata for your package following the guidelines</a>
-documented in the wiki. So far only 11 packages provide such
-information, among the several hundred hardware specific packages in
-Debian. The Isenkram database on the other hand contain 101 packages,
-mostly related to USB dongles. Most of the packages with hardware
-mapping in AppStream are LEGO Mindstorms related, because I have, as
-part of my involvement in
-<a href="https://wiki.debian.org/LegoDesigners">the Debian LEGO
-team</a> given priority to making sure LEGO users get proposed the
-complete set of packages in Debian for that particular hardware. The
-team also got a nice Christmas present today. The
-<a href="https://tracker.debian.org/pkg/nxt-firmware">nxt-firmware
-package</a> made it into Debian. With this package in place, it is
-not possible to use the LEGO Mindstorms NXT unit with only free
-software, as the nxt-firmware package contain the source and firmware
-binaries for the NXT brick.</p>
+<p><blockquote>
+Enhver har rett til å bevege seg fritt og til fritt å velge
+oppholdssted innenfor en stats grenser.
+</blockquote></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&label=PetterReinholdtsenBlog">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
+<p>Det er altså en menneskerett å kunne bevege seg fritt i landet.
+For å bevege seg fritt i landet, så må en kunne bevege seg uten å bli
+sporet. Det vil i dagens samfunn innebære å bevege seg uten å legge
+igjen digitale spor og uten å være radiomerket. Hvis en vet at ens
+bevegelser, hvor en befinner seg når, og hvem som befinner seg i
+nærheten, blir samlet inn og gjort tilgjengelig for fremmede, det være
+seg myndighetene eller private organisasjoner, så kan en ikke lenger
+bevege seg fritt. Dette gjør at det er en forutsetning for å ha glede
+av retten til å bevege seg fritt i landet at en motstår fristelsen til
+å legge igjen digitale spor når en betaler for seg. Rettigheter som
+ikke blir brukt, blit fjernet. Den eneste måten i dag å unngå å legge
+igjen digitale spor når en betaler for seg, er å betale med kontanter,
+samt takke nei til å legge igjen navn og adresse (slik f.eks. Elkjøp
+ber om &mdash; jeg sier de kan legge inn 'anonym anonym' når
+datasystemet deres trenger et navn). Personlig bruker jeg derfor
+konsekvent kontant betaling når jeg beveger meg rundt, for å bidra med
+mitt for å forsvare menneskerettighetene i Norge. Kanskje noe også
+for deg? Merk at det ikke er tilstrekkelig for å unngå sporing å
+betale med kontanter, men det er et lite steg i riktig retning.</p>
+
+<p>Det er flere andre argumenter i tillegg til
+menneskerettighetsargumentet for å bruke kontanter. I går hadde
+Dagbladet en utmerket kommentar av sin journalist John Olav Egeland om
+hvilket
+<a href="https://www.dagbladet.no/kultur/kontantlost-diktatur/70543434">kontantløst
+diktatur</a> som venter oss hvis mange nok slutter å insistere på å
+betale med kontanter. Jeg anbefaler deg å lese den.</p>
+
+<p>Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
+det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
+til min adresse
+<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.
+Merk, betaling med bitcoin er ikke anonymt. :)</p>
</description>
</item>
<item>
- <title>Isenkram updated with a lot more hardware-package mappings</title>
- <link>http://people.skolelinux.org/pere/blog/Isenkram_updated_with_a_lot_more_hardware_package_mappings.html</link>
- <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Isenkram_updated_with_a_lot_more_hardware_package_mappings.html</guid>
- <pubDate>Tue, 20 Dec 2016 11:55:00 +0100</pubDate>
- <description><p><a href="http://packages.qa.debian.org/isenkram">The Isenkram
-system</a> I wrote two years ago to make it easier in Debian to find
-and install packages to get your hardware dongles to work, is still
-going strong. It is a system to look up the hardware present on or
-connected to the current system, and map the hardware to Debian
-packages. It can either be done using the tools in isenkram-cli or
-using the user space daemon in the isenkram package. The latter will
-notify you, when inserting new hardware, about what packages to
-install to get the dongle working. It will even provide a button to
-click on to ask packagekit to install the packages.</p>
-
-<p>Here is an command line example from my Thinkpad laptop:</p>
-
-<p><pre>
-% isenkram-lookup
-bluez
-cheese
-ethtool
-fprintd
-fprintd-demo
-gkrellm-thinkbat
-hdapsd
-libpam-fprintd
-pidgin-blinklight
-thinkfan
-tlp
-tp-smapi-dkms
-tp-smapi-source
-tpb
-%
-</pre></p>
-
-<p>It can also list the firware package providing firmware requested
-by the load kernel modules, which in my case is an empty list because
-I have all the firmware my machine need:
-
-<p><pre>
-% /usr/sbin/isenkram-autoinstall-firmware -l
-info: did not find any firmware files requested by loaded kernel modules. exiting
-%
-</pre></p>
-
-<p>The last few days I had a look at several of the around 250
-packages in Debian with udev rules. These seem like good candidates
-to install when a given hardware dongle is inserted, and I found
-several that should be proposed by isenkram. I have not had time to
-check all of them, but am happy to report that now there are 97
-packages packages mapped to hardware by Isenkram. 11 of these
-packages provide hardware mapping using AppStream, while the rest are
-listed in the modaliases file provided in isenkram.</p>
+ <title>Why is your site not using Content Security Policy / CSP?</title>
+ <link>http://people.skolelinux.org/pere/blog/Why_is_your_site_not_using_Content_Security_Policy___CSP_.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Why_is_your_site_not_using_Content_Security_Policy___CSP_.html</guid>
+ <pubDate>Sun, 9 Dec 2018 15:00:00 +0100</pubDate>
+ <description><p>Yesterday, I had the pleasure of watching on Frikanalen the OWASP
+talk by Scott Helme titled
+"<a href="https://frikanalen.no/video/626080/">What We’ve Learned From
+Billions of Security Reports</a>". I had not heard of the
+<a href="https://en.wikipedia.org/wiki/Content_Security_Policy">Content
+Security Policy standard</a> nor its ability to "call home" when a
+browser detect a policy breach (I do not follow web page design
+development much these days), and found the talk very illuminating.</p>
+
+<p>The mechanism allow a web site owner to use HTTP headers to tell
+visitors web browser which sources (internal and external) are allowed to
+be used on the web site. Thus it become possible to enforce a "only
+local content" policy despite web designers urge to fetch programs
+from random sites on the Internet, like the one
+<a href="https://securityaffairs.co/wordpress/68966/hacking/browsealoud-plugin-hack.html">enabling
+the attack</a> reported by Scott Helme earlier this year.</p>
+
+<p>Using CSP seem like an obvious thing for a site admin to implement
+to take some control over the information leak that occur when
+external sources are used to render web pages, it is a mystery more
+sites are not using CSP? It is being
+<a href="https://www.w3.org/TR/CSP/">standardized under W3C</a> these
+days, and is supposed by most web browsers</p>
+
+<p>I managed to find <a href="https://github.com/mozilla/django-csp">a
+Django middleware for implementing CSP</a> and was happy to discover
+it was already in Debian. I plan to use it to add CSP support to the
+Frikanalen web site soon.</p>
-<p>These are the packages with hardware mappings at the moment. The
-<strong>marked packages</strong> are also announcing their hardware
-support using AppStream, for everyone to use:</p>
-
-<p>air-quality-sensor, alsa-firmware-loaders, argyll,
-<strong>array-info</strong>, avarice, avrdude, b43-fwcutter,
-bit-babbler, bluez, bluez-firmware, <strong>brltty</strong>,
-<strong>broadcom-sta-dkms</strong>, calibre, cgminer, cheese, colord,
-<strong>colorhug-client</strong>, dahdi-firmware-nonfree, dahdi-linux,
-dfu-util, dolphin-emu, ekeyd, ethtool, firmware-ipw2x00, fprintd,
-fprintd-demo, <strong>galileo</strong>, gkrellm-thinkbat, gphoto2,
-gpsbabel, gpsbabel-gui, gpsman, gpstrans, gqrx-sdr, gr-fcdproplus,
-gr-osmosdr, gtkpod, hackrf, hdapsd, hdmi2usb-udev, hpijs-ppds, hplip,
-ipw3945-source, ipw3945d, kde-config-tablet, kinect-audio-setup,
-<strong>libnxt</strong>, libpam-fprintd, <strong>lomoco</strong>,
-madwimax, minidisc-utils, mkgmap, msi-keyboard, mtkbabel,
-<strong>nbc</strong>, <strong>nqc</strong>, nut-hal-drivers, ola,
-open-vm-toolbox, open-vm-tools, openambit, pcgminer, pcmciautils,
-pcscd, pidgin-blinklight, printer-driver-splix,
-<strong>pymissile</strong>, python-nxt, qlandkartegt,
-qlandkartegt-garmin, rosegarden, rt2x00-source, sispmctl,
-soapysdr-module-hackrf, solaar, squeak-plugins-scratch, sunxi-tools,
-<strong>t2n</strong>, thinkfan, thinkfinger-tools, tlp, tp-smapi-dkms,
-tp-smapi-source, tpb, tucnak, uhd-host, usbmuxd, viking,
-virtualbox-ose-guest-x11, w1retap, xawtv, xserver-xorg-input-vmmouse,
-xserver-xorg-input-wacom, xserver-xorg-video-qxl,
-xserver-xorg-video-vmware, yubikey-personalization and
-zd1211-firmware</p>
-
-<p>If you know of other packages, please let me know with a wishlist
-bug report against the isenkram-cli package, and ask the package
-maintainer to
-<a href="https://wiki.debian.org/AppStream/Guidelines">add AppStream
-metadata according to the guidelines</a> to provide the information
-for everyone. In time, I hope to get rid of the isenkram specific
-hardware mapping and depend exclusively on AppStream.</p>
-
-<p>Note, the AppStream metadata for broadcom-sta-dkms is matching too
-much hardware, and suggest that the package with with any ethernet
-card. See <a href="http://bugs.debian.org/838735">bug #838735</a> for
-the details. I hope the maintainer find time to address it soon. In
-the mean time I provide an override in isenkram.</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>
</description>
</item>
<item>
- <title>Oolite, a life in space as vagabond and mercenary - nice free software</title>
- <link>http://people.skolelinux.org/pere/blog/Oolite__a_life_in_space_as_vagabond_and_mercenary___nice_free_software.html</link>
- <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Oolite__a_life_in_space_as_vagabond_and_mercenary___nice_free_software.html</guid>
- <pubDate>Sun, 11 Dec 2016 11:40:00 +0100</pubDate>
- <description><p align="center"><img width="70%" src="http://people.skolelinux.org/pere/blog/images/2016-12-11-nice-oolite.png"/></p>
-
-<p>In my early years, I played
-<a href="http://wiki.alioth.net/index.php/Classic_Elite">the epic game
-Elite</a> on my PC. I spent many months trading and fighting in
-space, and reached the 'elite' fighting status before I moved on. The
-original Elite game was available on Commodore 64 and the IBM PC
-edition I played had a 64 KB executable. I am still impressed today
-that the authors managed to squeeze both a 3D engine and details about
-more than 2000 planet systems across 7 galaxies into a binary so
-small.</p>
-
-<p>I have known about <a href="http://www.oolite.org/">the free
-software game Oolite inspired by Elite</a> for a while, but did not
-really have time to test it properly until a few days ago. It was
-great to discover that my old knowledge about trading routes were
-still valid. But my fighting and flying abilities were gone, so I had
-to retrain to be able to dock on a space station. And I am still not
-able to make much resistance when I am attacked by pirates, so I
-bougth and mounted the most powerful laser in the rear to be able to
-put up at least some resistance while fleeing for my life. :)</p>
-
-<p>When playing Elite in the late eighties, I had to discover
-everything on my own, and I had long lists of prices seen on different
-planets to be able to decide where to trade what. This time I had the
-advantages of the
-<a href="http://wiki.alioth.net/index.php/Main_Page">Elite wiki</a>,
-where information about each planet is easily available with common
-price ranges and suggested trading routes. This improved my ability
-to earn money and I have been able to earn enough to buy a lot of
-useful equipent in a few days. I believe I originally played for
-months before I could get a docking computer, while now I could get it
-after less then a week.</p>
-
-<p>If you like science fiction and dreamed of a life as a vagabond in
-space, you should try out Oolite. It is available for Linux, MacOSX
-and Windows, and is included in Debian and derivatives since 2011.</p>
+ <title>New and improved Frikanalen Kodi addon version 0.0.3</title>
+ <link>http://people.skolelinux.org/pere/blog/New_and_improved_Frikanalen_Kodi_addon_version_0_0_3.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/New_and_improved_Frikanalen_Kodi_addon_version_0_0_3.html</guid>
+ <pubDate>Thu, 8 Nov 2018 10:30:00 +0100</pubDate>
+ <description><p>If you read my blog regularly, you probably know I am involved in
+running and developing the <a href="https://frikanalen.no/">Norwegian
+TV channel Frikanalen</a>. It is an open channel, allowing everyone
+in Norway to publish videos on a TV channel with national coverage.
+You can think of it as Youtube for national television.
+In addition to distribution on RiksTV and Uninett, Frikanalen is also
+available as a Kodi addon. The last few days I have updated the code
+to add more features. A
+<a href="https://kodi.tv/addon/plugins-video-add-ons/frikanalen-nett-tv">new
+and improved version 0.0.3 Frikanalen addon</a> was just made
+available via the Kodi repositories. This new version include a
+option to browse videos by category, as well as free text search
+in the video archive. It will now also show the video duration in the
+video lists, which were missing earlier. A new and experimental
+link to the HD video stream currently being worked on is provided, for
+those that want to see what the <a href="https://casparcg.com/">CasparCG</a>
+output look like. The alternative is the SD video stream, generated
+using MLT. CasparCG is controlled by our
+<a href="https://github.com/Frikanalen/mltplayout/">mltplayout
+server</a> which instead of talking to mlt is giving PLAY instructions
+to the CasparCG server when it is time to start a new program.</p>
+
+<p>By now, you are probably wondering what kind of content is being
+played on the channel. These days, it is filled with technical
+presentations like those from <a href="https://www.nuug.no/">NUUG</a>,
+<a href="https://www.debconf.org/">Debconf</a>, Makercon, and TED,
+but there are also some periods with
+<a href="https://www.empo.no/">EMPT TV</a> and
+<a href="https://www.p7.no/">P7</a>.
<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&label=PetterReinholdtsenBlog">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
+<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
</description>
</item>
<item>
- <title>Er lover brutt når personvernpolicy ikke stemmer med praksis?</title>
- <link>http://people.skolelinux.org/pere/blog/Er_lover_brutt_n_r_personvernpolicy_ikke_stemmer_med_praksis_.html</link>
- <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Er_lover_brutt_n_r_personvernpolicy_ikke_stemmer_med_praksis_.html</guid>
- <pubDate>Fri, 9 Dec 2016 14:20:00 +0100</pubDate>
- <description><p>Når jeg bruker <a href="https://www.ghostery.com/">Ghostery</a>,
-<a href="https://www.ublock.org/">uBlock</a>,
-<a href="https://github.com/gorhill/uMatrix">uMatrix</a>,
-<a href="https://github.com/andryou/scriptsafe">ScriptSafe</a> og andre
-nettleserverktøy (de passer på hverandre) for å holde styr på hvordan
-nettsteder sprer informasjon om hvilke nettsider jeg leser blir det
-veldig synlig hvilke nettsteder som er satt opp til å utveksle
-informasjon med utlandet og tredjeparter. For en stund siden la jeg
-merke til at det virker å være avvik mellom personvernpolicy og
-praksis endel steder, og tok tak i et par konkrete eksempler og sendte
-spørsmål til Datatilsynets kontaktpunkt for veiledning:</p>
-
-<blockquote>
-
-<p>«Jeg har et spørsmål når det gjelder bruken av Google Analytics og
-personvernpolicy. Er det lovlig for et nettsted å si en ting i
-personvernpolicy og gjøre noe annet i virkeligheten? Spesifikt lurer
-jeg på hvilket lov som er brutt hvis nettstedet i HTML-koden til
-nettsidene ber lesernes nettleser om å kontakte Google Analytics og
-slik overleverer sitt IP-nummer til Google, samtidig som
-personvernpolicien hevder at Google Analytics kun får anonymiserte
-data. Google får jo i slike tilfeller alltid overført fullt
-IP-nummer, og nettstedet kan i URL-en som brukes be Google om å ikke
-lagre deler av IP-adressen (omtalt som anonymisering av Google
-Analytics)</p>
-
-<p>Et eksempel er Nettavisen digi.no.
-<a href="http://www.digi.no/artikler/personvernpolicy/208772">Deres
-personvernpolicy</a> sier følgende:</p>
-
-<blockquote>
- «Tredjeparter (som Google Analytics, Cxense, TNS Gallup) får kun
- anonymiserte data.»
-</blockquote>
-
-<p>Men når en leser artikler der så blir maskiner i Norge, USA,
-Tyskland, Danmark, Storbritannia, Irland og Nederland varslet om
-besøket og får dermed overlevert full IP-adresse, som datatilsynet har
-uttalt er en personopplysning. Nettsidene er satt opp til be
-nettleseren å kontakte 29 ulike maskiner rundt om i verden. Fire av
-dem er er under DNS-domenene digi.no og tek.no som tilhører samme
-eier. I tillegg ber nettsidene ikke
-<a href="https://support.google.com/analytics/answer/2763052?hl=no">Google
-Analytics om å fjerne siste oktett i IP-adressen ved lagring</a>,
-dvs. flagget «aip=1» er ikke satt i URL-en som brukes for å kontakte
-Google Analytics.</p>
-
-<p>Tilsvarende er også tilfelle for andre nettsteder, så digi.no er
-ikke spesiell i så måte (dagbladet.no er et annet eksempel, det
-gjelder flere).»</p>
-
-</blockquote>
-
-<p>Etter noen dager kunne juridisk rådgiver Elisabeth Krauss Amundsen
-hos Datatilsynet fortelle det følgende:</p>
-
-<blockquote>
-«Hei, og takk for din e-post.</p>
-
-<p>Vår svartjeneste gir deg kortfattet rådgivning. Vi vil derfor ikke konkludere
-i saken din, men gi deg råd og veiledning.</p>
-
-<p>Ut ifra det du skriver er det antakelig flere bestemmelser i
-personopplysingsloven som brytes dersom virksomhetens personvernpolicy
-sier noe annet om behandlingen av personopplysninger enn det som
-faktisk skjer. Antakelig vil det være et brudd på informasjonsplikten
-i personopplysingsloven §§ 18 og
-19&lt;<a href="https://lovdata.no/dokument/NL/lov/2000-04-14-31/KAPITTEL_2#§18">https://lovdata.no/dokument/NL/lov/2000-04-14-31/KAPITTEL_2#§18</a>&gt;
-dersom det gis feilinformasjon om at opplysningene utleveres. Det kan
-også stilles spørsmål om grunnkravene for behandling av
-personopplysninger vil være oppfylt ved en utlevering av
-personopplysninger til en tredjepart, dersom dette ikke er inkludert
-behandlingsgrunnlaget og formålet med behandlingen, se
-personopplysingsloven § 11, jf.
-8.&lt;<a href="https://lovdata.no/dokument/NL/lov/2000-04-14-31/KAPITTEL_2#§11">https://lovdata.no/dokument/NL/lov/2000-04-14-31/KAPITTEL_2#§11</a>&gt;»
-</blockquote>
-
-<!-- Her er full URL som digi ba nettleserne bruke for å melde fra til
-Google Analytics:
-https://www.google-analytics.com/r/collect?v=1&_v=j47&a=666919305&t=pageview&_s=1&dl=http%3A%2F%2Fwww.digi.no%2F&ul=nb-no&de=UTF-8&dt=Digi.no%20-%20IT-bransjens%20nettavis&sd=32-bit&sr=1024x768&vp=400x300&je=0&_u=AEAAAMQAK~&jid=592247632&cid=1641512195.1480086725&tid=UA-54426-28&_r=1&z=328520576
--->
-
-<p>Oppdatert med kunnskap om lover og regler tok jeg så kontakt med
-Dagbladet på epostadressen de annonserer på sine
-personvernpolicysider:<p>
-
-<blockquote>
-
-<p>«Jeg lurte litt i forbindelse med en bloggpost jeg skriver på, og lurer
-på om dere hjelpe meg med å finne ut av følgende. Først litt
-bakgrunnsinformasjon.
-<a href="http://www.dagbladet.no/2009/08/18/nyheter/avtale/brukeravtale/plikter/7706966/">Dagbladets
-personvernpolicy</a> forteller følgende:</p>
-
-<blockquote>
- <p>«3. Automatisk innhentet informasjon</p>
-
- <p>For eksempel IP-adressen din (ikke synlig for andre) samt
- statistisk, automatisk produsert informasjon, som når du sist var
- innlogget på tjenesten. Dette er informasjon vi samler for å gjøre
- tjenesten best mulig.»</p>
-
-</blockquote>
-
-
-<p>Men når en besøker nettsidene til Dagbladet,
-f.eks. <a href="http://dagbladet.no/">forsiden</a>, så er nettsidene
-satt opp til å kontakte mange tredjeparter som slik får tilgang til
-både fullt IP-nummer og i de fleste tilfeller nøyaktig hvilken
-artikkel en leser hos Dagbladet ved at Referer-feltet fylles og legges
-ved. Dette gjelder Google Analytics, Cxense, INS Gallup, Doubleclick
-med flere. Totalt ber forsiden nettleseren om å koble seg opp til 60
-nettsteder med 149 separate oppkoblinger. I hver av disse
-oppkoblingene oversendes IP-adressen til leseren, og i følge
-Datatilsynet er
-«<a href="https://www.datatilsynet.no/Teknologi/Internett/Webanalyse/">en
-IP-adresse definert som en personopplysning fordi den kan spores
-tilbake til en bestemt maskinvare og dermed til en enkeltperson</a>».</p>
-
-<p>Datatilsynet har fortalt meg at i følge personopplysingsloven §§ 18
-og 19 skal informasjonen som gis om bruk og utlevering av
-personopplysninger være korrekt. De forteller videre at det er endel
-grunnkrav som må være oppfylt ved utlevering av personopplysninger til
-tredjeparter, nærmere forklart i personopplysingsloven § 11 som
-henviser til § 8.</p>
-
-<p>Mitt spørsmål er dermed som følger:</p>
-
- <blockquote>
-
- <p>Hva mener dere i personpolicyen når dere skriver at IP-adressen ikke
- er synlig for andre?»</p>
-
- </blockquote>
-
-</blockquote>
-
-<p>Etter en uke har jeg fortsatt ikke fått svar fra Dagbladet på mitt
-spørsmål, så neste steg er antagelig å høre om Datatilsynet er
-interessert i å se på saken.</p>
-
-<p>Men Dagbladet er ikke det eneste nettstedet som forteller at de
-ikke deler personopplysninger med andre mens observerbar praksis
-dokumenterer noe annet. Jeg sendte derfor også et spørsmål til
-kontaktadressen til nettavisen Digi.no, og der var responsen mye
-bedre:</p>
-
-<blockquote>
-
-<p>«Jeg lurte på en ting i forbindelse med en bloggpost jeg skriver på,
-og lurer på om dere hjelpe meg. Først litt bakgrunnsinformasjon.
-<a href="http://www.digi.no/artikler/personvernpolicy/208772">Digi.nos
-personvernpolicy</a> forteller følgende:</p>
-
-<blockquote>
- «All personlig informasjon blir lagret i våre systemer, disse er ikke
- tilgjengelig for tredjeparter, og blir ikke lagret i
- informasjonskapsler. Tredjeparter (som Google Analytics, Cxense,
- TNS Gallup) får kun anonymiserte data.»
-</blockquote>
-
-<p>Men når en besøker nettsidene til nettavisen, f.eks.
-<a href="http://www.digi.no/">forsiden</a>, så er nettsidene satt opp
-til å kontakte mange tredjeparter som slik får tilgang til både fullt
-IP-nummer og i de fleste tilfeller nøyaktig hvilken artikkel en leser
-hos Digi.no ved at Referer-feltet fylles og legges ved. Dette gjelder
-både Google Analytics, Cxense blant og INS Gallum. Totalt ber
-forsiden nettleseren om å koble seg opp til 29 nettsteder med 44
-separate oppkoblinger. I hver av disse oppkoblingene sendes
-IP-adressen til leseren over, og i følge Datatilsynet er
-«<a href="https://www.datatilsynet.no/Teknologi/Internett/Webanalyse/">en
-IP-adresse definert som en personopplysning fordi den kan spores
-tilbake til en bestemt maskinvare og dermed til en enkeltperson</a>».
-Det jeg ser virker ikke å være i tråd med personvernpolicyen.</p>
-
-<p>Når en besøker Digi.nos nettsider gjøres det to oppkoblinger til
-Google Analytics, en for å hente ned programkoden som samler
-informasjon fra nettleseren og sender over til Google (analytics.js),
-og en for å overføre det som ble samlet inn. I den siste oppkoblingen
-er det mulig å be Google om å ikke ta vare på hele IP-adressen, men i
-stedet fjerne siste oktett i IP-adressen. Dette omtales ofte litt
-misvisende for «anonymisert» bruk av Google Analytics, i og med at
-fullt IP-nummer blir sendt til Google og det er opp til Google om de
-vil bry seg om ønsket fra de som har laget nettsiden. Ut fra det som
-står i personvernpolicyen ville jeg tro at Digi.no ba google om å ikke
-ta vare på hele IP-nummeret, men når en ser på den andre oppkoblingen
-kan en se at flagget «aio=1» ikke er satt, og at Digi.no ikke ber
-Google om å la være å lagre hele IP-adressen. Dette virker heller
-ikke å være i tråd med personvernpolicyen.</p>
-
-<p>Datatilsynet har fortalt meg at i følge personopplysingsloven §§ 18
-og 19 skal informasjonen som gis om bruk og utlevering av
-personopplysninger være korrekt. De forteller videre at det er endel
-grunnkrav som må være oppfylt ved utlevering av personopplysninger til
-tredjeparter, nærmere forklart i personopplysingsloven § 11 som
-henviser til § 8. Det er uklart for meg om disse kravene er oppfylt
-når IP-adresse og informasjon om hvilke websider som besøkes til
-tredjeparter.</p>
-
-<p>Mitt spørsmål er dermed som følger:</p>
-
-<blockquote>
-
- <p>Hva mener dere i personpolicyen når dere skriver at «Tredjeparter
- får kun anonymiserte data»?»</p>
-
-</blockquote>
-
-</blockquote>
-
-<p>Redaksjonssjef Kurt Lekanger svarte samme dag og forklarte at han
-måtte komme tilbake til meg når han hadde med utviklingsavdelingen.
-Seks dager senere lurte jeg på hva han fant ut, og etter noen timer
-fikk jeg så følgende svar fra direktøren for teknologi og
-forretningsutvikling Øystein W. Høie i Teknisk Ukeblad Media:</p>
-
-<blockquote>
-
-<p>«Takk for godt tips! Det er helt riktig at IP og referrer-adresse
-potensielt kan leses ut av tredjepart.</p>
-
-<p>Retningslinjene våre har vært uklare på dette tidspunktet, og vi
-oppdaterer nå disse så dette kommer tydeligere frem. Ny tekst blir som
-følger:</p>
-
-<hr>
-<p>3. Dette bruker vi ikke informasjonen til Informasjon du oppgir til
-oss blir lagret i våre systemer, er ikke tilgjengelig for
-tredjeparter, og blir ikke lagret i informasjonskapsler.
-Informasjonen vil kun benyttes til å gi deg som bruker mer relevant
-informasjon og bedre tjenester.</p>
-
-<p>Tredjeparter (som Google Analytics, Cxense, TNS Gallup) vil kunne
-hente ut IP-adresse og data basert på dine surfemønstre. TU Media AS
-er pliktig å påse at disse tredjepartene behandler data i tråd med
-norsk regelverk.</p>
-<hr>
-
-<p>Ellers har vi nå aktivert anonymisering i Google Analytics
-(aip=1). Kan også nevne at Tek.no-brukere som har kjøpt Tek Ekstra har
-mulighet til å skru av all tracking i kontrollpanelet sitt. Dette er
-noe vi vurderer å rulle ut på alle sidene i vårt nettverk.»</p>
-
-</blockquote>
-
-<p>Det var nyttig å vite at vi er enige om at formuleringen i
-personvernpolicyen er misvisende. Derimot var det nedslående at i
-stedet for å endre praksis for å følge det personvernpolicyen sier om
-å ikke dele personinformasjon med tredjeparter, så velger Digi.no å
-fortsette praksis og i stedet endre personvernpolicyen slik at den å
-dokumentere dagens praksis med spredning av personopplysninger.</p>
-
-<p>Med bakgrunn i at Digi.no ikke har fulgt sin egen personvernpolicy
-spurte jeg hvordan Digi.no kom til å håndtere endringen:</p>
-
-<blockquote>
-
-<p>«Tusen takk for beskjed om endring av personvernpolicy for digi.no.
-Gjelder endringen også andre nettsteder?</p>
-
-<p>Vil tidligere håndteringen av IP-adresser og lesemønster i strid
-med dokumentert personvernpolicy bli varslet til Datatilsynet i tråd
-med
-<a href="https://lovdata.no/forskrift/2000-12-15-1265/§2-6">personopplysningsforskriften
-§ 2-6</a>? Vil leserne bli varslet på en prominent og synlig måte om
-at lesernes IP-adresser og lesemønster har vært utlevert til
-tredjeparter i stid med tidligere formulering om at tredjeparter kun
-får anonymiserte data, og at utleveringen fortsetter etter at
-personvernpolicy er endret for å dokumentere praksis?</p>
-
-<p>Appropos ekstra tilbud til betalende lesere, tilbyr dere en
-mulighet for å betale for å lese som ikke innebærer at en må gjøre det
-mulig å la sine lesevaner blir registeret av tek.no? Betaler gjerne
-for å lese nyheter, men ikke med en bit av privatlivet mitt. :)»</p>
-</blockquote>
-
-<p>Jeg fikk raskt svar tilbake fra direktøren Høie:</p>
-
-<blockquote>
-<p>«Tydeliggjøringen i personvernpolicy gjelder alle våre nettsteder.</p>
-
-<p>Vi kommer til å ta en runde og gå over vår policy i forbindelse med
-dette, og vil i de tilfeller det er påkrevd selvsagt være tydelig
-overfor brukere og tilsyn. Vil samtidig understreke at vår bruk av
-tredjeparts analyseverktøy og annonsetracking er helt på linje med det
-som er normalt for norske kommersielle nettsteder.</p>
+ <title>Time for an official MIME type for patches?</title>
+ <link>http://people.skolelinux.org/pere/blog/Time_for_an_official_MIME_type_for_patches_.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Time_for_an_official_MIME_type_for_patches_.html</guid>
+ <pubDate>Thu, 1 Nov 2018 08:15:00 +0100</pubDate>
+ <description><p>As part of my involvement in
+<a href="https://gitlab.com/OsloMet-ABI/nikita-noark5-core">the Nikita
+archive API project</a>, I've been importing a fairly large lump of
+emails into a test instance of the archive to see how well this would
+go. I picked a subset of <a href="https://notmuchmail.org/">my
+notmuch email database</a>, all public emails sent to me via
+@lists.debian.org, giving me a set of around 216 000 emails to import.
+In the process, I had a look at the various attachments included in
+these emails, to figure out what to do with attachments, and noticed
+that one of the most common attachment formats do not have
+<a href="https://www.iana.org/assignments/media-types/media-types.xhtml">an
+official MIME type</a> registered with IANA/IETF. The output from
+diff, ie the input for patch, is on the top 10 list of formats
+included in these emails. At the moment people seem to use either
+text/x-patch or text/x-diff, but neither is officially registered. It
+would be better if one official MIME type were registered and used
+everywhere.</p>
+
+<p>To try to get one official MIME type for these files, I've brought
+up the topic on
+<a href="https://www.ietf.org/mailman/listinfo/media-types">the
+media-types mailing list</a>. If you are interested in discussion
+which MIME type to use as the official for patch files, or involved in
+making software using a MIME type for patches, perhaps you would like
+to join the discussion?</p>
-<p>Angående spørsmålet ditt:
-<br>Du vil fortsatt vises i våre interne systemer om du blir Ekstra-bruker,
-vi skrur bare av tredjeparts tracking.»</p>
-</blockquote>
-
-<p>Det høres jo ikke bra ut at det er normalt for norske kommersielle
-nettsteder å utlevere lesernes personopplysninger til utlandet. Men
-som en kan lese fra <a href="https://www.nrk.no/norge/kommunen-deler-informasjon-om-deg-med-facebook-og-google-1.13248945">gårdagens oppslag fra NRK</a> gjelder
-det også norske kommuner og andre offentlige aktører, og
-<a href="http://people.skolelinux.org/pere/blog/Snurpenot_overv_kning_av_sensitiv_personinformasjon.html">jeg
-skrev om omfanget av problemet i fjor</a>. Det er uansett ikke en
-praksis jeg tror er i tråd med kravene i personopplysningsloven, og
-heller ikke en praksis jeg som leser synes er greit. Jeg manglet dog
-fortsatt svar på om Digi.no kom til å varsle lesere og Datatilsynet om
-avviket mellom praksis og policy, så jeg forsøkte meg med en ny epost
-i går kveld:</p>
-
-<blockquote>
-
-<p>«Kan du fortelle meg om dere anser det å være påkrevd å varsle
-tilsyn og brukere nå, når dere har oppdaget at praksis ikke har vært i
-tråd med personvernpolicy?»</p>
-
-</blockquote>
-
-<p>Det spørsmålet vet jeg så langt ikke svaret på, men antagelig kan
-Datatilsynet svare på om det er påkrevd å varsle tilsyn og lesere om
-dette. Jeg planlegger å oppdatere denne bloggposten med svaret når
-det kommer.</p>
-
-<p>Jeg synes jo det er spesielt ille når barn får sine
-personopplysninger spredt til utlandet, noe jeg
-<a href="https://www.mimesbronn.no/request/opplysninger_samlet_inn_av_mobil">tok
-opp med NRK i fjor</a>. De to eksemplene jeg nevner er som dere
-forstår ikke unike, men jeg har ikke full oversikt over hvor mange
-nettsteder dette gjelder. Jeg har ikke kapasitet til eller glede av å
-lese alle personvernpolicyer i landet. Kanskje mine lesere kan sende
-meg tips på epost om andre nettsteder med avvik mellom policy og
-praksis? Hvis vi alle går sammen og kontakter de ansvarlige, kanskje
-noen til slutt endrer praksis og slutter å dele lesernes
-personopplysninger med tredjeparter?</p>
-
-<p>Apropos bruken av Google Analytics kan jeg forresten nevne at
-Universitetet i Oslo også har tatt i bruk Google Analytics, men der
-lagres programkoden som overføres til nettleserne lokalt og deler av
-IP-adressen fjernes lokalt på universitetet via en mellomtjener/proxy
-(<a href="https://github.com/unioslo/ipproxy">tilgjengelig via
-github</a>) før informasjon sendes over til Google Analytics. Dermed
-er det mulig for ansvarlige for nettstedet å <em>vite</em> at Google
-ikke har tilgang til komplett IP-adresse. Årsaken til at denne
-metoden brukes er at juristene ved universitetet har konkludert med at
-det er eneste måten en kunne vurdere å bruke Google Analytics uten å
-bryte loven. Risikoen for gjenidentifisering og
-<a href="https://panopticlick.eff.org/">identifisering ved hjelp av
-nettleserinformasjon</a> er fortsatt tilstede, så det er ingen optimal
-løsning, men det er bedre enn å håpe at f.eks. Google og alle som
-lytter på veien skal prioritere norsk lov over sin lokale
-lovgivning.</p>
-
-<p>Oppdatering 2016-12-09: Fikk svar fra direktøren Høie på mitt
-spørsmål litt etter at jeg hadde publisert denne artikkelen:</p>
-
-<blockquote>
-
-<p>Vi kommer til å annonsere en oppdatert policy, og skal undersøke om
-vi er pliktig å varsle Datatilsynet.</p>
-
-<p>Det vi uansett ønsker å gjøre først, er å gå gjennom hele policy
-sammen med utviklerne og advokat, så vi er sikre på at vi går frem
-riktig og at det ikke er flere tvetydigheter som skjuler seg i
-teksten.</p>
-
-<p>Har du andre idéer eller konkrete innspill til hva som kan gjøre
-policy tydeligere, tar vi gjerne imot det. Dette er et felt vi ønsker
-å være ryddige på.</p>
-
-</blockquote>
-
-<p>Vi får se om de liker mine innspill, som i grunnen er å ikke pusse
-på personvernpolicyen men i stedet slutte å spre lesernes
-personopplysninger til eksterne aktører.</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>
</description>
</item>
<item>
- <title>Fri programvare-tilbakeblikk for 2015 og 2016</title>
- <link>http://people.skolelinux.org/pere/blog/Fri_programvare_tilbakeblikk_for_2015_og_2016.html</link>
- <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Fri_programvare_tilbakeblikk_for_2015_og_2016.html</guid>
- <pubDate>Thu, 1 Dec 2016 15:30:00 +0100</pubDate>
- <description><p>Jeg er mer en gjennomsnittlig interessert i fri programvare og fri
-kultur, og nå når et nytt år nærmer seg slutten tenkte jeg det var på
-tide med et lite tilbakeblikk på årene som var. Jeg har vært
-involvert i flere prosjekter og løsninger, og her er en liten
-gjennomgang av de jeg kom på i farten.</p>
-
-<p>Den største nyheten for meg fra 2015 var at jeg endelig, etter 2.5
-år med flekkvis innsats, fikk gitt ut en bokmålsutgave av den
-klassiske boken <a href="http://free-culture.cc/">Free Culture</a> av
-Lawrence Lessig. Boken forteller om bakgrunnen for fri
-kultur-bevegelsen, beskriver problemer med dagens opphavsrett og
-skisserer hvordan vi kan bøte på problemene både individuelt og som
-samfunn. Jeg anbefaler alle å lese denne boken, som jeg med god hjelp
-har gitt ut på engelsk, bokmål og fransk. Papirboken kan bestilles i
-nettbokhandler i USA som Lulu
-(<a href="http://www.lulu.com/shop/lawrence-lessig/fri-kultur/paperback/product-22406445.html">Norsk</a>,
-<a href="http://www.lulu.com/shop/lawrence-lessig/culture-libre/paperback/product-22645082.html">Fransk</a>,
-<a href="http://www.lulu.com/shop/lawrence-lessig/free-culture/paperback/product-22402863.html">Engelsk</a>),
-Amazon og Barnes & Noble takket være selvpubliseringsløsningen
-lulu.com og
-<a href="https://github.com/petterreinholdtsen/free-culture-lessig">ebokutgave</a>
-samt alt som trengs for å oppdatere boken er tilgjengelig fra
-github.</p>
-
-<p>Et annet prosjekt jeg er veldig fornøyd med å ha deltatt i
-lanseringen av, er <a href="https://www.mimesbronn.no/">Mimes
-brønn</a>, NUUG-tjenesten for å gjøre det enklere å be om innsyn i
-offentlig forvaltning, og spare offentlig forvaltning for å måtte
-besvare de samme innsynshenvendelsene gang på gang. Etter bare noen
-måneders drift førte
-<a href="https://www.mimesbronn.no/request/forhandlinger_om_bv">en
-henvendelse via tjenesten</a> til
-<a href="https://www.stortinget.no/no/Saker-og-publikasjoner/Sporsmal/Skriftlige-sporsmal-og-svar/Skriftlig-sporsmal/?qid=65047">spørsmål
-fra Stortinget til regjeringen</a>. I dette og andre tilfeller har
-NUUG finansiert utvidet klagesak for henvendelser som vi som står bak
-tjenesten synes fortjener ekstra oppmerksomhet. Så langt har en liten
-håndfull slike klagesaker blitt sendt til Sivilombudsmannen, der vi
-fikk medhold i en saken (om .bv omtalt over) og avslag i en annen
-(oppsummering fra møte i Pentagon om Internet-styring og nasjonal
-sikkerhet).</p>
-
-<p>Etter at jeg i lengre tid har manglet GPG-nøkkel registrert i
-Debian (den opprinnelige ble fjernet på grunn av for kort
-nøkkellengde) fikk jeg endelig fikset ny nøkkel og Debiantilgang i
-slutten av 2015. Aktiviteten i Debian har ikke vært spesielt
-skadelidende mens jeg manglet nøkkel (kjenner flere som er villig til
-å laste opp på mine vegne), men da nøkkelen var på plass steg
-motivasjonen og jeg har blant anne brukt tiden på å bidra til at
-pakker relatert til lyd- og videokodekene fra
-<a href="http://www.xiph.org">Xiph.org-stiftelsen</a> (dvs. Ogg,
-Vorbis, Theora, Opus, etc) er i bedre stand i Debian, og har bidratt
-til å få liv i gruppen som vedlikeholder Xiph-relaterte slik at dette
-forhåpentligvis skal fungere bedre også i fremtiden. Jeg har jobbet
-litt mer systemene Isenkram og appstream, som gjør det enklere å
-håndtere ulike dongler i Debian ved at systemet selv vet og foreslår
-hvilke pakker som bør installeres for å få dongler til å fungere. Har
-også fått inn eller hjulpet til å få inn endel nye programpakker,
-spesielt fornøyd med
-<a href="https://tracker.debian.org/pkg/sonic-pi">Sonic Pi</A>,
-<a href="https://tracker.debian.org/pkg/openalpr">OpenALPR</A> og
-<a href="https://tracker.debian.org/pkg/coz-profiler">Coz</A>.
-
-
-<p>Et Debian-relatert prosjekt jeg følger er
-<a href="https://www.freedombox.org/">FreedomBox</a>, som tar sikte på
-å tilby en løsning (både programvare og maskinvare) der hvem som helst
-kan beholde sin private informasjon hjemme hos seg selv i stedet for å
-dele den med skytjenesteleverandører som Google, Facebook, Twitter,
-Appear.in med flere. I tillegg til generell deltagelse i utvikling av
-prosjektet har jeg jobbet med å få alle Debian-pakkene som brukes av
-Freedombox "reproduserbare" i Debian, dvs. gjøre det mulig å sjekke at
-pakken som brukes i Freedombox ikke inneholder annet enn det som
-kommer fra kildekodepakken i Debian og gir et forutsigbart resultat
-ved bygging. Har også fulgt opp endel feilrapporter relatert til
-Freedombox-spesifikke pakker (som Plinth og freedombox-setup) og
-pakker som utgjør tjenestene i en Freedombox.</p>
-
-<p>I samarbeid med Skolelinuxprosjektet og foreningen NUUG har jeg
-vært med å arrangere flere utviklersamlinger både i 2015 og 2016. Der
-har oversettere og utviklere blitt lært opp og arbeidet med blant
-annet dokumentasjon, feilfiksing og utvikling av Skolelinux og
-Frikanalen. Relatert til dette arbeidet har jeg koordinert norsk
-oversettelse av <a href="http://debian-handbook.info/">Håndbok for
-Debian-administratorer</a> til bokmål, og flyttet
-<a href="https://hosted.weblate.org/projects/debian-edu-documentation/">oversetterarbeidet
-av Skolelinux-håndboken</a> fra Transifex til Weblate. Begge bøkene
-er snart klare for første gangs korrekturlesing og vi drømmer om å
-gjøre dem tilgjengelig på papir.</p>
-
-<p>Gjennom hele perioden har jeg holdt et lite øye med NUUG-prosjektet
-FiksGataMi, som stort sett går av seg selv uten manuelt vedlikehold,
-men av og til er det problemer med enkelte mottakere (eposter i
-retur). NUUG-drift oppgraderte tjenesten i løpet av 2016, og jeg
-bisto Marius Halden litt i forbindelse med dette. Tjenesten får
-stadig flere brukere, og flere kommuner har tatt kontakt for å lære
-mer om hvordan FiksGataMi fungerer.
+ <title>Measuring the speaker frequency response using the AUDMES free software GUI - nice free software</title>
+ <link>http://people.skolelinux.org/pere/blog/Measuring_the_speaker_frequency_response_using_the_AUDMES_free_software_GUI___nice_free_software.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Measuring_the_speaker_frequency_response_using_the_AUDMES_free_software_GUI___nice_free_software.html</guid>
+ <pubDate>Mon, 22 Oct 2018 08:40:00 +0200</pubDate>
+ <description><p><img src="http://people.skolelinux.org/pere/blog/images/2018-10-22-audmes-measure-speakers.png" align="right" width="40%"/></p>
+
+<p>My current home stereo is a patchwork of various pieces I got on
+flee markeds over the years. It is amazing what kind of equipment
+show up there. I've been wondering for a while if it was possible to
+measure how well this equipment is working together, and decided to
+see how far I could get using free software. After trawling the web I
+came across an article from DIY Audio and Video on
+<a href="https://www.diyaudioandvideo.com/Tutorial/SpeakerResponseTesting/">Speaker
+Testing and Analysis</a> describing how to test speakers, and it listing
+several software options, among them
+<a href="https://sourceforge.net/projects/audmes/">AUDio MEasurement
+System (AUDMES)</a>. It is the only free software system I could find
+focusing on measuring speakers and audio frequency response. In the
+process I also found an interesting article from NOVO on
+<a href="http://novo.press/understanding-speaker-specifications-and-frequency-response/">Understanding
+Speaker Specifications and Frequency Response</a> and an article from
+ecoustics on
+<a href="https://www.ecoustics.com/articles/understanding-speaker-frequency-response/">Understanding
+Speaker Frequency Response</a>, with a lot of information on what to
+look for and how to interpret the graphs. Armed with this knowledge,
+I set out to measure the state of my speakers.</p>
+
+<p>The first hurdle was that AUDMES hadn't seen a commit for 10 years
+and did not build with current compilers and libraries. I got in
+touch with its author, who no longer was spending time on the program
+but gave me write access to the subversion repository on Sourceforge.
+The end result is that now the code build on Linux and is capable of
+saving and loading the collected frequency response data in CSV
+format. The application is quite nice and flexible, and I was able to
+select the input and output audio interfaces independently. This made
+it possible to use a USB mixer as the input source, while sending
+output via my laptop headphone connection. I lacked the hardware and
+cabling to figure out a different way to get independent cabling to
+speakers and microphone.</p>
+
+<p>Using this setup I could see how a large range of high frequencies
+apparently were not making it out of my speakers. The picture show
+the frequency response measurement of one of the speakers. Note the
+frequency lines seem to be slightly misaligned, compared to the CSV
+output from the program. I can not hear several of these are high
+frequencies, according to measurement from
+<a href="http://freehearingtestsoftware.com">Free Hearing Test
+Software</a>, an freeware system to measure your hearing (still
+looking for a free software alternative), so I do not know if they are
+coming out out the speakers. I thus do not quite know how to figure
+out if the missing frequencies is a problem with the microphone, the
+amplifier or the speakers, but I managed to rule out the audio card in my
+PC by measuring my Bose noise canceling headset using its own
+microphone. This setup was able to see the high frequency tones, so
+the problem with my stereo had to be in the amplifier or speakers.</p>
+
+<p>Anyway, to try to role out one factor I ended up picking up a new
+set of speakers at a flee marked, and these work a lot better than the
+old speakers, so I guess the microphone and amplifier is OK. If you
+need to measure your own speakers, check out AUDMES. If more people
+get involved, perhaps the project could become good enough to
+<a href="https://bugs.debian.org/910876">include in Debian</a>? And if
+you know of some other free software to measure speakers and amplifier
+performance, please let me know. I am aware of the freeware option
+<a href="https://www.roomeqwizard.com/">REW</a>, but I want something
+that can be developed also when the vendor looses interest.</p>
-<p>Den åpne TV-kanalen
-<a href="http://www.frikanalen.no/">Frikanalen</a> har fått en god del
-av min oppmerksomhet. Den var i starten av 2015 tilgjengelig på
-RiksTV kanal 50, web. Kanalen har fått et REST-basert API, og dette
-har jeg tatt i bruk for å fylle sendeplanen med NUUG-, TED- og
-Debian-foredrag samt andre tekniske presentasjoner. Har lastet opp
-mye nytt der og strømlinjeformet prosessen slik at både nye TED- og
-NUUG-foredrag går veldig greit. På høsten tok jeg en titt på
-multikast-spredning av kanalen til Uninett, og dette er nå kommet på
-plass, slik at alle TV-er som bruker Uninetts TV-løsning nå kan se på
-Frikanalen. Det jobbes for tiden med å få distribusjon på Altibox, og
-dette håper vi skal være klart i starten av 2017.</p>
-
-<p>Relatert til Frikanalen har jeg i lengre tid
-<a href="http://people.skolelinux.org/pere/blog/tags/h264/">forsøkt å
-få klarhet i hva som er juridisk status for H.264 i Norge</a>. Det er
-fortsatt uklart for meg om Frikanalen må betale for retten til å
-kringkaste eller ikke, og om vi risikerer å bryte opphavsrettsvilkår
-ved å kringkaste på web med H.264. Har spurt ulike aktører for å
-forsøke å finne ut hvordan de har vurdert situasjonen, uten å bli
-klok.</p>
-
-<p>Et prosjekt som var morsomt å se ta form var Ole Aamots
-<a href="https://www.youtube.com/watch?v=8ftM5fdKgZk">dokumentarprosjekt
-om fri programvare i Norge</a>. Han fikk intervjuet en god del av de
-mest aktive folkene i Norge, og resultatet ble interessant og
-severdig. Et nærmere prosjekt er NUUGs samarbeide med Oslo
-dokumentarfilmfestival om visningen av Citizenfour, der NUUG tok opp
-samtalen i forbindelse med visningen og publiserte opptaket på
-Frikanalen. Jeg er veldig fornøyd med å ha lyktes med å få dette på
-plass, selv om jeg ikke rakk å være med på visningen selv. Et annet
-NUUG-foredrag jeg er spesielt fornøyd med å ha fått på plass er
-besøket fra Bradley Kuhn fra Software Freedom Conservancy. Det tok
-mange måneder å organisere i samarbeid med BLUG, men til slutt klarte
-vi å finne et tidspunkt som passet alle, slik at han kunne besøke Oslo
-og Bergen. Opptaket fra dette er også publisert på Frikanalen.
-Generelt har jeg veldig fornøyd med at Frikanalen nå i praksis er
-Tekno-TV med interessante faktaprogram og presentasjoner nesten hele
-døgnet, hele uka.</p>
-
-<p>Vi har i lengre tid forsøkt å få opp et Mesh-nett i Oslo, under
-navnet dugnadsnett.no, uten at vi så langt har klart å nå kritisk
-masse. Tanken er å gjøre det mulig å kommunisere direkte mellom
-likeverdige parter uten sentrale knutepunkt som enkelt kan avlyttes.
-Prosjektet er ikke dødt, men interessen blant oss som er med har ikke
-vært stor nok til å kunne prioritere dette over alt annet.</p>
-
-<p>En ting som har tatt prioritet for min del er NUUG og EFNs forsøk
-på å få domstolvurdering av om det er greit for politiet å overta et
-DNS-domene uten domstolvurdering. Bakgrunnen er at Økokrim tok beslag
-i popcorn-time.no i mars 2016, med påstand om at nettstedet bidro til
-opphavsrettsbrudd ved å omtale fri programvareløsningen Popcorn Time
-og lenke til nettsteder der det var lenker til nettsteder der en kunne
-laste ned Popcorn Time. For det første mener vi at domstolene bør
-involveres før DNS-domener tas fra sine eiere, og for det andre mener
-vi begrunnelsen er så søkt at domenet ikke burde beslaglegges i første
-omgang. NUUG og EFN forsøkte først å protestere på egne vegne men ble
-avvist av domstolene med at vi ikke hadde rettslig interesse. Mens
-dette pågikk lyktes vi å få kontakt med registrar og regnskapsfører
-som fikk ble raidet av seks stykker fra Økokrim, og i gjeldende runde
-er det registrar og regnskapsfører som protesterer med støtte fra NUUG
-og EFN. Advokattimene renner ut og vi håper vi holder ut til saken
-har fått prøvd saken.</p>
-
-<p>Et annet prosjekt, relatert til fri kultur og åndsverksvern, som
-jeg har brukt endel tid på er å maskinelt kunne identifisere verk som
-er falt i det fri i Norge. Jeg ønsker å vite hvor mange kunstuttrykk
-som blir røvet fra fellesskapet hver gang vernetiden i åndsverksloven
-blir utvidet, f.eks. nå sist når vernetiden for musikk ble utvidet med
-20 år fra 50 til 70 år med tilbakevirkende kraft, som om de som laget
-musikk for 60 år siden skulle bli mer motivert til å lage musikk av
-utvidet vernetid. Har sett på å kombinere informasjon fra
-Nasjonalbiblioteket, Deichmanske bibliotek, Wikipedia, Store Norske
-Leksikon og WorldCat, og gleder meg til Nasjonalbibliotekets initiativ
-for autorativ database over verk tar form.</p>
-
-<p>Dårlig konkurranse på drivstoffmarkedet har irritert meg en stund,
-og jeg laget for flere år siden en skraper som samlet inn prisdata fra
-ulike kilder. Jeg ble derfor veldig glad da en økonomistudent tok
-kontakt i starten av 2015 og lurte på om jeg kunne bidra med data til
-hans masteroppgave om konkurransevilkårene i drivstoffmarkedet. Jeg
-bidro med glede, og resultatet er <a
-href="https://brage.bibsys.no/xmlui//browse?value=Jakobsen%2C+Tor+%C3%98yvind&type=author">publisert
-i fulltekst som "Hemmeligheten bak bensinprisen : en empirisk analyse
-av pumpeprisens drivkrefter" på BIBSYS Brage</a>.</p>
-
-<p>I tilegg til det jeg har gjort her har jeg rapportert og fikset en
-rekke små og store feil i fri programvare, og hjulpet
-Debian-bidragsytere og upstream-utviklerne med å forbedre forskjellig
-fri programvare og få det inn i Debian.</p>
-
-<p>Mye av det jeg har fått gjort rundt fri programvare og fri kultur
-har vært mulig takket være at jeg får dekket 20% av arbeidstiden min
-på Universitetet i Oslo fra
-<a href="http://www.nuugfoundation.no/">NUUG Foundation</a> for å jobbe
-med og koordinere fri programvareaktiviteter. Jeg er svært takknemlig
-til dem og min arbeidsgiver USIT for at jeg har fått muligheten. Uten
-dette hadde jeg ikke rukket over like mye etter hvert som ungene ble
-større.</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>
</description>
</item>
<item>
- <title>Fortsatt ingen sikkerhetsoppdateringer for billettautomatene til kollektivtrafikken i Oslo?</title>
- <link>http://people.skolelinux.org/pere/blog/Fortsatt_ingen_sikkerhetsoppdateringer_for_billettautomatene_til_kollektivtrafikken_i_Oslo_.html</link>
- <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Fortsatt_ingen_sikkerhetsoppdateringer_for_billettautomatene_til_kollektivtrafikken_i_Oslo_.html</guid>
- <pubDate>Tue, 29 Nov 2016 09:05:00 +0100</pubDate>
- <description><p><a href="http://people.skolelinux.org/pere/blog/Er_billettautomatene_til_kollektivtrafikken_i_Oslo_uten_sikkerhetsoppdateringer_.html">For
-fire og et halvt år siden</a> lot jeg meg overraske over at Ruters
-billettautomater for kollektivtrafikken i Oslo kjørte
-<a href="http://en.wikipedia.org/wiki/Windows_2000">Windows 2000
-Professional</a>, et og et halvt år etter at Microsoft hadde gitt
-beskjed om at det ikke lenger kom sikkerhetsoppdateringer til
-systemet. Støtten fra Microsoft
-<a href="http://support.microsoft.com/lifecycle/search/?sort=PN&alpha=Windows+2000&Filter=FilterNO">tok
-slutt 2010-07-13 i følge Wikipedia og Microsoft selv</a>.</p>
-
-<p>For fem dager siden passerte jeg på nytt en slik billettautomat som
-hadde brutt sammen, og den annonserte fortsatt at den kjører Windows
-2000 Professional, nå mer enn seks år siden Microsoft sluttet å komme
-med sikkerhetspatcher til produktet. Sikret meg et bilde av
-krasjmeldingen på skjermen.
+ <title>Web browser integration of VLC with Bittorrent support</title>
+ <link>http://people.skolelinux.org/pere/blog/Web_browser_integration_of_VLC_with_Bittorrent_support.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Web_browser_integration_of_VLC_with_Bittorrent_support.html</guid>
+ <pubDate>Sun, 21 Oct 2018 09:50:00 +0200</pubDate>
+ <description><p>Bittorrent is as far as I know, currently the most efficient way to
+distribute content on the Internet. It is used all by all sorts of
+content providers, from national TV stations like
+<a href="https://www.nrk.no/">NRK</a>, Linux distributors like
+<a href="https://www.debian.org/">Debian</a> and
+<a href="https://www.ubuntu.com/">Ubuntu</a>, and of course the
+<a href="https://archive.org/">Internet archive</A>.
+
+<p>Almost a month ago
+<a href="https://tracker.debian.org/pkg/vlc-plugin-bittorrent">a new
+package adding Bittorrent support to VLC</a> became available in
+Debian testing and unstable. To test it, simply install it like
+this:</p>
-<p><a href="http://people.skolelinux.org/pere/blog/images/2016-11-29-ruter-win2000pro.jpeg"><img width="40%" src="http://people.skolelinux.org/pere/blog/images/2016-11-29-ruter-win2000pro.jpeg" alt="[foto av billettautomat]"></a></p>
-
-<p>Mon tro om de mangler kildekoden til systemet som kjører på
-automaten, og dermed ikke uten videre kan oppgradere?</p>
-
-<p>Jeg ser jo fra
-<a href="https://www.mimesbronn.no/request/ruterbillett_app">en
-innsynshenvendelse om kildekoden til billett-Appen til Ruter på Mimes
-brønn</a> at Ruter tilsynelatende ikke legger sikkerheten i
-sertifikater, nøkler og passord, men i stedet baserer seg på at
-logikken i programvaren holdes hemmelig. Det borger ikke godt for
-sikkerheten i Ruters datasystemer.
-
-<p>Det er nå tre og et halvt år siden
-<a href="http://www.aftenposten.no/osloby/Ingen-nye-Ruter-automater-for-sommeren-118460b.html">Ruter
-fortalte Aftenposten at nye automater ble minst seks måneder
-forsinket</a>, da leverandøren ikke hadde god nok kontroll. Det kan
-virke som om leverandøren ikke er alene om å ikke ha god nok
-kontroll.</p>
+<p><pre>
+apt install vlc-plugin-bittorrent
+</pre></p>
-<p>Bildet er tilgjengelig for bruk med bruksvilkårene til
-<a href="http://creativecommons.org/licenses/by/3.0/no/">Creative
-Commons Navngivelse 3.0 Norge (CC BY 3.0)</a>.</p>
+<p>Since the plugin was made available for the first time in Debian,
+several improvements have been made to it. In version 2.2-4, now
+available in both testing and unstable, a desktop file is provided to
+teach browsers to start VLC when the user click on torrent files or
+magnet links. The last part is thanks to me finally understanding
+what the strange x-scheme-handler style MIME types in desktop files
+are used for. By adding x-scheme-handler/magnet to the MimeType entry
+in the desktop file, at least the browsers Firefox and Chromium will
+suggest to start VLC when selecting a magnet URI on a web page. The
+end result is that now, with the plugin installed in Buster and Sid,
+one can visit any
+<a href="https://archive.org/details/CopyingIsNotTheft1080p">Internet
+Archive page with movies</a> using a web browser and click on the
+torrent link to start streaming the movie.</p>
+
+<p>Note, there is still some misfeatures in the plugin. One is the
+fact that it will hang and
+<a href="https://github.com/johang/vlc-bittorrent/issues/13">block VLC
+from exiting until the torrent streaming starts</a>. Another is the
+fact that it
+<a href="https://github.com/johang/vlc-bittorrent/issues/9">will pick
+and play a random file in a multi file torrent</a>. This is not
+always the video file you want. Combined with the first it can be a
+bit hard to get the video streaming going. But when it work, it seem
+to do a good job.</p>
+
+<p>For the Debian packaging, I would love to find a good way to test
+if the plugin work with VLC using autopkgtest. I tried, but do not
+know enough of the inner workings of VLC to get it working. For now
+the autopkgtest script is only checking if the .so file was
+successfully loaded by VLC. If you have any suggestions, please
+submit a patch to the Debian bug tracking system.</p>
-<p>Oppdatering 2016-12-01: Saken har fått omtale på
-<a href="http://www.digi.no/artikler/petter-advarte-selskapet-allerede-i-2012-da-systemkraesjen-dukket-opp-igjen-pa-tirsdag-ble-han-svaert-overrasket/365613">digi.no</a>
-og
-<a href="https://nrkbeta.no/2016/12/01/mener-oslos-billettsystem-er-en-tikkende-bombe/">NRK
-Beta</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>
</description>
</item>
<item>
- <title>Quicker Debian installations using eatmydata</title>
- <link>http://people.skolelinux.org/pere/blog/Quicker_Debian_installations_using_eatmydata.html</link>
- <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Quicker_Debian_installations_using_eatmydata.html</guid>
- <pubDate>Fri, 25 Nov 2016 14:50:00 +0100</pubDate>
- <description><p>Two years ago, I did some experiments with eatmydata and the Debian
-installation system, observing how using
-<a href="http://people.skolelinux.org/pere/blog/Speeding_up_the_Debian_installer_using_eatmydata_and_dpkg_divert.html">eatmydata
-could speed up the installation</a> quite a bit. My testing measured
-speedup around 20-40 percent for Debian Edu, where we install around
-1000 packages from within the installer. The eatmydata package
-provide a way to disable/delay file system flushing. This is a bit
-risky in the general case, as files that should be stored on disk will
-stay only in memory a bit longer than expected, causing problems if a
-machine crashes at an inconvenient time. But for an installation, if
-the machine crashes during installation the process is normally
-restarted, and avoiding disk operations as much as possible to speed
-up the process make perfect sense.
-
-<p>I added code in the Debian Edu specific installation code to enable
-<a href="https://tracker.debian.org/pkg/libeatmydata">eatmydata</a>,
-but did not have time to push it any further. But a few months ago I
-picked it up again and worked with the libeatmydata package maintainer
-Mattia Rizzolo to make it easier for everyone to get this installation
-speedup in Debian. Thanks to our cooperation There is now an
-eatmydata-udeb package in Debian testing and unstable, and simply
-enabling/installing it in debian-installer (d-i) is enough to get the
-quicker installations. It can be enabled using preseeding. The
-following untested kernel argument should do the trick:</p>
-
-<blockquote><pre>
-preseed/early_command="anna-install eatmydata-udeb"
-</pre></blockquote>
-
-<p>This should ask d-i to install the package inside the d-i
-environment early in the installation sequence. Having it installed
-in d-i in turn will make sure the relevant scripts are called just
-after debootstrap filled /target/ with the freshly installed Debian
-system to configure apt to run dpkg with eatmydata. This is enough to
-speed up the installation process. There is a proposal to
-<a href="https://bugs.debian.org/841153">extend the idea a bit further
-by using /etc/ld.so.preload instead of apt.conf</a>, but I have not
-tested its impact.</p>
+ <title>Release 0.2 of free software archive system Nikita announced</title>
+ <link>http://people.skolelinux.org/pere/blog/Release_0_2_of_free_software_archive_system_Nikita_announced.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Release_0_2_of_free_software_archive_system_Nikita_announced.html</guid>
+ <pubDate>Thu, 18 Oct 2018 14:40:00 +0200</pubDate>
+ <description><p>This morning, the new release of the
+<a href="https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">Nikita
+Noark 5 core project</a> was
+<a href="https://lists.nuug.no/pipermail/nikita-noark/2018-October/000406.html">announced
+on the project mailing list</a>. The free software solution is an
+implementation of the Norwegian archive standard Noark 5 used by
+government offices in Norway. These were the changes in version 0.2
+since version 0.1.1 (from NEWS.md):
+
+<ul>
+ <li>Fix typos in REL names</li>
+ <li>Tidy up error message reporting</li>
+ <li>Fix issue where we used Integer.valueOf(), not Integer.getInteger()</li>
+ <li>Change some String handling to StringBuffer</li>
+ <li>Fix error reporting</li>
+ <li>Code tidy-up</li>
+ <li>Fix issue using static non-synchronized SimpleDateFormat to avoid
+ race conditions</li>
+ <li>Fix problem where deserialisers were treating integers as strings</li>
+ <li>Update methods to make them null-safe</li>
+ <li>Fix many issues reported by coverity</li>
+ <li>Improve equals(), compareTo() and hash() in domain model</li>
+ <li>Improvements to the domain model for metadata classes</li>
+ <li>Fix CORS issues when downloading document</li>
+ <li>Implementation of case-handling with registryEntry and document upload</li>
+ <li>Better support in Javascript for OPTIONS</li>
+ <li>Adding concept description of mail integration</li>
+ <li>Improve setting of default values for GET on ny-journalpost</li>
+ <li>Better handling of required values during deserialisation </li>
+ <li>Changed tilknyttetDato (M620) from date to dateTime</li>
+ <li>Corrected some opprettetDato (M600) (de)serialisation errors.</li>
+ <li>Improve parse error reporting.</li>
+ <li>Started on OData search and filtering.</li>
+ <li>Added Contributor Covenant Code of Conduct to project.</li>
+ <li>Moved repository and project from Github to Gitlab.</li>
+ <li>Restructured repository, moved code into src/ and web/.</li>
+ <li>Updated code to use Spring Boot version 2.</li>
+ <li>Added support for OAuth2 authentication.</li>
+ <li>Fixed several bugs discovered by Coverity.</li>
+ <li>Corrected handling of date/datetime fields.</li>
+ <li>Improved error reporting when rejecting during deserializatoin.</li>
+ <li>Adjusted default values provided for ny-arkivdel, ny-mappe,
+ ny-saksmappe, ny-journalpost and ny-dokumentbeskrivelse.</li>
+ <li>Several fixes for korrespondansepart*.</li>
+ <li>Updated web GUI:
+ <ul>
+ <li>Now handle both file upload and download.</li>
+ <li>Uses new OAuth2 authentication for login.</li>
+ <li>Forms now fetches default values from API using GET.</li>
+ <li>Added RFC 822 (email), TIFF and JPEG to list of possible file formats.</li>
+ </ul></li>
+</ul>
+
+<p>The changes and improvements are extensive. Running diffstat on
+the changes between git tab 0.1.1 and 0.2 show 1098 files changed,
+108666 insertions(+), 54066 deletions(-).</p>
+
+<p>If free and open standardized archiving API sound interesting to
+you, please contact us on IRC
+(<a href="irc://irc.freenode.net/%23nikita">#nikita on
+irc.freenode.net</a>) or email
+(<a href="https://lists.nuug.no/mailman/listinfo/nikita-noark">nikita-noark
+mailing list</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>
</description>
</item>
<item>
- <title>Oversette bokmål til nynorsk, enklere enn du tror takket være Apertium</title>
- <link>http://people.skolelinux.org/pere/blog/Oversette_bokm_l_til_nynorsk__enklere_enn_du_tror_takket_v_re_Apertium.html</link>
- <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Oversette_bokm_l_til_nynorsk__enklere_enn_du_tror_takket_v_re_Apertium.html</guid>
- <pubDate>Thu, 24 Nov 2016 10:50:00 +0100</pubDate>
- <description><p>I Norge er det mange som trenger å skrive både bokmål og nynorsk.
-Eksamensoppgaver, offentlige brev og nyheter er eksempler på tekster
-der det er krav om skriftspråk. I tillegg til alle skoleoppgavene som
-elever over det ganske land skal levere inn hvert år. Det mange ikke
-vet er at selv om de kommersielle alternativene
-<a href="https://translate.google.com/">Google Translate</a> og
-<a href="https://www.bing.com/translator/">Bing Translator</a> ikke kan
-bidra med å oversette mellom bokmål og nynorsk, så finnes det et
-utmerket fri programvarealternativ som kan. Oversetterverktøyet
-Apertium har støtte for en rekke språkkombinasjoner, og takket være
-den utrettelige innsatsen til blant annet Kevin Brubeck Unhammer, kan
-en bruke webtjenesten til å fylle inn en tekst på bokmål eller
-nynorsk, og få den automatoversatt til det andre skriftspråket.
-Resultatet er ikke perfekt, men et svært godt utgangspunkt. Av og til
-er resultatet så bra at det kan benyttes uten endringer. Jeg vet
-f.eks. at store deler av Joomla ble oversatt til nynorsk ved hjelp
-Apertium. Høres det ut som noe du kan ha bruk for? Besøk i så fall
-<a href="https://www.apertium.org/">Apertium.org</a> og fyll inn
-teksten din i webskjemaet der.
-
-<p>Hvis du trenger maskinell tilgang til den bakenforliggende
-teknologien kan du enten installere pakken
-<a href="https://tracker.debian.org/apertium-nno-nob">apertium-nno-nob</a>
-på en Debian-maskin eller bruke web-API-et tilgjengelig fra
-api.apertium.org. Se
-<a href="http://wiki.apertium.org/wiki/Apertium-apy">API-dokumentasjonen</a>
-for detaljer om web-API-et. Her kan du se hvordan resultatet blir for
-denne teksten som ble skrevet på bokmål over maskinoversatt til
-nynorsk.</p>
+ <title>Fetching trusted timestamps using the rfc3161ng python module</title>
+ <link>http://people.skolelinux.org/pere/blog/Fetching_trusted_timestamps_using_the_rfc3161ng_python_module.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Fetching_trusted_timestamps_using_the_rfc3161ng_python_module.html</guid>
+ <pubDate>Mon, 8 Oct 2018 12:30:00 +0200</pubDate>
+ <description><p>I have earlier covered the basics of trusted timestamping using the
+'openssl ts' client. See blog post for
+<a href="http://people.skolelinux.org/pere/blog/Public_Trusted_Timestamping_services_for_everyone.html">2014</a>,
+<a href="http://people.skolelinux.org/pere/blog/syslog_trusted_timestamp___chain_of_trusted_timestamps_for_your_syslog.html">2016</a>
+and
+<a href="http://people.skolelinux.org/pere/blog/Idea_for_storing_trusted_timestamps_in_a_Noark_5_archive.html">2017</a>
+for those stories. But some times I want to integrate the timestamping
+in other code, and recently I needed to integrate it into Python.
+After searching a bit, I found
+<a href="https://dev.entrouvert.org/projects/python-rfc3161">the
+rfc3161 library</a> which seemed like a good fit, but I soon
+discovered it only worked for python version 2, and I needed something
+that work with python version 3. Luckily I next came across
+<a href="https://github.com/trbs/rfc3161ng/">the rfc3161ng library</a>,
+a fork of the original rfc3161 library. Not only is it working with
+python 3, it have fixed a few of the bugs in the original library, and
+it has an active maintainer. I decided to wrap it up and make it
+<a href="https://tracker.debian.org/pkg/python-rfc3161ng">available in
+Debian</a>, and a few days ago it entered Debian unstable and testing.</p>
+
+<p>Using the library is fairly straight forward. The only slightly
+problematic step is to fetch the required certificates to verify the
+timestamp. For some services it is straight forward, while for others
+I have not yet figured out how to do it. Here is a small standalone
+code example based on of the integration tests in the library code:</p>
+
+<pre>
+#!/usr/bin/python3
+
+"""
+
+Python 3 script demonstrating how to use the rfc3161ng module to
+get trusted timestamps.
+
+The license of this code is the same as the license of the rfc3161ng
+library, ie MIT/BSD.
+
+"""
+
+import os
+import pyasn1.codec.der
+import rfc3161ng
+import subprocess
+import tempfile
+import urllib.request
+
+def store(f, data):
+ f.write(data)
+ f.flush()
+ f.seek(0)
+
+def fetch(url, f=None):
+ response = urllib.request.urlopen(url)
+ data = response.read()
+ if f:
+ store(f, data)
+ return data
+
+def main():
+ with tempfile.NamedTemporaryFile() as cert_f,\
+ tempfile.NamedTemporaryFile() as ca_f,\
+ tempfile.NamedTemporaryFile() as msg_f,\
+ tempfile.NamedTemporaryFile() as tsr_f:
+
+ # First fetch certificates used by service
+ certificate_data = fetch('https://freetsa.org/files/tsa.crt', cert_f)
+ ca_data_data = fetch('https://freetsa.org/files/cacert.pem', ca_f)
+
+ # Then timestamp the message
+ timestamper = \
+ rfc3161ng.RemoteTimestamper('http://freetsa.org/tsr',
+ certificate=certificate_data)
+ data = b"Python forever!\n"
+ tsr = timestamper(data=data, return_tsr=True)
+
+ # Finally, convert message and response to something 'openssl ts' can verify
+ store(msg_f, data)
+ store(tsr_f, pyasn1.codec.der.encoder.encode(tsr))
+ args = ["openssl", "ts", "-verify",
+ "-data", msg_f.name,
+ "-in", tsr_f.name,
+ "-CAfile", ca_f.name,
+ "-untrusted", cert_f.name]
+ subprocess.check_call(args)
+
+if '__main__' == __name__:
+ main()
+</pre>
+
+<p>The code fetches the required certificates, store them as temporary
+files, timestamp a simple message, store the message and timestamp to
+disk and ask 'openssl ts' to verify the timestamp. A timestamp is
+around 1.5 kiB in size, and should be fairly easy to store for future
+use.</p>
-<hr/>
-
-<p>I Noreg er det mange som treng å skriva både bokmål og nynorsk.
-Eksamensoppgåver, offentlege brev og nyhende er døme på tekster der
-det er krav om skriftspråk. I tillegg til alle skuleoppgåvene som
-elevar over det ganske land skal levera inn kvart år. Det mange ikkje
-veit er at sjølv om dei kommersielle alternativa
-<a href="https://translate.google.com/">Google *Translate</a> og
-<a href="https://www.bing.com/translator/">Bing *Translator</a> ikkje
-kan bidra med å omsetja mellom bokmål og nynorsk, så finst det eit
-utmerka fri programvarealternativ som kan. Omsetjarverktøyet
-*Apertium har støtte for ei rekkje språkkombinasjonar, og takka vera
-den utrøyttelege innsatsen til blant anna Kevin Brubeck Unhammer, kan
-ein bruka *webtjenesten til å fylla inn ei tekst på bokmål eller
-nynorsk, og få den *automatoversatt til det andre skriftspråket.
-Resultatet er ikkje perfekt, men eit svært godt utgangspunkt. Av og
-til er resultatet så bra at det kan nyttast utan endringar. Eg veit
-t.d. at store delar av *Joomla vart omsett til nynorsk ved hjelp
-*Apertium. Høyrast det ut som noko du kan ha bruk for? Besøk i så
-fall <a href="https://www.apertium.org/">*Apertium.org</a> og fyll inn
-teksta di i *webskjemaet der.
-
-<p>Viss du treng *maskinell tilgjenge til den *bakenforliggende
-teknologien kan du anten installera pakken
-<a href="https://tracker.debian.org/apertium-nno-nob">*apertium-*nno-*nob</a>
-på ein *Debian-maskin eller bruka *web-*API-eit tilgjengeleg frå
-*api.*apertium.org. Sjå
-<a href="http://wiki.apertium.org/wiki/Apertium-apy">*API-dokumentasjonen</a>
-for detaljar om *web-*API-eit. Her kan du sjå korleis resultatet vert
-for denne teksta som vart skreva på bokmål over *maskinoversatt til
-nynorsk.</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>
</description>
</item>
<item>
- <title>Hyperions magasin Pegasus går for Creative Commons</title>
- <link>http://people.skolelinux.org/pere/blog/Hyperions_magasin_Pegasus_g_r_for_Creative_Commons.html</link>
- <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Hyperions_magasin_Pegasus_g_r_for_Creative_Commons.html</guid>
- <pubDate>Tue, 22 Nov 2016 20:10:00 +0100</pubDate>
- <description><p>For noen dager siden ble jeg tipset av min venn Andreas
-Aanerud om at <a href="http://magasinetpegasus.no">magasinet
-Pegasus</a> skulle ta i bruk
-<a href="https://creativecommons.org/">Creative
-Commons</a>-lisensiering på sine artikler. Han fortalte at den
-direkte årsaken var at han hadde blitt inspirert av å lese
-<a href=" http://www.lulu.com/shop/http://www.lulu.com/shop/lawrence-lessig/fri-kultur/paperback/product-22441576.html">boken
-Fri kultur</a>
-(<a href="https://github.com/petterreinholdtsen/free-culture-lessig">github</a>)
-og foreslått endringen. Jeg ble veldig glad for å høre
-dette, da det er det første konkrete tilfellet jeg har hørt om der den
-norske oversettelsen av <a href="http://www.free-culture.cc/">
-Lawrence Lessigs bok Free Culture</a> som jeg ga ut i fjor høst hadde
-fått noen til å ta i bruk Creative Commons.</p>
-
-<p>Andreas fikk boken av meg som takk for at han inviterte meg til
-<a href="http://www.gathering.org/">The Gathering</a>, og jeg er veldig
-glad for at den falt i smak. Jeg ble nysgjerrig på hva som var
-bakgrunnen for denne policy-endringen hos Hyperion og han sa seg
-villig til å la seg intervjue til bloggen min. </p>
-
-<blockquote>
-
-<p><strong>Hvilke tanker gjorde du deg da boken lå i hånden første
-gang?</strong></p>
-
-<p>Jeg husker da jeg fikk boken, etter en omvisning på The Gathering i
-2016, der jeg var Core Organizer. The Gathering er jo et sted hvor en
-fremmer delingskultur, i alt fra kode, til løsninger og «hacks», så en
-kan vel si at boken er veldig relevant!</p>
-
-<p>Mine første tanker om boken, var at den trengte et grafisk løft.
-Selv har jeg dysleksi og er ikke verdens beste i å lese, men for meg
-så skal ikke det bety at jeg ikke klarer å lese. Jeg har jo også mine
-egne tanker om «Fri kultur», ettersom jeg har jobbet med noen norske
-filmer via NRK og TV2 og nå sitter som en teknisk leder i
-filmavdelingen til Schjærven Reklamebyrå.</p>
-
-<p><strong>Har du lest boken, og hva tenker du om den nå?</strong></p>
-
-<p>Jeg har lest boken, og for meg er det jo veldig moro å kunne si at
-Disney var en pirat og nå ha bevisene. Men det å gå fra Disney via
-RIAA, og så igjennom en jungel av teknikk og programmering og ende opp
-med spørsmålet om vi alle piratkopierer litt, er enda bedre. For ja,
-boken klarer å få frem en diskusjon om åndsverk på en god måte
-gjennom en samling historier, men den viste meg også et bilde, hvor
-teknologi blir kneblet, og ikke får lov til å utvikle seg, ettersom
-«opphavsrettsinnehaverne» bryr seg mer om sin industri enn om verden
-går fremover. Ta f.eks. internettradio! Hvorfor tuller vi med DAB+
-og alt det der, når radio kan være en app på alle telefoner i dag.
-Men den største tanken som jeg satt igjen med, er at vi må få færre
-advokater og flere tenkere som kan dra oss vekk fra de feilene vi er i
-ferd med å ende opp i.</p>
-
-<p><strong>Har budskapet i boken påvirker deg og det du holder på
-med?</strong></p>
-
-<p>The Gathering sin moderforening er
-<a href="http://www.kandu.no/">KANDU</a>, som er et stolt medlem av <a
-href="http://n4f.no/">Hyperion</a>. Hyperion har et mandat igjennom
-sitt interne magasin Pegasus å fremme Hyperion sine
-medlemsarrangementer og kultur. Dette tror jeg er veldig viktig, og en
-av de viktigste virkemidlene det magasinet nå har fått, er pålegget om
-å publisere alt under de forskjellige Creative Commons
-retningslinjer. Grunnen til at Pegasus kan velge fritt blant lisensene
-til Creative Commons er deres bruk av freelancere m.m. som også må få
-sine rettigheter dekket.</p>
-
-<p>Det er et steg i riktig retning som jeg håper, vil gi lokalaviser,
-nasjonale aviser, bloggere m.m. muligheten til å referere til Pegasus
-sitt innhold uten å måtte be om tillatelse først, som i bunnen vil
-hjelpe oss å spre vår kultur i Hyperion.</p>
-
-<p><strong>Hva fikk Pegasus til å vedta retninglinjer om bruk av
-Creative Commons, og hvordan kom dere frem til en slik
-policy?</strong></p>
-
-<p>Dette skjedde på Hyperion sitt landsting, hvor jeg ønsket å fremme
-Creative Commons som en retning som flere mener magasinet burde ta,
-hvordan Pegasus tar det i bruk er mer opp til redaksjonen. Det som var
-trist er at en del har misforstått hva Creative Commons er. Vi fikk
-en veldig het «debatt» på facebook i etterkant hvor noen blant annet
-mener at dette vedtaket har drept Pegasus.</p>
-
-<p>Personlig syntes jeg disse reaksjonene er rare, ettersom Pegasus er
-et medlemsmagasin og magasinet sitt mål er å spre vår fantastiske
-kultur. Jeg mener at Ceative Commons-bruksvilkår på artikler skaper
-en veldig god mulighet til å spre denne kulturen. Det gjør at større
-og mindre aviser kan låne artikler fra medlemsmagasinet og publisere
-det hos seg, slik at effekten nettopp er fremme vår kultur.</p>
-
-<p>Jeg gleder meg til å se hvordan redaksjonen håndhever bruken av
-Creative Commons.</p>
+ <title>Automatic Google Drive sync using grive in Debian</title>
+ <link>http://people.skolelinux.org/pere/blog/Automatic_Google_Drive_sync_using_grive_in_Debian.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Automatic_Google_Drive_sync_using_grive_in_Debian.html</guid>
+ <pubDate>Thu, 4 Oct 2018 15:20:00 +0200</pubDate>
+ <description><p>A few days, I rescued a Windows victim over to Debian. To try to
+rescue the remains, I helped set up automatic sync with Google Drive.
+I did not find any sensible Debian package handling this
+automatically, so I rebuild the grive2 source from
+<a href="http://www.webupd8.org/">the Ubuntu UPD8 PPA</a> to do the
+task and added a autostart desktop entry and a small shell script to
+run in the background while the user is logged in to do the sync.
+Here is a sketch of the setup for future reference.</p>
+
+<p>I first created <tt>~/googledrive</tt>, entered the directory and
+ran '<tt>grive -a</tt>' to authenticate the machine/user. Next, I
+created a autostart hook in <tt>~/.config/autostart/grive.desktop</tt>
+to start the sync when the user log in:</p>
+
+<p><blockquote><pre>
+[Desktop Entry]
+Name=Google drive autosync
+Type=Application
+Exec=/home/user/bin/grive-sync
+</pre></blockquote></p>
+
+<p>Finally, I wrote the <tt>~/bin/grive-sync</tt> script to sync
+~/googledrive/ with the files in Google Drive.</p>
+
+<p><blockquote><pre>
+#!/bin/sh
+set -e
+cd ~/
+cleanup() {
+ if [ "$syncpid" ] ; then
+ kill $syncpid
+ fi
+}
+trap cleanup EXIT INT QUIT
+/usr/lib/grive/grive-sync.sh listen googledrive 2>&1 | sed "s%^%$0:%" &
+syncpdi=$!
+while true; do
+ if ! xhost >/dev/null 2>&1 ; then
+ echo "no DISPLAY, exiting as the user probably logged out"
+ exit 1
+ fi
+ if [ ! -e /run/user/1000/grive-sync.sh_googledrive ] ; then
+ /usr/lib/grive/grive-sync.sh sync googledrive
+ fi
+ sleep 300
+done 2>&1 | sed "s%^%$0:%"
+</pre></blockquote></p>
+
+<p>Feel free to use the setup if you want. It can be assumed to be
+GNU GPL v2 licensed (or any later version, at your leisure), but I
+doubt this code is possible to claim copyright on.</p>
-<p><strong>Hvem tror du kunne ha mest nytte av å lese Fri
-kultur?</strong></p>
-
-<p>Jeg tror at boken Fri kultur bør leses av de som ønsker en debatt
-om nye medier, samt de som jobber med medier og føler seg «truet» av
-utviklingen. Kanskje det kan være et lysglimt om at vi må heller være
-med å utvikle oss, enn å stoppe opp og «beskytte» våre eier-, penge-
-og materielle interesser.</p>
-
-<p>Spørsmålet for redaksjoner vil vel være om de «tjener» på klikk og
-sine artikler via annonser, i så fall ville jeg tenkt litt rundt
-spredningen. Nettavisen Digi.no gjorde en analyse i 2015 som var
-veldig fin. Hvor de måtte konkludere med at de fikk ut budskapet
-bedre, men de mistet inntekter på annonsevisning.</p>
-
-<p>Derfor for et magasin som skal «spre» kultur, så burde Creative
-Commons være en no-brainer, en kunne også kanskje argumentere med at
-NRK også burde gjøre dette, ettersom de ikke lever av reklame, og vi
-betaler for innholdet deres.</p>
-
-<p><strong>Kommer du til å anbefale boken til noen du
-kjenner?</strong></p>
-
-<p>Absolutt! Jeg har faktisk tenkt å gi den videre som en vandrebok,
-til redaksjonen i Pegasus slik at de kan lese den og få noen ider og
-tanker om fri kultur.</p>
-
-<p><strong>Du sier at boken klarer å få frem viktig en diskusjon om
- vern av åndsverk. Boken er jo skrevet med bakgrunn i USAs
- Copyright-lovgiving og ikke den norske åndsverksloven. Hva gjør at
- du mener boken er relevant for den norske debatten?</strong></p>
-
-<p>En av tingene boken pekte på var tanken om hvor opphavsretten skal
-ligge. Skal den ligge hos den som skriver sangen, den som fremfører
-eller den som tar opp sangen. Og når spørsmålet kom tilbake i en
-software-utgave, «hvordan kan Adobe styre opphavsretten i sin eBook
-Publisher» så føler jeg at vi kommer inn på spennende tanker som jeg
-mener vi glemmer i norsk åndsverksdebatt. USA har rett å slett et
-«større bilde» som kanskje vi kan ta lærdom av.</p>
-
-</blockquote>
-
-<p>Jeg er veldig spent på hvordan redaksjonen i Pegasus kommer til å
-ta i bruk Creative Commons, og gleder meg til neste tegn på at
-bokutgivelsen har fått noen til å tenke mer på problemene med dagens
-åndsverksvern.</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>
</description>
</item>
<item>
- <title>Coz profiler for multi-threaded software is now in Debian</title>
- <link>http://people.skolelinux.org/pere/blog/Coz_profiler_for_multi_threaded_software_is_now_in_Debian.html</link>
- <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Coz_profiler_for_multi_threaded_software_is_now_in_Debian.html</guid>
- <pubDate>Sun, 13 Nov 2016 12:30:00 +0100</pubDate>
- <description><p><a href="http://coz-profiler.org/">The Coz profiler</a>, a nice
-profiler able to run benchmarking experiments on the instrumented
-multi-threaded program, finally
-<a href="https://tracker.debian.org/pkg/coz-profiler">made it into
-Debian unstable yesterday</A>. Lluís Vilanova and I have spent many
-months since
-<a href="http://people.skolelinux.org/pere/blog/Coz_can_help_you_find_bottlenecks_in_multi_threaded_software___nice_free_software.html">I
-blogged about the coz tool</a> in August working with upstream to make
-it suitable for Debian. There are still issues with clang
-compatibility, inline assembly only working x86 and minimized
-JavaScript libraries.</p>
+ <title>Valutakrambod - A python and bitcoin love story</title>
+ <link>http://people.skolelinux.org/pere/blog/Valutakrambod___A_python_and_bitcoin_love_story.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Valutakrambod___A_python_and_bitcoin_love_story.html</guid>
+ <pubDate>Sat, 29 Sep 2018 22:20:00 +0200</pubDate>
+ <description><p>It would come as no surprise to anyone that I am interested in
+bitcoins and virtual currencies. I've been keeping an eye on virtual
+currencies for many years, and it is part of the reason a few months
+ago, I started writing a python library for collecting currency
+exchange rates and trade on virtual currency exchanges. I decided to
+name the end result valutakrambod, which perhaps can be translated to
+small currency shop.</p>
+
+<p>The library uses the tornado python library to handle HTTP and
+websocket connections, and provide a asynchronous system for
+connecting to and tracking several services. The code is available
+from
+<a href="http://github.com/petterreinholdtsen/valutakrambod">github</a>.</p>
+
+</p>There are two example clients of the library. One is very simple and
+list every updated buy/sell price received from the various services.
+This code is started by running bin/btc-rates and call the client code
+in valutakrambod/client.py. The simple client look like this:</p>
+
+<p><blockquote><pre>
+import functools
+import tornado.ioloop
+import valutakrambod
+class SimpleClient(object):
+ def __init__(self):
+ self.services = []
+ self.streams = []
+ pass
+ def newdata(self, service, pair, changed):
+ print("%-15s %s-%s: %8.3f %8.3f" % (
+ service.servicename(),
+ pair[0],
+ pair[1],
+ service.rates[pair]['ask'],
+ service.rates[pair]['bid'])
+ )
+ async def refresh(self, service):
+ await service.fetchRates(service.wantedpairs)
+ def run(self):
+ self.ioloop = tornado.ioloop.IOLoop.current()
+ self.services = valutakrambod.service.knownServices()
+ for e in self.services:
+ service = e()
+ service.subscribe(self.newdata)
+ stream = service.websocket()
+ if stream:
+ self.streams.append(stream)
+ else:
+ # Fetch information from non-streaming services immediately
+ self.ioloop.call_later(len(self.services),
+ functools.partial(self.refresh, service))
+ # as well as regularly
+ service.periodicUpdate(60)
+ for stream in self.streams:
+ stream.connect()
+ try:
+ self.ioloop.start()
+ except KeyboardInterrupt:
+ print("Interrupted by keyboard, closing all connections.")
+ pass
+ for stream in self.streams:
+ stream.close()
+</pre></blockquote></p>
+
+<p>The library client loops over all known "public" services,
+initialises it, subscribes to any updates from the service, checks and
+activates websocket streaming if the service provide it, and if no
+streaming is supported, fetches information from the service and sets
+up a periodic update every 60 seconds. The output from this client
+can look like this:</p>
+
+<p><blockquote><pre>
+Bl3p BTC-EUR: 5687.110 5653.690
+Bl3p BTC-EUR: 5687.110 5653.690
+Bl3p BTC-EUR: 5687.110 5653.690
+Hitbtc BTC-USD: 6594.560 6593.690
+Hitbtc BTC-USD: 6594.560 6593.690
+Bl3p BTC-EUR: 5687.110 5653.690
+Hitbtc BTC-USD: 6594.570 6593.690
+Bitstamp EUR-USD: 1.159 1.154
+Hitbtc BTC-USD: 6594.570 6593.690
+Hitbtc BTC-USD: 6594.580 6593.690
+Hitbtc BTC-USD: 6594.580 6593.690
+Hitbtc BTC-USD: 6594.580 6593.690
+Bl3p BTC-EUR: 5687.110 5653.690
+Paymium BTC-EUR: 5680.000 5620.240
+</pre></blockquote></p>
+
+<p>The exchange order book is tracked in addition to the best buy/sell
+price, for those that need to know the details.</p>
+
+<p>The other example client is focusing on providing a curses view
+with updated buy/sell prices as soon as they are received from the
+services. This code is located in bin/btc-rates-curses and activated
+by using the '-c' argument. Without the argument the "curses" output
+is printed without using curses, which is useful for debugging. The
+curses view look like this:</p>
+
+<p><blockquote><pre>
+ Name Pair Bid Ask Spr Ftcd Age
+ BitcoinsNorway BTCEUR 5591.8400 5711.0800 2.1% 16 nan 60
+ Bitfinex BTCEUR 5671.0000 5671.2000 0.0% 16 22 59
+ Bitmynt BTCEUR 5580.8000 5807.5200 3.9% 16 41 60
+ Bitpay BTCEUR 5663.2700 nan nan% 15 nan 60
+ Bitstamp BTCEUR 5664.8400 5676.5300 0.2% 0 1 1
+ Bl3p BTCEUR 5653.6900 5684.9400 0.5% 0 nan 19
+ Coinbase BTCEUR 5600.8200 5714.9000 2.0% 15 nan nan
+ Kraken BTCEUR 5670.1000 5670.2000 0.0% 14 17 60
+ Paymium BTCEUR 5620.0600 5680.0000 1.1% 1 7515 nan
+ BitcoinsNorway BTCNOK 52898.9700 54034.6100 2.1% 16 nan 60
+ Bitmynt BTCNOK 52960.3200 54031.1900 2.0% 16 41 60
+ Bitpay BTCNOK 53477.7833 nan nan% 16 nan 60
+ Coinbase BTCNOK 52990.3500 54063.0600 2.0% 15 nan nan
+ MiraiEx BTCNOK 52856.5300 54100.6000 2.3% 16 nan nan
+ BitcoinsNorway BTCUSD 6495.5300 6631.5400 2.1% 16 nan 60
+ Bitfinex BTCUSD 6590.6000 6590.7000 0.0% 16 23 57
+ Bitpay BTCUSD 6564.1300 nan nan% 15 nan 60
+ Bitstamp BTCUSD 6561.1400 6565.6200 0.1% 0 2 1
+ Coinbase BTCUSD 6504.0600 6635.9700 2.0% 14 nan 117
+ Gemini BTCUSD 6567.1300 6573.0700 0.1% 16 89 nan
+ Hitbtc+BTCUSD 6592.6200 6594.2100 0.0% 0 0 0
+ Kraken BTCUSD 6565.2000 6570.9000 0.1% 15 17 58
+ Exchangerates EURNOK 9.4665 9.4665 0.0% 16 107789 nan
+ Norgesbank EURNOK 9.4665 9.4665 0.0% 16 107789 nan
+ Bitstamp EURUSD 1.1537 1.1593 0.5% 4 5 1
+ Exchangerates EURUSD 1.1576 1.1576 0.0% 16 107789 nan
+ BitcoinsNorway LTCEUR 1.0000 49.0000 98.0% 16 nan nan
+ BitcoinsNorway LTCNOK 492.4800 503.7500 2.2% 16 nan 60
+ BitcoinsNorway LTCUSD 1.0221 49.0000 97.9% 15 nan nan
+ Norgesbank USDNOK 8.1777 8.1777 0.0% 16 107789 nan
+</pre></blockquote></p>
+
+<p>The code for this client is too complex for a simple blog post, so
+you will have to check out the git repository to figure out how it
+work. What I can tell is how the three last numbers on each line
+should be interpreted. The first is how many seconds ago information
+was received from the service. The second is how long ago, according
+to the service, the provided information was updated. The last is an
+estimate on how often the buy/sell values change.</p>
+
+<p>If you find this library useful, or would like to improve it, I
+would love to hear from you. Note that for some of the services I've
+implemented a trading API. It might be the topic of a future blog
+post.</p>
-<p>To test it, install 'coz-profiler' using apt and run it like this:</p>
-
-<p><blockquote>
-<tt>coz run --- /path/to/binary-with-debug-info</tt>
-</blockquote></p>
-
-<p>This will produce a profile.coz file in the current working
-directory with the profiling information. This is then given to a
-JavaScript application provided in the package and available from
-<a href="http://plasma-umass.github.io/coz/">a project web page</a>.
-To start the local copy, invoke it in a browser like this:</p>
-
-<p><blockquote>
-<tt>sensible-browser /usr/share/coz-profiler/viewer/index.htm</tt>
-</blockquote></p>
-
-<p>See the project home page and the
-<a href="https://www.usenix.org/publications/login/summer2016/curtsinger">USENIX
-;login: article on Coz</a> for more information on how it is
-working.</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>
</description>
</item>