]> pere.pagekite.me Git - homepage.git/blob - blog/index.rss
Generated.
[homepage.git] / blog / index.rss
1 <?xml version="1.0" encoding="utf-8"?>
2 <rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/' xmlns:atom="http://www.w3.org/2005/Atom">
3 <channel>
4 <title>Petter Reinholdtsen</title>
5 <description></description>
6 <link>http://people.skolelinux.org/pere/blog/</link>
7 <atom:link href="http://people.skolelinux.org/pere/blog/index.rss" rel="self" type="application/rss+xml" />
8
9 <item>
10 <title>Learn to program with Minetest on Debian</title>
11 <link>http://people.skolelinux.org/pere/blog/Learn_to_program_with_Minetest_on_Debian.html</link>
12 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Learn_to_program_with_Minetest_on_Debian.html</guid>
13 <pubDate>Sat, 15 Dec 2018 15:30:00 +0100</pubDate>
14 <description>&lt;p&gt;A fun way to learn how to program
15 &lt;a href=&quot;https://www.python.org/&quot;&gt;Python&lt;/a&gt; is to follow the
16 instructions in the book
17 &quot;&lt;a href=&quot;https://nostarch.com/programwithminecraft&quot;&gt;Learn to program
18 with Minecraft&lt;/a&gt;&quot;, which introduces programming in Python to people
19 who like to play with Minecraft. The book uses a Python library to
20 talk to a TCP/IP socket with an API accepting build instructions and
21 providing information about the current players in a Minecraft world.
22 The TCP/IP API was first created for the Minecraft implementation for
23 Raspberry Pi, and has since been ported to some server versions of
24 Minecraft. The book contain recipes for those using Windows, MacOSX
25 and Raspian. But a little known fact is that you can follow the same
26 recipes using the free software construction game
27 &lt;a href=&quot;https://minetest.net/&quot;&gt;Minetest&lt;/a&gt;.&lt;/p&gt;
28
29 &lt;p&gt;There is &lt;a href=&quot;https://github.com/sprintingkiwi/pycraft_mod&quot;&gt;a
30 Minetest module implementing the same API&lt;/a&gt;, making it possible to
31 use the Python programs coded to talk to Minecraft with Minetest too.
32 I
33 &lt;a href=&quot;https://ftp-master.debian.org/new/minetest-mod-pycraft_0.20%2Bgit20180331.0376a0a%2Bdfsg-1.html&quot;&gt;uploaded
34 this module&lt;/a&gt; to Debian two weeks ago, and as soon as it clears the
35 FTP masters NEW queue, learning to program Python with Minetest on
36 Debian will be a simple &#39;apt install&#39; away. The Debian package is
37 maintained as part of the Debian Games team, and
38 &lt;a href=&quot;https://salsa.debian.org/games-team/unfinished/minetest-mod-pycraft&quot;&gt;the
39 packaging rules&lt;/a&gt; are currently located under &#39;unfinished&#39; on
40 Salsa.&lt;/p&gt;
41
42 &lt;p&gt;You will most likely need to install several of the Minetest
43 modules in Debian for the examples included with the library to work
44 well, as there are several blocks used by the example scripts that are
45 provided via modules in Minetest. Without the required blocks, a
46 simple stone block is used instead. My initial testing with a analog
47 clock did not get gold arms as instructed in the python library, but
48 instead used stone arms.&lt;/p&gt;
49
50 &lt;p&gt;I tried to find a way to add the API to the desktop version of
51 Minecraft, but were unable to find any working recipes. The
52 &lt;a href=&quot;https://www.epiphanydigest.com/tag/minecraft-python-api/&quot;&gt;recipes&lt;/a&gt;
53 I &lt;a href=&quot;https://github.com/kbsriram/mcpiapi&quot;&gt;found&lt;/a&gt; are only
54 working with a standalone Minecraft server setup. Are there any
55 options to use with the normal desktop version?&lt;/p&gt;
56
57 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
58 activities, please send Bitcoin donations to my address
59 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
60 </description>
61 </item>
62
63 <item>
64 <title>Non-blocking bittorrent plugin for vlc</title>
65 <link>http://people.skolelinux.org/pere/blog/Non_blocking_bittorrent_plugin_for_vlc.html</link>
66 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Non_blocking_bittorrent_plugin_for_vlc.html</guid>
67 <pubDate>Wed, 12 Dec 2018 07:20:00 +0100</pubDate>
68 <description>&lt;p&gt;A few hours ago, a new and improved version (2.4) of
69 &lt;a href=&quot;https://tracker.debian.org/pkg/vlc-plugin-bittorrent&quot;&gt;the VLC
70 bittorrent plugin&lt;/a&gt; was uploaded to Debian. This new version
71 include a complete rewrite of the bittorrent related code, which seem
72 to make the plugin non-blocking. This mean you can actually exit VLC
73 even when the plugin seem to be unable to get the bittorrent streaming
74 started. The new version also include support for filtering playlist
75 by file extension using command line options, if you want to avoid
76 processing audio, video or images. The package is currently in Debian
77 unstable, but should be available in Debian testing in two days. To
78 test it, simply install it like this:&lt;/p&gt;
79
80 &lt;p&gt;&lt;pre&gt;
81 apt install vlc-plugin-bittorrent
82 &lt;/pre&gt;&lt;/p&gt;
83
84 &lt;p&gt;After it is installed, you can try to use it to play a file
85 downloaded live via bittorrent like this:
86
87 &lt;p&gt;&lt;pre&gt;
88 vlc https://archive.org/download/Glass_201703/Glass_201703_archive.torrent
89 &lt;/pre&gt;&lt;/p&gt;
90
91 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
92 activities, please send Bitcoin donations to my address
93 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
94 </description>
95 </item>
96
97 <item>
98 <title>Retten til kontant betaling er en rettighet som må brukes for å beholdes</title>
99 <link>http://people.skolelinux.org/pere/blog/Retten_til_kontant_betaling_er_en_rettighet_som_m__brukes_for___beholdes.html</link>
100 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Retten_til_kontant_betaling_er_en_rettighet_som_m__brukes_for___beholdes.html</guid>
101 <pubDate>Tue, 11 Dec 2018 10:00:00 +0100</pubDate>
102 <description>&lt;p&gt;&lt;a href=&quot;https://www.fn.no/Om-FN/Avtaler/Menneskerettigheter/FNs-verdenserklaering-om-menneskerettigheter&quot;&gt;FNs
103 menneskerettighetserklæring&lt;/a&gt; artikkel 13 første punkt lyder som
104 følger:&lt;/p&gt;
105
106 &lt;p&gt;&lt;blockquote&gt;
107 Enhver har rett til å bevege seg fritt og til fritt å velge
108 oppholdssted innenfor en stats grenser.
109 &lt;/blockquote&gt;&lt;/p&gt;
110
111 &lt;p&gt;Det er altså en menneskerett å kunne bevege seg fritt i landet.
112 For å bevege seg fritt i landet, så må en kunne bevege seg uten å bli
113 sporet. Det vil i dagens samfunn innebære å bevege seg uten å legge
114 igjen digitale spor og uten å være radiomerket. Hvis en vet at ens
115 bevegelser, hvor en befinner seg når, og hvem som befinner seg i
116 nærheten, blir samlet inn og gjort tilgjengelig for fremmede, det være
117 seg myndighetene eller private organisasjoner, så kan en ikke lenger
118 bevege seg fritt. Dette gjør at det er en forutsetning for å ha glede
119 av retten til å bevege seg fritt i landet at en motstår fristelsen til
120 å legge igjen digitale spor når en betaler for seg. Rettigheter som
121 ikke blir brukt, blir fjernet. Den eneste måten i dag å unngå å legge
122 igjen digitale spor når en betaler for seg, er å betale med kontanter,
123 samt takke nei til å legge igjen navn og adresse (slik f.eks. Elkjøp
124 ber om &amp;mdash; jeg sier de kan legge inn «anonym anonym» når
125 datasystemet deres trenger et navn). Personlig anbefaler jeg å
126 konsekvent bruke kontant betaling når man beveger seg rundt, for å
127 bidra til forsvaret av menneskerettighetene i Norge. Kanskje noe også
128 for deg? Merk at det ikke er tilstrekkelig for å unngå sporing å
129 betale med kontanter, men det er et lite steg i riktig retning.&lt;/p&gt;
130
131 &lt;p&gt;Det er flere andre argumenter i tillegg til
132 menneskerettighetsargumentet for å bruke kontanter. I går hadde
133 Dagbladet en utmerket kommentar av sin journalist John Olav Egeland om
134 hvilket
135 &lt;a href=&quot;https://www.dagbladet.no/kultur/kontantlost-diktatur/70543434&quot;&gt;kontantløst
136 diktatur&lt;/a&gt; som venter oss hvis mange nok slutter å insistere på å
137 betale med kontanter. Jeg anbefaler deg å lese den.&lt;/p&gt;
138
139 &lt;p&gt;Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
140 det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
141 til min adresse
142 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.
143 Merk, betaling med bitcoin er ikke anonymt. :)&lt;/p&gt;
144 </description>
145 </item>
146
147 <item>
148 <title>Why is your site not using Content Security Policy / CSP?</title>
149 <link>http://people.skolelinux.org/pere/blog/Why_is_your_site_not_using_Content_Security_Policy___CSP_.html</link>
150 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Why_is_your_site_not_using_Content_Security_Policy___CSP_.html</guid>
151 <pubDate>Sun, 9 Dec 2018 15:00:00 +0100</pubDate>
152 <description>&lt;p&gt;Yesterday, I had the pleasure of watching on Frikanalen the OWASP
153 talk by Scott Helme titled
154 &quot;&lt;a href=&quot;https://frikanalen.no/video/626080/&quot;&gt;What We’ve Learned From
155 Billions of Security Reports&lt;/a&gt;&quot;. I had not heard of the
156 &lt;a href=&quot;https://en.wikipedia.org/wiki/Content_Security_Policy&quot;&gt;Content
157 Security Policy standard&lt;/a&gt; nor its ability to &quot;call home&quot; when a
158 browser detect a policy breach (I do not follow web page design
159 development much these days), and found the talk very illuminating.&lt;/p&gt;
160
161 &lt;p&gt;The mechanism allow a web site owner to use HTTP headers to tell
162 visitors web browser which sources (internal and external) are allowed to
163 be used on the web site. Thus it become possible to enforce a &quot;only
164 local content&quot; policy despite web designers urge to fetch programs
165 from random sites on the Internet, like the one
166 &lt;a href=&quot;https://securityaffairs.co/wordpress/68966/hacking/browsealoud-plugin-hack.html&quot;&gt;enabling
167 the attack&lt;/a&gt; reported by Scott Helme earlier this year.&lt;/p&gt;
168
169 &lt;p&gt;Using CSP seem like an obvious thing for a site admin to implement
170 to take some control over the information leak that occur when
171 external sources are used to render web pages, it is a mystery more
172 sites are not using CSP? It is being
173 &lt;a href=&quot;https://www.w3.org/TR/CSP/&quot;&gt;standardized under W3C&lt;/a&gt; these
174 days, and is supposed by most web browsers&lt;/p&gt;
175
176 &lt;p&gt;I managed to find &lt;a href=&quot;https://github.com/mozilla/django-csp&quot;&gt;a
177 Django middleware for implementing CSP&lt;/a&gt; and was happy to discover
178 it was already in Debian. I plan to use it to add CSP support to the
179 Frikanalen web site soon.&lt;/p&gt;
180
181 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
182 activities, please send Bitcoin donations to my address
183 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
184 </description>
185 </item>
186
187 <item>
188 <title>New and improved Frikanalen Kodi addon version 0.0.3</title>
189 <link>http://people.skolelinux.org/pere/blog/New_and_improved_Frikanalen_Kodi_addon_version_0_0_3.html</link>
190 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/New_and_improved_Frikanalen_Kodi_addon_version_0_0_3.html</guid>
191 <pubDate>Thu, 8 Nov 2018 10:30:00 +0100</pubDate>
192 <description>&lt;p&gt;If you read my blog regularly, you probably know I am involved in
193 running and developing the &lt;a href=&quot;https://frikanalen.no/&quot;&gt;Norwegian
194 TV channel Frikanalen&lt;/a&gt;. It is an open channel, allowing everyone
195 in Norway to publish videos on a TV channel with national coverage.
196 You can think of it as Youtube for national television.
197 In addition to distribution on RiksTV and Uninett, Frikanalen is also
198 available as a Kodi addon. The last few days I have updated the code
199 to add more features. A
200 &lt;a href=&quot;https://kodi.tv/addon/plugins-video-add-ons/frikanalen-nett-tv&quot;&gt;new
201 and improved version 0.0.3 Frikanalen addon&lt;/a&gt; was just made
202 available via the Kodi repositories. This new version include a
203 option to browse videos by category, as well as free text search
204 in the video archive. It will now also show the video duration in the
205 video lists, which were missing earlier. A new and experimental
206 link to the HD video stream currently being worked on is provided, for
207 those that want to see what the &lt;a href=&quot;https://casparcg.com/&quot;&gt;CasparCG&lt;/a&gt;
208 output look like. The alternative is the SD video stream, generated
209 using MLT. CasparCG is controlled by our
210 &lt;a href=&quot;https://github.com/Frikanalen/mltplayout/&quot;&gt;mltplayout
211 server&lt;/a&gt; which instead of talking to mlt is giving PLAY instructions
212 to the CasparCG server when it is time to start a new program.&lt;/p&gt;
213
214 &lt;p&gt;By now, you are probably wondering what kind of content is being
215 played on the channel. These days, it is filled with technical
216 presentations like those from &lt;a href=&quot;https://www.nuug.no/&quot;&gt;NUUG&lt;/a&gt;,
217 &lt;a href=&quot;https://www.debconf.org/&quot;&gt;Debconf&lt;/a&gt;, Makercon, and TED,
218 but there are also some periods with
219 &lt;a href=&quot;https://www.empo.no/&quot;&gt;EMPT TV&lt;/a&gt; and
220 &lt;a href=&quot;https://www.p7.no/&quot;&gt;P7&lt;/a&gt;.
221
222 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
223 activities, please send Bitcoin donations to my address
224 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
225 </description>
226 </item>
227
228 <item>
229 <title>Time for an official MIME type for patches?</title>
230 <link>http://people.skolelinux.org/pere/blog/Time_for_an_official_MIME_type_for_patches_.html</link>
231 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Time_for_an_official_MIME_type_for_patches_.html</guid>
232 <pubDate>Thu, 1 Nov 2018 08:15:00 +0100</pubDate>
233 <description>&lt;p&gt;As part of my involvement in
234 &lt;a href=&quot;https://gitlab.com/OsloMet-ABI/nikita-noark5-core&quot;&gt;the Nikita
235 archive API project&lt;/a&gt;, I&#39;ve been importing a fairly large lump of
236 emails into a test instance of the archive to see how well this would
237 go. I picked a subset of &lt;a href=&quot;https://notmuchmail.org/&quot;&gt;my
238 notmuch email database&lt;/a&gt;, all public emails sent to me via
239 @lists.debian.org, giving me a set of around 216 000 emails to import.
240 In the process, I had a look at the various attachments included in
241 these emails, to figure out what to do with attachments, and noticed
242 that one of the most common attachment formats do not have
243 &lt;a href=&quot;https://www.iana.org/assignments/media-types/media-types.xhtml&quot;&gt;an
244 official MIME type&lt;/a&gt; registered with IANA/IETF. The output from
245 diff, ie the input for patch, is on the top 10 list of formats
246 included in these emails. At the moment people seem to use either
247 text/x-patch or text/x-diff, but neither is officially registered. It
248 would be better if one official MIME type were registered and used
249 everywhere.&lt;/p&gt;
250
251 &lt;p&gt;To try to get one official MIME type for these files, I&#39;ve brought
252 up the topic on
253 &lt;a href=&quot;https://www.ietf.org/mailman/listinfo/media-types&quot;&gt;the
254 media-types mailing list&lt;/a&gt;. If you are interested in discussion
255 which MIME type to use as the official for patch files, or involved in
256 making software using a MIME type for patches, perhaps you would like
257 to join the discussion?&lt;/p&gt;
258
259 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
260 activities, please send Bitcoin donations to my address
261 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
262 </description>
263 </item>
264
265 <item>
266 <title>Measuring the speaker frequency response using the AUDMES free software GUI - nice free software</title>
267 <link>http://people.skolelinux.org/pere/blog/Measuring_the_speaker_frequency_response_using_the_AUDMES_free_software_GUI___nice_free_software.html</link>
268 <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>
269 <pubDate>Mon, 22 Oct 2018 08:40:00 +0200</pubDate>
270 <description>&lt;p&gt;&lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/2018-10-22-audmes-measure-speakers.png&quot; align=&quot;right&quot; width=&quot;40%&quot;/&gt;&lt;/p&gt;
271
272 &lt;p&gt;My current home stereo is a patchwork of various pieces I got on
273 flee markeds over the years. It is amazing what kind of equipment
274 show up there. I&#39;ve been wondering for a while if it was possible to
275 measure how well this equipment is working together, and decided to
276 see how far I could get using free software. After trawling the web I
277 came across an article from DIY Audio and Video on
278 &lt;a href=&quot;https://www.diyaudioandvideo.com/Tutorial/SpeakerResponseTesting/&quot;&gt;Speaker
279 Testing and Analysis&lt;/a&gt; describing how to test speakers, and it listing
280 several software options, among them
281 &lt;a href=&quot;https://sourceforge.net/projects/audmes/&quot;&gt;AUDio MEasurement
282 System (AUDMES)&lt;/a&gt;. It is the only free software system I could find
283 focusing on measuring speakers and audio frequency response. In the
284 process I also found an interesting article from NOVO on
285 &lt;a href=&quot;http://novo.press/understanding-speaker-specifications-and-frequency-response/&quot;&gt;Understanding
286 Speaker Specifications and Frequency Response&lt;/a&gt; and an article from
287 ecoustics on
288 &lt;a href=&quot;https://www.ecoustics.com/articles/understanding-speaker-frequency-response/&quot;&gt;Understanding
289 Speaker Frequency Response&lt;/a&gt;, with a lot of information on what to
290 look for and how to interpret the graphs. Armed with this knowledge,
291 I set out to measure the state of my speakers.&lt;/p&gt;
292
293 &lt;p&gt;The first hurdle was that AUDMES hadn&#39;t seen a commit for 10 years
294 and did not build with current compilers and libraries. I got in
295 touch with its author, who no longer was spending time on the program
296 but gave me write access to the subversion repository on Sourceforge.
297 The end result is that now the code build on Linux and is capable of
298 saving and loading the collected frequency response data in CSV
299 format. The application is quite nice and flexible, and I was able to
300 select the input and output audio interfaces independently. This made
301 it possible to use a USB mixer as the input source, while sending
302 output via my laptop headphone connection. I lacked the hardware and
303 cabling to figure out a different way to get independent cabling to
304 speakers and microphone.&lt;/p&gt;
305
306 &lt;p&gt;Using this setup I could see how a large range of high frequencies
307 apparently were not making it out of my speakers. The picture show
308 the frequency response measurement of one of the speakers. Note the
309 frequency lines seem to be slightly misaligned, compared to the CSV
310 output from the program. I can not hear several of these are high
311 frequencies, according to measurement from
312 &lt;a href=&quot;http://freehearingtestsoftware.com&quot;&gt;Free Hearing Test
313 Software&lt;/a&gt;, an freeware system to measure your hearing (still
314 looking for a free software alternative), so I do not know if they are
315 coming out out the speakers. I thus do not quite know how to figure
316 out if the missing frequencies is a problem with the microphone, the
317 amplifier or the speakers, but I managed to rule out the audio card in my
318 PC by measuring my Bose noise canceling headset using its own
319 microphone. This setup was able to see the high frequency tones, so
320 the problem with my stereo had to be in the amplifier or speakers.&lt;/p&gt;
321
322 &lt;p&gt;Anyway, to try to role out one factor I ended up picking up a new
323 set of speakers at a flee marked, and these work a lot better than the
324 old speakers, so I guess the microphone and amplifier is OK. If you
325 need to measure your own speakers, check out AUDMES. If more people
326 get involved, perhaps the project could become good enough to
327 &lt;a href=&quot;https://bugs.debian.org/910876&quot;&gt;include in Debian&lt;/a&gt;? And if
328 you know of some other free software to measure speakers and amplifier
329 performance, please let me know. I am aware of the freeware option
330 &lt;a href=&quot;https://www.roomeqwizard.com/&quot;&gt;REW&lt;/a&gt;, but I want something
331 that can be developed also when the vendor looses interest.&lt;/p&gt;
332
333 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
334 activities, please send Bitcoin donations to my address
335 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
336 </description>
337 </item>
338
339 <item>
340 <title>Web browser integration of VLC with Bittorrent support</title>
341 <link>http://people.skolelinux.org/pere/blog/Web_browser_integration_of_VLC_with_Bittorrent_support.html</link>
342 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Web_browser_integration_of_VLC_with_Bittorrent_support.html</guid>
343 <pubDate>Sun, 21 Oct 2018 09:50:00 +0200</pubDate>
344 <description>&lt;p&gt;Bittorrent is as far as I know, currently the most efficient way to
345 distribute content on the Internet. It is used all by all sorts of
346 content providers, from national TV stations like
347 &lt;a href=&quot;https://www.nrk.no/&quot;&gt;NRK&lt;/a&gt;, Linux distributors like
348 &lt;a href=&quot;https://www.debian.org/&quot;&gt;Debian&lt;/a&gt; and
349 &lt;a href=&quot;https://www.ubuntu.com/&quot;&gt;Ubuntu&lt;/a&gt;, and of course the
350 &lt;a href=&quot;https://archive.org/&quot;&gt;Internet archive&lt;/A&gt;.
351
352 &lt;p&gt;Almost a month ago
353 &lt;a href=&quot;https://tracker.debian.org/pkg/vlc-plugin-bittorrent&quot;&gt;a new
354 package adding Bittorrent support to VLC&lt;/a&gt; became available in
355 Debian testing and unstable. To test it, simply install it like
356 this:&lt;/p&gt;
357
358 &lt;p&gt;&lt;pre&gt;
359 apt install vlc-plugin-bittorrent
360 &lt;/pre&gt;&lt;/p&gt;
361
362 &lt;p&gt;Since the plugin was made available for the first time in Debian,
363 several improvements have been made to it. In version 2.2-4, now
364 available in both testing and unstable, a desktop file is provided to
365 teach browsers to start VLC when the user click on torrent files or
366 magnet links. The last part is thanks to me finally understanding
367 what the strange x-scheme-handler style MIME types in desktop files
368 are used for. By adding x-scheme-handler/magnet to the MimeType entry
369 in the desktop file, at least the browsers Firefox and Chromium will
370 suggest to start VLC when selecting a magnet URI on a web page. The
371 end result is that now, with the plugin installed in Buster and Sid,
372 one can visit any
373 &lt;a href=&quot;https://archive.org/details/CopyingIsNotTheft1080p&quot;&gt;Internet
374 Archive page with movies&lt;/a&gt; using a web browser and click on the
375 torrent link to start streaming the movie.&lt;/p&gt;
376
377 &lt;p&gt;Note, there is still some misfeatures in the plugin. One is the
378 fact that it will hang and
379 &lt;a href=&quot;https://github.com/johang/vlc-bittorrent/issues/13&quot;&gt;block VLC
380 from exiting until the torrent streaming starts&lt;/a&gt;. Another is the
381 fact that it
382 &lt;a href=&quot;https://github.com/johang/vlc-bittorrent/issues/9&quot;&gt;will pick
383 and play a random file in a multi file torrent&lt;/a&gt;. This is not
384 always the video file you want. Combined with the first it can be a
385 bit hard to get the video streaming going. But when it work, it seem
386 to do a good job.&lt;/p&gt;
387
388 &lt;p&gt;For the Debian packaging, I would love to find a good way to test
389 if the plugin work with VLC using autopkgtest. I tried, but do not
390 know enough of the inner workings of VLC to get it working. For now
391 the autopkgtest script is only checking if the .so file was
392 successfully loaded by VLC. If you have any suggestions, please
393 submit a patch to the Debian bug tracking system.&lt;/p&gt;
394
395 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
396 activities, please send Bitcoin donations to my address
397 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
398 </description>
399 </item>
400
401 <item>
402 <title>Release 0.2 of free software archive system Nikita announced</title>
403 <link>http://people.skolelinux.org/pere/blog/Release_0_2_of_free_software_archive_system_Nikita_announced.html</link>
404 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Release_0_2_of_free_software_archive_system_Nikita_announced.html</guid>
405 <pubDate>Thu, 18 Oct 2018 14:40:00 +0200</pubDate>
406 <description>&lt;p&gt;This morning, the new release of the
407 &lt;a href=&quot;https://gitlab.com/OsloMet-ABI/nikita-noark5-core/&quot;&gt;Nikita
408 Noark 5 core project&lt;/a&gt; was
409 &lt;a href=&quot;https://lists.nuug.no/pipermail/nikita-noark/2018-October/000406.html&quot;&gt;announced
410 on the project mailing list&lt;/a&gt;. The free software solution is an
411 implementation of the Norwegian archive standard Noark 5 used by
412 government offices in Norway. These were the changes in version 0.2
413 since version 0.1.1 (from NEWS.md):
414
415 &lt;ul&gt;
416 &lt;li&gt;Fix typos in REL names&lt;/li&gt;
417 &lt;li&gt;Tidy up error message reporting&lt;/li&gt;
418 &lt;li&gt;Fix issue where we used Integer.valueOf(), not Integer.getInteger()&lt;/li&gt;
419 &lt;li&gt;Change some String handling to StringBuffer&lt;/li&gt;
420 &lt;li&gt;Fix error reporting&lt;/li&gt;
421 &lt;li&gt;Code tidy-up&lt;/li&gt;
422 &lt;li&gt;Fix issue using static non-synchronized SimpleDateFormat to avoid
423 race conditions&lt;/li&gt;
424 &lt;li&gt;Fix problem where deserialisers were treating integers as strings&lt;/li&gt;
425 &lt;li&gt;Update methods to make them null-safe&lt;/li&gt;
426 &lt;li&gt;Fix many issues reported by coverity&lt;/li&gt;
427 &lt;li&gt;Improve equals(), compareTo() and hash() in domain model&lt;/li&gt;
428 &lt;li&gt;Improvements to the domain model for metadata classes&lt;/li&gt;
429 &lt;li&gt;Fix CORS issues when downloading document&lt;/li&gt;
430 &lt;li&gt;Implementation of case-handling with registryEntry and document upload&lt;/li&gt;
431 &lt;li&gt;Better support in Javascript for OPTIONS&lt;/li&gt;
432 &lt;li&gt;Adding concept description of mail integration&lt;/li&gt;
433 &lt;li&gt;Improve setting of default values for GET on ny-journalpost&lt;/li&gt;
434 &lt;li&gt;Better handling of required values during deserialisation &lt;/li&gt;
435 &lt;li&gt;Changed tilknyttetDato (M620) from date to dateTime&lt;/li&gt;
436 &lt;li&gt;Corrected some opprettetDato (M600) (de)serialisation errors.&lt;/li&gt;
437 &lt;li&gt;Improve parse error reporting.&lt;/li&gt;
438 &lt;li&gt;Started on OData search and filtering.&lt;/li&gt;
439 &lt;li&gt;Added Contributor Covenant Code of Conduct to project.&lt;/li&gt;
440 &lt;li&gt;Moved repository and project from Github to Gitlab.&lt;/li&gt;
441 &lt;li&gt;Restructured repository, moved code into src/ and web/.&lt;/li&gt;
442 &lt;li&gt;Updated code to use Spring Boot version 2.&lt;/li&gt;
443 &lt;li&gt;Added support for OAuth2 authentication.&lt;/li&gt;
444 &lt;li&gt;Fixed several bugs discovered by Coverity.&lt;/li&gt;
445 &lt;li&gt;Corrected handling of date/datetime fields.&lt;/li&gt;
446 &lt;li&gt;Improved error reporting when rejecting during deserializatoin.&lt;/li&gt;
447 &lt;li&gt;Adjusted default values provided for ny-arkivdel, ny-mappe,
448 ny-saksmappe, ny-journalpost and ny-dokumentbeskrivelse.&lt;/li&gt;
449 &lt;li&gt;Several fixes for korrespondansepart*.&lt;/li&gt;
450 &lt;li&gt;Updated web GUI:
451 &lt;ul&gt;
452 &lt;li&gt;Now handle both file upload and download.&lt;/li&gt;
453 &lt;li&gt;Uses new OAuth2 authentication for login.&lt;/li&gt;
454 &lt;li&gt;Forms now fetches default values from API using GET.&lt;/li&gt;
455 &lt;li&gt;Added RFC 822 (email), TIFF and JPEG to list of possible file formats.&lt;/li&gt;
456 &lt;/ul&gt;&lt;/li&gt;
457 &lt;/ul&gt;
458
459 &lt;p&gt;The changes and improvements are extensive. Running diffstat on
460 the changes between git tab 0.1.1 and 0.2 show 1098 files changed,
461 108666 insertions(+), 54066 deletions(-).&lt;/p&gt;
462
463 &lt;p&gt;If free and open standardized archiving API sound interesting to
464 you, please contact us on IRC
465 (&lt;a href=&quot;irc://irc.freenode.net/%23nikita&quot;&gt;#nikita on
466 irc.freenode.net&lt;/a&gt;) or email
467 (&lt;a href=&quot;https://lists.nuug.no/mailman/listinfo/nikita-noark&quot;&gt;nikita-noark
468 mailing list&lt;/a&gt;).&lt;/p&gt;
469
470 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
471 activities, please send Bitcoin donations to my address
472 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
473 </description>
474 </item>
475
476 <item>
477 <title>Fetching trusted timestamps using the rfc3161ng python module</title>
478 <link>http://people.skolelinux.org/pere/blog/Fetching_trusted_timestamps_using_the_rfc3161ng_python_module.html</link>
479 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Fetching_trusted_timestamps_using_the_rfc3161ng_python_module.html</guid>
480 <pubDate>Mon, 8 Oct 2018 12:30:00 +0200</pubDate>
481 <description>&lt;p&gt;I have earlier covered the basics of trusted timestamping using the
482 &#39;openssl ts&#39; client. See blog post for
483 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Public_Trusted_Timestamping_services_for_everyone.html&quot;&gt;2014&lt;/a&gt;,
484 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/syslog_trusted_timestamp___chain_of_trusted_timestamps_for_your_syslog.html&quot;&gt;2016&lt;/a&gt;
485 and
486 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Idea_for_storing_trusted_timestamps_in_a_Noark_5_archive.html&quot;&gt;2017&lt;/a&gt;
487 for those stories. But some times I want to integrate the timestamping
488 in other code, and recently I needed to integrate it into Python.
489 After searching a bit, I found
490 &lt;a href=&quot;https://dev.entrouvert.org/projects/python-rfc3161&quot;&gt;the
491 rfc3161 library&lt;/a&gt; which seemed like a good fit, but I soon
492 discovered it only worked for python version 2, and I needed something
493 that work with python version 3. Luckily I next came across
494 &lt;a href=&quot;https://github.com/trbs/rfc3161ng/&quot;&gt;the rfc3161ng library&lt;/a&gt;,
495 a fork of the original rfc3161 library. Not only is it working with
496 python 3, it have fixed a few of the bugs in the original library, and
497 it has an active maintainer. I decided to wrap it up and make it
498 &lt;a href=&quot;https://tracker.debian.org/pkg/python-rfc3161ng&quot;&gt;available in
499 Debian&lt;/a&gt;, and a few days ago it entered Debian unstable and testing.&lt;/p&gt;
500
501 &lt;p&gt;Using the library is fairly straight forward. The only slightly
502 problematic step is to fetch the required certificates to verify the
503 timestamp. For some services it is straight forward, while for others
504 I have not yet figured out how to do it. Here is a small standalone
505 code example based on of the integration tests in the library code:&lt;/p&gt;
506
507 &lt;pre&gt;
508 #!/usr/bin/python3
509
510 &quot;&quot;&quot;
511
512 Python 3 script demonstrating how to use the rfc3161ng module to
513 get trusted timestamps.
514
515 The license of this code is the same as the license of the rfc3161ng
516 library, ie MIT/BSD.
517
518 &quot;&quot;&quot;
519
520 import os
521 import pyasn1.codec.der
522 import rfc3161ng
523 import subprocess
524 import tempfile
525 import urllib.request
526
527 def store(f, data):
528 f.write(data)
529 f.flush()
530 f.seek(0)
531
532 def fetch(url, f=None):
533 response = urllib.request.urlopen(url)
534 data = response.read()
535 if f:
536 store(f, data)
537 return data
538
539 def main():
540 with tempfile.NamedTemporaryFile() as cert_f,\
541 tempfile.NamedTemporaryFile() as ca_f,\
542 tempfile.NamedTemporaryFile() as msg_f,\
543 tempfile.NamedTemporaryFile() as tsr_f:
544
545 # First fetch certificates used by service
546 certificate_data = fetch(&#39;https://freetsa.org/files/tsa.crt&#39;, cert_f)
547 ca_data_data = fetch(&#39;https://freetsa.org/files/cacert.pem&#39;, ca_f)
548
549 # Then timestamp the message
550 timestamper = \
551 rfc3161ng.RemoteTimestamper(&#39;http://freetsa.org/tsr&#39;,
552 certificate=certificate_data)
553 data = b&quot;Python forever!\n&quot;
554 tsr = timestamper(data=data, return_tsr=True)
555
556 # Finally, convert message and response to something &#39;openssl ts&#39; can verify
557 store(msg_f, data)
558 store(tsr_f, pyasn1.codec.der.encoder.encode(tsr))
559 args = [&quot;openssl&quot;, &quot;ts&quot;, &quot;-verify&quot;,
560 &quot;-data&quot;, msg_f.name,
561 &quot;-in&quot;, tsr_f.name,
562 &quot;-CAfile&quot;, ca_f.name,
563 &quot;-untrusted&quot;, cert_f.name]
564 subprocess.check_call(args)
565
566 if &#39;__main__&#39; == __name__:
567 main()
568 &lt;/pre&gt;
569
570 &lt;p&gt;The code fetches the required certificates, store them as temporary
571 files, timestamp a simple message, store the message and timestamp to
572 disk and ask &#39;openssl ts&#39; to verify the timestamp. A timestamp is
573 around 1.5 kiB in size, and should be fairly easy to store for future
574 use.&lt;/p&gt;
575
576 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
577 activities, please send Bitcoin donations to my address
578 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
579 </description>
580 </item>
581
582 </channel>
583 </rss>