]> pere.pagekite.me Git - homepage.git/blob - blog/index.html
Add metadata.
[homepage.git] / blog / index.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
4 <head>
5 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
6 <title>Petter Reinholdtsen</title>
7 <link rel="stylesheet" type="text/css" media="screen" href="http://people.skolelinux.org/pere/blog/style.css" />
8 <link rel="stylesheet" type="text/css" media="screen" href="http://people.skolelinux.org/pere/blog/vim.css" />
9 <link rel="alternate" title="RSS Feed" href="http://people.skolelinux.org/pere/blog/index.rss" type="application/rss+xml" />
10 </head>
11 <body>
12 <div class="title">
13 <h1>
14 <a href="http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen</a>
15
16 </h1>
17
18 </div>
19
20
21
22 <div class="entry">
23 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Nikita_version_0_4_released___free_software_archive_API_server.html">Nikita version 0.4 released - free software archive API server</a></div>
24 <div class="date">22nd May 2019</div>
25 <div class="body"><p>This morning, a new release of
26 <a href="https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">Nikita
27 Noark 5 core project</a> was
28 <a href="https://lists.nuug.no/pipermail/nikita-noark/2019-May/000468.html">announced
29 on the project mailing list</a>. The Nikita free software solution is
30 an implementation of the Norwegian archive standard Noark 5 used by
31 government offices in Norway. These were the changes in version 0.4
32 since version 0.3, see the email link above for links to a demo site:</p>
33
34 <ul>
35
36 <li>Roll out OData handling to all endpoints where applicable</li>
37 <li>Changed the relation key for "ny-journalpost" to the official one.</li>
38 <li>Better link generation on outgoing links.</li>
39 <li>Tidy up code and make code and approaches more consistent throughout
40 the codebase</li>
41 <li>Update rels to be in compliance with updated version in the
42 interface standard</li>
43 <li>Avoid printing links on empty objects as they can't have links</li>
44 <li>Small bug fixes and improvements</li>
45 <li>Start moving generation of outgoing links to @Service layer so access
46 control can be used when generating links</li>
47 <li>Log exception that was being swallowed so it's traceable</li>
48 <li>Fix name mapping problem</li>
49 <li>Update templated printing so templated should only be printed if it
50 is set true. Requires more work to roll out across entire
51 application.</li>
52 <li>Remove Record->DocumentObject as per domain model of n5v4</li>
53 <li>Add ability to delete lists filtered with OData</li>
54 <li>Return NO_CONTENT (204) on delete as per interface standard</li>
55 <li>Introduce support for ConstraintViolationException exception</li>
56 <li>Make Service classes extend NoarkService</li>
57 <li>Make code base respect X-Forwarded-Host, X-Forwarded-Proto and
58 X-Forwarded-Port</li>
59 <li>Update CorrespondencePart* code to be more in line with Single
60 Responsibility Principle</li>
61 <li>Make package name follow directory structure</li>
62 <li>Make sure Document number starts at 1, not 0</li>
63 <li>Fix isues discovered by FindBugs</li>
64 <li>Update from Date to ZonedDateTime</li>
65 <li>Fix wrong tablename</li>
66 <li>Introduce Service layer tests</li>
67 <li>Improvements to CorrespondencePart</li>
68 <li>Continued work on Class / Classificationsystem</li>
69 <li>Fix feature where authors were stored as storageLocations</li>
70 <li>Update HQL builder for OData</li>
71 <li>Update OData search capability from webpage</li>
72
73 </ul>
74
75 <p>If free and open standardized archiving API sound interesting to
76 you, please contact us on IRC
77 (<a href="irc://irc.freenode.net/%23nikita">#nikita on
78 irc.freenode.net</a>) or email
79 (<a href="https://lists.nuug.no/mailman/listinfo/nikita-noark">nikita-noark
80 mailing list</a>).</p>
81
82 <p>As usual, if you use Bitcoin and want to show your support of my
83 activities, please send Bitcoin donations to my address
84 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
85 </div>
86 <div class="tags">
87
88
89 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/noark5">noark5</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>.
90
91
92 </div>
93 </div>
94 <div class="padding"></div>
95
96 <div class="entry">
97 <div class="title"><a href="http://people.skolelinux.org/pere/blog/MIME_type__text_vnd_sosi__for_SOSI_map_data.html">MIME type "text/vnd.sosi" for SOSI map data</a></div>
98 <div class="date">20th May 2019</div>
99 <div class="body"><p>As part of my involvement in the work to
100 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard">standardise
101 a REST based API for Noark 5</a>, the Norwegian archiving standard, I
102 spent some time the last few months to try to register a
103 <a href="https://www.iana.org/assignments/media-types/">MIME type</a>
104 and <a href="https://www.nationalarchives.gov.uk/PRONOM/">PRONOM
105 code</a> for the SOSI file format. The background is that there is a
106 set of formats approved for long term storage and archiving in Norway,
107 and among these formats, SOSI is the only format missing a MIME type
108 and PRONOM code.</p>
109
110 <p>What is SOSI, you might ask? To quote Wikipedia: SOSI is short for
111 Samordnet Opplegg for Stedfestet Informasjon (literally "Coordinated
112 Approach for Spatial Information", but more commonly expanded in
113 English to Systematic Organization of Spatial Information). It is a
114 text based file format for geo-spatial vector information used in
115 Norway. Information about the SOSI format can be found in English
116 from <a href="https://en.wikipedia.org/wiki/SOSI">Wikipedia</a>. The
117 specification is available in Norwegian from
118 <a href="https://www.kartverket.no/geodataarbeid/Standarder/SOSI/">the
119 Norwegian mapping authority</a>. The SOSI standard, which originated
120 in the beginning of nineteen eighties, was the inspiration and formed the
121 basis for the XML based
122 <a href="https://en.wikipedia.org/wiki/Geography_Markup_Language">Geography
123 Markup Language</a>.</p>
124
125 <p>I have so far written
126 <a href="https://github.com/file/file/pull/67">a pattern matching
127 rule</a> for the file(1) unix tool to recognize SOSI files, submitted
128 a request to the PRONOM project to have a PRONOM ID assigned to the
129 format (reference TNA1555078202S60), and today send a request to IANA
130 to register the "text/vnd.sosi" MIME type for this format (referanse
131 <a href="https://tools.iana.org/public-view/viewticket/1143144">IANA
132 #1143144</a>). If all goes well, in a few months, anyone implementing
133 the Noark 5 Tjenestegrensesnitt API spesification should be able to
134 use an official MIME type and PRONOM code for SOSI files. In
135 addition, anyone using SOSI files on Linux should be able to
136 automatically recognise the format and web sites handing out SOSI
137 files can begin providing a more specific MIME type. So far, SOSI
138 files has been handed out from web sites using the
139 "application/octet-stream" MIME type, which is just a nice way of
140 stating "I do not know". Soon, we will know. :)</p>
141
142 <p>As usual, if you use Bitcoin and want to show your support of my
143 activities, please send Bitcoin donations to my address
144 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
145 </div>
146 <div class="tags">
147
148
149 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/kart">kart</a>, <a href="http://people.skolelinux.org/pere/blog/tags/noark5">noark5</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>.
150
151
152 </div>
153 </div>
154 <div class="padding"></div>
155
156 <div class="entry">
157 <div class="title"><a href="http://people.skolelinux.org/pere/blog/PlantUML_for_text_based_UML_diagram_modelling___nice_free_software.html">PlantUML for text based UML diagram modelling - nice free software</a></div>
158 <div class="date">25th March 2019</div>
159 <div class="body"><p>As part of my involvement with the
160 <a href="https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">Nikita
161 Noark 5 core project</a>, I have been proposing improvements to the
162 API specification created by <a href="https://www.arkivverket.no/">The
163 National Archives of Norway</a> and helped migrating the text from a
164 version control system unfriendly binary format (docx) to Markdown in
165 git. Combined with the migration to a public git repository (on
166 github), this has made it possible for anyone to suggest improvement
167 to the text.</p>
168
169 <p>The specification is filled with UML diagrams. I believe the
170 original diagrams were modelled using Sparx Systems Enterprise
171 Architect, and exported as EMF files for import into docx. This
172 approach make it very hard to track changes using a version control
173 system. To improve the situation I have been looking for a good text
174 based UML format with associated command line free software tools on
175 Linux and Windows, to allow anyone to send in corrections to the UML
176 diagrams in the specification. The tool must be text based to work
177 with git, and command line to be able to run it automatically to
178 generate the diagram images. Finally, it must be free software to
179 allow anyone, even those that can not accept a non-free software
180 license, to contribute.</p>
181
182 <p>I did not know much about free software UML modelling tools when I
183 started. I have used dia and inkscape for simple modelling in the
184 past, but neither are available on Windows, as far as I could tell. I
185 came across a nice
186 <a href="https://modeling-languages.com/text-uml-tools-complete-list/">list
187 of text mode uml tools</a>, and tested out a few of the tools listed
188 there. <a href="http://plantuml.com/">The PlantUML tool</a> seemed
189 most promising. After verifying that the packages
190 <a href="https://tracker.debian.org/pkg/plantuml">is available in
191 Debian</a> and found <a href="https://github.com/plantuml/plantuml">its
192 Java source</a> under a GPL license on github, I set out to test if it
193 could represent the diagrams we needed, ie the ones currently in
194 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">the
195 Noark 5 Tjenestegrensesnitt specification</a>. I am happy to report
196 that it could represent them, even thought it have a few warts here
197 and there.</p>
198
199 <p>After a few days of modelling I completed the task this weekend. A
200 temporary link to the complete set of diagrams (original and from
201 PlantUML) is available in
202 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/76">the
203 github issue discussing the need for a text based UML format</a>, but
204 please note I lack a sensible tool to convert EMF files to PNGs, so
205 the "original" rendering is not as good as the original was in the
206 publised PDF.</p>
207
208 <p>Here is an example UML diagram, showing the core classes for
209 keeping metadata about archived documents:</p>
210
211 <pre>
212 @startuml
213 skinparam classAttributeIconSize 0
214
215 !include media/uml-class-arkivskaper.iuml
216 !include media/uml-class-arkiv.iuml
217 !include media/uml-class-klassifikasjonssystem.iuml
218 !include media/uml-class-klasse.iuml
219 !include media/uml-class-arkivdel.iuml
220 !include media/uml-class-mappe.iuml
221 !include media/uml-class-merknad.iuml
222 !include media/uml-class-registrering.iuml
223 !include media/uml-class-basisregistrering.iuml
224 !include media/uml-class-dokumentbeskrivelse.iuml
225 !include media/uml-class-dokumentobjekt.iuml
226 !include media/uml-class-konvertering.iuml
227 !include media/uml-datatype-elektronisksignatur.iuml
228
229 Arkivstruktur.Arkivskaper "+arkivskaper 1..*" <-o "+arkiv 0..*" Arkivstruktur.Arkiv
230 Arkivstruktur.Arkiv o--> "+underarkiv 0..*" Arkivstruktur.Arkiv
231 Arkivstruktur.Arkiv "+arkiv 1" o--> "+arkivdel 0..*" Arkivstruktur.Arkivdel
232 Arkivstruktur.Klassifikasjonssystem "+klassifikasjonssystem [0..1]" <--o "+arkivdel 1..*" Arkivstruktur.Arkivdel
233 Arkivstruktur.Klassifikasjonssystem "+klassifikasjonssystem [0..1]" o--> "+klasse 0..*" Arkivstruktur.Klasse
234 Arkivstruktur.Arkivdel "+arkivdel 0..1" o--> "+mappe 0..*" Arkivstruktur.Mappe
235 Arkivstruktur.Arkivdel "+arkivdel 0..1" o--> "+registrering 0..*" Arkivstruktur.Registrering
236 Arkivstruktur.Klasse "+klasse 0..1" o--> "+mappe 0..*" Arkivstruktur.Mappe
237 Arkivstruktur.Klasse "+klasse 0..1" o--> "+registrering 0..*" Arkivstruktur.Registrering
238 Arkivstruktur.Mappe --> "+undermappe 0..*" Arkivstruktur.Mappe
239 Arkivstruktur.Mappe "+mappe 0..1" o--> "+registrering 0..*" Arkivstruktur.Registrering
240 Arkivstruktur.Merknad "+merknad 0..*" <--* Arkivstruktur.Mappe
241 Arkivstruktur.Merknad "+merknad 0..*" <--* Arkivstruktur.Dokumentbeskrivelse
242 Arkivstruktur.Basisregistrering -|> Arkivstruktur.Registrering
243 Arkivstruktur.Merknad "+merknad 0..*" <--* Arkivstruktur.Basisregistrering
244 Arkivstruktur.Registrering "+registrering 1..*" o--> "+dokumentbeskrivelse 0..*" Arkivstruktur.Dokumentbeskrivelse
245 Arkivstruktur.Dokumentbeskrivelse "+dokumentbeskrivelse 1" o-> "+dokumentobjekt 0..*" Arkivstruktur.Dokumentobjekt
246 Arkivstruktur.Dokumentobjekt *-> "+konvertering 0..*" Arkivstruktur.Konvertering
247 Arkivstruktur.ElektroniskSignatur -[hidden]-> Arkivstruktur.Dokumentobjekt
248 @enduml
249 </pre>
250
251 <p><a href="http://plantuml.com/class-diagram">The format</a> is quite
252 compact, with little redundant information. The text expresses
253 entities and relations, and there is little layout related fluff. One
254 can reuse content by using include files, allowing for consistent
255 naming across several diagrams. The include files can be standalone
256 PlantUML too. Here is the content of
257 <tt>media/uml-class-arkivskaper.iuml<tt>:</p>
258
259 <pre>
260 @startuml
261 class Arkivstruktur.Arkivskaper <Arkivenhet> {
262 +arkivskaperID : string
263 +arkivskaperNavn : string
264 +beskrivelse : string [0..1]
265 }
266 @enduml
267 </pre>
268
269 <p>This is what the complete diagram for the PlantUML notation above
270 look like:</p>
271
272 <p><img width="80%" src="http://people.skolelinux.org/pere/blog/images/2019-03-25-noark5-plantuml-diagrameksempel.png"></p>
273
274 <p>A cool feature of PlantUML is that the generated PNG files include
275 the entire original source diagram as text. The source (with include
276 statements expanded) can be extracted using for example
277 <tt>exiftool</tt>. Another cool feature is that parts of the entities
278 can be hidden after inclusion. This allow to use include files with
279 all attributes listed, even for UML diagrams that should not list any
280 attributes.</p>
281
282 <p>The diagram also show some of the warts. Some times the layout
283 engine place text labels on top of each other, and some times it place
284 the class boxes too close to each other, not leaving room for the
285 labels on the relationship arrows. The former can be worked around by
286 placing extra newlines in the labes (ie "\n"). I did not do it here
287 to be able to demonstrate the issue. I have not found a good way
288 around the latter, so I normally try to reduce the problem by changing
289 from vertical to horizontal links to improve the layout.</p>
290
291 <p>All in all, I am quite happy with PlantUML, and very impressed with
292 how quickly its lead developer responds to questions. So far I got an
293 answer to my questions in a few hours when I send an email. I
294 definitely recommend looking at PlantUML if you need to make UML
295 diagrams. Note, PlantUML can draw a lot more than class relations.
296 Check out the documention for a complete list. :)</p>
297
298 <p>As usual, if you use Bitcoin and want to show your support of my
299 activities, please send Bitcoin donations to my address
300 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
301 </div>
302 <div class="tags">
303
304
305 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software</a>, <a href="http://people.skolelinux.org/pere/blog/tags/noark5">noark5</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>.
306
307
308 </div>
309 </div>
310 <div class="padding"></div>
311
312 <div class="entry">
313 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Release_0_3_of_free_software_archive_API_system_Nikita_announced.html">Release 0.3 of free software archive API system Nikita announced</a></div>
314 <div class="date">24th March 2019</div>
315 <div class="body"><p>Yesterday, a new release of
316 <a href="https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">Nikita
317 Noark 5 core project</a> was
318 <a href="https://lists.nuug.no/pipermail/nikita-noark/2019-March/000451.html">announced
319 on the project mailing list</a>. The free software solution is an
320 implementation of the Norwegian archive standard Noark 5 used by
321 government offices in Norway. These were the changes in version 0.3
322 since version 0.2.1 (from NEWS.md):</p>
323
324 <ul>
325 <li>Improved ClassificationSystem and Class behaviour.</li>
326 <li>Tidied up known inconsistencies between domain model and hateaos links.</li>
327 <li>Added experimental code for blockchain integration. </li>
328 <li>Make token expiry time configurable at upstart from properties file.</li>
329 <li>Continued work on OData search syntax.</li>
330 <li>Started work on pagination for entities, partly implemented for Saksmappe.</li>
331 <li>Finalise ClassifiedCode Metadata entity.</li>
332 <li>Implement mechanism to check if authentication token is still
333 valid. This allow the GUI to return a more sensible message to the
334 user if the token is expired.</li>
335 <li>Reintroduce browse.html page to allow user to browse JSON API using
336 hateoas links.</li>
337 <li>Fix bug in handling file/mappe sequence number. Year change was
338 not properly handled.</li>
339 <li>Update application yml files to be in sync with current development.</li>
340 <li>Stop 'converting' everything to PDF using libreoffice. Only
341 convert the file formats doc, ppt, xls, docx, pptx, xlsx, odt, odp
342 and ods.</li>
343 <li>Continued code style fixing, making code more readable.</li>
344 <li>Minor bug fixes.</li>
345
346 </ul>
347
348 <p>If free and open standardized archiving API sound interesting to
349 you, please contact us on IRC
350 (<a href="irc://irc.freenode.net/%23nikita">#nikita on
351 irc.freenode.net</a>) or email
352 (<a href="https://lists.nuug.no/mailman/listinfo/nikita-noark">nikita-noark
353 mailing list</a>).</p>
354
355 <p>As usual, if you use Bitcoin and want to show your support of my
356 activities, please send Bitcoin donations to my address
357 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
358 </div>
359 <div class="tags">
360
361
362 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/noark5">noark5</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>.
363
364
365 </div>
366 </div>
367 <div class="padding"></div>
368
369 <div class="entry">
370 <div class="title"><a href="http://people.skolelinux.org/pere/blog/_pen_og_gjennomsiktig_vedlikehold_av_spesifikasjonen_for_Noark_5_Tjenestegrensesnitt.html">Ã…pen og gjennomsiktig vedlikehold av spesifikasjonen for Noark 5 Tjenestegrensesnitt</a></div>
371 <div class="date">11th March 2019</div>
372 <div class="body"><p>Et virksomhetsarkiv for meg, er et arbeidsverktøy der en enkelt kan
373 finne informasjonen en trenger når en trenger det, og der
374 virksomhetens samlede kunnskap er tilgjengelig. Det må være greit å
375 finne frem i, litt som en bibliotek. Men der et bibliotek gjerne tar
376 vare på offentliggjort informasjon som er tilgjengelig flere steder,
377 tar et arkiv vare på virksomhetsintern og til tider personlig
378 informasjon som ofte kun er tilgjengelig fra et sted.</p>
379
380 <p>Jeg mistenker den eneste måten å sikre at arkivet inneholder den
381 samlede kunnskapen i en virksomhet, er å bruke det som virksomhetens
382 kunnskapslager. Det innebærer å automatisk kopiere (brev, epost,
383 SMS-er etc) inn i arkivet når de sendes og mottas, og der filtrere
384 vekk det en ikke vil ta vare på, og legge på metadata om det som er
385 samlet inn for enkel gjenfinning. En slik bruk av arkivet innebærer at
386 arkivet er en del av daglig virke, ikke at det er siste hvilested for
387 informasjon ingen lenger har daglig bruk for. For å kunne være en del
388 av det daglige virket må arkivet enkelt kunne integreres med andre
389 systemer. I disse dager betyr det å tilby arkivet som en
390 nett-tjeneste til hele virksomheten, tilgjengelig for både mennesker
391 og datamaskiner. Det betyr i tur å både tilby nettsider og et
392 maskinlesbart grensesnitt.</p>
393
394 <p>For noen år siden erkjente visjonære arkivarer fordelene med et
395 standardisert maskinlesbart grensesnitt til organisasjonens arkiv. De
396 gikk igang med å lage noe de kalte
397 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">Noark
398 5 Tjenestegrensesnitt</a>. Gjort riktig, så åpner slike maskinlesbare
399 grensesnitt for samvirke på tvers av uavhengige programvaresystemer.
400 Gjort feil, vil det blokkere for samvirke og bidra til
401 leverandørinnlåsing. For å gjøre det riktig så må grensesnittet være
402 klart og entydig beskrevet i en spesifikasjon som gjør at
403 spesifikasjonen tolkes på samme måte uavhengig av hvem som leser den,
404 og uavhengig av hvem som tar den i bruk.</p>
405
406 <p>For å oppnå klare og entydige beskrivelser i en spesifikasjon, som
407 trengs for å kunne få en fri og åpen standard (se
408 <a href="http://people.skolelinux.org/pere/blog/Fri_og__pen_standard__slik_Digistan_ser_det.html">Digistan-definisjon</a>),
409 så trengs det en åpen og gjennomsiktig inngangsport med lav terskel,
410 der de som forsøker å ta den i bruk enkelt kan få inn korreksjoner,
411 etterlyse klargjøringer og rapportere uklarheter i spesifikasjonen.
412 En trenger også automatiserte datasystemer som måler og sjekker at et
413 gitt grensesnitt fungerer i tråd med spesifikasjonen.</p>
414
415 <p>For Noark 5 Tjenestegrensesnittet er det nå etablert en slik åpen
416 og gjennomsiktig inngangsport på prosjekttjenesten github. Denne
417 inngangsporten består først og fremst av en åpen portal som lar enhver
418 se hva som er gjort av endringer i spesifikasjonsteksten over tid, men
419 det hører også med et åpent &quot;diskusjonsforum&quot; der en kan
420 komme med endringsforslag og forespørsler om klargjøringer. Alle
421 registrerte brukere på github kan bidra med innspill til disse
422 henvendelsene.</p>
423
424 <p>I samarbeide med Arkivverket har jeg fått opprettet et git-depot
425 med spesifikasjonsteksten for tjenestegrensesnittet, der det er lagt
426 inn historikk for endringer i teksten de siste årene, samt lagt inn
427 endringsforslag og forespørsler om klargjøring av teksten. Bakgrunnen
428 for at jeg bidro med dette er at jeg er involvert i
429 <a href="https://gitlab.com/OsloMet-ABI/nikita-noark5-core">Nikita-prosjektet</a>,
430 som lager en fri programvare-utgave av Noark 5 Tjenestegrensesnitt.
431 Det er først når en forsøker å lage noe i tråd med en spesifikasjon at
432 en oppdager hvor mange detaljer som må beskrives i spesifikasjonen for
433 å sikre samhandling.</p>
434
435 <p>Spesifikasjonen vedlikeholdes i et rent tekstformat, for å ha et
436 format egnet for versjonskontroll via versjontrollsystemet git. Dette
437 gjør det både enkelt å se konkret hvilke endringer som er gjort når,
438 samt gjør det praktisk mulig for enhver med github-konto å sende inn
439 endringsforslag med formuleringer til spesifikasjonsteksten. Dette
440 tekstformatet vises frem som nettsider på github, slik at en ikke
441 trenger spesielle verktøy for å se på siste utgave av
442 spesifikasjonen.</p>
443
444 <p>Fra dette rene tekstformatet kan det så avledes ulike formater, som
445 HTML for websider, PDF for utskrift på papir og ePub for lesing med
446 ebokleser. Avlednings-systemet (byggesystemet) bruker i dag
447 verktøyene pandoc, latex, docbook-xsl og GNU make til
448 transformasjonen. Tekstformatet som brukes dag er
449 <a href="https://www.markdownguide.org/">Markdown</a>, men det vurderes
450 å
451 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/9">endre
452 til formatet RST</a> i fremtiden for bedre styring av utseende på
453 PDF-utgaven.</p>
454
455 <p>Versjonskontrollsystemet git ble valgt da det er både fleksibelt,
456 avansert og enkelt å ta i bruk. Github ble valgt (foran f.eks. Gitlab
457 som vi bruker i Nikita), da Arkivverket allerede hadde tatt i bruk
458 Github i andre sammenhenger.</p>
459
460 <p>Enkle endringer i teksten kan gjøres av priviligerte brukere
461 direkte i nettsidene til Github, ved å finne aktuell fil som skal
462 endres (f.eks. kapitler/03-konformitet.md), klikke på den lille
463 bokstaven i høyre hjørne over teksten. Det kommer opp en nettside der
464 en kan endre teksten slik en ønsker. Når en er fornøyd med endringen
465 så må endringen &quot;sjekkes inn&quot; i historikken. Det gjøres ved
466 å gi en kort beskrivelse av endringen (beskriv helst hvorfor endringen
467 trengs, ikke hva som er endret), under overskriften &quot;Commit
468 changes&quot;. En kan og bør legge inn en lengre forklaring i det
469 større skrivefeltet, før en velger om endringen skal sendes direkte
470 til 'master'-grenen (dvs. autorativ utgave av spesifikasjonen) eller
471 om en skal lage en ny gren for denne endringen og opprette en
472 endringsforespørsel (aka &quot;Pull Request&quot;/PR). Når alt dette
473 er gjort kan en velge &quot;Commit changes&quot; for å sende inn
474 endringen. Hvis den er lagt inn i &quot;master&quot;-grenen så er den
475 en offisiell del av spesifikasjonen med en gang. Hvis den derimot er
476 en endringsforespørsel, så legges den inn i
477 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/pulls">listen
478 over forslag til endringer</a> som venter på korrekturlesing og
479 godkjenning.</p>
480
481 <p>Større endringer (for eksempel samtidig endringer i flere filer)
482 gjøres enklest ved å hente ned en kopi av git-depoet lokalt og gjøre
483 endringene der før endringsforslaget sendes inn. Denne prosessen er
484 godt beskrivet i dokumentasjon fra github. Git-prosjektet som skal
485 &quot;klones&quot; er
486 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/">https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/</a>.</p>
487
488 <p>For å registrere nye utfordringer (issues) eller kommentere på
489 eksisterende utfordringer benyttes nettsiden
490 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues">https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues</a>.
491 I skrivende stund er det 48 åpne og 11 avsluttede utfordringer. Et
492 forslag til hva som bør være med når en beskriver en utfordring er
493 tilgjengelig som utfordring
494 <a href="https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/14">#14</a>.</p>
495
496 <p>For å bygge en PDF-utgave av spesifikasjonen så bruker jeg i dag en
497 Debian GNU/Linux-maskin med en rekke programpakker installert. NÃ¥r
498 dette er på plass, så holder det å kjøre kommandoen 'make pdf html' på
499 kommandolinjen, vente ca. 20 sekunder, før spesifikasjon.pdf og
500 spesifikasjon.html ligger klar på disken. Verktøyene for bygging av
501 PDF, HTML og ePub-utgave er også tilgjengelig på Windows og
502 MacOSX.</p>
503
504 <p>Github bidrar med rammeverket. Men for at åpent vedlikehold av
505 spesifikasjonen skal fungere, så trengs det folk som bidrar med sin
506 tid og kunnskap. Arkivverket har sagt de skal bidra med innspill og
507 godkjenne forslag til endringer, men det blir størst suksess hvis alle
508 som bruker og lager systemer basert på Noark 5 Tjenestegrensesnitt
509 bidrar med sin kunnskap og kommer med forslag til forebedringer. Jeg
510 stiller. Blir du med?</p>
511
512 <p>Det er viktig å legge til rette for åpen diskusjon blant alle
513 interesserte, som ikke krever at en må godta lange kontrakter med
514 vilkår for deltagelse. Inntil Arkivverket dukker opp på IRC har vi
515 laget en IRC-kanal der interesserte enkelt kan orientere seg og
516 diskutere tjenestegrensesnittet. Alle er velkommen til å ta turen
517 innom
518 <a href="https://webchat.freenode.net/?channels=nikita">#nikita</a>
519 (f.eks. via irc.freenode.net) for å møte likesinnede.</p>
520
521 <p>Det holder dog ikke å ha en god spesifikasjon, hvis ikke de som tar
522 den i bruk gjør en like god jobb. For å automatisk teste om et konkret
523 tjenestegrensesnitt følger (min) forståelse av
524 spesifikasjonsdokumentet, har jeg skrevet et program som kobler seg
525 opp til et Noark 5v4 REST-tjeneste og tester alt den finner for å se
526 om det er i henhold til min tolkning av spesifikasjonen. Dette
527 verktøyet er tilgjengelig fra
528 <a href="https://github.com/petterreinholdtsen/noark5-tester">https://github.com/petterreinholdtsen/noark5-tester</a>,
529 og brukes daglig mens vi utvikler Nikita for å sikre at vi ikke
530 introduserer nye feil. Hvis en skal sikre samvirke på tvers av ulike
531 systemer er det helt essensielt å kunne raskt og automatisk sjekke at
532 tjenestegrensesnittet oppfører seg som forventet. Jeg håper andre som
533 lager sin utgave av tjenestegrensesnittet vi bruke dette verktøyet,
534 slik at vi tidlig og raskt kan oppdage hvor vi har tolket
535 spesifikasjonen ulikt, og dermed få et godt grunnlag for å gjøre
536 spesifikasjonsteksten enda klarere og bedre.</p>
537
538 <p>Dagens beskrivelse av Noark 5 Tjenestegrensesnitt er et svært godt
539 utgangspunkt for å gjøre virksomhetens arkiv til et dynamisk og
540 sentralt arbeidsverktøy i organisasjonen. Blir du med å gjøre den
541 enda bedre?</p>
542 </div>
543 <div class="tags">
544
545
546 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan</a>, <a href="http://people.skolelinux.org/pere/blog/tags/noark5">noark5</a>, <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>.
547
548
549 </div>
550 </div>
551 <div class="padding"></div>
552
553 <div class="entry">
554 <div class="title"><a href="http://people.skolelinux.org/pere/blog/D_rlig_med_sikkerhetsoppdateringer_for_Ruters_billettautomater_i_Oslo_.html">DÃ¥rlig med sikkerhetsoppdateringer for Ruters billettautomater i Oslo?</a></div>
555 <div class="date">13th February 2019</div>
556 <div class="body"><p><a href="http://people.skolelinux.org/pere/blog/Er_billettautomatene_til_kollektivtrafikken_i_Oslo_uten_sikkerhetsoppdateringer_.html">For
557 syv år siden</a> oppdaget jeg at billettautomater for
558 kollektivtrafikken i Oslo kjørte
559 <a href="http://en.wikipedia.org/wiki/Windows_2000">Windows 2000
560 Professional</a>. Operativsystemet har ikke fått sikkerhetsfikser fra
561 Microsoft siden 2010-07-13 i følge dem selv. Den samme versjonen av
562 operativsystemet var i bruk
563 <a href="http://people.skolelinux.org/pere/blog/Fortsatt_ingen_sikkerhetsoppdateringer_for_billettautomatene_til_kollektivtrafikken_i_Oslo_.html">for
564 to og et halvt år siden</a>, og jammen er det ikke også i bruk den dag
565 i dag:</p>
566
567 <p align="center"><a href="http://people.skolelinux.org/pere/blog/images/2019-02-13-ruter-win2000pro.jpeg"><img width="40%" src="http://people.skolelinux.org/pere/blog/images/2019-02-13-ruter-win2000pro.jpeg" alt="[Bilde av Ruters billettautomat med Windows 2000-feilmelding]"></a></p>
568
569 <p>Bildet er tatt i dag av Kirill Miazine og tilgjengelig for bruk med
570 bruksvilkårene til
571 <a href="http://creativecommons.org/licenses/by/4.0/">Creative
572 Commons Attribution 4.0 International (CC BY 4.0)</a>.</p>
573
574 <p>Kanskje det hadde vært
575 <a href="https://www.aftenposten.no/osloby/i/awqgO/Her-kjorer-du-gratis-trikk-og-buss">bedre
576 med gratis kollektivtrafikk</A>, slik at vi slapp å stole på
577 datakompetansen til Ruter for å verne våre privatliv samt holde
578 personopplysninger og betalingsinformasjon unna uvedkommende. Eneste
579 måten å sikre at hvor en befinner seg ikke kan hentes ut fra Ruters
580 systemer er å betale enkeltbilletter med kontanter. Jeg vet at Ruter
581 har en god historie om hvor personvernvennlige mobil-app og
582 RFID-kortene er, men den historien er ikke mulig å uavhengig
583 kontrollere uten priviligert tilgang til interne system og blir dermed
584 bare nok en god historie basert på tillit til de som forteller
585 historien. Det er ikke slik en sikrer privatsfæren. Det gjør en ved
586 å sikre at det ikke (kan) registreres informasjon om ens person.</p>
587
588 <p>Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
589 det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
590 til min adresse
591 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.
592 Merk, betaling med bitcoin er ikke anonymt. :)</p>
593 </div>
594 <div class="tags">
595
596
597 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/betalkontant">betalkontant</a>, <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>, <a href="http://people.skolelinux.org/pere/blog/tags/ruter">ruter</a>.
598
599
600 </div>
601 </div>
602 <div class="padding"></div>
603
604 <div class="entry">
605 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Stortinget_vedtar_maskinlesbart_register_over_20__av_selskapseierne_i_Norge.html">Stortinget vedtar maskinlesbart register over 20% av selskapseierne i Norge</a></div>
606 <div class="date"> 7th February 2019</div>
607 <div class="body"><p>Jeg registrerer med glede at Stortinget i dag har
608 <a href="https://www.stortinget.no/no/Saker-og-publikasjoner/Saker/Sak/?p=72826">vedtatt
609 at det skal vedlikeholdes et åpent og maskinlesbart register over
610 reelle rettighetshavere i Norge</a>. Her kan en kanskje få et
611 register som kan brukes til å analysere eierskap og kontroll i Norge
612 maskinelt og knytte det til internasjonale databaser som
613 <a href="https://opencorporates.com/">OpenCorporates</a>. Det liker
614 jeg.</p>
615
616 <p>Den vedtatte grense på 25 prosents eierandel fikk stor
617 oppmerksomhet i debatten. Jeg ser fra enkel analyse av skatteetatens
618 eierskapsregister at 80.4% av alle selskapseiere i registeret har
619 mindre enn 25% eierandel, mot 73.8% som har mindre enn 5% eierandel.
620 En grense på 25% vil altså utelukke 80.4% av selskapseierne fra det
621 vedtatte registeret, og en grense på 5% vil skjule 73.8%. En må helt
622 ned i registrering av eierandeler over circa 0.002% for å få mer enn
623 halvparten av selskapseierne i Norge. Mon tro hvor langt ned en må i
624 eierprosent for å få med alle eierskapene til politisk valgte
625 representanter?</p>
626
627 <p>Jeg biter meg også merke i at Sivert Bjørnstad fra FrP
628 tilsynelatende tror at aksjonærregisteret er et eksisterende åpent
629 register, på tross av at det så vidt jeg vet kun deles ved personlig
630 oppmøte hos skatteetaten og ikke er tilgjengelig i maskinlesbart
631 format for enhver, og dermed så langt ikke er importert inn i
632 OpenCorporates. Det anser jeg ikke for et spesielt åpent register.
633 Debatten ga ellers lite håp om at situasjonen bedrer seg, da
634 finansministeren bare henviste til en fraværende næringsministeren og
635 ikke ville uttale seg om et skikkelig aksjonærregister snart dukker
636 opp.</p>
637
638 <p>Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
639 det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
640 til min adresse
641 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.
642 Merk, betaling med bitcoin er ikke anonymt. :)</p>
643 </div>
644 <div class="tags">
645
646
647 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>, <a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn</a>.
648
649
650 </div>
651 </div>
652 <div class="padding"></div>
653
654 <div class="entry">
655 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Websocket_from_Kraken_in_Valutakrambod.html">Websocket from Kraken in Valutakrambod</a></div>
656 <div class="date"> 1st February 2019</div>
657 <div class="body"><p>Yesterday, the Kraken virtual currency exchange announced
658 <a href="https://blog.kraken.com/post/2019/websockets-public-api-launching-soon/">their
659 Websocket service</a>, providing a stream of exchange updates to its
660 clients. Getting updated rates quickly is a good idea, so I used
661 their <a href="https://www.kraken.com/en-us/help/websocket-api">API
662 documentation</a> and added Websocket support to the Kraken service in
663 Valutakrambod today. The python library can now get updates
664 from Kraken several times per second, instead of every time the
665 information is polled from the REST API.</p>
666
667 <p>If this sound interesting to you, the code for valutakrambod is
668 available from
669 <a href="http://github.com/petterreinholdtsen/valutakrambod">github</a>.
670 Here is example output from the example client displaying rates in a
671 curses view:</p>
672
673 <p><blockquote><pre>
674 Name Pair Bid Ask Spr Ftcd Age
675 BitcoinsNorway BTCEUR 2959.2800 3021.0500 2.0% 36 nan nan
676 Bitfinex BTCEUR 3087.9000 3088.0000 0.0% 36 37 nan
677 Bitmynt BTCEUR 3001.8700 3135.4600 4.3% 36 52 nan
678 Bitpay BTCEUR 3003.8659 nan nan% 35 nan nan
679 Bitstamp BTCEUR 3008.0000 3010.2300 0.1% 0 1 1
680 Bl3p BTCEUR 3000.6700 3010.9300 0.3% 1 nan nan
681 Coinbase BTCEUR 2992.1800 3023.2500 1.0% 34 nan nan
682 Kraken+BTCEUR 3005.7000 3006.6000 0.0% 0 1 0
683 Paymium BTCEUR 2940.0100 2993.4400 1.8% 0 2688 nan
684 BitcoinsNorway BTCNOK 29000.0000 29360.7400 1.2% 36 nan nan
685 Bitmynt BTCNOK 29115.6400 29720.7500 2.0% 36 52 nan
686 Bitpay BTCNOK 29029.2512 nan nan% 36 nan nan
687 Coinbase BTCNOK 28927.6000 29218.5900 1.0% 35 nan nan
688 MiraiEx BTCNOK 29097.7000 29741.4200 2.2% 36 nan nan
689 BitcoinsNorway BTCUSD 3385.4200 3456.0900 2.0% 36 nan nan
690 Bitfinex BTCUSD 3538.5000 3538.6000 0.0% 36 45 nan
691 Bitpay BTCUSD 3443.4600 nan nan% 34 nan nan
692 Bitstamp BTCUSD 3443.0100 3445.0500 0.1% 0 2 1
693 Coinbase BTCUSD 3428.1600 3462.6300 1.0% 33 nan nan
694 Gemini BTCUSD 3445.8800 3445.8900 0.0% 36 326 nan
695 Hitbtc BTCUSD 3473.4700 3473.0700 -0.0% 0 0 0
696 Kraken+BTCUSD 3444.4000 3445.6000 0.0% 0 1 0
697 Exchangerates EURNOK 9.6685 9.6685 0.0% 36 22226 nan
698 Norgesbank EURNOK 9.6685 9.6685 0.0% 36 22226 nan
699 Bitstamp EURUSD 1.1440 1.1462 0.2% 0 1 2
700 Exchangerates EURUSD 1.1471 1.1471 0.0% 36 22226 nan
701 BitcoinsNorway LTCEUR 1.0009 22.6538 95.6% 35 nan nan
702 BitcoinsNorway LTCNOK 259.0900 264.9300 2.2% 35 nan nan
703 BitcoinsNorway LTCUSD 0.0000 29.0000 100.0% 35 nan nan
704 Norgesbank USDNOK 8.4286 8.4286 0.0% 36 22226 nan
705 </pre></blockquote></p>
706
707 <p>Yes, I notice the strange negative spread on Hitbtc. I've seen the
708 same on Kraken. Another strange observation is that Kraken some times
709 announce trade orders a fraction of a second in the future. I really
710 wonder what is going on there.</p>
711
712 <p>As usual, if you use Bitcoin and want to show your support of my
713 activities, please send Bitcoin donations to my address
714 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
715 </div>
716 <div class="tags">
717
718
719 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
720
721
722 </div>
723 </div>
724 <div class="padding"></div>
725
726 <div class="entry">
727 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Strategispillet_Unknown_Horizons_n__tilgjengelig_p__bokm_l.html">Strategispillet Unknown Horizons nå tilgjengelig på bokmål</a></div>
728 <div class="date">23rd January 2019</div>
729 <div class="body"><p>I høst ble jeg inspirert til å bidra til oversettelsen av
730 <a href="http://unknown-horizons.org/">strategispillet Unknown
731 Horizons</a>, og oversatte de nesten 200 strengene i prosjektet til
732 bokmål. Deretter har jeg gått å ventet på at det kom en ny utgave som
733 inneholdt disse oversettelsene. NÃ¥ er endelig ventetiden over. Den
734 nye versjonen kom på nyåret, og ble
735 <a href="https://tracker.debian.org/pkg/unknown-horizons">lastet opp i
736 Debian</a> for noen få dager siden. I går kveld fikk jeg testet det ut, og
737 må innrømme at oversettelsene fungerer fint. Fant noen få tekster som
738 måtte justeres, men ikke noe alvorlig. Har oppdatert
739 <a href="https://hosted.weblate.org/projects/uh/">oversettelsen på
740 Weblate</a>, slik at neste utgave vil være enda bedre. :)</p>
741
742 <p>Spillet er et ressursstyringsspill ala Civilization, og er morsomt
743 å spille for oss som liker slikt. :)</p>
744
745 <p>Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
746 det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
747 til min adresse
748 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.
749 Merk, betaling med bitcoin er ikke anonymt. :)</p>
750 </div>
751 <div class="tags">
752
753
754 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>.
755
756
757 </div>
758 </div>
759 <div class="padding"></div>
760
761 <div class="entry">
762 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Debian_now_got_everything_you_need_to_program_Micro_bit.html">Debian now got everything you need to program Micro:bit</a></div>
763 <div class="date">22nd January 2019</div>
764 <div class="body"><p>I am amazed and very pleased to discover that since a few days ago,
765 everything you need to program the <a href="https://microbit.org/">BBC
766 micro:bit</a> is available from the Debian archive. All this is
767 thanks to the hard work of Nick Morrott and the Debian python
768 packaging team. The micro:bit project recommend the mu-editor to
769 program the microcomputer, as this editor will take care of all the
770 machinery required to injekt/flash micropython alongside the program
771 into the micro:bit, as long as the pieces are available.</p>
772
773 <p>There are three main pieces involved. The first to enter Debian
774 was
775 <a href="https://tracker.debian.org/pkg/python-uflash">python-uflash</a>,
776 which was accepted into the archive 2019-01-12. The next one was
777 <a href="https://tracker.debian.org/pkg/mu-editor">mu-editor</a>, which
778 showed up 2019-01-13. The final and hardest part to to into the
779 archive was
780 <a href="https://tracker.debian.org/pkg/firmware-microbit-micropython">firmware-microbit-micropython</a>,
781 which needed to get its build system and dependencies into Debian
782 before it was accepted 2019-01-20. The last one is already in Debian
783 Unstable and should enter Debian Testing / Buster in three days. This
784 all allow any user of the micro:bit to get going by simply running
785 'apt install mu-editor' when using Testing or Unstable, and once
786 Buster is released as stable, all the users of Debian stable will be
787 catered for.</p>
788
789 <p>As a minor final touch, I added rules to
790 <a href="https://tracker.debian.org/pkg/isenkram">the isenkram
791 package</a> for recognizing micro:bit and recommend the mu-editor
792 package. This make sure any user of the isenkram desktop daemon will
793 get a popup suggesting to install mu-editor then the USB cable from
794 the micro:bit is inserted for the first time.</p>
795
796 <p>This should make it easier to have fun.</p>
797
798 <p>As usual, if you use Bitcoin and want to show your support of my
799 activities, please send Bitcoin donations to my address
800 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
801 </div>
802 <div class="tags">
803
804
805 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/robot">robot</a>.
806
807
808 </div>
809 </div>
810 <div class="padding"></div>
811
812 <p style="text-align: right;"><a href="index.rss"><img src="http://people.skolelinux.org/pere/blog/xml.gif" alt="RSS feed" width="36" height="14" /></a></p>
813 <div id="sidebar">
814
815
816
817 <h2>Archive</h2>
818 <ul>
819
820 <li>2019
821 <ul>
822
823 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/01/">January (4)</a></li>
824
825 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/02/">February (3)</a></li>
826
827 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/03/">March (3)</a></li>
828
829 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/05/">May (2)</a></li>
830
831 </ul></li>
832
833 <li>2018
834 <ul>
835
836 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/01/">January (1)</a></li>
837
838 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/02/">February (5)</a></li>
839
840 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/03/">March (5)</a></li>
841
842 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/04/">April (3)</a></li>
843
844 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/06/">June (2)</a></li>
845
846 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/07/">July (5)</a></li>
847
848 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/08/">August (3)</a></li>
849
850 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/09/">September (3)</a></li>
851
852 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/10/">October (5)</a></li>
853
854 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/11/">November (2)</a></li>
855
856 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/12/">December (4)</a></li>
857
858 </ul></li>
859
860 <li>2017
861 <ul>
862
863 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/01/">January (4)</a></li>
864
865 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/02/">February (3)</a></li>
866
867 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/03/">March (5)</a></li>
868
869 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/04/">April (2)</a></li>
870
871 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/06/">June (5)</a></li>
872
873 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/07/">July (1)</a></li>
874
875 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/08/">August (1)</a></li>
876
877 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/09/">September (3)</a></li>
878
879 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/10/">October (5)</a></li>
880
881 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/11/">November (3)</a></li>
882
883 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/12/">December (4)</a></li>
884
885 </ul></li>
886
887 <li>2016
888 <ul>
889
890 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/01/">January (3)</a></li>
891
892 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/02/">February (2)</a></li>
893
894 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/03/">March (3)</a></li>
895
896 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/04/">April (8)</a></li>
897
898 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/05/">May (8)</a></li>
899
900 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/06/">June (2)</a></li>
901
902 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/07/">July (2)</a></li>
903
904 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/08/">August (5)</a></li>
905
906 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/09/">September (2)</a></li>
907
908 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/10/">October (3)</a></li>
909
910 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/11/">November (8)</a></li>
911
912 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/12/">December (5)</a></li>
913
914 </ul></li>
915
916 <li>2015
917 <ul>
918
919 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/01/">January (7)</a></li>
920
921 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/02/">February (6)</a></li>
922
923 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/03/">March (1)</a></li>
924
925 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/04/">April (4)</a></li>
926
927 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/05/">May (3)</a></li>
928
929 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/06/">June (4)</a></li>
930
931 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/07/">July (6)</a></li>
932
933 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/08/">August (2)</a></li>
934
935 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/09/">September (2)</a></li>
936
937 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/10/">October (9)</a></li>
938
939 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/11/">November (6)</a></li>
940
941 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/12/">December (3)</a></li>
942
943 </ul></li>
944
945 <li>2014
946 <ul>
947
948 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/01/">January (2)</a></li>
949
950 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/02/">February (3)</a></li>
951
952 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/03/">March (8)</a></li>
953
954 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/04/">April (7)</a></li>
955
956 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/05/">May (1)</a></li>
957
958 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/06/">June (2)</a></li>
959
960 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/07/">July (2)</a></li>
961
962 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/08/">August (2)</a></li>
963
964 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/09/">September (5)</a></li>
965
966 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/10/">October (6)</a></li>
967
968 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/11/">November (3)</a></li>
969
970 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/12/">December (5)</a></li>
971
972 </ul></li>
973
974 <li>2013
975 <ul>
976
977 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/01/">January (11)</a></li>
978
979 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/02/">February (9)</a></li>
980
981 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/03/">March (9)</a></li>
982
983 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/04/">April (6)</a></li>
984
985 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/05/">May (9)</a></li>
986
987 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/06/">June (10)</a></li>
988
989 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/07/">July (7)</a></li>
990
991 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/08/">August (3)</a></li>
992
993 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/09/">September (5)</a></li>
994
995 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/10/">October (7)</a></li>
996
997 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/11/">November (9)</a></li>
998
999 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/12/">December (3)</a></li>
1000
1001 </ul></li>
1002
1003 <li>2012
1004 <ul>
1005
1006 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/01/">January (7)</a></li>
1007
1008 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/02/">February (10)</a></li>
1009
1010 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/03/">March (17)</a></li>
1011
1012 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/04/">April (12)</a></li>
1013
1014 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/05/">May (12)</a></li>
1015
1016 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/06/">June (20)</a></li>
1017
1018 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/07/">July (17)</a></li>
1019
1020 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/08/">August (6)</a></li>
1021
1022 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/09/">September (9)</a></li>
1023
1024 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/10/">October (17)</a></li>
1025
1026 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/11/">November (10)</a></li>
1027
1028 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/12/">December (7)</a></li>
1029
1030 </ul></li>
1031
1032 <li>2011
1033 <ul>
1034
1035 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/01/">January (16)</a></li>
1036
1037 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/02/">February (6)</a></li>
1038
1039 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/03/">March (6)</a></li>
1040
1041 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/04/">April (7)</a></li>
1042
1043 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/05/">May (3)</a></li>
1044
1045 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/06/">June (2)</a></li>
1046
1047 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/07/">July (7)</a></li>
1048
1049 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/08/">August (6)</a></li>
1050
1051 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/09/">September (4)</a></li>
1052
1053 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/10/">October (2)</a></li>
1054
1055 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/11/">November (3)</a></li>
1056
1057 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/12/">December (1)</a></li>
1058
1059 </ul></li>
1060
1061 <li>2010
1062 <ul>
1063
1064 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/01/">January (2)</a></li>
1065
1066 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/02/">February (1)</a></li>
1067
1068 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/03/">March (3)</a></li>
1069
1070 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/04/">April (3)</a></li>
1071
1072 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/05/">May (9)</a></li>
1073
1074 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/06/">June (14)</a></li>
1075
1076 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/07/">July (12)</a></li>
1077
1078 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/08/">August (13)</a></li>
1079
1080 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/09/">September (7)</a></li>
1081
1082 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/10/">October (9)</a></li>
1083
1084 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/11/">November (13)</a></li>
1085
1086 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/12/">December (12)</a></li>
1087
1088 </ul></li>
1089
1090 <li>2009
1091 <ul>
1092
1093 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/01/">January (8)</a></li>
1094
1095 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/02/">February (8)</a></li>
1096
1097 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/03/">March (12)</a></li>
1098
1099 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
1100
1101 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
1102
1103 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</a></li>
1104
1105 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/07/">July (4)</a></li>
1106
1107 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/08/">August (3)</a></li>
1108
1109 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/09/">September (1)</a></li>
1110
1111 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/10/">October (2)</a></li>
1112
1113 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/11/">November (3)</a></li>
1114
1115 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/12/">December (3)</a></li>
1116
1117 </ul></li>
1118
1119 <li>2008
1120 <ul>
1121
1122 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/11/">November (5)</a></li>
1123
1124 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/12/">December (7)</a></li>
1125
1126 </ul></li>
1127
1128 </ul>
1129
1130
1131
1132 <h2>Tags</h2>
1133 <ul>
1134
1135 <li><a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (16)</a></li>
1136
1137 <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga">amiga (1)</a></li>
1138
1139 <li><a href="http://people.skolelinux.org/pere/blog/tags/aros">aros (1)</a></li>
1140
1141 <li><a href="http://people.skolelinux.org/pere/blog/tags/bankid">bankid (4)</a></li>
1142
1143 <li><a href="http://people.skolelinux.org/pere/blog/tags/betalkontant">betalkontant (8)</a></li>
1144
1145 <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (11)</a></li>
1146
1147 <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (17)</a></li>
1148
1149 <li><a href="http://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
1150
1151 <li><a href="http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (2)</a></li>
1152
1153 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (167)</a></li>
1154
1155 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (158)</a></li>
1156
1157 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian-handbook">debian-handbook (4)</a></li>
1158
1159 <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan (11)</a></li>
1160
1161 <li><a href="http://people.skolelinux.org/pere/blog/tags/dld">dld (17)</a></li>
1162
1163 <li><a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook (25)</a></li>
1164
1165 <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
1166
1167 <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (402)</a></li>
1168
1169 <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (23)</a></li>
1170
1171 <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (14)</a></li>
1172
1173 <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (33)</a></li>
1174
1175 <li><a href="http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (9)</a></li>
1176
1177 <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (20)</a></li>
1178
1179 <li><a href="http://people.skolelinux.org/pere/blog/tags/h264">h264 (20)</a></li>
1180
1181 <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju (42)</a></li>
1182
1183 <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (16)</a></li>
1184
1185 <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (21)</a></li>
1186
1187 <li><a href="http://people.skolelinux.org/pere/blog/tags/kodi">kodi (4)</a></li>
1188
1189 <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (9)</a></li>
1190
1191 <li><a href="http://people.skolelinux.org/pere/blog/tags/lego">lego (4)</a></li>
1192
1193 <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (8)</a></li>
1194
1195 <li><a href="http://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (2)</a></li>
1196
1197 <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
1198
1199 <li><a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (8)</a></li>
1200
1201 <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (42)</a></li>
1202
1203 <li><a href="http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (12)</a></li>
1204
1205 <li><a href="http://people.skolelinux.org/pere/blog/tags/noark5">noark5 (14)</a></li>
1206
1207 <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (305)</a></li>
1208
1209 <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (195)</a></li>
1210
1211 <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (37)</a></li>
1212
1213 <li><a href="http://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
1214
1215 <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (73)</a></li>
1216
1217 <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (108)</a></li>
1218
1219 <li><a href="http://people.skolelinux.org/pere/blog/tags/raid">raid (2)</a></li>
1220
1221 <li><a href="http://people.skolelinux.org/pere/blog/tags/reactos">reactos (1)</a></li>
1222
1223 <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap (11)</a></li>
1224
1225 <li><a href="http://people.skolelinux.org/pere/blog/tags/rfid">rfid (3)</a></li>
1226
1227 <li><a href="http://people.skolelinux.org/pere/blog/tags/robot">robot (11)</a></li>
1228
1229 <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
1230
1231 <li><a href="http://people.skolelinux.org/pere/blog/tags/ruter">ruter (7)</a></li>
1232
1233 <li><a href="http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
1234
1235 <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (55)</a></li>
1236
1237 <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (4)</a></li>
1238
1239 <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (5)</a></li>
1240
1241 <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (63)</a></li>
1242
1243 <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (6)</a></li>
1244
1245 <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (12)</a></li>
1246
1247 <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (55)</a></li>
1248
1249 <li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (4)</a></li>
1250
1251 <li><a href="http://people.skolelinux.org/pere/blog/tags/usenix">usenix (2)</a></li>
1252
1253 <li><a href="http://people.skolelinux.org/pere/blog/tags/valg">valg (9)</a></li>
1254
1255 <li><a href="http://people.skolelinux.org/pere/blog/tags/verkidetfri">verkidetfri (15)</a></li>
1256
1257 <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (73)</a></li>
1258
1259 <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (4)</a></li>
1260
1261 <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (42)</a></li>
1262
1263 </ul>
1264
1265
1266 </div>
1267 <p style="text-align: right">
1268 Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.6</a>
1269 </p>
1270
1271 </body>
1272 </html>