- <div class="title"><a href="http://people.skolelinux.org/pere/blog/Oslo_community_mesh_network___with_NUUG_and_Hackeriet_at_Hausmania.html">Oslo community mesh network - with NUUG and Hackeriet at Hausmania</a></div>
- <div class="date">11th October 2013</div>
- <div class="body"><p>Wireless mesh networks are self organising and self healing
-networks that can be used to connect computers across small and large
-areas, depending on the radio technology used. Normal wifi equipment
-can be used to create home made radio networks, and there are several
-successful examples like
-<a href="http://www.freifunk.net/">Freifunk</a> and
-<a href="http://www.awmn.net/">Athens Wireless Metropolitan Network</a>
-(see
-<a href="http://en.wikipedia.org/wiki/List_of_wireless_community_networks_by_region#Greece">wikipedia
-for a large list</a>) around the globe. To give you an idea how it
-work, check out the nice overview of the Kiel Freifunk community which
-can be seen from their
-<a href="http://freifunk.in-kiel.de/ffmap/nodes.html">dynamically
-updated node graph and map</a>, where one can see how the mesh nodes
-automatically handle routing and recover from nodes disappearing.
-There is also a small community mesh network group in Oslo, Norway,
-and that is the main topic of this blog post.</p>
-
-<p>I've wanted to check out mesh networks for a while now, and hoped
-to do it as part of my involvement with the <a
-href="http://www.nuug.no/">NUUG member organisation</a> community, and
-my recent involvement in
-<a href="https://wiki.debian.org/FreedomBox">the Freedombox project</a>
-finally lead me to give mesh networks some priority, as I suspect a
-Freedombox should use mesh networks to connect neighbours and family
-when possible, given that most communication between people are
-between those nearby (as shown for example by research on Facebook
-communication patterns). It also allow people to communicate without
-any central hub to tap into for those that want to listen in on the
-private communication of citizens, which have become more and more
-important over the years.</p>
-
-<p>So far I have only been able to find one group of people in Oslo
-working on community mesh networks, over at the hack space
-<a href="http://hackeriet.no/">Hackeriet</a> at Husmania. They seem to
-have started with some Freifunk based effort using OLSR, called
-<a href="http://oslo.freifunk.net/index.php?title=Main_Page">the Oslo
-Freifunk project</a>, but that effort is now dead and the people
-behind it have moved on to a batman-adv based system called
-<a href="http://meshfx.org/trac">meshfx</a>. Unfortunately the wiki
-site for the Oslo Freifunk project is no longer possible to update to
-reflect this fact, so the old project page can't be updated to point to
-the new project. A while back, the people at Hackeriet invited people
-from the Freifunk community to Oslo to talk about mesh networks. I
-came across this video where Hans Jørgen Lysglimt interview the
-speakers about this talk (from
-<a href="https://www.youtube.com/watch?v=N2Kd7CLkhSY">youtube</a>):</p>
-
-<p><iframe width="420" height="315" src="https://www.youtube.com/embed/N2Kd7CLkhSY" frameborder="0" allowfullscreen></iframe></p>
-
-<p>I mentioned OLSR and batman-adv, which are mesh routing protocols.
-There are heaps of different protocols, and I am still struggling to
-figure out which one would be "best" for some definitions of best, but
-given that the community mesh group in Oslo is so small, I believe it
-is best to hook up with the existing one instead of trying to create a
-completely different setup, and thus I have decided to focus on
-batman-adv for now. It sure help me to know that the very cool
-<a href="http://www.servalproject.org/">Serval project in Australia</a>
-is using batman-adv as their meshing technology when it create a self
-organizing and self healing telephony system for disaster areas and
-less industrialized communities. Check out this cool video presenting
-that project (from
-<a href="https://www.youtube.com/watch?v=30qNfzJCQOA">youtube</a>):</p>
-
-<p><iframe width="560" height="315" src="https://www.youtube.com/embed/30qNfzJCQOA" frameborder="0" allowfullscreen></iframe></p>
-
-<p>According to the wikipedia page on
-<a href="http://en.wikipedia.org/wiki/Wireless_mesh_network">Wireless
-mesh network</a> there are around 70 competing schemes for routing
-packets across mesh networks, and OLSR, B.A.T.M.A.N. and
-B.A.T.M.A.N. advanced are protocols used by several free software
-based community mesh networks.</p>
-
-<p>The batman-adv protocol is a bit special, as it provide layer 2
-(as in ethernet ) routing, allowing ipv4 and ipv6 to work on the same
-network. One way to think about it is that it provide a mesh based
-vlan you can bridge to or handle like any other vlan connected to your
-computer. The required drivers are already in the Linux kernel at
-least since Debian Wheezy, and it is fairly easy to set up. A
-<a href="http://www.open-mesh.org/projects/batman-adv/wiki/Quick-start-guide">good
-introduction</a> is available from the Open Mesh project. These are
-the key settings needed to join the Oslo meshfx network:</p>
-
-<p><table>
-<tr><th>Setting</th><th>Value</th></tr>
-<tr><td>Protocol / kernel module</td><td>batman-adv</td></tr>
-<tr><td>ESSID</td><td>meshfx@hackeriet</td></tr>
-<td>Channel / Frequency</td><td>11 / 2462</td></tr>
-<td>Cell ID</td><td>02:BA:00:00:00:01</td>
-</table></p>
-
-<p>The reason for setting ad-hoc wifi Cell ID is to work around bugs
-in firmware used in wifi card and wifi drivers. (See a nice post from
-VillageTelco about
-"<a href="http://tiebing.blogspot.no/2009/12/ad-hoc-cell-splitting-re-post-original.html">Information
-about cell-id splitting, stuck beacons, and failed IBSS merges!</a>
-for details.) When these settings are activated and you have some
-other mesh node nearby, your computer will be connected to the mesh
-network and can communicate with any mesh node that is connected to
-any of the nodes in your network of nodes. :)</p>
-
-<p>My initial plan was to reuse my old Linksys WRT54GL as a mesh node,
-but that seem to be very hard, as I have not been able to locate a
-firmware supporting batman-adv. If anyone know how to use that old
-wifi access point with batman-adv these days, please let me know.</p>
-
-<p>If you find this project interesting and want to join, please join
-us on IRC, either channel
-<a href="irc://irc.freenode.net/#oslohackerspace">#oslohackerspace</a>
-or <a href="irc://irc.freenode.net/#nuug">#nuug</a> on
-irc.freenode.net.</p>
-
-<p>While investigating mesh networks in Oslo, I came across an old
-research paper from the university of Stavanger and Telenor Research
-and Innovation called
-<a href="http://folk.uio.no/paalee/publications/netrel-egeland-iswcs-2008.pdf">The
-reliability of wireless backhaul mesh networks</a> and elsewhere
-learned that Telenor have been experimenting with mesh networks at
-Grünerløkka in Oslo. So mesh networks are also interesting for
-commercial companies, even though Telenor discovered that it was hard
-to figure out a good business plan for mesh networking and as far as I
-know have closed down the experiment. Perhaps Telenor or others would
-be interested in a cooperation?</p>
-
-<p><strong>Update 2013-10-12</strong>: I was just
-<a href="http://lists.alioth.debian.org/pipermail/freedombox-discuss/2013-October/005900.html">told
-by the Serval project developers</a> that they no longer use
-batman-adv (but are compatible with it), but their own crypto based
-mesh system.</p>
+ <div class="title"><a href="http://people.skolelinux.org/pere/blog/Free_software_archive_system_Nikita_now_able_to_store_documents.html">Free software archive system Nikita now able to store documents</a></div>
+ <div class="date">19th March 2017</div>
+ <div class="body"><p>The <a href="https://github.com/hiOA-ABI/nikita-noark5-core">Nikita
+Noark 5 core project</a> is implementing the Norwegian standard for
+keeping an electronic archive of government documents.
+<a href="http://www.arkivverket.no/arkivverket/Offentlig-forvaltning/Noark/Noark-5/English-version">The
+Noark 5 standard</a> document the requirement for data systems used by
+the archives in the Norwegian government, and the Noark 5 web interface
+specification document a REST web service for storing, searching and
+retrieving documents and metadata in such archive. I've been involved
+in the project since a few weeks before Christmas, when the Norwegian
+Unix User Group
+<a href="https://www.nuug.no/news/NOARK5_kjerne_som_fri_programvare_f_r_epostliste_hos_NUUG.shtml">announced
+it supported the project</a>. I believe this is an important project,
+and hope it can make it possible for the government archives in the
+future to use free software to keep the archives we citizens depend
+on. But as I do not hold such archive myself, personally my first use
+case is to store and analyse public mail journal metadata published
+from the government. I find it useful to have a clear use case in
+mind when developing, to make sure the system scratches one of my
+itches.</p>
+
+<p>If you would like to help make sure there is a free software
+alternatives for the archives, please join our IRC channel
+(<a href="irc://irc.freenode.net/%23nikita"">#nikita on
+irc.freenode.net</a>) and
+<a href="https://lists.nuug.no/mailman/listinfo/nikita-noark">the
+project mailing list</a>.</p>
+
+<p>When I got involved, the web service could store metadata about
+documents. But a few weeks ago, a new milestone was reached when it
+became possible to store full text documents too. Yesterday, I
+completed an implementation of a command line tool
+<tt>archive-pdf</tt> to upload a PDF file to the archive using this
+API. The tool is very simple at the moment, and find existing
+<a href="https://en.wikipedia.org/wiki/Fonds">fonds</a>, series and
+files while asking the user to select which one to use if more than
+one exist. Once a file is identified, the PDF is associated with the
+file and uploaded, using the title extracted from the PDF itself. The
+process is fairly similar to visiting the archive, opening a cabinet,
+locating a file and storing a piece of paper in the archive. Here is
+a test run directly after populating the database with test data using
+our API tester:</p>
+
+<p><blockquote><pre>
+~/src//noark5-tester$ ./archive-pdf mangelmelding/mangler.pdf
+using arkiv: Title of the test fonds created 2017-03-18T23:49:32.103446
+using arkivdel: Title of the test series created 2017-03-18T23:49:32.103446
+
+ 0 - Title of the test case file created 2017-03-18T23:49:32.103446
+ 1 - Title of the test file created 2017-03-18T23:49:32.103446
+Select which mappe you want (or search term): 0
+Uploading mangelmelding/mangler.pdf
+ PDF title: Mangler i spesifikasjonsdokumentet for NOARK 5 Tjenestegrensesnitt
+ File 2017/1: Title of the test case file created 2017-03-18T23:49:32.103446
+~/src//noark5-tester$
+</pre></blockquote></p>
+
+<p>You can see here how the fonds (arkiv) and serie (arkivdel) only had
+one option, while the user need to choose which file (mappe) to use
+among the two created by the API tester. The <tt>archive-pdf</tt>
+tool can be found in the git repository for the API tester.</p>
+
+<p>In the project, I have been mostly working on
+<a href="https://github.com/petterreinholdtsen/noark5-tester">the API
+tester</a> so far, while getting to know the code base. The API
+tester currently use
+<a href="https://en.wikipedia.org/wiki/HATEOAS">the HATEOAS links</a>
+to traverse the entire exposed service API and verify that the exposed
+operations and objects match the specification, as well as trying to
+create objects holding metadata and uploading a simple XML file to
+store. The tester has proved very useful for finding flaws in our
+implementation, as well as flaws in the reference site and the
+specification.</p>
+
+<p>The test document I uploaded is a summary of all the specification
+defects we have collected so far while implementing the web service.
+There are several unclear and conflicting parts of the specification,
+and we have
+<a href="https://github.com/petterreinholdtsen/noark5-tester/tree/master/mangelmelding">started
+writing down</a> the questions we get from implementing it. We use a
+format inspired by how <a href="http://www.opengroup.org/austin/">The
+Austin Group</a> collect defect reports for the POSIX standard with
+<a href="http://www.opengroup.org/austin/mantis.html">their
+instructions for the MANTIS defect tracker system</a>, in lack of an official way to structure defect reports for Noark 5 (our first submitted defect report was a <a href="https://github.com/petterreinholdtsen/noark5-tester/blob/master/mangelmelding/sendt/2017-03-15-mangel-prosess.md">request for a procedure for submitting defect reports</a> :).
+
+<p>The Nikita project is implemented using Java and Spring, and is
+fairly easy to get up and running using Docker containers for those
+that want to test the current code base. The API tester is
+implemented in Python.</p>