X-Git-Url: http://pere.pagekite.me/gitweb/homepage.git/blobdiff_plain/7e36d7f1ee3064b18e93a22e424476eb8b4e0b64..162b054d8dd0d79ca99380bae4c82b4512ea7a2d:/blog/index.html diff --git a/blog/index.html b/blog/index.html index cb89379d47..fe419b29ab 100644 --- a/blog/index.html +++ b/blog/index.html @@ -19,6 +19,337 @@ +
+
CasparCG Server for TV broadcast playout in Debian
+
15th January 2019
+

The layered video playout server created by Sveriges Television, +CasparCG Server, entered Debian +today. This completes many months of work to get the source ready to +go into Debian. The first upload to the Debian NEW queue happened a +month ago, but the work upstream to prepare it for Debian started more +than two and a half month ago. So far +the +casparcg-server package is only available for amd64, but I hope +this can be improved. The package is in contrib because it depend on +the non-free fdk-aac +library. The Debian package lack support for streaming web pages +because Debian is missing CEF, Chromium Embedded Framework. CEF is +wanted by several packages in Debian. But because the Chromium source +is not available as a build +dependency, it is not yet possible to upload CEF to Debian. I +hope this will change in the future.

+ +

The reason I got involved is that +the Norwegian open channel +Frikanalen is starting to use CasparCG for our HD playout, and I +would like to have all the free software tools we use to run the TV +channel available as packages from the Debian project. The last +remaining piece in the puzzle is Open Broadcast Encoder, but it depend +on quite a lot of patched libraries which would have to be included in +Debian first.

+
+
+ + + Tags: english, frikanalen, multimedia, video. + + +
+
+
+ +
+
Learn to program with Minetest on Debian
+
15th December 2018
+

A fun way to learn how to program +Python is to follow the +instructions in the book +"Learn to program +with Minecraft", which introduces programming in Python to people +who like to play with Minecraft. The book uses a Python library to +talk to a TCP/IP socket with an API accepting build instructions and +providing information about the current players in a Minecraft world. +The TCP/IP API was first created for the Minecraft implementation for +Raspberry Pi, and has since been ported to some server versions of +Minecraft. The book contain recipes for those using Windows, MacOSX +and Raspian. But a little known fact is that you can follow the same +recipes using the free software construction game +Minetest.

+ +

There is a +Minetest module implementing the same API, making it possible to +use the Python programs coded to talk to Minecraft with Minetest too. +I +uploaded +this module to Debian two weeks ago, and as soon as it clears the +FTP masters NEW queue, learning to program Python with Minetest on +Debian will be a simple 'apt install' away. The Debian package is +maintained as part of the Debian Games team, and +the +packaging rules are currently located under 'unfinished' on +Salsa.

+ +

You will most likely need to install several of the Minetest +modules in Debian for the examples included with the library to work +well, as there are several blocks used by the example scripts that are +provided via modules in Minetest. Without the required blocks, a +simple stone block is used instead. My initial testing with a analog +clock did not get gold arms as instructed in the python library, but +instead used stone arms.

+ +

I tried to find a way to add the API to the desktop version of +Minecraft, but were unable to find any working recipes. The +recipes +I found are only +working with a standalone Minecraft server setup. Are there any +options to use with the normal desktop version?

+ +

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

+
+
+ + + Tags: debian, english. + + +
+
+
+ +
+
Non-blocking bittorrent plugin for vlc
+
12th December 2018
+

A few hours ago, a new and improved version (2.4) of +the VLC +bittorrent plugin was uploaded to Debian. This new version +include a complete rewrite of the bittorrent related code, which seem +to make the plugin non-blocking. This mean you can actually exit VLC +even when the plugin seem to be unable to get the bittorrent streaming +started. The new version also include support for filtering playlist +by file extension using command line options, if you want to avoid +processing audio, video or images. The package is currently in Debian +unstable, but should be available in Debian testing in two days. To +test it, simply install it like this:

+ +

+apt install vlc-plugin-bittorrent
+

+ +

After it is installed, you can try to use it to play a file +downloaded live via bittorrent like this: + +

+vlc https://archive.org/download/Glass_201703/Glass_201703_archive.torrent
+

+ +

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

+
+
+ + + Tags: english, verkidetfri, video. + + +
+
+
+ +
+
Retten til kontant betaling er en rettighet som må brukes for å beholdes
+
11th December 2018
+

FNs +menneskerettighetserklæring artikkel 13 første punkt lyder som +følger:

+ +

+Enhver har rett til å bevege seg fritt og til fritt å velge +oppholdssted innenfor en stats grenser. +

+ +

Det er altsÃ¥ en menneskerett Ã¥ kunne bevege seg fritt i landet. +For Ã¥ bevege seg fritt i landet, sÃ¥ mÃ¥ en kunne bevege seg uten Ã¥ bli +sporet. Det vil i dagens samfunn innebære Ã¥ bevege seg uten Ã¥ legge +igjen digitale spor og uten Ã¥ være radiomerket. Hvis en vet at ens +bevegelser, hvor en befinner seg nÃ¥r, og hvem som befinner seg i +nærheten, blir samlet inn og gjort tilgjengelig for fremmede, det være +seg myndighetene eller private organisasjoner, sÃ¥ kan en ikke lenger +bevege seg fritt. Dette gjør at det er en forutsetning for Ã¥ ha glede +av retten til Ã¥ bevege seg fritt i landet at en motstÃ¥r fristelsen til +Ã¥ legge igjen digitale spor nÃ¥r en betaler for seg. Rettigheter som +ikke blir brukt, blir fjernet. Den eneste mÃ¥ten i dag Ã¥ unngÃ¥ Ã¥ legge +igjen digitale spor nÃ¥r en betaler for seg, er Ã¥ betale med kontanter, +samt takke nei til Ã¥ legge igjen navn og adresse (slik f.eks. Elkjøp +ber om — jeg sier de kan legge inn «anonym anonym» nÃ¥r +datasystemet deres trenger et navn). Personlig anbefaler jeg Ã¥ +konsekvent bruke kontant betaling nÃ¥r man beveger seg rundt, for Ã¥ +bidra til forsvaret av menneskerettighetene i Norge. Kanskje noe ogsÃ¥ +for deg? Merk at det ikke er tilstrekkelig for Ã¥ unngÃ¥ sporing Ã¥ +betale med kontanter, men det er et lite steg i riktig retning.

+ +

Det er flere andre argumenter i tillegg til +menneskerettighetsargumentet for å bruke kontanter. I går hadde +Dagbladet en utmerket kommentar av sin journalist John Olav Egeland om +hvilket +kontantløst +diktatur som venter oss hvis mange nok slutter å insistere på å +betale med kontanter. Jeg anbefaler deg å lese den.

+ +

Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til +det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner +til min adresse +15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b. +Merk, betaling med bitcoin er ikke anonymt. :)

+
+
+ + + Tags: norsk, personvern. + + +
+
+
+ +
+
Why is your site not using Content Security Policy / CSP?
+
9th December 2018
+

Yesterday, I had the pleasure of watching on Frikanalen the OWASP +talk by Scott Helme titled +"What We’ve Learned From +Billions of Security Reports". I had not heard of the +Content +Security Policy standard nor its ability to "call home" when a +browser detect a policy breach (I do not follow web page design +development much these days), and found the talk very illuminating.

+ +

The mechanism allow a web site owner to use HTTP headers to tell +visitors web browser which sources (internal and external) are allowed to +be used on the web site. Thus it become possible to enforce a "only +local content" policy despite web designers urge to fetch programs +from random sites on the Internet, like the one +enabling +the attack reported by Scott Helme earlier this year.

+ +

Using CSP seem like an obvious thing for a site admin to implement +to take some control over the information leak that occur when +external sources are used to render web pages, it is a mystery more +sites are not using CSP? It is being +standardized under W3C these +days, and is supposed by most web browsers

+ +

I managed to find a +Django middleware for implementing CSP and was happy to discover +it was already in Debian. I plan to use it to add CSP support to the +Frikanalen web site soon.

+ +

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

+
+
+ + + Tags: english, standard, web. + + +
+
+
+ +
+
New and improved Frikanalen Kodi addon version 0.0.3
+
8th November 2018
+

If you read my blog regularly, you probably know I am involved in +running and developing the Norwegian +TV channel Frikanalen. It is an open channel, allowing everyone +in Norway to publish videos on a TV channel with national coverage. +You can think of it as Youtube for national television. +In addition to distribution on RiksTV and Uninett, Frikanalen is also +available as a Kodi addon. The last few days I have updated the code +to add more features. A +new +and improved version 0.0.3 Frikanalen addon was just made +available via the Kodi repositories. This new version include a +option to browse videos by category, as well as free text search +in the video archive. It will now also show the video duration in the +video lists, which were missing earlier. A new and experimental +link to the HD video stream currently being worked on is provided, for +those that want to see what the CasparCG +output look like. The alternative is the SD video stream, generated +using MLT. CasparCG is controlled by our +mltplayout +server which instead of talking to mlt is giving PLAY instructions +to the CasparCG server when it is time to start a new program.

+ +

By now, you are probably wondering what kind of content is being +played on the channel. These days, it is filled with technical +presentations like those from NUUG, +Debconf, Makercon, and TED, +but there are also some periods with +EMPT TV and +P7. + +

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

+
+
+ + + Tags: english, frikanalen, kodi, video. + + +
+
+
+ +
+
Time for an official MIME type for patches?
+
1st November 2018
+

As part of my involvement in +the Nikita +archive API project, I've been importing a fairly large lump of +emails into a test instance of the archive to see how well this would +go. I picked a subset of my +notmuch email database, all public emails sent to me via +@lists.debian.org, giving me a set of around 216 000 emails to import. +In the process, I had a look at the various attachments included in +these emails, to figure out what to do with attachments, and noticed +that one of the most common attachment formats do not have +an +official MIME type registered with IANA/IETF. The output from +diff, ie the input for patch, is on the top 10 list of formats +included in these emails. At the moment people seem to use either +text/x-patch or text/x-diff, but neither is officially registered. It +would be better if one official MIME type were registered and used +everywhere.

+ +

To try to get one official MIME type for these files, I've brought +up the topic on +the +media-types mailing list. If you are interested in discussion +which MIME type to use as the official for patch files, or involved in +making software using a MIME type for patches, perhaps you would like +to join the discussion?

+ +

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

+
+
+ + + Tags: debian, english, standard. + + +
+
+
+
Measuring the speaker frequency response using the AUDMES free software GUI - nice free software
22nd October 2018
@@ -78,12 +409,12 @@ the problem with my stereo had to be in the amplifier or speakers.

set of speakers at a flee marked, and these work a lot better than the old speakers, so I guess the microphone and amplifier is OK. If you need to measure your own speakers, check out AUDMES. If more people -get involved, perhaps the project could become good enough to include -in Debian? And if you know of some other free software to measure -speakers and amplifier performance, please let me know. I am aware of -the freeware option REW, -but I want something that can be developed also when the vendor -looses interest.

+get involved, perhaps the project could become good enough to +include in Debian? And if +you know of some other free software to measure speakers and amplifier +performance, please let me know. I am aware of the freeware option +REW, but I want something +that can be developed also when the vendor looses interest.

As usual, if you use Bitcoin and want to show your support of my activities, please send Bitcoin donations to my address @@ -248,525 +579,6 @@ activities, please send Bitcoin donations to my address

-
-
Fetching trusted timestamps using the rfc3161ng python module
-
8th October 2018
-

I have earlier covered the basics of trusted timestamping using the -'openssl ts' client. See blog post for -2014, -2016 -and -2017 -for those stories. But some times I want to integrate the timestamping -in other code, and recently I needed to integrate it into Python. -After searching a bit, I found -the -rfc3161 library which seemed like a good fit, but I soon -discovered it only worked for python version 2, and I needed something -that work with python version 3. Luckily I next came across -the rfc3161ng library, -a fork of the original rfc3161 library. Not only is it working with -python 3, it have fixed a few of the bugs in the original library, and -it has an active maintainer. I decided to wrap it up and make it -available in -Debian, and a few days ago it entered Debian unstable and testing.

- -

Using the library is fairly straight forward. The only slightly -problematic step is to fetch the required certificates to verify the -timestamp. For some services it is straight forward, while for others -I have not yet figured out how to do it. Here is a small standalone -code example based on of the integration tests in the library code:

- -
-#!/usr/bin/python3
-
-"""
-
-Python 3 script demonstrating how to use the rfc3161ng module to
-get trusted timestamps.
-
-The license of this code is the same as the license of the rfc3161ng
-library, ie MIT/BSD.
-
-"""
-
-import os
-import pyasn1.codec.der
-import rfc3161ng
-import subprocess
-import tempfile
-import urllib.request
-
-def store(f, data):
-    f.write(data)
-    f.flush()
-    f.seek(0)
-
-def fetch(url, f=None):
-    response = urllib.request.urlopen(url)
-    data = response.read()
-    if f:
-        store(f, data)
-    return data
-
-def main():
-    with tempfile.NamedTemporaryFile() as cert_f,\
-    	 tempfile.NamedTemporaryFile() as ca_f,\
-    	 tempfile.NamedTemporaryFile() as msg_f,\
-    	 tempfile.NamedTemporaryFile() as tsr_f:
-
-        # First fetch certificates used by service
-        certificate_data = fetch('https://freetsa.org/files/tsa.crt', cert_f)
-        ca_data_data = fetch('https://freetsa.org/files/cacert.pem', ca_f)
-
-        # Then timestamp the message
-        timestamper = \
-            rfc3161ng.RemoteTimestamper('http://freetsa.org/tsr',
-                                        certificate=certificate_data)
-        data = b"Python forever!\n"
-        tsr = timestamper(data=data, return_tsr=True)
-
-        # Finally, convert message and response to something 'openssl ts' can verify
-        store(msg_f, data)
-        store(tsr_f, pyasn1.codec.der.encoder.encode(tsr))
-        args = ["openssl", "ts", "-verify",
-                "-data", msg_f.name,
-	        "-in", tsr_f.name,
-		"-CAfile", ca_f.name,
-                "-untrusted", cert_f.name]
-        subprocess.check_call(args)
-
-if '__main__' == __name__:
-   main()
-
- -

The code fetches the required certificates, store them as temporary -files, timestamp a simple message, store the message and timestamp to -disk and ask 'openssl ts' to verify the timestamp. A timestamp is -around 1.5 kiB in size, and should be fairly easy to store for future -use.

- -

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

-
-
- - - Tags: english, sikkerhet. - - -
-
-
- -
-
Automatic Google Drive sync using grive in Debian
-
4th October 2018
-

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 -the Ubuntu UPD8 PPA to do the -task and added a autostart desktop entry and a small shell script to -run in the background while the user is logged in to do the sync. -Here is a sketch of the setup for future reference.

- -

I first created ~/googledrive, entered the directory and -ran 'grive -a' to authenticate the machine/user. Next, I -created a autostart hook in ~/.config/autostart/grive.desktop -to start the sync when the user log in:

- -

-[Desktop Entry]
-Name=Google drive autosync
-Type=Application
-Exec=/home/user/bin/grive-sync
-

- -

Finally, I wrote the ~/bin/grive-sync script to sync -~/googledrive/ with the files in Google Drive.

- -

-#!/bin/sh
-set -e
-cd ~/
-cleanup() {
-    if [ "$syncpid" ] ; then
-        kill $syncpid
-    fi
-}
-trap cleanup EXIT INT QUIT
-/usr/lib/grive/grive-sync.sh listen googledrive 2>&1 | sed "s%^%$0:%" &
-syncpdi=$!
-while true; do
-    if ! xhost >/dev/null 2>&1 ; then
-        echo "no DISPLAY, exiting as the user probably logged out"
-        exit 1
-    fi
-    if [ ! -e /run/user/1000/grive-sync.sh_googledrive ] ; then
-        /usr/lib/grive/grive-sync.sh sync googledrive
-    fi
-    sleep 300
-done 2>&1 | sed "s%^%$0:%"
-

- -

Feel free to use the setup if you want. It can be assumed to be -GNU GPL v2 licensed (or any later version, at your leisure), but I -doubt this code is possible to claim copyright on.

- -

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

-
-
- - - Tags: debian, english. - - -
-
-
- -
-
Valutakrambod - A python and bitcoin love story
-
29th September 2018
-

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.

- -

The library uses the tornado python library to handle HTTP and -websocket connections, and provide a asynchronous system for -connecting to and tracking several services. The code is available -from -github.

- -

There are two example clients of the library. One is very simple and -list every updated buy/sell price received from the various services. -This code is started by running bin/btc-rates and call the client code -in valutakrambod/client.py. The simple client look like this:

- -

-import functools
-import tornado.ioloop
-import valutakrambod
-class SimpleClient(object):
-    def __init__(self):
-        self.services = []
-        self.streams = []
-        pass
-    def newdata(self, service, pair, changed):
-        print("%-15s %s-%s: %8.3f %8.3f" % (
-            service.servicename(),
-            pair[0],
-            pair[1],
-            service.rates[pair]['ask'],
-            service.rates[pair]['bid'])
-        )
-    async def refresh(self, service):
-        await service.fetchRates(service.wantedpairs)
-    def run(self):
-        self.ioloop = tornado.ioloop.IOLoop.current()
-        self.services = valutakrambod.service.knownServices()
-        for e in self.services:
-            service = e()
-            service.subscribe(self.newdata)
-            stream = service.websocket()
-            if stream:
-                self.streams.append(stream)
-            else:
-                # Fetch information from non-streaming services immediately
-                self.ioloop.call_later(len(self.services),
-                                       functools.partial(self.refresh, service))
-                # as well as regularly
-                service.periodicUpdate(60)
-        for stream in self.streams:
-            stream.connect()
-        try:
-            self.ioloop.start()
-        except KeyboardInterrupt:
-            print("Interrupted by keyboard, closing all connections.")
-            pass
-        for stream in self.streams:
-            stream.close()
-

- -

The library client loops over all known "public" services, -initialises it, subscribes to any updates from the service, checks and -activates websocket streaming if the service provide it, and if no -streaming is supported, fetches information from the service and sets -up a periodic update every 60 seconds. The output from this client -can look like this:

- -

-Bl3p            BTC-EUR: 5687.110 5653.690
-Bl3p            BTC-EUR: 5687.110 5653.690
-Bl3p            BTC-EUR: 5687.110 5653.690
-Hitbtc          BTC-USD: 6594.560 6593.690
-Hitbtc          BTC-USD: 6594.560 6593.690
-Bl3p            BTC-EUR: 5687.110 5653.690
-Hitbtc          BTC-USD: 6594.570 6593.690
-Bitstamp        EUR-USD:    1.159    1.154
-Hitbtc          BTC-USD: 6594.570 6593.690
-Hitbtc          BTC-USD: 6594.580 6593.690
-Hitbtc          BTC-USD: 6594.580 6593.690
-Hitbtc          BTC-USD: 6594.580 6593.690
-Bl3p            BTC-EUR: 5687.110 5653.690
-Paymium         BTC-EUR: 5680.000 5620.240
-

- -

The exchange order book is tracked in addition to the best buy/sell -price, for those that need to know the details.

- -

The other example client is focusing on providing a curses view -with updated buy/sell prices as soon as they are received from the -services. This code is located in bin/btc-rates-curses and activated -by using the '-c' argument. Without the argument the "curses" output -is printed without using curses, which is useful for debugging. The -curses view look like this:

- -

-           Name Pair   Bid         Ask         Spr    Ftcd    Age
- BitcoinsNorway BTCEUR   5591.8400   5711.0800   2.1%   16    nan     60
-       Bitfinex BTCEUR   5671.0000   5671.2000   0.0%   16     22     59
-        Bitmynt BTCEUR   5580.8000   5807.5200   3.9%   16     41     60
-         Bitpay BTCEUR   5663.2700         nan   nan%   15    nan     60
-       Bitstamp BTCEUR   5664.8400   5676.5300   0.2%    0      1      1
-           Bl3p BTCEUR   5653.6900   5684.9400   0.5%    0    nan     19
-       Coinbase BTCEUR   5600.8200   5714.9000   2.0%   15    nan    nan
-         Kraken BTCEUR   5670.1000   5670.2000   0.0%   14     17     60
-        Paymium BTCEUR   5620.0600   5680.0000   1.1%    1   7515    nan
- BitcoinsNorway BTCNOK  52898.9700  54034.6100   2.1%   16    nan     60
-        Bitmynt BTCNOK  52960.3200  54031.1900   2.0%   16     41     60
-         Bitpay BTCNOK  53477.7833         nan   nan%   16    nan     60
-       Coinbase BTCNOK  52990.3500  54063.0600   2.0%   15    nan    nan
-        MiraiEx BTCNOK  52856.5300  54100.6000   2.3%   16    nan    nan
- BitcoinsNorway BTCUSD   6495.5300   6631.5400   2.1%   16    nan     60
-       Bitfinex BTCUSD   6590.6000   6590.7000   0.0%   16     23     57
-         Bitpay BTCUSD   6564.1300         nan   nan%   15    nan     60
-       Bitstamp BTCUSD   6561.1400   6565.6200   0.1%    0      2      1
-       Coinbase BTCUSD   6504.0600   6635.9700   2.0%   14    nan    117
-         Gemini BTCUSD   6567.1300   6573.0700   0.1%   16     89    nan
-         Hitbtc+BTCUSD   6592.6200   6594.2100   0.0%    0      0      0
-         Kraken BTCUSD   6565.2000   6570.9000   0.1%   15     17     58
-  Exchangerates EURNOK      9.4665      9.4665   0.0%   16 107789    nan
-     Norgesbank EURNOK      9.4665      9.4665   0.0%   16 107789    nan
-       Bitstamp EURUSD      1.1537      1.1593   0.5%    4      5      1
-  Exchangerates EURUSD      1.1576      1.1576   0.0%   16 107789    nan
- BitcoinsNorway LTCEUR      1.0000     49.0000  98.0%   16    nan    nan
- BitcoinsNorway LTCNOK    492.4800    503.7500   2.2%   16    nan     60
- BitcoinsNorway LTCUSD      1.0221     49.0000  97.9%   15    nan    nan
-     Norgesbank USDNOK      8.1777      8.1777   0.0%   16 107789    nan
-

- -

The code for this client is too complex for a simple blog post, so -you will have to check out the git repository to figure out how it -work. What I can tell is how the three last numbers on each line -should be interpreted. The first is how many seconds ago information -was received from the service. The second is how long ago, according -to the service, the provided information was updated. The last is an -estimate on how often the buy/sell values change.

- -

If you find this library useful, or would like to improve it, I -would love to hear from you. Note that for some of the services I've -implemented a trading API. It might be the topic of a future blog -post.

- -

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

-
-
- - - Tags: bitcoin, english. - - -
-
-
- -
-
VLC in Debian now can do bittorrent streaming
-
24th September 2018
-

Back in February, I got curious to see -if -VLC now supported Bittorrent streaming. It did not, despite the -fact that the idea and code to handle such streaming had been floating -around for years. I did however find -a standalone plugin -for VLC to do it, and half a year later I decided to wrap up the -plugin and get it into Debian. I uploaded it to NEW a few days ago, -and am very happy to report that it -entered -Debian a few hours ago, and should be available in Debian/Unstable -tomorrow, and Debian/Testing in a few days.

- -

With the vlc-plugin-bittorrent package installed you should be able -to stream videos using a simple call to

- -

-vlc https://archive.org/download/TheGoat/TheGoat_archive.torrent
-

- -

It can handle magnet links too. Now if only native vlc had -bittorrent support. Then a lot more would be helping each other to -share public domain and creative commons movies. The plugin need some -stability work with seeking and picking the right file in a torrent -with many files, but is already usable. Please note that the plugin -is not removing downloaded files when vlc is stopped, so it can fill -up your disk if you are not careful. Have fun. :)

- -

I would love to get help maintaining this package. Get in touch if -you are interested.

- -

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

-
-
- - - Tags: english, verkidetfri, video. - - -
-
-
- -
-
Using the Kodi API to play Youtube videos
-
2nd September 2018
-

I continue to explore my Kodi installation, and today I wanted to -tell it to play a youtube URL I received in a chat, without having to -insert search terms using the on-screen keyboard. After searching the -web for API access to the Youtube plugin and testing a bit, I managed -to find a recipe that worked. If you got a kodi instance with its API -available from http://kodihost/jsonrpc, you can try the following to -have check out a nice cover band.

- -

curl --silent --header 'Content-Type: application/json' \
-  --data-binary '{ "id": 1, "jsonrpc": "2.0", "method": "Player.Open",
-  "params": {"item": { "file":
-  "plugin://plugin.video.youtube/play/?video_id=LuRGVM9O0qg" } } }' \
-  http://projector.local/jsonrpc

- -

I've extended kodi-stream program to take a video source as its -first argument. It can now handle direct video links, youtube links -and 'desktop' to stream my desktop to Kodi. It is almost like a -Chromecast. :)

- -

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

-
-
- - - Tags: debian, english, kodi, video. - - -
-
-
- -
-
Software created using taxpayers’ money should be Free Software
-
30th August 2018
-

It might seem obvious that software created using tax money should -be available for everyone to use and improve. Free Software -Foundation Europe recentlystarted a campaign to help get more people -to understand this, and I just signed the petition on -Public Money, Public Code to help -them. I hope you too will do the same.

-
-
- - - Tags: english, opphavsrett. - - -
-
-
- -
-
A bit more on privacy respecting health monitor / fitness tracker
-
13th August 2018
-

A few days ago, I wondered if there are any privacy respecting -health monitors and/or fitness trackers available for sale these days. -I would like to buy one, but do not want to share my personal data -with strangers, nor be forced to have a mobile phone to get data out -of the unit. I've received some ideas, and would like to share them -with you. - -One interesting data point was a pointer to a Free Software app for -Android named -Gadgetbridge. -It provide cloudless collection and storing of data from a variety of -trackers. Its -list -of supported devices is a good indicator for units where the -protocol is fairly open, as it is obviously being handled by Free -Software. Other units are reportedly encrypting the collected -information with their own public key, making sure only the vendor -cloud service is able to extract data from the unit. The people -contacting me about Gadgetbirde said they were using -Amazfit -Bip and -Xiaomi -Band 3.

- -

I also got a suggestion to look at some of the units from Garmin. -I was told their GPS watches can be connected via USB and show up as a -USB storage device with -Garmin -FIT files containing the collected measurements. While -proprietary, FIT files apparently can be read at least by -GPSBabel and the -GpxPod Nextcloud -app. It is unclear to me if they can read step count and heart rate -data. The person I talked to was using a -Garmin Forerunner -935, which is a fairly expensive unit. I doubt it is worth it for -a unit where the vendor clearly is trying its best to move from open -to closed systems. I still remember when Garmin dropped NMEA support -in its GPSes.

- -

A final idea was to build ones own unit, perhaps by basing it on a -wearable hardware platforms like -the Flora Geo -Watch. Sound like fun, but I had more money than time to spend on -the topic, so I suspect it will have to wait for another time.

- -

While I was working on tracking down links, I came across an -inspiring TED talk by Dave Debronkart about -being a -e-patient, and discovered the web site -Participatory -Medicine. If you too want to track your own health and fitness -without having information about your private life floating around on -computers owned by others, I recommend checking it out.

- -

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

-
-
- - - Tags: english. - - -
-
-
-

RSS feed