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">
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" />
10 <title>Official MIME type
"text/vnd.sosi
" for SOSI map data
</title>
11 <link>http://people.skolelinux.org/pere/blog/Official_MIME_type__text_vnd_sosi__for_SOSI_map_data.html
</link>
12 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Official_MIME_type__text_vnd_sosi__for_SOSI_map_data.html
</guid>
13 <pubDate>Tue,
4 Jun
2019 09:
20:
00 +
0200</pubDate>
14 <description><p
>Just
15 days ago,
15 <ahref=
"http://people.skolelinux.org/pere/blog/MIME_type__text_vnd_sosi__for_SOSI_map_data.html
">I
16 mentioned
</a
> my submission to IANA to register an official MIME type
17 for the SOSI vector map format. This morning, just an hour ago, I was
19 <a href=
"https://www.iana.org/assignments/media-types/text/vnd.sosi
">the
20 MIME type
"text/vnd.sosi
"</a
> is registered for this format. In
21 addition to this registration, my
22 <a href=
"https://github.com/file/file/blob/master/magic/Magdir/sosi
">file(
1)
23 patch for a pattern matching rule for SOSI files
</a
> has been accepted
24 into the official source of that program (pending a new release), and
25 I
've been told by the team behind
26 <a href=
"https://www.nationalarchives.gov.uk/PRONOM/
">PRONOM
</a
> that
27 the SOSI format will be included in the next release of PRONOM, which
28 they plan to release this summer around July.
</p
>
30 <p
>I am very happy to see all of this fall into place, for use by
31 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/
">the
32 Noark
5 Tjenestegrensesnitt
</a
> implementations.
</p
>
34 <p
>As usual, if you use Bitcoin and want to show your support of my
35 activities, please send Bitcoin donations to my address
36 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
41 <title>The space rover coquine, or how I ended up on the dark side of the moon
</title>
42 <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>
43 <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>
44 <pubDate>Sun,
2 Jun
2019 23:
55:
00 +
0200</pubDate>
45 <description><p
>A while back a college and friend from Debian and the Skolelinux /
46 Debian Edu project approached me, asking if I knew someone that might
47 be interested in helping out with a technology project he was running
48 as a teacher at
<a href=
"https://www.ecolefrancodanoise.dk/
">L
'école
49 franco-danoise
</a
> - the Danish-French school and kindergarden. The
50 kids were building robots, rovers. The story behind it is to build a
52 <a href=
"http://blog.ecolefrancodanoise.dk/first-week-on-the-dark-side
">on
53 the dark side of the moon
</a
>, and remote control it. As travel cost
54 was a bit high for the final destination, and they wanted to test the
55 concept first, he was looking for volunteers to host a rover for the
56 kids to control in a foreign country. I ended up volunteering as a
57 host, and last week the rover arrived. It took a while to arrive
58 after
<a href=
"http://blog.ecolefrancodanoise.dk/model-moms
">it was
59 built and shipped
</a
>, because of customs confusion. Luckily we were
60 able fix it quickly with help from my colleges at work.
</p
>
62 <p
>This is what it looked like when the rover arrived. Note the cute
63 eyes looking up on me from the wrapping
</p
>
65 <img src=
"http://people.skolelinux.org/pere/blog/images/
2019-
06-
02-robot-dark-side-of-moon-esken-med-det-rare-i.jpeg
" width=
"32%
" style=
"clear:left
"/
>
66 <img src=
"http://people.skolelinux.org/pere/blog/images/
2019-
06-
02-robot-dark-side-of-moon-den-ser-meg.jpeg
" width=
"32%
" style=
"clear:left
"/
>
67 <img src=
"http://people.skolelinux.org/pere/blog/images/
2019-
06-
02-robot-dark-side-of-moon-en-skrue-loes.jpeg
" width=
"32%
" style=
"clear:left
"/
>
69 <p style=
"text-align:left
">Once the robot arrived, we needed to track
70 down batteries and figure out how to build custom firmware for it with
71 the appropriate wifi settings. I asked a friend if I could get two
72 18650 batteries from his pile of Tesla batteries (he had them from the
73 wrack of a crashed Tesla), so now the rover is running on Tesla
77 <a href=
"https://gitlab.com/ecolefrancodanoise/arduino-efd/
">the rover
78 firmware
</a
> proved a bit harder, as the code did not work out of the
79 box with the Arduino IDE package in Debian Buster. I suspect this is
81 <a href=
"https://github.com/arduino/Arduino/pull/
2703"> license problem
82 with arduino
</a
> blocking Debian from upgrading to the latest version.
83 In the end we gave up debugging why the IDE failed to find the
84 required libraries, and ended up using the Arduino Makefile from the
85 <a href=
"https://tracker.debian.org/pkg/arduino-mk
">arduino-mk Debian
86 package
</a
> instead. Unfortunately the camera library is missing from
87 the Arduino environment in Debian, so we disabled the camera support
88 for the first firmware build, to get something up and running. With
89 this reduced firmware, the robot could be controlled via the
90 controller server, driving around and measuring distance using its
91 internal acoustic sensor.
</p
>
93 <p
>Next, With some help from my friend in Denmark, which checked in the
94 camera library into the gitlab repository for me to use, we were able
95 to build a new and more complete version of the firmware, and the
96 robot is now up and running. This is what the
"commander
" web page
97 look like after taking a measurement and a snapshot:
</p
>
99 <img src=
"http://people.skolelinux.org/pere/blog/images/
2019-
06-
02-robot-dark-side-of-moon-commander.png
" width=
"40%
" border=
"1" align=
"center
"/
>
101 <p
>If you want to learn more about this project, you can check out the
102 <a href=
"https://hackaday.io/project/
164082-the-dark-side-challenge
">The
103 Dark Side Challenge
</a
> Hackaday web pages.
</p
>
105 <p
>As usual, if you use Bitcoin and want to show your support of my
106 activities, please send Bitcoin donations to my address
107 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
112 <title>Nikita version
0.4 released - free software archive API server
</title>
113 <link>http://people.skolelinux.org/pere/blog/Nikita_version_0_4_released___free_software_archive_API_server.html
</link>
114 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Nikita_version_0_4_released___free_software_archive_API_server.html
</guid>
115 <pubDate>Wed,
22 May
2019 11:
30:
00 +
0200</pubDate>
116 <description><p
>This morning, a new release of
117 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core/
">Nikita
118 Noark
5 core project
</a
> was
119 <a href=
"https://lists.nuug.no/pipermail/nikita-noark/
2019-May/
000468.html
">announced
120 on the project mailing list
</a
>. The Nikita free software solution is
121 an implementation of the Norwegian archive standard Noark
5 used by
122 government offices in Norway. These were the changes in version
0.4
123 since version
0.3, see the email link above for links to a demo site:
</p
>
127 <li
>Roll out OData handling to all endpoints where applicable
</li
>
128 <li
>Changed the relation key for
"ny-journalpost
" to the official one.
</li
>
129 <li
>Better link generation on outgoing links.
</li
>
130 <li
>Tidy up code and make code and approaches more consistent throughout
131 the codebase
</li
>
132 <li
>Update rels to be in compliance with updated version in the
133 interface standard
</li
>
134 <li
>Avoid printing links on empty objects as they can
't have links
</li
>
135 <li
>Small bug fixes and improvements
</li
>
136 <li
>Start moving generation of outgoing links to @Service layer so access
137 control can be used when generating links
</li
>
138 <li
>Log exception that was being swallowed so it
's traceable
</li
>
139 <li
>Fix name mapping problem
</li
>
140 <li
>Update templated printing so templated should only be printed if it
141 is set true. Requires more work to roll out across entire
142 application.
</li
>
143 <li
>Remove Record-
>DocumentObject as per domain model of n5v4
</li
>
144 <li
>Add ability to delete lists filtered with OData
</li
>
145 <li
>Return NO_CONTENT (
204) on delete as per interface standard
</li
>
146 <li
>Introduce support for ConstraintViolationException exception
</li
>
147 <li
>Make Service classes extend NoarkService
</li
>
148 <li
>Make code base respect X-Forwarded-Host, X-Forwarded-Proto and
149 X-Forwarded-Port
</li
>
150 <li
>Update CorrespondencePart* code to be more in line with Single
151 Responsibility Principle
</li
>
152 <li
>Make package name follow directory structure
</li
>
153 <li
>Make sure Document number starts at
1, not
0</li
>
154 <li
>Fix isues discovered by FindBugs
</li
>
155 <li
>Update from Date to ZonedDateTime
</li
>
156 <li
>Fix wrong tablename
</li
>
157 <li
>Introduce Service layer tests
</li
>
158 <li
>Improvements to CorrespondencePart
</li
>
159 <li
>Continued work on Class / Classificationsystem
</li
>
160 <li
>Fix feature where authors were stored as storageLocations
</li
>
161 <li
>Update HQL builder for OData
</li
>
162 <li
>Update OData search capability from webpage
</li
>
166 <p
>If free and open standardized archiving API sound interesting to
167 you, please contact us on IRC
168 (
<a href=
"irc://irc.freenode.net/%
23nikita
">#nikita on
169 irc.freenode.net
</a
>) or email
170 (
<a href=
"https://lists.nuug.no/mailman/listinfo/nikita-noark
">nikita-noark
171 mailing list
</a
>).
</p
>
173 <p
>As usual, if you use Bitcoin and want to show your support of my
174 activities, please send Bitcoin donations to my address
175 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
180 <title>MIME type
"text/vnd.sosi
" for SOSI map data
</title>
181 <link>http://people.skolelinux.org/pere/blog/MIME_type__text_vnd_sosi__for_SOSI_map_data.html
</link>
182 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/MIME_type__text_vnd_sosi__for_SOSI_map_data.html
</guid>
183 <pubDate>Mon,
20 May
2019 08:
35:
00 +
0200</pubDate>
184 <description><p
>As part of my involvement in the work to
185 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard
">standardise
186 a REST based API for Noark
5</a
>, the Norwegian archiving standard, I
187 spent some time the last few months to try to register a
188 <a href=
"https://www.iana.org/assignments/media-types/
">MIME type
</a
>
189 and
<a href=
"https://www.nationalarchives.gov.uk/PRONOM/
">PRONOM
190 code
</a
> for the SOSI file format. The background is that there is a
191 set of formats approved for long term storage and archiving in Norway,
192 and among these formats, SOSI is the only format missing a MIME type
193 and PRONOM code.
</p
>
195 <p
>What is SOSI, you might ask? To quote Wikipedia: SOSI is short for
196 Samordnet Opplegg for Stedfestet Informasjon (literally
"Coordinated
197 Approach for Spatial Information
", but more commonly expanded in
198 English to Systematic Organization of Spatial Information). It is a
199 text based file format for geo-spatial vector information used in
200 Norway. Information about the SOSI format can be found in English
201 from
<a href=
"https://en.wikipedia.org/wiki/SOSI
">Wikipedia
</a
>. The
202 specification is available in Norwegian from
203 <a href=
"https://www.kartverket.no/geodataarbeid/Standarder/SOSI/
">the
204 Norwegian mapping authority
</a
>. The SOSI standard, which originated
205 in the beginning of nineteen eighties, was the inspiration and formed the
206 basis for the XML based
207 <a href=
"https://en.wikipedia.org/wiki/Geography_Markup_Language
">Geography
208 Markup Language
</a
>.
</p
>
210 <p
>I have so far written
211 <a href=
"https://github.com/file/file/pull/
67">a pattern matching
212 rule
</a
> for the file(
1) unix tool to recognize SOSI files, submitted
213 a request to the PRONOM project to have a PRONOM ID assigned to the
214 format (reference TNA1555078202S60), and today send a request to IANA
215 to register the
"text/vnd.sosi
" MIME type for this format (referanse
216 <a href=
"https://tools.iana.org/public-view/viewticket/
1143144">IANA
217 #
1143144</a
>). If all goes well, in a few months, anyone implementing
218 the Noark
5 Tjenestegrensesnitt API spesification should be able to
219 use an official MIME type and PRONOM code for SOSI files. In
220 addition, anyone using SOSI files on Linux should be able to
221 automatically recognise the format and web sites handing out SOSI
222 files can begin providing a more specific MIME type. So far, SOSI
223 files has been handed out from web sites using the
224 "application/octet-stream
" MIME type, which is just a nice way of
225 stating
"I do not know
". Soon, we will know. :)
</p
>
227 <p
>As usual, if you use Bitcoin and want to show your support of my
228 activities, please send Bitcoin donations to my address
229 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
234 <title>PlantUML for text based UML diagram modelling - nice free software
</title>
235 <link>http://people.skolelinux.org/pere/blog/PlantUML_for_text_based_UML_diagram_modelling___nice_free_software.html
</link>
236 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/PlantUML_for_text_based_UML_diagram_modelling___nice_free_software.html
</guid>
237 <pubDate>Mon,
25 Mar
2019 09:
35:
00 +
0100</pubDate>
238 <description><p
>As part of my involvement with the
239 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core/
">Nikita
240 Noark
5 core project
</a
>, I have been proposing improvements to the
241 API specification created by
<a href=
"https://www.arkivverket.no/
">The
242 National Archives of Norway
</a
> and helped migrating the text from a
243 version control system unfriendly binary format (docx) to Markdown in
244 git. Combined with the migration to a public git repository (on
245 github), this has made it possible for anyone to suggest improvement
246 to the text.
</p
>
248 <p
>The specification is filled with UML diagrams. I believe the
249 original diagrams were modelled using Sparx Systems Enterprise
250 Architect, and exported as EMF files for import into docx. This
251 approach make it very hard to track changes using a version control
252 system. To improve the situation I have been looking for a good text
253 based UML format with associated command line free software tools on
254 Linux and Windows, to allow anyone to send in corrections to the UML
255 diagrams in the specification. The tool must be text based to work
256 with git, and command line to be able to run it automatically to
257 generate the diagram images. Finally, it must be free software to
258 allow anyone, even those that can not accept a non-free software
259 license, to contribute.
</p
>
261 <p
>I did not know much about free software UML modelling tools when I
262 started. I have used dia and inkscape for simple modelling in the
263 past, but neither are available on Windows, as far as I could tell. I
265 <a href=
"https://modeling-languages.com/text-uml-tools-complete-list/
">list
266 of text mode uml tools
</a
>, and tested out a few of the tools listed
267 there.
<a href=
"http://plantuml.com/
">The PlantUML tool
</a
> seemed
268 most promising. After verifying that the packages
269 <a href=
"https://tracker.debian.org/pkg/plantuml
">is available in
270 Debian
</a
> and found
<a href=
"https://github.com/plantuml/plantuml
">its
271 Java source
</a
> under a GPL license on github, I set out to test if it
272 could represent the diagrams we needed, ie the ones currently in
273 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/
">the
274 Noark
5 Tjenestegrensesnitt specification
</a
>. I am happy to report
275 that it could represent them, even thought it have a few warts here
278 <p
>After a few days of modelling I completed the task this weekend. A
279 temporary link to the complete set of diagrams (original and from
280 PlantUML) is available in
281 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/
76">the
282 github issue discussing the need for a text based UML format
</a
>, but
283 please note I lack a sensible tool to convert EMF files to PNGs, so
284 the
"original
" rendering is not as good as the original was in the
285 publised PDF.
</p
>
287 <p
>Here is an example UML diagram, showing the core classes for
288 keeping metadata about archived documents:
</p
>
292 skinparam classAttributeIconSize
0
294 !include media/uml-class-arkivskaper.iuml
295 !include media/uml-class-arkiv.iuml
296 !include media/uml-class-klassifikasjonssystem.iuml
297 !include media/uml-class-klasse.iuml
298 !include media/uml-class-arkivdel.iuml
299 !include media/uml-class-mappe.iuml
300 !include media/uml-class-merknad.iuml
301 !include media/uml-class-registrering.iuml
302 !include media/uml-class-basisregistrering.iuml
303 !include media/uml-class-dokumentbeskrivelse.iuml
304 !include media/uml-class-dokumentobjekt.iuml
305 !include media/uml-class-konvertering.iuml
306 !include media/uml-datatype-elektronisksignatur.iuml
308 Arkivstruktur.Arkivskaper
"+arkivskaper
1..*
" <-o
"+arkiv
0..*
" Arkivstruktur.Arkiv
309 Arkivstruktur.Arkiv o--
> "+underarkiv
0..*
" Arkivstruktur.Arkiv
310 Arkivstruktur.Arkiv
"+arkiv
1" o--
> "+arkivdel
0..*
" Arkivstruktur.Arkivdel
311 Arkivstruktur.Klassifikasjonssystem
"+klassifikasjonssystem [
0.
.1]
" <--o
"+arkivdel
1..*
" Arkivstruktur.Arkivdel
312 Arkivstruktur.Klassifikasjonssystem
"+klassifikasjonssystem [
0.
.1]
" o--
> "+klasse
0..*
" Arkivstruktur.Klasse
313 Arkivstruktur.Arkivdel
"+arkivdel
0.
.1" o--
> "+mappe
0..*
" Arkivstruktur.Mappe
314 Arkivstruktur.Arkivdel
"+arkivdel
0.
.1" o--
> "+registrering
0..*
" Arkivstruktur.Registrering
315 Arkivstruktur.Klasse
"+klasse
0.
.1" o--
> "+mappe
0..*
" Arkivstruktur.Mappe
316 Arkivstruktur.Klasse
"+klasse
0.
.1" o--
> "+registrering
0..*
" Arkivstruktur.Registrering
317 Arkivstruktur.Mappe --
> "+undermappe
0..*
" Arkivstruktur.Mappe
318 Arkivstruktur.Mappe
"+mappe
0.
.1" o--
> "+registrering
0..*
" Arkivstruktur.Registrering
319 Arkivstruktur.Merknad
"+merknad
0..*
" <--* Arkivstruktur.Mappe
320 Arkivstruktur.Merknad
"+merknad
0..*
" <--* Arkivstruktur.Dokumentbeskrivelse
321 Arkivstruktur.Basisregistrering -|
> Arkivstruktur.Registrering
322 Arkivstruktur.Merknad
"+merknad
0..*
" <--* Arkivstruktur.Basisregistrering
323 Arkivstruktur.Registrering
"+registrering
1..*
" o--
> "+dokumentbeskrivelse
0..*
" Arkivstruktur.Dokumentbeskrivelse
324 Arkivstruktur.Dokumentbeskrivelse
"+dokumentbeskrivelse
1" o-
> "+dokumentobjekt
0..*
" Arkivstruktur.Dokumentobjekt
325 Arkivstruktur.Dokumentobjekt *-
> "+konvertering
0..*
" Arkivstruktur.Konvertering
326 Arkivstruktur.ElektroniskSignatur -[hidden]-
> Arkivstruktur.Dokumentobjekt
330 <p
><a href=
"http://plantuml.com/class-diagram
">The format
</a
> is quite
331 compact, with little redundant information. The text expresses
332 entities and relations, and there is little layout related fluff. One
333 can reuse content by using include files, allowing for consistent
334 naming across several diagrams. The include files can be standalone
335 PlantUML too. Here is the content of
336 <tt
>media/uml-class-arkivskaper.iuml
<tt
>:
</p
>
340 class Arkivstruktur.Arkivskaper
<Arkivenhet
> {
341 +arkivskaperID : string
342 +arkivskaperNavn : string
343 +beskrivelse : string [
0.
.1]
348 <p
>This is what the complete diagram for the PlantUML notation above
351 <p
><img width=
"80%
" src=
"http://people.skolelinux.org/pere/blog/images/
2019-
03-
25-noark5-plantuml-diagrameksempel.png
"></p
>
353 <p
>A cool feature of PlantUML is that the generated PNG files include
354 the entire original source diagram as text. The source (with include
355 statements expanded) can be extracted using for example
356 <tt
>exiftool
</tt
>. Another cool feature is that parts of the entities
357 can be hidden after inclusion. This allow to use include files with
358 all attributes listed, even for UML diagrams that should not list any
359 attributes.
</p
>
361 <p
>The diagram also show some of the warts. Some times the layout
362 engine place text labels on top of each other, and some times it place
363 the class boxes too close to each other, not leaving room for the
364 labels on the relationship arrows. The former can be worked around by
365 placing extra newlines in the labes (ie
"\n
"). I did not do it here
366 to be able to demonstrate the issue. I have not found a good way
367 around the latter, so I normally try to reduce the problem by changing
368 from vertical to horizontal links to improve the layout.
</p
>
370 <p
>All in all, I am quite happy with PlantUML, and very impressed with
371 how quickly its lead developer responds to questions. So far I got an
372 answer to my questions in a few hours when I send an email. I
373 definitely recommend looking at PlantUML if you need to make UML
374 diagrams. Note, PlantUML can draw a lot more than class relations.
375 Check out the documention for a complete list. :)
</p
>
377 <p
>As usual, if you use Bitcoin and want to show your support of my
378 activities, please send Bitcoin donations to my address
379 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
384 <title>Release
0.3 of free software archive API system Nikita announced
</title>
385 <link>http://people.skolelinux.org/pere/blog/Release_0_3_of_free_software_archive_API_system_Nikita_announced.html
</link>
386 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Release_0_3_of_free_software_archive_API_system_Nikita_announced.html
</guid>
387 <pubDate>Sun,
24 Mar
2019 14:
30:
00 +
0100</pubDate>
388 <description><p
>Yesterday, a new release of
389 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core/
">Nikita
390 Noark
5 core project
</a
> was
391 <a href=
"https://lists.nuug.no/pipermail/nikita-noark/
2019-March/
000451.html
">announced
392 on the project mailing list
</a
>. The free software solution is an
393 implementation of the Norwegian archive standard Noark
5 used by
394 government offices in Norway. These were the changes in version
0.3
395 since version
0.2.1 (from NEWS.md):
</p
>
398 <li
>Improved ClassificationSystem and Class behaviour.
</li
>
399 <li
>Tidied up known inconsistencies between domain model and hateaos links.
</li
>
400 <li
>Added experimental code for blockchain integration.
</li
>
401 <li
>Make token expiry time configurable at upstart from properties file.
</li
>
402 <li
>Continued work on OData search syntax.
</li
>
403 <li
>Started work on pagination for entities, partly implemented for Saksmappe.
</li
>
404 <li
>Finalise ClassifiedCode Metadata entity.
</li
>
405 <li
>Implement mechanism to check if authentication token is still
406 valid. This allow the GUI to return a more sensible message to the
407 user if the token is expired.
</li
>
408 <li
>Reintroduce browse.html page to allow user to browse JSON API using
409 hateoas links.
</li
>
410 <li
>Fix bug in handling file/mappe sequence number. Year change was
411 not properly handled.
</li
>
412 <li
>Update application yml files to be in sync with current development.
</li
>
413 <li
>Stop
'converting
' everything to PDF using libreoffice. Only
414 convert the file formats doc, ppt, xls, docx, pptx, xlsx, odt, odp
416 <li
>Continued code style fixing, making code more readable.
</li
>
417 <li
>Minor bug fixes.
</li
>
421 <p
>If free and open standardized archiving API sound interesting to
422 you, please contact us on IRC
423 (
<a href=
"irc://irc.freenode.net/%
23nikita
">#nikita on
424 irc.freenode.net
</a
>) or email
425 (
<a href=
"https://lists.nuug.no/mailman/listinfo/nikita-noark
">nikita-noark
426 mailing list
</a
>).
</p
>
428 <p
>As usual, if you use Bitcoin and want to show your support of my
429 activities, please send Bitcoin donations to my address
430 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
435 <title>Åpen og gjennomsiktig vedlikehold av spesifikasjonen for Noark
5 Tjenestegrensesnitt
</title>
436 <link>http://people.skolelinux.org/pere/blog/_pen_og_gjennomsiktig_vedlikehold_av_spesifikasjonen_for_Noark_5_Tjenestegrensesnitt.html
</link>
437 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/_pen_og_gjennomsiktig_vedlikehold_av_spesifikasjonen_for_Noark_5_Tjenestegrensesnitt.html
</guid>
438 <pubDate>Mon,
11 Mar
2019 16:
00:
00 +
0100</pubDate>
439 <description><p
>Et virksomhetsarkiv for meg, er et arbeidsverktøy der en enkelt kan
440 finne informasjonen en trenger når en trenger det, og der
441 virksomhetens samlede kunnskap er tilgjengelig. Det må være greit å
442 finne frem i, litt som en bibliotek. Men der et bibliotek gjerne tar
443 vare på offentliggjort informasjon som er tilgjengelig flere steder,
444 tar et arkiv vare på virksomhetsintern og til tider personlig
445 informasjon som ofte kun er tilgjengelig fra et sted.
</p
>
447 <p
>Jeg mistenker den eneste måten å sikre at arkivet inneholder den
448 samlede kunnskapen i en virksomhet, er å bruke det som virksomhetens
449 kunnskapslager. Det innebærer å automatisk kopiere (brev, epost,
450 SMS-er etc) inn i arkivet når de sendes og mottas, og der filtrere
451 vekk det en ikke vil ta vare på, og legge på metadata om det som er
452 samlet inn for enkel gjenfinning. En slik bruk av arkivet innebærer at
453 arkivet er en del av daglig virke, ikke at det er siste hvilested for
454 informasjon ingen lenger har daglig bruk for. For å kunne være en del
455 av det daglige virket må arkivet enkelt kunne integreres med andre
456 systemer. I disse dager betyr det å tilby arkivet som en
457 nett-tjeneste til hele virksomheten, tilgjengelig for både mennesker
458 og datamaskiner. Det betyr i tur å både tilby nettsider og et
459 maskinlesbart grensesnitt.
</p
>
461 <p
>For noen år siden erkjente visjonære arkivarer fordelene med et
462 standardisert maskinlesbart grensesnitt til organisasjonens arkiv. De
463 gikk igang med å lage noe de kalte
464 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/
">Noark
465 5 Tjenestegrensesnitt
</a
>. Gjort riktig, så åpner slike maskinlesbare
466 grensesnitt for samvirke på tvers av uavhengige programvaresystemer.
467 Gjort feil, vil det blokkere for samvirke og bidra til
468 leverandørinnlåsing. For å gjøre det riktig så må grensesnittet være
469 klart og entydig beskrevet i en spesifikasjon som gjør at
470 spesifikasjonen tolkes på samme måte uavhengig av hvem som leser den,
471 og uavhengig av hvem som tar den i bruk.
</p
>
473 <p
>For å oppnå klare og entydige beskrivelser i en spesifikasjon, som
474 trengs for å kunne få en fri og åpen standard (se
475 <a href=
"http://people.skolelinux.org/pere/blog/Fri_og__pen_standard__slik_Digistan_ser_det.html
">Digistan-definisjon
</a
>),
476 så trengs det en åpen og gjennomsiktig inngangsport med lav terskel,
477 der de som forsøker å ta den i bruk enkelt kan få inn korreksjoner,
478 etterlyse klargjøringer og rapportere uklarheter i spesifikasjonen.
479 En trenger også automatiserte datasystemer som måler og sjekker at et
480 gitt grensesnitt fungerer i tråd med spesifikasjonen.
</p
>
482 <p
>For Noark
5 Tjenestegrensesnittet er det nå etablert en slik åpen
483 og gjennomsiktig inngangsport på prosjekttjenesten github. Denne
484 inngangsporten består først og fremst av en åpen portal som lar enhver
485 se hva som er gjort av endringer i spesifikasjonsteksten over tid, men
486 det hører også med et åpent
&quot;diskusjonsforum
&quot; der en kan
487 komme med endringsforslag og forespørsler om klargjøringer. Alle
488 registrerte brukere på github kan bidra med innspill til disse
489 henvendelsene.
</p
>
491 <p
>I samarbeide med Arkivverket har jeg fått opprettet et git-depot
492 med spesifikasjonsteksten for tjenestegrensesnittet, der det er lagt
493 inn historikk for endringer i teksten de siste årene, samt lagt inn
494 endringsforslag og forespørsler om klargjøring av teksten. Bakgrunnen
495 for at jeg bidro med dette er at jeg er involvert i
496 <a href=
"https://gitlab.com/OsloMet-ABI/nikita-noark5-core
">Nikita-prosjektet
</a
>,
497 som lager en fri programvare-utgave av Noark
5 Tjenestegrensesnitt.
498 Det er først når en forsøker å lage noe i tråd med en spesifikasjon at
499 en oppdager hvor mange detaljer som må beskrives i spesifikasjonen for
500 å sikre samhandling.
</p
>
502 <p
>Spesifikasjonen vedlikeholdes i et rent tekstformat, for å ha et
503 format egnet for versjonskontroll via versjontrollsystemet git. Dette
504 gjør det både enkelt å se konkret hvilke endringer som er gjort når,
505 samt gjør det praktisk mulig for enhver med github-konto å sende inn
506 endringsforslag med formuleringer til spesifikasjonsteksten. Dette
507 tekstformatet vises frem som nettsider på github, slik at en ikke
508 trenger spesielle verktøy for å se på siste utgave av
509 spesifikasjonen.
</p
>
511 <p
>Fra dette rene tekstformatet kan det så avledes ulike formater, som
512 HTML for websider, PDF for utskrift på papir og ePub for lesing med
513 ebokleser. Avlednings-systemet (byggesystemet) bruker i dag
514 verktøyene pandoc, latex, docbook-xsl og GNU make til
515 transformasjonen. Tekstformatet som brukes dag er
516 <a href=
"https://www.markdownguide.org/
">Markdown
</a
>, men det vurderes
518 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/
9">endre
519 til formatet RST
</a
> i fremtiden for bedre styring av utseende på
520 PDF-utgaven.
</p
>
522 <p
>Versjonskontrollsystemet git ble valgt da det er både fleksibelt,
523 avansert og enkelt å ta i bruk. Github ble valgt (foran f.eks. Gitlab
524 som vi bruker i Nikita), da Arkivverket allerede hadde tatt i bruk
525 Github i andre sammenhenger.
</p
>
527 <p
>Enkle endringer i teksten kan gjøres av priviligerte brukere
528 direkte i nettsidene til Github, ved å finne aktuell fil som skal
529 endres (f.eks. kapitler/
03-konformitet.md), klikke på den lille
530 bokstaven i høyre hjørne over teksten. Det kommer opp en nettside der
531 en kan endre teksten slik en ønsker. Når en er fornøyd med endringen
532 så må endringen
&quot;sjekkes inn
&quot; i historikken. Det gjøres ved
533 å gi en kort beskrivelse av endringen (beskriv helst hvorfor endringen
534 trengs, ikke hva som er endret), under overskriften
&quot;Commit
535 changes
&quot;. En kan og bør legge inn en lengre forklaring i det
536 større skrivefeltet, før en velger om endringen skal sendes direkte
537 til
'master
'-grenen (dvs. autorativ utgave av spesifikasjonen) eller
538 om en skal lage en ny gren for denne endringen og opprette en
539 endringsforespørsel (aka
&quot;Pull Request
&quot;/PR). Når alt dette
540 er gjort kan en velge
&quot;Commit changes
&quot; for å sende inn
541 endringen. Hvis den er lagt inn i
&quot;master
&quot;-grenen så er den
542 en offisiell del av spesifikasjonen med en gang. Hvis den derimot er
543 en endringsforespørsel, så legges den inn i
544 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/pulls
">listen
545 over forslag til endringer
</a
> som venter på korrekturlesing og
546 godkjenning.
</p
>
548 <p
>Større endringer (for eksempel samtidig endringer i flere filer)
549 gjøres enklest ved å hente ned en kopi av git-depoet lokalt og gjøre
550 endringene der før endringsforslaget sendes inn. Denne prosessen er
551 godt beskrivet i dokumentasjon fra github. Git-prosjektet som skal
552 &quot;klones
&quot; er
553 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/
">https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/
</a
>.
</p
>
555 <p
>For å registrere nye utfordringer (issues) eller kommentere på
556 eksisterende utfordringer benyttes nettsiden
557 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues
">https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues
</a
>.
558 I skrivende stund er det
48 åpne og
11 avsluttede utfordringer. Et
559 forslag til hva som bør være med når en beskriver en utfordring er
560 tilgjengelig som utfordring
561 <a href=
"https://github.com/arkivverket/noark5-tjenestegrensesnitt-standard/issues/
14">#
14</a
>.
</p
>
563 <p
>For å bygge en PDF-utgave av spesifikasjonen så bruker jeg i dag en
564 Debian GNU/Linux-maskin med en rekke programpakker installert. Når
565 dette er på plass, så holder det å kjøre kommandoen
'make pdf html
' på
566 kommandolinjen, vente ca.
20 sekunder, før spesifikasjon.pdf og
567 spesifikasjon.html ligger klar på disken. Verktøyene for bygging av
568 PDF, HTML og ePub-utgave er også tilgjengelig på Windows og
571 <p
>Github bidrar med rammeverket. Men for at åpent vedlikehold av
572 spesifikasjonen skal fungere, så trengs det folk som bidrar med sin
573 tid og kunnskap. Arkivverket har sagt de skal bidra med innspill og
574 godkjenne forslag til endringer, men det blir størst suksess hvis alle
575 som bruker og lager systemer basert på Noark
5 Tjenestegrensesnitt
576 bidrar med sin kunnskap og kommer med forslag til forebedringer. Jeg
577 stiller. Blir du med?
</p
>
579 <p
>Det er viktig å legge til rette for åpen diskusjon blant alle
580 interesserte, som ikke krever at en må godta lange kontrakter med
581 vilkår for deltagelse. Inntil Arkivverket dukker opp på IRC har vi
582 laget en IRC-kanal der interesserte enkelt kan orientere seg og
583 diskutere tjenestegrensesnittet. Alle er velkommen til å ta turen
585 <a href=
"https://webchat.freenode.net/?channels=nikita
">#nikita
</a
>
586 (f.eks. via irc.freenode.net) for å møte likesinnede.
</p
>
588 <p
>Det holder dog ikke å ha en god spesifikasjon, hvis ikke de som tar
589 den i bruk gjør en like god jobb. For å automatisk teste om et konkret
590 tjenestegrensesnitt følger (min) forståelse av
591 spesifikasjonsdokumentet, har jeg skrevet et program som kobler seg
592 opp til et Noark
5v4 REST-tjeneste og tester alt den finner for å se
593 om det er i henhold til min tolkning av spesifikasjonen. Dette
594 verktøyet er tilgjengelig fra
595 <a href=
"https://github.com/petterreinholdtsen/noark5-tester
">https://github.com/petterreinholdtsen/noark5-tester
</a
>,
596 og brukes daglig mens vi utvikler Nikita for å sikre at vi ikke
597 introduserer nye feil. Hvis en skal sikre samvirke på tvers av ulike
598 systemer er det helt essensielt å kunne raskt og automatisk sjekke at
599 tjenestegrensesnittet oppfører seg som forventet. Jeg håper andre som
600 lager sin utgave av tjenestegrensesnittet vi bruke dette verktøyet,
601 slik at vi tidlig og raskt kan oppdage hvor vi har tolket
602 spesifikasjonen ulikt, og dermed få et godt grunnlag for å gjøre
603 spesifikasjonsteksten enda klarere og bedre.
</p
>
605 <p
>Dagens beskrivelse av Noark
5 Tjenestegrensesnitt er et svært godt
606 utgangspunkt for å gjøre virksomhetens arkiv til et dynamisk og
607 sentralt arbeidsverktøy i organisasjonen. Blir du med å gjøre den
608 enda bedre?
</p
>
613 <title>Dårlig med sikkerhetsoppdateringer for Ruters billettautomater i Oslo?
</title>
614 <link>http://people.skolelinux.org/pere/blog/D_rlig_med_sikkerhetsoppdateringer_for_Ruters_billettautomater_i_Oslo_.html
</link>
615 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/D_rlig_med_sikkerhetsoppdateringer_for_Ruters_billettautomater_i_Oslo_.html
</guid>
616 <pubDate>Wed,
13 Feb
2019 10:
45:
00 +
0100</pubDate>
617 <description><p
><a href=
"http://people.skolelinux.org/pere/blog/Er_billettautomatene_til_kollektivtrafikken_i_Oslo_uten_sikkerhetsoppdateringer_.html
">For
618 syv år siden
</a
> oppdaget jeg at billettautomater for
619 kollektivtrafikken i Oslo kjørte
620 <a href=
"http://en.wikipedia.org/wiki/Windows_2000
">Windows
2000
621 Professional
</a
>. Operativsystemet har ikke fått sikkerhetsfikser fra
622 Microsoft siden
2010-
07-
13 i følge dem selv. Den samme versjonen av
623 operativsystemet var i bruk
624 <a href=
"http://people.skolelinux.org/pere/blog/Fortsatt_ingen_sikkerhetsoppdateringer_for_billettautomatene_til_kollektivtrafikken_i_Oslo_.html
">for
625 to og et halvt år siden
</a
>, og jammen er det ikke også i bruk den dag
628 <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
>
630 <p
>Bildet er tatt i dag av Kirill Miazine og tilgjengelig for bruk med
632 <a href=
"http://creativecommons.org/licenses/by/
4.0/
">Creative
633 Commons Attribution
4.0 International (CC BY
4.0)
</a
>.
</p
>
635 <p
>Kanskje det hadde vært
636 <a href=
"https://www.aftenposten.no/osloby/i/awqgO/Her-kjorer-du-gratis-trikk-og-buss
">bedre
637 med gratis kollektivtrafikk
</A
>, slik at vi slapp å stole på
638 datakompetansen til Ruter for å verne våre privatliv samt holde
639 personopplysninger og betalingsinformasjon unna uvedkommende. Eneste
640 måten å sikre at hvor en befinner seg ikke kan hentes ut fra Ruters
641 systemer er å betale enkeltbilletter med kontanter. Jeg vet at Ruter
642 har en god historie om hvor personvernvennlige mobil-app og
643 RFID-kortene er, men den historien er ikke mulig å uavhengig
644 kontrollere uten priviligert tilgang til interne system og blir dermed
645 bare nok en god historie basert på tillit til de som forteller
646 historien. Det er ikke slik en sikrer privatsfæren. Det gjør en ved
647 å sikre at det ikke (kan) registreres informasjon om ens person.
</p
>
649 <p
>Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
650 det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
652 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
653 Merk, betaling med bitcoin er ikke anonymt. :)
</p
>
658 <title>Stortinget vedtar maskinlesbart register over
20% av selskapseierne i Norge
</title>
659 <link>http://people.skolelinux.org/pere/blog/Stortinget_vedtar_maskinlesbart_register_over_20__av_selskapseierne_i_Norge.html
</link>
660 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Stortinget_vedtar_maskinlesbart_register_over_20__av_selskapseierne_i_Norge.html
</guid>
661 <pubDate>Thu,
7 Feb
2019 23:
55:
00 +
0100</pubDate>
662 <description><p
>Jeg registrerer med glede at Stortinget i dag har
663 <a href=
"https://www.stortinget.no/no/Saker-og-publikasjoner/Saker/Sak/?p=
72826">vedtatt
664 at det skal vedlikeholdes et åpent og maskinlesbart register over
665 reelle rettighetshavere i Norge
</a
>. Her kan en kanskje få et
666 register som kan brukes til å analysere eierskap og kontroll i Norge
667 maskinelt og knytte det til internasjonale databaser som
668 <a href=
"https://opencorporates.com/
">OpenCorporates
</a
>. Det liker
671 <p
>Den vedtatte grense på
25 prosents eierandel fikk stor
672 oppmerksomhet i debatten. Jeg ser fra enkel analyse av skatteetatens
673 eierskapsregister at
80.4% av alle selskapseiere i registeret har
674 mindre enn
25% eierandel, mot
73.8% som har mindre enn
5% eierandel.
675 En grense på
25% vil altså utelukke
80.4% av selskapseierne fra det
676 vedtatte registeret, og en grense på
5% vil skjule
73.8%. En må helt
677 ned i registrering av eierandeler over circa
0.002% for å få mer enn
678 halvparten av selskapseierne i Norge. Mon tro hvor langt ned en må i
679 eierprosent for å få med alle eierskapene til politisk valgte
680 representanter?
</p
>
682 <p
>Jeg biter meg også merke i at Sivert Bjørnstad fra FrP
683 tilsynelatende tror at aksjonærregisteret er et eksisterende åpent
684 register, på tross av at det så vidt jeg vet kun deles ved personlig
685 oppmøte hos skatteetaten og ikke er tilgjengelig i maskinlesbart
686 format for enhver, og dermed så langt ikke er importert inn i
687 OpenCorporates. Det anser jeg ikke for et spesielt åpent register.
688 Debatten ga ellers lite håp om at situasjonen bedrer seg, da
689 finansministeren bare henviste til en fraværende næringsministeren og
690 ikke ville uttale seg om et skikkelig aksjonærregister snart dukker
693 <p
>Som vanlig, hvis du bruker Bitcoin og ønsker å vise din støtte til
694 det jeg driver med, setter jeg pris på om du sender Bitcoin-donasjoner
696 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
697 Merk, betaling med bitcoin er ikke anonymt. :)
</p
>
702 <title>Websocket from Kraken in Valutakrambod
</title>
703 <link>http://people.skolelinux.org/pere/blog/Websocket_from_Kraken_in_Valutakrambod.html
</link>
704 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Websocket_from_Kraken_in_Valutakrambod.html
</guid>
705 <pubDate>Fri,
1 Feb
2019 22:
25:
00 +
0100</pubDate>
706 <description><p
>Yesterday, the Kraken virtual currency exchange announced
707 <a href=
"https://blog.kraken.com/post/
2019/websockets-public-api-launching-soon/
">their
708 Websocket service
</a
>, providing a stream of exchange updates to its
709 clients. Getting updated rates quickly is a good idea, so I used
710 their
<a href=
"https://www.kraken.com/en-us/help/websocket-api
">API
711 documentation
</a
> and added Websocket support to the Kraken service in
712 Valutakrambod today. The python library can now get updates
713 from Kraken several times per second, instead of every time the
714 information is polled from the REST API.
</p
>
716 <p
>If this sound interesting to you, the code for valutakrambod is
718 <a href=
"http://github.com/petterreinholdtsen/valutakrambod
">github
</a
>.
719 Here is example output from the example client displaying rates in a
720 curses view:
</p
>
722 <p
><blockquote
><pre
>
723 Name Pair Bid Ask Spr Ftcd Age
724 BitcoinsNorway BTCEUR
2959.2800 3021.0500 2.0%
36 nan nan
725 Bitfinex BTCEUR
3087.9000 3088.0000 0.0%
36 37 nan
726 Bitmynt BTCEUR
3001.8700 3135.4600 4.3%
36 52 nan
727 Bitpay BTCEUR
3003.8659 nan nan%
35 nan nan
728 Bitstamp BTCEUR
3008.0000 3010.2300 0.1%
0 1 1
729 Bl3p BTCEUR
3000.6700 3010.9300 0.3%
1 nan nan
730 Coinbase BTCEUR
2992.1800 3023.2500 1.0%
34 nan nan
731 Kraken+BTCEUR
3005.7000 3006.6000 0.0%
0 1 0
732 Paymium BTCEUR
2940.0100 2993.4400 1.8%
0 2688 nan
733 BitcoinsNorway BTCNOK
29000.0000 29360.7400 1.2%
36 nan nan
734 Bitmynt BTCNOK
29115.6400 29720.7500 2.0%
36 52 nan
735 Bitpay BTCNOK
29029.2512 nan nan%
36 nan nan
736 Coinbase BTCNOK
28927.6000 29218.5900 1.0%
35 nan nan
737 MiraiEx BTCNOK
29097.7000 29741.4200 2.2%
36 nan nan
738 BitcoinsNorway BTCUSD
3385.4200 3456.0900 2.0%
36 nan nan
739 Bitfinex BTCUSD
3538.5000 3538.6000 0.0%
36 45 nan
740 Bitpay BTCUSD
3443.4600 nan nan%
34 nan nan
741 Bitstamp BTCUSD
3443.0100 3445.0500 0.1%
0 2 1
742 Coinbase BTCUSD
3428.1600 3462.6300 1.0%
33 nan nan
743 Gemini BTCUSD
3445.8800 3445.8900 0.0%
36 326 nan
744 Hitbtc BTCUSD
3473.4700 3473.0700 -
0.0%
0 0 0
745 Kraken+BTCUSD
3444.4000 3445.6000 0.0%
0 1 0
746 Exchangerates EURNOK
9.6685 9.6685 0.0%
36 22226 nan
747 Norgesbank EURNOK
9.6685 9.6685 0.0%
36 22226 nan
748 Bitstamp EURUSD
1.1440 1.1462 0.2%
0 1 2
749 Exchangerates EURUSD
1.1471 1.1471 0.0%
36 22226 nan
750 BitcoinsNorway LTCEUR
1.0009 22.6538 95.6%
35 nan nan
751 BitcoinsNorway LTCNOK
259.0900 264.9300 2.2%
35 nan nan
752 BitcoinsNorway LTCUSD
0.0000 29.0000 100.0%
35 nan nan
753 Norgesbank USDNOK
8.4286 8.4286 0.0%
36 22226 nan
754 </pre
></blockquote
></p
>
756 <p
>Yes, I notice the strange negative spread on Hitbtc. I
've seen the
757 same on Kraken. Another strange observation is that Kraken some times
758 announce trade orders a fraction of a second in the future. I really
759 wonder what is going on there.
</p
>
761 <p
>As usual, if you use Bitcoin and want to show your support of my
762 activities, please send Bitcoin donations to my address
763 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>