]> pere.pagekite.me Git - homepage.git/blob - blog/index.rss
Generated.
[homepage.git] / blog / index.rss
1 <?xml version="1.0" encoding="utf-8"?>
2 <rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/' xmlns:atom="http://www.w3.org/2005/Atom">
3 <channel>
4 <title>Petter Reinholdtsen</title>
5 <description></description>
6 <link>http://people.skolelinux.org/pere/blog/</link>
7 <atom:link href="http://people.skolelinux.org/pere/blog/index.rss" rel="self" type="application/rss+xml" />
8
9 <item>
10 <title>Jami/Ring, finally functioning peer to peer communication client</title>
11 <link>http://people.skolelinux.org/pere/blog/Jami_Ring__finally_functioning_peer_to_peer_communication_client.html</link>
12 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Jami_Ring__finally_functioning_peer_to_peer_communication_client.html</guid>
13 <pubDate>Wed, 19 Jun 2019 08:50:00 +0200</pubDate>
14 <description>&lt;p&gt;Some years ago, in 2016, I
15 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Experience_and_updated_recipe_for_using_the_Signal_app_without_a_mobile_phone.html&quot;&gt;wrote
16 for the first time about&lt;/a&gt; the Ring peer to peer messaging system.
17 It would provide messaging without any central server coordinating the
18 system and without requiring all users to register a phone number or
19 own a mobile phone. Back then, I could not get it to work, and put it
20 aside until it had seen more development. A few days ago I decided to
21 give it another try, and am happy to report that this time I am able
22 to not only send and receive messages, but also place audio and video
23 calls. But only if UDP is not blocked into your network.&lt;/p&gt;
24
25 &lt;p&gt;The Ring system changed name earlier this year to
26 &lt;a href=&quot;https://en.wikipedia.org/wiki/Jami_(software)&quot;&gt;Jami&lt;/a&gt;. I
27 tried doing web search for &#39;ring&#39; when I discovered it for the first
28 time, and can only applaud this change as it is impossible to find
29 something called Ring among the noise of other uses of that word. Now
30 you can search for &#39;jami&#39; and this client and
31 &lt;a href=&quot;https://jami.net/&quot;&gt;the Jami system&lt;/a&gt; is the first hit at
32 least on duckduckgo.&lt;/p&gt;
33
34 &lt;p&gt;Jami will by default encrypt messages as well as audio and video
35 calls, and try to send them directly between the communicating parties
36 if possible. If this proves impossible (for example if both ends are
37 behind NAT), it will use a central SIP TURN server maintained by the
38 Jami project. Jami can also be a normal SIP client. If the SIP
39 server is unencrypted, the audio and video calls will also be
40 unencrypted. This is as far as I know the only case where Jami will
41 do anything without encryption.&lt;/p&gt;
42
43 &lt;p&gt;Jami is available for several platforms: Linux, Windows, MacOSX,
44 Android, iOS, and Android TV. It is included in Debian already. Jami
45 also work for those using F-Droid without any Google connections,
46 while Signal do not.
47 &lt;a href=&quot;https://git.jami.net/savoirfairelinux/ring-project/wikis/technical/Protocol&quot;&gt;The
48 protocol&lt;/a&gt; is described in the Ring project wiki. The system uses a
49 distributed hash table (DHT) system (similar to BitTorrent) running
50 over UDP. On one of the networks I use, I discovered Jami failed to
51 work. I tracked this down to the fact that incoming UDP packages
52 going to ports 1-49999 were blocked, and the DHT would pick a random
53 port and end up in the low range most of the time. After talking to
54 the developers, I solved this by enabling the dhtproxy in the
55 settings, thus using TCP to talk to a central DHT proxy instead of
56
57 peering directly with others. I&#39;ve been told the developers are
58 working on allowing DHT to use TCP to avoid this problem. I also ran
59 into a problem when trying to talk to the version of Ring included in
60 Debian Stable (Stretch). Apparently the protocol changed between
61 beta2 and the current version, making these clients incompatible.
62 Hopefully the protocol will not be made incompatible in the
63 future.&lt;/p&gt;
64
65 &lt;p&gt;It is worth noting that while looking at Jami and its features, I
66 came across another communication platform I have not tested yet. The
67 &lt;a href=&quot;https://en.wikipedia.org/wiki/Tox_(protocol)&quot;&gt;Tox protocol&lt;/a&gt;
68 and &lt;a href=&quot;https://tox.chat/&quot;&gt;family of Tox clients&lt;/a&gt;. It might
69 become the topic of a future blog post.&lt;/p&gt;
70
71 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
72 activities, please send Bitcoin donations to my address
73 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
74 </description>
75 </item>
76
77 <item>
78 <title>More sales number for my Free Culture paper editions (2019-edition)</title>
79 <link>http://people.skolelinux.org/pere/blog/More_sales_number_for_my_Free_Culture_paper_editions__2019_edition_.html</link>
80 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/More_sales_number_for_my_Free_Culture_paper_editions__2019_edition_.html</guid>
81 <pubDate>Tue, 11 Jun 2019 16:05:00 +0200</pubDate>
82 <description>&lt;p&gt;The first book I published,
83 &lt;a href=&quot;http://www.free-culture.cc/&quot;&gt;Free Culture by Lawrence
84 Lessig&lt;/a&gt;, is still selling a few copies. Not a lot, but enough to
85 have contributed slightly over $500 to the &lt;a
86 href=&quot;https://creativecommons.org/&quot;&gt;Creative Commons Corporation&lt;/a&gt;
87 so far. All the profit is sent there. Most books are still sold via
88 Amazon (83 copies), with Ingram second (49) and Lulu (12) and Machette (7) as
89 minor channels. Bying directly from Lulu bring the largest cut to
90 Creative Commons. The English Edition sold 80 copies so far, the
91 French 59 copies, and Norwegian only 8 copies. Nothing impressive,
92 but nice to see the work we put down is still being appreciated. The
93 ebook edition is available for free from
94 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;Github&lt;/a&gt;.&lt;/p&gt;
95
96 &lt;table border=&quot;0&quot;&gt;
97 &lt;tr&gt;&lt;th rowspan=&quot;2&quot; valign=&quot;bottom&quot;&gt;Title / language&lt;/th&gt;
98 &lt;th colspan=&quot;7&quot;&gt;Quantity&lt;/th&gt;&lt;/tr&gt;
99 &lt;tr&gt;
100 &lt;th&gt;2016 jan-jun&lt;/th&gt;
101 &lt;th&gt;2016 jul-dec&lt;/th&gt;
102 &lt;th&gt;2017 jan-jun&lt;/th&gt;
103 &lt;th&gt;2017 jul-dec&lt;/th&gt;
104 &lt;th&gt;2018 jan-jun&lt;/th&gt;
105 &lt;th&gt;2018 jul-dec&lt;/th&gt;
106 &lt;th&gt;2019 jan-may&lt;/th&gt;
107 &lt;/tr&gt;
108
109 &lt;tr&gt;
110 &lt;td&gt;&lt;a href=&quot;http://www.lulu.com/shop/lawrence-lessig/culture-libre/paperback/product-22645082.html&quot;&gt;Culture Libre / French&lt;/a&gt;&lt;/td&gt;
111 &lt;td align=&quot;right&quot;&gt;3&lt;/td&gt;
112 &lt;td align=&quot;right&quot;&gt;6&lt;/td&gt;
113 &lt;td align=&quot;right&quot;&gt;19&lt;/td&gt;
114 &lt;td align=&quot;right&quot;&gt;11&lt;/td&gt;
115 &lt;td align=&quot;right&quot;&gt;7&lt;/td&gt;
116 &lt;td align=&quot;right&quot;&gt;6&lt;/td&gt;
117 &lt;td align=&quot;right&quot;&gt;7&lt;/td&gt;
118 &lt;/tr&gt;
119
120 &lt;tr&gt;
121 &lt;td&gt;&lt;a href=&quot;http://www.lulu.com/shop/lawrence-lessig/fri-kultur/paperback/product-22441576.html&quot;&gt;Fri kultur / Norwegian&lt;/a&gt;&lt;/td&gt;
122 &lt;td align=&quot;right&quot;&gt;7&lt;/td&gt;
123 &lt;td align=&quot;right&quot;&gt;1&lt;/td&gt;
124 &lt;td align=&quot;right&quot;&gt;0&lt;/td&gt;
125 &lt;td align=&quot;right&quot;&gt;0&lt;/td&gt;
126 &lt;td align=&quot;right&quot;&gt;0&lt;/td&gt;
127 &lt;td align=&quot;right&quot;&gt;0&lt;/td&gt;
128 &lt;td align=&quot;right&quot;&gt;0&lt;/td&gt;
129 &lt;/tr&gt;
130
131 &lt;tr&gt;
132 &lt;td&gt;&lt;a href=&quot;http://www.lulu.com/shop/lawrence-lessig/free-culture/paperback/product-22440520.html&quot;&gt;Free Culture / English&lt;/a&gt;&lt;/td&gt;
133 &lt;td align=&quot;right&quot;&gt;14&lt;/td&gt;
134 &lt;td align=&quot;right&quot;&gt;27&lt;/td&gt;
135 &lt;td align=&quot;right&quot;&gt;16&lt;/td&gt;
136 &lt;td align=&quot;right&quot;&gt;9&lt;/td&gt;
137 &lt;td align=&quot;right&quot;&gt;3&lt;/td&gt;
138 &lt;td align=&quot;right&quot;&gt;7&lt;/td&gt;
139 &lt;td align=&quot;right&quot;&gt;3&lt;/td&gt;
140 &lt;/tr&gt;
141
142 &lt;tr&gt;
143 &lt;td&gt;Total&lt;/td&gt;
144 &lt;td align=&quot;right&quot;&gt;24&lt;/td&gt;
145 &lt;td align=&quot;right&quot;&gt;34&lt;/td&gt;
146 &lt;td align=&quot;right&quot;&gt;35&lt;/td&gt;
147 &lt;td align=&quot;right&quot;&gt;20&lt;/td&gt;
148 &lt;td align=&quot;right&quot;&gt;10&lt;/td&gt;
149 &lt;td align=&quot;right&quot;&gt;13&lt;/td&gt;
150 &lt;td align=&quot;right&quot;&gt;10&lt;/td&gt;
151 &lt;/tr&gt;
152
153 &lt;/table&gt;
154
155 &lt;p&gt;It is fun to see the French edition being more popular than the
156 English one.&lt;/p&gt;
157
158 &lt;p&gt;If you would like to translate and publish the book in your native
159 language, I would be happy to help make it happen. Please get in
160 touch.&lt;/p&gt;
161 </description>
162 </item>
163
164 <item>
165 <title>Official MIME type &quot;text/vnd.sosi&quot; for SOSI map data</title>
166 <link>http://people.skolelinux.org/pere/blog/Official_MIME_type__text_vnd_sosi__for_SOSI_map_data.html</link>
167 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Official_MIME_type__text_vnd_sosi__for_SOSI_map_data.html</guid>
168 <pubDate>Tue, 4 Jun 2019 09:20:00 +0200</pubDate>
169 <description>&lt;p&gt;Just 15 days ago,
170 &lt;ahref=&quot;http://people.skolelinux.org/pere/blog/MIME_type__text_vnd_sosi__for_SOSI_map_data.html&quot;&gt;I
171 mentioned&lt;/a&gt; my submission to IANA to register an official MIME type
172 for the SOSI vector map format. This morning, just an hour ago, I was
173 notified that
174 &lt;a href=&quot;https://www.iana.org/assignments/media-types/text/vnd.sosi&quot;&gt;the
175 MIME type &quot;text/vnd.sosi&quot;&lt;/a&gt; is registered for this format. In
176 addition to this registration, my
177 &lt;a href=&quot;https://github.com/file/file/blob/master/magic/Magdir/sosi&quot;&gt;file(1)
178 patch for a pattern matching rule for SOSI files&lt;/a&gt; has been accepted
179 into the official source of that program (pending a new release), and
180 I&#39;ve been told by the team behind
181 &lt;a href=&quot;https://www.nationalarchives.gov.uk/PRONOM/&quot;&gt;PRONOM&lt;/a&gt; that
182 the SOSI format will be included in the next release of PRONOM, which
183 they plan to release this summer around July.&lt;/p&gt;
184
185 &lt;p&gt;I am very happy to see all of this fall into place, for use by
186 &lt;a href=&quot;https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/&quot;&gt;the
187 Noark 5 Tjenestegrensesnitt&lt;/a&gt; implementations.&lt;/p&gt;
188
189 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
190 activities, please send Bitcoin donations to my address
191 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
192 </description>
193 </item>
194
195 <item>
196 <title>The space rover coquine, or how I ended up on the dark side of the moon</title>
197 <link>http://people.skolelinux.org/pere/blog/The_space_rover_coquine__or_how_I_ended_up_on_the_dark_side_of_the_moon.html</link>
198 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/The_space_rover_coquine__or_how_I_ended_up_on_the_dark_side_of_the_moon.html</guid>
199 <pubDate>Sun, 2 Jun 2019 23:55:00 +0200</pubDate>
200 <description>&lt;p&gt;A while back a college and friend from Debian and the Skolelinux /
201 Debian Edu project approached me, asking if I knew someone that might
202 be interested in helping out with a technology project he was running
203 as a teacher at &lt;a href=&quot;https://www.ecolefrancodanoise.dk/&quot;&gt;L&#39;école
204 franco-danoise&lt;/a&gt; - the Danish-French school and kindergarden. The
205 kids were building robots, rovers. The story behind it is to build a
206 rover for use
207 &lt;a href=&quot;http://blog.ecolefrancodanoise.dk/first-week-on-the-dark-side&quot;&gt;on
208 the dark side of the moon&lt;/a&gt;, and remote control it. As travel cost
209 was a bit high for the final destination, and they wanted to test the
210 concept first, he was looking for volunteers to host a rover for the
211 kids to control in a foreign country. I ended up volunteering as a
212 host, and last week the rover arrived. It took a while to arrive
213 after &lt;a href=&quot;http://blog.ecolefrancodanoise.dk/model-moms&quot;&gt;it was
214 built and shipped&lt;/a&gt;, because of customs confusion. Luckily we were
215 able fix it quickly with help from my colleges at work.&lt;/p&gt;
216
217 &lt;p&gt;This is what it looked like when the rover arrived. Note the cute
218 eyes looking up on me from the wrapping&lt;/p&gt;
219
220 &lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/2019-06-02-robot-dark-side-of-moon-esken-med-det-rare-i.jpeg&quot; width=&quot;32%&quot; style=&quot;clear:left&quot;/&gt;
221 &lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/2019-06-02-robot-dark-side-of-moon-den-ser-meg.jpeg&quot; width=&quot;32%&quot; style=&quot;clear:left&quot;/&gt;
222 &lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/2019-06-02-robot-dark-side-of-moon-en-skrue-loes.jpeg&quot; width=&quot;32%&quot; style=&quot;clear:left&quot;/&gt;
223
224 &lt;p style=&quot;text-align:left&quot;&gt;Once the robot arrived, we needed to track
225 down batteries and figure out how to build custom firmware for it with
226 the appropriate wifi settings. I asked a friend if I could get two
227 18650 batteries from his pile of Tesla batteries (he had them from the
228 wrack of a crashed Tesla), so now the rover is running on Tesla
229 batteries.&lt;/p&gt;
230
231 &lt;p&gt;Building
232 &lt;a href=&quot;https://gitlab.com/ecolefrancodanoise/arduino-efd/&quot;&gt;the rover
233 firmware&lt;/a&gt; proved a bit harder, as the code did not work out of the
234 box with the Arduino IDE package in Debian Buster. I suspect this is
235 due to a unsolved
236 &lt;a href=&quot;https://github.com/arduino/Arduino/pull/2703&quot;&gt; license problem
237 with arduino&lt;/a&gt; blocking Debian from upgrading to the latest version.
238 In the end we gave up debugging why the IDE failed to find the
239 required libraries, and ended up using the Arduino Makefile from the
240 &lt;a href=&quot;https://tracker.debian.org/pkg/arduino-mk&quot;&gt;arduino-mk Debian
241 package&lt;/a&gt; instead. Unfortunately the camera library is missing from
242 the Arduino environment in Debian, so we disabled the camera support
243 for the first firmware build, to get something up and running. With
244 this reduced firmware, the robot could be controlled via the
245 controller server, driving around and measuring distance using its
246 internal acoustic sensor.&lt;/p&gt;
247
248 &lt;p&gt;Next, With some help from my friend in Denmark, which checked in the
249 camera library into the gitlab repository for me to use, we were able
250 to build a new and more complete version of the firmware, and the
251 robot is now up and running. This is what the &quot;commander&quot; web page
252 look like after taking a measurement and a snapshot:&lt;/p&gt;
253
254 &lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/2019-06-02-robot-dark-side-of-moon-commander.png&quot; width=&quot;40%&quot; border=&quot;1&quot; align=&quot;center&quot;/&gt;
255
256 &lt;p&gt;If you want to learn more about this project, you can check out the
257 &lt;a href=&quot;https://hackaday.io/project/164082-the-dark-side-challenge&quot;&gt;The
258 Dark Side Challenge&lt;/a&gt; Hackaday web pages.&lt;/p&gt;
259
260 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
261 activities, please send Bitcoin donations to my address
262 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
263 </description>
264 </item>
265
266 <item>
267 <title>Nikita version 0.4 released - free software archive API server</title>
268 <link>http://people.skolelinux.org/pere/blog/Nikita_version_0_4_released___free_software_archive_API_server.html</link>
269 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Nikita_version_0_4_released___free_software_archive_API_server.html</guid>
270 <pubDate>Wed, 22 May 2019 11:30:00 +0200</pubDate>
271 <description>&lt;p&gt;This morning, a new release of
272 &lt;a href=&quot;https://gitlab.com/OsloMet-ABI/nikita-noark5-core/&quot;&gt;Nikita
273 Noark 5 core project&lt;/a&gt; was
274 &lt;a href=&quot;https://lists.nuug.no/pipermail/nikita-noark/2019-May/000468.html&quot;&gt;announced
275 on the project mailing list&lt;/a&gt;. The Nikita free software solution is
276 an implementation of the Norwegian archive standard Noark 5 used by
277 government offices in Norway. These were the changes in version 0.4
278 since version 0.3, see the email link above for links to a demo site:&lt;/p&gt;
279
280 &lt;ul&gt;
281
282 &lt;li&gt;Roll out OData handling to all endpoints where applicable&lt;/li&gt;
283 &lt;li&gt;Changed the relation key for &quot;ny-journalpost&quot; to the official one.&lt;/li&gt;
284 &lt;li&gt;Better link generation on outgoing links.&lt;/li&gt;
285 &lt;li&gt;Tidy up code and make code and approaches more consistent throughout
286 the codebase&lt;/li&gt;
287 &lt;li&gt;Update rels to be in compliance with updated version in the
288 interface standard&lt;/li&gt;
289 &lt;li&gt;Avoid printing links on empty objects as they can&#39;t have links&lt;/li&gt;
290 &lt;li&gt;Small bug fixes and improvements&lt;/li&gt;
291 &lt;li&gt;Start moving generation of outgoing links to @Service layer so access
292 control can be used when generating links&lt;/li&gt;
293 &lt;li&gt;Log exception that was being swallowed so it&#39;s traceable&lt;/li&gt;
294 &lt;li&gt;Fix name mapping problem&lt;/li&gt;
295 &lt;li&gt;Update templated printing so templated should only be printed if it
296 is set true. Requires more work to roll out across entire
297 application.&lt;/li&gt;
298 &lt;li&gt;Remove Record-&gt;DocumentObject as per domain model of n5v4&lt;/li&gt;
299 &lt;li&gt;Add ability to delete lists filtered with OData&lt;/li&gt;
300 &lt;li&gt;Return NO_CONTENT (204) on delete as per interface standard&lt;/li&gt;
301 &lt;li&gt;Introduce support for ConstraintViolationException exception&lt;/li&gt;
302 &lt;li&gt;Make Service classes extend NoarkService&lt;/li&gt;
303 &lt;li&gt;Make code base respect X-Forwarded-Host, X-Forwarded-Proto and
304 X-Forwarded-Port&lt;/li&gt;
305 &lt;li&gt;Update CorrespondencePart* code to be more in line with Single
306 Responsibility Principle&lt;/li&gt;
307 &lt;li&gt;Make package name follow directory structure&lt;/li&gt;
308 &lt;li&gt;Make sure Document number starts at 1, not 0&lt;/li&gt;
309 &lt;li&gt;Fix isues discovered by FindBugs&lt;/li&gt;
310 &lt;li&gt;Update from Date to ZonedDateTime&lt;/li&gt;
311 &lt;li&gt;Fix wrong tablename&lt;/li&gt;
312 &lt;li&gt;Introduce Service layer tests&lt;/li&gt;
313 &lt;li&gt;Improvements to CorrespondencePart&lt;/li&gt;
314 &lt;li&gt;Continued work on Class / Classificationsystem&lt;/li&gt;
315 &lt;li&gt;Fix feature where authors were stored as storageLocations&lt;/li&gt;
316 &lt;li&gt;Update HQL builder for OData&lt;/li&gt;
317 &lt;li&gt;Update OData search capability from webpage&lt;/li&gt;
318
319 &lt;/ul&gt;
320
321 &lt;p&gt;If free and open standardized archiving API sound interesting to
322 you, please contact us on IRC
323 (&lt;a href=&quot;irc://irc.freenode.net/%23nikita&quot;&gt;#nikita on
324 irc.freenode.net&lt;/a&gt;) or email
325 (&lt;a href=&quot;https://lists.nuug.no/mailman/listinfo/nikita-noark&quot;&gt;nikita-noark
326 mailing list&lt;/a&gt;).&lt;/p&gt;
327
328 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
329 activities, please send Bitcoin donations to my address
330 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
331 </description>
332 </item>
333
334 <item>
335 <title>MIME type &quot;text/vnd.sosi&quot; for SOSI map data</title>
336 <link>http://people.skolelinux.org/pere/blog/MIME_type__text_vnd_sosi__for_SOSI_map_data.html</link>
337 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/MIME_type__text_vnd_sosi__for_SOSI_map_data.html</guid>
338 <pubDate>Mon, 20 May 2019 08:35:00 +0200</pubDate>
339 <description>&lt;p&gt;As part of my involvement in the work to
340 &lt;a href=&quot;https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard&quot;&gt;standardise
341 a REST based API for Noark 5&lt;/a&gt;, the Norwegian archiving standard, I
342 spent some time the last few months to try to register a
343 &lt;a href=&quot;https://www.iana.org/assignments/media-types/&quot;&gt;MIME type&lt;/a&gt;
344 and &lt;a href=&quot;https://www.nationalarchives.gov.uk/PRONOM/&quot;&gt;PRONOM
345 code&lt;/a&gt; for the SOSI file format. The background is that there is a
346 set of formats approved for long term storage and archiving in Norway,
347 and among these formats, SOSI is the only format missing a MIME type
348 and PRONOM code.&lt;/p&gt;
349
350 &lt;p&gt;What is SOSI, you might ask? To quote Wikipedia: SOSI is short for
351 Samordnet Opplegg for Stedfestet Informasjon (literally &quot;Coordinated
352 Approach for Spatial Information&quot;, but more commonly expanded in
353 English to Systematic Organization of Spatial Information). It is a
354 text based file format for geo-spatial vector information used in
355 Norway. Information about the SOSI format can be found in English
356 from &lt;a href=&quot;https://en.wikipedia.org/wiki/SOSI&quot;&gt;Wikipedia&lt;/a&gt;. The
357 specification is available in Norwegian from
358 &lt;a href=&quot;https://www.kartverket.no/geodataarbeid/Standarder/SOSI/&quot;&gt;the
359 Norwegian mapping authority&lt;/a&gt;. The SOSI standard, which originated
360 in the beginning of nineteen eighties, was the inspiration and formed the
361 basis for the XML based
362 &lt;a href=&quot;https://en.wikipedia.org/wiki/Geography_Markup_Language&quot;&gt;Geography
363 Markup Language&lt;/a&gt;.&lt;/p&gt;
364
365 &lt;p&gt;I have so far written
366 &lt;a href=&quot;https://github.com/file/file/pull/67&quot;&gt;a pattern matching
367 rule&lt;/a&gt; for the file(1) unix tool to recognize SOSI files, submitted
368 a request to the PRONOM project to have a PRONOM ID assigned to the
369 format (reference TNA1555078202S60), and today send a request to IANA
370 to register the &quot;text/vnd.sosi&quot; MIME type for this format (referanse
371 &lt;a href=&quot;https://tools.iana.org/public-view/viewticket/1143144&quot;&gt;IANA
372 #1143144&lt;/a&gt;). If all goes well, in a few months, anyone implementing
373 the Noark 5 Tjenestegrensesnitt API spesification should be able to
374 use an official MIME type and PRONOM code for SOSI files. In
375 addition, anyone using SOSI files on Linux should be able to
376 automatically recognise the format and web sites handing out SOSI
377 files can begin providing a more specific MIME type. So far, SOSI
378 files has been handed out from web sites using the
379 &quot;application/octet-stream&quot; MIME type, which is just a nice way of
380 stating &quot;I do not know&quot;. Soon, we will know. :)&lt;/p&gt;
381
382 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
383 activities, please send Bitcoin donations to my address
384 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
385 </description>
386 </item>
387
388 <item>
389 <title>PlantUML for text based UML diagram modelling - nice free software</title>
390 <link>http://people.skolelinux.org/pere/blog/PlantUML_for_text_based_UML_diagram_modelling___nice_free_software.html</link>
391 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/PlantUML_for_text_based_UML_diagram_modelling___nice_free_software.html</guid>
392 <pubDate>Mon, 25 Mar 2019 09:35:00 +0100</pubDate>
393 <description>&lt;p&gt;As part of my involvement with the
394 &lt;a href=&quot;https://gitlab.com/OsloMet-ABI/nikita-noark5-core/&quot;&gt;Nikita
395 Noark 5 core project&lt;/a&gt;, I have been proposing improvements to the
396 API specification created by &lt;a href=&quot;https://www.arkivverket.no/&quot;&gt;The
397 National Archives of Norway&lt;/a&gt; and helped migrating the text from a
398 version control system unfriendly binary format (docx) to Markdown in
399 git. Combined with the migration to a public git repository (on
400 github), this has made it possible for anyone to suggest improvement
401 to the text.&lt;/p&gt;
402
403 &lt;p&gt;The specification is filled with UML diagrams. I believe the
404 original diagrams were modelled using Sparx Systems Enterprise
405 Architect, and exported as EMF files for import into docx. This
406 approach make it very hard to track changes using a version control
407 system. To improve the situation I have been looking for a good text
408 based UML format with associated command line free software tools on
409 Linux and Windows, to allow anyone to send in corrections to the UML
410 diagrams in the specification. The tool must be text based to work
411 with git, and command line to be able to run it automatically to
412 generate the diagram images. Finally, it must be free software to
413 allow anyone, even those that can not accept a non-free software
414 license, to contribute.&lt;/p&gt;
415
416 &lt;p&gt;I did not know much about free software UML modelling tools when I
417 started. I have used dia and inkscape for simple modelling in the
418 past, but neither are available on Windows, as far as I could tell. I
419 came across a nice
420 &lt;a href=&quot;https://modeling-languages.com/text-uml-tools-complete-list/&quot;&gt;list
421 of text mode uml tools&lt;/a&gt;, and tested out a few of the tools listed
422 there. &lt;a href=&quot;http://plantuml.com/&quot;&gt;The PlantUML tool&lt;/a&gt; seemed
423 most promising. After verifying that the packages
424 &lt;a href=&quot;https://tracker.debian.org/pkg/plantuml&quot;&gt;is available in
425 Debian&lt;/a&gt; and found &lt;a href=&quot;https://github.com/plantuml/plantuml&quot;&gt;its
426 Java source&lt;/a&gt; under a GPL license on github, I set out to test if it
427 could represent the diagrams we needed, ie the ones currently in
428 &lt;a href=&quot;https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/&quot;&gt;the
429 Noark 5 Tjenestegrensesnitt specification&lt;/a&gt;. I am happy to report
430 that it could represent them, even thought it have a few warts here
431 and there.&lt;/p&gt;
432
433 &lt;p&gt;After a few days of modelling I completed the task this weekend. A
434 temporary link to the complete set of diagrams (original and from
435 PlantUML) is available in
436 &lt;a href=&quot;https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/76&quot;&gt;the
437 github issue discussing the need for a text based UML format&lt;/a&gt;, but
438 please note I lack a sensible tool to convert EMF files to PNGs, so
439 the &quot;original&quot; rendering is not as good as the original was in the
440 publised PDF.&lt;/p&gt;
441
442 &lt;p&gt;Here is an example UML diagram, showing the core classes for
443 keeping metadata about archived documents:&lt;/p&gt;
444
445 &lt;pre&gt;
446 @startuml
447 skinparam classAttributeIconSize 0
448
449 !include media/uml-class-arkivskaper.iuml
450 !include media/uml-class-arkiv.iuml
451 !include media/uml-class-klassifikasjonssystem.iuml
452 !include media/uml-class-klasse.iuml
453 !include media/uml-class-arkivdel.iuml
454 !include media/uml-class-mappe.iuml
455 !include media/uml-class-merknad.iuml
456 !include media/uml-class-registrering.iuml
457 !include media/uml-class-basisregistrering.iuml
458 !include media/uml-class-dokumentbeskrivelse.iuml
459 !include media/uml-class-dokumentobjekt.iuml
460 !include media/uml-class-konvertering.iuml
461 !include media/uml-datatype-elektronisksignatur.iuml
462
463 Arkivstruktur.Arkivskaper &quot;+arkivskaper 1..*&quot; &lt;-o &quot;+arkiv 0..*&quot; Arkivstruktur.Arkiv
464 Arkivstruktur.Arkiv o--&gt; &quot;+underarkiv 0..*&quot; Arkivstruktur.Arkiv
465 Arkivstruktur.Arkiv &quot;+arkiv 1&quot; o--&gt; &quot;+arkivdel 0..*&quot; Arkivstruktur.Arkivdel
466 Arkivstruktur.Klassifikasjonssystem &quot;+klassifikasjonssystem [0..1]&quot; &lt;--o &quot;+arkivdel 1..*&quot; Arkivstruktur.Arkivdel
467 Arkivstruktur.Klassifikasjonssystem &quot;+klassifikasjonssystem [0..1]&quot; o--&gt; &quot;+klasse 0..*&quot; Arkivstruktur.Klasse
468 Arkivstruktur.Arkivdel &quot;+arkivdel 0..1&quot; o--&gt; &quot;+mappe 0..*&quot; Arkivstruktur.Mappe
469 Arkivstruktur.Arkivdel &quot;+arkivdel 0..1&quot; o--&gt; &quot;+registrering 0..*&quot; Arkivstruktur.Registrering
470 Arkivstruktur.Klasse &quot;+klasse 0..1&quot; o--&gt; &quot;+mappe 0..*&quot; Arkivstruktur.Mappe
471 Arkivstruktur.Klasse &quot;+klasse 0..1&quot; o--&gt; &quot;+registrering 0..*&quot; Arkivstruktur.Registrering
472 Arkivstruktur.Mappe --&gt; &quot;+undermappe 0..*&quot; Arkivstruktur.Mappe
473 Arkivstruktur.Mappe &quot;+mappe 0..1&quot; o--&gt; &quot;+registrering 0..*&quot; Arkivstruktur.Registrering
474 Arkivstruktur.Merknad &quot;+merknad 0..*&quot; &lt;--* Arkivstruktur.Mappe
475 Arkivstruktur.Merknad &quot;+merknad 0..*&quot; &lt;--* Arkivstruktur.Dokumentbeskrivelse
476 Arkivstruktur.Basisregistrering -|&gt; Arkivstruktur.Registrering
477 Arkivstruktur.Merknad &quot;+merknad 0..*&quot; &lt;--* Arkivstruktur.Basisregistrering
478 Arkivstruktur.Registrering &quot;+registrering 1..*&quot; o--&gt; &quot;+dokumentbeskrivelse 0..*&quot; Arkivstruktur.Dokumentbeskrivelse
479 Arkivstruktur.Dokumentbeskrivelse &quot;+dokumentbeskrivelse 1&quot; o-&gt; &quot;+dokumentobjekt 0..*&quot; Arkivstruktur.Dokumentobjekt
480 Arkivstruktur.Dokumentobjekt *-&gt; &quot;+konvertering 0..*&quot; Arkivstruktur.Konvertering
481 Arkivstruktur.ElektroniskSignatur -[hidden]-&gt; Arkivstruktur.Dokumentobjekt
482 @enduml
483 &lt;/pre&gt;
484
485 &lt;p&gt;&lt;a href=&quot;http://plantuml.com/class-diagram&quot;&gt;The format&lt;/a&gt; is quite
486 compact, with little redundant information. The text expresses
487 entities and relations, and there is little layout related fluff. One
488 can reuse content by using include files, allowing for consistent
489 naming across several diagrams. The include files can be standalone
490 PlantUML too. Here is the content of
491 &lt;tt&gt;media/uml-class-arkivskaper.iuml&lt;tt&gt;:&lt;/p&gt;
492
493 &lt;pre&gt;
494 @startuml
495 class Arkivstruktur.Arkivskaper &lt;Arkivenhet&gt; {
496 +arkivskaperID : string
497 +arkivskaperNavn : string
498 +beskrivelse : string [0..1]
499 }
500 @enduml
501 &lt;/pre&gt;
502
503 &lt;p&gt;This is what the complete diagram for the PlantUML notation above
504 look like:&lt;/p&gt;
505
506 &lt;p&gt;&lt;img width=&quot;80%&quot; src=&quot;http://people.skolelinux.org/pere/blog/images/2019-03-25-noark5-plantuml-diagrameksempel.png&quot;&gt;&lt;/p&gt;
507
508 &lt;p&gt;A cool feature of PlantUML is that the generated PNG files include
509 the entire original source diagram as text. The source (with include
510 statements expanded) can be extracted using for example
511 &lt;tt&gt;exiftool&lt;/tt&gt;. Another cool feature is that parts of the entities
512 can be hidden after inclusion. This allow to use include files with
513 all attributes listed, even for UML diagrams that should not list any
514 attributes.&lt;/p&gt;
515
516 &lt;p&gt;The diagram also show some of the warts. Some times the layout
517 engine place text labels on top of each other, and some times it place
518 the class boxes too close to each other, not leaving room for the
519 labels on the relationship arrows. The former can be worked around by
520 placing extra newlines in the labes (ie &quot;\n&quot;). I did not do it here
521 to be able to demonstrate the issue. I have not found a good way
522 around the latter, so I normally try to reduce the problem by changing
523 from vertical to horizontal links to improve the layout.&lt;/p&gt;
524
525 &lt;p&gt;All in all, I am quite happy with PlantUML, and very impressed with
526 how quickly its lead developer responds to questions. So far I got an
527 answer to my questions in a few hours when I send an email. I
528 definitely recommend looking at PlantUML if you need to make UML
529 diagrams. Note, PlantUML can draw a lot more than class relations.
530 Check out the documention for a complete list. :)&lt;/p&gt;
531
532 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
533 activities, please send Bitcoin donations to my address
534 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
535 </description>
536 </item>
537
538 <item>
539 <title>Release 0.3 of free software archive API system Nikita announced</title>
540 <link>http://people.skolelinux.org/pere/blog/Release_0_3_of_free_software_archive_API_system_Nikita_announced.html</link>
541 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Release_0_3_of_free_software_archive_API_system_Nikita_announced.html</guid>
542 <pubDate>Sun, 24 Mar 2019 14:30:00 +0100</pubDate>
543 <description>&lt;p&gt;Yesterday, a new release of
544 &lt;a href=&quot;https://gitlab.com/OsloMet-ABI/nikita-noark5-core/&quot;&gt;Nikita
545 Noark 5 core project&lt;/a&gt; was
546 &lt;a href=&quot;https://lists.nuug.no/pipermail/nikita-noark/2019-March/000451.html&quot;&gt;announced
547 on the project mailing list&lt;/a&gt;. The free software solution is an
548 implementation of the Norwegian archive standard Noark 5 used by
549 government offices in Norway. These were the changes in version 0.3
550 since version 0.2.1 (from NEWS.md):&lt;/p&gt;
551
552 &lt;ul&gt;
553 &lt;li&gt;Improved ClassificationSystem and Class behaviour.&lt;/li&gt;
554 &lt;li&gt;Tidied up known inconsistencies between domain model and hateaos links.&lt;/li&gt;
555 &lt;li&gt;Added experimental code for blockchain integration. &lt;/li&gt;
556 &lt;li&gt;Make token expiry time configurable at upstart from properties file.&lt;/li&gt;
557 &lt;li&gt;Continued work on OData search syntax.&lt;/li&gt;
558 &lt;li&gt;Started work on pagination for entities, partly implemented for Saksmappe.&lt;/li&gt;
559 &lt;li&gt;Finalise ClassifiedCode Metadata entity.&lt;/li&gt;
560 &lt;li&gt;Implement mechanism to check if authentication token is still
561 valid. This allow the GUI to return a more sensible message to the
562 user if the token is expired.&lt;/li&gt;
563 &lt;li&gt;Reintroduce browse.html page to allow user to browse JSON API using
564 hateoas links.&lt;/li&gt;
565 &lt;li&gt;Fix bug in handling file/mappe sequence number. Year change was
566 not properly handled.&lt;/li&gt;
567 &lt;li&gt;Update application yml files to be in sync with current development.&lt;/li&gt;
568 &lt;li&gt;Stop &#39;converting&#39; everything to PDF using libreoffice. Only
569 convert the file formats doc, ppt, xls, docx, pptx, xlsx, odt, odp
570 and ods.&lt;/li&gt;
571 &lt;li&gt;Continued code style fixing, making code more readable.&lt;/li&gt;
572 &lt;li&gt;Minor bug fixes.&lt;/li&gt;
573
574 &lt;/ul&gt;
575
576 &lt;p&gt;If free and open standardized archiving API sound interesting to
577 you, please contact us on IRC
578 (&lt;a href=&quot;irc://irc.freenode.net/%23nikita&quot;&gt;#nikita on
579 irc.freenode.net&lt;/a&gt;) or email
580 (&lt;a href=&quot;https://lists.nuug.no/mailman/listinfo/nikita-noark&quot;&gt;nikita-noark
581 mailing list&lt;/a&gt;).&lt;/p&gt;
582
583 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
584 activities, please send Bitcoin donations to my address
585 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
586 </description>
587 </item>
588
589 <item>
590 <title>Åpen og gjennomsiktig vedlikehold av spesifikasjonen for Noark 5 Tjenestegrensesnitt</title>
591 <link>http://people.skolelinux.org/pere/blog/_pen_og_gjennomsiktig_vedlikehold_av_spesifikasjonen_for_Noark_5_Tjenestegrensesnitt.html</link>
592 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/_pen_og_gjennomsiktig_vedlikehold_av_spesifikasjonen_for_Noark_5_Tjenestegrensesnitt.html</guid>
593 <pubDate>Mon, 11 Mar 2019 16:00:00 +0100</pubDate>
594 <description>&lt;p&gt;Et virksomhetsarkiv for meg, er et arbeidsverktøy der en enkelt kan
595 finne informasjonen en trenger når en trenger det, og der
596 virksomhetens samlede kunnskap er tilgjengelig. Det må være greit å
597 finne frem i, litt som en bibliotek. Men der et bibliotek gjerne tar
598 vare på offentliggjort informasjon som er tilgjengelig flere steder,
599 tar et arkiv vare på virksomhetsintern og til tider personlig
600 informasjon som ofte kun er tilgjengelig fra et sted.&lt;/p&gt;
601
602 &lt;p&gt;Jeg mistenker den eneste måten å sikre at arkivet inneholder den
603 samlede kunnskapen i en virksomhet, er å bruke det som virksomhetens
604 kunnskapslager. Det innebærer å automatisk kopiere (brev, epost,
605 SMS-er etc) inn i arkivet når de sendes og mottas, og der filtrere
606 vekk det en ikke vil ta vare på, og legge på metadata om det som er
607 samlet inn for enkel gjenfinning. En slik bruk av arkivet innebærer at
608 arkivet er en del av daglig virke, ikke at det er siste hvilested for
609 informasjon ingen lenger har daglig bruk for. For å kunne være en del
610 av det daglige virket må arkivet enkelt kunne integreres med andre
611 systemer. I disse dager betyr det å tilby arkivet som en
612 nett-tjeneste til hele virksomheten, tilgjengelig for både mennesker
613 og datamaskiner. Det betyr i tur å både tilby nettsider og et
614 maskinlesbart grensesnitt.&lt;/p&gt;
615
616 &lt;p&gt;For noen år siden erkjente visjonære arkivarer fordelene med et
617 standardisert maskinlesbart grensesnitt til organisasjonens arkiv. De
618 gikk igang med å lage noe de kalte
619 &lt;a href=&quot;https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/&quot;&gt;Noark
620 5 Tjenestegrensesnitt&lt;/a&gt;. Gjort riktig, så åpner slike maskinlesbare
621 grensesnitt for samvirke på tvers av uavhengige programvaresystemer.
622 Gjort feil, vil det blokkere for samvirke og bidra til
623 leverandørinnlåsing. For å gjøre det riktig så må grensesnittet være
624 klart og entydig beskrevet i en spesifikasjon som gjør at
625 spesifikasjonen tolkes på samme måte uavhengig av hvem som leser den,
626 og uavhengig av hvem som tar den i bruk.&lt;/p&gt;
627
628 &lt;p&gt;For å oppnå klare og entydige beskrivelser i en spesifikasjon, som
629 trengs for å kunne få en fri og åpen standard (se
630 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Fri_og__pen_standard__slik_Digistan_ser_det.html&quot;&gt;Digistan-definisjon&lt;/a&gt;),
631 så trengs det en åpen og gjennomsiktig inngangsport med lav terskel,
632 der de som forsøker å ta den i bruk enkelt kan få inn korreksjoner,
633 etterlyse klargjøringer og rapportere uklarheter i spesifikasjonen.
634 En trenger også automatiserte datasystemer som måler og sjekker at et
635 gitt grensesnitt fungerer i tråd med spesifikasjonen.&lt;/p&gt;
636
637 &lt;p&gt;For Noark 5 Tjenestegrensesnittet er det nå etablert en slik åpen
638 og gjennomsiktig inngangsport på prosjekttjenesten github. Denne
639 inngangsporten består først og fremst av en åpen portal som lar enhver
640 se hva som er gjort av endringer i spesifikasjonsteksten over tid, men
641 det hører også med et åpent &amp;quot;diskusjonsforum&amp;quot; der en kan
642 komme med endringsforslag og forespørsler om klargjøringer. Alle
643 registrerte brukere på github kan bidra med innspill til disse
644 henvendelsene.&lt;/p&gt;
645
646 &lt;p&gt;I samarbeide med Arkivverket har jeg fått opprettet et git-depot
647 med spesifikasjonsteksten for tjenestegrensesnittet, der det er lagt
648 inn historikk for endringer i teksten de siste årene, samt lagt inn
649 endringsforslag og forespørsler om klargjøring av teksten. Bakgrunnen
650 for at jeg bidro med dette er at jeg er involvert i
651 &lt;a href=&quot;https://gitlab.com/OsloMet-ABI/nikita-noark5-core&quot;&gt;Nikita-prosjektet&lt;/a&gt;,
652 som lager en fri programvare-utgave av Noark 5 Tjenestegrensesnitt.
653 Det er først når en forsøker å lage noe i tråd med en spesifikasjon at
654 en oppdager hvor mange detaljer som må beskrives i spesifikasjonen for
655 å sikre samhandling.&lt;/p&gt;
656
657 &lt;p&gt;Spesifikasjonen vedlikeholdes i et rent tekstformat, for å ha et
658 format egnet for versjonskontroll via versjontrollsystemet git. Dette
659 gjør det både enkelt å se konkret hvilke endringer som er gjort når,
660 samt gjør det praktisk mulig for enhver med github-konto å sende inn
661 endringsforslag med formuleringer til spesifikasjonsteksten. Dette
662 tekstformatet vises frem som nettsider på github, slik at en ikke
663 trenger spesielle verktøy for å se på siste utgave av
664 spesifikasjonen.&lt;/p&gt;
665
666 &lt;p&gt;Fra dette rene tekstformatet kan det så avledes ulike formater, som
667 HTML for websider, PDF for utskrift på papir og ePub for lesing med
668 ebokleser. Avlednings-systemet (byggesystemet) bruker i dag
669 verktøyene pandoc, latex, docbook-xsl og GNU make til
670 transformasjonen. Tekstformatet som brukes dag er
671 &lt;a href=&quot;https://www.markdownguide.org/&quot;&gt;Markdown&lt;/a&gt;, men det vurderes
672 å
673 &lt;a href=&quot;https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/9&quot;&gt;endre
674 til formatet RST&lt;/a&gt; i fremtiden for bedre styring av utseende på
675 PDF-utgaven.&lt;/p&gt;
676
677 &lt;p&gt;Versjonskontrollsystemet git ble valgt da det er både fleksibelt,
678 avansert og enkelt å ta i bruk. Github ble valgt (foran f.eks. Gitlab
679 som vi bruker i Nikita), da Arkivverket allerede hadde tatt i bruk
680 Github i andre sammenhenger.&lt;/p&gt;
681
682 &lt;p&gt;Enkle endringer i teksten kan gjøres av priviligerte brukere
683 direkte i nettsidene til Github, ved å finne aktuell fil som skal
684 endres (f.eks. kapitler/03-konformitet.md), klikke på den lille
685 bokstaven i høyre hjørne over teksten. Det kommer opp en nettside der
686 en kan endre teksten slik en ønsker. Når en er fornøyd med endringen
687 så må endringen &amp;quot;sjekkes inn&amp;quot; i historikken. Det gjøres ved
688 å gi en kort beskrivelse av endringen (beskriv helst hvorfor endringen
689 trengs, ikke hva som er endret), under overskriften &amp;quot;Commit
690 changes&amp;quot;. En kan og bør legge inn en lengre forklaring i det
691 større skrivefeltet, før en velger om endringen skal sendes direkte
692 til &#39;master&#39;-grenen (dvs. autorativ utgave av spesifikasjonen) eller
693 om en skal lage en ny gren for denne endringen og opprette en
694 endringsforespørsel (aka &amp;quot;Pull Request&amp;quot;/PR). Når alt dette
695 er gjort kan en velge &amp;quot;Commit changes&amp;quot; for å sende inn
696 endringen. Hvis den er lagt inn i &amp;quot;master&amp;quot;-grenen så er den
697 en offisiell del av spesifikasjonen med en gang. Hvis den derimot er
698 en endringsforespørsel, så legges den inn i
699 &lt;a href=&quot;https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/pulls&quot;&gt;listen
700 over forslag til endringer&lt;/a&gt; som venter på korrekturlesing og
701 godkjenning.&lt;/p&gt;
702
703 &lt;p&gt;Større endringer (for eksempel samtidig endringer i flere filer)
704 gjøres enklest ved å hente ned en kopi av git-depoet lokalt og gjøre
705 endringene der før endringsforslaget sendes inn. Denne prosessen er
706 godt beskrivet i dokumentasjon fra github. Git-prosjektet som skal
707 &amp;quot;klones&amp;quot; er
708 &lt;a href=&quot;https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/&quot;&gt;https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/&lt;/a&gt;.&lt;/p&gt;
709
710 &lt;p&gt;For å registrere nye utfordringer (issues) eller kommentere på
711 eksisterende utfordringer benyttes nettsiden
712 &lt;a href=&quot;https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues&quot;&gt;https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues&lt;/a&gt;.
713 I skrivende stund er det 48 åpne og 11 avsluttede utfordringer. Et
714 forslag til hva som bør være med når en beskriver en utfordring er
715 tilgjengelig som utfordring
716 &lt;a href=&quot;https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/14&quot;&gt;#14&lt;/a&gt;.&lt;/p&gt;
717
718 &lt;p&gt;For å bygge en PDF-utgave av spesifikasjonen så bruker jeg i dag en
719 Debian GNU/Linux-maskin med en rekke programpakker installert. Når
720 dette er på plass, så holder det å kjøre kommandoen &#39;make pdf html&#39;
721 kommandolinjen, vente ca. 20 sekunder, før spesifikasjon.pdf og
722 spesifikasjon.html ligger klar på disken. Verktøyene for bygging av
723 PDF, HTML og ePub-utgave er også tilgjengelig på Windows og
724 MacOSX.&lt;/p&gt;
725
726 &lt;p&gt;Github bidrar med rammeverket. Men for at åpent vedlikehold av
727 spesifikasjonen skal fungere, så trengs det folk som bidrar med sin
728 tid og kunnskap. Arkivverket har sagt de skal bidra med innspill og
729 godkjenne forslag til endringer, men det blir størst suksess hvis alle
730 som bruker og lager systemer basert på Noark 5 Tjenestegrensesnitt
731 bidrar med sin kunnskap og kommer med forslag til forebedringer. Jeg
732 stiller. Blir du med?&lt;/p&gt;
733
734 &lt;p&gt;Det er viktig å legge til rette for åpen diskusjon blant alle
735 interesserte, som ikke krever at en må godta lange kontrakter med
736 vilkår for deltagelse. Inntil Arkivverket dukker opp på IRC har vi
737 laget en IRC-kanal der interesserte enkelt kan orientere seg og
738 diskutere tjenestegrensesnittet. Alle er velkommen til å ta turen
739 innom
740 &lt;a href=&quot;https://webchat.freenode.net/?channels=nikita&quot;&gt;#nikita&lt;/a&gt;
741 (f.eks. via irc.freenode.net) for å møte likesinnede.&lt;/p&gt;
742
743 &lt;p&gt;Det holder dog ikke å ha en god spesifikasjon, hvis ikke de som tar
744 den i bruk gjør en like god jobb. For å automatisk teste om et konkret
745 tjenestegrensesnitt følger (min) forståelse av
746 spesifikasjonsdokumentet, har jeg skrevet et program som kobler seg
747 opp til et Noark 5v4 REST-tjeneste og tester alt den finner for å se
748 om det er i henhold til min tolkning av spesifikasjonen. Dette
749 verktøyet er tilgjengelig fra
750 &lt;a href=&quot;https://github.com/petterreinholdtsen/noark5-tester&quot;&gt;https://github.com/petterreinholdtsen/noark5-tester&lt;/a&gt;,
751 og brukes daglig mens vi utvikler Nikita for å sikre at vi ikke
752 introduserer nye feil. Hvis en skal sikre samvirke på tvers av ulike
753 systemer er det helt essensielt å kunne raskt og automatisk sjekke at
754 tjenestegrensesnittet oppfører seg som forventet. Jeg håper andre som
755 lager sin utgave av tjenestegrensesnittet vi bruke dette verktøyet,
756 slik at vi tidlig og raskt kan oppdage hvor vi har tolket
757 spesifikasjonen ulikt, og dermed få et godt grunnlag for å gjøre
758 spesifikasjonsteksten enda klarere og bedre.&lt;/p&gt;
759
760 &lt;p&gt;Dagens beskrivelse av Noark 5 Tjenestegrensesnitt er et svært godt
761 utgangspunkt for å gjøre virksomhetens arkiv til et dynamisk og
762 sentralt arbeidsverktøy i organisasjonen. Blir du med å gjøre den
763 enda bedre?&lt;/p&gt;
764 </description>
765 </item>
766
767 <item>
768 <title>Dårlig med sikkerhetsoppdateringer for Ruters billettautomater i Oslo?</title>
769 <link>http://people.skolelinux.org/pere/blog/D_rlig_med_sikkerhetsoppdateringer_for_Ruters_billettautomater_i_Oslo_.html</link>
770 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/D_rlig_med_sikkerhetsoppdateringer_for_Ruters_billettautomater_i_Oslo_.html</guid>
771 <pubDate>Wed, 13 Feb 2019 10:45:00 +0100</pubDate>
772 <description>&lt;p&gt;&lt;a href=&quot;http://people.skolelinux.org/pere/blog/Er_billettautomatene_til_kollektivtrafikken_i_Oslo_uten_sikkerhetsoppdateringer_.html&quot;&gt;For
773 syv år siden&lt;/a&gt; oppdaget jeg at billettautomater for
774 kollektivtrafikken i Oslo kjørte
775 &lt;a href=&quot;http://en.wikipedia.org/wiki/Windows_2000&quot;&gt;Windows 2000
776 Professional&lt;/a&gt;. Operativsystemet har ikke fått sikkerhetsfikser fra
777 Microsoft siden 2010-07-13 i følge dem selv. Den samme versjonen av
778 operativsystemet var i bruk
779 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Fortsatt_ingen_sikkerhetsoppdateringer_for_billettautomatene_til_kollektivtrafikken_i_Oslo_.html&quot;&gt;for
780 to og et halvt år siden&lt;/a&gt;, og jammen er det ikke også i bruk den dag
781 i dag:&lt;/p&gt;
782
783 &lt;p align=&quot;center&quot;&gt;&lt;a href=&quot;http://people.skolelinux.org/pere/blog/images/2019-02-13-ruter-win2000pro.jpeg&quot;&gt;&lt;img width=&quot;40%&quot; src=&quot;http://people.skolelinux.org/pere/blog/images/2019-02-13-ruter-win2000pro.jpeg&quot; alt=&quot;[Bilde av Ruters billettautomat med Windows 2000-feilmelding]&quot;&gt;&lt;/a&gt;&lt;/p&gt;
784
785 &lt;p&gt;Bildet er tatt i dag av Kirill Miazine og tilgjengelig for bruk med
786 bruksvilkårene til
787 &lt;a href=&quot;http://creativecommons.org/licenses/by/4.0/&quot;&gt;Creative
788 Commons Attribution 4.0 International (CC BY 4.0)&lt;/a&gt;.&lt;/p&gt;
789
790 &lt;p&gt;Kanskje det hadde vært
791 &lt;a href=&quot;https://www.aftenposten.no/osloby/i/awqgO/Her-kjorer-du-gratis-trikk-og-buss&quot;&gt;bedre
792 med gratis kollektivtrafikk&lt;/A&gt;, slik at vi slapp å stole på
793 datakompetansen til Ruter for å verne våre privatliv samt holde
794 personopplysninger og betalingsinformasjon unna uvedkommende. Eneste
795 måten å sikre at hvor en befinner seg ikke kan hentes ut fra Ruters
796 systemer er å betale enkeltbilletter med kontanter. Jeg vet at Ruter
797 har en god historie om hvor personvernvennlige mobil-app og
798 RFID-kortene er, men den historien er ikke mulig å uavhengig
799 kontrollere uten priviligert tilgang til interne system og blir dermed
800 bare nok en god historie basert på tillit til de som forteller
801 historien. Det er ikke slik en sikrer privatsfæren. Det gjør en ved
802 å sikre at det ikke (kan) registreres informasjon om ens person.&lt;/p&gt;
803
804 &lt;p&gt;Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
805 det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
806 til min adresse
807 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.
808 Merk, betaling med bitcoin er ikke anonymt. :)&lt;/p&gt;
809 </description>
810 </item>
811
812 </channel>
813 </rss>