]> pere.pagekite.me Git - homepage.git/blob - blog/index.rss
New blog post on sales numbers.
[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>Release 0.1.1 of free software archive system Nikita announced</title>
11 <link>http://people.skolelinux.org/pere/blog/Release_0_1_1_of_free_software_archive_system_Nikita_announced.html</link>
12 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Release_0_1_1_of_free_software_archive_system_Nikita_announced.html</guid>
13 <pubDate>Sat, 10 Jun 2017 00:40:00 +0200</pubDate>
14 <description>&lt;p&gt;I am very happy to report that the
15 &lt;a href=&quot;https://github.com/hiOA-ABI/nikita-noark5-core&quot;&gt;Nikita Noark 5
16 core project&lt;/a&gt; tagged its second release today. The free software
17 solution is an implementation of the Norwegian archive standard Noark
18 5 used by government offices in Norway. These were the changes in
19 version 0.1.1 since version 0.1.0 (from NEWS.md):
20
21 &lt;ul&gt;
22
23 &lt;li&gt;Continued work on the angularjs GUI, including document upload.&lt;/li&gt;
24 &lt;li&gt;Implemented correspondencepartPerson, correspondencepartUnit and
25 correspondencepartInternal&lt;/li&gt;
26 &lt;li&gt;Applied for coverity coverage and started submitting code on
27 regualr basis.&lt;/li&gt;
28 &lt;li&gt;Started fixing bugs reported by coverity&lt;/li&gt;
29 &lt;li&gt;Corrected and completed HATEOAS links to make sure entire API is
30 available via URLs in _links.&lt;/li&gt;
31 &lt;li&gt;Corrected all relation URLs to use trailing slash.&lt;/li&gt;
32 &lt;li&gt;Add initial support for storing data in ElasticSearch.&lt;/li&gt;
33 &lt;li&gt;Now able to receive and store uploaded files in the archive.&lt;/li&gt;
34 &lt;li&gt;Changed JSON output for object lists to have relations in _links.&lt;/li&gt;
35 &lt;li&gt;Improve JSON output for empty object lists.&lt;/li&gt;
36 &lt;li&gt;Now uses correct MIME type application/vnd.noark5-v4+json.&lt;/li&gt;
37 &lt;li&gt;Added support for docker container images.&lt;/li&gt;
38 &lt;li&gt;Added simple API browser implemented in JavaScript/Angular.&lt;/li&gt;
39 &lt;li&gt;Started on archive client implemented in JavaScript/Angular.&lt;/li&gt;
40 &lt;li&gt;Started on prototype to show the public mail journal.&lt;/li&gt;
41 &lt;li&gt;Improved performance by disabling Sprint FileWatcher.&lt;/li&gt;
42 &lt;li&gt;Added support for &#39;arkivskaper&#39;, &#39;saksmappe&#39; and &#39;journalpost&#39;.&lt;/li&gt;
43 &lt;li&gt;Added support for some metadata codelists.&lt;/li&gt;
44 &lt;li&gt;Added support for Cross-origin resource sharing (CORS).&lt;/li&gt;
45 &lt;li&gt;Changed login method from Basic Auth to JSON Web Token (RFC 7519)
46 style.&lt;/li&gt;
47 &lt;li&gt;Added support for GET-ing ny-* URLs.&lt;/li&gt;
48 &lt;li&gt;Added support for modifying entities using PUT and eTag.&lt;/li&gt;
49 &lt;li&gt;Added support for returning XML output on request.&lt;/li&gt;
50 &lt;li&gt;Removed support for English field and class names, limiting ourself
51 to the official names.&lt;/li&gt;
52 &lt;li&gt;...&lt;/li&gt;
53
54 &lt;/ul&gt;
55
56 &lt;p&gt;If this sound interesting to you, please contact us on IRC (#nikita
57 on irc.freenode.net) or email
58 (&lt;a href=&quot;https://lists.nuug.no/mailman/listinfo/nikita-noark&quot;&gt;nikita-noark
59 mailing list).&lt;/p&gt;
60 </description>
61 </item>
62
63 <item>
64 <title>Idea for storing trusted timestamps in a Noark 5 archive</title>
65 <link>http://people.skolelinux.org/pere/blog/Idea_for_storing_trusted_timestamps_in_a_Noark_5_archive.html</link>
66 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Idea_for_storing_trusted_timestamps_in_a_Noark_5_archive.html</guid>
67 <pubDate>Wed, 7 Jun 2017 21:40:00 +0200</pubDate>
68 <description>&lt;p&gt;&lt;em&gt;This is a copy of
69 &lt;a href=&quot;https://lists.nuug.no/pipermail/nikita-noark/2017-June/000297.html&quot;&gt;an
70 email I posted to the nikita-noark mailing list&lt;/a&gt;. Please follow up
71 there if you would like to discuss this topic. The background is that
72 we are making a free software archive system based on the Norwegian
73 &lt;a href=&quot;https://www.arkivverket.no/forvaltning-og-utvikling/regelverk-og-standarder/noark-standarden&quot;&gt;Noark
74 5 standard&lt;/a&gt; for government archives.&lt;/em&gt;&lt;/p&gt;
75
76 &lt;p&gt;I&#39;ve been wondering a bit lately how trusted timestamps could be
77 stored in Noark 5.
78 &lt;a href=&quot;https://en.wikipedia.org/wiki/Trusted_timestamping&quot;&gt;Trusted
79 timestamps&lt;/a&gt; can be used to verify that some information
80 (document/file/checksum/metadata) have not been changed since a
81 specific time in the past. This is useful to verify the integrity of
82 the documents in the archive.&lt;/p&gt;
83
84 &lt;p&gt;Then it occured to me, perhaps the trusted timestamps could be
85 stored as dokument variants (ie dokumentobjekt referered to from
86 dokumentbeskrivelse) with the filename set to the hash it is
87 stamping?&lt;/p&gt;
88
89 &lt;p&gt;Given a &quot;dokumentbeskrivelse&quot; with an associated &quot;dokumentobjekt&quot;,
90 a new dokumentobjekt is associated with &quot;dokumentbeskrivelse&quot; with the
91 same attributes as the stamped dokumentobjekt except these
92 attributes:&lt;/p&gt;
93
94 &lt;ul&gt;
95
96 &lt;li&gt;format -&gt; &quot;RFC3161&quot;
97 &lt;li&gt;mimeType -&gt; &quot;application/timestamp-reply&quot;
98 &lt;li&gt;formatDetaljer -&gt; &quot;&amp;lt;source URL for timestamp service&amp;gt;&quot;
99 &lt;li&gt;filenavn -&gt; &quot;&amp;lt;sjekksum&amp;gt;.tsr&quot;
100
101 &lt;/ul&gt;
102
103 &lt;p&gt;This assume a service following
104 &lt;a href=&quot;https://tools.ietf.org/html/rfc3161&quot;&gt;IETF RFC 3161&lt;/a&gt; is
105 used, which specifiy the given MIME type for replies and the .tsr file
106 ending for the content of such trusted timestamp. As far as I can
107 tell from the Noark 5 specifications, it is OK to have several
108 variants/renderings of a dokument attached to a given
109 dokumentbeskrivelse objekt. It might be stretching it a bit to make
110 some of these variants represent crypto-signatures useful for
111 verifying the document integrity instead of representing the dokument
112 itself.&lt;/p&gt;
113
114 &lt;p&gt;Using the source of the service in formatDetaljer allow several
115 timestamping services to be used. This is useful to spread the risk
116 of key compromise over several organisations. It would only be a
117 problem to trust the timestamps if all of the organisations are
118 compromised.&lt;/p&gt;
119
120 &lt;p&gt;The following oneliner on Linux can be used to generate the tsr
121 file. $input is the path to the file to checksum, and $sha256 is the
122 SHA-256 checksum of the file (ie the &quot;&lt;sjekksum&gt;.tsr&quot; value mentioned
123 above).&lt;/p&gt;
124
125 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
126 openssl ts -query -data &quot;$inputfile&quot; -cert -sha256 -no_nonce \
127 | curl -s -H &quot;Content-Type: application/timestamp-query&quot; \
128 --data-binary &quot;@-&quot; http://zeitstempel.dfn.de &gt; $sha256.tsr
129 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
130
131 &lt;p&gt;To verify the timestamp, you first need to download the public key
132 of the trusted timestamp service, for example using this command:&lt;/p&gt;
133
134 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
135 wget -O ca-cert.txt \
136 https://pki.pca.dfn.de/global-services-ca/pub/cacert/chain.txt
137 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
138
139 &lt;p&gt;Note, the public key should be stored alongside the timestamps in
140 the archive to make sure it is also available 100 years from now. It
141 is probably a good idea to standardise how and were to store such
142 public keys, to make it easier to find for those trying to verify
143 documents 100 or 1000 years from now. :)&lt;/p&gt;
144
145 &lt;p&gt;The verification itself is a simple openssl command:&lt;/p&gt;
146
147 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
148 openssl ts -verify -data $inputfile -in $sha256.tsr \
149 -CAfile ca-cert.txt -text
150 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
151
152 &lt;p&gt;Is there any reason this approach would not work? Is it somehow against
153 the Noark 5 specification?&lt;/p&gt;
154 </description>
155 </item>
156
157 <item>
158 <title>Når nynorskoversettelsen svikter til eksamen...</title>
159 <link>http://people.skolelinux.org/pere/blog/N_r_nynorskoversettelsen_svikter_til_eksamen___.html</link>
160 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/N_r_nynorskoversettelsen_svikter_til_eksamen___.html</guid>
161 <pubDate>Sat, 3 Jun 2017 08:20:00 +0200</pubDate>
162 <description>&lt;p&gt;&lt;a href=&quot;http://www.aftenposten.no/norge/Krever-at-elever-ma-fa-annullert-eksamen-etter-rot-med-oppgavetekster-622459b.html&quot;&gt;Aftenposten
163 melder i dag&lt;/a&gt; om feil i eksamensoppgavene for eksamen i politikk og
164 menneskerettigheter, der teksten i bokmåls og nynorskutgaven ikke var
165 like. Oppgaveteksten er gjengitt i artikkelen, og jeg ble nysgjerring
166 på om den fri oversetterløsningen
167 &lt;a href=&quot;https://www.apertium.org/&quot;&gt;Apertium&lt;/a&gt; ville gjort en bedre
168 jobb enn Utdanningsdirektoratet. Det kan se slik ut.&lt;/p&gt;
169
170 &lt;p&gt;Her er bokmålsoppgaven fra eksamenen:&lt;/p&gt;
171
172 &lt;blockquote&gt;
173 &lt;p&gt;Drøft utfordringene knyttet til nasjonalstatenes og andre aktørers
174 rolle og muligheter til å håndtere internasjonale utfordringer, som
175 for eksempel flykningekrisen.&lt;/p&gt;
176
177 &lt;p&gt;Vedlegge er eksempler på tekster som kan gi relevante perspektiver
178 på temaet:&lt;/p&gt;
179 &lt;ol&gt;
180 &lt;li&gt;Flykningeregnskapet 2016, UNHCR og IDMC
181 &lt;li&gt;«Grenseløst Europa for fall» A-Magasinet, 26. november 2015
182 &lt;/ol&gt;
183
184 &lt;/blockquote&gt;
185
186 &lt;p&gt;Dette oversetter Apertium slik:&lt;/p&gt;
187
188 &lt;blockquote&gt;
189 &lt;p&gt;Drøft utfordringane knytte til nasjonalstatane sine og rolla til
190 andre aktørar og høve til å handtera internasjonale utfordringar, som
191 til dømes *flykningekrisen.&lt;/p&gt;
192
193 &lt;p&gt;Vedleggja er døme på tekster som kan gje relevante perspektiv på
194 temaet:&lt;/p&gt;
195
196 &lt;ol&gt;
197 &lt;li&gt;*Flykningeregnskapet 2016, *UNHCR og *IDMC&lt;/li&gt;
198 &lt;li&gt;«*Grenseløst Europa for fall» A-Magasinet, 26. november 2015&lt;/li&gt;
199 &lt;/ol&gt;
200
201 &lt;/blockquote&gt;
202
203 &lt;p&gt;Ord som ikke ble forstått er markert med stjerne (*), og trenger
204 ekstra språksjekk. Men ingen ord er forsvunnet, slik det var i
205 oppgaven elevene fikk presentert på eksamen. Jeg mistenker dog at
206 &quot;andre aktørers rolle og muligheter til ...&quot; burde vært oversatt til
207 &quot;rolla til andre aktørar og deira høve til ...&quot; eller noe slikt, men
208 det er kanskje flisespikking. Det understreker vel bare at det alltid
209 trengs korrekturlesning etter automatisk oversettelse.&lt;/p&gt;
210 </description>
211 </item>
212
213 <item>
214 <title>Epost inn som arkivformat i Riksarkivarens forskrift?</title>
215 <link>http://people.skolelinux.org/pere/blog/Epost_inn_som_arkivformat_i_Riksarkivarens_forskrift_.html</link>
216 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Epost_inn_som_arkivformat_i_Riksarkivarens_forskrift_.html</guid>
217 <pubDate>Thu, 27 Apr 2017 11:30:00 +0200</pubDate>
218 <description>&lt;p&gt;I disse dager, med frist 1. mai, har Riksarkivaren ute en høring på
219 sin forskrift. Som en kan se er det ikke mye tid igjen før fristen
220 som går ut på søndag. Denne forskriften er det som lister opp hvilke
221 formater det er greit å arkivere i
222 &lt;a href=&quot;http://www.arkivverket.no/arkivverket/Offentleg-forvalting/Noark/Noark-5&quot;&gt;Noark
223 5-løsninger&lt;/a&gt; i Norge.&lt;/p&gt;
224
225 &lt;p&gt;Jeg fant høringsdokumentene hos
226 &lt;a href=&quot;https://www.arkivrad.no/aktuelt/riksarkivarens-forskrift-pa-horing&quot;&gt;Norsk
227 Arkivråd&lt;/a&gt; etter å ha blitt tipset på epostlisten til
228 &lt;a href=&quot;https://github.com/hiOA-ABI/nikita-noark5-core&quot;&gt;fri
229 programvareprosjektet Nikita Noark5-Core&lt;/a&gt;, som lager et Noark 5
230 Tjenestegresesnitt. Jeg er involvert i Nikita-prosjektet og takket
231 være min interesse for tjenestegrensesnittsprosjektet har jeg lest en
232 god del Noark 5-relaterte dokumenter, og til min overraskelse oppdaget
233 at standard epost ikke er på listen over godkjente formater som kan
234 arkiveres. Høringen med frist søndag er en glimrende mulighet til å
235 forsøke å gjøre noe med det. Jeg holder på med
236 &lt;a href=&quot;https://github.com/petterreinholdtsen/noark5-tester/blob/master/docs/hoering-arkivforskrift.tex&quot;&gt;egen
237 høringsuttalelse&lt;/a&gt;, og lurer på om andre er interessert i å støtte
238 forslaget om å tillate arkivering av epost som epost i arkivet.&lt;/p&gt;
239
240 &lt;p&gt;Er du igang med å skrive egen høringsuttalelse allerede? I så fall
241 kan du jo vurdere å ta med en formulering om epost-lagring. Jeg tror
242 ikke det trengs så mye. Her et kort forslag til tekst:&lt;/p&gt;
243
244 &lt;p&gt;&lt;blockquote&gt;
245
246 &lt;p&gt;Viser til høring sendt ut 2017-02-17 (Riksarkivarens referanse
247 2016/9840 HELHJO), og tillater oss å sende inn noen innspill om
248 revisjon av Forskrift om utfyllende tekniske og arkivfaglige
249 bestemmelser om behandling av offentlige arkiver (Riksarkivarens
250 forskrift).&lt;/p&gt;
251
252 &lt;p&gt;Svært mye av vår kommuikasjon foregår i dag på e-post.  Vi
253 foreslår derfor at Internett-e-post, slik det er beskrevet i IETF
254 RFC 5322,
255 &lt;a href=&quot;https://tools.ietf.org/html/rfc5322&quot;&gt;https://tools.ietf.org/html/rfc5322&lt;/a&gt;. bør
256 inn som godkjent dokumentformat.  Vi foreslår at forskriftens
257 oversikt over godkjente dokumentformater ved innlevering i § 5-16
258 endres til å ta med Internett-e-post.&lt;/p&gt;
259
260 &lt;/blockquote&gt;&lt;/p&gt;
261
262 &lt;p&gt;Som del av arbeidet med tjenestegrensesnitt har vi testet hvordan
263 epost kan lagres i en Noark 5-struktur, og holder på å skrive et
264 forslag om hvordan dette kan gjøres som vil bli sendt over til
265 arkivverket så snart det er ferdig. De som er interesserte kan
266 &lt;a href=&quot;https://github.com/petterreinholdtsen/noark5-tester/blob/master/docs/epostlagring.md&quot;&gt;følge
267 fremdriften på web&lt;/a&gt;.&lt;/p&gt;
268
269 &lt;p&gt;Oppdatering 2017-04-28: I dag ble høringuttalelsen jeg skrev
270 &lt;a href=&quot;https://www.nuug.no/news/NUUGs_h_ringuttalelse_til_Riksarkivarens_forskrift.shtml&quot;&gt;sendt
271 inn av foreningen NUUG&lt;/a&gt;.&lt;/p&gt;
272 </description>
273 </item>
274
275 <item>
276 <title>Offentlig elektronisk postjournal blokkerer tilgang for utvalgte webklienter</title>
277 <link>http://people.skolelinux.org/pere/blog/Offentlig_elektronisk_postjournal_blokkerer_tilgang_for_utvalgte_webklienter.html</link>
278 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Offentlig_elektronisk_postjournal_blokkerer_tilgang_for_utvalgte_webklienter.html</guid>
279 <pubDate>Thu, 20 Apr 2017 13:00:00 +0200</pubDate>
280 <description>&lt;p&gt;Jeg oppdaget i dag at &lt;a href=&quot;https://www.oep.no/&quot;&gt;nettstedet som
281 publiserer offentlige postjournaler fra statlige etater&lt;/a&gt;, OEP, har
282 begynt å blokkerer enkelte typer webklienter fra å få tilgang. Vet
283 ikke hvor mange det gjelder, men det gjelder i hvert fall libwww-perl
284 og curl. For å teste selv, kjør følgende:&lt;/p&gt;
285
286 &lt;blockquote&gt;&lt;pre&gt;
287 % curl -v -s https://www.oep.no/pub/report.xhtml?reportId=3 2&gt;&amp;1 |grep &#39;&lt; HTTP&#39;
288 &lt; HTTP/1.1 404 Not Found
289 % curl -v -s --header &#39;User-Agent:Opera/12.0&#39; https://www.oep.no/pub/report.xhtml?reportId=3 2&gt;&amp;1 |grep &#39;&lt; HTTP&#39;
290 &lt; HTTP/1.1 200 OK
291 %
292 &lt;/pre&gt;&lt;/blockquote&gt;
293
294 &lt;p&gt;Her kan en se at tjenesten gir «404 Not Found» for curl i
295 standardoppsettet, mens den gir «200 OK» hvis curl hevder å være Opera
296 versjon 12.0. Offentlig elektronisk postjournal startet blokkeringen
297 2017-03-02.&lt;/p&gt;
298
299 &lt;p&gt;Blokkeringen vil gjøre det litt vanskeligere å maskinelt hente
300 informasjon fra oep.no. Kan blokkeringen være gjort for å hindre
301 automatisert innsamling av informasjon fra OEP, slik Pressens
302 Offentlighetsutvalg gjorde for å dokumentere hvordan departementene
303 hindrer innsyn i
304 &lt;a href=&quot;http://presse.no/dette-mener-np/undergraver-offentlighetsloven/&quot;&gt;rapporten
305 «Slik hindrer departementer innsyn» som ble publiserte i januar
306 2017&lt;/a&gt;. Det virker usannsynlig, da det jo er trivielt å bytte
307 User-Agent til noe nytt.&lt;/p&gt;
308
309 &lt;p&gt;Finnes det juridisk grunnlag for det offentlige å diskriminere
310 webklienter slik det gjøres her? Der tilgang gis eller ikke alt etter
311 hva klienten sier at den heter? Da OEP eies av DIFI og driftes av
312 Basefarm, finnes det kanskje noen dokumenter sendt mellom disse to
313 aktørene man kan be om innsyn i for å forstå hva som har skjedd. Men
314 &lt;a href=&quot;https://www.oep.no/search/result.html?period=dateRange&amp;fromDate=01.01.2016&amp;toDate=01.04.2017&amp;dateType=documentDate&amp;caseDescription=&amp;descType=both&amp;caseNumber=&amp;documentNumber=&amp;sender=basefarm&amp;senderType=both&amp;documentType=all&amp;legalAuthority=&amp;archiveCode=&amp;list2=196&amp;searchType=advanced&amp;Search=Search+in+records&quot;&gt;postjournalen
315 til DIFI viser kun to dokumenter&lt;/a&gt; det siste året mellom DIFI og
316 Basefarm.
317 &lt;a href=&quot;https://www.mimesbronn.no/request/blokkering_av_tilgang_til_oep_fo&quot;&gt;Mimes brønn neste&lt;/a&gt;,
318 tenker jeg.&lt;/p&gt;
319 </description>
320 </item>
321
322 <item>
323 <title>Free software archive system Nikita now able to store documents</title>
324 <link>http://people.skolelinux.org/pere/blog/Free_software_archive_system_Nikita_now_able_to_store_documents.html</link>
325 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Free_software_archive_system_Nikita_now_able_to_store_documents.html</guid>
326 <pubDate>Sun, 19 Mar 2017 08:00:00 +0100</pubDate>
327 <description>&lt;p&gt;The &lt;a href=&quot;https://github.com/hiOA-ABI/nikita-noark5-core&quot;&gt;Nikita
328 Noark 5 core project&lt;/a&gt; is implementing the Norwegian standard for
329 keeping an electronic archive of government documents.
330 &lt;a href=&quot;http://www.arkivverket.no/arkivverket/Offentlig-forvaltning/Noark/Noark-5/English-version&quot;&gt;The
331 Noark 5 standard&lt;/a&gt; document the requirement for data systems used by
332 the archives in the Norwegian government, and the Noark 5 web interface
333 specification document a REST web service for storing, searching and
334 retrieving documents and metadata in such archive. I&#39;ve been involved
335 in the project since a few weeks before Christmas, when the Norwegian
336 Unix User Group
337 &lt;a href=&quot;https://www.nuug.no/news/NOARK5_kjerne_som_fri_programvare_f_r_epostliste_hos_NUUG.shtml&quot;&gt;announced
338 it supported the project&lt;/a&gt;. I believe this is an important project,
339 and hope it can make it possible for the government archives in the
340 future to use free software to keep the archives we citizens depend
341 on. But as I do not hold such archive myself, personally my first use
342 case is to store and analyse public mail journal metadata published
343 from the government. I find it useful to have a clear use case in
344 mind when developing, to make sure the system scratches one of my
345 itches.&lt;/p&gt;
346
347 &lt;p&gt;If you would like to help make sure there is a free software
348 alternatives for the archives, please join our IRC channel
349 (&lt;a href=&quot;irc://irc.freenode.net/%23nikita&quot;&quot;&gt;#nikita on
350 irc.freenode.net&lt;/a&gt;) and
351 &lt;a href=&quot;https://lists.nuug.no/mailman/listinfo/nikita-noark&quot;&gt;the
352 project mailing list&lt;/a&gt;.&lt;/p&gt;
353
354 &lt;p&gt;When I got involved, the web service could store metadata about
355 documents. But a few weeks ago, a new milestone was reached when it
356 became possible to store full text documents too. Yesterday, I
357 completed an implementation of a command line tool
358 &lt;tt&gt;archive-pdf&lt;/tt&gt; to upload a PDF file to the archive using this
359 API. The tool is very simple at the moment, and find existing
360 &lt;a href=&quot;https://en.wikipedia.org/wiki/Fonds&quot;&gt;fonds&lt;/a&gt;, series and
361 files while asking the user to select which one to use if more than
362 one exist. Once a file is identified, the PDF is associated with the
363 file and uploaded, using the title extracted from the PDF itself. The
364 process is fairly similar to visiting the archive, opening a cabinet,
365 locating a file and storing a piece of paper in the archive. Here is
366 a test run directly after populating the database with test data using
367 our API tester:&lt;/p&gt;
368
369 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
370 ~/src//noark5-tester$ ./archive-pdf mangelmelding/mangler.pdf
371 using arkiv: Title of the test fonds created 2017-03-18T23:49:32.103446
372 using arkivdel: Title of the test series created 2017-03-18T23:49:32.103446
373
374 0 - Title of the test case file created 2017-03-18T23:49:32.103446
375 1 - Title of the test file created 2017-03-18T23:49:32.103446
376 Select which mappe you want (or search term): 0
377 Uploading mangelmelding/mangler.pdf
378 PDF title: Mangler i spesifikasjonsdokumentet for NOARK 5 Tjenestegrensesnitt
379 File 2017/1: Title of the test case file created 2017-03-18T23:49:32.103446
380 ~/src//noark5-tester$
381 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
382
383 &lt;p&gt;You can see here how the fonds (arkiv) and serie (arkivdel) only had
384 one option, while the user need to choose which file (mappe) to use
385 among the two created by the API tester. The &lt;tt&gt;archive-pdf&lt;/tt&gt;
386 tool can be found in the git repository for the API tester.&lt;/p&gt;
387
388 &lt;p&gt;In the project, I have been mostly working on
389 &lt;a href=&quot;https://github.com/petterreinholdtsen/noark5-tester&quot;&gt;the API
390 tester&lt;/a&gt; so far, while getting to know the code base. The API
391 tester currently use
392 &lt;a href=&quot;https://en.wikipedia.org/wiki/HATEOAS&quot;&gt;the HATEOAS links&lt;/a&gt;
393 to traverse the entire exposed service API and verify that the exposed
394 operations and objects match the specification, as well as trying to
395 create objects holding metadata and uploading a simple XML file to
396 store. The tester has proved very useful for finding flaws in our
397 implementation, as well as flaws in the reference site and the
398 specification.&lt;/p&gt;
399
400 &lt;p&gt;The test document I uploaded is a summary of all the specification
401 defects we have collected so far while implementing the web service.
402 There are several unclear and conflicting parts of the specification,
403 and we have
404 &lt;a href=&quot;https://github.com/petterreinholdtsen/noark5-tester/tree/master/mangelmelding&quot;&gt;started
405 writing down&lt;/a&gt; the questions we get from implementing it. We use a
406 format inspired by how &lt;a href=&quot;http://www.opengroup.org/austin/&quot;&gt;The
407 Austin Group&lt;/a&gt; collect defect reports for the POSIX standard with
408 &lt;a href=&quot;http://www.opengroup.org/austin/mantis.html&quot;&gt;their
409 instructions for the MANTIS defect tracker system&lt;/a&gt;, in lack of an official way to structure defect reports for Noark 5 (our first submitted defect report was a &lt;a href=&quot;https://github.com/petterreinholdtsen/noark5-tester/blob/master/mangelmelding/sendt/2017-03-15-mangel-prosess.md&quot;&gt;request for a procedure for submitting defect reports&lt;/a&gt; :).
410
411 &lt;p&gt;The Nikita project is implemented using Java and Spring, and is
412 fairly easy to get up and running using Docker containers for those
413 that want to test the current code base. The API tester is
414 implemented in Python.&lt;/p&gt;
415 </description>
416 </item>
417
418 <item>
419 <title>Detecting NFS hangs on Linux without hanging yourself...</title>
420 <link>http://people.skolelinux.org/pere/blog/Detecting_NFS_hangs_on_Linux_without_hanging_yourself___.html</link>
421 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Detecting_NFS_hangs_on_Linux_without_hanging_yourself___.html</guid>
422 <pubDate>Thu, 9 Mar 2017 15:20:00 +0100</pubDate>
423 <description>&lt;p&gt;Over the years, administrating thousand of NFS mounting linux
424 computers at the time, I often needed a way to detect if the machine
425 was experiencing NFS hang. If you try to use &lt;tt&gt;df&lt;/tt&gt; or look at a
426 file or directory affected by the hang, the process (and possibly the
427 shell) will hang too. So you want to be able to detect this without
428 risking the detection process getting stuck too. It has not been
429 obvious how to do this. When the hang has lasted a while, it is
430 possible to find messages like these in dmesg:&lt;/p&gt;
431
432 &lt;p&gt;&lt;blockquote&gt;
433 nfs: server nfsserver not responding, still trying
434 &lt;br&gt;nfs: server nfsserver OK
435 &lt;/blockquote&gt;&lt;/p&gt;
436
437 &lt;p&gt;It is hard to know if the hang is still going on, and it is hard to
438 be sure looking in dmesg is going to work. If there are lots of other
439 messages in dmesg the lines might have rotated out of site before they
440 are noticed.&lt;/p&gt;
441
442 &lt;p&gt;While reading through the nfs client implementation in linux kernel
443 code, I came across some statistics that seem to give a way to detect
444 it. The om_timeouts sunrpc value in the kernel will increase every
445 time the above log entry is inserted into dmesg. And after digging a
446 bit further, I discovered that this value show up in
447 /proc/self/mountstats on Linux.&lt;/p&gt;
448
449 &lt;p&gt;The mountstats content seem to be shared between files using the
450 same file system context, so it is enough to check one of the
451 mountstats files to get the state of the mount point for the machine.
452 I assume this will not show lazy umounted NFS points, nor NFS mount
453 points in a different process context (ie with a different filesystem
454 view), but that does not worry me.&lt;/p&gt;
455
456 &lt;p&gt;The content for a NFS mount point look similar to this:&lt;/p&gt;
457
458 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
459 [...]
460 device /dev/mapper/Debian-var mounted on /var with fstype ext3
461 device nfsserver:/mnt/nfsserver/home0 mounted on /mnt/nfsserver/home0 with fstype nfs statvers=1.1
462 opts: rw,vers=3,rsize=65536,wsize=65536,namlen=255,acregmin=3,acregmax=60,acdirmin=30,acdirmax=60,soft,nolock,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=129.240.3.145,mountvers=3,mountport=4048,mountproto=udp,local_lock=all
463 age: 7863311
464 caps: caps=0x3fe7,wtmult=4096,dtsize=8192,bsize=0,namlen=255
465 sec: flavor=1,pseudoflavor=1
466 events: 61063112 732346265 1028140 35486205 16220064 8162542 761447191 71714012 37189 3891185 45561809 110486139 4850138 420353 15449177 296502 52736725 13523379 0 52182 9016896 1231 0 0 0 0 0
467 bytes: 166253035039 219519120027 0 0 40783504807 185466229638 11677877 45561809
468 RPC iostats version: 1.0 p/v: 100003/3 (nfs)
469 xprt: tcp 925 1 6810 0 0 111505412 111480497 109 2672418560317 0 248 53869103 22481820
470 per-op statistics
471 NULL: 0 0 0 0 0 0 0 0
472 GETATTR: 61063106 61063108 0 9621383060 6839064400 453650 77291321 78926132
473 SETATTR: 463469 463470 0 92005440 66739536 63787 603235 687943
474 LOOKUP: 17021657 17021657 0 3354097764 4013442928 57216 35125459 35566511
475 ACCESS: 14281703 14290009 5 2318400592 1713803640 1709282 4865144 7130140
476 READLINK: 125 125 0 20472 18620 0 1112 1118
477 READ: 4214236 4214237 0 715608524 41328653212 89884 22622768 22806693
478 WRITE: 8479010 8494376 22 187695798568 1356087148 178264904 51506907 231671771
479 CREATE: 171708 171708 0 38084748 46702272 873 1041833 1050398
480 MKDIR: 3680 3680 0 773980 993920 26 23990 24245
481 SYMLINK: 903 903 0 233428 245488 6 5865 5917
482 MKNOD: 80 80 0 20148 21760 0 299 304
483 REMOVE: 429921 429921 0 79796004 61908192 3313 2710416 2741636
484 RMDIR: 3367 3367 0 645112 484848 22 5782 6002
485 RENAME: 466201 466201 0 130026184 121212260 7075 5935207 5961288
486 LINK: 289155 289155 0 72775556 67083960 2199 2565060 2585579
487 READDIR: 2933237 2933237 0 516506204 13973833412 10385 3190199 3297917
488 READDIRPLUS: 1652839 1652839 0 298640972 6895997744 84735 14307895 14448937
489 FSSTAT: 6144 6144 0 1010516 1032192 51 9654 10022
490 FSINFO: 2 2 0 232 328 0 1 1
491 PATHCONF: 1 1 0 116 140 0 0 0
492 COMMIT: 0 0 0 0 0 0 0 0
493
494 device binfmt_misc mounted on /proc/sys/fs/binfmt_misc with fstype binfmt_misc
495 [...]
496 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
497
498 &lt;p&gt;The key number to look at is the third number in the per-op list.
499 It is the number of NFS timeouts experiences per file system
500 operation. Here 22 write timeouts and 5 access timeouts. If these
501 numbers are increasing, I believe the machine is experiencing NFS
502 hang. Unfortunately the timeout value do not start to increase right
503 away. The NFS operations need to time out first, and this can take a
504 while. The exact timeout value depend on the setup. For example the
505 defaults for TCP and UDP mount points are quite different, and the
506 timeout value is affected by the soft, hard, timeo and retrans NFS
507 mount options.&lt;/p&gt;
508
509 &lt;p&gt;The only way I have been able to get working on Debian and RedHat
510 Enterprise Linux for getting the timeout count is to peek in /proc/.
511 But according to
512 &lt;ahref=&quot;http://docs.oracle.com/cd/E19253-01/816-4555/netmonitor-12/index.html&quot;&gt;Solaris
513 10 System Administration Guide: Network Services&lt;/a&gt;, the &#39;nfsstat -c&#39;
514 command can be used to get these timeout values. But this do not work
515 on Linux, as far as I can tell. I
516 &lt;ahref=&quot;http://bugs.debian.org/857043&quot;&gt;asked Debian about this&lt;/a&gt;,
517 but have not seen any replies yet.&lt;/p&gt;
518
519 &lt;p&gt;Is there a better way to figure out if a Linux NFS client is
520 experiencing NFS hangs? Is there a way to detect which processes are
521 affected? Is there a way to get the NFS mount going quickly once the
522 network problem causing the NFS hang has been cleared? I would very
523 much welcome some clues, as we regularly run into NFS hangs.&lt;/p&gt;
524 </description>
525 </item>
526
527 <item>
528 <title>How does it feel to be wiretapped, when you should be doing the wiretapping...</title>
529 <link>http://people.skolelinux.org/pere/blog/How_does_it_feel_to_be_wiretapped__when_you_should_be_doing_the_wiretapping___.html</link>
530 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/How_does_it_feel_to_be_wiretapped__when_you_should_be_doing_the_wiretapping___.html</guid>
531 <pubDate>Wed, 8 Mar 2017 11:50:00 +0100</pubDate>
532 <description>&lt;p&gt;So the new president in the United States of America claim to be
533 surprised to discover that he was wiretapped during the election
534 before he was elected president. He even claim this must be illegal.
535 Well, doh, if it is one thing the confirmations from Snowden
536 documented, it is that the entire population in USA is wiretapped, one
537 way or another. Of course the president candidates were wiretapped,
538 alongside the senators, judges and the rest of the people in USA.&lt;/p&gt;
539
540 &lt;p&gt;Next, the Federal Bureau of Investigation ask the Department of
541 Justice to go public rejecting the claims that Donald Trump was
542 wiretapped illegally. I fail to see the relevance, given that I am
543 sure the surveillance industry in USA believe they have all the legal
544 backing they need to conduct mass surveillance on the entire
545 world.&lt;/p&gt;
546
547 &lt;p&gt;There is even the director of the FBI stating that he never saw an
548 order requesting wiretapping of Donald Trump. That is not very
549 surprising, given how the FISA court work, with all its activity being
550 secret. Perhaps he only heard about it?&lt;/p&gt;
551
552 &lt;p&gt;What I find most sad in this story is how Norwegian journalists
553 present it. In a news reports the other day in the radio from the
554 Norwegian National broadcasting Company (NRK), I heard the journalist
555 claim that &#39;the FBI denies any wiretapping&#39;, while the reality is that
556 &#39;the FBI denies any illegal wiretapping&#39;. There is a fundamental and
557 important difference, and it make me sad that the journalists are
558 unable to grasp it.&lt;/p&gt;
559
560 &lt;p&gt;&lt;strong&gt;Update 2017-03-13:&lt;/strong&gt; Look like
561 &lt;a href=&quot;https://theintercept.com/2017/03/13/rand-paul-is-right-nsa-routinely-monitors-americans-communications-without-warrants/&quot;&gt;The
562 Intercept report that US Senator Rand Paul confirm what I state above&lt;/a&gt;.&lt;/p&gt;
563 </description>
564 </item>
565
566 <item>
567 <title>Norwegian Bokmål translation of The Debian Administrator&#39;s Handbook complete, proofreading in progress</title>
568 <link>http://people.skolelinux.org/pere/blog/Norwegian_Bokm_l_translation_of_The_Debian_Administrator_s_Handbook_complete__proofreading_in_progress.html</link>
569 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Norwegian_Bokm_l_translation_of_The_Debian_Administrator_s_Handbook_complete__proofreading_in_progress.html</guid>
570 <pubDate>Fri, 3 Mar 2017 14:50:00 +0100</pubDate>
571 <description>&lt;p&gt;For almost a year now, we have been working on making a Norwegian
572 Bokmål edition of &lt;a href=&quot;https://debian-handbook.info/&quot;&gt;The Debian
573 Administrator&#39;s Handbook&lt;/a&gt;. Now, thanks to the tireless effort of
574 Ole-Erik, Ingrid and Andreas, the initial translation is complete, and
575 we are working on the proof reading to ensure consistent language and
576 use of correct computer science terms. The plan is to make the book
577 available on paper, as well as in electronic form. For that to
578 happen, the proof reading must be completed and all the figures need
579 to be translated. If you want to help out, get in touch.&lt;/p&gt;
580
581 &lt;p&gt;&lt;a href=&quot;http://people.skolelinux.org/pere/debian-handbook/debian-handbook-nb-NO.pdf&quot;&gt;A
582
583 fresh PDF edition&lt;/a&gt; in A4 format (the final book will have smaller
584 pages) of the book created every morning is available for
585 proofreading. If you find any errors, please
586 &lt;a href=&quot;https://hosted.weblate.org/projects/debian-handbook/&quot;&gt;visit
587 Weblate and correct the error&lt;/a&gt;. The
588 &lt;a href=&quot;http://l.github.io/debian-handbook/stat/nb-NO/index.html&quot;&gt;state
589 of the translation including figures&lt;/a&gt; is a useful source for those
590 provide Norwegian bokmål screen shots and figures.&lt;/p&gt;
591 </description>
592 </item>
593
594 <item>
595 <title>Unlimited randomness with the ChaosKey?</title>
596 <link>http://people.skolelinux.org/pere/blog/Unlimited_randomness_with_the_ChaosKey_.html</link>
597 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Unlimited_randomness_with_the_ChaosKey_.html</guid>
598 <pubDate>Wed, 1 Mar 2017 20:50:00 +0100</pubDate>
599 <description>&lt;p&gt;A few days ago I ordered a small batch of
600 &lt;a href=&quot;http://altusmetrum.org/ChaosKey/&quot;&gt;the ChaosKey&lt;/a&gt;, a small
601 USB dongle for generating entropy created by Bdale Garbee and Keith
602 Packard. Yesterday it arrived, and I am very happy to report that it
603 work great! According to its designers, to get it to work out of the
604 box, you need the Linux kernel version 4.1 or later. I tested on a
605 Debian Stretch machine (kernel version 4.9), and there it worked just
606 fine, increasing the available entropy very quickly. I wrote a small
607 test oneliner to test. It first print the current entropy level,
608 drain /dev/random, and then print the entropy level for five seconds.
609 Here is the situation without the ChaosKey inserted:&lt;/p&gt;
610
611 &lt;blockquote&gt;&lt;pre&gt;
612 % cat /proc/sys/kernel/random/entropy_avail; \
613 dd bs=1M if=/dev/random of=/dev/null count=1; \
614 for n in $(seq 1 5); do \
615 cat /proc/sys/kernel/random/entropy_avail; \
616 sleep 1; \
617 done
618 300
619 0+1 oppføringer inn
620 0+1 oppføringer ut
621 28 byte kopiert, 0,000264565 s, 106 kB/s
622 4
623 8
624 12
625 17
626 21
627 %
628 &lt;/pre&gt;&lt;/blockquote&gt;
629
630 &lt;p&gt;The entropy level increases by 3-4 every second. In such case any
631 application requiring random bits (like a HTTPS enabled web server)
632 will halt and wait for more entrpy. And here is the situation with
633 the ChaosKey inserted:&lt;/p&gt;
634
635 &lt;blockquote&gt;&lt;pre&gt;
636 % cat /proc/sys/kernel/random/entropy_avail; \
637 dd bs=1M if=/dev/random of=/dev/null count=1; \
638 for n in $(seq 1 5); do \
639 cat /proc/sys/kernel/random/entropy_avail; \
640 sleep 1; \
641 done
642 1079
643 0+1 oppføringer inn
644 0+1 oppføringer ut
645 104 byte kopiert, 0,000487647 s, 213 kB/s
646 433
647 1028
648 1031
649 1035
650 1038
651 %
652 &lt;/pre&gt;&lt;/blockquote&gt;
653
654 &lt;p&gt;Quite the difference. :) I bought a few more than I need, in case
655 someone want to buy one here in Norway. :)&lt;/p&gt;
656
657 &lt;p&gt;Update: The dongle was presented at Debconf last year. You might
658 find &lt;a href=&quot;https://debconf16.debconf.org/talks/94/&quot;&gt;the talk
659 recording illuminating&lt;/a&gt;. It explains exactly what the source of
660 randomness is, if you are unable to spot it from the schema drawing
661 available from the ChaosKey web site linked at the start of this blog
662 post.&lt;/p&gt;
663 </description>
664 </item>
665
666 </channel>
667 </rss>